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 -bconda config --set auto_update_conda falselibmamba solver to greatly speed up creation of the conda environment:
conda config --set solver libmambaconda 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: * bedtools (v2.30.0) * samtools (1.13) * bcftools (1.13) * tabix (1.13+ds)
We also include an installation of Python3 (3.10.13) with the following popular packages included: * numpy * scipy * pytorch * pymc3 * keras * scikit-learn * matplotlib * pandas * biopython * pyvcf * pysam
We also include an installation of R (4.3.1) with the following popular packages included: * data.table * dplyr * ggplot2
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.
./gradlew bundle
Equivalently, you can just type:
./gradlew
* This creates a zip archive in the `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.
* You can also run GATK commands directly from the root of your git clone after running this command.
* Note that you *must* have a full git clone in order to build GATK, including the git-lfs files in `src/main/resources/large`. The zipped source code alone is not buildable.
* The large files under `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.
* The large files under `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 clean
For faster gradle operations, add org.gradle.daemon=true to your ~/.gradle/gradle.properties file.
This will keep a gradle daemon running in the background and avoid the ~6s gradle start up time on every command.
Gradle keeps a cache of dependencies used to build GATK. By default this goes in ~/.gradle. If there is insufficient free space in your home directory, you can change the location of the cache by setting the GRADLE_USER_HOME environment variable.
The version number is automatically derived from the git history using git describe, you can override it by setting the versionOverride property.
( ./gradlew -DversionOverride=my_weird_version printVersion )
gatk wrapper script located in the root directory of a clone of this repository.gatk can be run:./gradlew bundle to a directory, and running gatk from theregatk script within the same directory as fully-packaged GATK jars produced by ./gradlew localJar and/or ./gradlew sparkJarGATK_LOCAL_JAR and GATK_SPARK_JAR, and setting them