如何解决使用 fasta 文件中的序列 ID 提取序列
我有一个 fasta ID(示例中为 Q99424
),我需要提取该 ID 的相应序列。我正在使用 Bio
库来表示每条记录,如下所示:
SeqRecord(seq=Seq('MGSPVHRVSLGDTWSRQMHPDIESERYMQSFDVERLTNILDGGAQNTALRRKVE...SKL'),id='sp|Q99424|ACOX2_HUMAN',name='sp|Q99424|ACOX2_HUMAN',description='sp|Q99424|ACOX2_HUMAN',dbxrefs=[])
我可以遍历每条记录并进行搜索,但这不是最好的方法,因为我要搜索的记录超过 12000 条。
这是我们如何迭代所有序列:
for record in SeqIO.parse(handle,"fasta"):
name = record.name
id = record.name.split("|")[1]
解决方法
你可以使用pyfaidx:https://pythonhosted.org/pyfaidx/ 可以使用这个模块或者samtools生成fasta索引“.fai”,然后使用pyfaidx的fetch函数
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。