X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fdatamodel%2FSequence.java;h=338aa627c01c85833414953a851dcdf883199a84;hb=ab43013b7e357b84b4abade0dba949668dfb2a0e;hp=68bf8f223592ca7f3f28decffc0e4196b825e35b;hpb=195c41c18f6a059b334d063312cd15de6a937ea5;p=jalview.git diff --git a/src/jalview/datamodel/Sequence.java b/src/jalview/datamodel/Sequence.java index 68bf8f2..338aa62 100755 --- a/src/jalview/datamodel/Sequence.java +++ b/src/jalview/datamodel/Sequence.java @@ -1,5 +1,5 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2) + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2b1) * Copyright (C) 2014 The Jalview Authors * * This file is part of Jalview. @@ -514,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) @@ -623,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; @@ -895,22 +879,30 @@ public class Sequence implements SequenceI return datasetSequence; } + /** + * Returns a new array containing this sequence's annotations, or null. + */ public AlignmentAnnotation[] getAnnotation() { - if (annotation == null) - { - return null; - } - - AlignmentAnnotation[] ret = new AlignmentAnnotation[annotation.size()]; - for (int r = 0; r < ret.length; r++) - { - ret[r] = annotation.elementAt(r); - } + return annotation == null ? null : annotation + .toArray(new AlignmentAnnotation[annotation.size()]); + } - return ret; + /** + * Returns true if this sequence has the given annotation (by object + * identity). + */ + @Override + public boolean hasAnnotation(AlignmentAnnotation ann) + { + return annotation == null ? false : annotation.contains(ann); } + /** + * Add the given annotation, if not already added, and set its sequence ref to + * be this sequence. Does nothing if this sequence's annotations already + * include this annotation (by identical object reference). + */ public void addAlignmentAnnotation(AlignmentAnnotation annotation) { if (this.annotation == null)