X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fdatamodel%2FSearchResultsI.java;h=794682412897ea634ba901595a832119749adaf8;hb=24148ee604dd03ceaeab63c123f3afc5cc2a57a7;hp=c3dc0e836511ecadc21bad218d525a60ca8e1f51;hpb=c55e1fa5d2782cc46e515c11a91cf502f37386ab;p=jalview.git diff --git a/src/jalview/datamodel/SearchResultsI.java b/src/jalview/datamodel/SearchResultsI.java index c3dc0e8..7946824 100644 --- a/src/jalview/datamodel/SearchResultsI.java +++ b/src/jalview/datamodel/SearchResultsI.java @@ -31,19 +31,27 @@ public interface SearchResultsI { /** - * Adds one region to the results + * Adds one region to the results (unless already added, to avoid duplicates) * * @param seq - * Sequence * @param start - * int * @param end - * int * @return */ SearchResultMatchI addResult(SequenceI seq, int start, int end); /** + * Adds one ore more [start, end] ranges to the results (unless already added + * to avoid duplicates). This method only increments the match count by 1. + * This is for the case where a match spans ignored hidden residues - it is + * formally two or more contiguous matches, but only counted as one match. + * + * @param seq + * @param positions + */ + void addResult(SequenceI seq, int[] positions); + + /** * adds all match results in the argument to this set * * @param toAdd @@ -77,11 +85,13 @@ public interface SearchResultsI int[] getResults(SequenceI sequence, int start, int end); /** - * Returns the number of matches found + * Returns the number of matches found. Note that if a match straddles ignored + * hidden residues, it is counted as one match, although formally recorded as + * two (or more) contiguous matched sequence regions * * @return */ - int getSize(); + int getCount(); /** * Returns true if no search result matches are held. @@ -108,4 +118,12 @@ public interface SearchResultsI * @return number of bits set */ int markColumns(SequenceCollectionI sqcol, BitSet bs); + + /** + * Return sub-sequences corresponding to distinct contiguous ranges in the + * matching set + * + * @return list of sequence objects + */ + List getMatchingSubSequences(); } \ No newline at end of file