bioinformatics - 来自基因登录号的 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 中获取任何内容。
如果有更熟悉的人,我想知道他们是否可以帮助提供一些清晰度?非常感谢!
解决方案
推荐阅读
- powershell - Powershell:将输入限制为数值范围(整数或十进制)
- api - Web api 将名称和密码设置为 request.BasicAuth
- java - Spark StringIndexer 返回空数据集
- java - 我在JNI代码中对数据进行了加密,但是生成了很多内存,无法释放。我应该怎么办?
- arduino - 如何消除延迟?
- vue.js - 如何使用 Vue.js 在 Chart.js 中自定义 Y 轴标签?
- python - 安装后无法导入 PyPDF2
- vba - 从 txt 或 bas 文件导入源
- ios - React Native Ios 推送通知不起作用
- windows - 如何分配一个命令行参数,其中包含!和 & 到一个变量?