我在Python中同时计算核苷酸和序列时遇到了问题。这是fasta文件,我需要对核苷酸和序列进行计数。请参考下面应该怎样是asnwer:计算核苷酸和序列
>chr12_9180206_+:chr12_118582391_+:a1;2 total_counts: 115 Seed: 4 K: 20 length: 79
TTGGTTTCGTGGTTTTGCAAAGTATTGGCCTCCACCGCTATGTCTGGCTGGTTTACGA
GCAGGACAGGCCGCTAAAGTG
>chr12_9180206_+:chr12_118582391_+:a2;2 total_counts: 135 Seed: 4 K: 20 length: 80
CTAACCCCCTACTTCCCAGACAGCTGCTCGTACAGTTTGGGCACATAGTCATCCCACTCG
GCCTGGTAACACGTGCCAGC
>chr1_8969882_-:chr1_568670_-:a1;113 total_counts: 7600 Seed: 225 K: 20 length: 86
CACTCATGAGCTGTCCCCACATTAGGCTTAAAAACAGATGCAATTCCCGGACGTCTAAAC
CAAACCACTTTCACCGCCACACGACC
>chr1_8969882_-:chr1_568670_-:a2;69 total_counts: 6987 Seed: 197 K: 20 length: 120
TGAACCTACGACTACACCGACTACGGCGGACTAATCTTCAACTCCTACATACTTCCCCCA
TTATTCCTAGAACCAGGCGACCTGCGACTCCTTGACGTTGACAATCGAGTAGTACTCCCG
而且我的代码:
f= open("data/assembledSeqs.fa", 'r')
texto =f.read()
f.close()
TotalA=0
TotalC=0
TotalG=0
TotalT=0
cont=0
for linea in texto.split('\n'):
if linea.startswith('>'):
print ("Secuencia: %d") % cont
cont+=1
else:
TotalA=linea.count('A')
TotalC=linea.count('C')
TotalG=linea.count('G')
TotalT=linea.count('T')
print("Numero de A's: %d")%TotalA
print("Numero de C's: %d")%TotalC
print("Numero de G's: %d")%TotalG
print("Numero de T's: %d")%TotalT
它的回报:
Secuencia: 0
Numero de A's: 8
Numero de C's: 12
Numero de G's: 16
Numero de T's: 22
Numero de A's: 6
Numero de C's: 5
Numero de G's: 8
Numero de T's: 2
Secuencia: 1
Numero de A's: 13
Numero de C's: 23
Numero de G's: 10
Numero de T's: 14
Numero de A's: 4
Numero de C's: 7
Numero de G's: 6
Numero de T's: 3
Secuencia: 2
Numero de A's: 19
Numero de C's: 18
Numero de G's: 10
Numero de T's: 13
Numero de A's: 8
Numero de C's: 13
Numero de G's: 2
Numero de T's: 3
Secuencia: 3
Numero de A's: 17
Numero de C's: 23
Numero de G's: 7
Numero de T's: 13
Numero de A's: 14
Numero de C's: 18
Numero de G's: 13
Numero de T's: 15
而且我想:
Secuencia 0:
Número de A's: 14
Número de C's: 17
Número de G's: 24
Número de T's: 24
Secuencia 1:
Número de A's: 17
Número de C's: 30
Número de G's: 16
Número de T's: 17
Secuencia 2:
Número de A's: 27
Número de C's: 31
Número de G's: 12
Número de T's: 16
Secuencia 3:
Número de A's: 31
Número de C's: 41
Número de G's: 20
Número de T's: 28
你向我求助几次 - 所以请如果我的解决方案工作,然后不删除/破坏你的问题,请考虑[接受](https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)第e为你工作的答案(upvoting/accepting相当于在StackOverflow上说“谢谢”)。 – MSeifert