Biopython:SeqIO.parse()FileNotFoundError

时间:2018-02-12 22:46:35

标签: bioinformatics biopython

我是Bioinformatics和Biopython的新手,所以我遇到了一些困难。

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

例如,我想得到" example.fasta"文件(我没有在我的电脑上使用它)。我试着用这个命令来做:

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

但是,我得到的只是 FileNotFoundError:[Errno 2]没有这样的文件或目录

有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:0)

我的理解是,当代码尝试在您的计算机上打开文件但找不到它时,会发生FileNotFoundError

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

正如您对问题的评论中所建议的那样,您似乎希望SeqIO.parse能够为您获取该文件。不是这种情况。您为此函数提供的第一个参数(在示例" example.fasta"中)是您希望解析"即解释其信息内容的现有文件的路径并以方便的形式将此内容提供给您的其他程序。

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