From 6f17b56f9b116a2843d61bb9d3363ddb3b616676 Mon Sep 17 00:00:00 2001 From: Renia Correya Date: Thu, 25 Jul 2024 10:24:30 +0100 Subject: [PATCH] JAL-4392 Secondary Structure Consensus save and load project --- resources/lang/Messages.properties | 6 +- src/jalview/api/ViewStyleI.java | 10 ++ src/jalview/datamodel/SequenceGroup.java | 17 +++ src/jalview/gui/AlignFrame.java | 10 ++ src/jalview/gui/PopupMenu.java | 4 +- src/jalview/gui/SeqPanel.java | 4 + src/jalview/gui/SliderPanel.java | 12 +- src/jalview/gui/TreeCanvas.java | 6 + src/jalview/jbgui/GAlignFrame.java | 4 +- src/jalview/project/Jalview2XML.java | 48 +++++- src/jalview/renderer/AnnotationRenderer.java | 9 +- src/jalview/viewmodel/AlignmentViewport.java | 21 +++ src/jalview/viewmodel/styles/ViewStyle.java | 24 +++ src/jalview/xml/binding/jalview/JalviewModel.java | 162 ++++++++++++++++++++- 14 files changed, 316 insertions(+), 21 deletions(-) diff --git a/resources/lang/Messages.properties b/resources/lang/Messages.properties index 9e71fb5..015a013 100644 --- a/resources/lang/Messages.properties +++ b/resources/lang/Messages.properties @@ -83,7 +83,7 @@ action.remove_redundancy = Remove Redundancy... action.pairwise_alignment = Pairwise Alignment action.user_defined = User Defined... action.by_conservation = By Conservation -action.by_consensus_secondary_structure = By Secondary Structure Consensus +action.by_secondary_structure_conservation = By Secondary Structure Conservation action.wrap = Wrap action.show_gaps = Show Gaps action.show_hidden_markers = Show Hidden Markers @@ -263,7 +263,7 @@ label.to_this_alignment = Add To This Alignment label.apply_colour_to_all_groups = Apply Colour To All Groups label.modify_identity_threshold = Modify Identity Threshold... label.modify_conservation_threshold = Modify Conservation Threshold... -label.modify_consensus_secondary_structure_threshold = Modify Secondary Structure Consensus Threshold... +label.modify_secondary_structure_conservation_threshold = Modify Secondary Structure Conservation Threshold... label.input_from_textbox = Input from textbox label.centre_column_labels = Centre column labels label.automatic_scrolling = Automatic Scrolling @@ -906,7 +906,7 @@ label.copied_sequences = Copied sequences label.cut_sequences = Cut Sequences label.conservation_colour_increment = Conservation Colour Increment ({0}) label.percentage_identity_threshold = Percentage Identity Threshold ({0}) -label.consensus_secondary_structure_threshold = Consensus Secondary Structure Threshold ({0}) +label.secondary_structure_conservation_threshold = Secondary Structure Conservation Threshold ({0}) label.error_unsupported_owwner_user_colour_scheme = Unsupported owner for User Colour scheme dialog label.save_alignment_to_file = Save Alignment to file label.save_features_to_file = Save Features to File diff --git a/src/jalview/api/ViewStyleI.java b/src/jalview/api/ViewStyleI.java index 1c7775e..8942477 100644 --- a/src/jalview/api/ViewStyleI.java +++ b/src/jalview/api/ViewStyleI.java @@ -287,4 +287,14 @@ public interface ViewStyleI void setSecondaryStructureSources(List secondaryStructureSources); List getSecondaryStructureSources(); + + int getConsensusSecondaryStructureThreshold(); + + /** + * + * @param val + * set the scalar for bleaching colourschemes according to degree of + * secondary structure conservation + */ + void setConsensusSecondaryStructureThreshold(int val); } diff --git a/src/jalview/datamodel/SequenceGroup.java b/src/jalview/datamodel/SequenceGroup.java index abadbac..38104e5 100755 --- a/src/jalview/datamodel/SequenceGroup.java +++ b/src/jalview/datamodel/SequenceGroup.java @@ -1247,6 +1247,23 @@ public class SequenceGroup implements AnnotatedCollectionI consensus = aan; } } + + public void setSSConsensusRow(AlignmentAnnotation aan) + { + + if (ssConsensus == null) + { + ssConsensus = new ArrayList(); + ssConsensus.add(aan); + } + else { + boolean annotExists = ssConsensus.stream() + .anyMatch(ssa -> ssa.label.equals(aan.label)); + if(!annotExists) { + ssConsensus.add(aan); + } + } + } /** * diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index 4da845d..de8d1a0 100644 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@ -953,6 +953,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, viewTextMenuItem.setSelected(av.getShowText()); showNonconservedMenuItem.setSelected(av.getShowUnconserved()); showGroupConsensus.setSelected(av.isShowGroupConsensus()); + showGroupSSConsensus.setSelected(av.isShowGroupSSConsensus()); showGroupConservation.setSelected(av.isShowGroupConservation()); showConsensusHistogram.setSelected(av.isShowConsensusHistogram()); showSequenceLogo.setSelected(av.isShowSequenceLogo()); @@ -5236,6 +5237,15 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, { SliderPanel.hideConservationSlider(); } + if (viewport.getByConsensusSecondaryStructureSelected()) + { + SliderPanel.setConsensusSecondaryStructureSlider(alignPanel, + viewport.getResidueShading(), alignPanel.getViewName()); + } + else + { + SliderPanel.hideConsensusSecondaryStructureSlider(); + } if (viewport.getAbovePIDThreshold()) { SliderPanel.setPIDSliderSource(alignPanel, diff --git a/src/jalview/gui/PopupMenu.java b/src/jalview/gui/PopupMenu.java index aa5121a..a47a0a1 100644 --- a/src/jalview/gui/PopupMenu.java +++ b/src/jalview/gui/PopupMenu.java @@ -1796,7 +1796,7 @@ public class PopupMenu extends JPopupMenu implements ColourChangeListener }); byConsensusSecondaryStructureMenuItem.setText( - MessageManager.getString("action.by_consensus_secondary_structure")); + MessageManager.getString("action.by_secondary_structure_conservation")); byConsensusSecondaryStructureMenuItem.addActionListener(new ActionListener() { @Override @@ -1826,7 +1826,7 @@ public class PopupMenu extends JPopupMenu implements ColourChangeListener }); modifyConsensusSecondaryStructureThreshold.setText(MessageManager - .getString("label.modify_consensus_secondary_structure_threshold")); + .getString("label.modify_secondary_structure_conservation_threshold")); modifyConsensusSecondaryStructureThreshold.addActionListener(new ActionListener() { @Override diff --git a/src/jalview/gui/SeqPanel.java b/src/jalview/gui/SeqPanel.java index 845004b..6f3fb2d 100644 --- a/src/jalview/gui/SeqPanel.java +++ b/src/jalview/gui/SeqPanel.java @@ -2487,6 +2487,10 @@ public class SeqPanel extends JPanel { SliderPanel.setPIDSliderSource(ap, groupColourScheme, name); } + if (stretchGroup.cs.isConsensusSecondaryStructureColouring()) + { + SliderPanel.setConsensusSecondaryStructureSlider(ap, groupColourScheme, name); + } } PaintRefresher.Refresh(this, av.getSequenceSetId()); // TODO: structure colours only need updating if stretchGroup used to or now diff --git a/src/jalview/gui/SliderPanel.java b/src/jalview/gui/SliderPanel.java index 62ac54f..5e1935d 100755 --- a/src/jalview/gui/SliderPanel.java +++ b/src/jalview/gui/SliderPanel.java @@ -287,7 +287,7 @@ public class SliderPanel extends GSliderPanel } consensusSecondaryStructureSlider.setTitle(MessageManager.formatMessage( - "label.consensus_secondary_structure_threshold", new String[] + "label.secondary_structure_conservation_threshold", new String[] { source == null ? BACKGROUND : source })); List groups = ap.av.getAlignment().getGroups(); @@ -482,15 +482,15 @@ public class SliderPanel extends GSliderPanel scheme.setConservationApplied(true); scheme.setConservationInc(percent); } - else if(forConsensusSecondaryStructure) - { - scheme.setConsensusSecondaryStructureColouring(true); - scheme.setConsensusSecondaryStructureThreshold(percent); - } else { scheme.setThreshold(percent, ap.av.isIgnoreGapsConsensus()); } + if(forConsensusSecondaryStructure) + { + scheme.setConsensusSecondaryStructureColouring(true); + scheme.setConsensusSecondaryStructureThreshold(percent); + } } /** diff --git a/src/jalview/gui/TreeCanvas.java b/src/jalview/gui/TreeCanvas.java index 9180d52..ba2417e 100755 --- a/src/jalview/gui/TreeCanvas.java +++ b/src/jalview/gui/TreeCanvas.java @@ -1312,6 +1312,12 @@ public class TreeCanvas extends JPanel implements MouseListener, Runnable, c.verdict(false, viewport.getConsPercGaps()); sg.cs.setConservation(c); } + if(viewport.getResidueShading().isConsensusSecondaryStructureColouring()) + { + sg.getGroupColourScheme().setConsensusSecondaryStructureThreshold( + viewport.getResidueShading().getThreshold()); + sg.getGroupColourScheme().setConsensusSecondaryStructureColouring(true); + } } // indicate that associated structure views will need an update viewport.setUpdateStructures(true); diff --git a/src/jalview/jbgui/GAlignFrame.java b/src/jalview/jbgui/GAlignFrame.java index de11724..d1d56ed 100755 --- a/src/jalview/jbgui/GAlignFrame.java +++ b/src/jalview/jbgui/GAlignFrame.java @@ -2147,7 +2147,7 @@ public class GAlignFrame extends JInternalFrame byConsensusSecondaryStructureMenuItem = new JCheckBoxMenuItem( - MessageManager.getString("action.by_consensus_secondary_structure")); + MessageManager.getString("action.by_secondary_structure_conservation")); byConsensusSecondaryStructureMenuItem.addActionListener(new ActionListener() { @Override @@ -2190,7 +2190,7 @@ public class GAlignFrame extends JInternalFrame }); modifyConsensusSecondaryStructureThreshold = new JMenuItem(MessageManager - .getString("label.modify_consensus_secondary_structure_threshold")); + .getString("label.modify_secondary_structure_conservation_threshold")); modifyConsensusSecondaryStructureThreshold.addActionListener(new ActionListener() { @Override diff --git a/src/jalview/project/Jalview2XML.java b/src/jalview/project/Jalview2XML.java index e620c1c..ed57fe7 100644 --- a/src/jalview/project/Jalview2XML.java +++ b/src/jalview/project/Jalview2XML.java @@ -1481,6 +1481,12 @@ public class Jalview2XML // group has references so set its ID field jGroup.setId(groupRefs.get(sg)); } + + List groupSecondaryStructureSources = sg.getSecondaryStructureSources(); + if(groupSecondaryStructureSources != null && groupSecondaryStructureSources.size()>0) { + jGroup.setSecondaryStructureSources(groupSecondaryStructureSources); + } + ColourSchemeI colourScheme = sg.getColourScheme(); if (colourScheme != null) { @@ -1517,8 +1523,16 @@ public class Jalview2XML } jGroup.setPidThreshold(groupColourScheme.getThreshold()); + + if(groupColourScheme.isConsensusSecondaryStructureColouring()) + { + jGroup.setConsensusSecondaryStructureColouring( + groupColourScheme.isConsensusSecondaryStructureColouring()); + jGroup.setConsensusSecondaryStructureThreshold( + groupColourScheme.getConsensusSecondaryStructureThreshold()); + } } - + jGroup.setOutlineColour(sg.getOutlineColour().getRGB()); jGroup.setDisplayBoxes(sg.getDisplayBoxes()); jGroup.setDisplayText(sg.getDisplayText()); @@ -1537,7 +1551,7 @@ public class Jalview2XML jGroup.getSeq().add(seqHash(seq)); } } - + // jms.setJGroup(groups); Object group; for (JGroup grp : groups) @@ -1637,10 +1651,18 @@ public class Jalview2XML } } view.setPidThreshold(vcs.getThreshold()); + + if(vcs.isConsensusSecondaryStructureColouring()) + { + view.setConsensusSecondaryStructureThreshold( + vcs.getConsensusSecondaryStructureThreshold()); + } } view.setConservationSelected(av.getConservationSelected()); view.setPidSelected(av.getAbovePIDThreshold()); + view.setByConsensusSecondaryStructureSelected( + av.getByConsensusSecondaryStructureSelected()); view.setCharHeight(av.getCharHeight()); view.setCharWidth(av.getCharWidth()); final Font font = av.getFont(); @@ -1669,6 +1691,7 @@ public class Jalview2XML view.setShowSequenceLogo(av.isShowSequenceLogo()); view.setNormaliseSequenceLogo(av.isNormaliseSequenceLogo()); view.setShowGroupConsensus(av.isShowGroupConsensus()); + view.setShowGroupSSConsensus(av.isShowGroupSSConsensus()); view.setShowGroupConservation(av.isShowGroupConservation()); view.setShowNPfeatureTooltip(av.isShowNPFeats()); view.setShowDbRefTooltip(av.isShowDBRefs()); @@ -4247,8 +4270,13 @@ public class Jalview2XML safeBoolean(jGroup.isColourText()), safeInt(jGroup.getStart()), safeInt(jGroup.getEnd())); sg.getGroupColourScheme().setThreshold(pidThreshold, true); + sg.getGroupColourScheme().setConsensusSecondaryStructureColouring( + safeBoolean(jGroup.isConsensusSecondaryStructureColouring())); sg.getGroupColourScheme() .setConservationInc(safeInt(jGroup.getConsThreshold())); + sg.getGroupColourScheme().setConsensusSecondaryStructureThreshold( + safeInt(jGroup.getConsensusSecondaryStructureThreshold())); + sg.setOutlineColour(new Color(safeInt(jGroup.getOutlineColour()))); sg.textColour = new Color(safeInt(jGroup.getTextCol1())); @@ -4260,6 +4288,7 @@ public class Jalview2XML sg.setshowSequenceLogo(jGroup.isShowSequenceLogo()); sg.setNormaliseSequenceLogo(jGroup.isNormaliseSequenceLogo()); sg.setIgnoreGapsConsensus(jGroup.isIgnoreGapsinConsensus()); + sg.setSecondaryStructureSources(jGroup.getSecondaryStructureSources()); if (jGroup.getConsThreshold() != null && jGroup.getConsThreshold().intValue() != 0) { @@ -4294,6 +4323,10 @@ public class Jalview2XML { sg.setConservationRow(jaa); } + if (jaa.label.startsWith("Secondary Structure Consensus")) + { + sg.setSSConsensusRow(jaa); + } } } } @@ -5217,6 +5250,10 @@ public class Jalview2XML viewport.setConservationSelected( safeBoolean(view.isConservationSelected())); viewport.setIncrement(safeInt(view.getConsThreshold())); + viewport.setByConsensusSecondaryStructureSelected( + safeBoolean(view.isByConsensusSecondaryStructureSelected())); + viewport.setConsensusSecondaryStructureThreshold( + safeInt(view.getConsensusSecondaryStructureThreshold())); viewport.setShowJVSuffix(safeBoolean(view.isShowFullId())); viewport.setRightAlignIds(safeBoolean(view.isRightAlignIds())); viewport.setFont( @@ -5316,6 +5353,12 @@ public class Jalview2XML viewport.getResidueShading() .setConservationInc(safeInt(view.getConsThreshold())); } + if (safeBoolean(view.isByConsensusSecondaryStructureSelected()) && cs != null) + { + viewport.getResidueShading() + .setConsensusSecondaryStructureThreshold( + safeInt(view.getConsensusSecondaryStructureThreshold())); + } af.changeColour(cs); viewport.setColourAppliesToAllGroups(true); @@ -5332,6 +5375,7 @@ public class Jalview2XML viewport.setShowDBRefs(safeBoolean(view.isShowDbRefTooltip())); viewport.setShowNPFeats(safeBoolean(view.isShowNPfeatureTooltip())); viewport.setShowGroupConsensus(view.isShowGroupConsensus()); + viewport.setShowGroupSSConsensus(view.isShowGroupSSConsensus()); viewport.setShowGroupConservation(view.isShowGroupConservation()); viewport.setShowComplementFeatures(view.isShowComplementFeatures()); viewport.setShowComplementFeaturesOnTop( diff --git a/src/jalview/renderer/AnnotationRenderer.java b/src/jalview/renderer/AnnotationRenderer.java index 3235624..7c9ecd7 100644 --- a/src/jalview/renderer/AnnotationRenderer.java +++ b/src/jalview/renderer/AnnotationRenderer.java @@ -571,14 +571,17 @@ public class AnnotationRenderer // TODO: generalise this to have render styles for consensus/profile // data if (row.groupRef != null && - (row == row.groupRef.getConsensus() || row.groupRef.getSSConsensus(null).contains(row))) + (row == row.groupRef.getConsensus() || + (row.groupRef.getSSConsensus(null) !=null && row.groupRef.getSSConsensus(null).contains(row)))) { renderHistogram = row.groupRef.isShowConsensusHistogram(); renderProfile = row.groupRef.isShowSequenceLogo(); normaliseProfile = row.groupRef.isNormaliseSequenceLogo(); } - else if (row == consensusAnnot || row == structConsensusAnnot - || row == complementConsensusAnnot || (ssConsensusAnnot!=null && ssConsensusAnnot.contains(row))) + else if (row == consensusAnnot + || row == structConsensusAnnot + || row == complementConsensusAnnot + || (ssConsensusAnnot!=null && ssConsensusAnnot.contains(row))) { renderHistogram = av_renderHistogram; renderProfile = av_renderProfile; diff --git a/src/jalview/viewmodel/AlignmentViewport.java b/src/jalview/viewmodel/AlignmentViewport.java index dc07645..0f9862d 100644 --- a/src/jalview/viewmodel/AlignmentViewport.java +++ b/src/jalview/viewmodel/AlignmentViewport.java @@ -278,7 +278,28 @@ public abstract class AlignmentViewport public int getIncrement() { return viewStyle.getIncrement(); + } + + /** + * @param inc + * @see jalview.api.ViewStyleI#setConsensusSecondaryStructureThreshold(int) + */ + @Override + public void setConsensusSecondaryStructureThreshold(int val) + { + viewStyle.setConsensusSecondaryStructureThreshold(val); } + + /** + * @return + * @see jalview.api.ViewStyleI#getConsensusSecondaryStructureThreshold() + */ + @Override + public int getConsensusSecondaryStructureThreshold() + { + return viewStyle.getConsensusSecondaryStructureThreshold(); + } + /** * @param b diff --git a/src/jalview/viewmodel/styles/ViewStyle.java b/src/jalview/viewmodel/styles/ViewStyle.java index c7c4086..502d0fc 100644 --- a/src/jalview/viewmodel/styles/ViewStyle.java +++ b/src/jalview/viewmodel/styles/ViewStyle.java @@ -75,6 +75,8 @@ public class ViewStyle implements ViewStyleI private boolean displayReferenceSeq = false; private int increment; + + private int consensusSecondaryStructureThreshold; /** * display gap characters @@ -192,6 +194,7 @@ public class ViewStyle implements ViewStyleI setColourByReferenceSeq(vs.isColourByReferenceSeq()); setColourText(vs.getColourText()); setByConsensusSecondaryStructureSelected(vs.getByConsensusSecondaryStructureSelected()); + setConsensusSecondaryStructureThreshold(vs.getConsensusSecondaryStructureThreshold()); setConservationColourSelected(vs.isConservationColourSelected()); setConservationSelected(vs.getConservationSelected()); setDisplayReferenceSeq(vs.isDisplayReferenceSeq()); @@ -265,6 +268,7 @@ public class ViewStyle implements ViewStyleI && getFontStyle() == vs.getFontStyle() && getIdWidth() == vs.getIdWidth() && getIncrement() == vs.getIncrement() + && getConsensusSecondaryStructureThreshold() == vs.getConsensusSecondaryStructureThreshold() && isRenderGaps() == vs.isRenderGaps() && isRightAlignIds() == vs.isRightAlignIds() && getScaleAboveWrapped() == vs.getScaleAboveWrapped() @@ -574,6 +578,13 @@ public class ViewStyle implements ViewStyleI { return threshold; } + + @Override + public int getConsensusSecondaryStructureThreshold() + { + return consensusSecondaryStructureThreshold; + } + /** * @return the thresholdTextColour @@ -793,6 +804,19 @@ public class ViewStyle implements ViewStyleI { increment = inc; } + + /** + * + * @param val + * set the scalar for bleaching colourschemes according to degree of + * secondary structure conservation + */ + @Override + public void setConsensusSecondaryStructureThreshold(int val) + { + consensusSecondaryStructureThreshold = val; + } + /** * DOCUMENT ME! diff --git a/src/jalview/xml/binding/jalview/JalviewModel.java b/src/jalview/xml/binding/jalview/JalviewModel.java index 18a2571..dda2352 100644 --- a/src/jalview/xml/binding/jalview/JalviewModel.java +++ b/src/jalview/xml/binding/jalview/JalviewModel.java @@ -946,7 +946,7 @@ public class JalviewModel protected Boolean colourByLabel; @XmlAttribute(name = "autoScale") - protected Boolean autoScale; + protected Boolean autoScale; /** * Gets the value of the attributeName property. @@ -1350,7 +1350,13 @@ public class JalviewModel protected Integer consThreshold; @XmlAttribute(name = "pidThreshold") - protected Integer pidThreshold; + protected Integer pidThreshold; + + @XmlAttribute(name = "consensusSecondaryStructureThreshold") + protected Integer consensusSecondaryStructureThreshold; + + @XmlAttribute(name = "consensusSecondaryStructureColouring") + private boolean consensusSecondaryStructureColouring; @XmlAttribute(name = "outlineColour") protected Integer outlineColour; @@ -1389,7 +1395,11 @@ public class JalviewModel protected Boolean normaliseSequenceLogo; @XmlAttribute(name = "id") - protected String id; + protected String id; + + @XmlAttribute(name = "secondaryStructureSources") + protected List secondaryStructureSources; + /** * Gets the value of the seq property. @@ -1577,6 +1587,54 @@ public class JalviewModel { this.pidThreshold = value; } + + /** + * Gets the value of the consensusSecondaryStructureThreshold property. + * + * @return possible object is {@link Integer } + * + */ + public Integer getConsensusSecondaryStructureThreshold() + { + return consensusSecondaryStructureThreshold; + } + + /** + * Sets the value of the consensusSecondaryStructureThreshold property. + * + * @param value + * allowed object is {@link Integer } + * + */ + public void setConsensusSecondaryStructureThreshold(Integer value) + { + this.consensusSecondaryStructureThreshold = value; + } + + /** + * Sets the value of the consensusSecondaryStructureColouring property. + * + * @param value + * allowed object is {@link boolean } + * + */ + public void setConsensusSecondaryStructureColouring(boolean value) + { + this.consensusSecondaryStructureColouring = value; + } + + + /** + * Sets the value of the consensusSecondaryStructureColouring property. + * + * @param value + * allowed object is {@link boolean } + * + */ + public boolean isConsensusSecondaryStructureColouring() + { + return consensusSecondaryStructureColouring; + } /** * Gets the value of the outlineColour property. @@ -1904,6 +1962,18 @@ public class JalviewModel { this.id = value; } + + + public List getSecondaryStructureSources() + { + return secondaryStructureSources; + } + + public void setSecondaryStructureSources( + List secondaryStructureSources) + { + this.secondaryStructureSources = secondaryStructureSources; + } } @@ -4947,6 +5017,9 @@ public class JalviewModel @XmlAttribute(name = "pidSelected") protected Boolean pidSelected; + + @XmlAttribute(name = "byConsensusSecondaryStructureSelected") + protected Boolean byConsensusSecondaryStructureSelected; @XmlAttribute(name = "bgColour") protected String bgColour; @@ -4957,6 +5030,9 @@ public class JalviewModel @XmlAttribute(name = "pidThreshold") protected Integer pidThreshold; + @XmlAttribute(name = "consensusSecondaryStructureThreshold") + protected Integer consensusSecondaryStructureThreshold; + @XmlAttribute(name = "title") protected String title; @@ -5010,6 +5086,9 @@ public class JalviewModel @XmlAttribute(name = "showGroupConsensus") protected Boolean showGroupConsensus; + + @XmlAttribute(name = "showGroupSSConsensus") + protected Boolean showGroupSSConsensus; @XmlAttribute(name = "showConsensusHistogram") protected Boolean showConsensusHistogram; @@ -5241,6 +5320,29 @@ public class JalviewModel { this.pidSelected = value; } + + /** + * Gets the value of the byConsensusSecondaryStructureSelected property. + * + * @return possible object is {@link Boolean } + * + */ + public Boolean isByConsensusSecondaryStructureSelected() + { + return byConsensusSecondaryStructureSelected; + } + + /** + * Sets the value of the byConsensusSecondaryStructureSelected property. + * + * @param value + * allowed object is {@link Boolean } + * + */ + public void setByConsensusSecondaryStructureSelected(Boolean value) + { + this.byConsensusSecondaryStructureSelected = value; + } /** * Gets the value of the bgColour property. @@ -5310,8 +5412,32 @@ public class JalviewModel { this.pidThreshold = value; } + + /** + * Gets the value of the consensusSecondaryStructureThreshold property. + * + * @return possible object is {@link Integer } + * + */ + public Integer getConsensusSecondaryStructureThreshold() + { + return consensusSecondaryStructureThreshold; + } /** + * Sets the value of the consensusSecondaryStructureThreshold property. + * + * @param value + * allowed object is {@link Integer } + * + */ + public void setConsensusSecondaryStructureThreshold(Integer value) + { + this.consensusSecondaryStructureThreshold = value; + } + + + /** * Gets the value of the title property. * * @return possible object is {@link String } @@ -5766,6 +5892,36 @@ public class JalviewModel { this.showGroupConsensus = value; } + + /** + * Gets the value of the showGroupSSConsensus property. + * + * @return possible object is {@link Boolean } + * + */ + public boolean isShowGroupSSConsensus() + { + if (showGroupSSConsensus == null) + { + return false; + } + else + { + return showGroupSSConsensus; + } + } + + /** + * Sets the value of the showGroupSSConsensus property. + * + * @param value + * allowed object is {@link Boolean } + * + */ + public void setShowGroupSSConsensus(Boolean value) + { + this.showGroupSSConsensus = value; + } /** * Gets the value of the showConsensusHistogram property. -- 1.7.10.2