首页 > 解决方案 > 来自基因登录号的 TaxID:Efetch

问题描述

我已经对来自 bat guano 的一些 ASV 进行了爆炸式搜索,如果确实如此,我想尝试将分类法分配给每个受到打击的功能。

网上有很多关于使用 efetch 的信息,但是对于一个允许我从加入 # -> 出租车 # -> 分类谱系进行的工具并没有明确的共识

我在github上找到了一些脚本,但不幸的是它们一直弹出错误!我想尝试使用我所知道的来找到解决方案(但我处于相当入门的水平)。

我目前正在尝试制作一个 python 笔记本来允许我这样做,并利用 python 中的 subprocess 包来运行一行命令行代码(我将在其中使用 efetch)。

我从 NCBI 找到了一个带有taxid 的文本文件,以及与之相关的分类谱系。我的目标是,一旦我将出租车添加到我的数据框(我的爆炸输出充当),我可以与 pandas 进行简单的合并以获得相关的分类。

这第一步我遇到了麻烦!

到目前为止我一直试图运行的代码是

def givetaxid(accession_only_file):
        df = pd.read_csv(accession_only_file, delimiter="\t")
        taxid_list = [] #we're going to append the taxid for each accession number into this list, then add it as a column in our dataframe
        accession_ids =df["accession"].tolist()

        for ids in accession_ids:
            taxid_list.append(subprocess.call(["efetch", "-db", "nucccore", "-a", ids, "-format", "docsum", "|", "xtract", "-pattern", "DocumentSummary", "-element", "TaxId"],shell=True))

        df['TaxId'] = np.array(taxid_list)


        return taxid_list

我的输出是:

(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)
(null)

我对这一切有点陌生,但似乎它什么都做不了。当我单独尝试运行 efetch 命令时

$ efetch -d nuccore -a JQ663175.1JQ663175.1 -f 
Could not open the index file named:  entrynam.idx

这就是我似乎得到的!我已经尝试过寻找类似的错误,但我似乎无法从 stackoverflow 或 biostars 中获取任何内容。

如果有更熟悉的人,我想知道他们是否可以帮助提供一些清晰度?非常感谢!

标签: bioinformaticsblastncbi

解决方案


推荐阅读