TaxonKit工具:獲取物種NCBI數(shù)據(jù)庫的Taxonomy ID

網(wǎng)址: https://bioinf.shenwei.me/taxonkit/
TaxonKit工具,采用命令行模式,可以便于使用loop循環(huán)進行流水作業(yè)。

想要實現(xiàn)的功能:輸入一個科名列表文件,批量查詢其taxonomy ID;

| 子命令 | 功能 |
[list]——列出指定TaxId下所有子單元的的TaxID
[lineage] ——根據(jù)TaxID獲取完整譜系(lineage)
[reformat]——將完整譜系轉(zhuǎn)化為“界門綱目科屬種株"的自定義格式 |
[name2taxid]——將分類單元名稱轉(zhuǎn)化為TaxID |
[filter]——按分類學水平范圍過濾TaxIDs |
[lca]——計算最低公共祖先(LCA) |
[taxid-changelog]——追蹤TaxID變更記錄 |
version——顯示版本信息、檢測新版本 |
genautocomplete ——生成shell自動補全配置腳本 |

1. 安裝

選擇系統(tǒng)對應的版本下載最新版 https://github.com/shenwei356/taxonkit/releases

conda install taxonkit -c bioconda -y
表格數(shù)據(jù)處理,推薦使用 csvtk 更高效 conda install csvtk -c bioconda -y

2. 下載NCBI Taxonomy數(shù)據(jù)文件庫

TaxonKit直接解析NCBI Taxonomy數(shù)據(jù)文件(2秒左右),配置更容易,也便于更新數(shù)據(jù),占用內(nèi)存在500Mb-1.5G左右。 數(shù)據(jù)下載:
有時下載失敗,可多試幾次;或嘗試瀏覽器下載此鏈接

wget -c https://ftp.ncbi.nih.gov/pub/taxonomy/taxdump.tar.gz
tar -zxvf taxdump.tar.gz

解壓文件存于家目錄中.taxonkit/,程序默認數(shù)據(jù)庫默認目錄

mkdir -p HOME/.taxonkit cp names.dmp nodes.dmp delnodes.dmp merged.dmpHOME/.taxonkit

3. 使用

功能1: list 列出指定TaxId所在子樹的所有TaxID
示例:

以人屬(9605)和腸道中著名的Akk菌屬(239934)為例
taxonkit list --show-rank --show-name --indent " " --ids 9605,239934

功能2: lineage 根據(jù)TaxID獲取完整譜系

查找指定taxids列表的物種信息,tee可輸出屏幕并寫入文件
taxonkit lineage taxids.txt | tee lineage.txt

功能3: reformat 生成標準層級物種注釋
目的是生成“界門綱目科屬種”的分類學譜系(complete lineage),因為很多級別即不常用,而且不完整。通常只想保留界門綱目科屬種。
值得注意的是,不是所有物種都有完整的界門綱目科屬種水平,特別是病毒以及一些環(huán)境樣品。 TaxonKit可以用自定義內(nèi)容替代缺失的分類單元,如用“__”替代。 更厲害有用的是,TaxonKit還可以用更高層級的分類單元信息來補齊缺失的層級 (-F/--fill-miss-rank),比如:

-F參數(shù)會用family信息來補齊genus信息
$ echo 1327037 | taxonkit lineage | taxonkit reformat -F | cut -f 1,3

其它有用的選項:

-P/--add-prefix:給每個分類學水平添加前綴,比如s__species。
-t/--show-lineage-taxids:輸出分類學單元對應的TaxID。
-r/--miss-rank-repl: 替代沒有對應rank的taxon名稱
-S/--pseudo-strain: 對于低于species且rank既不是subspecies也不是stain的taxid,使用水平最低taxon名稱做為菌株名稱。

功能4: name2taxid 將分類單元名稱轉(zhuǎn)化為TaxID
分類單元名稱轉(zhuǎn)化為TaxID非常容易理解,唯一要注意的是某些TaxId對應相同的名稱,比如

-i指定列,-r顯示級別,-L不顯示世系
echo Drosophila | taxonkit name2taxid | taxonkit lineage -i 2 -r -L
Drosophila 7215 genus
Drosophila 32281 subgenus
Drosophila 2081351 genus
獲取TaxID之后,可以立即傳給taxonkit進行后續(xù)操作,但要注意用-i指定TaxId所在列。

實例

/mnt/d$ cat /mnt/d/FamilyID_list.txt | taxonkit name2taxid | taxonkit lineage -i 2 -r -L | tee /mnt/d/example_lineage.txt

讀取FamilyID_list.txt文件中的科名,批量查詢Taxonomy ID并屏幕輸出保存到/mnt/d/example_lineage.txt文件中

Pinaceae 3318 family
Pinaceae 3318 family
Simaroubaceae 23808 family
...

**更多有用的功能:

功能5: filter 按分類學水平范圍過濾TaxIDs
filter可以按分類學水平范圍過濾TaxIDs,注意,不僅僅是特定的Rank,而是一個范圍。 比如genus及以下的分類學水平,用-L genus -E genus,類似于 <= genus。

功能6: lca 計算最低公共祖先(LCA)

功能7: TaxID changelog 追蹤TaxID變更記錄
NCBI Taxonomy數(shù)據(jù)每天都在更新,每月初(大多為1號)的數(shù)據(jù)作為存檔保存在 taxdump_archive/ 目錄, 舊版本最早數(shù)據(jù)到2014年8月,新版本只到2018年12月。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容