X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fdatamodel%2Ffeatures%2FSequenceFeaturesI.java;h=fa775327cb0f06844b4041e1bbb67b30e1b368ae;hb=e4a8b62decc8ca3d448389539464a0897b465343;hp=5f904da05349c48c470039daac65f0ea8f0d07d6;hpb=6a2fd9a13d79f316acdd4fcff066b8cfaaefa939;p=jalview.git diff --git a/src/jalview/datamodel/features/SequenceFeaturesI.java b/src/jalview/datamodel/features/SequenceFeaturesI.java index 5f904da..fa77532 100644 --- a/src/jalview/datamodel/features/SequenceFeaturesI.java +++ b/src/jalview/datamodel/features/SequenceFeaturesI.java @@ -16,7 +16,7 @@ public interface SequenceFeaturesI * * @param sf */ - public abstract boolean add(SequenceFeature sf); + boolean add(SequenceFeature sf); /** * Returns a (possibly empty) list of features, optionally restricted to @@ -28,7 +28,7 @@ public interface SequenceFeaturesI * @param type * @return */ - public abstract List findFeatures(int from, int to, + List findFeatures(int from, int to, String... type); /** @@ -38,9 +38,26 @@ public interface SequenceFeaturesI * @param type * @return */ - public abstract List getAllFeatures(String... type); + List getAllFeatures(String... type); - public abstract int getFeatureCount(boolean positional, String... type); + /** + * Answers the number of (positional or non-positional) features, optionally + * restricted to specified feature types. Contact features are counted as 1. + * + * @param positional + * @param type + * @return + */ + int getFeatureCount(boolean positional, String... type); + + /** + * Answers the total length of positional features, optionally restricted to + * specified feature types. Contact features are counted as length 1. + * + * @param type + * @return + */ + int getTotalFeatureLength(String... type); /** * Answers a list of all positional features, optionally restricted to @@ -49,7 +66,7 @@ public interface SequenceFeaturesI * @param type * @return */ - public abstract List getPositionalFeatures( + List getPositionalFeatures( String... type); /** @@ -58,7 +75,7 @@ public interface SequenceFeaturesI * * @return */ - public abstract List getContactFeatures(String... type); + List getContactFeatures(String... type); /** * Answers a list of all non-positional features, optionally restricted to @@ -68,7 +85,7 @@ public interface SequenceFeaturesI * if no type is specified, all are returned * @return */ - public abstract List getNonPositionalFeatures( + List getNonPositionalFeatures( String... type); /** @@ -79,14 +96,14 @@ public interface SequenceFeaturesI * * @param sf */ - public abstract boolean delete(SequenceFeature sf); + boolean delete(SequenceFeature sf); /** * Answers true if this store contains at least one feature, else false * * @return */ - public abstract boolean hasFeatures(); + boolean hasFeatures(); /** * Returns a set of the distinct feature groups present in the collection. The @@ -99,7 +116,7 @@ public interface SequenceFeaturesI * @param type * @return */ - public abstract Set getFeatureGroups(boolean positionalFeatures, + Set getFeatureGroups(boolean positionalFeatures, String... type); /** @@ -112,7 +129,7 @@ public interface SequenceFeaturesI * @param groups * @return */ - public abstract Set getFeatureTypesForGroups( + Set getFeatureTypesForGroups( boolean positionalFeatures, String... groups); /** @@ -120,6 +137,27 @@ public interface SequenceFeaturesI * * @return */ - public abstract Set getFeatureTypes(); + Set getFeatureTypes(); + /** + * Answers the minimum score held for positional or non-positional features + * for the specified type. This may be Float.NaN if there are no features, or + * none has a non-NaN score. + * + * @param type + * @param positional + * @return + */ + float getMinimumScore(String type, boolean positional); + + /** + * Answers the maximum score held for positional or non-positional features + * for the specified type. This may be Float.NaN if there are no features, or + * none has a non-NaN score. + * + * @param type + * @param positional + * @return + */ + float getMaximumScore(String type, boolean positional); } \ No newline at end of file