编码新手。 Pytho/biopython 的新手;这是我在网上的第一个问题,永远。 如何打开压缩的 fasta.gz 文件以提取信息并在我的函数中执行计算。这是我正在尝试做的事情的简化示例(我尝试了不同的方法),以及错误是什么。我使用的 gzip 命令似乎不起作用。?
with gzip.open("practicezip.fasta.gz", "r") as handle:
for record in SeqIO.parse(handle, "fasta"):
print(record.id)
Traceback (most recent call last):
File "<ipython-input-192-a94ad3309a16>", line 2, in <module>
for record in SeqIO.parse(handle, "fasta"):
File "C:\Users\Anaconda3\lib\site-packages\Bio\SeqIO\__init__.py", line 600, in parse
for r in i:
File "C:\Users\Anaconda3\lib\site-packages\Bio\SeqIO\FastaIO.py", line 122, in FastaIterator
for title, sequence in SimpleFastaParser(handle):
File "C:\Users\Anaconda3\lib\site-packages\Bio\SeqIO\FastaIO.py", line 46, in SimpleFastaParser
if line[0] == ">":
IndexError: index out of range
最佳答案
你使用的是 python3 吗?
这 ("r"--> "rt") 可以解决您的问题。
import gzip
from Bio import SeqIO
with gzip.open("practicezip.fasta.gz", "rt") as handle:
for record in SeqIO.parse(handle, "fasta"):
print(record.id)
关于python - fasta.gz 上的 SeqIO.parse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42757283/