/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)
- * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
+ * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
*
* This file is part of Jalview.
*
import java.awt.*;
import jalview.analysis.*;
+import jalview.api.AlignViewportI;
import jalview.bin.*;
import jalview.datamodel.*;
import jalview.schemes.*;
import jalview.structure.SelectionSource;
import jalview.structure.VamsasSource;
-public class AlignViewport implements SelectionSource, VamsasSource
+public class AlignViewport implements AlignViewportI, SelectionSource, VamsasSource
{
int startRes;
String sequenceSetID;
Hashtable hiddenRepSequences;
+
+ public void finalize() {
+ applet=null;
+ quality=null;
+ alignment=null;
+ colSel=null;
+ }
public AlignViewport(AlignmentI al, JalviewLite applet)
{
if (applet != null)
{
- String param = applet.getParameter("showFullId");
- if (param != null)
- {
- showJVSuffix = Boolean.valueOf(param).booleanValue();
- }
+ showJVSuffix = applet.getDefaultParameter("showFullId", showJVSuffix);
- param = applet.getParameter("showAnnotation");
- if (param != null)
- {
- showAnnotation = Boolean.valueOf(param).booleanValue();
- }
-
- param = applet.getParameter("showConservation");
- if (param != null)
- {
- showConservation = Boolean.valueOf(param).booleanValue();
- }
-
- param = applet.getParameter("showQuality");
- if (param != null)
- {
- showQuality = Boolean.valueOf(param).booleanValue();
- }
+ showAnnotation = applet.getDefaultParameter("showAnnotation", showAnnotation);
+
+ showConservation = applet.getDefaultParameter("showConservation", showConservation);
+
+ showQuality = applet.getDefaultParameter("showQuality", showQuality);
- param = applet.getParameter("showConsensus");
- if (param != null)
- {
- showConsensus = Boolean.valueOf(param).booleanValue();
- }
+ showConsensus = applet.getDefaultParameter("showConsensus", showConsensus);
- param = applet.getParameter("showUnconserved");
- if (param != null)
- {
- this.showUnconserved = Boolean.valueOf(param).booleanValue();
- }
+ showUnconserved = applet.getDefaultParameter("showUnconserved", showUnconserved);
- param = applet.getParameter("upperCase");
+ String param = applet.getParameter("upperCase");
if (param != null)
{
if (param.equalsIgnoreCase("bold"))
upperCasebold = true;
}
}
- param = applet.getParameter("sortByTree");
- if (param != null)
- {
- sortByTree = Boolean.valueOf(param).booleanValue();
- }
- param = applet.getParameter("automaticScrolling");
- if (param!=null) {
- followHighlight = Boolean.valueOf(param).booleanValue();
- followSelection = followHighlight;
- }
- if ((param=applet.getParameter("showSequenceLogo"))!=null) {
- showSequenceLogo=Boolean.valueOf(param).booleanValue();
- }
- if ((param=applet.getParameter("showGroupConsensus"))!=null) {
- showGroupConsensus=Boolean.valueOf(param).booleanValue();
- }
- if ((param=applet.getParameter("showGroupConservation"))!=null) {
- showGroupConservation=Boolean.valueOf(param).booleanValue();
- }
- if ((param=applet.getParameter("showConsensusHistogram"))!=null) {
- showConsensusHistogram=Boolean.valueOf(param).booleanValue();
- }
+ sortByTree = applet.getDefaultParameter("sortByTree", sortByTree);
+
+ followHighlight = applet.getDefaultParameter("automaticScrolling",followHighlight);
+ followSelection = followHighlight;
+
+ showSequenceLogo = applet.getDefaultParameter("showSequenceLogo", showSequenceLogo);
+
+ normaliseSequenceLogo = applet.getDefaultParameter("normaliseSequenceLogo", normaliseSequenceLogo);
+
+ showGroupConsensus = applet.getDefaultParameter("showGroupConsensus", showGroupConsensus);
+
+ showGroupConservation = applet.getDefaultParameter("showGroupConservation", showGroupConservation);
+
+ showConsensusHistogram = applet.getDefaultParameter("showConsensusHistogram", showConsensusHistogram);
}
ConservationThread conservationThread;
ConsensusThread consensusThread;
+
+// StrucConsensusThread strucConsensusThread;
+
boolean consUpdateNeeded = false;
static boolean UPDATING_CONSENSUS = false;
+ static boolean UPDATING_STRUC_CONSENSUS = false;
+
static boolean UPDATING_CONSERVATION = false;
boolean updatingConsensus = false;
+ boolean updatingStrucConsensus = false;
+
boolean updatingConservation = false;
/**
}
}
- public boolean followHighlight = false;
+ public boolean followHighlight = true;
public boolean getFollowHighlight()
{
public void sendSelection()
{
jalview.structure.StructureSelectionManager
- .getStructureSelectionManager().sendSelection(
+ .getStructureSelectionManager(applet).sendSelection(
new SequenceGroup(getSelectionGroup()),
new ColumnSelection(getColumnSelection()), this);
}
* should consensus profile be rendered by default
*/
public boolean showSequenceLogo = false;
+ /**
+ * should consensus profile be rendered normalised to row height
+ */
+ public boolean normaliseSequenceLogo = false;
/**
* should consensus histograms be rendered by default
}
}
}
+
+ @Override
+ public boolean hasHiddenColumns()
+ {
+ return hasHiddenColumns;
+ }
+
+ public boolean isNormaliseSequenceLogo()
+ {
+ return normaliseSequenceLogo;
+ }
+
+ public void setNormaliseSequenceLogo(boolean state)
+ {
+ normaliseSequenceLogo = state;
+ }
+
+ public boolean isCalcInProgress()
+ {
+ // TODO generalise to iterate over all calculators associated with av
+ return updatingConsensus || updatingConservation || updatingStrucConsensus;
+ }
+
+ public boolean isCalculationInProgress(
+ AlignmentAnnotation alignmentAnnotation)
+ {
+ if (!alignmentAnnotation.autoCalculated)
+ return false;
+ if ((updatingConsensus && consensus==alignmentAnnotation)
+ || (updatingConservation && (conservation==alignmentAnnotation || quality==alignmentAnnotation))
+ // || (updatingStrucConsensus && strucConsensus==alignmentAnnotation)
+ )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ *
+ * @return true if alignment characters should be displayed
+ */
+ public boolean isValidCharWidth()
+ {
+ return validCharWidth;
+ }
+
+ @Override
+ public Hashtable[] getSequenceConsensusHash()
+ {
+ return hconsensus;
+ }
+
+ @Override
+ public Hashtable[] getRnaStructureConsensusHash()
+ {
+ return null; // TODO: JAL-891 port to jvlite : refactor and introduce hStrucConsensus;
+ }
}