Class FlowFeatureMapper
java.lang.Object
org.broadinstitute.hellbender.cmdline.CommandLineProgram
org.broadinstitute.hellbender.engine.GATKTool
org.broadinstitute.hellbender.engine.WalkerBase
org.broadinstitute.hellbender.engine.ReadWalker
org.broadinstitute.hellbender.tools.walkers.featuremapping.FlowFeatureMapper
- All Implemented Interfaces:
org.broadinstitute.barclay.argparser.CommandLinePluginProvider
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
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static class
protected static class
Nested classes/interfaces inherited from class org.broadinstitute.hellbender.cmdline.CommandLineProgram
CommandLineProgram.AutoCloseableNoCheckedExceptions
-
Field Summary
FieldsModifier and TypeFieldDescriptionboolean
Fields inherited from class org.broadinstitute.hellbender.engine.ReadWalker
FEATURE_CACHE_LOOKAHEAD
Fields inherited from class org.broadinstitute.hellbender.engine.GATKTool
addOutputSAMProgramRecord, addOutputVCFCommandLine, cloudIndexPrefetchBuffer, cloudPrefetchBuffer, createOutputBamIndex, createOutputBamMD5, createOutputVariantIndex, createOutputVariantMD5, disableBamIndexCaching, features, intervalArgumentCollection, lenientVCFProcessing, outputSitesOnlyVCFs, progressMeter, readArguments, referenceArguments, SECONDS_BETWEEN_PROGRESS_UPDATES_NAME, seqValidationArguments
Fields inherited from class org.broadinstitute.hellbender.cmdline.CommandLineProgram
GATK_CONFIG_FILE, NIO_MAX_REOPENS, NIO_PROJECT_FOR_REQUESTER_PAYS, QUIET, specialArgumentsCollection, tmpDir, useJdkDeflater, useJdkInflater, VERBOSITY
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
apply
(GATKRead read, ReferenceContext referenceContext, FeatureContext featureContext) Process an individual read (with optional contextual information).void
This method is called by the GATK framework at the end of theGATKTool.doWork()
template method.static double
computeLikelihoodLocal
(FlowBasedRead read, FlowBasedHaplotype haplotype, int hapKeyLength, boolean debug) htsjdk.variant.vcf.VCFHeader
makeVCFHeader
(htsjdk.samtools.SAMSequenceDictionary sequenceDictionary, Set<htsjdk.variant.vcf.VCFHeaderLine> defaultToolHeaderLines) htsjdk.variant.variantcontext.writer.VariantContextWriter
makeVCFWriter
(GATKPath outputVCF, htsjdk.samtools.SAMSequenceDictionary readsDictionary, boolean createOutputVariantIndex, boolean createOutputVariantMD5, boolean sitesOnlyMode) void
Operations performed just prior to the start of traversal.Methods inherited from class org.broadinstitute.hellbender.engine.ReadWalker
getDefaultReadFilters, getProgressMeterRecordLabel, onShutdown, onStartup, requiresReads, resetReadsDataSource, traverse
Methods inherited from class org.broadinstitute.hellbender.engine.WalkerBase
directlyAccessEngineFeatureManager, directlyAccessEngineReadsDataSource, directlyAccessEngineReferenceDataSource
Methods inherited from class org.broadinstitute.hellbender.engine.GATKTool
addFeatureInputsAfterInitialization, bamIndexCachingShouldBeEnabled, createSAMWriter, createVCFWriter, createVCFWriter, createVCFWriter, disableProgressMeter, doWork, getBestAvailableSequenceDictionary, getDefaultCloudIndexPrefetchBufferSize, getDefaultCloudPrefetchBufferSize, getDefaultToolVCFHeaderLines, getDefaultVariantAnnotationGroups, getDefaultVariantAnnotations, getGenomicsDBOptions, getHeaderForFeatures, getHeaderForReads, getHeaderForSAMWriter, getMasterSequenceDictionary, getPluginDescriptors, getReferenceDictionary, getSequenceDictionaryValidationArgumentCollection, getToolName, getTransformedReadStream, getTraversalIntervals, getUserSuppliedIntervals, hasFeatures, hasReads, hasReference, hasUserSuppliedIntervals, initializeProgressMeter, makePostReadFilterTransformer, makePreReadFilterTransformer, makeReadFilter, makeSamReaderFactory, makeVariantAnnotations, onTraversalSuccess, requiresFeatures, requiresIntervals, requiresReference, transformTraversalIntervals, useVariantAnnotations
Methods inherited from class org.broadinstitute.hellbender.cmdline.CommandLineProgram
customCommandLineValidation, getCommandLine, getCommandLineParser, getDefaultHeaders, getMetricsFile, getSupportInformation, getToolkitName, getToolkitShortName, getToolStatusWarning, getUsage, getVersion, instanceMain, instanceMainPostParseArgs, isBetaFeature, isExperimentalFeature, parseArgs, printLibraryVersions, printSettings, printStartupMessage, runTool, setDefaultHeaders, warnOnToolStatus
-
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
-
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
-
-
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 classGATKTool
-
closeTool
public void closeTool()Description copied from class:GATKTool
This method is called by the GATK framework at the end of theGATKTool.doWork()
template method. It is called regardless of whether theGATKTool.traverse()
has succeeded or not. It is called after theGATKTool.onTraversalSuccess()
has completed (successfully or not) but before theGATKTool.doWork()
method returns. In other words, on successful runs bothGATKTool.onTraversalSuccess()
andGATKTool.closeTool()
will be called (in this order) while on failed runs (whenGATKTool.traverse()
causes an exception), onlyGATKTool.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. -
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
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 classReadWalker
- Parameters:
read
- current readreferenceContext
- 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 invokingReferenceContext.setWindow(int, int)
on this object before callingReferenceContext.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)
-