Skip to content

GATK4 Documentation Guidelines

Chris Norman edited this page Feb 13, 2017 · 1 revision

GATK4 Documentation Guidelines

Under construction; subject to review by Geraldine.

Guidelines adding javadoc and documentation for GATK4 tools.

CommandLinePrograms

Command line programs that should be included in the doc should have:

  • @CommandLineProgramProperties annotation
  • CommandLineProgramGroup classes should not use embedded string literals; rather, they should reference the shared group strings defined in HelpConstants.h.
  • An @DocumentedFeature annotation with no additional attribute values. The doc system will pull attribute values from the CommandLineProgramProperties and CommandLineProgramGroup annotations.
  • Javadoc comments
  • For tools that traverse reads or features, the javadoc comments may optionally include an embedded GATK.WalkerType category, which is used by the doc system to categorize the tool. (The category strings for these have not yet been determined).
  • @Argument annotations

Adding a new CommandLineProgramGroup:

  • New strings should be defined in HelpConstants.h.
  • Add the new group appropriate doc categories as defined by the HelpConstants methods getSuperCategoryMap and getSparkCategoryMap

Other Classes:

Classes that are not command line programs, but which should be part of the online doc (i.e, ReadFilters) should have:

  • An @DocumentedFeature annotation with fully populated attribute values.
  • Javadoc comments
  • @Argument annotations (optionally)