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-2759 Rename findColumnPosition and adjustForHiddenColumns (yay!)
[jalview.git]
/
src
/
jalview
/
viewmodel
/
AlignmentViewport.java
diff --git
a/src/jalview/viewmodel/AlignmentViewport.java
b/src/jalview/viewmodel/AlignmentViewport.java
index
9a08a2b
..
946c8e6
100644
(file)
--- a/
src/jalview/viewmodel/AlignmentViewport.java
+++ b/
src/jalview/viewmodel/AlignmentViewport.java
@@
-22,6
+22,7
@@
package jalview.viewmodel;
import jalview.analysis.AnnotationSorter.SequenceAnnotationOrder;
import jalview.analysis.Conservation;
import jalview.analysis.AnnotationSorter.SequenceAnnotationOrder;
import jalview.analysis.Conservation;
+import jalview.analysis.TreeModel;
import jalview.api.AlignCalcManagerI;
import jalview.api.AlignViewportI;
import jalview.api.AlignmentViewPanel;
import jalview.api.AlignCalcManagerI;
import jalview.api.AlignViewportI;
import jalview.api.AlignmentViewPanel;
@@
-33,7
+34,6
@@
import jalview.datamodel.AlignmentAnnotation;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.AlignmentView;
import jalview.datamodel.Annotation;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.AlignmentView;
import jalview.datamodel.Annotation;
-import jalview.datamodel.CigarArray;
import jalview.datamodel.ColumnSelection;
import jalview.datamodel.HiddenColumns;
import jalview.datamodel.HiddenSequences;
import jalview.datamodel.ColumnSelection;
import jalview.datamodel.HiddenColumns;
import jalview.datamodel.HiddenSequences;
@@
-77,10
+77,10
@@
import java.util.Map;
* @author jimp
*
*/
* @author jimp
*
*/
-public abstract class AlignmentViewport implements AlignViewportI,
- CommandListener, VamsasSource
+public abstract class AlignmentViewport
+ implements AlignViewportI, CommandListener, VamsasSource
{
{
- final protected ViewportRanges ranges;
+ protected ViewportRanges ranges;
protected ViewStyleI viewStyle = new ViewStyle();
protected ViewStyleI viewStyle = new ViewStyle();
@@
-405,6
+405,7
@@
public abstract class AlignmentViewport implements AlignViewportI,
public void setWrapAlignment(boolean state)
{
viewStyle.setWrapAlignment(state);
public void setWrapAlignment(boolean state)
{
viewStyle.setWrapAlignment(state);
+ ranges.setWrappedMode(state);
}
/**
}
/**
@@
-567,8
+568,6
@@
public abstract class AlignmentViewport implements AlignViewportI,
viewStyle.setSeqNameItalics(default1);
}
viewStyle.setSeqNameItalics(default1);
}
-
-
@Override
public AlignmentI getAlignment()
{
@Override
public AlignmentI getAlignment()
{
@@
-642,6
+641,11
@@
public abstract class AlignmentViewport implements AlignViewportI,
{
residueShading.setConservation(hconservation);
}
{
residueShading.setConservation(hconservation);
}
+ /*
+ * reset conservation flag in case just set to false if
+ * Conservation was null (calculation still in progress)
+ */
+ residueShading.setConservationApplied(getConservationSelected());
residueShading.alignmentChanged(alignment, hiddenRepSequences);
}
residueShading.alignmentChanged(alignment, hiddenRepSequences);
}
@@
-660,8
+664,8
@@
public abstract class AlignmentViewport implements AlignViewportI,
sg.setColourScheme(cs);
if (cs != null)
{
sg.setColourScheme(cs);
if (cs != null)
{
- sg.getGroupColourScheme()
- .alignmentChanged(sg, hiddenRepSequences);
+ sg.getGroupColourScheme().alignmentChanged(sg,
+ hiddenRepSequences);
}
}
}
}
}
}
@@
-670,8
+674,7
@@
public abstract class AlignmentViewport implements AlignViewportI,
@Override
public ColourSchemeI getGlobalColourScheme()
{
@Override
public ColourSchemeI getGlobalColourScheme()
{
- return residueShading == null ? null : residueShading
- .getColourScheme();
+ return residueShading == null ? null : residueShading.getColourScheme();
}
@Override
}
@Override
@@
-819,11
+822,11
@@
public abstract class AlignmentViewport implements AlignViewportI,
{
return;
}
{
return;
}
- if (calculator
- .getRegisteredWorkersOfClass(jalview.workers.ConservationThread.class) == null)
+ if (calculator.getRegisteredWorkersOfClass(
+ jalview.workers.ConservationThread.class) == null)
{
{
- calculator.registerWorker(new jalview.workers.ConservationThread(
- this, ap));
+ calculator.registerWorker(
+ new jalview.workers.ConservationThread(this, ap));
}
}
}
}
@@
-837,7
+840,8
@@
public abstract class AlignmentViewport implements AlignViewportI,
{
return;
}
{
return;
}
- if (calculator.getRegisteredWorkersOfClass(ConsensusThread.class) == null)
+ if (calculator
+ .getRegisteredWorkersOfClass(ConsensusThread.class) == null)
{
calculator.registerWorker(new ConsensusThread(this, ap));
}
{
calculator.registerWorker(new ConsensusThread(this, ap));
}
@@
-868,8
+872,8
@@
public abstract class AlignmentViewport implements AlignViewportI,
}
if (doConsensus)
{
}
if (doConsensus)
{
- if (calculator
- .getRegisteredWorkersOfClass(ComplementConsensusThread.class) == null)
+ if (calculator.getRegisteredWorkersOfClass(
+ ComplementConsensusThread.class) == null)
{
calculator
.registerWorker(new ComplementConsensusThread(this, ap));
{
calculator
.registerWorker(new ComplementConsensusThread(this, ap));
@@
-893,7
+897,8
@@
public abstract class AlignmentViewport implements AlignViewportI,
{
return;
}
{
return;
}
- if (calculator.getRegisteredWorkersOfClass(StrucConsensusThread.class) == null)
+ if (calculator.getRegisteredWorkersOfClass(
+ StrucConsensusThread.class) == null)
{
calculator.registerWorker(new StrucConsensusThread(this, ap));
}
{
calculator.registerWorker(new StrucConsensusThread(this, ap));
}
@@
-943,11
+948,15
@@
public abstract class AlignmentViewport implements AlignViewportI,
groupConsensus = null;
groupConservation = null;
hconsensus = null;
groupConsensus = null;
groupConservation = null;
hconsensus = null;
+ hconservation = null;
hcomplementConsensus = null;
hcomplementConsensus = null;
- // colour scheme may hold reference to consensus
- residueShading = null;
- // TODO remove listeners from changeSupport?
+ gapcounts = null;
+ calculator = null;
+ residueShading = null; // may hold a reference to Consensus
changeSupport = null;
changeSupport = null;
+ ranges = null;
+ currentTree = null;
+ selectionGroup = null;
setAlignment(null);
}
setAlignment(null);
}
@@
-1182,8
+1191,8
@@
public abstract class AlignmentViewport implements AlignViewportI,
{
if (sequenceSetID != null)
{
{
if (sequenceSetID != null)
{
- System.err
- .println("Warning - overwriting a sequenceSetId for a viewport!");
+ System.err.println(
+ "Warning - overwriting a sequenceSetId for a viewport!");
}
sequenceSetID = new String(newid);
}
}
sequenceSetID = new String(newid);
}
@@
-1329,7
+1338,10
@@
public abstract class AlignmentViewport implements AlignViewportI,
public void removePropertyChangeListener(
java.beans.PropertyChangeListener listener)
{
public void removePropertyChangeListener(
java.beans.PropertyChangeListener listener)
{
- changeSupport.removePropertyChangeListener(listener);
+ if (changeSupport != null)
+ {
+ changeSupport.removePropertyChangeListener(listener);
+ }
}
/**
}
/**
@@
-1390,6
+1402,9
@@
public abstract class AlignmentViewport implements AlignViewportI,
// common hide/show seq stuff
public void showAllHiddenSeqs()
{
// common hide/show seq stuff
public void showAllHiddenSeqs()
{
+ int startSeq = ranges.getStartSeq();
+ int endSeq = ranges.getEndSeq();
+
if (alignment.getHiddenSequences().getSize() > 0)
{
if (selectionGroup == null)
if (alignment.getHiddenSequences().getSize() > 0)
{
if (selectionGroup == null)
@@
-1397,8
+1412,8
@@
public abstract class AlignmentViewport implements AlignViewportI,
selectionGroup = new SequenceGroup();
selectionGroup.setEndRes(alignment.getWidth() - 1);
}
selectionGroup = new SequenceGroup();
selectionGroup.setEndRes(alignment.getWidth() - 1);
}
- List<SequenceI> tmp = alignment.getHiddenSequences().showAll(
- hiddenRepSequences);
+ List<SequenceI> tmp = alignment.getHiddenSequences()
+ .showAll(hiddenRepSequences);
for (SequenceI seq : tmp)
{
selectionGroup.addSequence(seq, false);
for (SequenceI seq : tmp)
{
selectionGroup.addSequence(seq, false);
@@
-1407,6
+1422,8
@@
public abstract class AlignmentViewport implements AlignViewportI,
hiddenRepSequences = null;
hiddenRepSequences = null;
+ ranges.setStartEndSeq(startSeq, endSeq + tmp.size());
+
firePropertyChange("alignment", null, alignment.getSequences());
// used to set hasHiddenRows/hiddenRepSequences here, after the property
// changed event
firePropertyChange("alignment", null, alignment.getSequences());
// used to set hasHiddenRows/hiddenRepSequences here, after the property
// changed event
@@
-1416,8
+1433,11
@@
public abstract class AlignmentViewport implements AlignViewportI,
public void showSequence(int index)
{
public void showSequence(int index)
{
- List<SequenceI> tmp = alignment.getHiddenSequences().showSequence(
- index, hiddenRepSequences);
+ int startSeq = ranges.getStartSeq();
+ int endSeq = ranges.getEndSeq();
+
+ List<SequenceI> tmp = alignment.getHiddenSequences().showSequence(index,
+ hiddenRepSequences);
if (tmp.size() > 0)
{
if (selectionGroup == null)
if (tmp.size() > 0)
{
if (selectionGroup == null)
@@
-1431,6
+1451,9
@@
public abstract class AlignmentViewport implements AlignViewportI,
selectionGroup.addSequence(seq, false);
setSequenceAnnotationsVisible(seq, true);
}
selectionGroup.addSequence(seq, false);
setSequenceAnnotationsVisible(seq, true);
}
+
+ ranges.setStartEndSeq(startSeq, endSeq + tmp.size());
+
firePropertyChange("alignment", null, alignment.getSequences());
sendSelection();
}
firePropertyChange("alignment", null, alignment.getSequences());
sendSelection();
}
@@
-1452,6
+1475,11
@@
public abstract class AlignmentViewport implements AlignViewportI,
public void hideSequence(SequenceI[] seq)
{
public void hideSequence(SequenceI[] seq)
{
+ /*
+ * cache offset to first visible sequence
+ */
+ int startSeq = ranges.getStartSeq();
+
if (seq != null)
{
for (int i = 0; i < seq.length; i++)
if (seq != null)
{
for (int i = 0; i < seq.length; i++)
@@
-1459,6
+1487,7
@@
public abstract class AlignmentViewport implements AlignViewportI,
alignment.getHiddenSequences().hideSequence(seq[i]);
setSequenceAnnotationsVisible(seq[i], false);
}
alignment.getHiddenSequences().hideSequence(seq[i]);
setSequenceAnnotationsVisible(seq[i], false);
}
+ ranges.setStartSeq(startSeq);
firePropertyChange("alignment", null, alignment.getSequences());
}
}
firePropertyChange("alignment", null, alignment.getSequences());
}
}
@@
-1488,8
+1517,8
@@
public abstract class AlignmentViewport implements AlignViewportI,
}
int gsize = selectionGroup.getSize();
}
int gsize = selectionGroup.getSize();
- SequenceI[] hseqs = selectionGroup.getSequences().toArray(
- new SequenceI[gsize]);
+ SequenceI[] hseqs = selectionGroup.getSequences()
+ .toArray(new SequenceI[gsize]);
hideSequence(hseqs);
setSelectionGroup(null);
hideSequence(hseqs);
setSelectionGroup(null);
@@
-1579,8
+1608,8
@@
public abstract class AlignmentViewport implements AlignViewportI,
*/
public boolean isHiddenRepSequence(SequenceI seq)
{
*/
public boolean isHiddenRepSequence(SequenceI seq)
{
- return (hiddenRepSequences != null && hiddenRepSequences
- .containsKey(seq));
+ return (hiddenRepSequences != null
+ && hiddenRepSequences.containsKey(seq));
}
/**
}
/**
@@
-1598,8
+1627,8
@@
public abstract class AlignmentViewport implements AlignViewportI,
@Override
public int adjustForHiddenSeqs(int alignmentIndex)
{
@Override
public int adjustForHiddenSeqs(int alignmentIndex)
{
- return alignment.getHiddenSequences().adjustForHiddenSeqs(
- alignmentIndex);
+ return alignment.getHiddenSequences()
+ .adjustForHiddenSeqs(alignmentIndex);
}
@Override
}
@Override
@@
-1651,13
+1680,6
@@
public abstract class AlignmentViewport implements AlignViewportI,
}
@Override
}
@Override
- public CigarArray getViewAsCigars(boolean selectedRegionOnly)
- {
- return new CigarArray(alignment, alignment.getHiddenColumns(),
- (selectedRegionOnly ? selectionGroup : null));
- }
-
- @Override
public jalview.datamodel.AlignmentView getAlignmentView(
boolean selectedOnly)
{
public jalview.datamodel.AlignmentView getAlignmentView(
boolean selectedOnly)
{
@@
-1669,10
+1691,10
@@
public abstract class AlignmentViewport implements AlignViewportI,
boolean selectedOnly, boolean markGroups)
{
return new AlignmentView(alignment, alignment.getHiddenColumns(),
boolean selectedOnly, boolean markGroups)
{
return new AlignmentView(alignment, alignment.getHiddenColumns(),
- selectionGroup, alignment.getHiddenColumns() != null
+ selectionGroup,
+ alignment.getHiddenColumns() != null
&& alignment.getHiddenColumns().hasHiddenColumns(),
&& alignment.getHiddenColumns().hasHiddenColumns(),
- selectedOnly,
- markGroups);
+ selectedOnly, markGroups);
}
@Override
}
@Override
@@
-1718,8
+1740,8
@@
public abstract class AlignmentViewport implements AlignViewportI,
if (alignment.getHiddenColumns() != null
&& alignment.getHiddenColumns().hasHiddenColumns())
{
if (alignment.getHiddenColumns() != null
&& alignment.getHiddenColumns().hasHiddenColumns())
{
- selection = alignment.getHiddenColumns().getVisibleSequenceStrings(
- start, end, seqs);
+ selection = alignment.getHiddenColumns()
+ .getVisibleSequenceStrings(start, end, seqs);
}
else
{
}
else
{
@@
-1746,7
+1768,7
@@
public abstract class AlignmentViewport implements AlignViewportI,
{
if (start == 0)
{
{
if (start == 0)
{
- start = hidden.adjustForHiddenColumns(start);
+ start = hidden.visibleToAbsoluteColumn(start);
}
end = hidden.getHiddenBoundaryRight(start);
}
end = hidden.getHiddenBoundaryRight(start);
@@
-1764,7
+1786,7
@@
public abstract class AlignmentViewport implements AlignViewportI,
if (hidden != null && hidden.hasHiddenColumns())
{
if (hidden != null && hidden.hasHiddenColumns())
{
- start = hidden.adjustForHiddenColumns(end);
+ start = hidden.visibleToAbsoluteColumn(end);
start = hidden.getHiddenBoundaryLeft(start) + 1;
}
} while (end < max);
start = hidden.getHiddenBoundaryLeft(start) + 1;
}
} while (end < max);
@@
-1788,8
+1810,8
@@
public abstract class AlignmentViewport implements AlignViewportI,
if (selectedOnly && selectionGroup != null)
{
alignment.getHiddenColumns().makeVisibleAnnotation(
if (selectedOnly && selectionGroup != null)
{
alignment.getHiddenColumns().makeVisibleAnnotation(
- selectionGroup.getStartRes(),
- selectionGroup.getEndRes(), clone);
+ selectionGroup.getStartRes(), selectionGroup.getEndRes(),
+ clone);
}
else
{
}
else
{
@@
-1978,8
+2000,8
@@
public abstract class AlignmentViewport implements AlignViewportI,
{
gapcounts = new AlignmentAnnotation("Occupancy",
MessageManager.getString("label.occupancy_descr"),
{
gapcounts = new AlignmentAnnotation("Occupancy",
MessageManager.getString("label.occupancy_descr"),
- new Annotation[1], 0f,
- alignment.getHeight(), AlignmentAnnotation.BAR_GRAPH);
+ new Annotation[1], 0f, alignment.getHeight(),
+ AlignmentAnnotation.BAR_GRAPH);
gapcounts.hasText = true;
gapcounts.autoCalculated = true;
gapcounts.scaleColLabel = true;
gapcounts.hasText = true;
gapcounts.autoCalculated = true;
gapcounts.scaleColLabel = true;
@@
-1997,8
+2019,8
@@
public abstract class AlignmentViewport implements AlignViewportI,
{
conservation = new AlignmentAnnotation("Conservation",
MessageManager.formatMessage("label.conservation_descr",
{
conservation = new AlignmentAnnotation("Conservation",
MessageManager.formatMessage("label.conservation_descr",
- getConsPercGaps()), new Annotation[1],
- 0f, 11f, AlignmentAnnotation.BAR_GRAPH);
+ getConsPercGaps()),
+ new Annotation[1], 0f, 11f, AlignmentAnnotation.BAR_GRAPH);
conservation.hasText = true;
conservation.autoCalculated = true;
alignment.addAnnotation(conservation);
conservation.hasText = true;
conservation.autoCalculated = true;
alignment.addAnnotation(conservation);
@@
-2478,8
+2500,8
@@
public abstract class AlignmentViewport implements AlignViewportI,
viewStyle = new ViewStyle(settingsForView);
if (residueShading != null)
{
viewStyle = new ViewStyle(settingsForView);
if (residueShading != null)
{
- residueShading.setConservationApplied(settingsForView
- .isConservationColourSelected());
+ residueShading.setConservationApplied(
+ settingsForView.isConservationColourSelected());
}
}
}
}
@@
-2647,7
+2669,8
@@
public abstract class AlignmentViewport implements AlignViewportI,
return sortAnnotationsBy;
}
return sortAnnotationsBy;
}
- public void setSortAnnotationsBy(SequenceAnnotationOrder sortAnnotationsBy)
+ public void setSortAnnotationsBy(
+ SequenceAnnotationOrder sortAnnotationsBy)
{
this.sortAnnotationsBy = sortAnnotationsBy;
}
{
this.sortAnnotationsBy = sortAnnotationsBy;
}
@@
-2725,8
+2748,8
@@
public abstract class AlignmentViewport implements AlignViewportI,
return 0;
}
boolean iAmProtein = !getAlignment().isNucleotide();
return 0;
}
boolean iAmProtein = !getAlignment().isNucleotide();
- AlignmentI proteinAlignment = iAmProtein ? getAlignment() : complement
- .getAlignment();
+ AlignmentI proteinAlignment = iAmProtein ? getAlignment()
+ : complement.getAlignment();
if (proteinAlignment == null)
{
return 0;
if (proteinAlignment == null)
{
return 0;
@@
-2757,7
+2780,8
@@
public abstract class AlignmentViewport implements AlignViewportI,
*/
int lastSeq = alignment.getHeight() - 1;
List<AlignedCodonFrame> seqMappings = null;
*/
int lastSeq = alignment.getHeight() - 1;
List<AlignedCodonFrame> seqMappings = null;
- for (int seqNo = ranges.getStartSeq(); seqNo < lastSeq; seqNo++, seqOffset++)
+ for (int seqNo = ranges
+ .getStartSeq(); seqNo < lastSeq; seqNo++, seqOffset++)
{
sequence = getAlignment().getSequenceAt(seqNo);
if (hiddenSequences != null && hiddenSequences.isHidden(sequence))
{
sequence = getAlignment().getSequenceAt(seqNo);
if (hiddenSequences != null && hiddenSequences.isHidden(sequence))
@@
-2768,9
+2792,9
@@
public abstract class AlignmentViewport implements AlignViewportI,
{
continue;
}
{
continue;
}
- seqMappings = MappingUtils
- .findMappingsForSequenceAndOthers(sequence, mappings,
- getCodingComplement().getAlignment().getSequences());
+ seqMappings = MappingUtils.findMappingsForSequenceAndOthers(sequence,
+ mappings,
+ getCodingComplement().getAlignment().getSequences());
if (!seqMappings.isEmpty())
{
break;
if (!seqMappings.isEmpty())
{
break;
@@
-2853,6
+2877,8
@@
public abstract class AlignmentViewport implements AlignViewportI,
*/
private SearchResultsI searchResults = null;
*/
private SearchResultsI searchResults = null;
+ protected TreeModel currentTree = null;
+
@Override
public boolean hasSearchResults()
{
@Override
public boolean hasSearchResults()
{
@@
-2905,10
+2931,22
@@
public abstract class AlignmentViewport implements AlignViewportI,
}
}
}
}
}
}
-
+
SequenceI sq = new Sequence("Consensus", seqs.toString());
sq.setDescription("Percentage Identity Consensus "
+ ((ignoreGapsInConsensusCalculation) ? " without gaps" : ""));
return sq;
}
SequenceI sq = new Sequence("Consensus", seqs.toString());
sq.setDescription("Percentage Identity Consensus "
+ ((ignoreGapsInConsensusCalculation) ? " without gaps" : ""));
return sq;
}
+
+ @Override
+ public void setCurrentTree(TreeModel tree)
+ {
+ currentTree = tree;
+ }
+
+ @Override
+ public TreeModel getCurrentTree()
+ {
+ return currentTree;
+ }
}
}