0

尝试使用BioPython中的SeqSeqIO对象读取包含基因组序列的文件。无法使用打开命令。该程序应该接受一个命令行参数,其中包含包含输入基因组的FASTA文件的名称。

它制作了文件,但文件中没有任何内容。不确定我错过了什么?

这就是我所拥有的:

    from Bio.Seq import Seq                                                 
    from Bio import SeqIO
    from Bio.SeqRecord import SeqRecord
    from Bio.Alphabet import IUPAC

    recordlist = []

    for SeqRecord in SeqIO.parse('bacterium_genome.fna', 'fasta'):
        myseq = SeqRecord.seq
        myseq.alphabet = IUPAC.unambiguous_dna
        recordlist.append(SeqRecord)


    SeqIO.write(recordlist, 'bacterium_genome.gb', 'gb')
4

1 回答 1

2

您正在做的事情实际上应该有效(假设一个有效的非空输入 FASTA 文件),但对于不必要的导入并不那么优雅。您可以改为直接修改字母表,然后将序列记录写入输出文件句柄每次迭代:

from Bio import SeqIO
from Bio.Alphabet import IUPAC

with open('bacterium_genome.gb', 'w') as out_f:
    for record in SeqIO.parse('bacterium_genome.fna', 'fasta'):
        record.seq.alphabet = IUPAC.unambiguous_dna
        SeqIO.write(record, out_f, 'genbank')
于 2019-11-26T14:29:58.740 回答