JAL-3807 JPred can now successfully submit and track the job.
[jalview.git] / src / jalview / ws / slivkaws / SlivkaWSInstance.java
index 8456b55..8aa56fa 100644 (file)
@@ -1,17 +1,5 @@
 package jalview.ws.slivkaws;
 
-import jalview.datamodel.SequenceI;
-import jalview.gui.WebserviceInfo;
-import jalview.ws.api.JalviewServiceEndpointProviderI;
-import jalview.ws.api.JalviewWebServiceI;
-import jalview.ws.api.JobId;
-import jalview.ws.api.ServiceWithParameters;
-import jalview.ws.gui.WsJob;
-import jalview.ws.params.ArgumentI;
-import jalview.ws.params.ParamDatastoreI;
-import jalview.ws.params.ParamManager;
-import jalview.ws.params.WsParamSetI;
-
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.IOError;
@@ -24,6 +12,21 @@ import java.util.List;
 import java.util.Optional;
 import java.util.Set;
 
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.SequenceI;
+import jalview.gui.WebserviceInfo;
+import jalview.io.DataSourceType;
+import jalview.io.FileFormat;
+import jalview.io.FormatAdapter;
+import jalview.ws.api.JalviewServiceEndpointProviderI;
+import jalview.ws.api.JalviewWebServiceI;
+import jalview.ws.api.JobId;
+import jalview.ws.api.ServiceWithParameters;
+import jalview.ws.gui.WsJob;
+import jalview.ws.params.ArgumentI;
+import jalview.ws.params.ParamDatastoreI;
+import jalview.ws.params.ParamManager;
+import jalview.ws.params.WsParamSetI;
 import uk.ac.dundee.compbio.slivkaclient.FieldType;
 import uk.ac.dundee.compbio.slivkaclient.FormField;
 import uk.ac.dundee.compbio.slivkaclient.FormValidationException;
@@ -244,5 +247,19 @@ public abstract class SlivkaWSInstance extends ServiceWithParameters
     }
     return store;
   }
+  
+  public static AlignmentI readAlignment(RemoteFile f) throws IOException
+  {
+    final var mimetype = f.getMimeType();
+    FileFormat format;
+    if (mimetype == "application/clustal")
+      format = FileFormat.Clustal;
+    else if (mimetype == "application/fasta")
+      format = FileFormat.Fasta;
+    else
+      return null;
+    return new FormatAdapter().readFile(f.getURL().toString(),
+        DataSourceType.URL, format);
+  }
 
 }