changeset 17:e6cc27d182a8 draft

Uploaded v0.2.6, embedded citations and uses $GALAXY_SLOTS
author peterjc
date Fri, 21 Nov 2014 08:19:09 -0500
parents 7de64c8b258d
children eb6ac44d4b8e
files tools/protein_analysis/README.rst tools/protein_analysis/promoter2.xml tools/protein_analysis/psortb.xml tools/protein_analysis/rxlr_motifs.xml tools/protein_analysis/seq_analysis_utils.py tools/protein_analysis/signalp3.xml tools/protein_analysis/suite_config.xml tools/protein_analysis/tmhmm2.xml tools/protein_analysis/wolf_psort.xml
diffstat 9 files changed, 108 insertions(+), 79 deletions(-) [+]
line wrap: on
line diff
--- a/tools/protein_analysis/README.rst	Wed Sep 18 06:16:58 2013 -0400
+++ b/tools/protein_analysis/README.rst	Fri Nov 21 08:19:09 2014 -0500
@@ -41,23 +41,23 @@
 
 First install those command line tools you wish to use the wrappers for:
 
-1. Install the command line version of SignalP 3.0 and ensure "signalp" is
+1. Install the command line version of SignalP 3.0 and ensure ``signalp`` is
    on the PATH, see: http://www.cbs.dtu.dk/services/SignalP/
 
-2. Install the command line version of TMHMM 2.0 and ensure "tmhmm" is on
+2. Install the command line version of TMHMM 2.0 and ensure ``tmhmm`` is on
    the PATH, see: http://www.cbs.dtu.dk/services/TMHMM/
 
-3. Install the command line version of Promoter 2.0 and ensure "promoter" is
+3. Install the command line version of Promoter 2.0 and ensure ``promoter`` is
    on the PATH, see: http://www.cbs.dtu.dk/services/Promoter
 
-4. Install the WoLF PSORT v0.2 package, and ensure "runWolfPsortSummary"
+4. Install the WoLF PSORT v0.2 package, and ensure ``runWolfPsortSummary``
    is on the PATH (we use an extra wrapper script to change to the WoLF PSORT
    directory, run runWolfPsortSummary, and then change back to the original
    directory), see: http://wolfpsort.org/WoLFPSORT_package/version0.2/
 
 5. Install hmmsearch from HMMER 2.3.2 (the last stable release of HMMER 2)
-   but put it on the path under the name hmmsearch2 (allowing it to co-exist
-   with HMMER 3), or edit rlxr_motif.py accordingly.
+   but put it on the path under the name ``hmmsearch2`` (allowing it to
+   co-exist with HMMER 3), or edit ``rlxr_motif.py`` accordingly.
 
 Verify each of the tools is installed and working from the command line
 (when logged in as the Galaxy user if appropriate).
@@ -66,37 +66,36 @@
 Manual Installation
 ===================
 
-1. Create a folder tools/protein_analysis under your Galaxy installation.
+1. Create a folder ``tools/protein_analysis`` under your Galaxy installation.
    This folder name is not critical, and can be changed if desired - you
-   must update the paths used in tool_conf.xml to match.
+   must update the paths used in ``tool_conf.xml`` to match.
 
 2. Copy/move the following files (from this archive) there:
 
-   * tmhmm2.xml (Galaxy tool definition)
-   * tmhmm2.py (Python wrapper script)
+   * ``tmhmm2.xml`` (Galaxy tool definition)
+   * ``tmhmm2.py`` (Python wrapper script)
 
-   * signalp3.xml (Galaxy tool definition)
-   * signalp3.py (Python wrapper script)
+   * ``signalp3.xml`` (Galaxy tool definition)
+   * ``signalp3.py`` (Python wrapper script)
 
-   * promoter2.xml (Galaxy tool definition)
-   * promoter2.py (Python wrapper script)
+   * ``promoter2.xml`` (Galaxy tool definition)
+   * ``promoter2.py`` (Python wrapper script)
 
