【问题标题】:Add item of a list after every gene sequence在每个基因序列之后添加列表项
【发布时间】:2020-04-03 17:10:29
【问题描述】:

我已将基因组序列拆分为单独的基因,我想将它们写入文本文件。我想在每个基因序列之前添加一个标题(基因名称)。我创建了一个要添加为标题的基因名称列表。它们需要按照列表中给出的相同顺序添加。这是我试过的代码:

with open('output.txt', 'w') as f:
    for i in genes:
        for rec in i:
            for name in Features:               
                print(">" + name, file = f)
            print(rec.seq, file = f)
            print("\n", file = f)
            break

Features 是包含基因名称的列表。 这段代码的输出是:

>Anchored capsid protein:
>C:
>membrane glycoprotein precursor M:
>protein PR:
>M:
>E:
>NSI:
>NS2A:
>NS2B:
>NS3:
>NS4A:
>NS4B:
>NS5:
>
ATGAATA...

什么时候应该:

>Anchored capsid protein:
ATGAATA...
>C:
ATGAATA...
>membrane protein:
TTCCATT...
>precursor:
TTCCATT...

【问题讨论】:

  • 运行此命令时当前的输出是什么样的?最好提供一个人们可以运行并帮助改进的最小完整示例。目前我们无法运行您的代码,因为我们没有所有数据。
  • 感谢您的建议。将添加输出
  • 我已经编辑了这个问题,以使事情更容易阅读并格式化代码。你能添加一些示例输入吗?例如,变量genesFeatures 是什么?看看SeqIO 看看标题为序列输出的部分

标签: python-3.x bioinformatics biopython


【解决方案1】:

如果我了解您列表的结构,这可能会起作用:

with open('output.txt', 'w') as f:
    for i in genes:
        for name, rec in zip(Features, i):
            f.write(">{}\n{}\n".format(name, rec.seq))
        break

【讨论】:

  • 谢谢,我通过在第一个 for 循环中压缩 Features 获得了输出。我的输入文件是一个 clustal 文件,如果压缩,序列将失去其 Seq 特征。感谢您的帮助
猜你喜欢
  • 1970-01-01
  • 2019-08-03
  • 1970-01-01
  • 2014-06-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多