/* * 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. * * 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 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; import java.io.IOException; import java.io.InputStreamReader; import java.io.Reader; import java.net.MalformedURLException; import java.net.URL; 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, 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"); 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