-   * psortb.xml (Galaxy tool definition)
-   * psortb.py (Python wrapper script)
+   * ``psortb.xml`` (Galaxy tool definition)
+   * ``psortb.py`` (Python wrapper script)
 
-   * wolf_psort.xml (Galaxy tool definition)
-   * wolf_psort.py (Python wrapper script)
+   * ``wolf_psort.xml`` (Galaxy tool definition)
+   * ``wolf_psort.py`` (Python wrapper script)
 
-   * rxlr_motifs.xml (Galaxy tool definition)
-   * rxlr_motifs.py (Python script)
+   * ``rxlr_motifs.xml`` (Galaxy tool definition)
+   * ``rxlr_motifs.py`` (Python script)
 
-   * seq_analysis_utils.py (shared Python code)
-   * LICENCE
-   * README.rst (this file)
+   * ``seq_analysis_utils.py`` (shared Python code)
+   * ``LICENCE``
+   * ``README.rst`` (this file)
 
-3. Edit your Galaxy conjuration file tool_conf.xml (to use the tools) AND
-   also tool_conf.xml.sample (to run the tests) to include the new tools
-   by adding::
+3. Edit your Galaxy conjuration file ``tool_conf.xml`` to include the
+   new tools by adding::
 
     <section name="Protein sequence analysis" id="protein_analysis">
       <tool file="protein_analysis/tmhmm2.xml" />
@@ -111,22 +110,24 @@
 
    Leave out the lines for any tools you do not wish to use in Galaxy.
 
