package jalview.ws2.client.ebi;
+import java.io.BufferedReader;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
import java.io.StringReader;
import java.net.URI;
import java.util.List;
import jalview.bin.Console;
+import jalview.datamodel.Alignment;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.SequenceI;
import jalview.io.DataSourceType;
import jalview.io.FileFormat;
+import jalview.io.FileParse;
import jalview.io.FormatAdapter;
+import jalview.io.StockholmFile;
import jalview.ws.params.ArgumentI;
import jalview.ws.params.simple.BooleanOption;
import jalview.ws.params.simple.DoubleParameter;
public AlignmentI getAlignment(WebServiceJobHandle job) throws IOException
{
URI url = client.getResultURL(job.getJobId(), "sto");
- return new FormatAdapter().readFile(url.toString(), DataSourceType.URL, FileFormat.Stockholm);
+ try(InputStream stream = client.getResultStream(job.getJobId(), "sto"))
+ {
+ StockholmFile file = new StockholmFile(new FileParse(
+ new BufferedReader(new InputStreamReader(stream)),
+ url.toString(), DataSourceType.URL));
+ var aln = new Alignment(file.getSeqsAsArray());
+ for (var annotation : file.getAnnotations())
+ aln.addAnnotation(annotation);
+ return aln;
+ }
}
}