X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FNewickFile.java;h=ec5d267bc70fde34932b668ed2faeed91ae69893;hb=9d2408483e451285fd555c3cd6e0273977acbaa7;hp=c41414539506df19b7125626df624d6f2d556f40;hpb=3d0101179759ef157b088ea135423cd909512d9f;p=jalview.git diff --git a/src/jalview/io/NewickFile.java b/src/jalview/io/NewickFile.java index c414145..ec5d267 100755 --- a/src/jalview/io/NewickFile.java +++ b/src/jalview/io/NewickFile.java @@ -26,6 +26,8 @@ // TODO: Extended SequenceNodeI to hold parsed NHX strings package jalview.io; +import java.util.Locale; + import jalview.datamodel.SequenceNode; import jalview.util.MessageManager; @@ -35,6 +37,8 @@ import java.io.FileReader; import java.io.IOException; import java.util.StringTokenizer; +import com.stevesoft.pat.Regex; + /** * Parse a new hanpshire style tree Caveats: NHX files are NOT supported and the * tree distances and topology are unreliable when they are parsed. TODO: on @@ -87,13 +91,13 @@ public class NewickFile extends FileParse boolean printRootInfo = true; - private com.stevesoft.pat.Regex[] NodeSafeName = new com.stevesoft.pat.Regex[] { - new com.stevesoft.pat.Regex().perlCode("m/[\\[,:'()]/"), // test for + private Regex[] NodeSafeName = new Regex[] { + new Regex().perlCode("m/[\\[,:'()]/"), // test for // requiring // quotes - new com.stevesoft.pat.Regex().perlCode("s/'/''/"), // escaping quote + new Regex().perlCode("s/'/''/"), // escaping quote // characters - new com.stevesoft.pat.Regex().perlCode("s/\\/w/_/") // unqoted whitespace + new Regex().perlCode("s/\\/w/_/") // unqoted whitespace // transformation }; @@ -292,7 +296,7 @@ public class NewickFile extends FileParse boolean ascending = false; // flag indicating that we are leaving the // current node - com.stevesoft.pat.Regex majorsyms = new com.stevesoft.pat.Regex( + Regex majorsyms = new Regex( "[(\\['),;]"); int nextcp = 0; @@ -314,8 +318,6 @@ public class NewickFile extends FileParse continue; } - - ; d++; if (c.right() == null) @@ -354,7 +356,7 @@ public class NewickFile extends FileParse // Deal with quoted fields case '\'': - com.stevesoft.pat.Regex qnodename = new com.stevesoft.pat.Regex( + Regex qnodename = new Regex( "'([^']|'')+'"); if (qnodename.searchFrom(nf, fcp)) @@ -363,7 +365,7 @@ public class NewickFile extends FileParse nodename = new String( qnodename.stringMatched().substring(1, nl - 1)); // unpack any escaped colons - com.stevesoft.pat.Regex xpandquotes = com.stevesoft.pat.Regex + Regex xpandquotes = Regex .perlCode("s/''/'/"); String widernodename = xpandquotes.replaceAll(nodename); nodename = widernodename; @@ -398,7 +400,7 @@ public class NewickFile extends FileParse * '"+nf.substring(cp,fcp)+"'"); } */ // verify termination. - com.stevesoft.pat.Regex comment = new com.stevesoft.pat.Regex( + Regex comment = new Regex( "]"); if (comment.searchFrom(nf, fcp)) { @@ -415,8 +417,6 @@ public class NewickFile extends FileParse Error = ErrorStringrange(Error, "Unterminated comment", 3, fcp, nf); } - - ; } // Parse simpler field strings String fstring = nf.substring(ncp, fcp); @@ -432,11 +432,11 @@ public class NewickFile extends FileParse + fstring.substring(cend + 1); } - com.stevesoft.pat.Regex uqnodename = new com.stevesoft.pat.Regex( + Regex uqnodename = new Regex( "\\b([^' :;\\](),]+)"); - com.stevesoft.pat.Regex nbootstrap = new com.stevesoft.pat.Regex( + Regex nbootstrap = new Regex( "\\s*([0-9+]+)\\s*:"); - com.stevesoft.pat.Regex ndist = new com.stevesoft.pat.Regex( + Regex ndist = new Regex( ":([-0-9Ee.+]+)"); if (!parsednodename && uqnodename.search(fstring) @@ -477,7 +477,7 @@ public class NewickFile extends FileParse { try { - bootstrap = (new Integer(nbootstrap.stringMatched(1))) + bootstrap = (Integer.valueOf(nbootstrap.stringMatched(1))) .intValue(); HasBootstrap = true; } catch (Exception e) @@ -494,7 +494,7 @@ public class NewickFile extends FileParse { try { - distance = (new Float(ndist.stringMatched(1))).floatValue(); + distance = (Float.valueOf(ndist.stringMatched(1))).floatValue(); HasDistances = true; nodehasdistance = true; } catch (Exception e) @@ -658,10 +658,10 @@ public class NewickFile extends FileParse try { // parse out code/value pairs - if (code.toLowerCase().equals("b")) + if (code.toLowerCase(Locale.ROOT).equals("b")) { int v = -1; - Float iv = new Float(value); + Float iv = Float.valueOf(value); v = iv.intValue(); // jalview only does integer bootstraps // currently c.setBootstrap(v); @@ -940,7 +940,11 @@ public class NewickFile extends FileParse } } - // Test + /** + * + * @param args + * @j2sIgnore + */ public static void main(String[] args) { try @@ -970,7 +974,7 @@ public class NewickFile extends FileParse trf.parse(); System.out.println("Original file :\n"); - com.stevesoft.pat.Regex nonl = new com.stevesoft.pat.Regex("\n+", ""); + Regex nonl = new Regex("\n+", ""); System.out.println(nonl.replaceAll(newickfile.toString()) + "\n"); System.out.println("Parsed file.\n");