Package picard.vcf.filter

## Class FilterVcf

- java.lang.Object
- - picard.cmdline.CommandLineProgram
  - - picard.vcf.filter.FilterVcf

-     @DocumentedFeature
      public class FilterVcf
      extends CommandLineProgram

  Applies a set of hard filters to Variants and to Genotypes within a VCF.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `File` | `INPUT` |
    `File` | `JAVASCRIPT_FILE` |
    `double` | `MAX_FS` |
    `double` | `MIN_AB` |
    `int` | `MIN_DP` |
    `int` | `MIN_GQ` |
    `double` | `MIN_QD` |
    `File` | `OUTPUT` |

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

      `COMPRESSION_LEVEL, CREATE_INDEX, CREATE_MD5_FILE, GA4GH_CLIENT_SECRETS, MAX_ALLOWABLE_ONE_LINE_SUMMARY_LENGTH, MAX_RECORDS_IN_RAM, QUIET, REFERENCE_SEQUENCE, referenceSequence, specialArgumentsCollection, TMP_DIR, USE_JDK_DEFLATER, USE_JDK_INFLATER, VALIDATION_STRINGENCY, VERBOSITY`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `FilterVcf()` | Constructor to default to having index creation on.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected int` | `doWork()` | Do the work after command line has been parsed.

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

      `checkRInstallation, customCommandLineValidation, getCommandLine, getCommandLineParser, getCommandLineParserForArgs, getDefaultHeaders, getFaqLink, getMetricsFile, getPGRecord, getStandardUsagePreamble, getStandardUsagePreamble, getVersion, hasWebDocumentation, instanceMain, instanceMainWithExit, makeReferenceArgumentCollection, parseArgs, requiresReference, setDefaultHeaders, useLegacyParser`

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

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

- - ### Field Detail

    - #### INPUT

          @Argument(shortName="I",
                    doc="The INPUT VCF or BCF file.")
          public File INPUT

    - #### OUTPUT

          @Argument(shortName="O",
                    doc="The output VCF or BCF.")
          public File OUTPUT

    - #### MIN_AB

          @Argument(doc="The minimum allele balance acceptable before filtering a site. Allele balance is calculated for heterozygotes as the number of bases supporting the least-represented allele over the total number of base observations. Different heterozygote genotypes at the same locus are measured independently. The locus is filtered if any allele balance is below the limit.")
          public double MIN_AB

    - #### MIN_DP

          @Argument(doc="The minimum sequencing depth supporting a genotype before the genotype will be filtered out.")
          public int MIN_DP

    - #### MIN_GQ

          @Argument(doc="The minimum genotype quality that must be achieved for a sample otherwise the genotype will be filtered out.")
          public int MIN_GQ

    - #### MAX_FS

          @Argument(doc="The maximum phred scaled fisher strand value before a site will be filtered out.")
          public double MAX_FS

    - #### MIN_QD

          @Argument(doc="The minimum QD value to accept or otherwise filter out the variant.")
          public double MIN_QD

    - #### JAVASCRIPT_FILE

          @Argument(shortName="JS",
                    doc="Filters a VCF file with a javascript expression interpreted by the java javascript engine.  The script puts the following variables in the script context:  \'variant\' a VariantContext ( https://samtools.github.io/htsjdk/javadoc/htsjdk/htsjdk/variant/variantcontext/VariantContext.html ) and  \'header\' a VCFHeader ( https://samtools.github.io/htsjdk/javadoc/htsjdk/htsjdk/variant/vcf/VCFHeader.html ). Last value of the script should be a boolean to tell whether we should accept or reject the record.",
                    optional=true)
          public File JAVASCRIPT_FILE

  - ### Constructor Detail

    - #### FilterVcf

          public FilterVcf()

      Constructor to default to having index creation on.

  - ### Method Detail

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