DownloadLink
TaxonKit is implemented in Go programming language,
executable binary files for most popular operating systems are freely available
in release page.
Current VersionLink
-
This version is mainly for maintaining compatibility with NCBI's recent changes(1, 2).
Please remove theranks.txtfile in~/.taxonkit/or other directories containing taxdump files (nodes.dmp).taxonkit reformat:- Tried to make it compatible with NCBI's recent changes but failed.
- Update doc to recommend using
taxonkit reformat2.
taxonkit reformat:taxonkit filter2:- Support new ranks:
acellular rootandcellular root. Please remove theranks.txtfile in~/.taxonkit/or other directories containing taxdump files (nodes.dmp). - Automaticlly switch on
-N/--discard-norankswhen only-E/--equal-tois given and the value is not one of ranks without order ("no rank", "clade").
- Support new ranks:
taxonkit name2taxid:- Remove duplicated records caused by capitalization.
Please citeLink
Shen, W., Ren, H., TaxonKit: a practical and efficient NCBI Taxonomy toolkit, Journal of Genetics and Genomics, https://doi.org/10.1016/j.jgg.2021.03.006
LinksLink
Tips
- run
taxonkit versionto check update !!! - run
taxonkit genautocompleteto update Bash completion !!!
| OS | Arch | File, 中国镜像 | Download Count |
|---|---|---|---|
| Linux | 64-bit | taxonkit_linux_amd64.tar.gz, 中国镜像 |
|
| Linux | arm64 | taxonkit_linux_arm64.tar.gz, 中国镜像 |
|
| macOS | 64-bit | taxonkit_darwin_amd64.tar.gz, 中国镜像 |
|
| macOS | arm64 | taxonkit_darwin_arm64.tar.gz, 中国镜像 |
|
| Windows | 64-bit | taxonkit_windows_amd64.exe.tar.gz, 中国镜像 |
InstallationLink
TaxonKit is implemented in Go programming language,
executable binary files for most popular operating systems are freely available
in release page.
Method 1: Download binaries (latest stable)Link
Just download compressed
executable file of your operating system,
and uncompress it with tar -zxvf *.tar.gz command or other tools.
And then:
-
For Linux-like systems
-
If you have root privilege simply copy it to
/usr/local/bin:sudo cp taxonkit /usr/local/bin/ -
Or copy to anywhere in the environment variable
PATH:mkdir -p $HOME/bin/; cp taxonkit $HOME/bin/
-
-
For windows, just copy
taxonkit.exetoC:\WINDOWS\system32.
Method 2: Install via conda (latest stable version)
Link
conda install -c bioconda taxonkit
Method 3: Install via homebrew (may not the lastest version)Link
brew install brewsci/bio/taxonkit
Method 4: Compile from source (latest stable/dev version)Link
-
wget https://go.dev/dl/go1.24.2.linux-amd64.tar.gz tar -zxf go1.24.2.linux-amd64.tar.gz -C $HOME/ # or # echo "export PATH=$PATH:$HOME/go/bin" >> ~/.bashrc # source ~/.bashrc export PATH=$PATH:$HOME/go/bin -
Compile TaxonKit
git clone https://github.com/shenwei356/taxonkit cd taxonkit/taxonkit/ go build # The executable binary file is located in: # ./taxonkit # You can also move it to anywhere in the $PATH mkdir -p $HOME/bin cp ./taxonkit $HOME/bin/
Bash-completionLink
Supported shell: bash|zsh|fish|powershell
Bash:
# generate completion shell
taxonkit genautocomplete --shell bash
# configure if never did.
# install bash-completion if the "complete" command is not found.
echo "for bcfile in ~/.bash_completion.d/* ; do source \$bcfile; done" >> ~/.bash_completion
echo "source ~/.bash_completion" >> ~/.bashrc
Zsh:
# generate completion shell
taxonkit genautocomplete --shell zsh --file ~/.zfunc/_taxonkit
# configure if never did
echo 'fpath=( ~/.zfunc "${fpath[@]}" )' >> ~/.zshrc
echo "autoload -U compinit; compinit" >> ~/.zshrc
fish:
taxonkit genautocomplete --shell fish --file ~/.config/fish/completions/taxonkit.fish
DatasetLink
- Download and uncompress
taxdump.tar.gz: ftp://ftp.ncbi.nih.gov/pub/taxonomy/taxdump.tar.gz - Copy
names.dmp,nodes.dmp,delnodes.dmpandmerged.dmpto data directory:$HOME/.taxonkit, e.g.,/home/shenwei/.taxonkit, - Optionally copy to some other directories, and later you can refer to using flag
--data-dir, or environment variableTAXONKIT_DB.
All-in-one command:
wget -c ftp://ftp.ncbi.nih.gov/pub/taxonomy/taxdump.tar.gz
tar -zxvf taxdump.tar.gz
mkdir -p $HOME/.taxonkit
cp names.dmp nodes.dmp delnodes.dmp merged.dmp $HOME/.taxonkit
Update dataset: Simply re-download the taxdump files, uncompress and override old ones.
Release historyLink
- TaxonKit v0.19.0
- new command
taxonkit reformat2: Reformat lineage in chosen ranks, allowing more ranks than 'reformat' taxonkit reformat:- Fix
-T/--trimwhich did not work for-r/--miss-rank-repl. #106
- Fix
- new command
- TaxonKit v0.18.0
- TaxonKit v0.17.0
taxonkit filter:- Fix keeping taxids with a rank of "no rank" or "clade". #97
taxonkit list:- Accept input TaxIds from stdin/files, not just the flag
--ids. #93
- Accept input TaxIds from stdin/files, not just the flag
taxonkit name2taxid:- Add support of fuzzy match with
-f/--fuzzy. #88
- Add support of fuzzy match with
taxonkit profile2cami:- Add a new flag
-S/--no-sum-upto disable summing up abundances. #99
- Add a new flag
- TaxonKit v0.16.0
taxonkit create-taxdump:- TaxIds are generated from the hash value of "rank+taxon_name", this allowed duplicated names with different ranks (common in GTDB). #92.
taxonkit taxid-changelog/create-taxdump:- Add notes about the possible error records in taxid-changelog built from taxonomic data created by
create-taxdump. #91 - Dont't worry, a single version of taxonomic data created by
taxonkit create-taxdumphas no problem, it's just the changelog might not be perfect.
- Add notes about the possible error records in taxid-changelog built from taxonomic data created by
taxonkit lca:- new flag
-K/--keep-invalid: print the query even if no single valid taxid left. #89
- new flag
- TaxonKit v0.15.1
taxonkit name2taxid:- remove the restriction of name types. #87
- TaxonKit v0.15.0
taxonkit reformat:- For lineages with more than one node, if it fails to query TaxId with the parent-child pair, use the last child only. #82
- The flag
-T/--trimalso does not add the prefix for missing ranks lower than the current rank. #82 - New flag
-s/--miss-rank-repl-suffixto set the suffix for estimated taxon names. #85
- TaxonKit v0.14.2
taxonkit filter:- fix checking merged/deleted/not-found taxids. #80
taxonkit lca:- add a new flag
-b/--buffer-sizeto set the size of the line buffer. #75 - fix typos:
--separater->--separater, the former is still available for backward compatibility.
- add a new flag
taxonkit reformat:- output compatible format for TaxIds not found in the database. #79
taxonkit taxid-changelog:- support gzip-compressed taxdump files for saving space. #78
- TaxonKit v0.14.1
taxonkit reformat:- The flag
-S/--pseudo-straindoes not require-F/--fill-miss-ranknow. - For taxa of rank >= species,
{t},{S}, andToutputs nothing when using-S/--pseudo-strain.
- The flag
- TaxonKit v0.14.0
taxonkit create-taxdump:- save taxIds in
int32instead ofuint32, as BLAST and DIAMOND do. #70
- save taxIds in
taxonkit list:- do not skip visited subtrees when some of give taxids are descendants of others. #68
taxonkit:- when environment variable
TAXONKIT_DBis set, explicitly setting--data-dirwill override the value ofTAXONKIT_DB.
- when environment variable
- TaxonKit v0.13.0
taxonkit reformat:- add a new placeholder
{K}for rankkingdom. #64 - do not panic for invalid TaxIds, e.g., the column name, when using
-I--taxid-field.
- add a new placeholder
taxonkit create-taxdump:- fix merged.dmp and delnodes.dmp. Thanks to @apcamargo ! gtdb-taxdump/issues/2.
- fix bug of handling non-GTDB data when using
-A/--field-accessionand no rank names given: the colname of the accession column would be treated as one of the ranks, which messed up all the ranks. - fix the default option value of
--field-accession-rewhich wrongly remove prefix likeSp_. #65
taxonkit list:- fix warning message of merged taxids.
- TaxonKit v0.12.0
taxonkit create-taxdump:- accepts arbitrary ranks #60
- better handle of taxa with same names.
- many flags changed.
- TaxonKit v0.11.1
taxonkit create-taxdump: fix bug of missing Class rank, contributed by @apcamargo. The flag--gtdbwas not effected. #57
- TaxonKit v0.11.0
- new command
taxonkit create-taxdump: Create NCBI-style taxdump files for custom taxonomy, e.g., GTDB and ICTV. #56
- new command
- TaxonKit v0.10.1
taxonkit cami2-filter: fix option--show-rankwhich did not work in v0.10.0.
- TaxonKit v0.10.0
- new command
taxonkit cami2-filter: Remove taxa of given TaxIds and their descendants in CAMI metagenomic profile taxonkit reformat: fix panic for deleted taxid using-F/--fill-miss-rank. #55
- new command
- TaxonKit v0.9.0
- new command
taxonkit profile2cami: converting metagenomic profile table to CAMI format
- new command
- TaxonKit v0.8.0
- TaxonKit v0.7.2
taxonkit lineage:- new flag
-R/--show-lineage-ranksfor appending ranks of all levels. - reduce memory occupation and slightly speedup.
- new flag
taxonkit filter:- flag
-E/--equal-tosupports multiple values. - new flag
-n/--save-predictable-norank: do not discard some special ranks without order when using -L, where rank of the closest higher node is still lower than rank cutoff.
- flag
taxonkit reformat:- new placeholder
{t}forsubspecies/strain,{T}forstrain. Thanks @wqssf102 for feedback. - new flag
-S/--pseudo-strainfor using the node with lowest rank as strain name, only if which rank is lower than "species" and not "subpecies" nor "strain".
- new placeholder
- TaxonKit v0.7.1
taxonkit filter:- disable unnecessary stdin check when using flag
--list-orderor--list-ranks. #36 - better handling of black list, empty default value: "no rank" and "clade". And you need use
-N/--discard-noranksto explicitly filter out "no rank", "clade". #37 - update help message. Thanks @standage for improve this command! #38
- disable unnecessary stdin check when using flag
- TaxonKit v0.7.0
taxonkit: 2-3X faster taxonomy data loading.- new command
taxonkit filter: filtering TaxIds by taxonomic rank range. #32 - new command
taxonkit lca: Computing lowest common ancestor (LCA) for TaxIds. taxonkit reformat:- new flag
-P/--add-prefix: add prefixes for all ranks, single prefix for a rank is defined by flag--prefix-X, whereXmay bek,p,c,o,f,s,S. - new flag
-T/--trim: do not fill missing rank lower than current rank.
- new flag
taxonkit list: do not duplicate root node.
- TaxonKit v0.6.2
taxonkit reformat -F: fix taxids of abbreviated lineage containing names shared by different taxids. #35
- TaxonKit v0.6.1
taxonkit lineage:- new flag
-n/--show-namefor appending scientific name. - new flag
-L/--no-lineagefor hide lineage, this is for fast retrieving names or/and ranks.
- new flag
taxonkit reformat:- fix flag
-F/--fill-miss-rank. - discard order restriction of rank symbols.
- fix flag
- TaxonKit v0.6.0
- TaxonKit v0.5.0
taxonkit: requiring delnodes.dmp and merged.dmp.taxonkit lineage: detect deleted and merged taxids now. #19taxonkit list/name2taxid: add short flag-rfor--show-rank,-nfor--show-name.
- TaxonKit v0.4.3
taxonkit taxid-changelog: rewrite logic, fix bug and add more change types
- TaxonKit v0.4.2
taxonkit taxid-changelog: change output ofABSORB, do not merged into one record for changes in different versions.
- TaxonKit v0.4.1
taxonkit taxid-changelog:- add fields:
nameandrank. - and fix sorting bug.
- detailed lineage change status
- add fields:
- TaxonKit v0.4.0
- new command:
taxonkit taxid-changelog: for creating taxid changelog from dump archive
- new command:
- TaxonKit v0.3.0
- this version is almost the same as v0.2.5
- TaxonKit v0.2.5
- add global flag:
--line-bufferedto disable output buffer. #11 - replace global flags
--names-fileand--nodes-filewith--data-dir, also support environment variableTAXONKIT_DB. #17 taxonkit reformat: detects lineages containing unofficial taxon name and won't show panic message.taxonkit name2taxid: supports synonyms names. #9taxokit lineage: add flag-r/--show-rankto print rank at another new column.
- add global flag:
- TaxonKit v0.2.4
taxonkit reformat:taxonkit lineage:- fix bug for taxid
1#7 - add flag
-d/--delimiter.
- fix bug for taxid
- TaxonKit v0.2.3
- fix bug brought in v0.2.1
- TaxonKit v0.2.2
- make verbose information optional #4
- TaxonKit v0.2.1
taxonkit list: fix bug of no output for leaf nodes of the taxonomic tree. #4- add new command
genautocompleteto generate shell autocompletion script!
- TaxonKit v0.2.0
- add command
name2taxidto query taxid by taxon scientific name. lineage,reformat: changed flags and default operations, check the usage.
- add command
- TaxonKit v0.1.8
taxonkit lineage, add an extra column of lineage in Taxid. #3. e.g.,- fix colorful output in windows.
- TaxonKit v0.1.7
taxonkit reformat: supports reading stdin from output oftaxonkit lineage, reformated lineages are appended to input data.
- TaxonKit v0.1.6
- remove flag
-f/--formated-rankfromtaxonkit lineage, usingtaxonkit reformatcan archieve same result.
- remove flag
- TaxonKit v0.1.5
- reorganize code and flags
- TaxonKit v0.1.4
- add flag
--fillfortaxonkit reformat, which estimates and fills missing rank with original lineage information
- add flag
- TaxonKit v0.1.3
- add command of
taxonkit reformatwhich reformats full lineage to custom format
- add command of
- TaxonKit v0.1.2
- add command of
taxonkit lineage, users can query lineage of given taxon IDs from file
- add command of
- TaxonKit v0.1.1
- add feature of
taxonkit list, users can choose output in readable JSON format by flag--jsonso the taxonomy tree could be collapse and uncollapse in modern text editor.
- add feature of
- TaxonKit v0.1
- first release