The GATK discovers walker documentation by reading it out of the Javadoc, Sun's design pattern for providing documentation for packages and classes. This page will provide an extremely brief explanation of how to write Javadoc; more information on writing javadoc comments can be found in Sun's documentation.
The GATK's build system uses the javadoc parser to extract the javadoc for classes and packages and embed the contents of that javadoc in the help system. If you add Javadoc to your package or walker, it will automatically appear in the help. The javadoc parser will pick up on 'standard' javadoc comments, such as the following, taken from PrintReadsWalker:
/** * This walker prints out the input reads in SAM format. Alternatively, the walker can write reads into a specified BAM file. */
You can add javadoc to your package by creating a special file,
package-info.java, in the package directory. This file should consist of the javadoc for your package plus a package descriptor line. One such example follows:
/** * @help.display.name Miscellaneous walkers (experimental) */ package org.broadinstitute.sting.playground.gatk.walkers;
Additionally, the GATK provides two extra custom tags for overriding the information that ultimately makes it into the help.
@help.display.name Changes the name of the package as it appears in help. Note that the name of the walker cannot be changed as it is required to be passed verbatim to the
@help.summary Changes the description which appears on the right-hand column of the help text. This is useful if you'd like to provide a more concise description of the walker that should appear in the help.
@help.descriptionChanges the description which appears at the bottom of the help text with
-T <your walker> --helpis specified. This is useful if you'd like to present a more complete description of your walker.
Walkers can be hidden from the documentation system by adding the
@Hidden annotation to the top of each walker.
@Hidden walkers can still be run from the command-line, but their documentation will not be visible to end users. Please use this functionality sparingly to avoid walkers with hidden command-line options that are required for production use.
Because the building of our help text is actually heavyweight and can dramatically increase compile time on some systems, we have a mechanism to disable help generation.
Compile with the following command:
to disable generation of help.