X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=inline;f=src%2Fjalview%2Fdatamodel%2FSequence.java;h=69d6da255c4facc7965454f74e5eaf5d7a3885b0;hb=b8810711642d8473325c8a3d3e76cc5c3c9b5bbd;hp=f628699dee035546020be7c2d4c014efbd6ab8d9;hpb=2755c8765d39da0da2be087b301d47fc153d9236;p=jalview.git diff --git a/src/jalview/datamodel/Sequence.java b/src/jalview/datamodel/Sequence.java index f628699..69d6da2 100755 --- a/src/jalview/datamodel/Sequence.java +++ b/src/jalview/datamodel/Sequence.java @@ -493,7 +493,9 @@ public class Sequence implements SequenceI public char[] getSequence(int start, int end) { if (start < 0) + { start = 0; + } // JBPNote - left to user to pad the result here (TODO:Decide on this // policy) if (start >= sequence.length) @@ -512,16 +514,7 @@ public class Sequence implements SequenceI return reply; } - /** - * make a new Sequence object from start to end (including gaps) over this - * seqeunce - * - * @param start - * int - * @param end - * int - * @return SequenceI - */ + @Override public SequenceI getSubSequence(int start, int end) { if (start < 0) @@ -621,14 +614,7 @@ public class Sequence implements SequenceI } } - /** - * Returns the sequence position for an alignment position - * - * @param i - * column index in alignment (from 1) - * - * @return residue number for residue (left of and) nearest ith column - */ + @Override public int findPosition(int i) { int j = 0; @@ -928,7 +914,9 @@ public class Sequence implements SequenceI { this.annotation.removeElement(annotation); if (this.annotation.size() == 0) + { this.annotation = null; + } } } @@ -1040,7 +1028,9 @@ public class Sequence implements SequenceI for (int i = 0; i < annotations.length; i++) { if (annotations[i] != null) + { addAlignmentAnnotation(annotations[i]); + } } } } @@ -1082,33 +1072,6 @@ public class Sequence implements SequenceI return anns; } - /** - * Returns a list of any annotations on the sequence that match the given - * calcId (source) and label (type). Null values do not match. - * - * @param calcId - * @param label - * @return - */ - @Override - public List getAlignmentAnnotations(String calcId, - String label) - { - List result = new ArrayList(); - if (annotation != null) - { - for (AlignmentAnnotation ann : annotation) - { - if (ann.calcId != null && ann.calcId.equals(calcId) - && ann.label != null && ann.label.equals(label)) - { - result.add(ann); - } - } - } - return result; - } - public boolean updatePDBIds() { if (datasetSequence != null) @@ -1264,4 +1227,28 @@ public class Sequence implements SequenceI return rna; } + /** + * Returns a (possibly empty) list of any annotations that match on given + * calcId (source) and label (type). Null values do not match. + * + * @param calcId + * @param label + */ + @Override + public List getAlignmentAnnotations(String calcId, + String label) + { + List result = new ArrayList(); + if (this.annotation != null) { + for (AlignmentAnnotation ann : annotation) { + if (ann.calcId != null && ann.calcId.equals(calcId) + && ann.label != null && ann.label.equals(label)) + { + result.add(ann); + } + } + } + return result; + } + }