X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fdatamodel%2FSequenceGroup.java;h=1df45a2b2ce02af19d24f98b363cbbbcae28f42a;hb=fb27f86492eb06fc39b0578e1c31de8b4c26491a;hp=65dc13f9e9860703640f676f5328d13771ad1df1;hpb=45043731e74856fbf6f181e508b8d79316048ce2;p=jalview.git diff --git a/src/jalview/datamodel/SequenceGroup.java b/src/jalview/datamodel/SequenceGroup.java index 65dc13f..1df45a2 100755 --- a/src/jalview/datamodel/SequenceGroup.java +++ b/src/jalview/datamodel/SequenceGroup.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8) - * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1) + * Copyright (C) 2014 The Jalview Authors * * This file is part of Jalview. * @@ -14,6 +14,7 @@ * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.datamodel; @@ -469,12 +470,28 @@ public class SequenceGroup implements AnnotatedCollectionI } /** - * Max Gaps Threshold for performing a conservation calculation TODO: make - * this a configurable property - or global to an alignment view + * Max Gaps Threshold (percent) for performing a conservation calculation */ private int consPercGaps = 25; /** + * @return Max Gaps Threshold for performing a conservation calculation + */ + public int getConsPercGaps() + { + return consPercGaps; + } + + /** + * set Max Gaps Threshold (percent) for performing a conservation calculation + * @param consPercGaps + */ + public void setConsPercGaps(int consPercGaps) + { + this.consPercGaps = consPercGaps; + } + + /** * calculate residue conservation for group - but only if necessary. */ public void recalcConservation() @@ -483,22 +500,17 @@ public class SequenceGroup implements AnnotatedCollectionI { return; } - if (cs != null) - { - cs.alignmentChanged(this, null); - } try { Hashtable cnsns[] = AAFrequency.calculate(sequences, startRes, endRes + 1, showSequenceLogo); if (consensus != null) { - _updateConsensusRow(cnsns); + _updateConsensusRow(cnsns, sequences.size()); } if (cs != null) { cs.setConsensus(cnsns); - cs.alignmentChanged(this, null); } if ((conservation != null) @@ -518,10 +530,13 @@ public class SequenceGroup implements AnnotatedCollectionI if (cs.conservationApplied()) { cs.setConservation(c); - cs.alignmentChanged(this, null); } } } + if (cs != null) + { + cs.alignmentChanged(context!=null ? context : this, null); + } } catch (java.lang.OutOfMemoryError err) { // TODO: catch OOM @@ -552,7 +567,7 @@ public class SequenceGroup implements AnnotatedCollectionI public Hashtable[] consensusData = null; - private void _updateConsensusRow(Hashtable[] cnsns) + private void _updateConsensusRow(Hashtable[] cnsns, long nseq) { if (consensus == null) { @@ -569,7 +584,7 @@ public class SequenceGroup implements AnnotatedCollectionI consensus.annotations = new Annotation[aWidth]; // should be alignment width AAFrequency.completeConsensus(consensus, cnsns, startRes, endRes + 1, - ignoreGapsInConsensus, showSequenceLogo); // TODO: setting container + ignoreGapsInConsensus, showSequenceLogo, nseq); // TODO: setting container // for // ignoreGapsInConsensusCalculation); } @@ -612,9 +627,9 @@ public class SequenceGroup implements AnnotatedCollectionI } /** - * DOCUMENT ME! * - * @return DOCUMENT ME! + * + * @return the first column selected by this group. Runs from 0<=i