@@ -51,6 +51,20 @@ public int qualityScore(final char c)
5151 return ((int ) c ) - 33 ;
5252 }
5353
54+ @ Override
55+ public char quality (final int qualityScore )
56+ {
57+ if (qualityScore < minimumQualityScore ())
58+ {
59+ throw new IllegalArgumentException ("qualityScore must be greater than or equal to minimumQualityScore()" );
60+ }
61+ if (qualityScore > maximumQualityScore ())
62+ {
63+ throw new IllegalArgumentException ("qualityScore must be less than or equal to maximumQualityScore()" );
64+ }
65+ return (char ) (qualityScore + 33 );
66+ }
67+
5468 @ Override
5569 public double errorProbability (final int qualityScore )
5670 {
@@ -79,6 +93,20 @@ public int qualityScore(final char c)
7993 return ((int ) c ) - 64 ;
8094 }
8195
96+ @ Override
97+ public char quality (final int qualityScore )
98+ {
99+ if (qualityScore < minimumQualityScore ())
100+ {
101+ throw new IllegalArgumentException ("qualityScore must be greater than or equal to minimumQualityScore()" );
102+ }
103+ if (qualityScore > maximumQualityScore ())
104+ {
105+ throw new IllegalArgumentException ("qualityScore must be less than or equal to maximumQualityScore()" );
106+ }
107+ return (char ) (qualityScore + 64 );
108+ }
109+
82110 @ Override
83111 public double errorProbability (final int qualityScore )
84112 {
@@ -108,6 +136,20 @@ public int qualityScore(final char c)
108136 return ((int ) c ) - 64 ;
109137 }
110138
139+ @ Override
140+ public char quality (final int qualityScore )
141+ {
142+ if (qualityScore < minimumQualityScore ())
143+ {
144+ throw new IllegalArgumentException ("qualityScore must be greater than or equal to minimumQualityScore()" );
145+ }
146+ if (qualityScore > maximumQualityScore ())
147+ {
148+ throw new IllegalArgumentException ("qualityScore must be less than or equal to maximumQualityScore()" );
149+ }
150+ return (char ) (qualityScore + 64 );
151+ }
152+
111153 @ Override
112154 public double errorProbability (final int qualityScore )
113155 {
@@ -210,6 +252,16 @@ public boolean isIllumina()
210252 */
211253 public abstract int qualityScore (char c );
212254
255+ /**
256+ * Convert the specified quality score to a quality in ASCII format.
257+ *
258+ * @since 3.0.6
259+ * @param qualityScore quality score, must be <code>>= minimumQualityScore()</code>
260+ * and <code><= maximumQualityScore()</code>
261+ * @return the quality in ASCII format converted from the specified quality score
262+ */
263+ public abstract char quality (int qualityScore );
264+
213265 /**
214266 * Convert the specified quality in ASCII format to an error probability.
215267 *
0 commit comments