列举了两种结构
seq,name = '',''
SEQ = []
i = 0
with open("../test2.fa") as lines:
for line in lines:
if line.startswith(">"): #ID行
length = len(seq) #序列行的处理
for i in range(0,length,80):
seq1 = seq[i:i+80] #存储80个字符
SEQ.append(seq1)
if name != '': #因为一开始多了一行空格,通过这一步删除
print(name+str(SEQ))
line = line.split()[0] #提取出ID
name = line
seq='' #序列数据清空
SEQ = []
else:
seq += line.strip('\n') #seq存储序列数据
第一次写的,还debug了好久,逻辑理解起来有点困难
with open("/home/eva/Luolab/data/test2.fa") as file:
seqName,seq = '',''
splitnum = 80
while True:
line = file.readline()
line = line.strip("\n")
if (line.startswith(">") or not line) and seqName:
print(seqName)
length = len(seq)
for i in range(0,length,splitnum):
result = seq[i:i+splitnum]
print(result)
print(length)
if line.startswith(">"):
seqName = line.split()[0]
seq = ''
else:
seq += line
if not line: break
使用 while True的结构,更加值得学习的一种格式

被折叠的 条评论
为什么被折叠?



