Class LeftAlignIndels
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.LeftAlignIndels
- All Implemented Interfaces:
org.broadinstitute.barclay.argparser.CommandLinePluginProvider
Left-aligns indels in read data
This tool left-aligns any indels in the read data contained in a BAM or CRAM file. The same indel can often be placed at multiple positions and still represent the same haplotype. While it is a commonly used convention to place an indel at the left-most position, this doesn't always happen (either because upstream tools broke ties between equivalent representations randomly or used different aligning conventions), so this tool can be used to left-align them according to convention.
This tool will left-align reads with one and only one indel.
Input
A BAM or CRAM file to left-align.
Output
A left-aligned BAM or CRAM file.
Usage example
gatk LeftAlignIndels \ -R reference.fasta \ -I input.bam \ -O output.bam
-
Nested Class Summary
Nested classes/interfaces inherited from class org.broadinstitute.hellbender.cmdline.CommandLineProgram
CommandLineProgram.AutoCloseableNoCheckedExceptions
-
Field Summary
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, logger, 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 ref, 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.void
Operations performed just prior to the start of traversal.boolean
Does this tool require reference data? Traversals types and/or tools that do should override to return true.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, 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
-
Constructor Details
-
LeftAlignIndels
public LeftAlignIndels()
-
-
Method Details
-
requiresReference
public boolean requiresReference()Description copied from class:GATKTool
Does this tool require reference data? Traversals types and/or tools that do should override to return true.- Overrides:
requiresReference
in classGATKTool
- Returns:
- true if this tool requires a reference, otherwise false
-
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
-
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 readref
- 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).
-
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.
-