diff ramachandran_plots.xml @ 4:70a2d548e62c draft

"planemo upload for repository https://github.com/galaxycomputationalchemistry/galaxy-tools-compchem/ commit 1b23e024af45cc0999d9142d07de6897d4189ec2"
author chemteam
date Mon, 24 Aug 2020 16:23:14 -0400
parents ce0728b92289
children
line wrap: on
line diff
--- a/ramachandran_plots.xml	Wed May 20 13:03:30 2020 -0400
+++ b/ramachandran_plots.xml	Mon Aug 24 16:23:14 2020 -0400
@@ -1,199 +1,64 @@
-<tool id="mdanalysis_ramachandran_plot" name="Ramachandran Plots" version="@VERSION@">
+<tool id="mdanalysis_ramachandran_plot" name="Ramachandran Plots" version="@TOOL_VERSION@+galaxy@GALAXY_VERSION@">
     <description>- calculate and plot the distribution of two dihedrals in a trajectory</description>
     <macros>
         <import>macros.xml</import>
+        <token name="@GALAXY_VERSION@">0</token>
     </macros>
     <expand macro="requirements">
-        <requirement type="package" version="1.3.1">scipy</requirement>
-        <requirement type="package" version="0.9.0">seaborn</requirement>
-        <requirement type="package" version="1.1.0">nbdime</requirement>
+        <requirement type="package" version="1.5.2">scipy</requirement>
+        <requirement type="package" version="0.10.0">seaborn</requirement>
+        <requirement type="package" version="2.0.0">nbdime</requirement>
+        <requirement type="package" version="5.3.1">pyyaml</requirement>
     </expand>
