1. TaxonKit和ncbi-genome-download简介
TaxonKit是一款小巧、高效、实用的NCBI分类学数据命令行工具集。
NCBI Taxonomy数据库,包含了NCBI所有核酸和蛋白序列数据库中每条序列对应的物种名称与分类学信息, 大多数生态学研究对物种组成的描述都是基于NCBI Taxonomy数据库。
TaxonKit详细使用方法参考:https://bioinf.shenwei.me/taxonkit/chinese/
ncbi-genome-download工具能根据输入的taxid或物种名称直接从NCBI上批量下载序列的软件,支持下载多种格式。
2. taxonkit 与 ncbi-genome-download安装
使用conda安装。
# taxonkit安装
conda install taxonkit -y
# NCBI上批量下载序列软件
conda install -c bioconda ncbi-genome-download -y
3. NCBI Taxonomy 数据文件下载
# 按此命令创建,不要自定义路径
mkdir -p $HOME/.taxonkit
cd $HOME/.taxonkit
# 文件大小约50Mb
wget -c ftp://ftp.ncbi.nih.gov/pub/taxonomy/taxdump.tar.gz
# 解压
tar -zxvf taxdump.tar.gz
# 解压后文件
# citations.dmp delnodes.dmp division.dmp gc.prt gencode.dmp images.dmp
# merged.dmp names.dmp nodes.dmp readme.txt taxdump.tar.gz
4. taxonkit list + taxonkit name2taxid + taxonkit lineage用法
4.1 taxonkit list
taxonkit list 用于列出指定TaxID所在分类学单元(taxon)的子树(subtree)的所有taxon的TaxID,可选显示名称和分类学水平。
# -i, --ids string:指定 TaxId(多个值用逗号分隔)。
# -n, --show-name:输出科学名称
# -r, --show-rank:输出分类级别
# -j, --threads int:指定使用的 CPU 数,默认为 4
# 查询人类和小鼠分类学信息
taxonkit list -i 9606,10090 -n -r -j 4
# 9606 [species] Homo sapiens
# 63221 [subspecies] Homo sapiens neanderthalensis
# 741158 [subspecies] Homo sapiens subsp. 'Denisova'
# 10090 [species] Mus musculus
# 10091 [subspecies] Mus musculus castaneus
# 10092 [subspecies] Mus musculus domesticus
# 35531 [subspecies] Mus musculus bactrianus
# 39442 [subspecies] Mus musculus musculus
# 46456 [subspecies] Mus musculus wagneri
# 57486 [subspecies] Mus musculus molossinus
# 80274 [subspecies] Mus musculus gentilulus
# 116058 [subspecies] Mus musculus brevirostris
# 179238 [subspecies] Mus musculus homourus
# 477815 [subspecies] Mus musculus musculus x M. m. domesticus
# 477816 [subspecies] Mus musculus musculus x Mus musculus castaneus
# 947985 [subspecies] Mus musculus albula
# 1266728 [subspecies] Mus musculus domesticus x M. m. molossinus
# 1385377 [subspecies] Mus musculus gansuensis
# 1643390 [subspecies] Mus musculus helgolandicus
# 1879032 [subspecies] Mus musculus isatissus
# 3109569 [subspecies] Mus musculus domesticus x Mus musculus castaneus
获取某个类别(比如细菌、病毒、某个属等)下所有的TaxID, 用来从NCBI nt/nr中获取对应的核酸/蛋白序列
# 查询结果保存至文本文件中
# 所有细菌的TaxID
# –ids 给定的taxid,多个时以逗号分割
# –show-name 输出科学命名
# –show-rank 输出分类等级
# -j 线程数,默认是2
taxonkit list --show-rank --show-name --ids 2 > ids.2.list
less -S ids.2.list
4.2 taxonkit name2taxid
物种拉丁名转化为taxid。
# 小鼠taxid
echo "mouse"|taxonkit name2taxid -r
# mouse 10088 genus
# mouse 10090 species
# 枯草杆菌
echo "bacillus subtilis"|taxonkit name2taxid -r
# bacillus subtilis 1423 species
# 大肠杆菌
echo "escherichia coli"|taxonkit name2taxid -r
# escherichia coli 562 species
# 假单胞菌
echo "pseudomonas aeruginosa"|taxonkit name2taxid -r
pseudomonas aeruginosa 287 species
# 白色葡萄球菌
echo "staphylococcus aureus"|taxonkit name2taxid -r
# staphylococcus aureus 1280 species
4.3 taxonkit lineage
taxonkit lineage 可根据输入文件提供的TaxID列表快速计算lineage,并可选提供名称,分类学水平,以及谱系对应的TaxID。
echo 10090|taxonkit lineage -d ':' -t -r
# 10090 cellular organisms:Eukaryota:Opisthokonta:Metazoa:Eumetazoa:Bilateria:Deuterostomia:Chordata:Craniata:Vertebrata:Gnathostomata:Teleostomi:Euteleostomi:Sarcopterygii:Dipnotetrapodomorpha:Tetrapoda:Amniota:Mammalia:Theria:Eutheria:Boreoeutheria:Euarchontoglires:Glires:Rodentia:Myomorpha:Muroidea:Muridae:Murinae:Mus:Mus:Mus musculus 131567:2759:33154:33208:6072:33213:33511:7711:89593:7742:7776:117570:117571:8287:1338369:32523:32524:40674:32525:9347:1437010:314146:314147:9989:1963758:337687:10066:39107:10088:862507:10090 species
5. ncbi-genome-download下载物种基因组序列
# 下载taxid=10090的mouse 完整基因组
ncbi-genome-download -t 10090 vertebrate_mammalian \
-l complete -F fasta -o mouse --flat-output
# 下载假单胞菌属(Pseudomonas)中所有的基因组序列(全部完整和染色体的基因组)
ncbi-genome-download -g "Pseudomonas" bacteria \
-l "complete,chromosome" --flat-output -o Pseudomonas
# 根据taxid下载单个或多个菌株基因组序列,大肠杆菌
ncbi-genome-download --taxids 386585 bacteria \
-l complete -F fasta --flat-output -o Escherichia_coli_O157
# 枯草杆菌基因组全部基因组序列下载
ncbi-genome-download --taxids 1423 bacteria \
-l complete -F fasta --flat-output -o bacillus_subtilis
参数说明:
-s:选择数据库(genbank,refseq),默认refseq数据库;
-F:下载基因组的格式,支持多种格式同时下载,逗号隔开,默认是genbank格式;
-l:序列组装程度,支持多种格式同时下载,逗号隔开;
-g:下载序列的属;
-S:下载的的物种名称,用逗号隔开,支持文本输入(每行一个菌种名称);
-o:保存结果的文件夹/文件名称;
-r:失败时重新连接的次数,默认是0次;
--flat-output:下载的文件存放至一个目录中,不创建新的子文件;