X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fdatamodel%2Ffeatures%2FSequenceFeaturesI.java;h=fe5e927ffab449e8ae5c63ac4d83224ee4414449;hb=b690e55cf50b5d253ec5545ee21cd93fc381f8c1;hp=58beca25ffaef0422f6d60ff68bf8f8d7ba806b0;hpb=b44349fe3a5f2d70b74a1b110018a753a1036aca;p=jalview.git diff --git a/src/jalview/datamodel/features/SequenceFeaturesI.java b/src/jalview/datamodel/features/SequenceFeaturesI.java index 58beca2..fe5e927 100644 --- a/src/jalview/datamodel/features/SequenceFeaturesI.java +++ b/src/jalview/datamodel/features/SequenceFeaturesI.java @@ -1,3 +1,23 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ package jalview.datamodel.features; import jalview.datamodel.SequenceFeature; @@ -62,9 +82,9 @@ public interface SequenceFeaturesI String group, String... type); /** - * Answers a list of all features stored, whose type either matches one of the - * given ontology terms, or is a specialisation of a term in the Sequence - * Ontology. Results are returned in no particular guaranteed order. + * Answers a list of all features stored, whose type either matches, or is a + * specialisation (in the Sequence Ontology) of, one of the given terms. + * Results are returned in no particular order. * * @param ontologyTerm * @return @@ -195,10 +215,35 @@ public interface SequenceFeaturesI float getMaximumScore(String type, boolean positional); /** - * Adds the shift amount to the start and end of all positional features, - * returning true if at least one feature was shifted, else false + * Adds the shift amount to the start and end of all positional features whose + * start position is at or after fromPosition. Returns true if at least one + * feature was shifted, else false. * - * @param shift + * @param fromPosition + * @param shiftBy */ - abstract boolean shiftFeatures(int shift); -} \ No newline at end of file + boolean shiftFeatures(int fromPosition, int shiftBy); + + /** + * Deletes all positional and non-positional features + */ + void deleteAll(); + + /** + * Answers a (possibly empty) list of features of the specified type that + * overlap the specified column position. If parameter {@code result} is not + * null, features are appended to it and the (possibly extended) list is + * returned. + * + * @param pos + * @param type + * @param result + * @return + */ + List findFeatures(int pos, String type, List result); + + /** + * Answers true if there are any features of the given type, else false + */ + boolean hasFeatures(String type); +}