-    <command detect_errors="exit_code">
-<![CDATA[
+    <command detect_errors="exit_code"><![CDATA[
     python '$__tool_directory__/ramachandran_plots.py'
-        --itraj '$trajin' 
+        --itraj '$trajin'
         --istr '$strin'
         --itrajext '$trajin.ext'
         --istrext '$strin.ext'
-        --isegid1  '$phi.phi_segid1'
-        --iresid1  '$phi.phi_resid1' 
-        --iname1   '$phi.phi_name1'
-        --isegid2  '$phi.phi_segid2'
-        --iresid2  '$phi.phi_resid2' 
-        --iname2   '$phi.phi_name2'
-        --isegid3  '$phi.phi_segid3'
-        --iresid3  '$phi.phi_resid3' 
-        --iname3   '$phi.phi_name3'
-        --isegid4  '$phi.phi_segid4'
-        --iresid4  '$phi.phi_resid4' 
-        --iname4   '$phi.phi_name4'
-        --isegid5  '$psi.psi_segid1'
-        --iresid5  '$psi.psi_resid1' 
-        --iname5   '$psi.psi_name1'
-        --isegid6  '$psi.psi_segid2'
-        --iresid6  '$psi.psi_resid2' 
-        --iname6   '$psi.psi_name2' 
-        --isegid7  '$psi.psi_segid3' 
-        --iresid7  '$psi.psi_resid3' 
-        --iname7   '$psi.psi_name3' 
-        --isegid8  '$psi.psi_segid4' 
-        --iresid8  '$psi.psi_resid4' 
-        --iname8   '$psi.psi_name4' 
-        --output   '$output'  
+        --iyml '$ymlin'
+        --output   '$output'
         --oramachandran_plot '$ramachandran_plot'
     2>&1
 ]]></command>
     <inputs>
-        <expand macro="analysis_inputs"/>
-        <section name="phi" title="Phi" expanded="False">
-          <param name="phi_segid1"  type="text" value="HET" label="Segment ID of atom 1">
-            <expand macro="sanitizer"/>
-          </param>
-          <param name="phi_resid1"  type="text" value="3" label="Residue ID of atom 1">
-            <expand macro="sanitizer_resids"/>
-          </param>
-          <param name="phi_name1"  type="text" value="O5" label="Atom name of atom 1">
-            <expand macro="sanitizer"/>
-          </param>
-          <param name="phi_segid2"  type="text" value="HET" label="Segment ID of atom 2">
-            <expand macro="sanitizer"/>
-          </param>
-          <param name="phi_resid2"  type="text" value="3" label="Residue ID of atom 2">
-            <expand macro="sanitizer_resids"/>
-          </param>
-          <param name="phi_name2"  type="text" value="C1" label="Atom name of atom 2">
-            <expand macro="sanitizer"/>
-          </param>
-          <param name="phi_segid3"  type="text" value="HET" label="Segment ID of atom 3">
-            <expand macro="sanitizer"/>
-          </param>
-          <param name="phi_resid3"  type="text" value="2" label="Residue ID of atom 3">
-            <expand macro="sanitizer_resids"/>
-          </param>
-          <param name="phi_name3"  type="text" value="O4" label="Atom name of atom 3">
-            <expand macro="sanitizer"/>
-          </param>
-          <param name="phi_segid4"  type="text" value="HET" label="Segment ID of atom 4">
-            <expand macro="sanitizer"/>
-          </param>
-          <param name="phi_resid4"  type="text" value="2" label="Residue ID of atom 4">
-            <expand macro="sanitizer_resids"/>
-          </param>
-          <param name="phi_name4"  type="text" value="C4" label="Atom name of atom 4">
-            <expand macro="sanitizer"/>
-          </param>
-        </section>
-        <section name="psi" title="Psi" expanded="False">
-          <param name="psi_segid1"  type="text" value="HET" label="Segment ID of atom 1">
-            <expand macro="sanitizer"/>
-          </param>
-          <param name="psi_resid1"  type="text" value="3" label="Residue ID of atom 1">
-            <expand macro="sanitizer_resids"/>
-          </param>
-          <param name="psi_name1"  type="text" value="C1" label="Atom name of atom 1">
-            <expand macro="sanitizer"/>
-          </param>
-          <param name="psi_segid2"  type="text" value="HET" label="Segment ID of atom 2">
-            <expand macro="sanitizer"/>
-          </param>
-          <param name="psi_resid2"  type="text" value="2" label="Residue ID of atom 2">
-            <expand macro="sanitizer_resids"/>
-          </param>
-          <param name="psi_name2"  type="text" value="O4" label="Atom name of atom 2">
-            <expand macro="sanitizer"/>
-          </param>
-          <param name="psi_segid3"  type="text" value="HET" label="Segment ID of atom 3">
-            <expand macro="sanitizer"/>
-          </param>
-          <param name="psi_resid3"  type="text" value="2" label="Residue ID of atom 3">
-            <expand macro="sanitizer_resids"/>
-          </param>
-          <param name="psi_name3"  type="text" value="C4" label="Atom name of atom 3">
-            <expand macro="sanitizer"/>
-          </param>
-          <param name="psi_segid4"  type="text" value="HET" label="Segment ID of atom 4">
-            <expand macro="sanitizer"/>
-          </param>
-          <param name="psi_resid4"  type="text" value="2" label="Residue ID of atom 4">
-            <expand macro="sanitizer_resids"/>
-          </param>
-          <param name="psi_name4"  type="text" value="C3" label="Atom name of atom 4">
-            <expand macro="sanitizer"/>
-          </param>
+        <expand macro="analysis_inputs" />
+        <section name="ymlparam" title="Torsion Parameters" expanded="False">
+            <param format="txt" name="ymlin" type="data" label="Torsion parameters in yml format" help="Information in YAML format about the segid, resid, and name for atoms 1-4 of the phi and psi angles. Example formatting included in the main help text"/>
         </section>
     </inputs>
     <outputs>
-        <data format="tabular" name="output" label="Ramachandran Plot raw data"/>
-        <data format="png" name="ramachandran_plot" label="Ramachandran Plot"/>
+        <data format="tabular" name="output" label="Ramachandran Plot raw data" />
+        <data format="png" name="ramachandran_plot" label="Ramachandran Plot" />
     </outputs>
     <tests>
         <test>
-            <expand macro="tests_inputs"/>
-            <param name="phi_segid1" value="HET"/>
-            <param name="phi_resid1" value="3"/>
-            <param name="phi_name1" value="O5"/>
-            <param name="phi_segid2" value="HET"/>
-            <param name="phi_resid2" value="3"/>
-            <param name="phi_name2" value="C1"/>
-            <param name="phi_segid3" value="HET"/>
-            <param name="phi_resid3" value="2"/>
-            <param name="phi_name3" value="O4"/>
-            <param name="phi_segid4" value="HET"/>
-            <param name="phi_resid4" value="2"/>
-            <param name="phi_name4" value="C4"/>
-            <param name="psi_segid1" value="HET"/>
-            <param name="psi_resid1" value="3"/>
-            <param name="psi_name1" value="C1"/>
-            <param name="psi_segid2" value="HET"/>
-            <param name="psi_resid2" value="2"/>
-            <param name="psi_name2" value="O4"/>
-            <param name="psi_segid3" value="HET"/>
-            <param name="psi_resid3" value="2"/>
-            <param name="psi_name3" value="C4"/>
-            <param name="psi_segid4" value="HET"/>
-            <param name="psi_resid4" value="2"/>
-            <param name="psi_name4" value="C3"/>
-            <output name="output" file="Ramachandran_Plot_raw_data.tabular" />
-        </test>
-        <test>
-            <expand macro="tests_inputs_gmx"/>
-            <param name="phi_segid1" value="SYSTEM"/>
-            <param name="phi_resid1" value="3"/>
-            <param name="phi_name1" value="O5"/>
-            <param name="phi_segid2" value="SYSTEM"/>
-            <param name="phi_resid2" value="3"/>
-            <param name="phi_name2" value="C1"/>
-            <param name="phi_segid3" value="SYSTEM"/>
-            <param name="phi_resid3" value="2"/>
-            <param name="phi_name3" value="O4"/>
-            <param name="phi_segid4" value="SYSTEM"/>
-            <param name="phi_resid4" value="2"/>
-            <param name="phi_name4" value="C4"/>
-            <param name="psi_segid1" value="SYSTEM"/>
-            <param name="psi_resid1" value="3"/>
-            <param name="psi_name1" value="C1"/>
-            <param name="psi_segid2" value="SYSTEM"/>
-            <param name="psi_resid2" value="2"/>
-            <param name="psi_name2" value="O4"/>
-            <param name="psi_segid3" value="SYSTEM"/>
-            <param name="psi_resid3" value="2"/>
-            <param name="psi_name3" value="C4"/>
-            <param name="psi_segid4" value="SYSTEM"/>
-            <param name="psi_resid4" value="2"/>
-            <param name="psi_name4" value="C3"/>
-            <output name="output" file="Ramachandran_Plot_raw_data_gmx.tabular" />
+            <param name="trajin" value="test.dcd" ftype="dcd" />
+            <param name="strin" value="test.pdb" ftype="pdb" />
+            <section name="ymlparam">
+                <param name="ymlin" value="test.yml" />
+            </section>
+            <output name="output">
+                <assert_contents>
+                    <has_text text="-144.503" />
+                    <has_text text="-140.553" />
+                </assert_contents>
+            </output>
+            <output name="ramachandran_plot">
+                <assert_contents>
+                    <has_size value="18522" delta="2000" />
+                </assert_contents>
+            </output>
         </test>
     </tests>
     <help><![CDATA[
 .. class:: infomark
 
 **What it does**
-        
+
 A Ramachandran plot ([φ,ψ] plot) was originally developed as a way to visualize the energetically allowed regions for backbone dihedral angles ψ and φ of an amino acid.
-It can be also used to calculate glycosidic φ and ψ angles formed between carbohydrates. This tool can calculate and plot the histogram (Ramachandran plot) of user-defined φ and ψ angles of a trajectory. 
+It can be also used to calculate glycosidic φ and ψ angles formed between carbohydrates. This tool can calculate and plot the histogram (Ramachandran plot) of user-defined φ and ψ angles of a trajectory.
 
-  - For protein φ and ψ dihedral definitions see https://proteinstructures.com/Structure/Structure/Ramachandran-plot.html. 
-  - For glycan φ and ψ dihedral definitions see http://www.glycanstructure.org/
 
 _____
 
@@ -204,13 +69,59 @@
 
        - Trajectory file  (DCD).
        - PDB file.
-       - Segment IDs, residue IDs and names of the four atoms to calculate dihedrals.
+       - Text file in YAML format with Segment IDs, residue IDs and names of the four atoms to calculate dihedrals.
 
 Note that a MDAnalysis 'segment' is a larger organizational unit, for example one protein or all the solvent molecules or simply the whole system.
 
+  - For protein φ and ψ dihedral definitions see https://proteinstructures.com/Structure/Structure/Ramachandran-plot.html
+  - For glycan φ and ψ dihedral definitions, see
+     - `Glycan Structure Website`_ - The glycosidic torsion angle definition is adopted from the crystallographic definition; O5-C1-O1-C'x (Φ; phi), C1-O1-C'x-C'x-1 (Ψ; psi), and O1-C'6-C'5-O'5 (ω; omega). The torsion angle between the first residue of the N-glycan chain and the side chain of the asparagine residue is defined as O5-C1-N'D2-C'G (Φ; phi) and C1-N'D2-C'G-C'B (Ψ; psi). The torsion angle between the first residue of the O-glycan chain and the side chain of the serine residue is defined as O5-C1-O'G-C'B (Φ; phi) and C1-O'G-C'B-C'A (Ψ; psi). For threonine residue, OG1 is used instead of OG. The atom names are based on the CHARMM topology.
+     - `Glycosciences Website`_ - NMR definition - Φ phi: H1-C1-O1-C′X Ψ psi: C1-O1-C′X-H′X ω omega: O1-C′6-C′5-H′5  Crystallographic definition - Φ phi: O5-C1-O1-C′X Ψ psi: C1-O1-C′X-C′X+1 ω omega: O1-C′6-C′5-O′5
+
+  - An example of a yaml formatted selection for φ-ψ of a small glycoprotein called PROF with a carbohydrate portion called CARA where φ=O5-C1-OG1-CB1 and ψ=C1-OG1-CB-CA for the selected segment and residue ids.
+
+    .. code-block:: yaml
+
+      ramachandran1:
+        phi:
+          atom1:
+           segid: CARA
+           resid: 1
+           name: O5
+          atom2:
+           segid: CARA
+           resid: 1
+           name: C1
+          atom3:
+           segid: PROF
+           resid: 4
+           name: OG1
+          atom4:
+           segid: PROF
+           resid: 4
+           name: CB
+        psi:
+          atom1:
+           segid: CARA
+           resid: 1
+           name: C1
+          atom2:
+           segid: PROF
+           resid: 4
+           name: OG1
+          atom3:
+           segid: PROF
+           resid: 4
+           name: CB
+          atom4:
+           segid: PROF
+           resid: 4
+           name: CA
+        comment: pick visually using VMD using labels. Go to labels, dihedral to see the information about resname resid and atomname and then lookup the segname for ach atom.
+
 _____
 
-        
+
 .. class:: infomark
 
 **Output**
@@ -218,7 +129,8 @@
        - Tab-separated file of raw data of the φ,ψ angles over time.
        - Image (as png) of the Ramachandran plot.
 
-
+    .. _`Glycan Structure Website`: http://www.glycanstructure.org/fragment-db/howto
+    .. _`Glycosciences Website`: http://www.glycosciences.de/tools/glytorsion/
     ]]></help>
     <expand macro="citations" />
 </tool>