picard.fingerprint

## Class CheckFingerprint

- java.lang.Object
- - picard.cmdline.CommandLineProgram
  - - picard.fingerprint.CheckFingerprint

-     public class CheckFingerprint
      extends CommandLineProgram

  Attempts to check the sample identity of the sequence/genotype data in the provided file (SAM/BAM or VCF) against a set of known genotypes in the supplied genotype file (in either GELI or VCF format).

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `File` | `DETAIL_OUTPUT`
    `String` | `EXPECTED_SAMPLE_ALIAS`
    `static String` | `FINGERPRINT_DETAIL_FILE_SUFFIX`
    `static String` | `FINGERPRINT_SUMMARY_FILE_SUFFIX`
    `double` | `GENOTYPE_LOD_THRESHOLD`
    `File` | `GENOTYPES`
    `File` | `HAPLOTYPE_MAP`
    `boolean` | `IGNORE_READ_GROUPS`
    `File` | `INPUT`
    `String` | `OBSERVED_SAMPLE_ALIAS`
    `String` | `OUTPUT`
    `File` | `SUMMARY_OUTPUT`

    - ### 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
    `CheckFingerprint()`

  - ### 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[] args)`

    - ### 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

    - #### INPUT

          @Option(shortName="I",
                  doc="Input file SAM/BAM or VCF.  If a VCF is used, it must have at least one sample.  If there are more than one samples in the VCF, the parameter OBSERVED_SAMPLE_ALIAS must be provided in order to indicate which sample\'s data to use.  If there are no samples in the VCF, an exception will be thrown.")
          public File INPUT

    - #### OBSERVED_SAMPLE_ALIAS

          @Option(optional=true,
                  doc="If the input is a VCF, this parameters used to select which sample\'s data in the VCF to use.")
          public String OBSERVED_SAMPLE_ALIAS

    - #### OUTPUT

          @Option(shortName="O",
                  doc="The base prefix of output files to write.  The summary metrics will have the file extension \'fingerprinting_summary_metrics\' and the detail metrics will have the extension \'fingerprinting_detail_metrics\'.",
                  mutex={"SUMMARY_OUTPUT","DETAIL_OUTPUT"})
          public String OUTPUT

    - #### SUMMARY_OUTPUT

          @Option(shortName="S",
                  doc="The text file to which to write summary metrics.",
                  mutex="OUTPUT")
          public File SUMMARY_OUTPUT

    - #### DETAIL_OUTPUT

          @Option(shortName="D",
                  doc="The text file to which to write detail metrics.",
                  mutex="OUTPUT")
          public File DETAIL_OUTPUT

    - #### GENOTYPES

          @Option(shortName="G",
                  doc="File of genotypes (VCF or GELI) to be used in comparison. May contain any number of genotypes; CheckFingerprint will use only those that are usable for fingerprinting.")
          public File GENOTYPES

    - #### EXPECTED_SAMPLE_ALIAS

          @Option(shortName="SAMPLE_ALIAS",
                  optional=true,
                  doc="This parameter can be used to specify which sample\'s genotypes to use from the expected VCF file (the GENOTYPES file).  If it is not supplied, the sample name from the input (VCF or BAM read group header) will be used.")
          public String EXPECTED_SAMPLE_ALIAS

    - #### HAPLOTYPE_MAP

          @Option(shortName="H",
                  doc="A file of haplotype information produced by the CheckFingerprint program.")
          public File HAPLOTYPE_MAP

    - #### GENOTYPE_LOD_THRESHOLD

          @Option(shortName="LOD",
                  doc="When counting haplotypes checked and matching, count only haplotypes where the most likely haplotype achieves at least this LOD.")
          public double GENOTYPE_LOD_THRESHOLD

    - #### IGNORE_READ_GROUPS

          @Option(optional=true,
                  shortName="IGNORE_RG",
                  doc="If the input is a SAM/BAM, and this parameter is true, treat the entire input BAM as one single read group in the calculation, ignoring RG annotations, and producing a single fingerprint metric for the entire BAM.")
          public boolean IGNORE_READ_GROUPS

    - #### FINGERPRINT_SUMMARY_FILE_SUFFIX

          public static final String FINGERPRINT_SUMMARY_FILE_SUFFIX

      See Also:
        Constant Field Values

    - #### FINGERPRINT_DETAIL_FILE_SUFFIX

          public static final String FINGERPRINT_DETAIL_FILE_SUFFIX

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### CheckFingerprint

          public CheckFingerprint()

  - ### Method Detail

    - #### main

          public static void main(String[] args)

    - #### 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.