【问题标题】:Biopython: SeqIO.parse() FileNotFoundErrorBiopython:SeqIO.parse() FileNotFoundError
【发布时间】:2018-02-14 18:12:01
【问题描述】:

我是生物信息学和 Biopython 方面的新手,所以我在这方面遇到了一些困难。

我正在阅读 Biopython (SeqIO) 文档,但是当我尝试执行一些 SeqIO.parse() 命令时,我得到了 FileNotFoundError。

例如,我想获取“example.fasta”文件(我的电脑上没有它)。我尝试用这个命令来做:

for record in SeqIO.parse("example.fasta", "fasta"):
    print(record.id)

但是,我得到的只是 FileNotFoundError: [Errno 2] No such file or directory

有人可以帮我解决这个问题吗?

【问题讨论】:

  • SeqIO.parse 提供了一种解析提供的 fasta 文件的方法,并将标题信息与序列信息等巧妙地分开。听起来你想下载一个 fasta 文件,这是一个完全不同的任务。这是一个相当根本的误解,我建议你向与你一起工作的人寻求帮助/指导,祝你好运!
  • 没错,您的机器中确实需要有example.fasta

标签: bioinformatics biopython


【解决方案1】:

我的理解是FileNotFoundError发生在代码试图打开你电脑上的一个文件却没有找到的时候。

这可能是因为您根本没有此文件,或者您输入的名称有错字,或者文件的路径不正确(这是an important notion:文件的路径应该是绝对的,或相对于当前工作目录(通常是您执行 python 脚本的目录)。

正如 cmets 对您的问题所建议的那样,您似乎期待 SeqIO.parse 为您获取文件。不是这种情况。你给这个函数的第一个参数(在例子中是“example.fasta”)是一个你想要“解析”的现有文件的路径,也就是说,解释它的信息内容并使这个内容对你的其余部分可用以方便的形式编写程序。

因此,为了让这个示例正常运行,您首先需要获取一个 fasta 文件。如果你还没有,你可以从 genbank 手动下载一些,或者在 biopython 安装中找到一个(如果你从源安装它并且知道源代码的位置),例如在Tests/Quality/example.fasta

【讨论】:

    猜你喜欢
    • 2020-11-16
    • 2021-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-10
    • 2021-08-27
    相关资源
    最近更新 更多