X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=testsrc%2Fcompbio%2Fws%2Fclient%2FTestAAConWS.java;h=647631126b9c7cf76dd5b6865dd4c8ebc35071ad;hb=9d860c3793c6812f643caa01fc80a0036fa3fe2b;hp=a8814c8a9de7188fead2f2c6b2861c8ce2f72260;hpb=16561770367cb0b1203eb195eef91a74b1229036;p=jabaws.git diff --git a/testsrc/compbio/ws/client/TestAAConWS.java b/testsrc/compbio/ws/client/TestAAConWS.java index a8814c8..6476311 100644 --- a/testsrc/compbio/ws/client/TestAAConWS.java +++ b/testsrc/compbio/ws/client/TestAAConWS.java @@ -8,36 +8,51 @@ import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; -import java.net.URL; -import java.util.HashSet; import java.util.List; -import javax.xml.namespace.QName; -import javax.xml.ws.Service; - +import org.testng.annotations.BeforeTest; import org.testng.annotations.Test; -import compbio.conservation.Method; -import compbio.data.msa.Annotation; +import compbio.data.msa.JABAService; +import compbio.data.msa.SequenceAnnotation; +import compbio.data.sequence.ConservationMethod; import compbio.data.sequence.FastaSequence; -import compbio.data.sequence.Score; +import compbio.data.sequence.ScoreManager; import compbio.data.sequence.SequenceUtil; import compbio.metadata.JobSubmissionException; import compbio.metadata.LimitExceededException; +import compbio.metadata.PresetManager; import compbio.metadata.ResultNotAvailableException; +import compbio.metadata.RunnerConfig; import compbio.metadata.UnsupportedRuntimeException; +import compbio.metadata.WrongParameterException; +import compbio.runner.conservation.AACon; import compbio.util.SysPrefs; -import compbio.ws.server.AAConWS; public class TestAAConWS { + SequenceAnnotation msaws; + + @BeforeTest + void initConnection() { + /* + * URL url = null; try { url = new + * URL("http://localhost:8080/jabaws/AAConWS?wsdl"); } catch + * (MalformedURLException e) { e.printStackTrace(); + * fail(e.getLocalizedMessage()); } String namespace = + * "http://msa.data.compbio/01/12/2010/"; QName qname = new + * QName(namespace, "AAConWS"); Service serv = Service.create(url, + * qname); msaws = serv.getPort(new QName(namespace, "AAConWSPort"), + * Annotation.class); + */ + JABAService client = Jws2Client.connect("http://localhost:8080/jabaws", + Services.AAConWS); + msaws = (SequenceAnnotation) client; + } + @Test - public void test() throws FileNotFoundException, IOException { + public void testAnalize() throws FileNotFoundException, IOException { - URL url = new URL("http://localhost:8080/jabaws/AAConWS?wsdl"); - String namespace = "http://msa.data.compbio/01/12/2010/"; - QName qname = new QName(namespace, "AAConWS"); - Service serv = Service.create(url, qname); /* * MsaWS msaws = serv.getPort(new QName( * "http://msa.data.compbio/01/01/2010/", "ClustalWSPort"), @@ -46,9 +61,6 @@ public class TestAAConWS { // Annotation msaws = serv.getPort(new QName(namespace, // "ClustalWSPort"), Annotation.class); - Annotation msaws = serv.getPort(new QName(namespace, - "AAConWSPort"), Annotation.class); - // List fsl = SequenceUtil.readFasta(new FileInputStream( // AAConTester.test_alignment_input)); @@ -60,18 +72,95 @@ public class TestAAConWS { + File.separator + "TO1381.fasta.aln")); try { - System.out.println("Pres: " - + msaws.getPresets().getPresets().get(0)); + System.out.println("Pres: " + msaws.getPresets().getPresets()); String jobId = msaws.analize(fsl); System.out.println("J: " + jobId); - HashSet result = msaws.getConservation(jobId); + ScoreManager result = msaws.getAnnotation(jobId); assertNotNull(result); - assertEquals(result.size(), 1); - assertEquals(result.iterator().next().getMethod(), Method.SHENKIN); - List scores = result.iterator().next().getScores(); + assertEquals(result.getFirstSequenceScores().getNumberOfScores(), 1); + + assertEquals(result.getFirstSequenceScores().getFirstScore() + .getMethod(), ConservationMethod.SHENKIN); + List scores = result.getFirstSequenceScores() + .getFirstScore().getScores(); assertNotNull(scores); assertEquals(scores.size(), 568); + // Using presets + PresetManager presets = msaws.getPresets(); + jobId = msaws.presetAnalize(fsl, + presets.getPresetByName("Quick conservation")); + result = msaws.getAnnotation(jobId); + assertNotNull(result); + assertEquals(result.getFirstSequenceScores().getNumberOfScores(), + 13); + + jobId = msaws.presetAnalize(fsl, + presets.getPresetByName("Slow conservation")); + result = msaws.getAnnotation(jobId); + assertNotNull(result); + assertEquals(result.getFirstSequenceScores().getNumberOfScores(), 5); + + jobId = msaws.presetAnalize(fsl, + presets.getPresetByName("Complete conservation")); + result = msaws.getAnnotation(jobId); + assertNotNull(result); + assertEquals(result.getFirstSequenceScores().getNumberOfScores(), + 18); + + } catch (UnsupportedRuntimeException e) { + e.printStackTrace(); + fail(e.getMessage()); + } catch (LimitExceededException e) { + e.printStackTrace(); + fail(e.getMessage()); + } catch (JobSubmissionException e) { + e.printStackTrace(); + fail(e.getMessage()); + } catch (ResultNotAvailableException e) { + e.printStackTrace(); + fail(e.getMessage()); + } catch (WrongParameterException e) { + e.printStackTrace(); + fail(e.getMessage()); + } + + } + @Test + public void testPresetAnalize() throws FileNotFoundException, IOException { + + String CURRENT_DIRECTORY = SysPrefs.getCurrentDirectory() + + File.separator; + + List fsl = SequenceUtil.readFasta(new FileInputStream( + CURRENT_DIRECTORY + "testsrc" + File.separator + "testdata" + + File.separator + "TO1381.fasta.aln")); + + try { + System.out.println("Pres: " + msaws.getPresets().getPresets()); + + // Using presets + PresetManager presets = msaws.getPresets(); + String jobId = msaws.presetAnalize(fsl, + presets.getPresetByName("Quick conservation")); + ScoreManager result = msaws.getAnnotation(jobId); + assertNotNull(result); + assertEquals(result.getFirstSequenceScores().getNumberOfScores(), + 13); + + jobId = msaws.presetAnalize(fsl, + presets.getPresetByName("Slow conservation")); + result = msaws.getAnnotation(jobId); + assertNotNull(result); + assertEquals(result.getFirstSequenceScores().getNumberOfScores(), 5); + + jobId = msaws.presetAnalize(fsl, + presets.getPresetByName("Complete conservation")); + result = msaws.getAnnotation(jobId); + assertNotNull(result); + assertEquals(result.getFirstSequenceScores().getNumberOfScores(), + 18); + } catch (UnsupportedRuntimeException e) { e.printStackTrace(); fail(e.getMessage()); @@ -84,7 +173,64 @@ public class TestAAConWS { } catch (ResultNotAvailableException e) { e.printStackTrace(); fail(e.getMessage()); + } catch (WrongParameterException e) { + e.printStackTrace(); + fail(e.getMessage()); } } + + @Test + public void testCustomAnalize() throws FileNotFoundException, IOException { + + String CURRENT_DIRECTORY = SysPrefs.getCurrentDirectory() + + File.separator; + + List fsl = SequenceUtil.readFasta(new FileInputStream( + CURRENT_DIRECTORY + "testsrc" + File.separator + "testdata" + + File.separator + "TO1381.fasta.aln")); + + // Using options + RunnerConfig options = msaws.getRunnerOptions(); + // System.out.println(options.getArguments()); + + try { + options.getArgument("Calculation method").setDefaultValue("SMERFS"); + // options.getArgument("SMERFS Column Scoring Method") + // .setDefaultValue("MAX_SCORE"); + // options.getArgument("SMERFS Gap Threshhold").setDefaultValue("1"); + String jobId = msaws.customAnalize(fsl, options.getArguments()); + ScoreManager result = msaws.getAnnotation(jobId); + assertNotNull(result); + assertEquals(result.getFirstSequenceScores().getNumberOfScores(), 1); + assertEquals(result.getFirstSequenceScores().getFirstScore() + .getScores().get(0), 0.698f); + + options.getArgument("Calculation method").setDefaultValue("SMERFS"); + options.removeArgument("Normalize"); + System.out.println(options); + jobId = msaws.customAnalize(fsl, options.getArguments()); + result = msaws.getAnnotation(jobId); + assertNotNull(result); + assertEquals(result.getFirstSequenceScores().getNumberOfScores(), 1); + assertEquals(result.getFirstSequenceScores().getFirstScore() + .getScores().get(0), 0.401f); + + } catch (WrongParameterException e) { + e.printStackTrace(); + fail(e.getMessage()); + } catch (UnsupportedRuntimeException e) { + e.printStackTrace(); + fail(e.getMessage()); + } catch (LimitExceededException e) { + e.printStackTrace(); + fail(e.getMessage()); + } catch (JobSubmissionException e) { + e.printStackTrace(); + fail(e.getMessage()); + } catch (ResultNotAvailableException e) { + e.printStackTrace(); + fail(e.getMessage()); + } + } }