我在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