All Implemented Interfaces:
org.broadinstitute.barclay.argparser.CommandLinePluginProvider

@DocumentedFeature @ExperimentalFeature public final class FlowFeatureMapper extends ReadWalker
Finds specific features in reads, scores the confidence of each feature relative to the reference in each read and writes them into a VCF file. The sense of what a 'feature' is left somewhat open. In the most general sense, it is a haplotype located in a specific location on the read. It is not necessarily defined as a deviation from the reference. A feature is indeed scored against the reference (in terms of its deviation). The current version implements a single type of feature: a SNP (aka SNV).

At this point, this tool finds SNVs

Input

  • Coordinate-sorted and indexed SAM/BAM/CRAM

Output

  • Coordinate-sorted and indexed VCF

Usage examples

Find SNVs in chromosome 20.
 gatk FlowFeatureMapper \
   -I input.bam \
   -L 20 \
   -O chr20_snv.vcf
 
  • Field Details

    • outputVCF

      @Argument(fullName="output", shortName="O", doc="File to which variants should be written") public GATKPath outputVCF
    • emitReferenceConfidence

      @Advanced @Argument(fullName="emit-ref-confidence", shortName="ERC", doc="Mode for emitting reference confidence scores (For Mutect2, this is a BETA feature)", optional=true) public ReferenceConfidenceMode emitReferenceConfidence
    • GVCFGQBands

      @Advanced @Argument(fullName="gvcf-gq-bands", shortName="GQB", doc="Exclusive upper bounds for reference confidence GQ bands (must be in [1, 100] and specified in increasing order)", optional=true) public List<Integer> GVCFGQBands
    • floorBlocks

      @Advanced @Argument(fullName="floor-blocks", doc="Output the band lower bound for each GQ block regardless of the data it represents", optional=true) public boolean floorBlocks
    • fbargs

      @ArgumentCollection public FlowBasedArgumentCollection fbargs
  • Constructor Details

    • FlowFeatureMapper

      public FlowFeatureMapper()
  • Method Details

    • onTraversalStart

      public void onTraversalStart()
      Description copied from class: GATKTool
      Operations performed just prior to the start of traversal. Should be overridden by tool authors who need to process arguments local to their tool or perform other kinds of local initialization. Default implementation does nothing.
      Overrides:
      onTraversalStart in class GATKTool
    • closeTool

      public void closeTool()
      Description copied from class: GATKTool
      This method is called by the GATK framework at the end of the GATKTool.doWork() template method. It is called regardless of whether the GATKTool.traverse() has succeeded or not. It is called after the GATKTool.onTraversalSuccess() has completed (successfully or not) but before the GATKTool.doWork() method returns. In other words, on successful runs both GATKTool.onTraversalSuccess() and GATKTool.closeTool() will be called (in this order) while on failed runs (when GATKTool.traverse() causes an exception), only GATKTool.closeTool() will be called. The default implementation does nothing. Subclasses should override this method to close any resources that must be closed regardless of the success of traversal.
      Overrides:
      closeTool in class GATKTool
    • makeVCFWriter

      public htsjdk.variant.variantcontext.writer.VariantContextWriter makeVCFWriter(GATKPath outputVCF, htsjdk.samtools.SAMSequenceDictionary readsDictionary, boolean createOutputVariantIndex, boolean createOutputVariantMD5, boolean sitesOnlyMode)
    • makeVCFHeader

      public htsjdk.variant.vcf.VCFHeader makeVCFHeader(htsjdk.samtools.SAMSequenceDictionary sequenceDictionary, Set<htsjdk.variant.vcf.VCFHeaderLine> defaultToolHeaderLines)
    • apply

      public void apply(GATKRead read, ReferenceContext referenceContext, FeatureContext featureContext)
      Description copied from class: ReadWalker
      Process an individual read (with optional contextual information). Must be implemented by tool authors. In general, tool authors should simply stream their output from apply(), and maintain as little internal state as possible. TODO: Determine whether and to what degree the GATK engine should provide a reduce operation TODO: to complement this operation. At a minimum, we should make apply() return a value to TODO: discourage statefulness in walkers, but how this value should be handled is TBD.
      Specified by:
      apply in class ReadWalker
      Parameters:
      read - current read
      referenceContext - Reference bases spanning the current read. Will be an empty, but non-null, context object if there is no backing source of reference data (in which case all queries on it will return an empty array/iterator). Can request extra bases of context around the current read's interval by invoking ReferenceContext.setWindow(int, int) on this object before calling ReferenceContext.getBases()
      featureContext - Features spanning the current read. Will be an empty, but non-null, context object if there is no backing source of Feature data (in which case all queries on it will return an empty List).
    • computeLikelihoodLocal

      public static double computeLikelihoodLocal(FlowBasedRead read, FlowBasedHaplotype haplotype, int hapKeyLength, boolean debug)