broadinstitute / gatk-dataflow

Development dataflow
BSD 3-Clause "New" or "Revised" License
4 stars 1 forks source link

Build Status Coverage Status

Do not use this code for production work, it has not been validated for correctness and it's results are not trustworthy.

GATK 4 Dataflow Exploration

This is not an actively developed project!

It is a record of project Hellbender's exploratory work into running GATK tools in Google's Dataflow cloud framework.

GATK 4 development is continuing in a different direction at (https://github.com/broadinstitute/gatk) and we welcome contributions!

Feel free to make use of this code if it is useful to you, but expect no support or updates.

If you are looking for the current version of GATK to use in production work, please see the GATK website, where you can download a precompiled executable, read documentation, ask questions and receive technical support.

If you are looking for the codebase of the current production version of GATK, please see either the GATK development framework repository or the full GATK tools repository.

Requirements

Installation

To build and run all tests, run gradle check. Test report is in build/reports/tests/index.html.

To only build, run gradle installDist.

To run all tests, run gradle test. What will happen depends on the value of the CLOUD environment variable: if it's false or unset then only local tests are run. If it's mandatory then it'll run only the cloud tests.

To run a single test class, run something like this, gradle test -Dtest.single=ReadUtilsUnitTest.

To run tests and compute coverage reports, run gradle jacocoTestReport. The report is then in build/reports/jacoco/test/html/index.html. (IntelliJ 14 has a good coverage tool that is preferable for development).

To run the main program, run build/install/gatk-dataflow/bin/gatk-dataflow.

Note: 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.

Tests

We use Travis-CI as our continuous integration provider.

Creating a GATK-Dataflow project in the IntelliJ IDE:

Setting up debugging in IntelliJ

Updating the Intellij project when dependencies change

If there are dependency changes in build.gradle it is necessary to refresh the gradle project. This is easily done with the following steps.