X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fdatamodel%2FMapping.java;h=328b96a05ae88ba1e8ec40bc6e974e32c2a16f0c;hb=e3f8846ad3af97c5b26e09f7a4e3bcc901f758ca;hp=c74160339f1023fb54aa779a226e10ccdcc5a625;hpb=b9d3d1f71c6a8aee09cd23e1303b062cbe43a239;p=jalview.git diff --git a/src/jalview/datamodel/Mapping.java b/src/jalview/datamodel/Mapping.java index c741603..328b96a 100644 --- a/src/jalview/datamodel/Mapping.java +++ b/src/jalview/datamodel/Mapping.java @@ -46,7 +46,7 @@ public class Mapping /* * The characters of the aligned sequence e.g. "-cGT-ACgTG-" */ - private final char[] alignedSeq; + private final SequenceI alignedSeq; /* * the sequence start residue @@ -102,7 +102,7 @@ public class Mapping */ public AlignedCodonIterator(SequenceI seq, char gapChar) { - this.alignedSeq = seq.getSequence(); + this.alignedSeq = seq; this.start = seq.getStart(); this.gap = gapChar; fromRanges = map.getFromRanges().iterator(); @@ -176,14 +176,14 @@ public class Mapping if (toPosition <= currentToRange[1]) { SequenceI seq = Mapping.this.to; - char pep = seq.getSequence()[toPosition - seq.getStart()]; + char pep = seq.getCharAt(toPosition - seq.getStart()); toPosition++; return String.valueOf(pep); } if (!toRanges.hasNext()) { - throw new NoSuchElementException("Ran out of peptide at position " - + toPosition); + throw new NoSuchElementException( + "Ran out of peptide at position " + toPosition); } currentToRange = toRanges.next(); toPosition = currentToRange[0]; @@ -257,9 +257,10 @@ public class Mapping * allow for offset e.g. treat pos 8 as 2 if sequence starts at 7 */ int truePos = sequencePos - (start - 1); - while (alignedBases < truePos && alignedColumn < alignedSeq.length) + int length = alignedSeq.getLength(); + while (alignedBases < truePos && alignedColumn < length) { - char c = alignedSeq[alignedColumn++]; + char c = alignedSeq.getCharAt(alignedColumn++); if (c != gap && !Comparison.isGap(c)) { alignedBases++; @@ -666,8 +667,8 @@ public class Mapping to[f * 2] = r[0]; to[f * 2 + 1] = r[1]; } - copy.setMap(new MapList(from, to, map.getFromRatio(), map - .getToRatio())); + copy.setMap( + new MapList(from, to, map.getFromRatio(), map.getToRatio())); } return copy; } @@ -714,7 +715,8 @@ public class Mapping * @param gapChar * @return */ - public Iterator getCodonIterator(SequenceI seq, char gapChar) + public Iterator getCodonIterator(SequenceI seq, + char gapChar) { return new AlignedCodonIterator(seq, gapChar); } @@ -725,8 +727,8 @@ public class Mapping @Override public String toString() { - return String.format("%s %s", this.map.toString(), this.to == null ? "" - : this.to.getName()); + return String.format("%s %s", this.map.toString(), + this.to == null ? "" : this.to.getName()); } /**