/*
* 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.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, "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