Bio.SeqIO.parse()一次性迭代器
2023-11-10 17:41 丨o聽乄雨o丨 阅读(40) 评论(0) 编辑 收藏 举报Bio.SeqIO.parse()是一次性迭代器,当用下列语句迭代过一次后,再迭代就为空:
1 import Bio 2 filename = "test.fasta" 3 seqs = Bio.SeqIO.parse(filename, "fasta") 4 # 第一次迭代,会正常输出seq id 5 for seq in seqs: 6 print(seq.id)
7 # 第二次迭代,就不会有输出了,因为seqs已经迭代到了末尾 8 for seq in seqs: 9 print(seq.seq)
解决方法为,在读取序列数据时,将seqs转为列表:
1 import Bio 2 filename = "test.fasta" 3 seqs = list(Bio.SeqIO.parse(filename, "fasta")) 4 # 这样再进行多次迭代,也不会影响数据的分析了 5 # 第一次迭代,会正常输出seq id 6 for seq in seqs: 7 print(seq.id) 8 9 # 第二次迭代,会正常输出seq id 10 for seq in seqs: 11 print(seq.seq) 12 13 ...
作者:丨o聽乄雨o丨
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2017-11-10 ROSETTA使用技巧随笔--蛋白蛋白对接