picard.illumina

## Class CheckIlluminaDirectory

- java.lang.Object
- - picard.cmdline.CommandLineProgram
  - - picard.illumina.CheckIlluminaDirectory

-     public class CheckIlluminaDirectory
      extends CommandLineProgram

  Program to check a lane of an Illumina output directory. This program checks that files exist, are non-zero in length, for every tile/cycle and specified data type. If NO data type is specified then the default data types used by IlluminaBasecallsToSam are used.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `File` | `BASECALLS_DIR`
    `Set<IlluminaDataType>` | `DATA_TYPES`
    `Boolean` | `FAKE_FILES`
    `List<Integer>` | `LANES`
    `Boolean` | `LINK_LOCS`
    `String` | `READ_STRUCTURE`
    `List<Integer>` | `TILE_NUMBERS`

    - ### Fields inherited from class picard.cmdline.CommandLineProgram

      `COMPRESSION_LEVEL, CREATE_INDEX, CREATE_MD5_FILE, GA4GH_CLIENT_SECRETS, MAX_RECORDS_IN_RAM, QUIET, REFERENCE_SEQUENCE, TMP_DIR, VALIDATION_STRINGENCY, VERBOSITY`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CheckIlluminaDirectory()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected String[]` | `customCommandLineValidation()` Put any custom command-line validation in an override of this method.
    `protected int` | `doWork()` Do the work after command line has been parsed.
    `static void` | `main(String[] argv)` Required main method implementation.

    - ### Methods inherited from class picard.cmdline.CommandLineProgram

      `getCommandLine, getCommandLineParser, getDefaultHeaders, getMetricsFile, getNestedOptions, getNestedOptionsForHelp, getStandardUsagePreamble, getVersion, instanceMain, instanceMainWithExit, parseArgs, setDefaultHeaders`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### BASECALLS_DIR

          @Option(doc="The basecalls output directory. ",
                  shortName="B")
          public File BASECALLS_DIR

    - #### DATA_TYPES

          @Option(doc="The data types that should be checked for each tile/cycle.  If no values are provided then the data types checked are those required by IlluminaBaseCallsToSam (which is a superset of those used in ExtractIlluminaBarcodes).  These data types vary slightly depending on whether or not the run is barcoded so READ_STRUCTURE should be the same as that which will be passed to IlluminaBasecallsToSam.  If this option is left unspecified then both ExtractIlluminaBarcodes and IlluminaBaseCallsToSam should complete successfully UNLESS the individual records of the files themselves are spurious.",
                  shortName="DT",
                  optional=true)
          public final Set<IlluminaDataType> DATA_TYPES

    - #### READ_STRUCTURE

          @Option(doc="A description of the logical structure of clusters in an Illumina Run, i.e. a description of the structure IlluminaBasecallsToSam assumes the  data to be in. It should consist of integer/character pairs describing the number of cycles and the type of those cycles (B for Sample Barcode, M for molecular barcode, T for Template, and S for skip).  E.g. If the input data consists of 80 base clusters and we provide a read structure of \"28T8M8B8S28T\" then the sequence may be split up into four reads:\n* read one with 28 cycles (bases) of template\n* read two with 8 cycles (bases) of molecular barcode (ex. unique molecular barcode)\n* read three with 8 cycles (bases) of sample barcode\n* 8 cycles (bases) skipped.\n* read four with 28 cycles (bases) of template\nThe skipped cycles would NOT be included in an output SAM/BAM file or in read groups therein. Note:  If you want to check whether or not a future IlluminaBasecallsToSam or ExtractIlluminaBarcodes run will fail then be sure to use the exact same READ_STRUCTURE that you would pass to these programs for this run.",
                  shortName="RS")
          public String READ_STRUCTURE

    - #### LANES

          @Option(doc="The number of the lane(s) to check. ",
                  shortName="L",
                  minElements=1)
          public List<Integer> LANES

    - #### TILE_NUMBERS

          @Option(doc="The number(s) of the tile(s) to check. ",
                  shortName="T",
                  optional=true)
          public List<Integer> TILE_NUMBERS

    - #### FAKE_FILES

          @Option(doc="A flag to determine whether or not to create fake versions of the missing files.",
                  shortName="F",
                  optional=true)
          public Boolean FAKE_FILES

    - #### LINK_LOCS

          @Option(doc="A flag to create symlinks to the loc file for the X Ten for each tile.",
                  shortName="X",
                  optional=true)
          public Boolean LINK_LOCS

  - ### Constructor Detail

    - #### CheckIlluminaDirectory

          public CheckIlluminaDirectory()

  - ### Method Detail

    - #### main

          public static void main(String[] argv)

      Required main method implementation.

    - #### doWork

          protected int doWork()

      Description copied from class: `CommandLineProgram`
      Do the work after command line has been parsed. RuntimeException may be thrown by this method, and are reported appropriately.
      Specified by:
        `doWork` in class `CommandLineProgram`
      Returns:
        program exit status.

    - #### customCommandLineValidation

          protected String[] customCommandLineValidation()

      Description copied from class: `CommandLineProgram`
      Put any custom command-line validation in an override of this method. clp is initialized at this point and can be used to print usage and access argv. Any options set by command-line parser can be validated.
      Overrides:
        `customCommandLineValidation` in class `CommandLineProgram`
      Returns:
        null if command line is valid. If command line is invalid, returns an array of error message to be written to the appropriate place.