查询物种分类学信息和下载基因组TaxonKit和ncbi-genome-download
## 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安装。
```bash
# taxonkit安装
conda install taxonkit -y
# NCBI上批量下载序列软件
conda install -c bioconda ncbi-genome-download -y
```
## 3. NCBI Taxonomy 数据文件下载
```bash
# 按此命令创建,不要自定义路径
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.dmpdelnodes.dmpdivision.dmpgc.prtgencode.dmpimages.dmp
# merged.dmpnames.dmpnodes.dmpreadme.txttaxdump.tar.gz
```
## 4. taxonkit list + taxonkit name2taxid + taxonkit lineage用法
### 4.1 taxonkit list
taxonkitlist 用于列出指定TaxID所在分类学单元(taxon)的子树(subtree)的所有taxon的TaxID,可选显示名称和分类学水平。
```bash
# -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 Homo sapiens
# 63221 Homo sapiens neanderthalensis
# 741158 Homo sapiens subsp. 'Denisova'
# 10090 Mus musculus
# 10091 Mus musculus castaneus
# 10092 Mus musculus domesticus
# 35531 Mus musculus bactrianus
# 39442 Mus musculus musculus
# 46456 Mus musculus wagneri
# 57486 Mus musculus molossinus
# 80274 Mus musculus gentilulus
# 116058 Mus musculus brevirostris
# 179238 Mus musculus homourus
# 477815 Mus musculus musculus x M. m. domesticus
# 477816 Mus musculus musculus x Mus musculus castaneus
# 947985 Mus musculus albula
# 1266728 Mus musculus domesticus x M. m. molossinus
# 1385377 Mus musculus gansuensis
# 1643390 Mus musculus helgolandicus
# 1879032 Mus musculus isatissus
# 3109569 Mus musculus domesticus x Mus musculus castaneus
```
获取某个类别(比如细菌、病毒、某个属等)下所有的TaxID, 用来从NCBI nt/nr中获取对应的核酸/蛋白序列
```bash
# 查询结果保存至文本文件中
# 所有细菌的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。**
```bash
# 小鼠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。
```bash
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下载物种基因组序列
```bash
# 下载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:下载的文件存放至一个目录中,不创建新的子文件;
页:
[1]