X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fjws1%2FAnnotate3D.java;h=f3516b70c29b18c658844da34c77757389d789d5;hb=17e77c3f2949a0729322b4a8d907f3f34b6a9914;hp=505e15f946967be11404b99461868ac8b04dc451;hpb=171ca8730ea146d50b2eb00701d8df986d88f519;p=jalview.git diff --git a/src/jalview/ws/jws1/Annotate3D.java b/src/jalview/ws/jws1/Annotate3D.java index 505e15f..f3516b7 100644 --- a/src/jalview/ws/jws1/Annotate3D.java +++ b/src/jalview/ws/jws1/Annotate3D.java @@ -1,206 +1,282 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9) + * Copyright (C) 2015 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. + * + * 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 . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ package jalview.ws.jws1; -import java.io.BufferedInputStream; +import jalview.datamodel.AlignmentI; +import jalview.io.FileParse; +import jalview.io.FormatAdapter; +import jalview.io.InputStreamParser; +import jalview.util.MessageManager; + import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.DataInputStream; -import java.io.File; -import java.io.FileOutputStream; import java.io.FileReader; -import java.io.FileWriter; import java.io.IOException; -import java.io.InputStream; import java.io.InputStreamReader; -import java.io.OutputStream; -import java.io.OutputStreamWriter; import java.io.Reader; -import java.io.StringWriter; -import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; -import java.net.URLConnection; - import java.net.URLEncoder; +import java.util.Iterator; + +public class Annotate3D +{ + // protected BufferedReader in; + // protected BufferedWriter out; + + public Annotate3D() + { + System.out.println("Annotate3D"); + // try { + // Create a URL for the desired page + // String id = "1HR2"; + // URL url = new + // URL("http://paradise-ibmc.u-strasbg.fr/webservices/annotate3d?pdbid="+id); + // in = new BufferedReader(new InputStreamReader(url.openStream())); + // String str; + // OutputStream out1 = null; + // out = new BufferedWriter(new OutputStreamWriter(out1, "temp.rnaml")); + // while ((str = in.readLine()) != null) { + // System.out.println(str); + // out.write(str); + // } + // in.close(); + // out.close(); + // } catch (MalformedURLException e) { + // } 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, "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"); + try + { + // //URL url = new + // URL("http://paradise-ibmc.u-strasbg.fr/webservices/annotate3d?data="+inFile); + // System.out.println("Step1"); + // FileReader r = new FileReader(inFile); + // BufferedReader in = new BufferedReader(r); + // StringBuffer content = new StringBuffer(); + // System.out.println("Step2"); + // while(in.readLine()!=null){ + // content.append(in.readLine()); + // //System.out.println("Step3"+in.readLine()); + // } + // + // String data = URLEncoder.encode("data", "UTF-8") + "=" + + // URLEncoder.encode(content.toString(), "UTF-8"); + // for (int i=0;i