DownloadLink
TaxonKit
is implemented in Go programming language,
executable binary files for most popular operating systems are freely available
in release page.
Current VersionLink
- TaxonKit v0.19.0
- new command
taxonkit reformat2
: Reformat lineage in chosen ranks, allowing more ranks than 'reformat' taxonkit reformat
:- Fix
-T/--trim
which did not work for-r/--miss-rank-repl
. #106
- Fix
- new command
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 version
to check update !!! - run
taxonkit genautocomplete
to 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/dev version)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.exe
toC:\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.1.linux-amd64.tar.gz tar -zxf go1.24.1.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
# ------------- the latest stable version ------------- go get -v -u github.com/shenwei356/taxonkit/taxonkit # The executable binary file is located in: # ~/go/bin/taxonkit # You can also move it to anywhere in the $PATH mkdir -p $HOME/bin cp ~/go/bin/taxonkit $HOME/bin/ # --------------- the development version -------------- 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.dmp
andmerged.dmp
to 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.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-up
to 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-taxdump
has 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/--trim
also does not add the prefix for missing ranks lower than the current rank. #82 - New flag
-s/--miss-rank-repl-suffix
to 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-size
to 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-strain
does not require-F/--fill-miss-rank
now. - For taxa of rank >= species,
{t}
,{S}
, andT
outputs nothing when using-S/--pseudo-strain
.
- The flag
- TaxonKit v0.14.0
taxonkit create-taxdump
:- save taxIds in
int32
instead 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_DB
is set, explicitly setting--data-dir
will 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-accession
and 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-re
which 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--gtdb
was 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-rank
which 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-ranks
for appending ranks of all levels. - reduce memory occupation and slightly speedup.
- new flag
taxonkit filter
:- flag
-E/--equal-to
supports 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-strain
for 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-order
or--list-ranks
. #36 - better handling of black list, empty default value: "no rank" and "clade". And you need use
-N/--discard-noranks
to 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
, whereX
may 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-name
for appending scientific name. - new flag
-L/--no-lineage
for 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-r
for--show-rank
,-n
for--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:
name
andrank
. - 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-buffered
to disable output buffer. #11 - replace global flags
--names-file
and--nodes-file
with--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-rank
to 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
genautocomplete
to generate shell autocompletion script!
- TaxonKit v0.2.0
- add command
name2taxid
to 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-rank
fromtaxonkit lineage
, usingtaxonkit reformat
can archieve same result.
- remove flag
- TaxonKit v0.1.5
- reorganize code and flags
- TaxonKit v0.1.4
- add flag
--fill
fortaxonkit reformat
, which estimates and fills missing rank with original lineage information
- add flag
- TaxonKit v0.1.3
- add command of
taxonkit reformat
which 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--json
so the taxonomy tree could be collapse and uncollapse in modern text editor.
- add feature of
- TaxonKit v0.1
- first release