Class DRAGENMappingQualityReadTransformer

java.lang.Object
org.broadinstitute.hellbender.transformers.DRAGENMappingQualityReadTransformer
All Implemented Interfaces:
Serializable, Function<GATKRead,GATKRead>, UnaryOperator<GATKRead>, ReadTransformer, SerializableFunction<GATKRead,GATKRead>

public final class DRAGENMappingQualityReadTransformer extends Object implements ReadTransformer
Read transformer intended to replicate DRAGEN behavior for handling mapping qualities. This is necessary because the DRAGEN mapper emits mapping qualities between 0-250 which it emits in the XQ tag for reads. This transformer handles unpacking XQ tagged mapping qualities into the read as well mapping those values to a bounded phreds The current behavior maps it naively into the MQ field with no defense against repeat mapping. TODO handle that, make GT deal directly with new annotation
See Also:
  • Field Details

    • EXTENDED_MAPPING_QUALITY_READ_TAG

      public static String EXTENDED_MAPPING_QUALITY_READ_TAG
  • Constructor Details

    • DRAGENMappingQualityReadTransformer

      public DRAGENMappingQualityReadTransformer()
  • Method Details

    • mapMappingQualityToPhredLikelihoodScore

      public static double mapMappingQualityToPhredLikelihoodScore(int val)
      Parameters:
      val - mapping quality value (ranged 0-250)
      Returns:
      a score (as is performed by DRAGEN) corresponding to the phred likelihood of mipmapping event given that mapping quality.
    • apply

      public GATKRead apply(GATKRead read)
      Specified by:
      apply in interface Function<GATKRead,GATKRead>
      Specified by:
      apply in interface SerializableFunction<GATKRead,GATKRead>