From: Jim Procter Date: Tue, 3 Sep 2013 13:26:47 +0000 (+0100) Subject: JAL-1373 tweak precision calculation so alignments of less than 100 sequences don... X-Git-Tag: Jalview_2_9~200^2~23^2 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=14ffa72a74309f6d8e7a36d73c78bb4500fc32a2;p=jalview.git JAL-1373 tweak precision calculation so alignments of less than 100 sequences don't include any decimal points. --- 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);