Add all needed infrastructure for MSAprobs and GLprobs
authorSasha Sherstnev <a.sherstnev@dundee.ac.uk>
Tue, 24 Sep 2013 14:11:53 +0000 (15:11 +0100)
committerSasha Sherstnev <a.sherstnev@dundee.ac.uk>
Tue, 24 Sep 2013 14:11:53 +0000 (15:11 +0100)
35 files changed:
WEB-INF/sun-jaxws.xml
WEB-INF/web.xml
build.xml
conf/Executable.properties
conf/settings/GLprobsLimits.xml [new file with mode: 0644]
conf/settings/GLprobsParameters.xml [new file with mode: 0644]
conf/settings/GLprobsPresets.xml [new file with mode: 0644]
conf/settings/MSAprobsLimits.xml [new file with mode: 0644]
conf/settings/MSAprobsParameters.xml [new file with mode: 0644]
conf/settings/MSAprobsPresets.xml [new file with mode: 0644]
conf/settings/ProbconsParameters.xml
datamodel/compbio/data/sequence/ClustalAlignmentUtil.java
datamodel/compbio/data/sequence/Program.java
how_to_add_new_webservice.txt
runner/compbio/runner/msa/GLprobs.java [new file with mode: 0644]
runner/compbio/runner/msa/MSAprobs.java [new file with mode: 0644]
webservices/compbio/data/msa/Category.java
webservices/compbio/ws/client/Services.java
webservices/compbio/ws/client/ServicesUtil.java
webservices/compbio/ws/server/GLprobsWS.java [new file with mode: 0644]
webservices/compbio/ws/server/MSAprobsWS.java [new file with mode: 0644]
webservices/compbio/ws/server/resource/ClustalWS_schema1.xsd
webservices/compbio/ws/server/resource/GLprobsWS.wsdl [new file with mode: 0644]
webservices/compbio/ws/server/resource/GLprobsWS_schema1.xsd [new file with mode: 0644]
webservices/compbio/ws/server/resource/JpredWS_schema1.xsd
webservices/compbio/ws/server/resource/MSAprobsWS.wsdl [new file with mode: 0644]
webservices/compbio/ws/server/resource/MSAprobsWS_schema1.xsd [new file with mode: 0644]
webservices/compbio/ws/server/resource/MafftWS_schema1.xsd
webservices/compbio/ws/server/resource/MuscleWS_schema1.xsd
webservices/compbio/ws/server/resource/RegistryWS_schema1.xsd
webservices/compbio/ws/server/resource/TcoffeeWS_schema1.xsd
website/prog_docs/glprobs.txt [new file with mode: 0644]
website/prog_docs/msaprobs.txt [new file with mode: 0644]
wsbuild.log
wsbuild.xml

index e8b759b..13d6fac 100644 (file)
        <endpoint name='ProbconsWS'\r
                implementation='compbio.ws.server.ProbconsWS'\r
                url-pattern='/ProbconsWS'/>\r
+       <endpoint name='MSAprobsWS'\r
+               implementation='compbio.ws.server.MSAprobsWS'\r
+               url-pattern='/MSAprobsWS'/>\r
+       <endpoint name='GLprobsWS'\r
+               implementation='compbio.ws.server.GLprobsWS'\r
+               url-pattern='/GLprobsWS'/>\r
        <endpoint name='AAConWS'\r
                implementation='compbio.ws.server.AAConWS'\r
                url-pattern='/AAConWS'/>\r
index 22df95e..cec1884 100644 (file)
        </servlet>\r
 \r
        <servlet>\r
+               <servlet-name>MSAprobsWS</servlet-name>\r
+               <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>\r
+               <load-on-startup>1</load-on-startup>\r
+       </servlet>\r
+\r
+       <servlet>\r
+               <servlet-name>GLprobsWS</servlet-name>\r
+               <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>\r
+               <load-on-startup>1</load-on-startup>\r
+       </servlet>\r
+\r
+       <servlet>\r
                <servlet-name>AAConWS</servlet-name>\r
                <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>\r
                <load-on-startup>1</load-on-startup>\r
        </servlet-mapping>\r
 \r
        <servlet-mapping>\r
+               <servlet-name>MSAprobsWS</servlet-name>\r
+               <url-pattern>/MSAprobsWS</url-pattern>\r
+       </servlet-mapping>\r
+\r
+       <servlet-mapping>\r
+               <servlet-name>GLprobsWS</servlet-name>\r
+               <url-pattern>/GLprobsWS</url-pattern>\r
+       </servlet-mapping>\r
+\r
+       <servlet-mapping>\r
                <servlet-name>AAConWS</servlet-name>\r
                <url-pattern>/AAConWS</url-pattern>\r
        </servlet-mapping>\r
index 4fbafe9..af10a7e 100644 (file)
--- a/build.xml
+++ b/build.xml
@@ -19,7 +19,7 @@
        <property name="compbio-ga" value="compbio-ga-1.0.jar"/>
 
        <!-- products -->
-       <property name="jabaws_version" value="2.5.0"/>
+       <property name="jabaws_version" value="2.1.0"/>
        <property name="datamodel" value="${distdir}/datamodel-${jabaws_version}.jar"/>
        <property name="datamodel-src" value="${distdir}/datamodel-src-${jabaws_version}.jar"/>
        <property name="min-jabaws-client" value="${distdir}/min-jabaws-client-${jabaws_version}.jar"/>
index a592c3a..a4f1aa3 100644 (file)
@@ -236,4 +236,20 @@ rnaalifold.parameters.file   = conf/settings/RNAalifoldParameters.xml
 rnaalifold.limits.file       = conf/settings/RNAalifoldLimits.xml\r
 rnaalifold.cluster.settings  = -P webservices -R y -l h_cpu=24:00:00 -l ram=6000M\r
 \r
+###########################################################################################\r
+#                                 MSAProbs CONFIGURATION                                  #\r
+###########################################################################################\r
+local.msaprobs.bin         = binaries/src/MSAProbs-0.9.7/MSAProbs/msaprobs\r
+cluster.msaprobs.bin       = /homes/www-jws2/test-servers/tomcat7-jaba3/webapps/jabawsRNA/binaries/src/MSAProbs-0.9.7/MSAProbs/msaprobs\r
+msaprobs.parameters.file   = conf/settings/MSAprobsParameters.xml\r
+msaprobs.limits.file       = conf/settings/MSAprobsLimits.xml\r
+msaprobs.cluster.settings  = -P webservices -R y -l h_cpu=24:00:00 -l ram=6000M\r
 \r
+###########################################################################################\r
+#                                  GLprobs CONFIGURATION                                  #\r
+###########################################################################################\r
+local.glprobs.bin         = binaries/src/GLProbs-1.0/glprobs\r
+cluster.glprobs.bin       = /homes/www-jws2/test-servers/tomcat7-jaba3/webapps/jabawsRNA/binaries/src/GLProbs-1.0/glprobs\r
+glprobs.parameters.file   = conf/settings/GLprobsParameters.xml\r
+glprobs.limits.file       = conf/settings/GLprobsLimits.xml\r
+glprobs.cluster.settings  = -P webservices -R y -l h_cpu=24:00:00 -l ram=6000M\r
diff --git a/conf/settings/GLprobsLimits.xml b/conf/settings/GLprobsLimits.xml
new file mode 100644 (file)
index 0000000..e29585a
--- /dev/null
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="US-ASCII" standalone="yes"?>\r
+<limits>\r
+    <runnerClassName>compbio.runner.msa.MSAprobs</runnerClassName>\r
+    <limit isDefault="true">\r
+        <seqNumber>2000</seqNumber>\r
+        <seqLength>1000</seqLength>\r
+    </limit>\r
+    <limit isDefault="false">\r
+        <preset># LocalEngineExecutionLimit #</preset>\r
+        <seqNumber>30</seqNumber>\r
+        <seqLength>500</seqLength>\r
+    </limit>\r
+</limits>\r
diff --git a/conf/settings/GLprobsParameters.xml b/conf/settings/GLprobsParameters.xml
new file mode 100644 (file)
index 0000000..ee18617
--- /dev/null
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="US-ASCII" standalone="yes"?>\r
+<runnerConfig>\r
+    <runnerClassName>compbio.runner.msa.GLprobs</runnerClassName>\r
+\r
+    <options isRequired="true">\r
+        <name>CLUSTAL format for output alignment</name>\r
+        <description>\r
+            CLUSTAL output format is used instead of the FASTA format\r
+        </description>\r
+        <optionNames>-clustalw</optionNames>\r
+        <furtherDetails>prog_docs/glprobs.txt</furtherDetails>\r
+    </options>\r
+\r
+    <options isRequired="true">\r
+        <name>Another order of sequence in output alignment</name>\r
+        <description>\r
+            print sequences in alignment order rather than input order\r
+        </description>\r
+        <optionNames>-a</optionNames>\r
+        <optionNames>--alignment-order</optionNames>\r
+        <furtherDetails>prog_docs/glprobs.txt</furtherDetails>\r
+    </options>\r
+\r
+    <prmSeparator> </prmSeparator>\r
+\r
+    <parameters isRequired="false">\r
+        <name>passes of consistency transformation</name>\r
+        <description>\r
+            passes of consistency transformation\r
+        </description>\r
+        <optionNames>-c</optionNames>\r
+        <optionNames>--consistency</optionNames>\r
+        <furtherDetails>prog_docs/glprobs.txt</furtherDetails>\r
+        <defaultValue>2</defaultValue>\r
+        <validValue>\r
+            <type>Integer</type>\r
+            <min>0</min>\r
+            <max>5</max>\r
+        </validValue>\r
+     </parameters>\r
+\r
+    <parameters isRequired="false">\r
+        <name>passes of consistency transformation</name>\r
+        <description>\r
+            number of passes of iterative-refinement\r
+        </description>\r
+        <optionNames>-ir</optionNames>\r
+        <optionNames>--iterative-refinement</optionNames>\r
+        <furtherDetails>prog_docs/glprobs.txt</furtherDetails>\r
+        <defaultValue>100</defaultValue>\r
+        <validValue>\r
+            <type>Integer</type>\r
+            <min>0</min>\r
+            <max>1000</max>\r
+        </validValue>\r
+     </parameters>\r
+\r
+     <parameters isRequired="false">\r
+        <name>Number of CPUs</name>\r
+        <description>\r
+            Number of CPU used by msaprobs. \r
+            My default the number is equal to the total number of CPU on the system.\r
+        </description>\r
+        <optionNames>-num_threads</optionNames>\r
+        <furtherDetails>prog_docs/glprobs.txt</furtherDetails>\r
+        <defaultValue>1</defaultValue>\r
+        <validValue>\r
+            <type>Integer</type>\r
+            <min>1</min>\r
+        </validValue>\r
+    </parameters>\r
+\r
+</runnerConfig>\r
diff --git a/conf/settings/GLprobsPresets.xml b/conf/settings/GLprobsPresets.xml
new file mode 100644 (file)
index 0000000..c7d44f6
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="US-ASCII" standalone="yes"?>\r
+<presets>\r
+    <runnerClassName>compbio.runner.msa.MSAprobs</runnerClassName>\r
+\r
+    <preset>\r
+        <name>working</name>\r
+        <description>\r
+            Working configuration\r
+        </description>\r
+        <optlist>\r
+            <option>-clustalw</option>\r
+        </optlist>\r
+    </preset>\r
+\r
+</presets>\r
diff --git a/conf/settings/MSAprobsLimits.xml b/conf/settings/MSAprobsLimits.xml
new file mode 100644 (file)
index 0000000..e29585a
--- /dev/null
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="US-ASCII" standalone="yes"?>\r
+<limits>\r
+    <runnerClassName>compbio.runner.msa.MSAprobs</runnerClassName>\r
+    <limit isDefault="true">\r
+        <seqNumber>2000</seqNumber>\r
+        <seqLength>1000</seqLength>\r
+    </limit>\r
+    <limit isDefault="false">\r
+        <preset># LocalEngineExecutionLimit #</preset>\r
+        <seqNumber>30</seqNumber>\r
+        <seqLength>500</seqLength>\r
+    </limit>\r
+</limits>\r
diff --git a/conf/settings/MSAprobsParameters.xml b/conf/settings/MSAprobsParameters.xml
new file mode 100644 (file)
index 0000000..6ace32c
--- /dev/null
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="US-ASCII" standalone="yes"?>\r
+<runnerConfig>\r
+    <runnerClassName>compbio.runner.msa.MSAprobs</runnerClassName>\r
+\r
+    <options isRequired="true">\r
+        <name>CLUSTAL format for output alignment</name>\r
+        <description>\r
+            CLUSTAL output format is used instead of the FASTA format\r
+        </description>\r
+        <optionNames>-clustalw</optionNames>\r
+        <furtherDetails>prog_docs/msaprobs.txt</furtherDetails>\r
+    </options>\r
+\r
+    <options isRequired="true">\r
+        <name>Another order of sequence in output alignment</name>\r
+        <description>\r
+            print sequences in alignment order rather than input order\r
+        </description>\r
+        <optionNames>-a</optionNames>\r
+        <optionNames>--alignment-order</optionNames>\r
+        <furtherDetails>prog_docs/msaprobs.txt</furtherDetails>\r
+    </options>\r
+\r
+    <prmSeparator> </prmSeparator>\r
+\r
+    <parameters isRequired="false">\r
+        <name>passes of consistency transformation</name>\r
+        <description>\r
+            passes of consistency transformation\r
+        </description>\r
+        <optionNames>-c</optionNames>\r
+        <optionNames>--consistency</optionNames>\r
+        <furtherDetails>prog_docs/msaprobs.txt</furtherDetails>\r
+        <defaultValue>2</defaultValue>\r
+        <validValue>\r
+            <type>Integer</type>\r
+            <min>0</min>\r
+            <max>5</max>\r
+        </validValue>\r
+     </parameters>\r
+\r
+    <parameters isRequired="false">\r
+        <name>passes of consistency transformation</name>\r
+        <description>\r
+                      number of passes of iterative-refinement\r
+        </description>\r
+        <optionNames>-ir</optionNames>\r
+        <optionNames>--iterative-refinement</optionNames>\r
+        <furtherDetails>prog_docs/msaprobs.txt</furtherDetails>\r
+        <defaultValue>10</defaultValue>\r
+        <validValue>\r
+            <type>Integer</type>\r
+            <min>0</min>\r
+            <max>1000</max>\r
+        </validValue>\r
+     </parameters>\r
+\r
+     <parameters isRequired="false">\r
+        <name>Number of CPUs</name>\r
+        <description>\r
+            Number of CPU used by msaprobs. \r
+            My default the number is equal to the total number of CPU on the system.\r
+        </description>\r
+        <optionNames>-num_threads</optionNames>\r
+        <furtherDetails>prog_docs/msaprobs.txt</furtherDetails>\r
+        <defaultValue>1</defaultValue>\r
+        <validValue>\r
+            <type>Integer</type>\r
+            <min>1</min>\r
+        </validValue>\r
+    </parameters>\r
+</runnerConfig>\r
diff --git a/conf/settings/MSAprobsPresets.xml b/conf/settings/MSAprobsPresets.xml
new file mode 100644 (file)
index 0000000..c7d44f6
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="US-ASCII" standalone="yes"?>\r
+<presets>\r
+    <runnerClassName>compbio.runner.msa.MSAprobs</runnerClassName>\r
+\r
+    <preset>\r
+        <name>working</name>\r
+        <description>\r
+            Working configuration\r
+        </description>\r
+        <optlist>\r
+            <option>-clustalw</option>\r
+        </optlist>\r
+    </preset>\r
+\r
+</presets>\r
index c66cdcb..10caac1 100644 (file)
     <prmSeparator> </prmSeparator>\r
 \r
 <!-- unsupported in practice \r
-       <parameters>\r
+        <parameters>\r
         <name>MATRIX</name>\r
         <description>Protein weight matrix. Specifies the emission probabilities that are to be used for scoring alignments.</description>\r
         <optionNames>-m</optionNames>\r
         <furtherDetails>http://www.compbio.dundee.ac.uk/users/pvtroshin/ws/Index.html</furtherDetails>\r
         <defaultValue>BLOSUM62</defaultValue>\r
