Official code repository for GATK versions 4 and up
Please see the GATK website, where you can download a precompiled executable, read documentation, ask questions, and receive technical support. For GitHub basics, see here.
This repository contains the next generation of the Genome Analysis Toolkit (GATK). The contents of this repository are 100% open source and released under the Apache 2.0 license (see LICENSE.TXT).
GATK4 aims to bring together well-established tools from the GATK and Picard codebases under a streamlined framework, and to enable selected tools to be run in a massively parallel way on local clusters or in the cloud using Apache Spark. It also contains many newly developed tools not present in earlier releases of the toolkit.
brew install temurin@17 to install the Eclipse Foundation's OpenJDK 17.gatk frontend script).
See Python Dependencies for more information.git lfs install after downloading, followed by git lfs pull from
the root of your git clone to download all of the large files, including those required to run the test suite. The
full download is approximately 5 gigabytes. Alternatively, if you are just building GATK and not running the test
suite, you can skip this step since the build itself will use git-lfs to download the minimal set of large lfs
resource files required to complete the build. The test resources will not be downloaded, but this greatly reduces
the size of the download../gradlew script which will
download and use an appropriate gradle version automatically (see examples below).gatk conda environment pre-configured and activated.Miniconda3-py310_23.10.0-1 from the miniconda download page, selecting the Linux or
MacOS version of the installer as appropriate.miniconda used by the official GATK docker image.MacOSX-x86_64 installer, not the MacOSX-arm64 installer,
and rely on Mac OS's built-in x86 emulation./opt/miniconda, and then restart your shell: bash Miniconda3-py310_23.10.0-1-[YOUR_OS].sh -p /opt/miniconda -b
conda config --set auto_update_conda false
libmamba solver to greatly speed up creation of the conda environment: conda config --set solver libmamba
conda env create -f gatkcondaenv.yml to
create the gatk environment../gradlew localDevCondaEnv. This generates the Python
package archive and conda yml dependency file(s) in the build directory, and also creates (or updates)
the local gatk conda environment.source activate gatk to activate the gatk environment../gradlew bundle (creates gatk-VERSION.zip in build/)./gatk --help./gatk --list./gatk PrintReads -I src/test/resources/NA12878.chr17_69k_70k.dictFix.bam -O output.bam./gatk PrintReads --helpYou can download and run pre-built versions of GATK4 from the following places:
A zip archive with everything you need to run GATK4 can be downloaded for each release from the github releases page. We also host unstable archives generated nightly in the Google bucket gs://gatk-nightly-builds.
You can download a GATK4 docker image from our dockerhub repository. We also host unstable nightly development builds on this dockerhub repository.
Our docker image contains the following bioinformatics tools, which can be run by invoking the tool name from the command line:
We also include an installation of Python3 (3.10.13) with the following popular packages included:
We also include an installation of R (4.3.1) with the following popular packages included:
For more details on system packages, see the GATK Base Dockerfile and for more details on the Python3/R packages, see the Conda environment setup file. Versions for the Python3/R packages can be found there.
To do a full build of GATK4, first clone the GATK repository using "git clone", then run:
./gradlew bundle
Equivalently, you can just type:
./gradlew
build/ directory with a name like gatk-VERSION.zip containing a complete standalone GATK distribution, including our launcher gatk, both the local and spark jars, and this README. src/main/resources/large. The zipped source code alone is not buildable.src/main/resources/large/ are required to build GATK, since they are packaged inside the GATK jar and used by tools at runtime. These include things like ML models and native C/C++ libraries used for acceleration of certain tools.src/test/resources/large/, on the other hand, are only required by the test suite when running tests, and are not required to build GATK.Other ways to build:
./gradlew installDist ./gradlew installAll./gradlew localJarbuild/libs with a name like gatk-package-VERSION-local.jar, and can be used outside of your git clone../gradlew sparkJarbuild/libs with a name like gatk-package-VERSION-spark.jar, and can be used outside of your git clone. To remove previous builds, run:
./gradlew cle
No open issues yet, or sync has not completed.