在fasta.gz上的SeqIO.parse

发布于 2021-01-29 16:07:13

编码新手。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
关注者
0
被浏览
36
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您在使用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)
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看