DownloadLink
TaxonKit
is implemented in Go programming language,
executable binary files for most popular operating systems are freely available
in release page.
Current VersionLink
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.17.13.linux-amd64.tar.gz tar -zxf go1.17.13.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.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