picard.vcf.MendelianViolations

## Class FindMendelianViolations

- java.lang.Object
- - picard.cmdline.CommandLineProgram
  - - picard.vcf.MendelianViolations.FindMendelianViolations

-     public class FindMendelianViolations
      extends CommandLineProgram

  Finds mendelian violations of all types within a VCF. Takes in VCF or BCF and a pedigree file and looks for high confidence calls where the genotype of the offspring is incompatible with the genotypes of the parents. Key features: 1) Checks for regular MVs in diploid regions and invalid transmissions in haploid regions 2) Outputs metrics about the different kinds of MVs found 3) Can output a per-trio VCF with violations; INFO field will contain a MV= attribute with the type of violation This CLP ignores variants that are: - Not SNPs - Filtered - Multiallelic - Monomorphic - Within the SKIP_CHROMS contigs

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `Set<String>` | `FEMALE_CHROMS`
    `File` | `INPUT`
    `Set<String>` | `MALE_CHROMS`
    `int` | `MIN_DP`
    `int` | `MIN_GQ`
    `double` | `MIN_HET_FRACTION`
    `File` | `OUTPUT`
    `Set<String>` | `PSEUDO_AUTOSOMAL_REGIONS`
    `Set<String>` | `SKIP_CHROMS`
    `boolean` | `TAB_MODE`
    `int` | `THREAD_COUNT`
    `File` | `TRIOS`
    `File` | `VCF_DIR`

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected String[]` | `customCommandLineValidation()` Validates that the sex chromosomes don't overlap and parses the pseudo-autosomal regions into usable objects to ensure their parsability
    `protected int` | `doWork()` Do the work after command line has been parsed.

    - ### 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 VCF or BCF with genotypes.")
          public File INPUT

    - #### TRIOS

          @Option(shortName="PED",
                  doc="File of Trio information in PED format (with no genotype columns).")
          public File TRIOS

    - #### OUTPUT

          @Option(shortName="O",
                  doc="Output metrics file.")
          public File OUTPUT

    - #### MIN_GQ

          @Option(shortName="GQ",
                  doc="Minimum genotyping quality (or non-ref likelihood) to perform tests.")
          public int MIN_GQ

    - #### MIN_DP

          @Option(shortName="DP",
                  doc="Minimum depth in each sample to consider possible mendelian violations.")
          public int MIN_DP

    - #### MIN_HET_FRACTION

          @Option(shortName="MINHET",
                  doc="Minimum allele balance at sites that are heterozygous in the offspring.")
          public double MIN_HET_FRACTION

    - #### VCF_DIR

          @Option(optional=true,
                  doc="If provided, output per-family VCFs of mendelian violations into this directory.")
          public File VCF_DIR

    - #### SKIP_CHROMS

          @Option(doc="List of chromosome names to skip entirely.")
          public Set<String> SKIP_CHROMS

    - #### MALE_CHROMS

          @Option(doc="List of possible names for male sex chromosome(s)")
          public Set<String> MALE_CHROMS

    - #### FEMALE_CHROMS

          @Option(doc="List of possible names for female sex chromosome(s)")
          public Set<String> FEMALE_CHROMS

    - #### PSEUDO_AUTOSOMAL_REGIONS

          @Option(doc="List of chr:start-end for pseudo-autosomal regions on the female sex chromosome. Defaults to HG19/b37 & HG38 coordinates.")
          public Set<String> PSEUDO_AUTOSOMAL_REGIONS

    - #### THREAD_COUNT

          @Option(doc="The number of threads that will be used to collect the metrics. ")
          public int THREAD_COUNT

    - #### TAB_MODE

          @Option(doc="If true then fields need to be delimited by a single tab. If false the delimiter is one or more whitespace characters. Note that tab mode does not strictly follow the PED spec")
          public boolean TAB_MODE

  - ### Constructor Detail

    - #### FindMendelianViolations

          public FindMendelianViolations()

  - ### Method Detail

    - #### customCommandLineValidation

          protected String[] customCommandLineValidation()

      Validates that the sex chromosomes don't overlap and parses the pseudo-autosomal regions into usable objects to ensure their parsability
      Overrides:
        `customCommandLineValidation` in class `CommandLineProgram`
      Returns:

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