我有一个DNA文本文件,我需要特别使用列表和循环来计算二核苷酸对的出现次数(例如:AA、AC、AT、AG、CA、CC…等等),然后再次使用列表和循环将计数打印到一个新的文本文件中,作为一个表,表中有两列,由一个选项卡分隔:二核苷酸序列和计数。我知道如何在很长的一段时间内做到这一点(将每一对存储在变量中,然后使用count计算出现次数,然后打开文本文件并将每个计数打印到文本文件),但我现在刚刚开始学习列表和循环,并对我将如何做到这一点感到困惑
例:我就是这样做的:
dna1.txt是我电脑上dna序列文本文件的(随机)示例:
随机序列(即dna1.txt):
AggAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgAgCtAgCtAgCtAgCtAgCtAgCtAgAgAgAgAgAgAg CTAGTAATGAGTGCTGGTATAGTGATAGCGTCTAGAGTCATTCTGTAGCAGTTATGCC GTGGATATATCCATAGACGACACTGGGTGCTCCAGCACCACGTACAGAGACGAC TGCGATGATAGAGGTGAGCTAAACGTTCTACACCACATGAATCATCAGCCGGGT AGATTGCCAGGCGTGGTAACGGGTACGTGGCGGATCTCGCGCGCAGTCAC ACCCGAATCTTTCGTCGACTACGGAGCGATCGATCGAGAGCGGGCTTGATTGAGCTCCT CATGGATTAGGCTGAGGTCAACCTTCGCATGGAGCCTCGGGCATTTAAGGTCGACTGTCG
dna_txt = open("dna1.txt")
dna_txtcontents = dna_txt.read()
aa_count = dna_txtcontents.count("aa")
print str(aa_count)
然后为每一对继续,然后将每一个计数存储在一个新的文本文件中,但我如何通过使用列表和循环来对每一对的两个出现进行计数,然后将计数存储在一个新的文本文件中,从而使我自己变得更容易呢?哦,还要确保程序可以工作,不管序列是大写还是小写
谢谢
您可以使用^{} 创建所有二核苷酸对。要使其不区分大小写,请将所有内容转换为小写(或大写)
相关问题 更多 >
编程相关推荐