git://source.jalview.org
/
jalview.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
0f6c6e7
)
Ignores gaps when searching
author
amwaterhouse
<Andrew Waterhouse>
Thu, 13 Jan 2005 12:02:50 +0000
(12:02 +0000)
committer
amwaterhouse
<Andrew Waterhouse>
Thu, 13 Jan 2005 12:02:50 +0000
(12:02 +0000)
src/jalview/gui/Finder.java
patch
|
blob
|
history
diff --git
a/src/jalview/gui/Finder.java
b/src/jalview/gui/Finder.java
index
e1a3082
..
c2cf25b
100755
(executable)
--- a/
src/jalview/gui/Finder.java
+++ b/
src/jalview/gui/Finder.java
@@
-101,7
+101,6
@@
public class Finder extends GFinder
while( !found && seqIndex<av.getAlignment().getHeight())
\r
{
\r
seq = (Sequence)av.getAlignment().getSequenceAt(seqIndex);
\r
while( !found && seqIndex<av.getAlignment().getHeight())
\r
{
\r
seq = (Sequence)av.getAlignment().getSequenceAt(seqIndex);
\r
-
\r
if(av.getSelection().size()>0 && !av.getSelection().contains(seq))
\r
{
\r
// if a selection has been made, only search within that selection
\r
if(av.getSelection().size()>0 && !av.getSelection().contains(seq))
\r
{
\r
// if a selection has been made, only search within that selection
\r
@@
-112,10
+111,28
@@
public class Finder extends GFinder
\r
item = seq.getSequence();
\r
\r
\r
item = seq.getSequence();
\r
\r
+ ///Shall we ignore gaps????
\r
+ StringBuffer noGaps = new StringBuffer();
\r
+ int insertCount=0;
\r
+ ArrayList spaces = new ArrayList();
\r
+
\r
+ for (int j=0; j < item.length(); j++)
\r
+ {
\r
+
\r
+ if(!jalview.util.Comparison.isGap(item.charAt(j)))
\r
+ {
\r
+ noGaps.append(item.charAt(j));
\r
+ spaces.add(new Integer(insertCount));
\r
+ }
\r
+ else
\r
+ insertCount++;
\r
+ }
\r
+
\r
+
\r
Pattern pattern = Pattern.compile(searchString);
\r
Pattern pattern = Pattern.compile(searchString);
\r
- Matcher matcher = pattern.matcher(item);
\r
+ Matcher matcher = pattern.matcher(noGaps);
\r
\r
\r
- for(int r = resIndex; r<item.length(); r++)
\r
+ for(int r = resIndex; r<noGaps.length(); r++)
\r
{
\r
\r
if( matcher.find( r ) )
\r
{
\r
\r
if( matcher.find( r ) )
\r
@@
-123,8
+140,8
@@
public class Finder extends GFinder
resIndex = matcher.start();
\r
\r
searchResults.add( Integer.toString( seqIndex) );
\r
resIndex = matcher.start();
\r
\r
searchResults.add( Integer.toString( seqIndex) );
\r
- searchResults.add( Integer.toString( resIndex) );
\r
- searchResults.add( Integer.toString( matcher.end()-1 ) );
\r
+ searchResults.add( Integer.toString( resIndex+ Integer.parseInt(spaces.get(resIndex).toString()) ) );
\r
+ searchResults.add( Integer.toString( matcher.end()-1 + Integer.parseInt(spaces.get(matcher.end()-1).toString()) ) );
\r
if(!findAll)
\r
{
\r
// thats enough, break and display the result
\r
if(!findAll)
\r
{
\r
// thats enough, break and display the result
\r