X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fdatamodel%2FMapping.java;h=bd83fe9bb91bba216a59cc590838484209b1b6c5;hb=65d6d09cd08743d481d39521bb0298ea683888f8;hp=eb594be726254e46996edaa5e68af9b17af6adf4;hpb=8f920d337154e092f5f9056ffde3cdf2735eca43;p=jalview.git diff --git a/src/jalview/datamodel/Mapping.java b/src/jalview/datamodel/Mapping.java index eb594be..bd83fe9 100644 --- a/src/jalview/datamodel/Mapping.java +++ b/src/jalview/datamodel/Mapping.java @@ -155,8 +155,9 @@ public class Mapping int[] alignedCodon = getAlignedCodon(codon); String peptide = getPeptide(); + int peptideCol = toPosition - 1 - Mapping.this.to.getStart(); return new AlignedCodon(alignedCodon[0], alignedCodon[1], - alignedCodon[2], peptide); + alignedCodon[2], peptide, peptideCol); } /** @@ -164,6 +165,8 @@ public class Mapping * sequence. * * @return + * @throws NoSuchElementException + * if the 'toRange' is exhausted (nothing to map to) */ private String getPeptide() { @@ -701,9 +704,28 @@ public class Mapping super.finalize(); } + /** + * Returns an iterator which can serve up the aligned codon column positions + * and their corresponding peptide products + * + * @param seq + * an aligned (i.e. possibly gapped) sequence + * @param gapChar + * @return + */ public Iterator getCodonIterator(SequenceI seq, char gapChar) { return new AlignedCodonIterator(seq, gapChar); } + /** + * Readable representation for debugging only, not guaranteed not to change + */ + @Override + public String toString() + { + return String.format("%s %s", this.map.toString(), this.to == null ? "" + : this.to.getName()); + } + }