【发布时间】:2020-05-22 01:19:30
【问题描述】:
def corona(data,lenght,abstand,temperatur):
file = open('/home/rezan/Downloads/MSA_SARS2_20200329.consensus.fasta','r')
list = []
list1 = []
for i in file:
ls = i.strip()
list.append(ls)
for l in i:
list1.append(l.strip())
while '' in list1:
list1.remove('')
while '' in list:
list1.remove('')
temp = temperatur
for w in list:
if temp == (2* w[0:laenge].count('A') +
2* w[:laenge].count('T') +
4* w[0:laenge].count('G') +
4* w[0:laenge].count('C')):
print((w[0:laenge]))
corona('/home/rezan/Downloads/MSA_SARS2_20200329.consensus.fasta',20,150,60)
我得到了这个输出:
CCGGGTGTGANCGAAAGGTA
TTCGGANGCTCGAACTGCAC
AGGCATTCAGTACGGTCGTA
TGATGGCTACCCTCTTGAGT
CACTTTGTCCGAACAACTGG
CACACTCAAAGGCNGTGCAC
TGTTGTGGCAGATGCTGTCA
GGGTGTTTTAACTGCTGTGG
GGGTGTGGTTGATTATGGTG
AATGGCCCCGATTTCAGCTA
TGCAACTGCAGAAGCTGAAC
TATTTCAGCAGCTCGGCAAG
TCTCGCAAAGGCTCTCAATG
AGTTCATGCTGGCACAGACT
AATGCTGGACAACAGGGCAA
TGATGCAGCCATGCAACGTA
GGCTAGATTCCCTAAGAGTG
TACACAATGGCAGACCTCGT
TTCATACAAACCACGCCAGG
TGCAATGCTCCAGGTTGTGA
GGTAAACCTAGACCACCACT
GACACTGTGAGTGCTTTGGT
CTATGTGATAGACGTGCCAC
CTTCACGACATTGGTAACCC
GACAGTCCATGTGAGTCTCA
GATGCGCAAACAGGTTCATC
AAAGGAGTTGCACCAGGTAC
AGGGGTACTGCTGTTATGTC
GACCCAGTCCCTACTTATTG
GAACTTCACAACTGCTCCTG
GCACAAGCTGATGAGTACGA
GTTTGGTGGACCCTCAGATT
CACTCAACATGGCAAGGAAG
CAATAGCAGTCCAGATGACC
GGGAGCCTTGAATACACCAA
GAAGCCTCGGCAAAAACGTA
但我希望 python 从列表中的 150 值开始,而不是在开头并保持 20 的长度。
【问题讨论】:
-
该代码与输出不匹配,因为
laenge未定义并引发NameError。名字不好。list1不在任何地方使用。第一个删除空字符串的while循环效率低下。但无论如何,该列表中不能有任何空字符串。如果可以,第二个while循环将是一个无限循环。 -
stakeoverflow 出错→ lenght/laenge
标签: python python-3.x list python-3.6