- if (hideStart>hideEnd)
- break;
- /**
- * form operations...
- */
- if (last<hideStart)
- selection.addOperation(CigarArray.M, hideStart-last);
- selection.addOperation(CigarArray.D, 1+hideEnd-hideStart);
- last = hideEnd+1;
- }
- // Final match if necessary.
- if (last<end)
- selection.addOperation(CigarArray.M, end-last);
- } else {
- selection.addOperation(CigarArray.M, end-start);
- }
- return selection;
- }
- /**
- * return a compact representation of the current alignment selection to
- * pass to an analysis function
- * @param selectedOnly boolean true to just return the selected view
- * @return AlignmentView
- */
- jalview.datamodel.AlignmentView getAlignmentView(boolean selectedOnly) {
- // JBPNote:
- // this is here because the AlignmentView constructor modifies the CigarArray
- // object. Refactoring of Cigar and alignment view representation should
- // be done to remove redundancy.
- CigarArray aligview = getViewAsCigars(selectedOnly);
- if (aligview!=null)
- return new AlignmentView(aligview);
- return null;
- }
- /**
- * This method returns the visible alignment as text, as
- * seen on the GUI, ie if columns are hidden they will not
- * be returned in the result.
- * Use this for calculating trees, PCA, redundancy etc on views
- * which contain hidden columns.
- * @return String[]
- */
- public String [] getViewAsString(boolean selectedRegionOnly)
- {
- String [] selection = null;
- SequenceI [] seqs= null;
- int i, iSize;
- int start = 0, end = 0;
- if(selectedRegionOnly && selectionGroup!=null)
+ /*
+ * Populate a SearchResults object with the mapped location to scroll to. If
+ * there is no complement, or it is not following highlights, or no mapping
+ * is found, the result will be empty.
+ */
+ SearchResults sr = new SearchResults();
+ int seqOffset = findComplementScrollTarget(sr);
+ if (!sr.isEmpty())