X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fanalysis%2FFinder.java;fp=src%2Fjalview%2Fanalysis%2FFinder.java;h=5d42905ba40dad454a23b8c1e2ec0a4219cd6cd7;hb=4016a0a5baf92cea3f1303fdaae3804244857427;hp=fc6537910140ac4c8bfb378f34c1c1c283fc1589;hpb=9d614db4de3b9c8018a42c0c82eedd134af85d6c;p=jalview.git diff --git a/src/jalview/analysis/Finder.java b/src/jalview/analysis/Finder.java index fc65379..5d42905 100644 --- a/src/jalview/analysis/Finder.java +++ b/src/jalview/analysis/Finder.java @@ -223,6 +223,7 @@ public class Finder implements FinderI if (ignoreHidden) { seqString = getVisibleSequence(seq); + this.searchedSequenceStartPosition = 1; } else { @@ -262,8 +263,12 @@ public class Finder implements FinderI */ private String getVisibleSequence(SequenceI seq) { - int seqStartCol = seq.findIndex(seq.getStart()); - int seqEndCol = seq.findIndex(seq.getStart() + seq.getLength() - 1); + /* + * get start / end columns of sequence and convert to base 0 + * (so as to match the visible column ranges) + */ + int seqStartCol = seq.findIndex(seq.getStart()) - 1; + int seqEndCol = seq.findIndex(seq.getStart() + seq.getLength() - 1) - 1; Iterator visibleColumns = viewport.getViewAsVisibleContigs(true); StringBuilder visibleSeq = new StringBuilder(seqEndCol - seqStartCol); List fromRanges = new ArrayList<>(); @@ -291,7 +296,7 @@ public class Finder implements FinderI * so add the range to the mapping being constructed */ int seqResFrom = seq.findPosition(range[0]); - int seqResTo = seq.findPosition(range[1]); + int seqResTo = seqResFrom + ungapped.length() - 1; fromRanges.add(new int[] { seqResFrom, seqResTo }); } }