/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4)
- * Copyright (C) 2008 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
+ * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
*
- * This program 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 2
- * of the License, or (at your option) any later version.
+ * This file is part of Jalview.
*
- * This program 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.
+ * 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 this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+ * You should have received a copy of the GNU General Public License along with Jalview. If not, see <http://www.gnu.org/licenses/>.
*/
package jalview.datamodel;
* alignment
*
* @param seq
- * Sequence
+ * Sequence
* @param start
- * int
+ * int
* @param end
- * int
+ * int
*/
public void addResult(SequenceI seq, int start, int end)
{
}
/**
+ * Quickly check if the given sequence is referred to in the search results
+ *
+ * @param sequence
+ * (specific alignment sequence or a dataset sequence)
+ * @return true if the results involve sequence
+ */
+ public boolean involvesSequence(SequenceI sequence)
+ {
+ if (matches == null || matches.length == 0)
+ {
+ return false;
+ }
+ SequenceI ds = sequence.getDatasetSequence();
+ for (int m = 0; m < matches.length; m++)
+ {
+ if (matches[m].sequence != null
+ && (matches[m].sequence == sequence || matches[m].sequence == ds))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
* This Method returns the search matches which lie between the start and end
* points of the sequence in question. It is optimised for returning objects
* for drawing on SequenceCanvas
result[resultLength + 1] = matchEnd;
}
}
+ else
+ {
+ // debug
+ // System.err.println("Outwith bounds!" + matchStart+">"+end +" or "
+ // + matchEnd+"<"+start);
+ }
}
}
return result;