Package picard.illumina.parser.readers
Class BclQualityEvaluationStrategy
java.lang.Object
picard.illumina.parser.readers.BclQualityEvaluationStrategy
Describes a mechanism for revising and evaluating qualities read from a BCL file. This class accumulates observations about low quality
scores that it evaluates, so distinct instances should be used for unrelated sets of BCL readers.
The mechanism for revising qualities is not configurable. The qualities that are less than 1 are revised to 1, and other qualities are
not affected.
This class is thread-safe and a single instance can and should be passed to
BclReader
s running in separate threads.
To replicate the functionality of BclReader
s prior to the introduction of this class, create a single instance passing
ILLUMINA_ALLEGED_MINIMUM_QUALITY
to the constructor, and then call assertMinimumQualities()
once the readers finish
their work.-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Reviews the qualities observed thus far and throws an exception if any are below the minimum quality threshold.Returns a view of number of qualities that failed, where the key is the quality score and the value is the number of observations.byte
reviseAndConditionallyLogQuality
(byte quality) Accepts a quality read from a BCL file and (1) returns a 1 if the value was 0 and (2) makes a note of the provided quality if it is low.
-
Field Details
-
ILLUMINA_ALLEGED_MINIMUM_QUALITY
public static final int ILLUMINA_ALLEGED_MINIMUM_QUALITY- See Also:
-
-
Constructor Details
-
BclQualityEvaluationStrategy
public BclQualityEvaluationStrategy(int minimumRevisedQuality) - Parameters:
minimumRevisedQuality
- The minimum quality that should be seen from revised qualities; controls whether or not an exception is thrown when callingassertMinimumQualities()
-
-
Method Details
-
reviseAndConditionallyLogQuality
public byte reviseAndConditionallyLogQuality(byte quality) Accepts a quality read from a BCL file and (1) returns a 1 if the value was 0 and (2) makes a note of the provided quality if it is low. Because of (2) each record's quality should be passed only once to this method, otherwise it will be observed multiple times.- Parameters:
quality
- The quality score read from the BCL- Returns:
- The revised new quality score
-
assertMinimumQualities
public void assertMinimumQualities()Reviews the qualities observed thus far and throws an exception if any are below the minimum quality threshold. -
getPoorQualityFrequencies
Returns a view of number of qualities that failed, where the key is the quality score and the value is the number of observations.
-