CLI tool
CJ-Chen/TBtools-II avatar
CJ-Chen/TBtools-II

TBtools-II puts NGS data handling behind a desktop menu for wet-lab biologists

GUI/CommandLine Tool Box for biologistists to utilize NGS data.

1,089 stars196 forksShellLicense varies

At a glance

What is it?
TBtools-II is a Java desktop toolbox that wraps sequence extraction, annotation parsing, enrichment analysis and plotting into a graphical interface for scientists who do not write pipelines. It ships as an executable jar or a Windows installer, and it is free for non-commercial users rather than openly licensed.
Who is it for?
Adopt TBtools-II when the people running your analyses are wet-lab scientists who would rather click through a menu than write a command line, and when the tasks involved, sequence extraction, annotation handling, Venn diagrams, heatmaps, are one-off rather than a pipeline.
Can I use it commercially?
Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
Is it still maintained?
Yes. The repository last received commits 12 days ago.
What is it written in?
Mainly Shell, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The audience is scientists who do not script

TBtools-II is described as a GUI and command line tool box for biologists to utilise NGS data, and the reasoning behind it is spelled out in the project overview. Rapid development of high-throughput sequencing techniques has pushed biology into the big-data era, and data analysis using various bioinformatics softwares or pipelines that rely on programming and a command-line environment is, in the project's framing, challenging and time-consuming for most wet-lab biologists.

The conclusion drawn from that is that tools with a user-friendly interface are preferred because they save time. The software is presented as a Toolkit for Biologists integrating various biological data handling tools, a stand-alone program with data handling engines for both bulk sequence processing and interactive data visualisation.

The list of things it covers is a list of tasks that appear in almost every paper: bulk sequence extraction, gene set enrichment analysis, Venn diagram preparation, heatmap illustration, comparative sequence visualisation. The paper in Molecular Plant describes it as a one for all, all for one bioinformatics platform for biological big-data mining, and that is an accurate summary of the design, one program that carries many small tools rather than one tool that does many things.

The author is at South China Agricultural University, and the project is cited through that paper, which is the formal way it asks to be used.

Installation is an archive you unpack, not a package manager

The download and installation section is written for three operating systems, and the distribution channel is the GitHub releases page.

For users on any operating system, Windows, Mac or Linux, the steps are to download TBtools-crossplatform_XXX.rar, unpack it to obtain an executable jar file, and optionally install the BLAST package and add its bin directory to the environment variables if you want to use the BLAST wrapper functions.

For Windows users there is a better option, which the documentation says explicitly. You download TBtools_windows-32-bits-XXX.rar or TBtools_windows-64-bits-XXX.rar, unpack it to obtain an exe file, and then double click the exe, click next and wait for the installation procedure to finish.

The cross-platform route is a Java application, and the requirement is Java Runtime Environment 1.6 or newer. That is a low bar, but it does mean the machine needs a Java runtime, and the memory ceiling matters for the larger sequence files this kind of tool is used on.

The optional BLAST step is the one dependency in the whole setup, and it is only needed for the wrapper functions that shell out to BLAST. Everything else runs standalone.

Launching the jar with a memory ceiling

Once you have the jar, there are two ways to start it, and the second is the one that always works.

You can double click the jar file, and if that does not work, the documentation says, try the next way. The next way is to open a terminal, CMD or Powershell on Windows, Shell or Bash on Mac and Linux, and run it with an explicit heap size.

bash
java -Xmx2G -jar PathtoTBtools.jar

The 2G in the Xmx flag is the point of this command rather than an incidental detail. A bulk sequence extraction over a genome sized FASTA is a memory hungry operation, and a default JVM heap on a machine with plenty of RAM is often smaller than people assume, so the run either crawls or fails with an out of memory error. Setting the ceiling explicitly is the documented practice.

For Windows users who installed from the exe, there is no command line at all. Double clicking the TBtools icon opens the main panel.

The repository itself also carries the launchers for each platform, a Linux.sh, a Mac.command and a Win.bat, plus a bundled TBtools_JRE1.6.jar, so a version of the project can be started without configuring a system-wide Java installation.

Functions live behind a menu path, not a command name

The main panel has a menubar and a set of buttons, and the documentation names two of them because they answer a question every user has. Clicking Version checks whether the current TBtools is the latest version, and clicking Citation shows how the project should be cited.

The rest of the interface is a tree. A function is reached by a path, for example Sequence Toolkits then Fasta Tools then Amazing Fasta Extractor, or Sequence Toolkits then Gff3/GTF Manipulator then Gtf/Gff3 Sequences Extractor.

That path is worth reading as a description of the tool's structure rather than as a curiosity. The toolkit groups by data type, Fasta, Gff3 and GTF, and within each group the operations are the ones a biologist actually performs on that format. The interface mirrors the file formats of the field, and a user who already knows how to think in those formats can find a function without a manual.

It also explains the second claim in the project description, that this is a GUI and command line tool box. The GUI is the primary path, and the command line part is the jar invocation with its memory flag, not a separate command language.

Amazing Fasta Extractor works from an index you build once

The bulk sequence extraction example is the clearest illustration of how a function behaves, and it starts with two inputs. The first is a target sequence file in FASTA format, where each record has a header line beginning with a greater-than sign followed by the sequence.