-               <possibleValues>BLOSUM100</possibleValues>\r
-               <possibleValues>BLOSUM30</possibleValues>\r
-               <possibleValues>BLOSUM35</possibleValues>\r
-               <possibleValues>BLOSUM40</possibleValues>\r
-               <possibleValues>BLOSUM45</possibleValues>\r
-               <possibleValues>BLOSUM50</possibleValues>\r
-               <possibleValues>BLOSUM55</possibleValues>\r
-               <possibleValues>BLOSUM60</possibleValues>\r
-               <possibleValues>BLOSUM62</possibleValues>\r
-               <possibleValues>BLOSUM65</possibleValues>\r
-               <possibleValues>BLOSUM70</possibleValues>\r
-               <possibleValues>BLOSUM75</possibleValues>\r
-               <possibleValues>BLOSUM80</possibleValues>\r
-               <possibleValues>BLOSUM85</possibleValues>\r
-               <possibleValues>BLOSUM90</possibleValues>\r
-               <possibleValues>BLOSUMN</possibleValues>\r
-               <possibleValues>DAYHOFF</possibleValues>\r
-               <possibleValues>GONNET</possibleValues>\r
-               <possibleValues>IDENTITY</possibleValues>\r
-               <possibleValues>MATCH</possibleValues>\r
-               <possibleValues>NUC.4.2</possibleValues>\r
-               <possibleValues>NUC.4.4</possibleValues>\r
-               <possibleValues>PAM10</possibleValues>\r
-               <possibleValues>PAM100</possibleValues>\r
-               <possibleValues>PAM110</possibleValues>\r
-               <possibleValues>PAM120</possibleValues>\r
-               <possibleValues>PAM130</possibleValues>\r
-               <possibleValues>PAM140</possibleValues>\r
-               <possibleValues>PAM150</possibleValues>\r
-               <possibleValues>PAM160</possibleValues>\r
-               <possibleValues>PAM170</possibleValues>\r
-               <possibleValues>PAM180</possibleValues>\r
-               <possibleValues>PAM190</possibleValues>\r
-               <possibleValues>PAM20</possibleValues>\r
-               <possibleValues>PAM200</possibleValues>\r
-               <possibleValues>PAM210</possibleValues>\r
-               <possibleValues>PAM220</possibleValues>\r
-               <possibleValues>PAM230</possibleValues>\r
-               <possibleValues>PAM240</possibleValues>\r
-               <possibleValues>PAM250</possibleValues>\r
-               <possibleValues>PAM260</possibleValues>\r
-               <possibleValues>PAM270</possibleValues>\r
-               <possibleValues>PAM280</possibleValues>\r
-               <possibleValues>PAM290</possibleValues>\r
-               <possibleValues>PAM30</possibleValues>\r
-               <possibleValues>PAM300</possibleValues>\r
-               <possibleValues>PAM310</possibleValues>\r
-               <possibleValues>PAM320</possibleValues>\r
-               <possibleValues>PAM330</possibleValues>\r
-               <possibleValues>PAM340</possibleValues>\r
-               <possibleValues>PAM350</possibleValues>\r
-               <possibleValues>PAM360</possibleValues>\r
-               <possibleValues>PAM370</possibleValues>\r
-               <possibleValues>PAM380</possibleValues>\r
-               <possibleValues>PAM390</possibleValues>\r
-               <possibleValues>PAM40</possibleValues>\r
-               <possibleValues>PAM400</possibleValues>\r
-               <possibleValues>PAM410</possibleValues>\r
-               <possibleValues>PAM420</possibleValues>\r
-               <possibleValues>PAM430</possibleValues>\r
-               <possibleValues>PAM440</possibleValues>\r
-               <possibleValues>PAM450</possibleValues>\r
-               <possibleValues>PAM460</possibleValues>\r
-               <possibleValues>PAM470</possibleValues>\r
-               <possibleValues>PAM480</possibleValues>\r
-               <possibleValues>PAM490</possibleValues>\r
-               <possibleValues>PAM50</possibleValues>\r
-               <possibleValues>PAM500</possibleValues>\r
-               <possibleValues>PAM60</possibleValues>\r
-               <possibleValues>PAM70</possibleValues>\r
-               <possibleValues>PAM80</possibleValues>\r
-               <possibleValues>PAM90</possibleValues>\r
-       </parameters>\r
+                <possibleValues>BLOSUM100</possibleValues>\r
+                <possibleValues>BLOSUM30</possibleValues>\r
+                <possibleValues>BLOSUM35</possibleValues>\r
+                <possibleValues>BLOSUM40</possibleValues>\r
+                <possibleValues>BLOSUM45</possibleValues>\r
+                <possibleValues>BLOSUM50</possibleValues>\r
+                <possibleValues>BLOSUM55</possibleValues>\r
+                <possibleValues>BLOSUM60</possibleValues>\r
+                <possibleValues>BLOSUM62</possibleValues>\r
+                <possibleValues>BLOSUM65</possibleValues>\r
+                <possibleValues>BLOSUM70</possibleValues>\r
+                <possibleValues>BLOSUM75</possibleValues>\r
+                <possibleValues>BLOSUM80</possibleValues>\r
+                <possibleValues>BLOSUM85</possibleValues>\r
+                <possibleValues>BLOSUM90</possibleValues>\r
+                <possibleValues>BLOSUMN</possibleValues>\r
+                <possibleValues>DAYHOFF</possibleValues>\r
+                <possibleValues>GONNET</possibleValues>\r
+                <possibleValues>IDENTITY</possibleValues>\r
+                <possibleValues>MATCH</possibleValues>\r
+                <possibleValues>NUC.4.2</possibleValues>\r
+                <possibleValues>NUC.4.4</possibleValues>\r
+                <possibleValues>PAM10</possibleValues>\r
+                <possibleValues>PAM100</possibleValues>\r
+                <possibleValues>PAM110</possibleValues>\r
+                <possibleValues>PAM120</possibleValues>\r
+                <possibleValues>PAM130</possibleValues>\r
+                <possibleValues>PAM140</possibleValues>\r
+                <possibleValues>PAM150</possibleValues>\r
+                <possibleValues>PAM160</possibleValues>\r
+                <possibleValues>PAM170</possibleValues>\r
+                <possibleValues>PAM180</possibleValues>\r
+                <possibleValues>PAM190</possibleValues>\r
+                <possibleValues>PAM20</possibleValues>\r
+                <possibleValues>PAM200</possibleValues>\r
+                <possibleValues>PAM210</possibleValues>\r
+                <possibleValues>PAM220</possibleValues>\r
+                <possibleValues>PAM230</possibleValues>\r
+                <possibleValues>PAM240</possibleValues>\r
+                <possibleValues>PAM250</possibleValues>\r
+                <possibleValues>PAM260</possibleValues>\r
+                <possibleValues>PAM270</possibleValues>\r
+                <possibleValues>PAM280</possibleValues>\r
+                <possibleValues>PAM290</possibleValues>\r
+                <possibleValues>PAM30</possibleValues>\r
+                <possibleValues>PAM300</possibleValues>\r
+                <possibleValues>PAM310</possibleValues>\r
+                <possibleValues>PAM320</possibleValues>\r
+                <possibleValues>PAM330</possibleValues>\r
+                <possibleValues>PAM340</possibleValues>\r
+                <possibleValues>PAM350</possibleValues>\r
+                <possibleValues>PAM360</possibleValues>\r
+                <possibleValues>PAM370</possibleValues>\r
+                <possibleValues>PAM380</possibleValues>\r
+                <possibleValues>PAM390</possibleValues>\r
+                <possibleValues>PAM40</possibleValues>\r
+                <possibleValues>PAM400</possibleValues>\r
+                <possibleValues>PAM410</possibleValues>\r
+                <possibleValues>PAM420</possibleValues>\r
+                <possibleValues>PAM430</possibleValues>\r
+                <possibleValues>PAM440</possibleValues>\r
+                <possibleValues>PAM450</possibleValues>\r
+                <possibleValues>PAM460</possibleValues>\r
+                <possibleValues>PAM470</possibleValues>\r
+                <possibleValues>PAM480</possibleValues>\r
+                <possibleValues>PAM490</possibleValues>\r
+                <possibleValues>PAM50</possibleValues>\r
+                <possibleValues>PAM500</possibleValues>\r
+                <possibleValues>PAM60</possibleValues>\r
+                <possibleValues>PAM70</possibleValues>\r
+                <possibleValues>PAM80</possibleValues>\r
+                <possibleValues>PAM90</possibleValues>\r
+        </parameters>\r
 -->\r
 \r
     <parameters>\r
             aligned. This option is used in case the default parameters are not appropriate for the\r
             particular sequences being aligned; in general, this option is not recommended as it may\r
             lead to unstable alignment parameters.\r
-       </description>\r
+        </description>\r
         <optionNames>-pre</optionNames>\r
         <furtherDetails>prog_docs/probcons.pdf</furtherDetails>\r
         <defaultValue>0</defaultValue>\r
-         <validValue>\r
-               <type>Integer</type>\r
+        <validValue>\r
+            <type>Integer</type>\r
             <min>0</min>\r
             <max>20</max>\r
         </validValue>\r
     </parameters>\r
+\r
     <parameters>\r
         <name>Passes of iterative refinement</name>\r
-        <description>This specifies the number of iterations of iterative refinement to be performed. In each\r
-stage of iterative refinement, the set of sequences in the alignment is randomly\r
-partitioned into two groups. After projecting the alignments to these groups, the two\r
-groups are realigned, resulting in an alignment whose objective score is guaranteed to be\r
-at least that of the original alignment</description>\r
+        <description>\r
+            This specifies the number of iterations of iterative refinement to be performed.\r
+            In each stage of iterative refinement, the set of sequences in the alignment is \r
+            randomly partitioned into two groups. After projecting the alignments to these \r
+            groups, the two groups are realigned, resulting in an alignment whose objective \r
+            score is guaranteed to be at least that of the original alignment\r
+        </description>\r
         <optionNames>-ir</optionNames>\r
         <furtherDetails>prog_docs/probcons.pdf</furtherDetails>\r
-         <defaultValue>100</defaultValue>\r
-         <validValue>\r
-               <type>Integer</type>\r
+        <defaultValue>100</defaultValue>\r
+        <validValue>\r
+            <type>Integer</type>\r
             <min>0</min>\r
             <max>1000</max>\r
         </validValue>\r
     </parameters>\r
+\r
     <parameters>\r
         <name>Passes of consistency transformation</name>\r
-        <description>Each pass applies one round of the consistency transformation on the set of sequences.\r
-       The consistency transformation is described in detail in the mentioned papers. In each\r
-       round, the aligner computes the consistency transformation for each pair of sequences\r
-       using all other sequences. The aligner then updates the posterior probability matrices of\r
-       the pairwise alignments.</description>\r
+        <description>\r
+            Each pass applies one round of the consistency transformation on the set of sequences.\r
+            The consistency transformation is described in detail in the mentioned papers. In each\r
+            round, the aligner computes the consistency transformation for each pair of sequences\r
+            using all other sequences. The aligner then updates the posterior probability matrices of\r
+            the pairwise alignments.\r
+        </description>\r
         <optionNames>-c</optionNames>\r
         <furtherDetails>prog_docs/probcons.pdf</furtherDetails>\r
         <defaultValue>2</defaultValue>\r
-         <validValue>\r
-               <type>Integer</type>\r
+        <validValue>\r
+            <type>Integer</type>\r
             <min>0</min>\r
             <max>5</max>\r
         </validValue>\r
