return new RestClient(shmrService);
}
+ public static RestClient makeJPred4RestClient()
+ {
+ String action = "Secondary Structure Prediction", description = "JPred4 Secondary Structure prediction (Drozdetskiy et al 2015)", name = "JPred4 Consensus";
+ Hashtable<String, InputType> iparams = new Hashtable<String, InputType>();
+ jalview.ws.rest.params.JobConstant toolp;
+
+ jalview.ws.rest.params.Alignment aliinput = new jalview.ws.rest.params.Alignment();
+ aliinput.token = "file";
+ aliinput.writeAsFile = true;
+ aliinput.setAlignmentFormat("FASTA"); // probably not needed since FASTA is
+ // default
+ iparams.put(aliinput.token, aliinput);
+ aliinput.min = 2;
+ aliinput.max = 1000;
+ toolp = new JobConstant("mode", "msa");
+ iparams.put(toolp.token, toolp);
+
+ RestServiceDescription jpred4msa = new RestServiceDescription(
+ action,
+ description,
+ name,
+ "http://www.compbio.dundee.ac.uk/jpred4/cgi-bin/submit", "",
+ Arrays.asList(new String[]
+ // chklog?
+ { "http://www.compbio.dundee.ac.uk/jpred4/job/",
+ "http://www.compbio.dundee.ac.uk/jpred4/results/" }),
+ iparams, false, false, '-');
+ // a priori knowledge of the data returned from the service
+ jpred4msa.addResultDatatype(JvDataType.ANNOTATION);
+ return new RestClient(jpred4msa);
+ }
+
public AlignmentPanel recoverAlignPanelForView()
{
AlignmentPanel[] aps = Desktop
--- /dev/null
+/*
+ * 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 <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
+package jalview.ws.rest;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import jalview.gui.AlignFrame;
+
+import java.util.Map;
+
+import org.junit.Test;
+
+/**
+ * @author jimp
+ *
+ */
+public class Jpred4RSBSService
+{
+
+ @Test
+ public void testJPred4ServiceDefinition()
+ {
+
+ assertTrue(
+ "Test Rsd Exchange with JPred4",
+ TestRestServiceDescription.testRsdExchange("Test using JPred4",
+ RestClient.makeJPred4RestClient().service));
+ }
+
+ @Test
+ public void testJPred4ServiceDataprep() throws Exception
+ {
+ RestClient _rc = RestClient.makeJPred4RestClient();
+ assertNotNull(_rc);
+ AlignFrame alf = new jalview.io.FileLoader(false)
+ .LoadFileWaitTillLoaded("examples/testdata/smad.fa",
+ jalview.io.FormatAdapter.FILE);
+ assertNotNull("Couldn't find test data.", alf);
+
+ RestClient rc = new RestClient(_rc.service, alf, true);
+
+ assertNotNull("Couldn't creat RestClient job.", rc);
+ jalview.bin.Cache.initLogger();
+ RestJob rjb = new RestJob(0, new RestJobThread(rc),
+ rc.av.getAlignment(), null);
+ rjb.setAlignmentForInputs(rc.service.getInputParams().values(),
+ rc.av.getAlignment());
+ for (Map.Entry<String, InputType> e : rc.service.getInputParams()
+ .entrySet())
+ {
+ System.out.println("For Input '" + e.getKey() + ":\n"
+ + e.getValue().formatForInput(rjb).getContentLength());
+ }
+ }
+
+
+}