1 package compbio.ws.client;
\r
3 import static org.testng.Assert.assertNotNull;
\r
4 import static org.testng.Assert.fail;
\r
6 import java.io.FileInputStream;
\r
7 import java.io.FileNotFoundException;
\r
8 import java.io.IOException;
\r
9 import java.io.OutputStreamWriter;
\r
10 import java.io.Writer;
\r
11 import java.net.ConnectException;
\r
12 import java.util.ArrayList;
\r
13 import java.util.List;
\r
15 import javax.xml.ws.WebServiceException;
\r
17 import org.testng.annotations.BeforeTest;
\r
18 import org.testng.annotations.Test;
\r
20 import compbio.data.msa.JABAService;
\r
21 import compbio.data.msa.SequenceAnnotation;
\r
22 import compbio.data.sequence.Alignment;
\r
23 import compbio.data.sequence.ClustalAlignmentUtil;
\r
24 import compbio.data.sequence.FastaSequence;
\r
25 import compbio.data.sequence.RNAStructScoreManager;
\r
26 import compbio.data.sequence.ScoreManager;
\r
27 import compbio.data.sequence.UnknownFileFormatException;
\r
28 import compbio.metadata.AllTestSuit;
\r
29 import compbio.metadata.JobSubmissionException;
\r
30 import compbio.metadata.LimitExceededException;
\r
31 import compbio.metadata.Option;
\r
32 import compbio.metadata.ResultNotAvailableException;
\r
33 import compbio.metadata.UnsupportedRuntimeException;
\r
34 import compbio.metadata.WrongParameterException;
\r
35 import compbio.runner.structure.RNAalifold;
\r
36 import compbio.ws.server.RNAalifoldWS;
\r
39 public class TestRNAalifoldWS {
\r
41 // SequenceAnnotation<RNAalifoldWS> foldws;
\r
42 RNAalifoldWS foldws;
\r
44 @BeforeTest(groups = {AllTestSuit.test_group_webservices})
\r
45 void initConnection() {
\r
48 JABAService client = Jws2Client.connect(
\r
49 "http://localhost:8080/jabaws", Services.RNAalifoldWS);
\r
50 foldws = (RNAalifoldWS) client;
\r
51 } catch (ConnectException e) {
\r
52 e.printStackTrace();
\r
53 fail(e.getMessage());
\r
54 } catch (WebServiceException e) {
\r
55 e.printStackTrace();
\r
56 fail(e.getMessage());
\r
61 @Test(groups = {AllTestSuit.test_group_webservices})
\r
62 public void testFold() throws FileNotFoundException, IOException,
\r
63 UnknownFileFormatException {
\r
65 // String CURRENT_DIRECTORY = SysPrefs.getCurrentDirectory()
\r
66 // + File.separator;
\r
68 Alignment aln = ClustalAlignmentUtil.readClustalFile(new FileInputStream(
\r
69 AllTestSuit.test_input_aln));
\r
71 List<FastaSequence> fsl = aln.getSequences();
\r
74 List<Option<RNAalifold>> options = new ArrayList<Option<RNAalifold>>();
\r
75 options.add(foldws.getRunnerOptions().getArgumentByOptionName("--mis"));
\r
76 options.add(foldws.getRunnerOptions().getArgumentByOptionName("-p"));
\r
77 options.add(foldws.getRunnerOptions().getArgumentByOptionName("--MEA"));
\r
79 // System.out.println("TestRNAalifoldWS: print options: " + options.toString());
\r
81 String jobId = foldws.customAnalize(fsl, options);
\r
82 System.out.println("J: " + jobId);
\r
84 Writer stdout = new OutputStreamWriter(System.out);
\r
86 System.out.println("results class: " + foldws.getAnnotation(jobId).getClass().getName());
\r
87 RNAStructScoreManager result = (RNAStructScoreManager)foldws.getAnnotation(jobId);
\r
90 result.writeOut(stdout);
\r
91 System.out.println("fold results: \n" + result.toString());
\r
92 assertNotNull(result);
\r
94 } catch (UnsupportedRuntimeException e) {
\r
95 e.printStackTrace();
\r
96 fail(e.getMessage());
\r
97 } catch (LimitExceededException e) {
\r
98 e.printStackTrace();
\r
99 fail(e.getMessage());
\r
100 } catch (JobSubmissionException e) {
\r
101 e.printStackTrace();
\r
102 fail(e.getMessage());
\r
103 } catch (ResultNotAvailableException e) {
\r
104 e.printStackTrace();
\r
105 fail(e.getMessage());
\r
106 } catch (WrongParameterException e) {
\r
107 e.printStackTrace();
\r
108 fail(e.getMessage());
\r