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