c5f3f6de59047713326b65e4cd82a6206b41fc61
[jabaws.git] / testsrc / compbio / ws / client / TestRNAalifoldWS.java
1         package compbio.ws.client;
2
3 import compbio.metadata.AllTestSuit;
4 import static org.testng.Assert.assertEquals;
5 import static org.testng.Assert.assertNotNull;
6 import static org.testng.Assert.fail;
7
8 import java.io.File;
9 import java.io.FileInputStream;
10 import java.io.FileNotFoundException;
11 import java.io.IOException;
12 import java.net.ConnectException;
13 import java.util.ArrayList;
14 import java.util.List;
15
16 import javax.xml.ws.WebServiceException;
17
18 import org.testng.annotations.BeforeTest;
19 import org.testng.annotations.Test;
20
21 import compbio.data.msa.FoldWS;
22 import compbio.data.msa.JABAService;
23 import compbio.data.msa.SequenceAnnotation;
24 import compbio.data.sequence.Alignment;
25 import compbio.data.sequence.RNAStruct;
26 import compbio.data.sequence.ClustalAlignmentUtil;
27 import compbio.data.sequence.ConservationMethod;
28 import compbio.data.sequence.FastaSequence;
29 import compbio.data.sequence.ScoreManager;
30 import compbio.data.sequence.SequenceUtil;
31 import compbio.data.sequence.UnknownFileFormatException;
32 import compbio.metadata.AllTestSuit;
33 import compbio.metadata.JobSubmissionException;
34 import compbio.metadata.LimitExceededException;
35 import compbio.metadata.Option;
36 import compbio.metadata.PresetManager;
37 import compbio.metadata.ResultNotAvailableException;
38 import compbio.metadata.RunnerConfig;
39 import compbio.metadata.UnsupportedRuntimeException;
40 import compbio.metadata.WrongParameterException;
41 import compbio.runner.conservation.AACon;
42 import compbio.util.SysPrefs;
43 import compbio.ws.server.RNAalifoldWS;
44
45
46 public class TestRNAalifoldWS {
47         
48         SequenceAnnotation<RNAalifoldWS> foldws;
49         
50         @BeforeTest(groups = {AllTestSuit.test_group_webservices})
51         void initConnection() {
52                 
53                 try {
54                         JABAService client = Jws2Client.connect(
55                                         "http://localhost:8080/jabaws", Services.RNAalifoldWS);
56                         foldws = (SequenceAnnotation<RNAalifoldWS>) client;
57                 } catch (ConnectException e) {
58                         e.printStackTrace();
59                         fail(e.getMessage());
60                 } catch (WebServiceException e) {
61                         e.printStackTrace();
62                         fail(e.getMessage());
63                 }
64         }
65
66         
67         @Test(groups = {AllTestSuit.test_group_webservices})
68         public void testFold() throws FileNotFoundException, IOException,
69                         UnknownFileFormatException {
70                 
71 //              String CURRENT_DIRECTORY = SysPrefs.getCurrentDirectory()
72 //                              + File.separator;
73                 
74                 Alignment aln = ClustalAlignmentUtil.readClustalFile(new FileInputStream(
75                                 AllTestSuit.test_input_aln));
76                 
77                 List<FastaSequence> fsl = aln.getSequences();
78                 
79                 try {
80                         List<Option<RNAalifoldWS>> options  = new ArrayList<Option<RNAalifoldWS>>();
81                         options.add(foldws.getRunnerOptions().getArgumentByOptionName("--mis"));
82                         options.add(foldws.getRunnerOptions().getArgumentByOptionName("-p"));
83                         options.add(foldws.getRunnerOptions().getArgumentByOptionName("--MEA"));
84                         
85                         System.out.println("TestRNAalifoldWS: print options: " + options.toString());
86                         
87                         String jobId = foldws.customAnalize(fsl, options);
88                         System.out.println("J: " + jobId);
89                         ScoreManager result = foldws.getAnnotation(jobId);
90                         System.out.println("fold results: \n" + result.asRNAStruct().toString());
91                         assertNotNull(result);
92                         
93                 } catch (UnsupportedRuntimeException e) {
94                         e.printStackTrace();
95                         fail(e.getMessage());
96                 } catch (LimitExceededException e) {
97                         e.printStackTrace();
98                         fail(e.getMessage());
99                 } catch (JobSubmissionException e) {
100                         e.printStackTrace();
101                         fail(e.getMessage());
102                 } catch (ResultNotAvailableException e) {
103                         e.printStackTrace();
104                         fail(e.getMessage());
105                 } catch (WrongParameterException e) {
106                         e.printStackTrace();
107                         fail(e.getMessage());
108                 }
109         }
110 }
111         
112
113