X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FMSFfile.java;h=158feb9c03649918bb46e7a3316ce44dbf80adfa;hb=5a352aa2f3330ae269d9b70c4a7374c2518bfb2e;hp=ab510d5800128330eda412ada81f717faee8a1f0;hpb=063142d5fe1679310fd6509ad78ef94c5b345f11;p=jalview.git diff --git a/src/jalview/io/MSFfile.java b/src/jalview/io/MSFfile.java index ab510d5..158feb9 100755 --- a/src/jalview/io/MSFfile.java +++ b/src/jalview/io/MSFfile.java @@ -20,6 +20,8 @@ */ package jalview.io; +import java.util.Locale; + import jalview.datamodel.Sequence; import jalview.datamodel.SequenceI; import jalview.util.Comparison; @@ -58,7 +60,7 @@ public class MSFfile extends AlignFile * @throws IOException * DOCUMENT ME! */ - public MSFfile(String inFile, String type) throws IOException + public MSFfile(String inFile, DataSourceType type) throws IOException { super(inFile, type); } @@ -184,7 +186,7 @@ public class MSFfile extends AlignFile public int checkSum(String seq) { int check = 0; - String sequence = seq.toUpperCase(); + String sequence = seq.toUpperCase(Locale.ROOT); for (int i = 0; i < sequence.length(); i++) { @@ -216,7 +218,8 @@ public class MSFfile extends AlignFile * * @return DOCUMENT ME! */ - public String print(SequenceI[] sqs) + @Override + public String print(SequenceI[] sqs, boolean jvSuffix) { boolean is_NA = Comparison.isNucleotide(sqs); @@ -239,8 +242,7 @@ public class MSFfile extends AlignFile * modify to MSF format: uses '.' for internal gaps, * and '~' for leading or trailing gaps */ - String seqString = sqs[i].getSequenceAsString() - .replace('-', '.'); + String seqString = sqs[i].getSequenceAsString().replace('-', '.'); StringBuilder sb = new StringBuilder(seqString); @@ -278,10 +280,10 @@ public class MSFfile extends AlignFile i++; } - Format maxLenpad = new Format("%" + (new String("" + max)).length() - + "d"); - Format maxChkpad = new Format("%" + (new String("1" + max)).length() - + "d"); + Format maxLenpad = new Format( + "%" + (new String("" + max)).length() + "d"); + Format maxChkpad = new Format( + "%" + (new String("1" + max)).length() + "d"); i = 0; int bigChecksum = 0; @@ -294,7 +296,7 @@ public class MSFfile extends AlignFile } long maxNB = 0; - out.append(" MSF: " + s[0].getSequence().length + " Type: " + out.append(" MSF: " + s[0].getLength() + " Type: " + (is_NA ? "N" : "P") + " Check: " + (bigChecksum % 10000) + " .."); out.append(newline); @@ -308,11 +310,11 @@ public class MSFfile extends AlignFile while ((i < s.length) && (s[i] != null)) { - nameBlock[i] = new String(" Name: " + printId(s[i]) + " "); + nameBlock[i] = new String(" Name: " + printId(s[i], jvSuffix) + " "); - idBlock[i] = new String("Len: " - + maxLenpad.form(s[i].getSequence().length) + " Check: " - + maxChkpad.form(checksums[i]) + " Weight: 1.00" + newline); + idBlock[i] = new String("Len: " + maxLenpad.form(s[i].getLength()) + + " Check: " + maxChkpad.form(checksums[i]) + + " Weight: 1.00" + newline); if (s[i].getName().length() > maxid) { @@ -360,7 +362,7 @@ public class MSFfile extends AlignFile while ((j < s.length) && (s[j] != null)) { - String name = printId(s[j]); + String name = printId(s[j], jvSuffix); out.append(new Format("%-" + maxid + "s").form(name + " ")); @@ -369,8 +371,8 @@ public class MSFfile extends AlignFile int start = (i * 50) + (k * 10); int end = start + 10; - if ((end < s[j].getSequence().length) - && (start < s[j].getSequence().length)) + int length = s[j].getLength(); + if ((end < length) && (start < length)) { out.append(s[j].getSequence(start, end)); @@ -385,7 +387,7 @@ public class MSFfile extends AlignFile } else { - if (start < s[j].getSequence().length) + if (start < length) { out.append(s[j].getSequenceAsString().substring(start)); out.append(newline); @@ -408,15 +410,4 @@ public class MSFfile extends AlignFile return out.toString(); } - - /** - * DOCUMENT ME! - * - * @return DOCUMENT ME! - */ - @Override - public String print() - { - return print(getSeqsAsArray()); - } }