+++ /dev/null
-package compbio.ws.client;\r
-\r
-import static org.testng.Assert.assertEquals;\r
-import static org.testng.Assert.assertNotNull;\r
-import static org.testng.Assert.fail;\r
-import static org.testng.Assert.assertTrue;\r
-import java.io.File;\r
-import java.io.FileInputStream;\r
-import java.io.FileNotFoundException;\r
-import java.io.IOException;\r
-import java.net.ConnectException;\r
-import java.util.ArrayList;\r
-import java.util.List;\r
-\r
-import javax.xml.ws.WebServiceException;\r
-\r
-import org.testng.annotations.BeforeTest;\r
-import org.testng.annotations.Test;\r
-\r
-import compbio.data.msa.JABAService;\r
-import compbio.data.msa.SequenceAnnotation;\r
-import compbio.data.sequence.ConservationMethod;\r
-import compbio.data.sequence.FastaSequence;\r
-import compbio.data.sequence.ScoreManager;\r
-import compbio.data.sequence.SequenceUtil;\r
-import compbio.metadata.AllTestSuit;\r
-import compbio.metadata.JobSubmissionException;\r
-import compbio.metadata.LimitExceededException;\r
-import compbio.metadata.Option;\r
-import compbio.metadata.Preset;\r
-import compbio.metadata.PresetManager;\r
-import compbio.metadata.ResultNotAvailableException;\r
-import compbio.metadata.RunnerConfig;\r
-import compbio.metadata.UnsupportedRuntimeException;\r
-import compbio.metadata.WrongParameterException;\r
-import compbio.runner.conservation.AACon;\r
-import compbio.util.SysPrefs;\r
-\r
-public class TestAAConWS {\r
-\r
- SequenceAnnotation<AACon> msaws;\r
-\r
- @BeforeTest(groups = {AllTestSuit.test_group_webservices})\r
- void initConnection() {\r
- /*\r
- * URL url = null; try { url = new\r
- * URL("http://localhost:8080/jabaws/AAConWS?wsdl"); } catch\r
- * (MalformedURLException e) { e.printStackTrace();\r
- * fail(e.getLocalizedMessage()); } String namespace =\r
- * "http://msa.data.compbio/01/12/2010/"; QName qname = new\r
- * QName(namespace, "AAConWS"); Service serv = Service.create(url,\r
- * qname); msaws = serv.getPort(new QName(namespace, "AAConWSPort"),\r
- * Annotation.class);\r
- */try {\r
- JABAService client = Jws2Client.connect(\r
- "http://localhost:8080/jabaws", Services.AAConWS);\r
- msaws = (SequenceAnnotation<AACon>) client;\r
- } catch (ConnectException e) {\r
- e.printStackTrace();\r
- fail(e.getMessage());\r
- } catch (WebServiceException e) {\r
- e.printStackTrace();\r
- fail(e.getMessage());\r
- }\r
- }\r
-\r
- @Test(groups = {AllTestSuit.test_group_webservices})\r
- public void testAnalize() throws FileNotFoundException, IOException {\r
-\r
- /*\r
- * MsaWS msaws = serv.getPort(new QName(\r
- * "http://msa.data.compbio/01/01/2010/", "ClustalWSPort"),\r
- * MsaWS.class);\r
- */\r
- // Annotation<AACon> msaws = serv.getPort(new QName(namespace,\r
- // "ClustalWSPort"), Annotation.class);\r
-\r
- // List<FastaSequence> fsl = SequenceUtil.readFasta(new FileInputStream(\r
- // AAConTester.test_alignment_input));\r
-\r
- String CURRENT_DIRECTORY = SysPrefs.getCurrentDirectory()\r
- + File.separator;\r
-\r
- List<FastaSequence> fsl = SequenceUtil.readFasta(new FileInputStream(\r
- CURRENT_DIRECTORY + "testsrc" + File.separator + "testdata"\r
- + File.separator + "TO1381.fasta.aln"));\r
-\r
- try {\r
- System.out.println("Pres: " + msaws.getPresets().getPresets());\r
- String jobId = msaws.analize(fsl);\r
- System.out.println("J: " + jobId);\r
- ScoreManager result = msaws.getAnnotation(jobId);\r
- assertNotNull(result);\r
- assertEquals(result.asSet().size(), 1);\r
-\r
- assertEquals(result.asSet().iterator().next().getMethod(),\r
- ConservationMethod.SHENKIN.toString());\r
- List<Float> scores = result.asSet().iterator().next().getScores();\r
- assertNotNull(scores);\r
- assertEquals(scores.size(), 568);\r
-\r
- // Using presets\r
- PresetManager<AACon> presets = msaws.getPresets();\r
- jobId = msaws.presetAnalize(fsl,\r
- presets.getPresetByName("Quick conservation"));\r
- result = msaws.getAnnotation(jobId);\r
- assertNotNull(result);\r
- assertEquals(result.asSet().size(), 13);\r
-\r
- jobId = msaws.presetAnalize(fsl,\r
- presets.getPresetByName("Slow conservation"));\r
- result = msaws.getAnnotation(jobId);\r
- assertNotNull(result);\r
- assertEquals(result.asSet().size(), 5);\r
-\r
- jobId = msaws.presetAnalize(fsl,\r
- presets.getPresetByName("Complete conservation"));\r
- result = msaws.getAnnotation(jobId);\r
- assertNotNull(result);\r
- assertEquals(result.asSet().size(), 18);\r
-\r
- } catch (UnsupportedRuntimeException e) {\r
- e.printStackTrace();\r
- fail(e.getMessage());\r
- } catch (LimitExceededException e) {\r
- e.printStackTrace();\r
- fail(e.getMessage());\r
- } catch (JobSubmissionException e) {\r
- e.printStackTrace();\r
- fail(e.getMessage());\r
- } catch (ResultNotAvailableException e) {\r
- e.printStackTrace();\r
- fail(e.getMessage());\r
- } catch (WrongParameterException e) {\r
- e.printStackTrace();\r
- fail(e.getMessage());\r
- }\r
-\r
- }\r
- @Test(groups = {AllTestSuit.test_group_webservices})\r
- public void testRecoverArgsForPreset() throws Exception {\r
- PresetManager<AACon> presets = msaws.getPresets();\r
- for (Preset<AACon> preset:presets.getPresets())\r
- {\r
- List<Option<AACon>> args = preset.getArguments(msaws.getRunnerOptions());\r
- List opts = preset.getOptions();\r
- assertTrue(args.size()>=opts.size(),"Couldn't recover all Option items for preset "+preset.getName());\r
- }\r
- }\r
- @Test(groups = {AllTestSuit.test_group_webservices})\r
- public void testPresetAnalize() throws FileNotFoundException, IOException {\r
-\r
- String CURRENT_DIRECTORY = SysPrefs.getCurrentDirectory()\r
- + File.separator;\r
-\r
- List<FastaSequence> fsl = SequenceUtil.readFasta(new FileInputStream(\r
- CURRENT_DIRECTORY + "testsrc" + File.separator + "testdata"\r
- + File.separator + "TO1381.fasta.aln"));\r
-\r
- try {\r
- System.out.println("Pres: " + msaws.getPresets().getPresets());\r
-\r
- // Using presets\r
- PresetManager<AACon> presets = msaws.getPresets();\r
- String jobId = msaws.presetAnalize(fsl,\r
- presets.getPresetByName("Quick conservation"));\r
- ScoreManager result = msaws.getAnnotation(jobId);\r
- assertNotNull(result);\r
- assertEquals(result.asSet().size(), 13);\r
-\r
- jobId = msaws.presetAnalize(fsl,\r
- presets.getPresetByName("Slow conservation"));\r
- result = msaws.getAnnotation(jobId);\r
- assertNotNull(result);\r
- assertEquals(result.asSet().size(), 5);\r
-\r
- jobId = msaws.presetAnalize(fsl,\r
- presets.getPresetByName("Complete conservation"));\r
- result = msaws.getAnnotation(jobId);\r
- assertNotNull(result);\r
- assertEquals(result.asSet().size(), 18);\r
-\r
- } catch (UnsupportedRuntimeException e) {\r
- e.printStackTrace();\r
- fail(e.getMessage());\r
- } catch (LimitExceededException e) {\r
- e.printStackTrace();\r
- fail(e.getMessage());\r
- } catch (JobSubmissionException e) {\r
- e.printStackTrace();\r
- fail(e.getMessage());\r
- } catch (ResultNotAvailableException e) {\r
- e.printStackTrace();\r
- fail(e.getMessage());\r
- } catch (WrongParameterException e) {\r
- e.printStackTrace();\r
- fail(e.getMessage());\r
- }\r
-\r
- }\r
-\r
- @Test(groups = {AllTestSuit.test_group_webservices})\r
- public void testCustomAnalize() throws FileNotFoundException, IOException {\r
-\r
- String CURRENT_DIRECTORY = SysPrefs.getCurrentDirectory()\r
- + File.separator;\r
-\r
- List<FastaSequence> fsl = SequenceUtil.readFasta(new FileInputStream(\r
- CURRENT_DIRECTORY + "testsrc" + File.separator + "testdata"\r
- + File.separator + "TO1381.fasta.aln"));\r
-\r
- // Using options\r
- RunnerConfig<AACon> options = msaws.getRunnerOptions();\r
- // System.out.println(options.getArguments());\r
-\r
- try {\r
- List<Option<AACon>> args = new ArrayList<Option<AACon>>();\r
- Option<AACon> arg,normarg;\r
- args.add(arg=options.getArgument("SMERFS"));\r
- args.add(normarg=options.getArgument("Normalize"));\r
- arg.setValue(arg.getPossibleValues().get(0));\r
- // options.getArgument("SMERFS Column Scoring Method")\r
- // .setDefaultValue("MAX_SCORE");\r
- // options.getArgument("SMERFS Gap Threshhold").setDefaultValue("1");\r
- String jobId = msaws.customAnalize(fsl, args);\r
- ScoreManager result = msaws.getAnnotation(jobId);\r
- assertNotNull(result);\r
- assertEquals(result.asSet().size(), 1);\r
- assertEquals(result.asSet().iterator().next().getScores().get(0),\r
- 0.698f);\r
- args.remove(normarg); // remove normalization argument\r
- // System.out.println(options);\r
- jobId = msaws.customAnalize(fsl, args);\r
- result = msaws.getAnnotation(jobId);\r
- assertNotNull(result);\r
- assertEquals(result.asSet().size(), 1);\r
- assertEquals(result.asSet().iterator().next().getScores().get(0),\r
- 0.401f);\r
-\r
- } catch (WrongParameterException e) {\r
- e.printStackTrace();\r
- fail(e.getMessage());\r
- } catch (UnsupportedRuntimeException e) {\r
- e.printStackTrace();\r
- fail(e.getMessage());\r
- } catch (LimitExceededException e) {\r
- e.printStackTrace();\r
- fail(e.getMessage());\r
- } catch (JobSubmissionException e) {\r
- e.printStackTrace();\r
- fail(e.getMessage());\r
- } catch (ResultNotAvailableException e) {\r
- e.printStackTrace();\r
- fail(e.getMessage());\r
- }\r
- }\r
-}\r