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='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
        <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>\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-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-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
                <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="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"/>
        <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
 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
+###########################################################################################\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
     <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
         <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
 -->\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
             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
         <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
             <min>0</min>\r
             <max>20</max>\r
         </validValue>\r
     </parameters>\r
+\r
     <parameters>\r
         <name>Passes of iterative refinement</name>\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
         <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
             <min>0</min>\r
             <max>1000</max>\r
         </validValue>\r
     </parameters>\r
+\r
     <parameters>\r
         <name>Passes of consistency transformation</name>\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
         <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
             <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
                                        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
                                                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
         * Probcons\r
         */\r
        Probcons,\r
+\r
+       /**\r
+        * MSAprobs\r
+        */\r
+       MSAprobs,\r
+\r
+       /**\r
+        * GLprobs\r
+        */\r
+       GLprobs,\r
+\r
        /**\r
         * Jpred\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
     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
 \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.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
                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
 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
  * \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
         * 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
 \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 MafftWS :\r
                        case MuscleWS :\r
                        case ProbconsWS :\r
+                       case MSAprobsWS :\r
+                       case GLprobsWS :\r
                        case TcoffeeWS :\r
                                return MsaWS.class;\r
                        case TcoffeeWS :\r
                                return MsaWS.class;\r
-\r
                        default :\r
                                throw new RuntimeException("Unrecognised Web Service Type " + this + " - Should never happen!");\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 MafftWS :\r
                        case MuscleWS :\r
                        case ProbconsWS :\r
+                       case MSAprobsWS :\r
+                       case GLprobsWS :\r
                        case TcoffeeWS :\r
                                return JABAService.SERVICE_NAMESPACE;\r
                        default :\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
                                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
                        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
                                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
                        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
                                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
                        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
                                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
                        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
                        "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
                        "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
                        "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
        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
 \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
                        "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
 \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
                        "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
 \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
                        "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
        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
                        "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
                        "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
                        "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
                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
                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.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
 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
                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
                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
                                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
                        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="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: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="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: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="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: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="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: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="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"/>
       <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="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: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
 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/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>]
     [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] 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>]
     [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
     [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="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
        <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="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
 \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
                                <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
                <wsgen sei="compbio.ws.server.ClustalWS"\r
                                sourcedestdir="${basedir}/webservices"\r
                                destdir="${classes}"\r
                                        <include name="*.java" />\r
                                </fileset>\r
                        </delete>\r
                                        <include name="*.java" />\r
                                </fileset>\r
                        </delete>\r
+\r
                        <wsimport wsdl="${clustal.wsdl}"\r
                                sourcedestdir="${basedir}/webservices/"\r
                                keep="true" extension="false"\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
                                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
                        <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
                                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
                        <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
                                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
                        <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
                                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
                        <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
                                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
                        <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
                                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
                        <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
                                package="compbio.ws.client.stub" target="2.1"\r
                                quiet="false">\r
                        </wsimport>\r
-                       \r
+\r
                </target>\r
 \r
        <!-- \r
                </target>\r
 \r
        <!-- \r