X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fjws1%2FAnnotate3D.java;h=4165eaebee2a882514123259549ef78f789ac379;hb=c8d80485038ab96fb06bd0885c323803646d8e57;hp=9f5ad195167cd16659a5b2c24604cb0e642558f9;hpb=fb0704b01deb0caee842b5b3eefb86e24af97c96;p=jalview.git diff --git a/src/jalview/ws/jws1/Annotate3D.java b/src/jalview/ws/jws1/Annotate3D.java index 9f5ad19..4165eae 100644 --- a/src/jalview/ws/jws1/Annotate3D.java +++ b/src/jalview/ws/jws1/Annotate3D.java @@ -1,27 +1,31 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8) - * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * * Jalview is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. * * Jalview is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License along with Jalview. If not, see . + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.ws.jws1; -import jalview.datamodel.Alignment; import jalview.datamodel.AlignmentI; +import jalview.io.FileFormat; import jalview.io.FileParse; import jalview.io.FormatAdapter; import jalview.io.InputStreamParser; +import jalview.util.MessageManager; import java.io.BufferedReader; import java.io.FileReader; @@ -31,6 +35,7 @@ import java.io.Reader; import java.net.MalformedURLException; import java.net.URL; import java.net.URLEncoder; +import java.util.Iterator; public class Annotate3D { @@ -39,7 +44,7 @@ public class Annotate3D public Annotate3D() { - System.out.println("Annotate3D"); + jalview.bin.Console.outPrintln("Annotate3D"); // try { // Create a URL for the desired page // String id = "1HR2"; @@ -50,7 +55,7 @@ public class Annotate3D // OutputStream out1 = null; // out = new BufferedWriter(new OutputStreamWriter(out1, "temp.rnaml")); // while ((str = in.readLine()) != null) { - // System.out.println(str); + // jalview.bin.Console.outPrintln(str); // out.write(str); // } // in.close(); @@ -59,21 +64,72 @@ public class Annotate3D // } catch (IOException e) { // } } + + public AlignmentI getRNAMLFor(final FileParse source) throws IOException + { + try + { + StringBuffer sb = new StringBuffer(); + + Reader fpr = source.getReader(); + int p = 0; + char[] cbuff = new char[2048]; + while ((p = fpr.read(cbuff)) > 0) + { + for (int i = 0; i < p; i++) + { + sb.append(cbuff[i]); + } + } + Iterator r = jalview.ext.paradise.Annotate3D + .getRNAMLForPDBFileAsString(sb.toString()); + AlignmentI al = null; + while (r.hasNext()) + { + FileParse fp = new InputStreamParser(r.next(), + source.getDataName()); + AlignmentI nal = new FormatAdapter().readFromFile(fp, + FileFormat.Rnaml); + if (al == null) + { + al = nal; + } + else + { + al.append(nal); + } + } + return al; + } catch (Throwable x) + { + if (x instanceof IOException) + { + throw ((IOException) x); + } + else + { + throw new IOException(MessageManager.getString( + "exception.unexpected_handling_rnaml_translation_for_pdb"), + x); + } + } + } + public Annotate3D(String path) throws InterruptedException { - System.out.println("Annotate3D"); + jalview.bin.Console.outPrintln("Annotate3D"); try { // //URL url = new // URL("http://paradise-ibmc.u-strasbg.fr/webservices/annotate3d?data="+inFile); - // System.out.println("Step1"); + // jalview.bin.Console.outPrintln("Step1"); // FileReader r = new FileReader(inFile); // BufferedReader in = new BufferedReader(r); // StringBuffer content = new StringBuffer(); - // System.out.println("Step2"); + // jalview.bin.Console.outPrintln("Step2"); // while(in.readLine()!=null){ // content.append(in.readLine()); - // //System.out.println("Step3"+in.readLine()); + // //jalview.bin.Console.outPrintln("Step3"+in.readLine()); // } // // String data = URLEncoder.encode("data", "UTF-8") + "=" + @@ -89,21 +145,21 @@ public class Annotate3D // FileReader r = new FileReader(path); // BufferedReader in = new BufferedReader(r); // StringBuffer content = new StringBuffer(); - // System.out.println("Step1"); + // jalview.bin.Console.outPrintln("Step1"); // while(in.readLine()!=null){ // content.append(in.readLine()); // // } - // System.out.println("Step2"); + // jalview.bin.Console.outPrintln("Step2"); // String data = URLEncoder.encode("data", "UTF-8") + "=" + // URLEncoder.encode(content.toString(), "UTF-8"); - // System.out.println("Step2"); + // jalview.bin.Console.outPrintln("Step2"); // URL url = new // URL("http://paradise-ibmc.u-strasbg.fr/webservices/annotate3d?data="+data); // DataInputStream is = new DataInputStream(url.openStream()); // String str; // while ((str = is.readLine()) != null) { - // System.out.println(str); + // jalview.bin.Console.outPrintln(str); // //out.write(str); // } FileReader r = new FileReader(path); @@ -113,23 +169,23 @@ public class Annotate3D while ((str = in.readLine()) != null) { - // System.out.println(str); + // jalview.bin.Console.outPrintln(str); content = content + str; } - System.out.println("pdbfile=" + content.toString()); - System.out.println("capacité=" + content.length()); + jalview.bin.Console.outPrintln("pdbfile=" + content.toString()); + jalview.bin.Console.outPrintln("capacité=" + content.length()); String paramfile = URLEncoder.encode(content.toString(), "UTF-8"); - System.out.println("param=" + paramfile); + jalview.bin.Console.outPrintln("param=" + paramfile); URL url = new URL( "http://paradise-ibmc.u-strasbg.fr/webservices/annotate3d?data=" + content); - BufferedReader is = new BufferedReader(new InputStreamReader( - url.openStream())); + BufferedReader is = new BufferedReader( + new InputStreamReader(url.openStream())); String str4; while ((str4 = is.readLine()) != null) { - System.out.println(str4); + jalview.bin.Console.outPrintln(str4); // out.write(str); } in.close(); @@ -151,7 +207,7 @@ public class Annotate3D // BufferedReader in1 = new BufferedReader(is); // OutputStream out1 = null; - // System.out.println("Step3"); + // jalview.bin.Console.outPrintln("Step3"); // BufferedWriter out = new BufferedWriter(new OutputStreamWriter(out1, // "temp.rnaml")); // @@ -160,11 +216,11 @@ public class Annotate3D // return; - // System.out.println(data.length()); - // System.out.println("step2"); + // jalview.bin.Console.outPrintln(data.length()); + // jalview.bin.Console.outPrintln("step2"); // URL url = new // URL("http://paradise-ibmc.u-strasbg.fr/webservices/annotate3d?data="+data); - // System.out.println("step3"); + // jalview.bin.Console.outPrintln("step3"); // URLConnection conn = url.openConnection(); // conn.setDoOutput(true); // OutputStreamWriter writer = new @@ -181,7 +237,7 @@ public class Annotate3D // //String line; // while ((line = reader.readLine()) != null) { // answer.append(line); - // System.out.println(line); + // jalview.bin.Console.outPrintln(line); // } // writer.close(); // reader.close(); @@ -205,9 +261,9 @@ public class Annotate3D // out = new BufferedWriter(new FileWriter("temp.rnaml")); // while ((str = in.readLine()) != null) { - // System.out.println(str); + // jalview.bin.Console.outPrintln(str); // out.write(str); - // System.out.println(str); + // jalview.bin.Console.outPrintln(str); // in.close(); // out.close(); @@ -219,7 +275,7 @@ public class Annotate3D // public BufferedWriter getReader() // { - // System.out.println("The buffer"); + // jalview.bin.Console.outPrintln("The buffer"); // return out;