The GATK team would love to hear about any applications within which of the GATK-Lite codebase is embedded or walkers which you have chosen to distribute. Please send an email to gsahelp to let us know!
When redistributing the GATK-Lite codebase, please abide by the terms of our copyright:
/* * Copyright (c) 2009 The Broad Institute * * Permission is hereby granted, free of charge, to any person * obtaining a copy of this software and associated documentation * files (the "Software"), to deal in the Software without * restriction, including without limitation the rights to use, * copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following * conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. */
The packaging tool in the Sting repository can layout packages for redistribution. Currently, only walkers checked into the GATK's git repository are well supported by the packaging system. Example packaging files can be found in
Create a package xml for your project inside
Key elements within the package xml include:
Each occurrence of this tag will create an executable jar of the given name tag, using the main method from the given
This is the main class for the package. When running with
java -jar YOUR_JAR.jar,
main-class is the class that will be executed.
Other dependencies can be of type class or file. If of type
class, a dependency analyzer will look for all dependencies of your classes and include those files as well. File dependencies will end up in the root of your package.
Supplemental files can be added to the
resources section. Resource files will be copied to the
resources directory within the package.
To create a package, execute the following command:
cd $STING_HOME ant package -Dexecutable=<your executable name>
The packaging system will create a layout directory in
dist/packages/<your executable>. Examine the contents of this directory. When you are happy with the results, finalize the package by running the following:
tar cvhjf <your executable>.tar.bz2 <your executable>