X-Git-Url: http://source.jalview.org/gitweb/?p=jalview.git;a=blobdiff_plain;f=src%2Fjalview%2Fio%2FNewickFile.java;fp=src%2Fjalview%2Fio%2FNewickFile.java;h=f3eaa45e2882fd08445dbbc85fbb8848bc46de6d;hp=2221f0090a29830112daf03331f4650e49dcac5c;hb=65740880573a48adc758bec3939ece9d9ae104dd;hpb=71aa78b8a7d54e5aeb6b278310dfd735efb77477 diff --git a/src/jalview/io/NewickFile.java b/src/jalview/io/NewickFile.java index 2221f00..f3eaa45 100755 --- a/src/jalview/io/NewickFile.java +++ b/src/jalview/io/NewickFile.java @@ -35,6 +35,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 +89,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 +294,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 +316,6 @@ public class NewickFile extends FileParse continue; } - - ; d++; if (c.right() == null) @@ -354,7 +354,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 +363,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 +398,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 +415,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 +430,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) @@ -940,7 +938,11 @@ public class NewickFile extends FileParse } } - // Test + /** + * + * @param args + * @j2sIgnore + */ public static void main(String[] args) { try @@ -970,7 +972,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");