gpt4 book ai didi

python - 如何使用 Biopython 中的 SeqIO 打印前几条记录

转载 作者:太空宇宙 更新时间:2023-11-03 21:11:51 25 4
gpt4 key购买 nike

我有一个包含数百条记录的 fasta 文件,但我试图返回一个仅包含前 20 条记录(记录描述、AA 长度和名称)的表。

我的代码无法正常工作,我想知道如何仅返回前 20 条记录 - 最好以表格格式返回。

这是我的Python代码:

#!/usr/local/bin/python3
import cgi
import re
form = cgi.FieldStorage()
from Bio import SeqIO
for index, record in enumerate(SeqIO.parse("e_coli_k12_dh10b.faa", "fasta")): print(record.description, len(record.seq))

最佳答案

有很多方法可以做到这一点。与当前结构最相似的是,当索引达到 19(即从 0 开始计数以来的第 20 个数字)时添加一个 break:

from Bio import SeqIO

for index, record in enumerate(SeqIO.parse("e_coli_k12_dh10b.faa", "fasta")):
print(record.description, len(record.seq))
if index == 19:
break

但是,我更喜欢的风格方式是使用 itertools.islice :

from itertools import islice
from Bio import SeqIO

records = SeqIO.parse("e_coli_k12_dh10b.faa", "fasta")

for record in islice(records, 20):
print(record.description, len(record.seq))

如果您想存储表格,您可以将描述和长度插入到列表、数组或您选择的其他数据结构中,而不是打印。

关于python - 如何使用 Biopython 中的 SeqIO 打印前几条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55013756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com