X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fanalysis%2FAAFrequency.java;h=f8e83796892ef269f6880a87a00199c7b0be4666;hb=d8488297d82c4a5e2d87a589ce26e2b4c4258235;hp=ddf1bbb2dd98778e32fe126b0f7f70e8a3fbdc02;hpb=560dbfb36adac10ebd489bce8990ee0c23c90a37;p=jalview.git
diff --git a/src/jalview/analysis/AAFrequency.java b/src/jalview/analysis/AAFrequency.java
index ddf1bbb..f8e8379 100755
--- a/src/jalview/analysis/AAFrequency.java
+++ b/src/jalview/analysis/AAFrequency.java
@@ -20,10 +20,6 @@
*/
package jalview.analysis;
-import java.util.Arrays;
-import java.util.Hashtable;
-import java.util.List;
-
import jalview.datamodel.AlignedCodonFrame;
import jalview.datamodel.AlignmentAnnotation;
import jalview.datamodel.AlignmentI;
@@ -41,6 +37,11 @@ import jalview.util.Format;
import jalview.util.MappingUtils;
import jalview.util.QuickSort;
+import java.awt.Color;
+import java.util.Arrays;
+import java.util.Hashtable;
+import java.util.List;
+
/**
* Takes in a vector or array of sequences and column start and column end and
* returns a new Hashtable[] of size maxSeqLength, if Hashtable not supplied.
@@ -146,8 +147,8 @@ public class AAFrequency
{
if (sequences[row] == null)
{
- System.err
- .println("WARNING: Consensus skipping null sequence - possible race condition.");
+ System.err.println(
+ "WARNING: Consensus skipping null sequence - possible race condition.");
continue;
}
char[] seq = sequences[row].getSequence();
@@ -315,6 +316,7 @@ public class AAFrequency
// always set ranges again
gaprow.graphMax = nseq;
gaprow.graphMin = 0;
+ double scale = 0.8 / nseq;
for (int i = startCol; i < endCol; i++)
{
ProfileI profile = profiles.get(i);
@@ -330,11 +332,11 @@ public class AAFrequency
final int gapped = profile.getNonGapped();
- String description = "";
+ String description = "" + gapped;
- gaprow.annotations[i] = new Annotation(description, description,
- '\0',
- gapped);
+ gaprow.annotations[i] = new Annotation("", description, '\0', gapped,
+ jalview.util.ColorUtils.bleachColour(Color.DARK_GRAY,
+ (float) scale * gapped));
}
}
@@ -343,7 +345,8 @@ public class AAFrequency
*
* - the full profile (percentages of all residues present), if
* showSequenceLogo is true, or
- * - just the modal (most common) residue(s), if showSequenceLogo is false
+ * - just the modal (most common) residue(s), if showSequenceLogo is
+ * false
*
* Percentages are as a fraction of all sequence, or only ungapped sequences
* if ignoreGaps is true.
@@ -364,8 +367,8 @@ public class AAFrequency
String description = null;
if (counts != null && showSequenceLogo)
{
- int normaliseBy = ignoreGaps ? profile.getNonGapped() : profile
- .getHeight();
+ int normaliseBy = ignoreGaps ? profile.getNonGapped()
+ : profile.getHeight();
description = counts.getTooltip(normaliseBy, dp);
}
else
@@ -422,8 +425,8 @@ public class AAFrequency
QuickSort.sort(values, symbols);
int nextArrayPos = 2;
int totalPercentage = 0;
- final int divisor = ignoreGaps ? profile.getNonGapped() : profile
- .getHeight();
+ final int divisor = ignoreGaps ? profile.getNonGapped()
+ : profile.getHeight();
/*
* traverse the arrays in reverse order (highest counts first)
@@ -540,8 +543,8 @@ public class AAFrequency
{
continue;
}
- List codons = MappingUtils
- .findCodonsFor(seq, col, mappings);
+ List codons = MappingUtils.findCodonsFor(seq, col,
+ mappings);
for (char[] codon : codons)
{
int codonEncoded = CodingUtils.encodeCodon(codon);
@@ -621,10 +624,10 @@ public class AAFrequency
int modalCodonEncoded = codons[codons.length - 1];
int modalCodonCount = sortedCodonCounts[codons.length - 1];
- String modalCodon = String.valueOf(CodingUtils
- .decodeCodon(modalCodonEncoded));
- if (sortedCodonCounts.length > 1
- && sortedCodonCounts[codons.length - 2] == sortedCodonCounts[codons.length - 1])
+ String modalCodon = String
+ .valueOf(CodingUtils.decodeCodon(modalCodonEncoded));
+ if (sortedCodonCounts.length > 1 && sortedCodonCounts[codons.length
+ - 2] == sortedCodonCounts[codons.length - 1])
{
/*
* two or more codons share the modal count
@@ -683,8 +686,8 @@ public class AAFrequency
{
if (samePercent.length() > 0)
{
- mouseOver.append(samePercent).append(": ")
- .append(lastPercent).append("% ");
+ mouseOver.append(samePercent).append(": ").append(lastPercent)
+ .append("% ");
}
samePercent.setLength(0);
samePercent.append(codon);