不久前重组 FTP 后,一些脚本从 NCBI 下载细菌和真菌基因组。
这个想法无耻地从 Mick Watson 的 Kraken 下载器脚本中窃取,这些脚本也可以在 Mick 的 GitHub 存储库中找到。然而,Mick 的脚本是用 Perl 编写的,专门用于实际构建 Kraken 数据库(如宣传的那样)。
所以这是一组专注于实际基因组下载的脚本。
pip 安装 ncbi-genome-下载
或者,从 GitHub 克隆此存储库,然后运行(在 python 虚拟环境中)
点安装。
如果这在旧版本的 Python 上失败,请先尝试更新您的pip
工具:
pip 安装 --升级 pip
然后重新运行ncbi-genome-download
安装。
或者, ncbi-genome-download
打包在conda
中。请参阅 Anaconda/miniconda 站点来安装发行版(强烈推荐)。安装后,可以执行以下操作:
conda install -c bioconda ncbi-genome-下载
ncbi-genome-download
仅在 Python 版本上进行开发和测试,仍受到 Python 项目的积极支持。目前,这意味着版本 3.7、3.8、3.9、3.10 和 3.11。具体来说,没有尝试在 3.7 之前的 Python 版本下进行测试。
如果您的系统卡在旧版本的 Python 上,请考虑使用 Homebrew 等工具来获取更新版本。
ncbi-genome-download
0.2.12 是支持 Python 2 的最后一个版本。
要从 NCBI 下载 GenBank 格式的所有细菌 RefSeq 基因组,请运行以下命令:
ncbi-基因组-下载细菌
也可以下载多个组:
ncbi-基因组-下载细菌、病毒
注意:要查看所有可用组,请参阅ncbi-genome-download --help
,或仅使用all
来检查所有组。命名更具体的组将减少下载大小以及查找要下载的序列所需的时间。
如果您的连接速度相当快,您可能需要尝试并行运行多个下载:
ncbi-基因组-下载细菌 --parallel 4
要以 GenBank 格式从 NCBI 下载所有真菌 GenBank 基因组,请运行:
ncbi-genome-download --genbank 真菌部分
要下载 FASTA 格式的所有病毒 RefSeq 基因组,请运行:
ncbi-genome-download --fasta 病毒格式
可以通过提供格式列表或简单地下载所有格式来下载多种格式:
ncbi-genome-download --formats fasta、汇编报告病毒 ncbi-genome-download --格式化所有病毒
要仅下载 GenBank 格式的完整细菌 RefSeq 基因组,请运行:
ncbi-genome-download --装配级完整细菌
通过提供列表可以一次下载多个程序集级别:
ncbi-genome-download --装配级别完整,染色体细菌
要仅从 RefSeq 下载 GenBank 格式的细菌参考基因组,请运行:
ncbi-genome-download --refseq-类别参考细菌
要下载链霉菌属的细菌 RefSeq 基因组,请运行:
ncbi-genome-download --链霉菌属
注意:这是仅由 NCBI 提供的生物体名称的简单字符串匹配。
您还可以使用这个小技巧来下载特定物种的基因组:
ncbi-genome-download --“天蓝色链霉菌”属细菌
注意:引号很重要。同样,这是对 NCBI 提供的生物体名称的简单字符串匹配。
多个属也是可能的:
ncbi-genome-download --“天蓝色链霉菌、大肠杆菌”属细菌
您还可以将属名放入文件中,每行一个生物体,例如:
链霉菌属 无枝酸菌属
然后,将该文件的路径(例如my_genera.txt
)传递给--genera
选项,如下所示:
ncbi-genome-download --genera my_genera.txt 细菌
注意:上述命令将从 RefSeq 下载所有链霉菌属和拟无枝酸菌基因组。
您可以使用--fuzzy-genus
选项使字符串匹配模糊。如果您需要匹配 NCBI 生物名称中间的值,这会很方便,如下所示:
ncbi-基因组-下载--天蓝色属--模糊属细菌
注意:上述命令将从 RefSeq 下载其生物体名称中包含“coelicolor”的所有细菌基因组。
要根据 NCBI 物种分类 ID 下载细菌 RefSeq 基因组,请运行:
ncbi-genome-download --species-taxids 562 种细菌
注意:上述命令将下载属于大肠杆菌的所有 RefSeq 基因组。
要根据 NCBI 分类 ID 下载特定细菌 RefSeq 基因组,请运行:
ncbi-genome-download --taxids 511145 细菌
注意:上述命令将下载属于大肠杆菌 str. 的 RefSeq 基因组。 K-12 子字符串。 MG1655 。
还可以通过提供以逗号分隔的列表中的数字来下载多个物种的出租车或出租车:
ncbi-genome-download --taxids 9606,9685 --装配级染色体 vertebrate_mammalian
注意:上述命令将下载猫和人类的参考基因组。
此外,您可以将多个物种分类树或分类树放入一个文件中,每行一个,并将该文件名分别传递给--species-taxids
或--taxids
参数。
假设您有一个包含以下内容的文件my_taxids.txt
:
9606
9685
您可以像这样下载猫和人类的参考基因组:
ncbi-genome-download --taxids my_taxids.txt --装配级染色体 vertebrate_mammalian
还可以在镜像 NCBI 使用的布局的同时创建人类可读的目录结构:
ncbi-genome-download --人类可读的细菌
这将使用链接指向 NCBI 目录结构中的相应文件,因此可以节省文件空间。请注意,某些 Windows 文件系统和某些旧版本的 Windows 不支持链接。
还可以使用--human-readable
选项重新运行以前的下载。在这种情况下, ncbi-genome-download
将不会下载任何新的基因组文件,而只会创建人类可读的目录结构。请注意,如果 NCBI 端有任何文件发生更改,则会触发文件下载。
有一个“试运行”选项来显示将下载哪些种质(给定您的过滤器):
ncbi-genome-download -- 空运行细菌
如果要过滤装配摘要文件的“与类型材料的关系”列,可以使用--type-materials
选项。可能的值为“任何”、“全部”、“类型”、“引用”、“同义词”、“代理类型”和/或“neotype”。 “any”将包括与定义的类型材料值无关的程序集,“all”将仅下载具有定义值的程序集。可以给出多个值,用逗号分隔:
ncbi-genome-download --type-materials 类型,参考
默认情况下,ncbi-genome-download 会将各个分类组的程序集摘要文件缓存一天。您可以使用--no-cache
选项跳过使用缓存文件。如果您想删除任何缓存文件, --help
的输出还会显示缓存目录。
要获得所有选项的概述,请运行
ncbi-基因组-下载--帮助
您还可以将其用作方法调用:
将 ncbi_genome_download 导入为 ngdngd.download()
按照上面或--help
中的描述传递 pythonized 关键字参数。要指定分类组,例如细菌,请使用groups
关键字。要指定文件格式(例如--format
CLI 选项),请使用file_formats
。所有其他关键字应与 CLI 选项匹配,并将-
转换为_
。请注意,由于方法调用遵循与 CLI 相同的逻辑,因此列表数据仍应作为字符串传递,用逗号分隔,但不能有空格,就像在命令行上一样。
gimme_taxa.py
该脚本可让您找出要传递给ngd
TaxID,并编写一个简单的每行一项文件来传递给它。它使用ete3
工具包,因此如果尚未满足,请参考他们的站点来安装依赖项。
您可以使用特定的 TaxID 或学名查询数据库。该脚本的主要功能是返回指定父类群的所有子类群。该脚本对于在输出中写入哪些信息有多种选项。
基本调用可能如下所示:
# 获取埃希氏菌属的所有后代分类单元 (taxid 561):python gimme_taxa.py -o ~/mytaxafile.txt 561# 或者,只需提供分类单元名称 python gimme_taxa.py -o all_descendent_taxids.txt Escherichia# 您可以提供多个分类单元和/或名称python gimme_taxa.py -o all_descendent_taxids.txt 561、甲烷短杆菌
首次使用时,默认情况下将在您的主目录中创建一个小型 sqlite 数据库(使用--database
标志更改位置)。您可以使用--update
标志来更新此数据库。请注意,如果数据库不在您的主目录中,则必须使用--database
指定它,否则将在您的主目录中创建一个新数据库。
要查看所有帮助:
蟒蛇 gimme_taxa.py python gimme_taxa.py -h python gimme_taxa.py --help
要将gimme_taxa.py
脚本与ncbi-genome-download
的--taxids
选项一起使用,您需要使用-j
选项调用gimme_taxa.py
,如下所示:
gimme_taxa.py -j -o my_taxids.txt 大肠杆菌 ncbi-genome-download --taxids my_taxids.txt 细菌
ncbi-genome-download
您可以通过 Zenodo 存款在 DOI 下引用ncbi-genome-download
:10.5281/zenodo.8192432 或您使用的版本的特定 DOI。
所有代码均可在 Apache 许可证版本 2 下使用,有关详细信息,请参阅LICENSE
文件。