changeset 0:cb66f1d643e4 draft

Uploaded
author rnateam
date Thu, 26 Feb 2015 12:40:03 -0500
parents
children 643da63cb382
files kinwalker.xml test-data/mfe_struct_result.fasta test-data/test_sequence_input.fasta test-data/trajectory_result.tabular tool_dependencies.xml
diffstat 5 files changed, 198 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kinwalker.xml	Thu Feb 26 12:40:03 2015 -0500
@@ -0,0 +1,145 @@
+<tool id="rbc_kinwalker" name="Kinwalker" version="1.0">
+    <description>
+<![CDATA[
+cotranscriptional folding of RNAs
+]]>
+    </description>
+    <requirements>
+        <requirement type="package" version="1.0">kinwalker</requirement>
+        <requirement type="package" version="8.22">gnu_coreutils</requirement>
+        <requirement type="package" version="2.1">vienna_rna</requirement>
+    </requirements>
+    <command>
+<![CDATA[
+    head -n 1 $input_sequence | head -c -1 -q  > seq.ident
+    &&
+    sed '1d' $input_sequence > input.seq
+    &&
+    kinwalker
+        $init_structure
+        $interrupt
+        ##$printfront
+        
+        --barrier_heuristic $barrier_heuristic.used
+        
+        #if $barrier_heuristic.used == "M"
+            --grouping $barrier_heuristic.grouping
+            --lookahead $barrier_heuristic.lookahead
+        #else if $barrier_heuristic.used == "B"
+            --maxkeep $barrier_heuristic.maxkeep
+        #end if
+        
+        --dangle $dangle
+        --noLonelyPairs $noLonelyPairs
+        --transcribed $transcribed
+        --transcription_rate $transcription_rate
+        --windowsize $windowsize
+        
+        < input.seq
+        
+        > blah
+         
+        &&
+        sed -n '2s/[\.\(\)]\+\s\+\(.\+\)$/ mfe: \1/p' blah > energy
+        
+        &&
+        cat seq.ident energy > $mfe_struct
+        
+        &&
+        sed -e '2s/^\([\.\(\)]\+\).*$/\1/' -ne '1,2p' blah >> $mfe_struct
+        
+        &&
+        sed -e 's/[ \t]*$//' -ne '/TRAJ/,/Kinwal/ {/TRAJ/n;/Kinwal/!{s/\s/\t/gp}}' blah > $trajectory
+]]>
+    </command>
+    <stdio>
+        <!-- Anything other than zero is an error -->
+        <exit_code range="1:" />
+        <exit_code range=":-1" />
+        <!-- In case the return code has not been set propery check stderr too -->
+        <regex match="Error:" />
+        <regex match="Exception:" />
+    </stdio>
+    <inputs>
+        <param name="input_sequence" format="fasta" type="data" label="Input sequence" help="A single sequence in FASTA format"/>
+        <param name="init_structure" type="boolean" truevalue="--init_structure" falsevalue="" checked="false" label="Start with a structure other than the open chain" help="(--init_structure)"/>
+        <param name="interrupt" type="boolean" truevalue="--interrupt" falsevalue="" checked="false" label="Allow interrupted folding trajectories when the barrier is exceeded" help="(--interrupt)"/>
+        <!-- need to implement with dataset collections <param name="printfront" type="boolean" truevalue="!doublehypen!printfront" falsevalue="" checked="true" label="Creates PS plots of front progression" help="(!doublehypen!printfront)"/> -->
+        <conditional name="barrier_heuristic">
+            <param name="used" type="select" label="Barrier Heuristic" help="(--barrier_heuristic)">
+                <option value="M" selected="true">Morgan-Higgs</option>
+                <option value="S">Limit small stacks</option>
+                <option value="B">Barriers</option>
+                <option value="A">All</option>
+            </param>
+            <when value="M">
+                <param name="grouping" type="select" label="How to treat conflict groups" help="(--grouping)">
+                    <option value="standard" selected="true">Standard</option>
+                    <option value="regroup">Re-group</option>
+                </param>
+                <param name="lookahead" type="integer" value="1" label="Number of basepairs that MorganHiggs forms its subpaths from" help="(--lookahead)"/>
+            </when>
+            <when value="S" />
+            <when value="B">
+                <param name="maxkeep" type="integer" value="1" label="Breadth of breadth first search" help="(--maxkeep)"/>
+            </when>
+            <when value="A" />
+        </conditional>
+        <param name="dangle" type="select" label="Dangle value as in VienneRNA package" help="(--dangle)">
+            <option value="0" selected="true">0</option>
+            <option value="1">1</option>
+            <option value="2">2</option>
+        </param>
+        <param name="noLonelyPairs" type="integer" value="2" label="Value of noLonelyPairs as in ViennaRNA" help="(--noLonelyPairs)"/>
+        
+        <param name="transcribed" type="integer" value="1" label="Number of bases initially transcribed" help="0 means all is transcribed (--transcribed)"/>
+        <param name="transcription_rate" type="float" value="200" label="Number of bases transcribed per second" help="(--transcription_rate)"/>
+        <param name="windowsize" type="integer" value="0" label="Max size of substructures considered for folding events during transcription" help="0= all are considered. (--windowsize)"/>
+    </inputs>
+    <outputs>
+        <data format="fasta" name="mfe_struct" label="MFE structure from ${tool.name} on ${on_string}" />
+        <data format="tabular" name="trajectory" label="Trajectory of ${tool.name} on ${on_string}" />
+    </outputs>
+    <tests>
+        <test>
+            <param name="input_sequence" value="test_sequence_input.fasta" />
+            <param name="init_structure" value="" />
+            <param name="interrupt" value="" />
+            <param name="used" value="M" />
+            <param name="grouping" value="standard" />
+            <param name="lookahead" value="1" />
+            <param name="dangle" value="0" />
+            <param name="noLonelyPairs" value="2" />
+            <param name="transcribed" value="1" />
+            <param name="transcription_rate" value="200" />
+            <param name="windowsize" value="0" />
+            <output name="mfe_struct" file="mfe_struct_result.fasta" />
+            <output name="trajectory" file="trajectory_result.tabular" />
+        </test>
+    </tests>
+    <help>
+<![CDATA[
+**What Kinwalker does**
+
+Kinwalker splits the folding process into a series of events where each event can either be a folding event or  a  transcription event.   
+In  each  transcription  event one base from the RNA sequence is appended to the already transcribed and (partially) folded subsequence. 
+Kinwalker executes transcription events at regular time intervals. In each folding event a subsequence  of  the  already  transcribed 
+RNA sequence is selected and a new structure is formed by combining base pairs from the current structure with base pairs from the 
+mfE structure of that subsequence. 
+
+This is done in such a way that the new  structure  includes  base  pairs from both structures in an energetically favorable manner. 
+Kinwalker estimates the waiting times for individual folding events depending on the height of the energy barrier between the 
+current structure and the new  structure  into which the molecule is folded. Folding events between structures can only occur, 
+if the energy barrier between them is less than the maximum allowed energy barrier. 
+
+As folding paths can only be calculated  exhaustively  for  short  sequences (n>100),  heuristic  approaches have to be employed which explicitly 
+construct a (re)folding path between the two structures. The saddle height is then estimated as the highest point along the path. 
+The best known algorithm  for  approximating  saddle heights  between RNA conformations is the Morgan-Higgs heuristic, 
+which tries to find a folding path from an origin secondary structure to a target secondary structure where the maximum height 
+along the path is  minimal.  The  heuristic  models  state transitions at base pair resolution.
+]]>
+    </help>
+    <citations>
+        <citation type="doi">10.1016/j.jmb.2008.02.064</citation>
+    </citations>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/mfe_struct_result.fasta	Thu Feb 26 12:40:03 2015 -0500
@@ -0,0 +1,3 @@
+>test_seq mfe: -13.6
+ACAGGUUCGCCUGUGUUGCGAACCUGCGGGUUCG
+.(((((((((.......)))))))))........
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test_sequence_input.fasta	Thu Feb 26 12:40:03 2015 -0500
@@ -0,0 +1,2 @@
+>test_seq
+ACAGGUUCGCCUGUGUUGCGAACCUGCGGGUUCG
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/trajectory_result.tabular	Thu Feb 26 12:40:03 2015 -0500
@@ -0,0 +1,10 @@
+..(((....)))	-0.4	0.0550686	3.9	6.46108	12	
+.((((....))))	-3	0.0600001	5.96046e-09	6.46108	13
+(((((....)))))	-4.7	0.065	0	6.46108	14
+(((((....)))))..((((....))))	-5.3	0.135069	3.9	6.46108	28
+(((((....))))).(((((....)))))	-5.8	0.14	1.90735e-07	6.46108	29
+(((((....))))).......(((....)))...	-6.9	0.17246	6.7	7.46108	34
+(((((....)))))......((((....))))..	-7.8	0.17246	9.53674e-08	7.46108	34
+(((((....))))).....(((((....))))).	-10.7	0.17246	1.90735e-07	7.46108	34
+(((((....)))))....((((((....))))))	-13.1	0.17246	-1.90735e-07	7.46108	34
+.(((((((((.......)))))))))........	-13.6	123.457	12.5	13	34
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_dependencies.xml	Thu Feb 26 12:40:03 2015 -0500
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<tool_dependency>
+    <package name="vienna_rna" version="2.1">
+        <repository changeset_revision="3b53eda26527" name="package_vienna_rna_2_1" owner="iuc" prior_installation_required="True" toolshed="https://toolshed.g2.bx.psu.edu" />
+    </package>
+    <package name="gnu_coreutils" version="8.22">
+        <repository changeset_revision="ac64dfe4b1fb" name="package_gnu_coreutils_8_22" owner="iuc" prior_installation_required="True" toolshed="https://toolshed.g2.bx.psu.edu" />
+    </package>
+    <package name="kinwalker" version="1.0">
+        <install version="1.0">
+            <actions>
+                <action target_filename="kinwalker.tar.gz" type="download_by_url">https://raw.githubusercontent.com/bgruening/download_store/master/kinwalker/kinwalker-patched.tar.gz</action>
+                <action type="set_environment_for_install">
+                    <repository changeset_revision="3b53eda26527" name="package_vienna_rna_2_1" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu">
+                        <package name="vienna_rna" version="2.1" />
+                    </repository>
+                </action> 
+                <action type="shell_command">make VRNA_INC="-I$ROOT_VIENNA_RNA_DIR/include/ViennaRNA" VRNA_LIB="-L$ROOT_VIENNA_RNA_DIR/lib -lRNA" LDFLAGS="-fopenmp"</action>
+                <action type="move_file">
+                    <source>kinwalker</source>
+                    <destination>$INSTALL_DIR/bin</destination>
+                </action>
+                <action type="set_environment">
+                    <environment_variable action="prepend_to" name="PATH">$INSTALL_DIR/bin</environment_variable>
+                </action>
+            </actions>
+        </install>
+        <readme>
+
+The  Kinwalker  algorithm performs cotranscriptional folding of RNAs, 
+starting at a user a specified structure (default: open chain) and 
+ending at the minimum free energy structure. Folding events are 
+performed between transcription of additional bases and are regulated 
+by barrier heights between the source and target structure.
+
+        </readme>
+    </package>
+</tool_dependency>