所以这个问题基本上给了我 19 个 DNA 序列,并要我制作一个基本的文本表。第一列必须是序列 ID,第二列是序列长度,第三列是“A”的数量,第四列是“G”,第五列是“C”,第六列是“T” ,第7个是%GC,第8个是序列中是否有“TGA”。然后我得到所有这些值并将表写入“dna_stats.txt”
这是我的代码:
fh = open("dna.fasta","r")
Acount = 0
Ccount = 0
Gcount = 0
Tcount = 0
seq=0
alllines = fh.readlines()
for line in alllines:
    if line.startswith(">"):
        seq+=1
        continue
    Acount+=line.count("A")
    Ccount+=line.count("C")
    Gcount+=line.count("G")
    Tcount+=line.count("T")
    genomeSize=Acount+Gcount+Ccount+Tcount
    percentGC=(Gcount+Ccount)*100.00/genomeSize
    print "sequence", seq
    print "Length of Sequence",len(line)
    print Acount,Ccount,Gcount,Tcount
    print "Percent of GC","%.2f"%(percentGC)
    if "TGA" in line:
        print "Yes"
    else:
        print "No"
    fh2 = open("dna_stats.txt","w")
    for line in alllines:
        splitlines = line.split()
        lenstr=str(len(line))
        seqstr = str(seq)
        fh2.write(seqstr+"\t"+lenstr+"\n")
我发现您必须将变量转换为字符串。当我在终端中打印出来时,我已经正确计算了所有值。但是,我一直只得到第一列的 19,而它应该是 1、2、3、4、5 等。来表示所有的序列。我尝试了其他变量,它只得到了整个文件的总量。我开始尝试制作桌子,但还没有完成。
所以我最大的问题是我不知道如何获取每个特定行的变量值。
我是 python 和一般编程的新手,所以任何提示或技巧或任何东西都会真正有帮助。
我正在使用python 2.7版