code
>Unigene1 high expressing gene
ACGATCAGCTCAGCGACGATCGACTAGCTACGATCAGCTAGCTACGATCGACTAGCTAGCTACGA
ACGATCAGCTCAGCGACGATCGACTAGCTACGATCAGCTA

The second input is a set of gene identifiers or regions, in a format that accepts plain names and coordinate ranges.

code
##### Lines prefixed with # will be ignored
Unigene_1
Unigene_2
Chr_1 100000 102000
FinalGeneID Chr_1 100000 120000

The usage sequence tells you how the work is organised. Drag a target sequence file into the text field or set it with the ellipsis button, click initialize to build a FA-index, which the tool skips if it has already been built, set an output path, set the identifiers or regions, and click Start. There is a Just Show Dialog option that puts the extracted sequences in a dialog instead of a file, in which case no output path is required.

The index is the mechanism that makes this usable on a genome scale. Building it once and reusing it is what separates a tool that handles a transcriptome from one that handles a genome.

Gff3/GTF Sequences Extractor joins annotation to sequence

The second worked example is the annotation side, and it is the function most people adopt the tool for.

The inputs are a genome in FASTA format and a corresponding gene structure annotation file in gff3 or gtf format. The output is a file storing the sequences of a user specific feature, and the feature list in the documentation names them: CDS, exon, mRNA, gene, UTR and promoter.

The usage is short. Set the gff3 or gtf file, click initialize and TBtools lists the available features to select from, then select the ones you want. That second step is the interesting one, because the tool reads the annotation file and tells you which feature types are actually present in it, rather than making you know the conventions of that particular file.

The same pattern appears in the FASTA extractor, where initialize builds the index and lists what is available. The design assumption is that the annotation or sequence file is given and possibly inconsistent, and the tool's job is to discover what is in it.

The demo data for trying these functions is offered over FTP at the address in the documentation, with the account and password given there.

Non-commercial use, no licence file, and a version number that moves fast

Two things about the distribution are worth checking before a lab or a company plans to use this.

The first is that the cross-platform download is described as freely available to non-commercial users. That is a usage statement in the documentation rather than a licence grant, and the repository listing contains no licence file. The top level entries are the launcher scripts, the bundled runtime jar and the README, and no LICENSE. For a project that many academic groups rely on, the difference between free for non-commercial use and a permissive open source licence matters, and a company planning to redistribute it should settle that question with the author rather than infer it.

The second is the release cadence. The version numbers are not semantic. The recent releases are 2.561 with the note Enchance AI Dev from 2026-10-11, 2.515 labelled AI Dev Release from 2026-08-03, and 2.475 labelled Enhanced Smart Functions from 2026-05-09. The repository is not archived, and the last push was on 2026-10-11.

The AI labelling in those release names is the other thing to notice. The direction of the project is visible in the notes, and a group that cares about reproducibility of a specific analysis should record the exact build they used, because the tool is changing quickly and the version number alone does not tell you what changed.

Editorial conclusion

Adopt TBtools-II when the people running your analyses are wet-lab scientists who would rather click through a menu than write a command line, and when the tasks involved, sequence extraction, annotation handling, Venn diagrams, heatmaps, are one-off rather than a pipeline. Do not adopt it for a production analysis pipeline, because the work is driven through a GUI and there is no licence identifier in the repository, which leaves redistribution outside non-commercial use undefined. Verify first that a Java runtime is available on the machine, since the cross-platform build needs Java Runtime Environment 1.6 or newer, and that the BLAST wrapper functions will have their bin directory on the PATH if you intend to use them.

Frequently asked questions

How do I install and launch TBtools-II?

Download TBtools-crossplatform_XXX.rar from the GitHub releases and unpack it to get an executable jar, which needs Java Runtime Environment 1.6 or newer. Start it with java -Xmx2G -jar PathtoTBtools.jar, or on Windows use the TBtools_windows-32-bits or TBtools_windows-64-bits archive and its exe installer.

What is TBtools-II used for?

It is a stand-alone desktop toolbox for NGS data handling, covering bulk sequence processing and interactive visualisation, with functions for bulk sequence extraction, gene set enrichment analysis, Venn diagram preparation, heatmap illustration and comparative sequence visualisation.

How do I extract sequences by gene ID with TBtools-II?

Use Sequence Toolkits, then Fasta Tools, then Amazing Fasta Extractor. Load the FASTA file, click initialize to build the FA-index, set an output path, enter the gene identifiers or regions such as Chr_1 100000 102000, and click Start.

Does TBtools-II need BLAST installed?

Only for the BLAST wrapper functions. The installation notes say the BLAST package is optional and that its bin directory must be added to the environment variables if you want to use those wrappers. Everything else in the toolkit runs standalone.

Is TBtools-II open source?

The download section describes the tool as freely available to non-commercial users, and the repository listing contains no licence file, so redistribution or commercial use terms are not defined in the repository and would need to be confirmed with the author.

How is TBtools-II cited?

The README points to the Citation button in the main panel and gives the paper: Chen C. and colleagues, TBtools-II: A one for all, all for one bioinformatics platform for biological big-data mining, Molecular Plant 16, 1733-1742, published in 2023.

Official sources

  1. CJ-Chen/TBtools-II on GitHub
  2. Issues
  3. README
  4. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/cj-chen-tbtools-ii.svg)](https://hysenlabs.com/projects/cj-chen-tbtools-ii)

Was this useful?