index fc44c44..3856a1e 100644 (file)
@@ -104,7 +104,7 @@ public final class ClustalAlignmentUtil {
                                        id = str.nextToken();\r
                                        // PROBCONS output clustal formatted file with not mention\r
                                        // of CLUSTAL (:-))\r
-                                       if (id.equals("CLUSTAL") || id.equals("PROBCONS")) {\r
+                                       if (id.equals("CLUSTAL") || id.equals("PROBCONS") || id.equals("MSAPROBS")) {\r
                                                flag = true;\r
                                        } else {\r
                                                if (flag) {\r
index 0a234a3..3c7570a 100644 (file)
@@ -54,6 +54,17 @@ public enum Program {
         * Probcons\r
         */\r
        Probcons,\r
+\r
+       /**\r
+        * MSAprobs\r
+        */\r
+       MSAprobs,\r
+\r
+       /**\r
+        * GLprobs\r
+        */\r
+       GLprobs,\r
+\r
        /**\r
         * Jpred\r
         */\r
index 5825767..ebdd382 100644 (file)
@@ -51,7 +51,7 @@ How To add a new executable.
     implement a web service which confirms to it within a webservices source \r
     folder. \r
 \r
-12) Register web service in WEB-INF/ web.xml and sun-jaxws.xml\r
+12) Register web service in WEB-INF/web.xml and WEB-INF/sun-jaxws.xml\r
 \r
 13) Add generated wsdl to wsbuild.xml ant script to generate the stubs\r
 \r
diff --git a/runner/compbio/runner/msa/GLprobs.java b/runner/compbio/runner/msa/GLprobs.java
new file mode 100644 (file)
index 0000000..949461e
--- /dev/null
@@ -0,0 +1,95 @@
+/* Copyright (c) 2011 Peter Troshin\r
+ *  \r
+ *  JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0     \r
+ * \r
+ *  This library is free software; you can redistribute it and/or modify it under the terms of the\r
+ *  Apache License version 2 as published by the Apache Software Foundation\r
+ * \r
+ *  This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
+ *  even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
+ *  License for more details.\r
+ * \r
+ *  A copy of the license is in apache_license.txt. It is also available here:\r
+ * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
+ * \r
+ * Any republication or derived work distributed in source code form\r
+ * must include this copyright and license notice.\r
+ */\r
+\r
+package compbio.runner.msa;\r
+\r
+import java.io.FileNotFoundException;\r
+import java.io.IOException;\r
+import java.util.Arrays;\r
+import java.util.List;\r
+\r
+import org.apache.log4j.Logger;\r
+\r
+import compbio.data.sequence.Alignment;\r
+import compbio.data.sequence.UnknownFileFormatException;\r
+import compbio.engine.client.PipedExecutable;\r
+import compbio.engine.client.SkeletalExecutable;\r
+import compbio.metadata.ResultNotAvailableException;\r
+import compbio.runner.RunnerUtil;\r
+\r
+public class GLprobs extends SkeletalExecutable<GLprobs>\r
+               implements\r
+                       PipedExecutable<GLprobs> {\r
+\r
+       private static Logger log = Logger.getLogger(GLprobs.class);\r
+\r
+       private final static String ANNOTATION = "annotation.txt";\r
+\r
+       public static final String KEY_VALUE_SEPARATOR = " ";\r
+\r
+       /**\r
+        */\r
+       public GLprobs() {\r
+               addParameters(Arrays.asList("-v", "-clustalw", "-annot", ANNOTATION));\r
+               /*\r
+                * Could either have probabilities or the alignment, but not both "-t",\r
+                * "probabilities"\r
+                */\r
+       }\r
+\r
+       @SuppressWarnings("unchecked")\r
+       @Override\r
+       public Alignment getResults(String workDirectory)\r
+                       throws ResultNotAvailableException {\r
+               try {\r
+                       return RunnerUtil.readClustalFile(workDirectory, getOutput());\r
+               } catch (FileNotFoundException e) {\r
+                       log.error(e.getMessage(), e.getCause());\r
+                       throw new ResultNotAvailableException(e);\r
+               } catch (IOException e) {\r
+                       log.error(e.getMessage(), e.getCause());\r
+                       throw new ResultNotAvailableException(e);\r
+               } catch (UnknownFileFormatException e) {\r
+                       log.error(e.getMessage(), e.getCause());\r
+                       throw new ResultNotAvailableException(e);\r
+               } catch (NullPointerException e) {\r
+                       log.error(e.getMessage(), e.getCause());\r
+                       throw new ResultNotAvailableException(e);\r
+               }\r
+       }\r
+\r
+       @Override\r
+       public List<String> getCreatedFiles() {\r
+               return Arrays.asList(getOutput(), ANNOTATION, getError());\r
+       }\r
+\r
+       @Override\r
+       public GLprobs setInput(String inFile) {\r
+               String input = getInput();\r
+               super.setInput(inFile);\r
+               // TODO replace with setLast\r
+               cbuilder.setParam(inFile);\r
+               return this;\r
+       }\r
+\r
+       @SuppressWarnings("unchecked")\r
+       @Override\r
+       public Class<GLprobs> getType() {\r
+               return (Class<GLprobs>) this.getClass();\r
+       }\r
+}\r
diff --git a/runner/compbio/runner/msa/MSAprobs.java b/runner/compbio/runner/msa/MSAprobs.java
new file mode 100644 (file)
index 0000000..9264384
--- /dev/null
@@ -0,0 +1,95 @@
+/* Copyright (c) 2011 Peter Troshin\r
+ *  \r
+ *  JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0     \r
+ * \r
+ *  This library is free software; you can redistribute it and/or modify it under the terms of the\r
+ *  Apache License version 2 as published by the Apache Software Foundation\r
+ * \r
+ *  This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
+ *  even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
+ *  License for more details.\r
+ * \r
+ *  A copy of the license is in apache_license.txt. It is also available here:\r
+ * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
+ * \r
+ * Any republication or derived work distributed in source code form\r
+ * must include this copyright and license notice.\r
+ */\r
+\r
+package compbio.runner.msa;\r
+\r
+import java.io.FileNotFoundException;\r
+import java.io.IOException;\r
+import java.util.Arrays;\r
+import java.util.List;\r
+\r
+import org.apache.log4j.Logger;\r
+\r
+import compbio.data.sequence.Alignment;\r
+import compbio.data.sequence.UnknownFileFormatException;\r
+import compbio.engine.client.PipedExecutable;\r
+import compbio.engine.client.SkeletalExecutable;\r
+import compbio.metadata.ResultNotAvailableException;\r
+import compbio.runner.RunnerUtil;\r
+\r
+public class MSAprobs extends SkeletalExecutable<MSAprobs>\r
+               implements\r
+                       PipedExecutable<MSAprobs> {\r
+\r
+       private static Logger log = Logger.getLogger(MSAprobs.class);\r
+\r
+       private final static String ANNOTATION = "annotation.txt";\r
+\r
+       public static final String KEY_VALUE_SEPARATOR = " ";\r
+\r
+       /**\r
+        */\r
+       public MSAprobs() {\r
+               addParameters(Arrays.asList("-v", "-clustalw", "-annot", ANNOTATION));\r
+               /*\r
+                * Could either have probabilities or the alignment, but not both "-t",\r
+                * "probabilities"\r
+                */\r
+       }\r
+\r
+       @SuppressWarnings("unchecked")\r
+       @Override\r
+       public Alignment getResults(String workDirectory)\r
+                       throws ResultNotAvailableException {\r
+               try {\r
+                       return RunnerUtil.readClustalFile(workDirectory, getOutput());\r
+               } catch (FileNotFoundException e) {\r
+                       log.error(e.getMessage(), e.getCause());\r
+                       throw new ResultNotAvailableException(e);\r
+               } catch (IOException e) {\r
+                       log.error(e.getMessage(), e.getCause());\r
+                       throw new ResultNotAvailableException(e);\r
+               } catch (UnknownFileFormatException e) {\r
+                       log.error(e.getMessage(), e.getCause());\r
+                       throw new ResultNotAvailableException(e);\r
+               } catch (NullPointerException e) {\r
+                       log.error(e.getMessage(), e.getCause());\r
+                       throw new ResultNotAvailableException(e);\r
+               }\r
+       }\r
+\r
+       @Override\r
+       public List<String> getCreatedFiles() {\r
+               return Arrays.asList(getOutput(), ANNOTATION, getError());\r
+       }\r
+\r
+       @Override\r
+       public MSAprobs setInput(String inFile) {\r
+               String input = getInput();\r
+               super.setInput(inFile);\r
+               // TODO replace with setLast\r
+               cbuilder.setParam(inFile);\r
+               return this;\r
+       }\r
+\r
+       @SuppressWarnings("unchecked")\r
+       @Override\r
+       public Class<MSAprobs> getType() {\r
+               return (Class<MSAprobs>) this.getClass();\r
+       }\r
+}\r
index fa9968b..8694d16 100644 (file)
@@ -64,6 +64,8 @@ public class Category {
                align_services.add(Services.MafftWS);\r
                align_services.add(Services.MuscleWS);\r
                align_services.add(Services.ProbconsWS);\r
+               align_services.add(Services.MSAprobsWS);\r
+               align_services.add(Services.GLprobsWS);\r
                align_services.add(Services.TcoffeeWS);\r
                Category alignment = new Category(CATEGORY_ALIGNMENT, align_services);\r
 \r
index 42d282e..6815e33 100644 (file)
@@ -31,7 +31,7 @@ import compbio.data.msa.MsaWS;
 import compbio.data.msa.SequenceAnnotation;\r
 \r
 /**\r
- * List of web services currently supported by JABAWS version 2\r
+ * List of web services currently supported by JABAWS version 2.1\r
  * \r
  */\r
 public enum Services {\r
@@ -39,7 +39,11 @@ public enum Services {
         * Make sure this class has NO references to runners or engines as it is a\r
         * part of minimal client package. Such things should go into ServicesUtil\r
         */\r
-       MafftWS, MuscleWS, ClustalWS, ClustalOWS, TcoffeeWS, ProbconsWS, AAConWS, JronnWS, DisemblWS, GlobPlotWS, IUPredWS, JpredWS, RNAalifoldWS;\r
+       MafftWS, MuscleWS, ClustalWS, ClustalOWS, TcoffeeWS, ProbconsWS, MSAprobsWS, GLprobsWS,\r
+       AAConWS, \r
+       JronnWS, DisemblWS, GlobPlotWS, IUPredWS, \r
+       JpredWS, \r
+       RNAalifoldWS;\r
 \r
        public static Services getService(String servName) {\r
                servName = servName.trim().toLowerCase();\r
@@ -86,9 +90,10 @@ public enum Services {
                        case MafftWS :\r
                        case MuscleWS :\r
                        case ProbconsWS :\r
+                       case MSAprobsWS :\r
+                       case GLprobsWS :\r
                        case TcoffeeWS :\r
                                return MsaWS.class;\r
-\r
                        default :\r
                                throw new RuntimeException("Unrecognised Web Service Type " + this + " - Should never happen!");\r
                }\r
@@ -110,6 +115,8 @@ public enum Services {
                        case MafftWS :\r
                        case MuscleWS :\r
                        case ProbconsWS :\r
+                       case MSAprobsWS :\r
+                       case GLprobsWS :\r
                        case TcoffeeWS :\r
                                return JABAService.SERVICE_NAMESPACE;\r
                        default :\r
@@ -148,6 +155,10 @@ public enum Services {
                                return MUSCLE_INFO.toString();\r
                        case ProbconsWS :\r
                                return PROBCONS_INFO.toString();\r
+                       case MSAprobsWS :\r
+                               return MSAPROBS_INFO.toString();\r
+                       case GLprobsWS :\r
+                               return GLPROBS_INFO.toString();\r
                        case TcoffeeWS :\r
                                return TCOFFEE_INFO.toString();\r
                        case RNAalifoldWS :\r
@@ -181,6 +192,10 @@ public enum Services {
                                return MUSCLE_INFO.getReference();\r
                        case ProbconsWS :\r
                                return PROBCONS_INFO.getReference();\r
+                       case MSAprobsWS :\r
+                               return MSAPROBS_INFO.getReference();\r
+                       case GLprobsWS :\r
+                               return GLPROBS_INFO.getReference();\r
                        case TcoffeeWS :\r
                                return TCOFFEE_INFO.getReference();\r
                        case RNAalifoldWS :\r
@@ -214,6 +229,10 @@ public enum Services {
                                return MUSCLE_INFO.getVersion();\r
                        case ProbconsWS :\r
                                return PROBCONS_INFO.getVersion();\r
+                       case MSAprobsWS :\r
+                               return MSAPROBS_INFO.getVersion();\r
+                       case GLprobsWS :\r
+                               return GLPROBS_INFO.getVersion();\r
                        case TcoffeeWS :\r
                                return TCOFFEE_INFO.getVersion();\r
                        case RNAalifoldWS :\r
@@ -247,6 +266,10 @@ public enum Services {
                                return "alignment";\r
                        case ProbconsWS :\r
                                return "alignment";\r
+                       case GLprobsWS :\r
+                               return "alignment";\r
+                       case MSAprobsWS :\r
+                               return "alignment";\r
                        case TcoffeeWS :\r
                                return "alignment";\r
                        case RNAalifoldWS :\r
@@ -260,71 +283,90 @@ public enum Services {
                        "in preparation", "1.0", "http://www.compbio.dundee.ac.uk/aacon");\r
 \r
        static ServiceInfo JPRED_INFO = new ServiceInfo(JpredWS,\r
-                       "Cole C, Barber JD, Barton GJ.reparation" + \r
-                       "The Jpred 3 secondary structure prediction server\n" +\r
-                       "Nucl. Acids Res. (2008) 36 (suppl 2): W197-W201., doi: 10.1093/nar/gkn238", \r
+                       "Cole C, Barber JD, Barton GJ,\r\n" + \r
+                       "\"The Jpred 3 secondary structure prediction server\"\r\n" +\r
+                       "Nucl. Acids Res. 36 (suppl 2):W197 (2008)", \r
                        "3.0.3", "http://www.compbio.dundee.ac.uk/www-jpred");\r
        \r
        static ServiceInfo CLUSTAL_INFO = new ServiceInfo(ClustalWS,\r
-                       "Larkin MA, Blackshields G, Brown NP, Chenna R, McGettigan PA, McWilliam H, Valentin F, " + \r
-                       "Wallace IM, Wilm A, Lopez R, Thompson JD, Gibson TJ, Higgins DG.\n" +\r
-                       "(2007). Clustal W and Clustal X version 2.0. Bioinformatics, 23, 2947-2948.",\r
+                       "Larkin MA, Blackshields G, Brown NP, Chenna R, McGettigan PA, McWilliam H, Valentin F, Wallace IM, Wilm A, Lopez R, Thompson JD, Gibson TJ, Higgins DG,\r\n" +\r
+                       "\"Clustal W and Clustal X version 2.0\"\r\n" + \r
+                       "Bioinformatics, 23: 2947 (2007)",\r
                        "2.0.12", "http://www.clustal.org/clustal2/");\r
 \r
        static ServiceInfo CLUSTAL_OMEGA_INFO = new ServiceInfo(ClustalOWS,\r
-                       "Fast, scalable generation of high quality protein multiple sequence alignments using Clustal Omega\r\n"\r
-                       + "Fabian Sievers, Andreas Wilm, David Dineen, Toby J. Gibson, Kevin Karplus, Weizhong Li, Rodrigo Lopez, Hamish McWilliam, Michael Remmert, Johannes Söding, Julie D. Thompson, Desmond G. Higgins",\r
-                       "1.0.2", "http://www.clustal.org/omega");\r
+                       "Sievers F, Wilm A, Dineen D, Gibson TJ, Karplus K, Li W, Lopez R, McWilliam H, Remmert M, Söding J, Thompson JD, Higgins DG,\r\n" +\r
+                       "\"Fast, scalable generation of high quality protein multiple sequence alignments using Clustal Omega\"\r\n" +\r
+                       "Mol Syst Biol. 7:539 (2011)",\r
+                       "1.0.2", "http://www.clustal.org/omega/");\r
 \r
        static ServiceInfo DISEMBL_INFO = new ServiceInfo(DisemblWS,\r
-                       "R. Linding, L.J. Jensen, F. Diella, P. Bork, T.J. Gibson and R.B. Russell\r\n"\r
-                       + "Protein disorder prediction: implications for structural proteomics\r\n"\r
-                       + "Structure Vol 11, Issue 11, 4 November 2003", "1.5",\r
-                       "http://dis.embl.de/");\r
+                       "Linding R, Jensen LJ, Diella F, Bork P, Gibson TJ, and Russell RB,\r\n" +\r
+                       "\"Protein disorder prediction: implications for structural proteomics\"\r\n" +\r
+                       "Structure 11(11):1453 (2003)", \r
+                       "1.5", "http://dis.embl.de/");\r
 \r
        static ServiceInfo GLOBPLOT_INFO = new ServiceInfo(GlobPlotWS,\r
-                       "Rune Linding, Robert B. Russell, Victor Neduva and Toby J. Gibson " +\r
-                       "'GlobPlot: exploring protein sequences for globularity and disorder.' " + \r
-                       "Nucl. Acids Res. (2003) 31 (13): 3701-3708. doi: 10.1093/nar/gkg519\r\n",\r
+                       "Linding R, Russell RB, Neduva V and Gibson TJ,\r\n" +\r
+                       "GlobPlot: exploring protein sequences for globularity and disorder\r\n" + \r
+                       "Nucl. Acids Res. 31 (13):3701 (2003)",\r
                        "2.3", "http://globplot.embl.de/");\r
 \r
        static ServiceInfo IUPRED_INFO = new ServiceInfo(IUPredWS,\r
-                       "The Pairwise Energy Content Estimated from Amino Acid Composition Discriminates between Folded and Intrinsically Unstructured Proteins\r\n"\r
-                       + "Zsuzsanna Dosztányi, Veronika Csizmók, Péter Tompa and István Simon\r\n"\r
-                       + "J. Mol. Biol. (2005) 347, 827-839.", "1.0",\r
-                       "http://iupred.enzim.hu/");\r
+                       "Dosztányi Z, Csizmók V, Tompa P, and Simon I,\r\n" +\r
+                       "\"The Pairwise Energy Content Estimated from Amino Acid Composition Discriminates between Folded and Intrinsically Unstructured Proteins\"\r\n" +\r
+                       "J. Mol. Biol. 347:827 (2005)", \r
+                       "1.0", "http://iupred.enzim.hu/");\r
 \r
        static ServiceInfo TCOFFEE_INFO = new ServiceInfo(TcoffeeWS,\r
-                       "T-Coffee: A novel method for multiple sequence alignments  "\r
-                       + "Notredame, Higgins, Heringa, JMB, 302 (205-217) 2000",\r
+                       "Notredame C, Higgins DG, Heringa L,\r\n" +\r
+                       "\"T-Coffee: A novel method for multiple sequence alignments\"\r\n" + \r
+                       "JMB, 302(1):205 (2000)",\r
                        "8.99", "http://tcoffee.crg.cat/apps/tcoffee/index.html");\r
 \r
        static ServiceInfo MUSCLE_INFO = new ServiceInfo(MuscleWS,\r
-                       "Edgar, R.C. (2004) MUSCLE: multiple sequence alignment with high accuracy and high throughput.Nucleic Acids Res. 32(5):1792-1797.\r\n"\r
-                       + "doi:10.1093/nar/gkh340", "3.8.31",\r
-                       "http://www.drive5.com/muscle/");\r
+                       "Edgar RC,\r\n"+ \r
+                       "\"MUSCLE: multiple sequence alignment with high accuracy and high throughput\"\r\n" + \r
+                       "Nucleic Acids Res. 32(5):1792 (2004)", \r
+                       "3.8.31", "http://www.drive5.com/muscle/");\r
 \r
        static ServiceInfo PROBCONS_INFO = new ServiceInfo(ProbconsWS,\r
-                       "Do, C.B., Mahabhashyam, M.S.P., Brudno, M., and Batzoglou, S. 2005. PROBCONS: "\r
-                       + "Probabilistic Consistency-based Multiple Sequence Alignment. Genome Research 15: 330-340. ",\r
+                       "Do CB, Mahabhashyam MSP, Brudno M, and Batzoglou S,\r\n" +\r
+                       "\"PROBCONS: Probabilistic Consistency-based Multiple Sequence Alignment\"\r\n" + \r
+                       "Genome Research 15:330 (2005)",\r
                        "1.12", "http://probcons.stanford.edu/");\r
 \r
+       static ServiceInfo MSAPROBS_INFO = new ServiceInfo(MSAprobsWS,\r
+                       "Liu Y, Schmidt B, and Maskell DL,\r\n" + \r
+                       "\"MSAProbs: multiple sequence alignment based on pair hidden Markov models and partition function posterior probabilities\"\r\n" +\r
+                       "Bioinformatics, 26 (16):1958 (2010)",\r
+                       "0.9.7", "http://msaprobs.sourceforge.net/");\r
+\r
+       static ServiceInfo GLPROBS_INFO = new ServiceInfo(GLprobsWS,\r
+                       "Yongtao Ye, Siu-Ming Yiu, David W. Cheung, Qing Zhan, Hing-Fung Ting, Yadong Wang, Tak-Wah Lam,\r\n" +\r
+                       "\"GLProbs: Aligning multiple sequences adaptively\"\r\n" + \r
+                       "in progress (2013)",\r
+                       "1.0", "http://sourceforge.net/projects/glprobs/");\r
+\r
        static ServiceInfo JRONN_INFO = new ServiceInfo(JronnWS,\r
-                       "unpublished, original algorithm Yang,Z.R., Thomson,R., McMeil,P. and Esnouf,R.M. (2005) "\r
-                                       + "RONN: the bio-basis function neural network technique applied to the "\r
-                                       + "dectection of natively disordered regions in proteins Bioinformatics 21: 3369-3376\r\n",\r
+                       "unpublished, original algorithm Yang ZR, Thomson R, McMeil P, and Esnouf RM,\r\n" + \r
+                       "\"RONN: the bio-basis function neural network technique applied to the dectection of natively disordered regions in proteins\"\r\n" +\r
+                       "Bioinformatics 21:3369 (2005)\r\n",\r
                        "1.0", "http://www.compbio.dundee.ac.uk/jabaws/");\r
 \r
        static ServiceInfo MAFFT_INFO = new ServiceInfo(MafftWS,\r
-                       "Katoh, Toh 2010 (Bioinformatics 26:1899-1900)\r\n"\r
-                                       + "Parallelization of the MAFFT multiple sequence alignment program. ",\r
+                       "Katoh K, Toh H,\r\n" +\r
+                       "\"Parallelization of the MAFFT multiple sequence alignment program\"\r\n" + \r
+                       "Bioinformatics 26:1899 (2010)",\r
                        "6.8.57", "http://mafft.cbrc.jp/alignment/software/");\r
 \r
        static ServiceInfo RNAALIFOLD_INFO = new ServiceInfo(RNAalifoldWS,\r
-                       "Ivo L. Hofacker, Martin Fekete, and Peter F. Stadler 'Secondary Structure Prediction"\r
-                       + " for Aligned RNA Sequences'. J.Mol.Biol. 319: 1059-1066, 2002. Stephan H. Bernhart,"\r
-                       + " Ivo L. Hofacker, Sebastian Will, Andreas R. Gruber, and Peter F. Stadler. "\r
-                       + "'RNAalifold: Improved consensus structure prediction for RNA alignments'. BMC Bioinformatics, 9:474, 2008.\r\n",\r
+                       "Hofacker IL, Fekete M, and Stadler PV,\r\n"+ \r
+                       "\"Secondary Structure Prediction for Aligned RNA Sequences\"\r\n" + \r
+                       "J.Mol.Biol. 319:1059 (2002) and\r\n " + \r
+                       "Bernhart SH, Hofacker IL Will S, Gruber AR, and Stadler PF,\r\n" + \r
+                       "\"RNAalifold: Improved consensus structure prediction for RNA alignments\"\r\n" +\r
+                       "BMC Bioinformatics, 9:474 (2008)\r\n",\r
                        "2.1.2", "http://www.tbi.univie.ac.at/RNA/");\r
 \r
        @XmlAccessorType(XmlAccessType.FIELD)\r
@@ -333,7 +375,7 @@ public enum Services {
                String reference;\r
                String version;\r
                String moreinfo;\r
-               final static String jabaws_version = "2.5";\r
+               final static String jabaws_version = "2.1";\r
                final static String line_delimiter = "\n";\r
 \r
                private ServiceInfo() {\r
index 7084028..8f9bcdc 100644 (file)
@@ -15,6 +15,8 @@ import compbio.runner.msa.ClustalW;
 import compbio.runner.msa.Mafft;\r
 import compbio.runner.msa.Muscle;\r
 import compbio.runner.msa.Probcons;\r
+import compbio.runner.msa.MSAprobs;\r
+import compbio.runner.msa.GLprobs;\r
 import compbio.runner.msa.Tcoffee;\r
 import compbio.runner.structure.RNAalifold;\r
 \r
@@ -31,7 +33,7 @@ public class ServicesUtil {
                return null;\r
        }\r
 \r
-       public static Class<? extends Executable<?>> getServiceImpl(Services service) {\r
+       private static Class<? extends Executable<?>> getServiceImpl(Services service) {\r
                switch (service) {\r
                        case AAConWS :\r
                                return AACon.class;\r
@@ -49,6 +51,10 @@ public class ServicesUtil {
                                return Tcoffee.class;\r
                        case ProbconsWS :\r
                                return Probcons.class;\r
+                       case MSAprobsWS :\r
+                               return MSAprobs.class;\r
+                       case GLprobsWS :\r
+                               return GLprobs.class;\r
                        case DisemblWS :\r
                                return Disembl.class;\r
                        case GlobPlotWS :\r
diff --git a/webservices/compbio/ws/server/GLprobsWS.java b/webservices/compbio/ws/server/GLprobsWS.java
new file mode 100644 (file)
index 0000000..91b048d
--- /dev/null
@@ -0,0 +1,157 @@
+/* Copyright (c) 2011 Peter Troshin\r
+ *  \r
+ *  JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0     \r
+ * \r
+ *  This library is free software; you can redistribute it and/or modify it under the terms of the\r
+ *  Apache License version 2 as published by the Apache Software Foundation\r
+ * \r
+ *  This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
+ *  even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
+ *  License for more details.\r
+ * \r
+ *  A copy of the license is in apache_license.txt. It is also available here:\r
+ * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
+ * \r
+ * Any republication or derived work distributed in source code form\r
+ * must include this copyright and license notice.\r
+ */\r
+\r
+package compbio.ws.server;\r
+\r
+import java.io.File;\r
+import java.util.List;\r
+\r
+import javax.jws.WebService;\r
+\r
+import org.apache.log4j.Logger;\r
+\r
+import compbio.data.msa.JABAService;\r
+import compbio.data.msa.MsaWS;\r
+import compbio.data.sequence.Alignment;\r
+import compbio.data.sequence.FastaSequence;\r
+import compbio.data.sequence.Program;\r
+import compbio.engine.AsyncExecutor;\r
+import compbio.engine.Configurator;\r
+import compbio.engine.client.ConfiguredExecutable;\r
+import compbio.engine.client.SkeletalExecutable;\r
+import compbio.engine.client.EngineUtil;\r
+import compbio.metadata.ChunkHolder;\r
+import compbio.metadata.JobStatus;\r
+import compbio.metadata.JobSubmissionException;\r
+import compbio.metadata.Limit;\r
+import compbio.metadata.LimitsManager;\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.WrongParameterException;\r
+import compbio.runner.RunnerUtil;\r
+import compbio.runner.msa.GLprobs;\r
+\r
+@WebService(endpointInterface = "compbio.data.msa.MsaWS", targetNamespace = JABAService.SERVICE_NAMESPACE, serviceName = "GLprobsWS")\r
+public class GLprobsWS implements MsaWS<GLprobs> {\r
+\r
+       private static Logger log = Logger.getLogger(GLprobsWS.class);\r
+\r
+       private static final RunnerConfig<GLprobs> GLprobsOptions = RunnerUtil.getSupportedOptions(GLprobs.class);\r
+       private static final LimitsManager<GLprobs> limitMan = EngineUtil.getLimits(new GLprobs().getType());\r
+\r
+       @Override\r
+       public String align(List<FastaSequence> sequences)\r
+                       throws JobSubmissionException {\r
+               WSUtil.validateFastaInput(sequences);\r
+               ConfiguredExecutable<GLprobs> confGLprobs = init(sequences);\r
+               return WSUtil.align(sequences, confGLprobs, log, "align", getLimit(""));\r
+       }\r
+\r
+       ConfiguredExecutable<GLprobs> init(List<FastaSequence> dataSet)\r
+                       throws JobSubmissionException {\r
+               GLprobs GLprobs = new GLprobs();\r
+               GLprobs.setInput(SkeletalExecutable.INPUT);\r
+               GLprobs.setOutput(SkeletalExecutable.OUTPUT);\r
+               GLprobs.setError(SkeletalExecutable.ERROR);\r
+               return Configurator.configureExecutable(GLprobs, dataSet);\r
+       }\r
+\r
+       @Override\r
+       public String customAlign(List<FastaSequence> sequences,\r
+                       List<Option<GLprobs>> options) throws JobSubmissionException,\r
+                       WrongParameterException {\r
+               WSUtil.validateFastaInput(sequences);\r
+               ConfiguredExecutable<GLprobs> confGLprobs = init(sequences);\r
+               List<String> params = WSUtil.getCommands(options, GLprobs.KEY_VALUE_SEPARATOR);\r
+               log.info("Setting parameters:" + params);\r
+               confGLprobs.addParameters(params);\r
+               return WSUtil.align(sequences, confGLprobs, log, "customAlign",getLimit(""));\r
+       }\r
+\r
+       @Override\r
+       public String presetAlign(List<FastaSequence> sequences,\r
+                       Preset<GLprobs> preset) throws JobSubmissionException,\r
+                       WrongParameterException {\r
+               WSUtil.validateFastaInput(sequences);\r
+               if (preset == null) {\r
+                       throw new WrongParameterException("Preset must be provided!");\r
+               }\r
+               ConfiguredExecutable<GLprobs> confGLprobs = init(sequences);\r
+               confGLprobs.addParameters(preset.getOptions());\r
+               Limit<GLprobs> limit = getLimit(preset.getName());\r
+               return WSUtil.align(sequences, confGLprobs, log, "presetAlign", limit);\r
+       }\r
+\r
+       @SuppressWarnings("unchecked")\r
+       @Override\r
+       public Alignment getResult(String jobId) throws ResultNotAvailableException {\r
+               WSUtil.validateJobId(jobId);\r
+               AsyncExecutor asyncEngine = Configurator.getAsyncEngine(jobId);\r
+               ConfiguredExecutable<GLprobs> GLprobs = (ConfiguredExecutable<GLprobs>) asyncEngine.getResults(jobId);\r
+               Alignment al = GLprobs.getResults();\r
+               return new Alignment (al.getSequences(), Program.GLprobs, '-');\r
+       }\r
+\r
+       @Override\r
+       public Limit<GLprobs> getLimit(String presetName) {\r
+               if (limitMan == null) {\r
+                       // Limit is not defined\r
+                       return null;\r
+               }\r
+               return limitMan.getLimitByName(presetName);\r
+       }\r
+\r
+       @Override\r
+       public LimitsManager<GLprobs> getLimits() {\r
+               return limitMan;\r
+       }\r
+\r
+       @Override\r
+       public ChunkHolder pullExecStatistics(String jobId, long position) {\r
+               WSUtil.validateJobId(jobId);\r
+               // TODO check if output is the one to return\r
+               String file = Configurator.getWorkDirectory(jobId) + File.separator + new GLprobs().getError();\r
+               return WSUtil.pullFile(file, position);\r
+       }\r
+\r
+       @Override\r
+       public boolean cancelJob(String jobId) {\r
+               WSUtil.validateJobId(jobId);\r
+               return WSUtil.cancelJob(jobId);\r
+       }\r
+\r
+       @Override\r
+       public JobStatus getJobStatus(String jobId) {\r
+               WSUtil.validateJobId(jobId);\r
+               return WSUtil.getJobStatus(jobId);\r
+       }\r
+\r
+       @Override\r
+       public PresetManager<GLprobs> getPresets() {\r
+               return null;\r
+       }\r
+\r
+       @Override\r
+       public RunnerConfig<GLprobs> getRunnerOptions() {\r
+               return GLprobsOptions;\r
+       }\r
+\r
+}\r
diff --git a/webservices/compbio/ws/server/MSAprobsWS.java b/webservices/compbio/ws/server/MSAprobsWS.java
new file mode 100644 (file)
index 0000000..0f25069
--- /dev/null
@@ -0,0 +1,157 @@
+/* Copyright (c) 2011 Peter Troshin\r
+ *  \r
+ *  JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0     \r
+ * \r
+ *  This library is free software; you can redistribute it and/or modify it under the terms of the\r
+ *  Apache License version 2 as published by the Apache Software Foundation\r
+ * \r
+ *  This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\r
+ *  even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache \r
+ *  License for more details.\r
+ * \r
+ *  A copy of the license is in apache_license.txt. It is also available here:\r
+ * @see: http://www.apache.org/licenses/LICENSE-2.0.txt\r
+ * \r
+ * Any republication or derived work distributed in source code form\r
+ * must include this copyright and license notice.\r
+ */\r
+\r
+package compbio.ws.server;\r
+\r
+import java.io.File;\r
+import java.util.List;\r
+\r
+import javax.jws.WebService;\r
+\r
+import org.apache.log4j.Logger;\r
+\r
+import compbio.data.msa.JABAService;\r
+import compbio.data.msa.MsaWS;\r
+import compbio.data.sequence.Alignment;\r
+import compbio.data.sequence.FastaSequence;\r
+import compbio.data.sequence.Program;\r
+import compbio.engine.AsyncExecutor;\r
+import compbio.engine.Configurator;\r
+import compbio.engine.client.ConfiguredExecutable;\r
+import compbio.engine.client.SkeletalExecutable;\r
+import compbio.engine.client.EngineUtil;\r
+import compbio.metadata.ChunkHolder;\r
+import compbio.metadata.JobStatus;\r
+import compbio.metadata.JobSubmissionException;\r
+import compbio.metadata.Limit;\r
+import compbio.metadata.LimitsManager;\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.WrongParameterException;\r
+import compbio.runner.RunnerUtil;\r
+import compbio.runner.msa.MSAprobs;\r
+\r
+@WebService(endpointInterface = "compbio.data.msa.MsaWS", targetNamespace = JABAService.SERVICE_NAMESPACE, serviceName = "MSAprobsWS")\r
+public class MSAprobsWS implements MsaWS<MSAprobs> {\r
+\r
+       private static Logger log = Logger.getLogger(MSAprobsWS.class);\r
+\r
+       private static final RunnerConfig<MSAprobs> MSAprobsOptions = RunnerUtil.getSupportedOptions(MSAprobs.class);\r
+       private static final LimitsManager<MSAprobs> limitMan = EngineUtil.getLimits(new MSAprobs().getType());\r
+\r
+       @Override\r
+       public String align(List<FastaSequence> sequences)\r
+                       throws JobSubmissionException {\r
+               WSUtil.validateFastaInput(sequences);\r
+               ConfiguredExecutable<MSAprobs> confMSAprobs = init(sequences);\r
+               return WSUtil.align(sequences, confMSAprobs, log, "align", getLimit(""));\r
+       }\r
+\r
+       ConfiguredExecutable<MSAprobs> init(List<FastaSequence> dataSet)\r
+                       throws JobSubmissionException {\r
+               MSAprobs MSAprobs = new MSAprobs();\r
+               MSAprobs.setInput(SkeletalExecutable.INPUT);\r
+               MSAprobs.setOutput(SkeletalExecutable.OUTPUT);\r
+               MSAprobs.setError(SkeletalExecutable.ERROR);\r
+               return Configurator.configureExecutable(MSAprobs, dataSet);\r
+       }\r
+\r
+       @Override\r
+       public String customAlign(List<FastaSequence> sequences,\r
+                       List<Option<MSAprobs>> options) throws JobSubmissionException,\r
+                       WrongParameterException {\r
+               WSUtil.validateFastaInput(sequences);\r
+               ConfiguredExecutable<MSAprobs> confMSAprobs = init(sequences);\r
+               List<String> params = WSUtil.getCommands(options, MSAprobs.KEY_VALUE_SEPARATOR);\r
+               log.info("Setting parameters:" + params);\r
+               confMSAprobs.addParameters(params);\r
+               return WSUtil.align(sequences, confMSAprobs, log, "customAlign",getLimit(""));\r
+       }\r
+\r
+       @Override\r
+       public String presetAlign(List<FastaSequence> sequences,\r
+                       Preset<MSAprobs> preset) throws JobSubmissionException,\r
+                       WrongParameterException {\r
+               WSUtil.validateFastaInput(sequences);\r
+               if (preset == null) {\r
+                       throw new WrongParameterException("Preset must be provided!");\r
+               }\r
+               ConfiguredExecutable<MSAprobs> confMSAprobs = init(sequences);\r
+               confMSAprobs.addParameters(preset.getOptions());\r
+               Limit<MSAprobs> limit = getLimit(preset.getName());\r
+               return WSUtil.align(sequences, confMSAprobs, log, "presetAlign", limit);\r
+       }\r
+\r
+       @SuppressWarnings("unchecked")\r
+       @Override\r
+       public Alignment getResult(String jobId) throws ResultNotAvailableException {\r
+               WSUtil.validateJobId(jobId);\r
+               AsyncExecutor asyncEngine = Configurator.getAsyncEngine(jobId);\r
+               ConfiguredExecutable<MSAprobs> MSAprobs = (ConfiguredExecutable<MSAprobs>) asyncEngine.getResults(jobId);\r
+               Alignment al = MSAprobs.getResults();\r
+               return new Alignment (al.getSequences(), Program.MSAprobs, '-');\r
+       }\r
+\r
+       @Override\r
+       public Limit<MSAprobs> getLimit(String presetName) {\r
+               if (limitMan == null) {\r
+                       // Limit is not defined\r
+                       return null;\r
+               }\r
+               return limitMan.getLimitByName(presetName);\r
+       }\r
+\r
+       @Override\r
+       public LimitsManager<MSAprobs> getLimits() {\r
+               return limitMan;\r
+       }\r
+\r
+       @Override\r
+       public ChunkHolder pullExecStatistics(String jobId, long position) {\r
+               WSUtil.validateJobId(jobId);\r
+               // TODO check if output is the one to return\r
+               String file = Configurator.getWorkDirectory(jobId) + File.separator + new MSAprobs().getError();\r
+               return WSUtil.pullFile(file, position);\r
+       }\r
+\r
+       @Override\r
+       public boolean cancelJob(String jobId) {\r
+               WSUtil.validateJobId(jobId);\r
+               return WSUtil.cancelJob(jobId);\r
+       }\r
+\r
+       @Override\r
+       public JobStatus getJobStatus(String jobId) {\r
+               WSUtil.validateJobId(jobId);\r
+               return WSUtil.getJobStatus(jobId);\r
+       }\r
+\r
+       @Override\r
+       public PresetManager<MSAprobs> getPresets() {\r
+               return null;\r
+       }\r
+\r
+       @Override\r
+       public RunnerConfig<MSAprobs> getRunnerOptions() {\r
+               return MSAprobsOptions;\r
+       }\r
+\r
+}\r
index 7e56e9d..0099b0e 100644 (file)
       <xs:enumeration value="Muscle"/>
       <xs:enumeration value="Tcoffee"/>
       <xs:enumeration value="Probcons"/>
+      <xs:enumeration value="MSAprobs"/>
+      <xs:enumeration value="GLprobs"/>
       <xs:enumeration value="Jpred"/>
     </xs:restriction>
   </xs:simpleType>
diff --git a/webservices/compbio/ws/server/resource/GLprobsWS.wsdl b/webservices/compbio/ws/server/resource/GLprobsWS.wsdl
new file mode 100644 (file)
index 0000000..66288af
--- /dev/null
@@ -0,0 +1,292 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is Metro/2.1 (branches/2.1-6728; 2011-02-03T14:14:58+0000) JAXWS-RI/2.2.3 JAXWS/2.2. -->
+<definitions targetNamespace="http://msa.data.compbio/01/01/2010/" name="GLprobsWS" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:tns="http://msa.data.compbio/01/01/2010/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
+  <types>
+    <xsd:schema>
+      <xsd:import namespace="http://msa.data.compbio/01/01/2010/" schemaLocation="GLprobsWS_schema1.xsd"/>
+    </xsd:schema>
+  </types>
+  <message name="align">
+    <part name="parameters" element="tns:align"/>
+  </message>
+  <message name="alignResponse">
+    <part name="parameters" element="tns:alignResponse"/>
+  </message>
+  <message name="UnsupportedRuntimeException">
+    <part name="fault" element="tns:UnsupportedRuntimeException"/>
+  </message>
+  <message name="LimitExceededException">
+    <part name="fault" element="tns:LimitExceededException"/>
+  </message>
+  <message name="JobSubmissionException">
+    <part name="fault" element="tns:JobSubmissionException"/>
+  </message>
+  <message name="presetAlign">
+    <part name="parameters" element="tns:presetAlign"/>
+  </message>
+  <message name="presetAlignResponse">
+    <part name="parameters" element="tns:presetAlignResponse"/>
+  </message>
+  <message name="WrongParameterException">
+    <part name="fault" element="tns:WrongParameterException"/>
+  </message>
+  <message name="customAlign">
+    <part name="parameters" element="tns:customAlign"/>
+  </message>
+  <message name="customAlignResponse">
+    <part name="parameters" element="tns:customAlignResponse"/>
+  </message>
+  <message name="getResult">
+    <part name="parameters" element="tns:getResult"/>
+  </message>
+  <message name="getResultResponse">
+    <part name="parameters" element="tns:getResultResponse"/>
+  </message>
+  <message name="ResultNotAvailableException">
+    <part name="fault" element="tns:ResultNotAvailableException"/>
+  </message>
+  <message name="cancelJob">
+    <part name="parameters" element="tns:cancelJob"/>
+  </message>
+  <message name="cancelJobResponse">
+    <part name="parameters" element="tns:cancelJobResponse"/>
+  </message>
+  <message name="getJobStatus">
+    <part name="parameters" element="tns:getJobStatus"/>
+  </message>
+  <message name="getJobStatusResponse">
+    <part name="parameters" element="tns:getJobStatusResponse"/>
+  </message>
+  <message name="pullExecStatistics">
+    <part name="parameters" element="tns:pullExecStatistics"/>
+  </message>
+  <message name="pullExecStatisticsResponse">
+    <part name="parameters" element="tns:pullExecStatisticsResponse"/>
+  </message>
+  <message name="getRunnerOptions">
+    <part name="parameters" element="tns:getRunnerOptions"/>
+  </message>
+  <message name="getRunnerOptionsResponse">
+    <part name="parameters" element="tns:getRunnerOptionsResponse"/>
+  </message>
+  <message name="getLimit">
+    <part name="parameters" element="tns:getLimit"/>
+  </message>
+  <message name="getLimitResponse">
+    <part name="parameters" element="tns:getLimitResponse"/>
+  </message>
+  <message name="getLimits">
+    <part name="parameters" element="tns:getLimits"/>
+  </message>
+  <message name="getLimitsResponse">
+    <part name="parameters" element="tns:getLimitsResponse"/>
+  </message>
+  <message name="getPresets">
+    <part name="parameters" element="tns:getPresets"/>
+  </message>
+  <message name="getPresetsResponse">
+    <part name="parameters" element="tns:getPresetsResponse"/>
+  </message>
+  <portType name="MsaWS">
+    <operation name="align">
+      <input wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/alignRequest" message="tns:align"/>
+      <output wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/alignResponse" message="tns:alignResponse"/>
+      <fault message="tns:UnsupportedRuntimeException" name="UnsupportedRuntimeException" wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/align/Fault/UnsupportedRuntimeException"/>
+      <fault message="tns:LimitExceededException" name="LimitExceededException" wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/align/Fault/LimitExceededException"/>
+      <fault message="tns:JobSubmissionException" name="JobSubmissionException" wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/align/Fault/JobSubmissionException"/>
+    </operation>
+    <operation name="presetAlign">
+      <input wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/presetAlignRequest" message="tns:presetAlign"/>
+      <output wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/presetAlignResponse" message="tns:presetAlignResponse"/>
+      <fault message="tns:UnsupportedRuntimeException" name="UnsupportedRuntimeException" wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/presetAlign/Fault/UnsupportedRuntimeException"/>
+      <fault message="tns:LimitExceededException" name="LimitExceededException" wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/presetAlign/Fault/LimitExceededException"/>
+      <fault message="tns:JobSubmissionException" name="JobSubmissionException" wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/presetAlign/Fault/JobSubmissionException"/>
+      <fault message="tns:WrongParameterException" name="WrongParameterException" wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/presetAlign/Fault/WrongParameterException"/>
+    </operation>
+    <operation name="customAlign">
+      <input wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/customAlignRequest" message="tns:customAlign"/>
+      <output wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/customAlignResponse" message="tns:customAlignResponse"/>
+      <fault message="tns:UnsupportedRuntimeException" name="UnsupportedRuntimeException" wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/customAlign/Fault/UnsupportedRuntimeException"/>
+      <fault message="tns:LimitExceededException" name="LimitExceededException" wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/customAlign/Fault/LimitExceededException"/>
+      <fault message="tns:JobSubmissionException" name="JobSubmissionException" wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/customAlign/Fault/JobSubmissionException"/>
+      <fault message="tns:WrongParameterException" name="WrongParameterException" wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/customAlign/Fault/WrongParameterException"/>
+    </operation>
+    <operation name="getResult">
+      <input wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/getResultRequest" message="tns:getResult"/>
+      <output wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/getResultResponse" message="tns:getResultResponse"/>
+      <fault message="tns:ResultNotAvailableException" name="ResultNotAvailableException" wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/getResult/Fault/ResultNotAvailableException"/>
+    </operation>
+    <operation name="cancelJob">
+      <input wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/cancelJobRequest" message="tns:cancelJob"/>
+      <output wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/cancelJobResponse" message="tns:cancelJobResponse"/>
+    </operation>
+    <operation name="getJobStatus">
+      <input wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/getJobStatusRequest" message="tns:getJobStatus"/>
+      <output wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/getJobStatusResponse" message="tns:getJobStatusResponse"/>
+    </operation>
+    <operation name="pullExecStatistics">
+      <input wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/pullExecStatisticsRequest" message="tns:pullExecStatistics"/>
+      <output wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/pullExecStatisticsResponse" message="tns:pullExecStatisticsResponse"/>
+    </operation>
+    <operation name="getRunnerOptions">
+      <input wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/getRunnerOptionsRequest" message="tns:getRunnerOptions"/>
+      <output wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/getRunnerOptionsResponse" message="tns:getRunnerOptionsResponse"/>
+    </operation>
+    <operation name="getLimit">
+      <input wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/getLimitRequest" message="tns:getLimit"/>
+      <output wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/getLimitResponse" message="tns:getLimitResponse"/>
+    </operation>
+    <operation name="getLimits">
+      <input wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/getLimitsRequest" message="tns:getLimits"/>
+      <output wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/getLimitsResponse" message="tns:getLimitsResponse"/>
+    </operation>
+    <operation name="getPresets">
+      <input wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/getPresetsRequest" message="tns:getPresets"/>
+      <output wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/getPresetsResponse" message="tns:getPresetsResponse"/>
+    </operation>
+  </portType>
+  <binding name="GLprobsWSPortBinding" type="tns:MsaWS">
+    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
+    <operation name="align">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body use="literal"/>
+      </input>
+      <output>
+        <soap:body use="literal"/>
+      </output>
+      <fault name="UnsupportedRuntimeException">
+        <soap:fault name="UnsupportedRuntimeException" use="literal"/>
+      </fault>
+      <fault name="LimitExceededException">
+        <soap:fault name="LimitExceededException" use="literal"/>
+      </fault>
+      <fault name="JobSubmissionException">
+        <soap:fault name="JobSubmissionException" use="literal"/>
+      </fault>
+    </operation>
+    <operation name="presetAlign">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body use="literal"/>
+      </input>
+      <output>
+        <soap:body use="literal"/>
+      </output>
+      <fault name="UnsupportedRuntimeException">
+        <soap:fault name="UnsupportedRuntimeException" use="literal"/>
+      </fault>
+      <fault name="LimitExceededException">
+        <soap:fault name="LimitExceededException" use="literal"/>
+      </fault>
+      <fault name="JobSubmissionException">
+        <soap:fault name="JobSubmissionException" use="literal"/>
+      </fault>
+      <fault name="WrongParameterException">
+        <soap:fault name="WrongParameterException" use="literal"/>
+      </fault>
+    </operation>
+    <operation name="customAlign">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body use="literal"/>
+      </input>
+      <output>
+        <soap:body use="literal"/>
+      </output>
+      <fault name="UnsupportedRuntimeException">
+        <soap:fault name="UnsupportedRuntimeException" use="literal"/>
+      </fault>
+      <fault name="LimitExceededException">
+        <soap:fault name="LimitExceededException" use="literal"/>
+      </fault>
+      <fault name="JobSubmissionException">
+        <soap:fault name="JobSubmissionException" use="literal"/>
+      </fault>
+      <fault name="WrongParameterException">
+        <soap:fault name="WrongParameterException" use="literal"/>
+      </fault>
+    </operation>
+    <operation name="getResult">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body use="literal"/>
+      </input>
+      <output>
+        <soap:body use="literal"/>
+      </output>
+      <fault name="ResultNotAvailableException">
+        <soap:fault name="ResultNotAvailableException" use="literal"/>
+      </fault>
+    </operation>
+    <operation name="cancelJob">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body use="literal"/>
+      </input>
+      <output>
+        <soap:body use="literal"/>
+      </output>
+    </operation>
+    <operation name="getJobStatus">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body use="literal"/>
+      </input>
+      <output>
+        <soap:body use="literal"/>
+      </output>
+    </operation>
+    <operation name="pullExecStatistics">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body use="literal"/>
+      </input>
+      <output>
+        <soap:body use="literal"/>
+      </output>
+    </operation>
+    <operation name="getRunnerOptions">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body use="literal"/>
+      </input>
+      <output>
+        <soap:body use="literal"/>
+      </output>
+    </operation>
+    <operation name="getLimit">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body use="literal"/>
+      </input>
+      <output>
+        <soap:body use="literal"/>
+      </output>
+    </operation>
+    <operation name="getLimits">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body use="literal"/>
+      </input>
+      <output>
+        <soap:body use="literal"/>
+      </output>
+    </operation>
+    <operation name="getPresets">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body use="literal"/>
+      </input>
+      <output>
+        <soap:body use="literal"/>
+      </output>
+    </operation>
+  </binding>
+  <service name="GLprobsWS">
+    <port name="GLprobsWSPort" binding="tns:GLprobsWSPortBinding">
+      <soap:address location="REPLACE_WITH_ACTUAL_URL"/>
+    </port>
+  </service>
+</definitions>
+
diff --git a/webservices/compbio/ws/server/resource/GLprobsWS_schema1.xsd b/webservices/compbio/ws/server/resource/GLprobsWS_schema1.xsd
new file mode 100644 (file)
index 0000000..6af7a92
--- /dev/null
@@ -0,0 +1,374 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<xs:schema version="1.0" targetNamespace="http://msa.data.compbio/01/01/2010/" xmlns:tns="http://msa.data.compbio/01/01/2010/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+  <xs:element name="JobSubmissionException" type="tns:JobSubmissionException"/>
+
+  <xs:element name="LimitExceededException" type="tns:LimitExceededException"/>
+
+  <xs:element name="ResultNotAvailableException" type="tns:ResultNotAvailableException"/>
+
+  <xs:element name="UnsupportedRuntimeException" type="tns:UnsupportedRuntimeException"/>
+
+  <xs:element name="WrongParameterException" type="tns:WrongParameterException"/>
+
+  <xs:element name="align" type="tns:align"/>
+
+  <xs:element name="alignResponse" type="tns:alignResponse"/>
+
+  <xs:element name="cancelJob" type="tns:cancelJob"/>
+
+  <xs:element name="cancelJobResponse" type="tns:cancelJobResponse"/>
+
+  <xs:element name="customAlign" type="tns:customAlign"/>
+
+  <xs:element name="customAlignResponse" type="tns:customAlignResponse"/>
+
+  <xs:element name="getJobStatus" type="tns:getJobStatus"/>
+
+  <xs:element name="getJobStatusResponse" type="tns:getJobStatusResponse"/>
+
+  <xs:element name="getLimit" type="tns:getLimit"/>
+
+  <xs:element name="getLimitResponse" type="tns:getLimitResponse"/>
+
+  <xs:element name="getLimits" type="tns:getLimits"/>
+
+  <xs:element name="getLimitsResponse" type="tns:getLimitsResponse"/>
+
+  <xs:element name="getPresets" type="tns:getPresets"/>
+
+  <xs:element name="getPresetsResponse" type="tns:getPresetsResponse"/>
+
+  <xs:element name="getResult" type="tns:getResult"/>
+
+  <xs:element name="getResultResponse" type="tns:getResultResponse"/>
+
+  <xs:element name="getRunnerOptions" type="tns:getRunnerOptions"/>
+
+  <xs:element name="getRunnerOptionsResponse" type="tns:getRunnerOptionsResponse"/>
+
+  <xs:element name="limits" type="tns:limitsManager"/>
+
+  <xs:element name="presetAlign" type="tns:presetAlign"/>
+
+  <xs:element name="presetAlignResponse" type="tns:presetAlignResponse"/>
+
+  <xs:element name="presets" type="tns:presetManager"/>
+
+  <xs:element name="pullExecStatistics" type="tns:pullExecStatistics"/>
+
+  <xs:element name="pullExecStatisticsResponse" type="tns:pullExecStatisticsResponse"/>
+
+  <xs:element name="runnerConfig" type="tns:runnerConfig"/>
+
+  <xs:complexType name="getRunnerOptions">
+    <xs:sequence/>
+  </xs:complexType>
+
+  <xs:complexType name="getRunnerOptionsResponse">
+    <xs:sequence>
+      <xs:element name="return" type="tns:runnerConfig" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="runnerConfig">
+    <xs:sequence>
+      <xs:element name="options" type="tns:option" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element name="parameters" type="tns:parameter" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element name="prmSeparator" type="xs:string" minOccurs="0"/>
+      <xs:element name="runnerClassName" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="option">
+    <xs:sequence>
+      <xs:element name="description" type="xs:string"/>
+      <xs:element name="optionNames" type="xs:string" maxOccurs="unbounded"/>
+      <xs:element name="name" type="xs:string"/>
+      <xs:element name="furtherDetails" type="xs:string" minOccurs="0"/>
+      <xs:element name="defaultValue" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+    <xs:attribute name="isRequired" type="xs:boolean" use="required"/>
+  </xs:complexType>
+
+  <xs:complexType name="parameter">
+    <xs:complexContent>
+      <xs:extension base="tns:option">
+        <xs:sequence>
+          <xs:element name="possibleValues" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+          <xs:element name="validValue" type="tns:valueConstrain" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="valueConstrain">
+    <xs:sequence>
+      <xs:element name="type" type="tns:type"/>
+      <xs:element name="max" type="xs:string" minOccurs="0"/>
+      <xs:element name="min" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="getResult">
+    <xs:sequence>
+      <xs:element name="jobId" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="getResultResponse">
+    <xs:sequence>
+      <xs:element name="return" type="tns:alignment" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="alignment">
+    <xs:sequence>
+      <xs:element name="metadata" type="tns:alignmentMetadata" minOccurs="0"/>
+      <xs:element name="sequences" type="tns:fastaSequence" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="alignmentMetadata">
+    <xs:sequence>
+      <xs:element name="program" type="tns:program" minOccurs="0"/>
+      <xs:element name="gapchar" type="xs:unsignedShort"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="fastaSequence">
+    <xs:sequence>
+      <xs:element name="id" type="xs:string" minOccurs="0"/>
+      <xs:element name="sequence" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="jpredAlignment">
+    <xs:complexContent>
+      <xs:extension base="tns:alignment">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="ResultNotAvailableException">
+    <xs:sequence>
+      <xs:element name="message" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="getJobStatus">
+    <xs:sequence>
+      <xs:element name="jobId" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="getJobStatusResponse">
+    <xs:sequence>
+      <xs:element name="return" type="tns:jobStatus" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="align">
+    <xs:sequence>
+      <xs:element name="fastaSequences" type="tns:fastaSequence" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="alignResponse">
+    <xs:sequence>
+      <xs:element name="return" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="UnsupportedRuntimeException">
+    <xs:sequence>
+      <xs:element name="message" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="LimitExceededException">
+    <xs:sequence>
+      <xs:element name="actualNumberofSequences" type="xs:int"/>
+      <xs:element name="message" type="xs:string" minOccurs="0"/>
+      <xs:element name="numberOfSequencesAllowed" type="xs:int"/>
+      <xs:element name="sequenceLenghtActual" type="xs:int"/>
+      <xs:element name="sequenceLenghtAllowed" type="xs:int"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="JobSubmissionException">
+    <xs:sequence>
+      <xs:element name="message" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="customAlign">
+    <xs:sequence>
+      <xs:element name="fastaSequences" type="tns:fastaSequence" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element name="options" type="tns:option" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="customAlignResponse">
+    <xs:sequence>
+      <xs:element name="return" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="WrongParameterException">
+    <xs:sequence>
+      <xs:element name="message" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="pullExecStatistics">
+    <xs:sequence>
+      <xs:element name="jobId" type="xs:string" minOccurs="0"/>
+      <xs:element name="position" type="xs:long"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="pullExecStatisticsResponse">
+    <xs:sequence>
+      <xs:element name="return" type="tns:chunkHolder" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="chunkHolder">
+    <xs:sequence>
+      <xs:element name="chunk" type="xs:string" minOccurs="0"/>
+      <xs:element name="position" type="xs:long"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="presetAlign">
+    <xs:sequence>
+      <xs:element name="fastaSequences" type="tns:fastaSequence" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element name="preset" type="tns:preset" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="preset">
+    <xs:sequence>
+      <xs:element name="name" type="xs:string"/>
+      <xs:element name="description" type="xs:string" minOccurs="0"/>
+      <xs:element name="optlist" minOccurs="0">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="option" type="xs:string" maxOccurs="unbounded"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="presetAlignResponse">
+    <xs:sequence>
+      <xs:element name="return" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="getPresets">
+    <xs:sequence/>
+  </xs:complexType>
+
+  <xs:complexType name="getPresetsResponse">
+    <xs:sequence>
+      <xs:element name="return" type="tns:presetManager" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="presetManager">
+    <xs:sequence>
+      <xs:element name="runnerClassName" type="xs:string"/>
+      <xs:element name="preset" type="tns:preset" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="getLimits">
+    <xs:sequence/>
+  </xs:complexType>
+
+  <xs:complexType name="getLimitsResponse">
+    <xs:sequence>
+      <xs:element name="return" type="tns:limitsManager" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="limitsManager">
+    <xs:sequence>
+      <xs:element name="runnerClassName" type="xs:string" minOccurs="0"/>
+      <xs:element name="limit" type="tns:limit" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="limit">
+    <xs:sequence>
+      <xs:element name="preset" type="xs:string" minOccurs="0"/>
+      <xs:element name="seqNumber" type="xs:int"/>
+      <xs:element name="seqLength" type="xs:int"/>
+    </xs:sequence>
+    <xs:attribute name="isDefault" type="xs:boolean" use="required"/>
+  </xs:complexType>
+
+  <xs:complexType name="getLimit">
+    <xs:sequence>
+      <xs:element name="presetName" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="getLimitResponse">
+    <xs:sequence>
+      <xs:element name="return" type="tns:limit" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="cancelJob">
+    <xs:sequence>
+      <xs:element name="jobId" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="cancelJobResponse">
+    <xs:sequence>
+      <xs:element name="return" type="xs:boolean"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:simpleType name="type">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Integer"/>
+      <xs:enumeration value="Float"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="program">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="CLUSTAL"/>
+      <xs:enumeration value="ClustalO"/>
+      <xs:enumeration value="Mafft"/>
+      <xs:enumeration value="Muscle"/>
+      <xs:enumeration value="Tcoffee"/>
+      <xs:enumeration value="Probcons"/>
+      <xs:enumeration value="MSAprobs"/>
+      <xs:enumeration value="GLprobs"/>
+      <xs:enumeration value="Jpred"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="jobStatus">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="PENDING"/>
+      <xs:enumeration value="RUNNING"/>
+      <xs:enumeration value="CANCELLED"/>
+      <xs:enumeration value="FINISHED"/>
+      <xs:enumeration value="FAILED"/>
+      <xs:enumeration value="UNDEFINED"/>
+      <xs:enumeration value="STARTED"/>
+      <xs:enumeration value="SUBMITTED"/>
+      <xs:enumeration value="COLLECTED"/>
+    </xs:restriction>
+  </xs:simpleType>
+</xs:schema>
+
index 41ab3ea..e1e8e5f 100644 (file)
       <xs:enumeration value="Muscle"/>
       <xs:enumeration value="Tcoffee"/>
       <xs:enumeration value="Probcons"/>
+      <xs:enumeration value="MSAprobs"/>
+      <xs:enumeration value="GLprobs"/>
       <xs:enumeration value="Jpred"/>
     </xs:restriction>
   </xs:simpleType>
diff --git a/webservices/compbio/ws/server/resource/MSAprobsWS.wsdl b/webservices/compbio/ws/server/resource/MSAprobsWS.wsdl
new file mode 100644 (file)
index 0000000..a50285c
--- /dev/null
@@ -0,0 +1,292 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is Metro/2.1 (branches/2.1-6728; 2011-02-03T14:14:58+0000) JAXWS-RI/2.2.3 JAXWS/2.2. -->
+<definitions targetNamespace="http://msa.data.compbio/01/01/2010/" name="MSAprobsWS" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:tns="http://msa.data.compbio/01/01/2010/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
+  <types>
+    <xsd:schema>
+      <xsd:import namespace="http://msa.data.compbio/01/01/2010/" schemaLocation="MSAprobsWS_schema1.xsd"/>
+    </xsd:schema>
+  </types>
+  <message name="align">
+    <part name="parameters" element="tns:align"/>
+  </message>
+  <message name="alignResponse">
+    <part name="parameters" element="tns:alignResponse"/>
+  </message>
+  <message name="UnsupportedRuntimeException">
+    <part name="fault" element="tns:UnsupportedRuntimeException"/>
+  </message>
+  <message name="LimitExceededException">
+    <part name="fault" element="tns:LimitExceededException"/>
+  </message>
+  <message name="JobSubmissionException">
+    <part name="fault" element="tns:JobSubmissionException"/>
+  </message>
+  <message name="presetAlign">
+    <part name="parameters" element="tns:presetAlign"/>
+  </message>
+  <message name="presetAlignResponse">
+    <part name="parameters" element="tns:presetAlignResponse"/>
+  </message>
+  <message name="WrongParameterException">
+    <part name="fault" element="tns:WrongParameterException"/>
+  </message>
+  <message name="customAlign">
+    <part name="parameters" element="tns:customAlign"/>
+  </message>
+  <message name="customAlignResponse">
+    <part name="parameters" element="tns:customAlignResponse"/>
+  </message>
+  <message name="getResult">
+    <part name="parameters" element="tns:getResult"/>
+  </message>
+  <message name="getResultResponse">
+    <part name="parameters" element="tns:getResultResponse"/>
+  </message>
+  <message name="ResultNotAvailableException">
+    <part name="fault" element="tns:ResultNotAvailableException"/>
+  </message>
+  <message name="cancelJob">
+    <part name="parameters" element="tns:cancelJob"/>
+  </message>
+  <message name="cancelJobResponse">
+    <part name="parameters" element="tns:cancelJobResponse"/>
+  </message>
+  <message name="getJobStatus">
+    <part name="parameters" element="tns:getJobStatus"/>
+  </message>
+  <message name="getJobStatusResponse">
+    <part name="parameters" element="tns:getJobStatusResponse"/>
+  </message>
+  <message name="pullExecStatistics">
+    <part name="parameters" element="tns:pullExecStatistics"/>
+  </message>
+  <message name="pullExecStatisticsResponse">
+    <part name="parameters" element="tns:pullExecStatisticsResponse"/>
+  </message>
+  <message name="getRunnerOptions">
+    <part name="parameters" element="tns:getRunnerOptions"/>
+  </message>
+  <message name="getRunnerOptionsResponse">
+    <part name="parameters" element="tns:getRunnerOptionsResponse"/>
+  </message>
+  <message name="getLimit">
+    <part name="parameters" element="tns:getLimit"/>
+  </message>
+  <message name="getLimitResponse">
+    <part name="parameters" element="tns:getLimitResponse"/>
+  </message>
+  <message name="getLimits">
+    <part name="parameters" element="tns:getLimits"/>
+  </message>
+  <message name="getLimitsResponse">
+    <part name="parameters" element="tns:getLimitsResponse"/>
+  </message>
+  <message name="getPresets">
+    <part name="parameters" element="tns:getPresets"/>
+  </message>
+  <message name="getPresetsResponse">
+    <part name="parameters" element="tns:getPresetsResponse"/>
+  </message>
+  <portType name="MsaWS">
+    <operation name="align">
+      <input wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/alignRequest" message="tns:align"/>
+      <output wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/alignResponse" message="tns:alignResponse"/>
+      <fault message="tns:UnsupportedRuntimeException" name="UnsupportedRuntimeException" wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/align/Fault/UnsupportedRuntimeException"/>
+      <fault message="tns:LimitExceededException" name="LimitExceededException" wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/align/Fault/LimitExceededException"/>
+      <fault message="tns:JobSubmissionException" name="JobSubmissionException" wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/align/Fault/JobSubmissionException"/>
+    </operation>
+    <operation name="presetAlign">
+      <input wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/presetAlignRequest" message="tns:presetAlign"/>
+      <output wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/presetAlignResponse" message="tns:presetAlignResponse"/>
+      <fault message="tns:UnsupportedRuntimeException" name="UnsupportedRuntimeException" wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/presetAlign/Fault/UnsupportedRuntimeException"/>
+      <fault message="tns:LimitExceededException" name="LimitExceededException" wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/presetAlign/Fault/LimitExceededException"/>
+      <fault message="tns:JobSubmissionException" name="JobSubmissionException" wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/presetAlign/Fault/JobSubmissionException"/>
+      <fault message="tns:WrongParameterException" name="WrongParameterException" wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/presetAlign/Fault/WrongParameterException"/>
+    </operation>
+    <operation name="customAlign">
+      <input wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/customAlignRequest" message="tns:customAlign"/>
+      <output wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/customAlignResponse" message="tns:customAlignResponse"/>
+      <fault message="tns:UnsupportedRuntimeException" name="UnsupportedRuntimeException" wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/customAlign/Fault/UnsupportedRuntimeException"/>
+      <fault message="tns:LimitExceededException" name="LimitExceededException" wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/customAlign/Fault/LimitExceededException"/>
+      <fault message="tns:JobSubmissionException" name="JobSubmissionException" wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/customAlign/Fault/JobSubmissionException"/>
+      <fault message="tns:WrongParameterException" name="WrongParameterException" wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/customAlign/Fault/WrongParameterException"/>
+    </operation>
+    <operation name="getResult">
+      <input wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/getResultRequest" message="tns:getResult"/>
+      <output wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/getResultResponse" message="tns:getResultResponse"/>
+      <fault message="tns:ResultNotAvailableException" name="ResultNotAvailableException" wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/getResult/Fault/ResultNotAvailableException"/>
+    </operation>
+    <operation name="cancelJob">
+      <input wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/cancelJobRequest" message="tns:cancelJob"/>
+      <output wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/cancelJobResponse" message="tns:cancelJobResponse"/>
+    </operation>
+    <operation name="getJobStatus">
+      <input wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/getJobStatusRequest" message="tns:getJobStatus"/>
+      <output wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/getJobStatusResponse" message="tns:getJobStatusResponse"/>
+    </operation>
+    <operation name="pullExecStatistics">
+      <input wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/pullExecStatisticsRequest" message="tns:pullExecStatistics"/>
+      <output wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/pullExecStatisticsResponse" message="tns:pullExecStatisticsResponse"/>
+    </operation>
+    <operation name="getRunnerOptions">
+      <input wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/getRunnerOptionsRequest" message="tns:getRunnerOptions"/>
+      <output wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/getRunnerOptionsResponse" message="tns:getRunnerOptionsResponse"/>
+    </operation>
+    <operation name="getLimit">
+      <input wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/getLimitRequest" message="tns:getLimit"/>
+      <output wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/getLimitResponse" message="tns:getLimitResponse"/>
+    </operation>
+    <operation name="getLimits">
+      <input wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/getLimitsRequest" message="tns:getLimits"/>
+      <output wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/getLimitsResponse" message="tns:getLimitsResponse"/>
+    </operation>
+    <operation name="getPresets">
+      <input wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/getPresetsRequest" message="tns:getPresets"/>
+      <output wsam:Action="http://msa.data.compbio/01/01/2010/MsaWS/getPresetsResponse" message="tns:getPresetsResponse"/>
+    </operation>
+  </portType>
+  <binding name="MSAprobsWSPortBinding" type="tns:MsaWS">
+    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
+    <operation name="align">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body use="literal"/>
+      </input>
+      <output>
+        <soap:body use="literal"/>
+      </output>
+      <fault name="UnsupportedRuntimeException">
+        <soap:fault name="UnsupportedRuntimeException" use="literal"/>
+      </fault>
+      <fault name="LimitExceededException">
+        <soap:fault name="LimitExceededException" use="literal"/>
+      </fault>
+      <fault name="JobSubmissionException">
+        <soap:fault name="JobSubmissionException" use="literal"/>
+      </fault>
+    </operation>
+    <operation name="presetAlign">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body use="literal"/>
+      </input>
+      <output>
+        <soap:body use="literal"/>
+      </output>
+      <fault name="UnsupportedRuntimeException">
+        <soap:fault name="UnsupportedRuntimeException" use="literal"/>
+      </fault>
+      <fault name="LimitExceededException">
+        <soap:fault name="LimitExceededException" use="literal"/>
+      </fault>
+      <fault name="JobSubmissionException">
+        <soap:fault name="JobSubmissionException" use="literal"/>
+      </fault>
+      <fault name="WrongParameterException">
+        <soap:fault name="WrongParameterException" use="literal"/>
+      </fault>
+    </operation>
+    <operation name="customAlign">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body use="literal"/>
+      </input>
+      <output>
+        <soap:body use="literal"/>
+      </output>
+      <fault name="UnsupportedRuntimeException">
+        <soap:fault name="UnsupportedRuntimeException" use="literal"/>
+      </fault>
+      <fault name="LimitExceededException">
+        <soap:fault name="LimitExceededException" use="literal"/>
+      </fault>
+      <fault name="JobSubmissionException">
+        <soap:fault name="JobSubmissionException" use="literal"/>
+      </fault>
+      <fault name="WrongParameterException">
+        <soap:fault name="WrongParameterException" use="literal"/>
+      </fault>
+    </operation>
+    <operation name="getResult">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body use="literal"/>
+      </input>
+      <output>
+        <soap:body use="literal"/>
+      </output>
+      <fault name="ResultNotAvailableException">
+        <soap:fault name="ResultNotAvailableException" use="literal"/>
+      </fault>
+    </operation>
+    <operation name="cancelJob">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body use="literal"/>
+      </input>
+      <output>
+        <soap:body use="literal"/>
+      </output>
+    </operation>
+    <operation name="getJobStatus">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body use="literal"/>
+      </input>
+      <output>
+        <soap:body use="literal"/>
+      </output>
+    </operation>
+    <operation name="pullExecStatistics">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body use="literal"/>
+      </input>
+      <output>
+        <soap:body use="literal"/>
+      </output>
+    </operation>
+    <operation name="getRunnerOptions">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body use="literal"/>
+      </input>
+      <output>
+        <soap:body use="literal"/>
+      </output>
+    </operation>
+    <operation name="getLimit">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body use="literal"/>
+      </input>
+      <output>
+        <soap:body use="literal"/>
+      </output>
+    </operation>
+    <operation name="getLimits">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body use="literal"/>
+      </input>
+      <output>
+        <soap:body use="literal"/>
+      </output>
+    </operation>
+    <operation name="getPresets">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body use="literal"/>
+      </input>
+      <output>
+        <soap:body use="literal"/>
+      </output>
+    </operation>
+  </binding>
+  <service name="MSAprobsWS">
+    <port name="MSAprobsWSPort" binding="tns:MSAprobsWSPortBinding">
+      <soap:address location="REPLACE_WITH_ACTUAL_URL"/>
+    </port>
+  </service>
+</definitions>
+
diff --git a/webservices/compbio/ws/server/resource/MSAprobsWS_schema1.xsd b/webservices/compbio/ws/server/resource/MSAprobsWS_schema1.xsd
new file mode 100644 (file)
index 0000000..5ab9459
--- /dev/null
@@ -0,0 +1,374 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<xs:schema version="1.0" targetNamespace="http://msa.data.compbio/01/01/2010/" xmlns:tns="http://msa.data.compbio/01/01/2010/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+  <xs:element name="JobSubmissionException" type="tns:JobSubmissionException"/>
+
+  <xs:element name="LimitExceededException" type="tns:LimitExceededException"/>
+
+  <xs:element name="ResultNotAvailableException" type="tns:ResultNotAvailableException"/>
+
+  <xs:element name="UnsupportedRuntimeException" type="tns:UnsupportedRuntimeException"/>
+
+  <xs:element name="WrongParameterException" type="tns:WrongParameterException"/>
+
+  <xs:element name="align" type="tns:align"/>
+
+  <xs:element name="alignResponse" type="tns:alignResponse"/>
+
+  <xs:element name="cancelJob" type="tns:cancelJob"/>
+
+  <xs:element name="cancelJobResponse" type="tns:cancelJobResponse"/>
+
+  <xs:element name="customAlign" type="tns:customAlign"/>
+
+  <xs:element name="customAlignResponse" type="tns:customAlignResponse"/>
+
+  <xs:element name="getJobStatus" type="tns:getJobStatus"/>
+
+  <xs:element name="getJobStatusResponse" type="tns:getJobStatusResponse"/>
+
+  <xs:element name="getLimit" type="tns:getLimit"/>
+
+  <xs:element name="getLimitResponse" type="tns:getLimitResponse"/>
+
+  <xs:element name="getLimits" type="tns:getLimits"/>
+
+  <xs:element name="getLimitsResponse" type="tns:getLimitsResponse"/>
+
+  <xs:element name="getPresets" type="tns:getPresets"/>
+
+  <xs:element name="getPresetsResponse" type="tns:getPresetsResponse"/>
+
+  <xs:element name="getResult" type="tns:getResult"/>
+
+  <xs:element name="getResultResponse" type="tns:getResultResponse"/>
+
+  <xs:element name="getRunnerOptions" type="tns:getRunnerOptions"/>
+
+  <xs:element name="getRunnerOptionsResponse" type="tns:getRunnerOptionsResponse"/>
+
+  <xs:element name="limits" type="tns:limitsManager"/>
+
+  <xs:element name="presetAlign" type="tns:presetAlign"/>
+
+  <xs:element name="presetAlignResponse" type="tns:presetAlignResponse"/>
+
+  <xs:element name="presets" type="tns:presetManager"/>
+
+  <xs:element name="pullExecStatistics" type="tns:pullExecStatistics"/>
+
+  <xs:element name="pullExecStatisticsResponse" type="tns:pullExecStatisticsResponse"/>
+
+  <xs:element name="runnerConfig" type="tns:runnerConfig"/>
+
+  <xs:complexType name="getRunnerOptions">
+    <xs:sequence/>
+  </xs:complexType>
+
+  <xs:complexType name="getRunnerOptionsResponse">
+    <xs:sequence>
+      <xs:element name="return" type="tns:runnerConfig" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="runnerConfig">
+    <xs:sequence>
+      <xs:element name="options" type="tns:option" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element name="parameters" type="tns:parameter" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element name="prmSeparator" type="xs:string" minOccurs="0"/>
+      <xs:element name="runnerClassName" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="option">
+    <xs:sequence>
+      <xs:element name="description" type="xs:string"/>
+      <xs:element name="optionNames" type="xs:string" maxOccurs="unbounded"/>
+      <xs:element name="name" type="xs:string"/>
+      <xs:element name="furtherDetails" type="xs:string" minOccurs="0"/>
+      <xs:element name="defaultValue" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+    <xs:attribute name="isRequired" type="xs:boolean" use="required"/>
+  </xs:complexType>
+
+  <xs:complexType name="parameter">
+    <xs:complexContent>
+      <xs:extension base="tns:option">
+        <xs:sequence>
+          <xs:element name="possibleValues" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+          <xs:element name="validValue" type="tns:valueConstrain" minOccurs="0"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="valueConstrain">
+    <xs:sequence>
+      <xs:element name="type" type="tns:type"/>
+      <xs:element name="max" type="xs:string" minOccurs="0"/>
+      <xs:element name="min" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="getResult">
+    <xs:sequence>
+      <xs:element name="jobId" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="getResultResponse">
+    <xs:sequence>
+      <xs:element name="return" type="tns:alignment" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="alignment">
+    <xs:sequence>
+      <xs:element name="metadata" type="tns:alignmentMetadata" minOccurs="0"/>
+      <xs:element name="sequences" type="tns:fastaSequence" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="alignmentMetadata">
+    <xs:sequence>
+      <xs:element name="program" type="tns:program" minOccurs="0"/>
+      <xs:element name="gapchar" type="xs:unsignedShort"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="fastaSequence">
+    <xs:sequence>
+      <xs:element name="id" type="xs:string" minOccurs="0"/>
+      <xs:element name="sequence" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="jpredAlignment">
+    <xs:complexContent>
+      <xs:extension base="tns:alignment">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="ResultNotAvailableException">
+    <xs:sequence>
+      <xs:element name="message" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="getJobStatus">
+    <xs:sequence>
+      <xs:element name="jobId" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="getJobStatusResponse">
+    <xs:sequence>
+      <xs:element name="return" type="tns:jobStatus" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="pullExecStatistics">
+    <xs:sequence>
+      <xs:element name="jobId" type="xs:string" minOccurs="0"/>
+      <xs:element name="position" type="xs:long"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="pullExecStatisticsResponse">
+    <xs:sequence>
+      <xs:element name="return" type="tns:chunkHolder" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="chunkHolder">
+    <xs:sequence>
+      <xs:element name="chunk" type="xs:string" minOccurs="0"/>
+      <xs:element name="position" type="xs:long"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="customAlign">
+    <xs:sequence>
+      <xs:element name="fastaSequences" type="tns:fastaSequence" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element name="options" type="tns:option" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="customAlignResponse">
+    <xs:sequence>
+      <xs:element name="return" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="UnsupportedRuntimeException">
+    <xs:sequence>
+      <xs:element name="message" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="LimitExceededException">
+    <xs:sequence>
+      <xs:element name="actualNumberofSequences" type="xs:int"/>
+      <xs:element name="message" type="xs:string" minOccurs="0"/>
+      <xs:element name="numberOfSequencesAllowed" type="xs:int"/>
+      <xs:element name="sequenceLenghtActual" type="xs:int"/>
+      <xs:element name="sequenceLenghtAllowed" type="xs:int"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="JobSubmissionException">
+    <xs:sequence>
+      <xs:element name="message" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="WrongParameterException">
+    <xs:sequence>
+      <xs:element name="message" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="align">
+    <xs:sequence>
+      <xs:element name="fastaSequences" type="tns:fastaSequence" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="alignResponse">
+    <xs:sequence>
+      <xs:element name="return" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="getPresets">
+    <xs:sequence/>
+  </xs:complexType>
+
+  <xs:complexType name="getPresetsResponse">
+    <xs:sequence>
+      <xs:element name="return" type="tns:presetManager" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="presetManager">
+    <xs:sequence>
+      <xs:element name="runnerClassName" type="xs:string"/>
+      <xs:element name="preset" type="tns:preset" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="preset">
+    <xs:sequence>
+      <xs:element name="name" type="xs:string"/>
+      <xs:element name="description" type="xs:string" minOccurs="0"/>
+      <xs:element name="optlist" minOccurs="0">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="option" type="xs:string" maxOccurs="unbounded"/>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="getLimits">
+    <xs:sequence/>
+  </xs:complexType>
+
+  <xs:complexType name="getLimitsResponse">
+    <xs:sequence>
+      <xs:element name="return" type="tns:limitsManager" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="limitsManager">
+    <xs:sequence>
+      <xs:element name="runnerClassName" type="xs:string" minOccurs="0"/>
+      <xs:element name="limit" type="tns:limit" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="limit">
+    <xs:sequence>
+      <xs:element name="preset" type="xs:string" minOccurs="0"/>
+      <xs:element name="seqNumber" type="xs:int"/>
+      <xs:element name="seqLength" type="xs:int"/>
+    </xs:sequence>
+    <xs:attribute name="isDefault" type="xs:boolean" use="required"/>
+  </xs:complexType>
+
+  <xs:complexType name="getLimit">
+    <xs:sequence>
+      <xs:element name="presetName" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="getLimitResponse">
+    <xs:sequence>
+      <xs:element name="return" type="tns:limit" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="cancelJob">
+    <xs:sequence>
+      <xs:element name="jobId" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="cancelJobResponse">
+    <xs:sequence>
+      <xs:element name="return" type="xs:boolean"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="presetAlign">
+    <xs:sequence>
+      <xs:element name="fastaSequences" type="tns:fastaSequence" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element name="preset" type="tns:preset" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="presetAlignResponse">
+    <xs:sequence>
+      <xs:element name="return" type="xs:string" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:simpleType name="type">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Integer"/>
+      <xs:enumeration value="Float"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="program">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="CLUSTAL"/>
+      <xs:enumeration value="ClustalO"/>
+      <xs:enumeration value="Mafft"/>
+      <xs:enumeration value="Muscle"/>
+      <xs:enumeration value="Tcoffee"/>
+      <xs:enumeration value="Probcons"/>
+      <xs:enumeration value="MSAprobs"/>
+      <xs:enumeration value="GLprobs"/>
+      <xs:enumeration value="Jpred"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="jobStatus">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="PENDING"/>
+      <xs:enumeration value="RUNNING"/>
+      <xs:enumeration value="CANCELLED"/>
+      <xs:enumeration value="FINISHED"/>
+      <xs:enumeration value="FAILED"/>
+      <xs:enumeration value="UNDEFINED"/>
+      <xs:enumeration value="STARTED"/>
+      <xs:enumeration value="SUBMITTED"/>
+      <xs:enumeration value="COLLECTED"/>
+    </xs:restriction>
+  </xs:simpleType>
+</xs:schema>
+
index 7e56e9d..0099b0e 100644 (file)
       <xs:enumeration value="Muscle"/>
       <xs:enumeration value="Tcoffee"/>
       <xs:enumeration value="Probcons"/>
+      <xs:enumeration value="MSAprobs"/>
+      <xs:enumeration value="GLprobs"/>
       <xs:enumeration value="Jpred"/>
     </xs:restriction>
   </xs:simpleType>
index 026c65f..30961c2 100644 (file)
       <xs:enumeration value="Muscle"/>
       <xs:enumeration value="Tcoffee"/>
       <xs:enumeration value="Probcons"/>
+      <xs:enumeration value="MSAprobs"/>
+      <xs:enumeration value="GLprobs"/>
       <xs:enumeration value="Jpred"/>
     </xs:restriction>
   </xs:simpleType>
index 2efa715..d3bda02 100644 (file)
       <xs:enumeration value="ClustalOWS"/>
       <xs:enumeration value="TcoffeeWS"/>
       <xs:enumeration value="ProbconsWS"/>
+      <xs:enumeration value="MSAprobsWS"/>
+      <xs:enumeration value="GLprobsWS"/>
       <xs:enumeration value="AAConWS"/>
       <xs:enumeration value="JronnWS"/>
       <xs:enumeration value="DisemblWS"/>
index 314111a..c2f11cb 100644 (file)
       <xs:enumeration value="Muscle"/>
       <xs:enumeration value="Tcoffee"/>
       <xs:enumeration value="Probcons"/>
+      <xs:enumeration value="MSAprobs"/>
+      <xs:enumeration value="GLprobs"/>
       <xs:enumeration value="Jpred"/>
     </xs:restriction>
   </xs:simpleType>
diff --git a/website/prog_docs/glprobs.txt b/website/prog_docs/glprobs.txt
new file mode 100644 (file)
index 0000000..8d150b5
--- /dev/null
@@ -0,0 +1,36 @@
+************************************************************************
+       MSAPROBS is a open-source protein multiple sequence alignment algorithm
+       based on pair hidden markov model and partition function postirior
+       probabilities. If any comments or problems, please contact
+       Liu Yongchao(liuy0039@ntu.edu.sg or nkcslyc@hotmail.com)
+*************************************************************************
+Usage:
+       msaprobs [OPTION]... [infile]...
+
+Description:
+       Align sequences in multi-FASTA format
+
+       -o, --outfile <string>
+              specify the output file name (STDOUT by default)
+       -num_threads <integer>
+              specify the number of threads used, and otherwise detect automatically
+       -clustalw
+              use CLUSTALW output format instead of FASTA format
+
+       -c, --consistency REPS
+              use 0 <= REPS <= 5 (default: 2) passes of consistency transformation
+
+       -ir, --iterative-refinement REPS
+              use 0 <= REPS <= 1000 (default: 100) passes of iterative-refinement
+
+       -v, --verbose
+              report progress while aligning (default: off)
+
+       -annot FILENAME
+              write annotation for multiple alignment to FILENAME
+
+       -a, --alignment-order
+              print sequences in alignment order rather than input order (default: off)
+       -version 
+              print out version of MSAPROBS 
+
diff --git a/website/prog_docs/msaprobs.txt b/website/prog_docs/msaprobs.txt
new file mode 100644 (file)
index 0000000..dc8142d
--- /dev/null
@@ -0,0 +1,36 @@
+************************************************************************
+       MSAPROBS is a open-source protein multiple sequence alignment algorithm
+       based on pair hidden markov model and partition function postirior
+       probabilities. If any comments or problems, please contact
+       Liu Yongchao(liuy0039@ntu.edu.sg or nkcslyc@hotmail.com)
+*************************************************************************
+Usage:
+       msaprobs [OPTION]... [infile]...
+
+Description:
+       Align sequences in multi-FASTA format
+
+       -o, --outfile <string>
+              specify the output file name (STDOUT by default)
+       -num_threads <integer>
+              specify the number of threads used, and otherwise detect automatically
+       -clustalw
+              use CLUSTALW output format instead of FASTA format
+
+       -c, --consistency REPS
+              use 0 <= REPS <= 5 (default: 2) passes of consistency transformation
+
+       -ir, --iterative-refinement REPS
+              use 0 <= REPS <= 1000 (default: 10) passes of iterative-refinement
+
+       -v, --verbose
+              report progress while aligning (default: off)
+
+       -annot FILENAME
+              write annotation for multiple alignment to FILENAME
+
+       -a, --alignment-order
+              print sequences in alignment order rather than input order (default: off)
+       -version 
+              print out version of MSAPROBS 
+
index 5b45197..35dff38 100644 (file)
@@ -2,28 +2,8 @@
 build-server:
    [delete] Deleting /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices/compbio/ws/server/resource/AAConWS.wsdl
    [delete] Deleting /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices/compbio/ws/server/resource/AAConWS_schema1.xsd
-   [delete] Deleting /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices/compbio/ws/server/resource/ClustalWS.wsdl
-   [delete] Deleting /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices/compbio/ws/server/resource/ClustalWS_schema1.xsd
-   [delete] Deleting /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices/compbio/ws/server/resource/DisemblWS.wsdl
-   [delete] Deleting /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices/compbio/ws/server/resource/DisemblWS_schema1.xsd
-   [delete] Deleting /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices/compbio/ws/server/resource/GlobPlotWS.wsdl
-   [delete] Deleting /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices/compbio/ws/server/resource/GlobPlotWS_schema1.xsd
-   [delete] Deleting /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices/compbio/ws/server/resource/IUPredWS.wsdl
-   [delete] Deleting /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices/compbio/ws/server/resource/IUPredWS_schema1.xsd
    [delete] Deleting /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices/compbio/ws/server/resource/JpredWS.wsdl
    [delete] Deleting /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices/compbio/ws/server/resource/JpredWS_schema1.xsd
-   [delete] Deleting /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices/compbio/ws/server/resource/JronnWS.wsdl
-   [delete] Deleting /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices/compbio/ws/server/resource/JronnWS_schema1.xsd
-   [delete] Deleting /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices/compbio/ws/server/resource/MafftWS.wsdl
-   [delete] Deleting /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices/compbio/ws/server/resource/MafftWS_schema1.xsd
-   [delete] Deleting /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices/compbio/ws/server/resource/MuscleWS.wsdl
-   [delete] Deleting /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices/compbio/ws/server/resource/MuscleWS_schema1.xsd
-   [delete] Deleting /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices/compbio/ws/server/resource/RNAalifoldWS.wsdl
-   [delete] Deleting /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices/compbio/ws/server/resource/RNAalifoldWS_schema1.xsd
-   [delete] Deleting /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices/compbio/ws/server/resource/RegistryWS.wsdl
-   [delete] Deleting /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices/compbio/ws/server/resource/RegistryWS_schema1.xsd
-   [delete] Deleting /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices/compbio/ws/server/resource/TcoffeeWS.wsdl
-   [delete] Deleting /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices/compbio/ws/server/resource/TcoffeeWS_schema1.xsd
     [wsgen] command line: wsgen -classpath /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/classes:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/commons-beanutils-1.7.0.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/commons-collections-3.2.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/commons-lang-2.3.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/commons-logging-1.1.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/compbio-annotations-1.0.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/compbio-ga-1.1.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/compbio-util-1.4.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/derby-10.8.2.2.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/displaytag-1.2.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/displaytag-export-poi-1.2.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/drmaa.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/itext-1.4.7.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/jstl-1.1.2.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/log4j-1.2.15.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/poi-3.2-FINAL-20081019.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/standard-1.1.2.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/webservices-api.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/webservices-rt.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/webservices-tools.jar -d /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/classes -Xendorsed -keep -wsdl -r /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices/compbio/ws/server/resource -s /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices -verbose compbio.ws.server.JpredWS
     [wsgen] Note:      ap round: 1
     [wsgen] [ProcessedMethods Interface: compbio.data.msa.MsaWS<T>]
@@ -246,6 +226,228 @@ build-server:
     [wsgen] compbio/data/msa/jaxws/UnsupportedRuntimeExceptionBean.java
     [wsgen] compbio/data/msa/jaxws/WrongParameterExceptionBean.java
     [wsgen] Note:      ap round: 2
+    [wsgen] command line: wsgen -classpath /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/classes:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/commons-beanutils-1.7.0.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/commons-collections-3.2.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/commons-lang-2.3.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/commons-logging-1.1.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/compbio-annotations-1.0.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/compbio-ga-1.1.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/compbio-util-1.4.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/derby-10.8.2.2.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/displaytag-1.2.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/displaytag-export-poi-1.2.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/drmaa.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/itext-1.4.7.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/jstl-1.1.2.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/log4j-1.2.15.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/poi-3.2-FINAL-20081019.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/standard-1.1.2.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/webservices-api.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/webservices-rt.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/webservices-tools.jar -d /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/classes -Xendorsed -keep -wsdl -r /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices/compbio/ws/server/resource -s /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices -verbose compbio.ws.server.MSAprobsWS
+    [wsgen] Note:      ap round: 1
+    [wsgen] [ProcessedMethods Interface: compbio.data.msa.MsaWS<T>]
+    [wsgen] [should process method: align hasWebMethods: false ]
+    [wsgen] [endpointReferencesInterface: true]
+    [wsgen] [declaring class has WebSevice: true]
+    [wsgen] [returning: true]
+    [wsgen] [WrapperGen - method: align(java.util.List<compbio.data.sequence.FastaSequence>)]
+    [wsgen] [method.getDeclaringType(): compbio.data.msa.MsaWS<T>]
+    [wsgen] [requestWrapper: compbio.data.msa.jaxws.Align]
+    [wsgen] [should process method: customAlign hasWebMethods: false ]
+    [wsgen] [endpointReferencesInterface: true]
+    [wsgen] [declaring class has WebSevice: true]
+    [wsgen] [returning: true]
+    [wsgen] [WrapperGen - method: customAlign(java.util.List<compbio.data.sequence.FastaSequence>,java.util.List<compbio.metadata.Option<T>>)]
+    [wsgen] [method.getDeclaringType(): compbio.data.msa.MsaWS<T>]
+    [wsgen] [requestWrapper: compbio.data.msa.jaxws.CustomAlign]
+    [wsgen] [should process method: presetAlign hasWebMethods: false ]
+    [wsgen] [endpointReferencesInterface: true]
+    [wsgen] [declaring class has WebSevice: true]
+    [wsgen] [returning: true]
+    [wsgen] [WrapperGen - method: presetAlign(java.util.List<compbio.data.sequence.FastaSequence>,compbio.metadata.Preset<T>)]
+    [wsgen] [method.getDeclaringType(): compbio.data.msa.MsaWS<T>]
+    [wsgen] [requestWrapper: compbio.data.msa.jaxws.PresetAlign]
+    [wsgen] [should process method: getResult hasWebMethods: false ]
+    [wsgen] [endpointReferencesInterface: true]
+    [wsgen] [declaring class has WebSevice: true]
+    [wsgen] [returning: true]
+    [wsgen] [WrapperGen - method: getResult(java.lang.String)]
+    [wsgen] [method.getDeclaringType(): compbio.data.msa.MsaWS<T>]
+    [wsgen] [requestWrapper: compbio.data.msa.jaxws.GetResult]
+    [wsgen] [ProcessedMethods Interface: compbio.data.msa.JABAService]
+    [wsgen] [ProcessedMethods Interface: compbio.data.msa.JManagement]
+    [wsgen] [should process method: cancelJob hasWebMethods: false ]
+    [wsgen] [endpointReferencesInterface: true]
+    [wsgen] [declaring class has WebSevice: false]
+    [wsgen] [returning: true]
+    [wsgen] [WrapperGen - method: cancelJob(java.lang.String)]
+    [wsgen] [method.getDeclaringType(): compbio.data.msa.JManagement]
+    [wsgen] [requestWrapper: compbio.data.msa.jaxws.CancelJob]
+    [wsgen] [should process method: getJobStatus hasWebMethods: false ]
+    [wsgen] [endpointReferencesInterface: true]
+    [wsgen] [declaring class has WebSevice: false]
+    [wsgen] [returning: true]
+    [wsgen] [WrapperGen - method: getJobStatus(java.lang.String)]
+    [wsgen] [method.getDeclaringType(): compbio.data.msa.JManagement]
+    [wsgen] [requestWrapper: compbio.data.msa.jaxws.GetJobStatus]
+    [wsgen] [should process method: pullExecStatistics hasWebMethods: false ]
+    [wsgen] [endpointReferencesInterface: true]
+    [wsgen] [declaring class has WebSevice: false]
+    [wsgen] [returning: true]
+    [wsgen] [WrapperGen - method: pullExecStatistics(java.lang.String,long)]
+    [wsgen] [method.getDeclaringType(): compbio.data.msa.JManagement]
+    [wsgen] [requestWrapper: compbio.data.msa.jaxws.PullExecStatistics]
+    [wsgen] [ProcessedMethods Interface: compbio.data.msa.Metadata<T>]
+    [wsgen] [should process method: getRunnerOptions hasWebMethods: false ]
+    [wsgen] [endpointReferencesInterface: true]
+    [wsgen] [declaring class has WebSevice: false]
+    [wsgen] [returning: true]
+    [wsgen] [WrapperGen - method: getRunnerOptions()]
+    [wsgen] [method.getDeclaringType(): compbio.data.msa.Metadata<T>]
+    [wsgen] [requestWrapper: compbio.data.msa.jaxws.GetRunnerOptions]
+    [wsgen] [should process method: getPresets hasWebMethods: false ]
+    [wsgen] [endpointReferencesInterface: true]
+    [wsgen] [declaring class has WebSevice: false]
+    [wsgen] [returning: true]
+    [wsgen] [WrapperGen - method: getPresets()]
+    [wsgen] [method.getDeclaringType(): compbio.data.msa.Metadata<T>]
+    [wsgen] [requestWrapper: compbio.data.msa.jaxws.GetPresets]
+    [wsgen] [should process method: getLimit hasWebMethods: false ]
+    [wsgen] [endpointReferencesInterface: true]
+    [wsgen] [declaring class has WebSevice: false]
+    [wsgen] [returning: true]
+    [wsgen] [WrapperGen - method: getLimit(java.lang.String)]
+    [wsgen] [method.getDeclaringType(): compbio.data.msa.Metadata<T>]
+    [wsgen] [requestWrapper: compbio.data.msa.jaxws.GetLimit]
+    [wsgen] [should process method: getLimits hasWebMethods: false ]
+    [wsgen] [endpointReferencesInterface: true]
+    [wsgen] [declaring class has WebSevice: false]
+    [wsgen] [returning: true]
+    [wsgen] [WrapperGen - method: getLimits()]
+    [wsgen] [method.getDeclaringType(): compbio.data.msa.Metadata<T>]
+    [wsgen] [requestWrapper: compbio.data.msa.jaxws.GetLimits]
+    [wsgen] compbio/data/msa/jaxws/Align.java
+    [wsgen] compbio/data/msa/jaxws/AlignResponse.java
+    [wsgen] compbio/data/msa/jaxws/CancelJob.java
+    [wsgen] compbio/data/msa/jaxws/CancelJobResponse.java
+    [wsgen] compbio/data/msa/jaxws/CustomAlign.java
+    [wsgen] compbio/data/msa/jaxws/CustomAlignResponse.java
+    [wsgen] compbio/data/msa/jaxws/GetJobStatus.java
+    [wsgen] compbio/data/msa/jaxws/GetJobStatusResponse.java
+    [wsgen] compbio/data/msa/jaxws/GetLimit.java
+    [wsgen] compbio/data/msa/jaxws/GetLimitResponse.java
+    [wsgen] compbio/data/msa/jaxws/GetLimits.java
+    [wsgen] compbio/data/msa/jaxws/GetLimitsResponse.java
+    [wsgen] compbio/data/msa/jaxws/GetPresets.java
+    [wsgen] compbio/data/msa/jaxws/GetPresetsResponse.java
+    [wsgen] compbio/data/msa/jaxws/GetResult.java
+    [wsgen] compbio/data/msa/jaxws/GetResultResponse.java
+    [wsgen] compbio/data/msa/jaxws/GetRunnerOptions.java
+    [wsgen] compbio/data/msa/jaxws/GetRunnerOptionsResponse.java
+    [wsgen] compbio/data/msa/jaxws/JobSubmissionExceptionBean.java
+    [wsgen] compbio/data/msa/jaxws/LimitExceededExceptionBean.java
+    [wsgen] compbio/data/msa/jaxws/PresetAlign.java
+    [wsgen] compbio/data/msa/jaxws/PresetAlignResponse.java
+    [wsgen] compbio/data/msa/jaxws/PullExecStatistics.java
+    [wsgen] compbio/data/msa/jaxws/PullExecStatisticsResponse.java
+    [wsgen] compbio/data/msa/jaxws/ResultNotAvailableExceptionBean.java
+    [wsgen] compbio/data/msa/jaxws/UnsupportedRuntimeExceptionBean.java
+    [wsgen] compbio/data/msa/jaxws/WrongParameterExceptionBean.java
+    [wsgen] Note:      ap round: 2
+    [wsgen] command line: wsgen -classpath /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/classes:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/commons-beanutils-1.7.0.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/commons-collections-3.2.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/commons-lang-2.3.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/commons-logging-1.1.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/compbio-annotations-1.0.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/compbio-ga-1.1.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/compbio-util-1.4.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/derby-10.8.2.2.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/displaytag-1.2.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/displaytag-export-poi-1.2.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/drmaa.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/itext-1.4.7.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/jstl-1.1.2.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/log4j-1.2.15.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/poi-3.2-FINAL-20081019.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/standard-1.1.2.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/webservices-api.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/webservices-rt.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/webservices-tools.jar -d /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/classes -Xendorsed -keep -wsdl -r /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices/compbio/ws/server/resource -s /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices -verbose compbio.ws.server.GLprobsWS
+    [wsgen] Note:      ap round: 1
+    [wsgen] [ProcessedMethods Interface: compbio.data.msa.MsaWS<T>]
+    [wsgen] [should process method: align hasWebMethods: false ]
+    [wsgen] [endpointReferencesInterface: true]
+    [wsgen] [declaring class has WebSevice: true]
+    [wsgen] [returning: true]
+    [wsgen] [WrapperGen - method: align(java.util.List<compbio.data.sequence.FastaSequence>)]
+    [wsgen] [method.getDeclaringType(): compbio.data.msa.MsaWS<T>]
+    [wsgen] [requestWrapper: compbio.data.msa.jaxws.Align]
+    [wsgen] [should process method: customAlign hasWebMethods: false ]
+    [wsgen] [endpointReferencesInterface: true]
+    [wsgen] [declaring class has WebSevice: true]
+    [wsgen] [returning: true]
+    [wsgen] [WrapperGen - method: customAlign(java.util.List<compbio.data.sequence.FastaSequence>,java.util.List<compbio.metadata.Option<T>>)]
+    [wsgen] [method.getDeclaringType(): compbio.data.msa.MsaWS<T>]
+    [wsgen] [requestWrapper: compbio.data.msa.jaxws.CustomAlign]
+    [wsgen] [should process method: presetAlign hasWebMethods: false ]
+    [wsgen] [endpointReferencesInterface: true]
+    [wsgen] [declaring class has WebSevice: true]
+    [wsgen] [returning: true]
+    [wsgen] [WrapperGen - method: presetAlign(java.util.List<compbio.data.sequence.FastaSequence>,compbio.metadata.Preset<T>)]
+    [wsgen] [method.getDeclaringType(): compbio.data.msa.MsaWS<T>]
+    [wsgen] [requestWrapper: compbio.data.msa.jaxws.PresetAlign]
+    [wsgen] [should process method: getResult hasWebMethods: false ]
+    [wsgen] [endpointReferencesInterface: true]
+    [wsgen] [declaring class has WebSevice: true]
+    [wsgen] [returning: true]
+    [wsgen] [WrapperGen - method: getResult(java.lang.String)]
+    [wsgen] [method.getDeclaringType(): compbio.data.msa.MsaWS<T>]
+    [wsgen] [requestWrapper: compbio.data.msa.jaxws.GetResult]
+    [wsgen] [ProcessedMethods Interface: compbio.data.msa.JABAService]
+    [wsgen] [ProcessedMethods Interface: compbio.data.msa.JManagement]
+    [wsgen] [should process method: cancelJob hasWebMethods: false ]
+    [wsgen] [endpointReferencesInterface: true]
+    [wsgen] [declaring class has WebSevice: false]
+    [wsgen] [returning: true]
+    [wsgen] [WrapperGen - method: cancelJob(java.lang.String)]
+    [wsgen] [method.getDeclaringType(): compbio.data.msa.JManagement]
+    [wsgen] [requestWrapper: compbio.data.msa.jaxws.CancelJob]
+    [wsgen] [should process method: getJobStatus hasWebMethods: false ]
+    [wsgen] [endpointReferencesInterface: true]
+    [wsgen] [declaring class has WebSevice: false]
+    [wsgen] [returning: true]
+    [wsgen] [WrapperGen - method: getJobStatus(java.lang.String)]
+    [wsgen] [method.getDeclaringType(): compbio.data.msa.JManagement]
+    [wsgen] [requestWrapper: compbio.data.msa.jaxws.GetJobStatus]
+    [wsgen] [should process method: pullExecStatistics hasWebMethods: false ]
+    [wsgen] [endpointReferencesInterface: true]
+    [wsgen] [declaring class has WebSevice: false]
+    [wsgen] [returning: true]
+    [wsgen] [WrapperGen - method: pullExecStatistics(java.lang.String,long)]
+    [wsgen] [method.getDeclaringType(): compbio.data.msa.JManagement]
+    [wsgen] [requestWrapper: compbio.data.msa.jaxws.PullExecStatistics]
+    [wsgen] [ProcessedMethods Interface: compbio.data.msa.Metadata<T>]
+    [wsgen] [should process method: getRunnerOptions hasWebMethods: false ]
+    [wsgen] [endpointReferencesInterface: true]
+    [wsgen] [declaring class has WebSevice: false]
+    [wsgen] [returning: true]
+    [wsgen] [WrapperGen - method: getRunnerOptions()]
+    [wsgen] [method.getDeclaringType(): compbio.data.msa.Metadata<T>]
+    [wsgen] [requestWrapper: compbio.data.msa.jaxws.GetRunnerOptions]
+    [wsgen] [should process method: getPresets hasWebMethods: false ]
+    [wsgen] [endpointReferencesInterface: true]
+    [wsgen] [declaring class has WebSevice: false]
+    [wsgen] [returning: true]
+    [wsgen] [WrapperGen - method: getPresets()]
+    [wsgen] [method.getDeclaringType(): compbio.data.msa.Metadata<T>]
+    [wsgen] [requestWrapper: compbio.data.msa.jaxws.GetPresets]
+    [wsgen] [should process method: getLimit hasWebMethods: false ]
+    [wsgen] [endpointReferencesInterface: true]
+    [wsgen] [declaring class has WebSevice: false]
+    [wsgen] [returning: true]
+    [wsgen] [WrapperGen - method: getLimit(java.lang.String)]
+    [wsgen] [method.getDeclaringType(): compbio.data.msa.Metadata<T>]
+    [wsgen] [requestWrapper: compbio.data.msa.jaxws.GetLimit]
+    [wsgen] [should process method: getLimits hasWebMethods: false ]
+    [wsgen] [endpointReferencesInterface: true]
+    [wsgen] [declaring class has WebSevice: false]
+    [wsgen] [returning: true]
+    [wsgen] [WrapperGen - method: getLimits()]
+    [wsgen] [method.getDeclaringType(): compbio.data.msa.Metadata<T>]
+    [wsgen] [requestWrapper: compbio.data.msa.jaxws.GetLimits]
+    [wsgen] compbio/data/msa/jaxws/Align.java
+    [wsgen] compbio/data/msa/jaxws/AlignResponse.java
+    [wsgen] compbio/data/msa/jaxws/CancelJob.java
+    [wsgen] compbio/data/msa/jaxws/CancelJobResponse.java
+    [wsgen] compbio/data/msa/jaxws/CustomAlign.java
+    [wsgen] compbio/data/msa/jaxws/CustomAlignResponse.java
+    [wsgen] compbio/data/msa/jaxws/GetJobStatus.java
+    [wsgen] compbio/data/msa/jaxws/GetJobStatusResponse.java
+    [wsgen] compbio/data/msa/jaxws/GetLimit.java
+    [wsgen] compbio/data/msa/jaxws/GetLimitResponse.java
+    [wsgen] compbio/data/msa/jaxws/GetLimits.java
+    [wsgen] compbio/data/msa/jaxws/GetLimitsResponse.java
+    [wsgen] compbio/data/msa/jaxws/GetPresets.java
+    [wsgen] compbio/data/msa/jaxws/GetPresetsResponse.java
+    [wsgen] compbio/data/msa/jaxws/GetResult.java
+    [wsgen] compbio/data/msa/jaxws/GetResultResponse.java
+    [wsgen] compbio/data/msa/jaxws/GetRunnerOptions.java
+    [wsgen] compbio/data/msa/jaxws/GetRunnerOptionsResponse.java
+    [wsgen] compbio/data/msa/jaxws/JobSubmissionExceptionBean.java
+    [wsgen] compbio/data/msa/jaxws/LimitExceededExceptionBean.java
+    [wsgen] compbio/data/msa/jaxws/PresetAlign.java
+    [wsgen] compbio/data/msa/jaxws/PresetAlignResponse.java
+    [wsgen] compbio/data/msa/jaxws/PullExecStatistics.java
+    [wsgen] compbio/data/msa/jaxws/PullExecStatisticsResponse.java
+    [wsgen] compbio/data/msa/jaxws/ResultNotAvailableExceptionBean.java
+    [wsgen] compbio/data/msa/jaxws/UnsupportedRuntimeExceptionBean.java
+    [wsgen] compbio/data/msa/jaxws/WrongParameterExceptionBean.java
+    [wsgen] Note:      ap round: 2
     [wsgen] command line: wsgen -classpath /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/classes:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/commons-beanutils-1.7.0.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/commons-collections-3.2.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/commons-lang-2.3.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/commons-logging-1.1.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/compbio-annotations-1.0.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/compbio-ga-1.1.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/compbio-util-1.4.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/derby-10.8.2.2.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/displaytag-1.2.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/displaytag-export-poi-1.2.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/drmaa.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/itext-1.4.7.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/jstl-1.1.2.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/log4j-1.2.15.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/poi-3.2-FINAL-20081019.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/standard-1.1.2.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/webservices-api.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/webservices-rt.jar:/home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/lib/webservices-tools.jar -d /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/WEB-INF/classes -Xendorsed -keep -wsdl -r /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices/compbio/ws/server/resource -s /home/asherstnev/Projects/Java.projects/jabaws/secure-git/develop/webservices -verbose compbio.ws.server.ClustalWS
     [wsgen] Note:      ap round: 1
     [wsgen] [ProcessedMethods Interface: compbio.data.msa.MsaWS<T>]
@@ -1333,4 +1535,4 @@ build-server:
     [wsgen] Note:      ap round: 2
 
 BUILD SUCCESSFUL
-Total time: 8 seconds
+Total time: 10 seconds
index b1a56b4..c8aa0e5 100644 (file)
        <property name="muscle.wsdl" location="${wsdl.dir}/MuscleWS.wsdl" />\r
        <property name="tcoffee.wsdl" location="${wsdl.dir}/TcoffeeWS.wsdl" />\r
        <property name="mafft.wsdl" location="${wsdl.dir}/MafftWS.wsdl" />\r
+       <property name="glprobs.wsdl" location="${wsdl.dir}/GLprobsWS.wsdl" />\r
+       <property name="msaprobs.wsdl" location="${wsdl.dir}/MSAprobsWS.wsdl" />\r
+\r
        <property name="disembl.wsdl" location="${wsdl.dir}/DisemblWS.wsdl" />\r
        <property name="globplot.wsdl" location="${wsdl.dir}/GlobPlotWS.wsdl" />\r
        <property name="iupred.wsdl" location="${wsdl.dir}/IUPredWS.wsdl" />\r
        <property name="jronn.wsdl" location="${wsdl.dir}/JronnWS.wsdl" />\r
+\r
        <property name="registry.wsdl" location="${wsdl.dir}/RegistryWS.wsdl" />\r
-       <property name="rnaalifold.wsdl" location="${wsdl.dir}/RNAalifold.wsdl" />  \r
+       <property name="rnaalifold.wsdl" location="${wsdl.dir}/RNAalifold.wsdl" />\r
 \r
        <taskdef name="wsgen" onerror="report" classname="com.sun.tools.ws.ant.WsGen">\r
                <classpath refid="project.classpath" />\r
                                <classpath refid="classes.path" />\r
                                <classpath refid="project.classpath" />\r
                </wsgen>\r
+               <wsgen sei="compbio.ws.server.MSAprobsWS"\r
+                               sourcedestdir="${basedir}/webservices"\r
+                               destdir="${classes}"\r
+                               resourcedestdir="${wsdl.dir}"\r
+                               keep="true"\r
+                               genwsdl="true"\r
+                               extension="false"\r
+                               xendorsed="true"\r
+                               verbose="true">\r
+                               <classpath refid="classes.path" />\r
+                               <classpath refid="project.classpath" />\r
+               </wsgen>\r
+               <wsgen sei="compbio.ws.server.GLprobsWS"\r
+                               sourcedestdir="${basedir}/webservices"\r
+                               destdir="${classes}"\r
+                               resourcedestdir="${wsdl.dir}"\r
+                               keep="true"\r
+                               genwsdl="true"\r
+                               extension="false"\r
+                               xendorsed="true"\r
+                               verbose="true">\r
+                               <classpath refid="classes.path" />\r
+                               <classpath refid="project.classpath" />\r
+               </wsgen>\r
                <wsgen sei="compbio.ws.server.ClustalWS"\r
                                sourcedestdir="${basedir}/webservices"\r
                                destdir="${classes}"\r
                                        <include name="*.java" />\r
                                </fileset>\r
                        </delete>\r
+\r
                        <wsimport wsdl="${clustal.wsdl}"\r
                                sourcedestdir="${basedir}/webservices/"\r
                                keep="true" extension="false"\r
                                package="compbio.ws.client.stub" target="2.1"\r
                                quiet="false">\r
                        </wsimport>\r
+\r
                        <wsimport wsdl="${muscle.wsdl}"\r
                                sourcedestdir="${basedir}/webservices/"\r
                                keep="true" extension="false"\r
                                package="compbio.ws.client.stub" target="2.1"\r
                                quiet="false">\r
                        </wsimport>\r
+\r
                        <wsimport wsdl="${mafft.wsdl}"\r
                                sourcedestdir="${basedir}/webservices/"\r
                                keep="true" extension="false"\r
                                package="compbio.ws.client.stub" target="2.1"\r
                                quiet="false">\r
                        </wsimport>\r
+\r
                        <wsimport wsdl="${tcoffee.wsdl}"\r
                                sourcedestdir="${basedir}/webservices/"\r
                                keep="true" extension="false"\r
                                package="compbio.ws.client.stub" target="2.1"\r
                                quiet="false">\r
                        </wsimport>\r
+\r
                        <wsimport wsdl="${iupred.wsdl}"\r
                                sourcedestdir="${basedir}/webservices/"\r
                                keep="true" extension="false"\r
                                package="compbio.ws.client.stub" target="2.1"\r
                                quiet="false">\r
                        </wsimport>\r
+\r
                        <wsimport wsdl="${registry.wsdl}"\r
                                sourcedestdir="${basedir}/webservices/"\r
                                keep="true" extension="false"\r
                                package="compbio.ws.client.stub" target="2.1"\r
                                quiet="false">\r
                        </wsimport>\r
+\r
                        <wsimport wsdl="${rnaalifold.wsdl}"\r
                                sourcedestdir="${basedir}/webservices/"\r
                                keep="true" extension="false"\r
                                package="compbio.ws.client.stub" target="2.1"\r
                                quiet="false">\r
                        </wsimport>\r
-                       \r
+\r
                </target>\r
 \r
        <!-- \r