|
26 | 26 | package htsjdk.variant.variantcontext; |
27 | 27 |
|
28 | 28 | import java.io.Serializable; |
29 | | -import java.util.Collection; |
30 | 29 |
|
31 | 30 | /** |
32 | 31 | * Immutable representation of an allele. |
@@ -128,20 +127,20 @@ public interface Allele extends Comparable<Allele>, Serializable { |
128 | 127 |
|
129 | 128 | String NON_REF_STRING = "<NON_REF>"; |
130 | 129 | String UNSPECIFIED_ALTERNATE_ALLELE_STRING = "<*>"; |
131 | | - Allele REF_A = new ByteArrayAllele("A", true); |
132 | | - Allele ALT_A = new ByteArrayAllele("A", false); |
133 | | - Allele REF_C = new ByteArrayAllele("C", true); |
134 | | - Allele ALT_C = new ByteArrayAllele("C", false); |
135 | | - Allele REF_G = new ByteArrayAllele("G", true); |
136 | | - Allele ALT_G = new ByteArrayAllele("G", false); |
137 | | - Allele REF_T = new ByteArrayAllele("T", true); |
138 | | - Allele ALT_T = new ByteArrayAllele("T", false); |
139 | | - Allele REF_N = new ByteArrayAllele("N", true); |
140 | | - Allele ALT_N = new ByteArrayAllele("N", false); |
141 | | - Allele SPAN_DEL = new ByteArrayAllele(SPAN_DEL_STRING, false); |
142 | | - Allele NO_CALL = new ByteArrayAllele(NO_CALL_STRING, false); |
143 | | - Allele NON_REF_ALLELE = new ByteArrayAllele(NON_REF_STRING, false); |
144 | | - Allele UNSPECIFIED_ALTERNATE_ALLELE = new ByteArrayAllele(UNSPECIFIED_ALTERNATE_ALLELE_STRING, false); |
| 130 | + Allele REF_A = new SimpleAllele("A", true); |
| 131 | + Allele ALT_A = new SimpleAllele("A", false); |
| 132 | + Allele REF_C = new SimpleAllele("C", true); |
| 133 | + Allele ALT_C = new SimpleAllele("C", false); |
| 134 | + Allele REF_G = new SimpleAllele("G", true); |
| 135 | + Allele ALT_G = new SimpleAllele("G", false); |
| 136 | + Allele REF_T = new SimpleAllele("T", true); |
| 137 | + Allele ALT_T = new SimpleAllele("T", false); |
| 138 | + Allele REF_N = new SimpleAllele("N", true); |
| 139 | + Allele ALT_N = new SimpleAllele("N", false); |
| 140 | + Allele SPAN_DEL = new SimpleAllele(SPAN_DEL_STRING, false); |
| 141 | + Allele NO_CALL = new SimpleAllele(NO_CALL_STRING, false); |
| 142 | + Allele NON_REF_ALLELE = new SimpleAllele(NON_REF_STRING, false); |
| 143 | + Allele UNSPECIFIED_ALTERNATE_ALLELE = new SimpleAllele(UNSPECIFIED_ALTERNATE_ALLELE_STRING, false); |
145 | 144 |
|
146 | 145 | // for simple deletion, e.g. "ALT==<DEL>" (note that the spec allows, for now at least, alt alleles like <DEL:ME>) |
147 | 146 | @SuppressWarnings("unused") |
@@ -188,7 +187,7 @@ static Allele create(byte[] bases, boolean isRef) { |
188 | 187 | default: throw new IllegalArgumentException("Illegal base [" + (char)bases[0] + "] seen in the allele"); |
189 | 188 | } |
190 | 189 | } else { |
191 | | - return new ByteArrayAllele(bases.clone(), isRef); |
| 190 | + return new SimpleAllele(bases.clone(), isRef); |
192 | 191 | } |
193 | 192 | } |
194 | 193 |
|
@@ -372,12 +371,13 @@ static Allele create(byte[] bases) { |
372 | 371 | * (in which case the returned allele will be non-Ref). |
373 | 372 | * |
374 | 373 | * This method is efficient because it can skip the validation of the bases (since the original allele was already validated) |
| 374 | +
|
375 | 375 | * |
376 | 376 | * @param allele the allele from which to copy the bases |
377 | 377 | * @param ignoreRefState should we ignore the reference state of the input allele and use the default ref state? |
378 | 378 | */ |
379 | 379 | static Allele create(Allele allele, boolean ignoreRefState) { |
380 | | - return new ByteArrayAllele(allele.getBases(), allele.isReference() && !ignoreRefState); |
| 380 | + return new SimpleAllele(allele.getBases(), allele.isReference() && !ignoreRefState); |
381 | 381 | } |
382 | 382 |
|
383 | 383 | static boolean oneIsPrefixOfOther(final Allele a1, final Allele a2) { |
|
0 commit comments