所以我有一个程序,它从数据库中获取一堆序列并将它们下载到一个 fasta 文件中。问题是这些序列可能是蛋白质,也可能是 DNA。我将大的 fasta 文件拆分成许多小的 fasta 文件,一旦我有了序列,我需要它们都是蛋白质。所以我想测试每一个,看看它是否是蛋白质。
如果它们都是蛋白质,我很好,如果它们都是 dna,我有一种优雅的方式来翻译它们,但我需要找到一种方法来测试每个新的 fasta 文件,翻译它并进行翻译替换dna文件
这是我到目前为止所拥有的:
from Bio import Entrez, SeqIO
from Bio.Seq import Seq
record_iter = SeqIO.parse(open(output_file), 'fasta')
for seq_record in record_iter:
outfile = '{0}.fa'.format(seq_record.id)
count = SeqIO.write(seq_record,outfile,'fasta')
xmlfile = '{0}.xml'.format(seq_record.id)
print xmlfile # Added this to show it's working, not stalled.
if...
#and here is where i would somehow test each "outfile" to see if it's dna or protein and then do something different with each one.
我尝试将其设置为字符串(我认为),但我不能使用字母,因为这不是 fasta 的格式,我尝试了很多其他的东西。无论如何,任何帮助将不胜感激。
只是对于那些不熟悉的人来说,fasta 文件的格式如下:
>here is a bunch of identification information about the sequence after the carat.
GAAATTTGAGGCGTTCGCTGTGCAGTGAAAAGTGAGACTTTCTACTGTTCGCGTAGAAAGTGCAATAACC
AAGCCACCCACTCAGTGCCCAGACTAGCAACACAAGTCCGGCAAAATGGGAATCAAGTTCCTGGAAGTTA
TCAAACCGTTCTGCAGTATACTGCCGGAAATCGCAAAACCGGAGCGCAAGATCCAATTCAGGGAGAAAGT
GCTATGGACTGCGATCACCCTGTTCATCTTCCTGGTGTGCTGCCAGATCCCGCTTTTCGGTATCATGAGC
TCAGACTCGGCGGATCCCTTCTACTGGATCCGTGTGATCCTGGCCTCCAACCGTGGTACGCTCATGGAGC
TGGGTATCTCGCCCATCGTGACCTCTGGCCTCATTATGCAGCTGCTGGCCGGAGCA