From 14ffa72a74309f6d8e7a36d73c78bb4500fc32a2 Mon Sep 17 00:00:00 2001 From: Jim Procter Date: Tue, 3 Sep 2013 14:26:47 +0100 Subject: [PATCH] JAL-1373 tweak precision calculation so alignments of less than 100 sequences don't include any decimal points. --- src/jalview/analysis/AAFrequency.java | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/jalview/analysis/AAFrequency.java b/src/jalview/analysis/AAFrequency.java index b24fff0..df5ca8d 100755 --- a/src/jalview/analysis/AAFrequency.java +++ b/src/jalview/analysis/AAFrequency.java @@ -225,16 +225,22 @@ public class AAFrequency return; } String fmtstr="%3.1f"; - int precision=2; - while (nseq>100) { + int precision=0; + while (nseq>=10) { precision++; nseq/=10; } - if (precision>2) + final Format fmt; + if (precision>1) { - fmtstr = "%"+(2+precision)+"."+precision+"f"; + //if (precision>2) + { + fmtstr = "%"+(2+precision)+"."+(precision)+"f"; + } + fmt = new Format(fmtstr); + } else { + fmt = null; } - Format fmt = new Format(fmtstr); for (int i = iStart; i < width; i++) { Hashtable hci; @@ -280,7 +286,7 @@ public class AAFrequency tval = profile[0][alphabet[c]] * 100f / profile[1][ignoreGapsInConsensusCalculation ? 1 : 0]; mouseOver += ((c == 0) ? "" : "; ") + alphabet[c] + " " - + fmt.form(tval) + "%"; + + ((fmt!=null) ? fmt.form(tval) : ((int) tval)) + "%"; } } else @@ -303,7 +309,7 @@ public class AAFrequency * 100f / profile[1][ignoreGapsInConsensusCalculation ? 1 : 0]; mouseOver += ((p == 0) ? "" : "; ") + ((char[]) ca[c])[0] - + " " + fmt.form(tval) + "%"; + + " " + ((fmt!=null) ? fmt.form(tval) : ((int) tval)) + "%"; p++; } @@ -313,7 +319,7 @@ public class AAFrequency } else { - mouseOver += (fmt.form(value) + "%"); + mouseOver += ((fmt!=null) ? fmt.form(value) : ((int) value)) + "%"; } consensus.annotations[i] = new Annotation(maxRes, mouseOver, ' ', value); -- 1.7.10.2