# Class AlignmentSummaryMetricsCollector

java.lang.Object
picard.metrics.MultiLevelCollector<AlignmentSummaryMetrics, Integer, SAMRecordAndReference>
picard.metrics.SAMRecordAndReferenceMultiLevelCollector<AlignmentSummaryMetrics, Integer>
picard.analysis.AlignmentSummaryMetricsCollector

public class AlignmentSummaryMetricsCollector extends SAMRecordAndReferenceMultiLevelCollector<AlignmentSummaryMetrics, Integer>

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`class`
`AlignmentSummaryMetricsCollector.GroupAlignmentSummaryMetricsPerUnitMetricCollector`
`class`
`AlignmentSummaryMetricsCollector.IndividualAlignmentSummaryMetricsCollector`
Class that counts reads that match various conditions

## Field Summary

### Fields inherited from class MultiLevelCollector

`UNKNOWN`

## Constructor Summary

Constructors
Constructor
Description
`AlignmentSummaryMetricsCollector(Set<MetricAccumulationLevel> accumulationLevels, List<htsjdk.samtools.SAMReadGroupRecord> samRgRecords, boolean doRefMetrics, List<String> adapterSequence, int maxInsertSize, Set<htsjdk.samtools.SamPairUtil.PairOrientation> expectedOrientations, boolean isBisulfiteSequenced)`

## Method Summary

Modifier and Type
Method
Description
`void`
`acceptRecord(htsjdk.samtools.SAMRecord rec, htsjdk.samtools.reference.ReferenceSequence ref)`
Construct a argument of ARGTYPE using the given SAMRecord and ReferenceSequence then pass this value to all collectors that should include this record
`protected static int`
`get3PrimeSoftClippedBases(htsjdk.samtools.Cigar cigar, boolean negativeStrand)`
returns the length of the soft clip on the 3' end If there are no-non-clipping operators, method will return 0 as it is unclear which clips should be considered on the "3'" end.
`protected PerUnitMetricCollector<AlignmentSummaryMetrics, Integer, SAMRecordAndReference>`
`makeChildCollector(String sample, String library, String readGroup)`
Construct a PerUnitMetricCollector with the given arguments.

### Methods inherited from class SAMRecordAndReferenceMultiLevelCollector

`makeArg`

### Methods inherited from class MultiLevelCollector

`addAllLevelsToFile, finish, getAllReadsCollector, makeAllReadCollector, makeLibraryCollector, makeReadGroupCollector, makeSampleCollector, setup`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### AlignmentSummaryMetricsCollector

public AlignmentSummaryMetricsCollector(Set<MetricAccumulationLevel> accumulationLevels, List<htsjdk.samtools.SAMReadGroupRecord> samRgRecords, boolean doRefMetrics, List<String> adapterSequence, int maxInsertSize, Set<htsjdk.samtools.SamPairUtil.PairOrientation> expectedOrientations, boolean isBisulfiteSequenced)

## Method Details

### makeChildCollector

protected PerUnitMetricCollector<AlignmentSummaryMetrics, Integer, SAMRecordAndReference> makeChildCollector(String sample, String library, String readGroup)
Description copied from class: `MultiLevelCollector`
Construct a PerUnitMetricCollector with the given arguments.

Specified by:
  `makeChildCollector` in class `MultiLevelCollector<AlignmentSummaryMetrics, Integer, SAMRecordAndReference>`
Parameters:
  `sample` - If aggregating by ALL_READS this will be null, otherwise the sample that will be used to identify this collector
  `library` - If aggregating by SAMPLE this will be null, otherwise the library that will be used to identify this collector
  `readGroup` - If aggregating by LIBRARY this will be null, otherwise the readGroup that will be used to identify this collector
Returns:
  A PerUnitMetricCollector parameterized by the given arguments

### acceptRecord

public void acceptRecord(htsjdk.samtools.SAMRecord rec, htsjdk.samtools.reference.ReferenceSequence ref)
Description copied from class: `MultiLevelCollector`
Construct a argument of ARGTYPE using the given SAMRecord and ReferenceSequence then pass this value to all collectors that should include this record

Overrides:
  `acceptRecord` in class `MultiLevelCollector<AlignmentSummaryMetrics, Integer, SAMRecordAndReference>`

### get3PrimeSoftClippedBases

protected static int get3PrimeSoftClippedBases(htsjdk.samtools.Cigar cigar, boolean negativeStrand)
returns the length of the soft clip on the 3' end If there are no-non-clipping operators, method will return 0 as it is unclear which clips should be considered on the "3'" end.

Parameters:
  `cigar` - The input Cigar of the read
  `negativeStrand` - the negativeStrandFlag of the read
Returns:
  the amount of soft-clipping that the read has on its 3' end (the later read cycles)