查找fasta文件中每条染色体的gc含量
test.fa
>chr_1
ATCGTCGaaAATGAANccNNttGTA
AGGTCTNAAccAAttGggG
>chr_2
ATCGAATGATCGANNNGccTA
AGGTCTNAAAAGG
>chr_3
ATCGTCGANNNGTAATggGA
AGGTCTNAAAAGG
>chr_4
ATCGTCaaaGANNAATGANGgggTA
python:
from collections import OrderedDictseq = ''chr_d = OrderedDict()with open("test.fa","r") as f: for line in f: #line = line.rstrip() line=line.strip() if line.startswith(">"): chr_d[seq] = '' else: line = line.upper() chr_d[seq] += line for name,chr_seq in chr_d.items(): #此方法返回元组对的列表 #print (name,chr_seq) seqLen = len(chr_seq) N = chr_seq.count("N") GC = chr_seq.count("G") + chr_seq.count("C") print (name) print (seqLen,N/seqLen,GC/(seqLen-N))result:
>chr_1
44 0.09090909090909091 0.425
>chr_2
34 0.11764705882352941 0.43333333333333335
>chr_3
33 0.12121212121212122 0.4482758620689655
>chr_4
25 0.12 0.4090909090909091
44 0.09090909090909091 0.425
>chr_2
34 0.11764705882352941 0.43333333333333335
>chr_3
33 0.12121212121212122 0.4482758620689655
>chr_4
25 0.12 0.4090909090909091

浙公网安备 33010602011771号