Package picard.analysis
Class CollectAlignmentSummaryMetrics
- java.lang.Object
-
- picard.cmdline.CommandLineProgram
-
- picard.analysis.SinglePassSamProgram
-
- picard.analysis.CollectAlignmentSummaryMetrics
-
@DocumentedFeature public class CollectAlignmentSummaryMetrics extends SinglePassSamProgram
A command line tool to read a BAM file and produce standard alignment metrics that would be applicable to any alignment. Metrics to include, but not limited to:- Total number of reads (total, period, no exclusions)
- Total number of PF reads (PF == does not fail vendor check flag)
- Number of PF noise reads (does not fail vendor check and has noise attr set)
- Total aligned PF reads (any PF read that has a sequence and position)
- High quality aligned PF reads (high quality == mapping quality >= 20)
- High quality aligned PF bases (actual aligned bases, calculate off alignment blocks)
- High quality aligned PF Q20 bases (subset of above where base quality >= 20)
- Median mismatches in HQ aligned PF reads (how many aligned bases != ref on average)
- Reads aligned in pairs (vs. reads aligned with mate unaligned/not present)
- Read length (how to handle mixed lengths?)
- Bad Cycles - how many machine cycles yielded combined no-call and mismatch rates of >= 80%
- Strand balance - reads mapped to positive strand / total mapped reads
- the insert size is larger than MAX_INSERT_SIZE
- the ends of a pair map to different contigs
- the paired end orientation is different that the expected orientation
- the read contains an SA tag (chimeric alignment)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CollectAlignmentSummaryMetrics.CollectAlignmentRefArgCollection
-
Field Summary
Fields Modifier and Type Field Description List<String>
ADAPTER_SEQUENCE
Set<htsjdk.samtools.SamPairUtil.PairOrientation>
EXPECTED_PAIR_ORIENTATIONS
boolean
IS_BISULFITE_SEQUENCED
int
MAX_INSERT_SIZE
Set<MetricAccumulationLevel>
METRIC_ACCUMULATION_LEVEL
-
Fields inherited from class picard.analysis.SinglePassSamProgram
ASSUME_SORTED, INPUT, OUTPUT, STOP_AFTER
-
Fields inherited from class picard.cmdline.CommandLineProgram
COMPRESSION_LEVEL, CREATE_INDEX, CREATE_MD5_FILE, GA4GH_CLIENT_SECRETS, 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 CollectAlignmentSummaryMetrics()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
acceptRead(htsjdk.samtools.SAMRecord rec, htsjdk.samtools.reference.ReferenceSequence ref)
Should be implemented by subclasses to accept SAMRecords one at a time.protected void
finish()
Should be implemented by subclasses to do one-time finalization work.static void
main(String[] argv)
Required main method implementation.protected ReferenceArgumentCollection
makeReferenceArgumentCollection()
protected void
setup(htsjdk.samtools.SAMFileHeader header, File samFile)
Should be implemented by subclasses to do one-time initialization work.protected int
testDoWork()
Silly method that is necessary to give unit test access to call doWork()-
Methods inherited from class picard.analysis.SinglePassSamProgram
doWork, makeItSo, setReferenceSequence, usesNoRefReads
-
Methods inherited from class picard.cmdline.CommandLineProgram
customCommandLineValidation, getCommandLine, getCommandLineParser, getDefaultHeaders, getFaqLink, getMetricsFile, getStandardUsagePreamble, getStandardUsagePreamble, getVersion, hasWebDocumentation, instanceMain, instanceMainWithExit, parseArgs, requiresReference, setDefaultHeaders, useLegacyParser
-
-
-
-
Field Detail
-
MAX_INSERT_SIZE
@Argument(doc="Paired-end reads above this insert size will be considered chimeric along with inter-chromosomal pairs.") public int MAX_INSERT_SIZE
-
EXPECTED_PAIR_ORIENTATIONS
@Argument(doc="Paired-end reads that do not have this expected orientation will be considered chimeric.") public Set<htsjdk.samtools.SamPairUtil.PairOrientation> EXPECTED_PAIR_ORIENTATIONS
-
ADAPTER_SEQUENCE
@Argument(doc="List of adapter sequences to use when processing the alignment metrics.") public List<String> ADAPTER_SEQUENCE
-
METRIC_ACCUMULATION_LEVEL
@Argument(shortName="LEVEL", doc="The level(s) at which to accumulate metrics.") public Set<MetricAccumulationLevel> METRIC_ACCUMULATION_LEVEL
-
IS_BISULFITE_SEQUENCED
@Argument(shortName="BS", doc="Whether the SAM or BAM file consists of bisulfite sequenced reads.") public boolean IS_BISULFITE_SEQUENCED
-
-
Method Detail
-
main
public static void main(String[] argv)
Required main method implementation.
-
testDoWork
protected final int testDoWork()
Silly method that is necessary to give unit test access to call doWork()
-
setup
protected void setup(htsjdk.samtools.SAMFileHeader header, File samFile)
Description copied from class:SinglePassSamProgram
Should be implemented by subclasses to do one-time initialization work.- Specified by:
setup
in classSinglePassSamProgram
-
acceptRead
protected void acceptRead(htsjdk.samtools.SAMRecord rec, htsjdk.samtools.reference.ReferenceSequence ref)
Description copied from class:SinglePassSamProgram
Should be implemented by subclasses to accept SAMRecords one at a time. If the read has a reference sequence and a reference sequence file was supplied to the program it will be passed as 'ref'. Otherwise 'ref' may be null.- Specified by:
acceptRead
in classSinglePassSamProgram
-
finish
protected void finish()
Description copied from class:SinglePassSamProgram
Should be implemented by subclasses to do one-time finalization work.- Specified by:
finish
in classSinglePassSamProgram
-
makeReferenceArgumentCollection
protected ReferenceArgumentCollection makeReferenceArgumentCollection()
- Overrides:
makeReferenceArgumentCollection
in classCommandLineProgram
-
-