-4. Copy/move the test-data files (from this archive) to Galaxy's
-   subfolder test-data.
+4. Copy/move the ``test-data/*`` files (from this archive) to Galaxy's
+   subfolder ``test-data/``.
 
 5. Run the Galaxy functional tests for these new wrappers with::
 
-    ./run_functional_tests.sh -id tmhmm2
-    ./run_functional_tests.sh -id signalp3
-    ./run_functional_tests.sh -id Psortb
-    ./run_functional_tests.sh -id rxlr_motifs
+    $ ./run_tests.sh -id tmhmm2
+    $ ./run_tests.sh -id signalp3
+    $ ./run_tests.sh -id Psortb
+    $ ./run_tests.sh -id rxlr_motifs
 
-   Alternatively, this should work (assuming you left the name and id as shown in
-   the XML file tool_conf.xml.sample)::
+   Alternatively, this should work (assuming you left the seciont name and id
+   as shown above in your XML file ``tool_conf.xml``)::
 
-    ./run_functional_tests.sh -sid Protein_sequence_analysis-protein_analysis
+    $ ./run_tests.sh -sid Protein_sequence_analysis-protein_analysis
 
-   To check the section ID expected, use ./run_functional_tests.sh -list
+   To check the section ID expected, use:
+
+    $ ./run_tests.sh -list
 
 6. Restart Galaxy and check the new tools are shown and work.
 
@@ -139,7 +140,7 @@
 ------- ----------------------------------------------------------------------
 v0.0.1  - Initial release
 v0.0.2  - Corrected some typos in the help text
-        - Renamed test output file to use Galaxy convention of *.tabular
+        - Renamed test output file to use Galaxy convention of ``*.tabular``
 v0.0.3  - Check for tmhmm2 silent failures (no output)
         - Additional unit tests
 v0.0.4  - Ignore comment lines in tmhmm2 output.
@@ -150,11 +151,11 @@
 v0.0.8  - Added WoLF PSORT wrapper to the suite.
 v0.0.9  - Added our RXLR motifs tool to the suite.
 v0.1.0  - Added Promoter 2.0 wrapper (similar to SignalP & TMHMM wrappers)
-        - Support Galaxy's <parallelism> tag for SignalP, TMHMM & Promoter
+        - Support Galaxy's ``<parallelism>`` tag for SignalP, TMHMM & Promoter
 v0.1.1  - Fixed an error in the header of the tabular output from Promoter
 v0.1.2  - Use the new <stdio> settings in the XML wrappers to catch errors
-        - Use SGE style $NSLOTS for thread count (otherwise default to 4)
-v0.1.3  - Added missing file whisson_et_al_rxlr_eer_cropped.hmm to Tool Shed
+        - Use SGE style ``$NSLOTS`` for thread count (otherwise default to 4)
+v0.1.3  - Added missing file ``whisson_et_al_rxlr_eer_cropped.hmm`` to Tool Shed
 v0.2.0  - Added PSORTb wrapper to the suite, based on earlier work
           contributed by Konrad Paszkiewicz.
 v0.2.1  - Use a script to create the Tool Shed tar-ball (removed some stray
@@ -170,13 +171,16 @@
         - Adopted standard MIT licence.
         - Use reStructuredText for this README file.
         - Development moved to GitHub, https://github.com/peterjc/pico_galaxy
+v0.2.6  - Use the new ``$GALAXY_SLOTS`` environment variable for thread count.
+        - Updated the ``suite_config.xml`` file (overdue).
+        - Tool definition now embeds citation information.
 ======= ======================================================================
 
 
 Developers
 ==========
 
-This script and other tools are being developed on the following hg branches:
+This script and other tools were initially developed on the following hg branches:
 http://bitbucket.org/peterjc/galaxy-central/src/seq_analysis
 http://bitbucket.org/peterjc/galaxy-central/src/tools
 
--- a/tools/protein_analysis/promoter2.xml	Wed Sep 18 06:16:58 2013 -0400
+++ b/tools/protein_analysis/promoter2.xml	Fri Nov 21 08:19:09 2014 -0500
@@ -1,13 +1,10 @@
-<tool id="promoter2" name="Promoter 2.0" version="0.0.6">
+<tool id="promoter2" name="Promoter 2.0" version="0.0.8">
     <description>Find eukaryotic PolII promoters in DNA sequences</description>
     <!-- If job splitting is enabled, break up the query file into parts -->
     <!-- Using 2000 per chunk so 4 threads each doing 500 is ideal -->
     <parallelism method="basic" split_inputs="fasta_file" split_mode="to_size" split_size="2000" merge_outputs="tabular_file"></parallelism>
     <command interpreter="python">
-        promoter2.py "\$NSLOTS" $fasta_file $tabular_file
-        ##I want the number of threads to be a Galaxy config option...
-        ##Set the number of threads in the runner entry in universe_wsgi.ini
-        ##which (on SGE at least) will set the $NSLOTS environment variable.
+        promoter2.py "\$GALAXY_SLOTS" "$fasta_file" "$tabular_file"
         ##If the environment variable isn't set, get "", and the python wrapper
         ##defaults to four threads.
     </command>
@@ -85,4 +82,8 @@
 This wrapper is available to install into other Galaxy Instances via the Galaxy
 Tool Shed at http://toolshed.g2.bx.psu.edu/view/peterjc/tmhmm_and_signalp
     </help>
+    <citations>
+        <citation type="doi">10.7717/peerj.167</citation>
+        <citation type="doi">10.1093/bioinformatics/15.5.356</citation>
+    </citations>
 </tool>
--- a/tools/protein_analysis/psortb.xml	Wed Sep 18 06:16:58 2013 -0400
+++ b/tools/protein_analysis/psortb.xml	Fri Nov 21 08:19:09 2014 -0500
@@ -1,14 +1,11 @@
-<tool id="Psortb" name="psortb" version="0.0.3">
+<tool id="Psortb" name="psortb" version="0.0.5">
   <description>Determines sub-cellular localisation of bacterial/archaeal protein sequences</description>
   <!-- If job splitting is enabled, break up the query file into parts -->
   <!-- Using 2000 chunks meaning 4 threads doing 500 each is ideal -->
   <parallelism method="basic" split_inputs="fasta_file" split_mode="to_size" split_size="2000" merge_outputs="tabular_file"></parallelism>
   <version_command interpreter="python">psortb.py --version</version_command>
   <command interpreter="python">
-    psortb.py "\$NSLOTS" "$type" "$long" "$cutoff" "$divergent" "$sequence" "$outfile"
-    ##I want the number of threads to be a Galaxy config option...
-    ##Set the number of threads in the runner entry in universe_wsgi.ini
-    ##which (on SGE at least) will set the $NSLOTS environment variable.
+    psortb.py "\$GALAXY_SLOTS" "$type" "$long" "$cutoff" "$divergent" "$sequence" "$outfile"
     ##If the environment variable isn't set, get "", and python wrapper
     ##defaults to four threads.
   </command>
@@ -19,9 +16,9 @@
   </stdio>
   <inputs>
     <param format="fasta" name="sequence" type="data"
-	   label="Input sequences for which to predict localisation (protein FASTA format)" />
+           label="Input sequences for which to predict localisation (protein FASTA format)" />
     <param name="type" type="select"
-	   label="Organism type (N.B. all sequences in the above file must be of the same type)" >
+           label="Organism type (N.B. all sequences in the above file must be of the same type)" >
       <option value="-p">Gram positive bacteria</option>
       <option value="-n">Gram negative bacteria</option>
       <option value="-a">Archaea</option>
@@ -34,11 +31,11 @@
       <option value="long">Long (verbose, tabular with about 30 columns, depending on organism type)</option>
     </param>
     <param name="cutoff" size="10" type="float" optional="true" value=""
-	   label="Sets a cutoff value for reported results (e.g. 7.5)"
-	   help="Leave blank or use zero for no cutoff." />
+           label="Sets a cutoff value for reported results (e.g. 7.5)"
+           help="Leave blank or use zero for no cutoff." />
     <param name="divergent" size="10" type="float" optional="true" value=""
-	   label="Sets a cutoff value for the multiple localization flag (e.g. 4.5)"
-	   help="Leave blank or use zero for no cutoff." />
+           label="Sets a cutoff value for the multiple localization flag (e.g. 4.5)"
+           help="Leave blank or use zero for no cutoff." />
   </inputs>
   <outputs>
     <data format="tabular" name="outfile" />
@@ -102,5 +99,9 @@
 
 This wrapper is available to install into other Galaxy Instances via the Galaxy
 Tool Shed at http://toolshed.g2.bx.psu.edu/view/peterjc/tmhmm_and_signalp
+    <citations>
+        <citation type="doi">10.7717/peerj.167</citation>
+        <citation type="doi">10.1093/bioinformatics/btq249</citation>
+    </citations>
   </help>
 </tool>
--- a/tools/protein_analysis/rxlr_motifs.xml	Wed Sep 18 06:16:58 2013 -0400
+++ b/tools/protein_analysis/rxlr_motifs.xml	Fri Nov 21 08:19:09 2014 -0500
@@ -1,8 +1,7 @@
-<tool id="rxlr_motifs" name="RXLR Motifs" version="0.0.7">
+<tool id="rxlr_motifs" name="RXLR Motifs" version="0.0.9">
     <description>Find RXLR Effectors of Plant Pathogenic Oomycetes</description>
     <command interpreter="python">
-      rxlr_motifs.py $fasta_file 8 $model $tabular_file
-      ##I want the number of threads to be a Galaxy config option...
+      rxlr_motifs.py "$fasta_file" "\$GALAXY_SLOTS" $model "$tabular_file"
     </command>
     <stdio>
         <!-- Anything other than zero is an error -->
@@ -176,4 +175,14 @@
 This wrapper is available to install into other Galaxy Instances via the Galaxy
 Tool Shed at http://toolshed.g2.bx.psu.edu/view/peterjc/tmhmm_and_signalp
     </help>
+    <citations>
+        <citation type="doi">10.7717/peerj.167</citation>
+        <!-- TODO - select from these citations depending on method picked -->
+        <citation type="doi">10.1038/nature06203</citation>
+        <citation type="doi">10.1105/tpc.107.051037</citation>
+        <citation type="doi">10.1371/journal.ppat.0020050</citation>
+        <citation type="doi">10.1101/gr.910003</citation>
+        <citation type="doi">10.1093/bioinformatics/14.9.755</citation>
+        <citation type="doi">10.1093/protein/10.1.1</citation>
+    </citations>
 </tool>
--- a/tools/protein_analysis/seq_analysis_utils.py	Wed Sep 18 06:16:58 2013 -0400
+++ b/tools/protein_analysis/seq_analysis_utils.py	Fri Nov 21 08:19:09 2014 -0500
@@ -91,6 +91,7 @@
             #between records (starting with hash).
             pass
         else:
+            handle.close()
             raise ValueError("Bad FASTA line %r" % line)
     handle.close()
     if title:
--- a/tools/protein_analysis/signalp3.xml	Wed Sep 18 06:16:58 2013 -0400
+++ b/tools/protein_analysis/signalp3.xml	Fri Nov 21 08:19:09 2014 -0500
@@ -1,12 +1,10 @@
-<tool id="signalp3" name="SignalP 3.0" version="0.0.12">
+<tool id="signalp3" name="SignalP 3.0" version="0.0.14">
     <description>Find signal peptides in protein sequences</description>
     <!-- If job splitting is enabled, break up the query file into parts -->
     <!-- Using 2000 chunks meaning 4 threads doing 500 each is ideal -->
     <parallelism method="basic" split_inputs="fasta_file" split_mode="to_size" split_size="2000" merge_outputs="tabular_file"></parallelism>
     <command interpreter="python">
-      signalp3.py $organism $truncate "\$NSLOTS" $fasta_file $tabular_file
-      ##Set the number of threads in the runner entry in universe_wsgi.ini
-      ##which (on SGE at least) will set the $NSLOTS environment variable.
+      signalp3.py $organism $truncate "\$GALAXY_SLOTS" $fasta_file $tabular_file
       ##If the environment variable isn't set, get "", and the python wrapper
       ##defaults to four threads.
     </command>
@@ -197,4 +195,10 @@
 This wrapper is available to install into other Galaxy Instances via the Galaxy
 Tool Shed at http://toolshed.g2.bx.psu.edu/view/peterjc/tmhmm_and_signalp
     </help>
+    <citations>
+        <citation type="doi">10.7717/peerj.167</citation>
+        <citation type="doi">10.1016/j.jmb.2004.05.028</citation>
+        <citation type="doi">10.1093/protein/10.1.1</citation>
+        <!-- TODO - Add bibtex entry for PMID: 9783217 -->
+    </citations>
 </tool>
--- a/tools/protein_analysis/suite_config.xml	Wed Sep 18 06:16:58 2013 -0400
+++ b/tools/protein_analysis/suite_config.xml	Fri Nov 21 08:19:09 2014 -0500
@@ -1,15 +1,21 @@
-    <suite id="tmhmm_and_signalp" name="Protein sequence analysis tools" version="0.0.9">
+    <suite id="tmhmm_and_signalp" name="Protein/gene sequence analysis tools" version="0.2.6">
         <description>TMHMM, SignalP, RXLR motifs, WoLF PSORT</description>
-        <tool id="tmhmm2" name="TMHMM 2.0" version="0.0.7">
+        <tool id="tmhmm2" name="TMHMM 2.0" version="0.0.12">
             <description>Find transmembrane domains in protein sequences</description>
         </tool>
-        <tool id="signalp3" name="SignalP 3.0" version="0.0.8">
+        <tool id="signalp3" name="SignalP 3.0" version="0.0.13">
             <description>Find signal peptides in protein sequences</description>
         </tool>
-        <tool id="wolf_psort" name="WoLF PSORT" version="0.0.1">
+        <tool id="promoter2" name="Promoter 2.0" version="0.0.7">
+            <description>Find eukaryotic PolII promoters in DNA sequences</description>
+        </tool>
+        <tool id="psortb" name="PSORTb" version="0.0.4">
+            <description>Bacteria/archaea protein subcellular localization prediction</description>
+        </tool>
+        <tool id="wolf_psort" name="WoLF PSORT" version="0.0.7">
             <description>Eukaryote protein subcellular localization prediction</description>
         </tool>
-        <tool id="rxlr_motifs" name="RXLR Motifs" version="0.0.5">
+        <tool id="rxlr_motifs" name="RXLR Motifs" version="0.0.8">
             <description>Find RXLR Effectors of Plant Pathogenic Oomycetes</description>
         </tool>
     </suite>
--- a/tools/protein_analysis/tmhmm2.xml	Wed Sep 18 06:16:58 2013 -0400
+++ b/tools/protein_analysis/tmhmm2.xml	Fri Nov 21 08:19:09 2014 -0500
@@ -1,13 +1,10 @@
-<tool id="tmhmm2" name="TMHMM 2.0" version="0.0.11">
+<tool id="tmhmm2" name="TMHMM 2.0" version="0.0.13">
     <description>Find transmembrane domains in protein sequences</description>
     <!-- If job splitting is enabled, break up the query file into parts -->
     <!-- Using 2000 chunks meaning 4 threads doing 500 each is ideal -->
     <parallelism method="basic" split_inputs="fasta_file" split_mode="to_size" split_size="2000" merge_outputs="tabular_file"></parallelism>
     <command interpreter="python">
-      tmhmm2.py "\$NSLOTS" $fasta_file $tabular_file
-      ##I want the number of threads to be a Galaxy config option...
-      ##Set the number of threads in the runner entry in universe_wsgi.ini
-      ##which (on SGE at least) will set the $NSLOTS environment variable.
+      tmhmm2.py "\$GALAXY_SLOTS" $fasta_file $tabular_file
       ##If the environment variable isn't set, get "", and the python wrapper
       ##defaults to four threads.
     </command>
@@ -119,4 +116,9 @@
 This wrapper is available to install into other Galaxy Instances via the Galaxy
 Tool Shed at http://toolshed.g2.bx.psu.edu/view/peterjc/tmhmm_and_signalp
     </help>
+    <citations>
+        <citation type="doi">10.7717/peerj.167</citation>
+        <citation type="doi">10.1006/jmbi.2000.4315</citation>
+        <!-- TODO - add entry for PMID: 9783223 -->
+    </citations>
 </tool>
--- a/tools/protein_analysis/wolf_psort.xml	Wed Sep 18 06:16:58 2013 -0400
+++ b/tools/protein_analysis/wolf_psort.xml	Fri Nov 21 08:19:09 2014 -0500
@@ -1,10 +1,7 @@
-<tool id="wolf_psort" name="WoLF PSORT" version="0.0.6">
+<tool id="wolf_psort" name="WoLF PSORT" version="0.0.8">
     <description>Eukaryote protein subcellular localization prediction</description>
     <command interpreter="python">
-      wolf_psort.py $organism "\$NSLOTS" "$fasta_file" "$tabular_file"
-      ##I want the number of threads to be a Galaxy config option...
-      ##Set the number of threads in the runner entry in universe_wsgi.ini
-      ##which (on SGE at least) will set the $NSLOTS environment variable.
+      wolf_psort.py $organism "\$GALAXY_SLOTS" "$fasta_file" "$tabular_file"
       ##If the environment variable isn't set, get "", and python wrapper
       ##defaults to four threads.
     </command>
@@ -150,4 +147,8 @@
 This wrapper is available to install into other Galaxy Instances via the Galaxy
 Tool Shed at http://toolshed.g2.bx.psu.edu/view/peterjc/tmhmm_and_signalp
     </help>
+    <citations>
+        <citation type="doi">10.7717/peerj.167</citation>
+        <citation type="doi">10.1093/nar/gkm259</citation>
+    </citations>
 </tool>