public abstract class WalkerBase extends GATKTool
ReadWalker
and VariantWalker
in the engine package that implement a standardized traversal should
extend this class rather than GATKTool
. Actual concrete tool classes should extend one of the specific walker base
types (such as ReadWalker
) or GATKTool
directly rather than this class.
Classes that extend WalkerBase
will be unable to directly access engine data sources unless they are in the
engine package. This is to allow walker base classes such as ReadWalker
direct datasource access while disallowing
it for concrete walker tool implementations, which should get their data via their apply()
method.addOutputSAMProgramRecord, addOutputVCFCommandLine, cloudIndexPrefetchBuffer, cloudPrefetchBuffer, createOutputBamIndex, createOutputBamMD5, createOutputVariantIndex, createOutputVariantMD5, disableBamIndexCaching, features, intervalArgumentCollection, lenientVCFProcessing, outputSitesOnlyVCFs, progressMeter, readArguments, referenceArguments, SECONDS_BETWEEN_PROGRESS_UPDATES_NAME, seqValidationArguments
GATK_CONFIG_FILE, logger, NIO_MAX_REOPENS, NIO_PROJECT_FOR_REQUESTER_PAYS, QUIET, specialArgumentsCollection, tmpDir, useJdkDeflater, useJdkInflater, VERBOSITY
Constructor and Description |
---|
WalkerBase() |
Modifier and Type | Method and Description |
---|---|
protected FeatureManager |
directlyAccessEngineFeatureManager()
Get the
FeatureManager for this GATKTool . |
protected ReadsDataSource |
directlyAccessEngineReadsDataSource()
Get the
ReadsDataSource for this GATKTool . |
protected ReferenceDataSource |
directlyAccessEngineReferenceDataSource()
Get the
ReferenceDataSource for this GATKTool . |
addFeatureInputsAfterInitialization, closeTool, createSAMWriter, createSAMWriter, createVCFWriter, createVCFWriter, doWork, getBestAvailableSequenceDictionary, getDefaultCloudIndexPrefetchBufferSize, getDefaultCloudPrefetchBufferSize, getDefaultReadFilters, getDefaultToolVCFHeaderLines, getDefaultVariantAnnotationGroups, getDefaultVariantAnnotations, getGenomicsDBOptions, getHeaderForFeatures, getHeaderForReads, getHeaderForSAMWriter, getMasterSequenceDictionary, getPluginDescriptors, getProgressMeterRecordLabel, getReferenceDictionary, getSequenceDictionaryValidationArgumentCollection, getToolName, getTransformedReadStream, getTraversalIntervals, hasFeatures, hasReads, hasReference, hasUserSuppliedIntervals, makePostReadFilterTransformer, makePreReadFilterTransformer, makeReadFilter, makeVariantAnnotations, onShutdown, onStartup, onTraversalStart, onTraversalSuccess, requiresFeatures, requiresIntervals, requiresReads, requiresReference, transformTraversalIntervals, traverse, useVariantAnnotations
customCommandLineValidation, getCommandLine, getCommandLineParser, getDefaultHeaders, getMetricsFile, getSupportInformation, getToolkitName, getToolkitShortName, getToolStatusWarning, getUsage, getVersion, instanceMain, instanceMainPostParseArgs, isBetaFeature, isExperimentalFeature, parseArgs, printLibraryVersions, printSettings, printStartupMessage, runTool, setDefaultHeaders, warnOnToolStatus
protected final ReferenceDataSource directlyAccessEngineReferenceDataSource()
ReferenceDataSource
for this GATKTool
.
Will throw a GATKException
if the reference is null.
Clients are expected to call the GATKTool.hasReference()
method prior to calling this.
Should only be called by walker base classes in the engine (such as ReadWalker
), or by "free-form" tools that
extend the GATKTool
class directly rather than one of the built-in walker types.
Tools that extend a walker type should get their data via apply()
rather than directly accessing
the engine datasources.
Walker tools outside of the engine package should not directly access the engine reference datasource.
They should get their reference data via apply()
instead. Tools that need direct datasource access
(e.g., to implement custom traversal patterns) should extend GATKTool
directly rather than a walker class,
or introduce a new walker base class for the new traversal.
We are overriding this method to prevent walker tool implementations outside of the engine package from
directly accessing the engine datasources, since walker tools should get their data via apply()
instead.directlyAccessEngineReferenceDataSource
in class GATKTool
ReferenceDataSource
for this GATKTool
. Never null
.protected final ReadsDataSource directlyAccessEngineReadsDataSource()
ReadsDataSource
for this GATKTool
.
Will throw a GATKException
if the reads are null.
Clients are expected to call the GATKTool.hasReads()
method prior to calling this.
Should only be called by walker base classes in the engine (such as ReadWalker
), or by "free-form" tools that
extend the GATKTool
class directly rather than one of the built-in walker types.
Tools that extend a walker type should get their data via apply()
rather than directly accessing
the engine datasources.
Walker tools outside of the engine package should not directly access the engine reads datasource.
They should get their reads data via apply()
instead. Tools that need direct datasource access
(e.g., to implement custom traversal patterns) should extend GATKTool
directly rather than a walker class,
or introduce a new walker base class for the new traversal.
We are overriding this method to prevent walker tool implementations outside of the engine package from
directly accessing the engine datasources, since walker tools should get their data via apply()
instead.directlyAccessEngineReadsDataSource
in class GATKTool
ReadsDataSource
for this GATKTool
. Never null
.protected final FeatureManager directlyAccessEngineFeatureManager()
FeatureManager
for this GATKTool
.
Will throw a GATKException
if the features are null.
Clients are expected to call the GATKTool.hasFeatures()
method prior to calling this.
Should only be called by walker base classes in the engine (such as ReadWalker
), or by "free-form" tools that
extend the GATKTool
class directly rather than one of the built-in walker types.
Tools that extend a walker type should get their data via apply()
rather than directly accessing
the engine datasources.
Walker tools outside of the engine package should not directly access the engine feature manager.
They should get their feature data via apply()
instead. Tools that need direct datasource access
(e.g., to implement custom traversal patterns) should extend GATKTool
directly rather than a walker class,
or introduce a new walker base class for the new traversal.
We are overriding this method to prevent walker tool implementations outside of the engine package from
directly accessing the engine datasources, since walker tools should get their data via apply()
instead.directlyAccessEngineFeatureManager
in class GATKTool
FeatureManager
for this GATKTool
. Never null
.