git://source.jalview.org
/
jalview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
JAL-3613 check sequence overlap when matching search results
[jalview.git]
/
src
/
jalview
/
datamodel
/
SearchResults.java
diff --git
a/src/jalview/datamodel/SearchResults.java
b/src/jalview/datamodel/SearchResults.java
index
cde50e5
..
0074d2a
100755
(executable)
--- a/
src/jalview/datamodel/SearchResults.java
+++ b/
src/jalview/datamodel/SearchResults.java
@@
-91,27
+91,18
@@
public class SearchResults implements SearchResultsI
}
}
}
}
- /* (non-Javadoc)
- * @see jalview.datamodel.SearchResultMatchI#getSequence()
- */
@Override
public SequenceI getSequence()
{
return sequence;
}
@Override
public SequenceI getSequence()
{
return sequence;
}
- /* (non-Javadoc)
- * @see jalview.datamodel.SearchResultMatchI#getStart()
- */
@Override
public int getStart()
{
return start;
}
@Override
public int getStart()
{
return start;
}
- /* (non-Javadoc)
- * @see jalview.datamodel.SearchResultMatchI#getEnd()
- */
@Override
public int getEnd()
{
@Override
public int getEnd()
{
@@
-162,30
+153,37
@@
public class SearchResults implements SearchResultsI
return (sequence == m.getSequence() && start == m.getStart()
&& end == m.getEnd());
}
return (sequence == m.getSequence() && start == m.getStart()
&& end == m.getEnd());
}
+
+ @Override
+ public boolean contains(SequenceI seq, int from, int to)
+ {
+ return (sequence == seq && start <= from && end >= to);
+ }
}
}
- /* (non-Javadoc)
- * @see jalview.datamodel.SearchResultsI#addResult(jalview.datamodel.SequenceI, int, int)
- */
@Override
public SearchResultMatchI addResult(SequenceI seq, int start, int end)
{
Match m = new Match(seq, start, end);
@Override
public SearchResultMatchI addResult(SequenceI seq, int start, int end)
{
Match m = new Match(seq, start, end);
- matches.add(m);
+ if (!matches.contains(m))
+ {
+ matches.add(m);
+ }
return m;
}
return m;
}
- /* (non-Javadoc)
- * @see jalview.datamodel.SearchResultsI#involvesSequence(jalview.datamodel.SequenceI)
- */
@Override
public boolean involvesSequence(SequenceI sequence)
{
@Override
public boolean involvesSequence(SequenceI sequence)
{
+ final int start = sequence.getStart();
+ final int end = sequence.getEnd();
+
SequenceI ds = sequence.getDatasetSequence();
SequenceI ds = sequence.getDatasetSequence();
- for (SearchResultMatchI _m : matches)
+ for (SearchResultMatchI m : matches)
{
{
- SequenceI matched = _m.getSequence();
- if (matched != null && (matched == sequence || matched == ds))
+ SequenceI matched = m.getSequence();
+ if (matched != null && (matched == sequence || matched == ds)
+ && (m.getEnd() >= start) && (m.getStart() <= end))
{
return true;
}
{
return true;
}
@@
-193,9
+191,6
@@
public class SearchResults implements SearchResultsI
return false;
}
return false;
}
- /* (non-Javadoc)
- * @see jalview.datamodel.SearchResultsI#getResults(jalview.datamodel.SequenceI, int, int)
- */
@Override
public int[] getResults(SequenceI sequence, int start, int end)
{
@Override
public int[] getResults(SequenceI sequence, int start, int end)
{
@@
-267,9
+262,12
@@
public class SearchResults implements SearchResultsI
{
int count = 0;
BitSet mask = new BitSet();
{
int count = 0;
BitSet mask = new BitSet();
+ int startRes = sqcol.getStartRes();
+ int endRes = sqcol.getEndRes();
+
for (SequenceI s : sqcol.getSequences())
{
for (SequenceI s : sqcol.getSequences())
{
- int[] cols = getResults(s, sqcol.getStartRes(), sqcol.getEndRes());
+ int[] cols = getResults(s, startRes, endRes);
if (cols != null)
{
for (int pair = 0; pair < cols.length; pair += 2)
if (cols != null)
{
for (int pair = 0; pair < cols.length; pair += 2)
@@
-287,27
+285,18
@@
public class SearchResults implements SearchResultsI
return count;
}
return count;
}
- /* (non-Javadoc)
- * @see jalview.datamodel.SearchResultsI#getSize()
- */
@Override
public int getSize()
{
return matches.size();
}
@Override
public int getSize()
{
return matches.size();
}
- /* (non-Javadoc)
- * @see jalview.datamodel.SearchResultsI#isEmpty()
- */
@Override
public boolean isEmpty()
{
return matches.isEmpty();
}
@Override
public boolean isEmpty()
{
return matches.isEmpty();
}
- /* (non-Javadoc)
- * @see jalview.datamodel.SearchResultsI#getResults()
- */
@Override
public List<SearchResultMatchI> getResults()
{
@Override
public List<SearchResultMatchI> getResults()
{