comparison kinwalker.xml @ 0:cb66f1d643e4 draft

Uploaded
author rnateam
date Thu, 26 Feb 2015 12:40:03 -0500
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:cb66f1d643e4
1 <tool id="rbc_kinwalker" name="Kinwalker" version="1.0">
2 <description>
3 <![CDATA[
4 cotranscriptional folding of RNAs
5 ]]>
6 </description>
7 <requirements>
8 <requirement type="package" version="1.0">kinwalker</requirement>
9 <requirement type="package" version="8.22">gnu_coreutils</requirement>
10 <requirement type="package" version="2.1">vienna_rna</requirement>
11 </requirements>
12 <command>
13 <![CDATA[
14 head -n 1 $input_sequence | head -c -1 -q > seq.ident
15 &&
16 sed '1d' $input_sequence > input.seq
17 &&
18 kinwalker
19 $init_structure
20 $interrupt
21 ##$printfront
22
23 --barrier_heuristic $barrier_heuristic.used
24
25 #if $barrier_heuristic.used == "M"
26 --grouping $barrier_heuristic.grouping
27 --lookahead $barrier_heuristic.lookahead
28 #else if $barrier_heuristic.used == "B"
29 --maxkeep $barrier_heuristic.maxkeep
30 #end if
31
32 --dangle $dangle
33 --noLonelyPairs $noLonelyPairs
34 --transcribed $transcribed
35 --transcription_rate $transcription_rate
36 --windowsize $windowsize
37
38 < input.seq
39
40 > blah
41
42 &&
43 sed -n '2s/[\.\(\)]\+\s\+\(.\+\)$/ mfe: \1/p' blah > energy
44
45 &&
46 cat seq.ident energy > $mfe_struct
47
48 &&
49 sed -e '2s/^\([\.\(\)]\+\).*$/\1/' -ne '1,2p' blah >> $mfe_struct
50
51 &&
52 sed -e 's/[ \t]*$//' -ne '/TRAJ/,/Kinwal/ {/TRAJ/n;/Kinwal/!{s/\s/\t/gp}}' blah > $trajectory
53 ]]>
54 </command>
55 <stdio>
56 <!-- Anything other than zero is an error -->
57 <exit_code range="1:" />
58 <exit_code range=":-1" />
59 <!-- In case the return code has not been set propery check stderr too -->
60 <regex match="Error:" />
61 <regex match="Exception:" />
62 </stdio>
63 <inputs>
64 <param name="input_sequence" format="fasta" type="data" label="Input sequence" help="A single sequence in FASTA format"/>
65 <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)"/>
66 <param name="interrupt" type="boolean" truevalue="--interrupt" falsevalue="" checked="false" label="Allow interrupted folding trajectories when the barrier is exceeded" help="(--interrupt)"/>
67 <!-- 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)"/> -->
68 <conditional name="barrier_heuristic">
69 <param name="used" type="select" label="Barrier Heuristic" help="(--barrier_heuristic)">
70 <option value="M" selected="true">Morgan-Higgs</option>
71 <option value="S">Limit small stacks</option>
72 <option value="B">Barriers</option>
73 <option value="A">All</option>
74 </param>
75 <when value="M">
76 <param name="grouping" type="select" label="How to treat conflict groups" help="(--grouping)">
77 <option value="standard" selected="true">Standard</option>
78 <option value="regroup">Re-group</option>
79 </param>
80 <param name="lookahead" type="integer" value="1" label="Number of basepairs that MorganHiggs forms its subpaths from" help="(--lookahead)"/>
81 </when>
82 <when value="S" />
83 <when value="B">
84 <param name="maxkeep" type="integer" value="1" label="Breadth of breadth first search" help="(--maxkeep)"/>
85 </when>
86 <when value="A" />
87 </conditional>
88 <param name="dangle" type="select" label="Dangle value as in VienneRNA package" help="(--dangle)">
89 <option value="0" selected="true">0</option>
90 <option value="1">1</option>
91 <option value="2">2</option>
92 </param>
93 <param name="noLonelyPairs" type="integer" value="2" label="Value of noLonelyPairs as in ViennaRNA" help="(--noLonelyPairs)"/>
94
95 <param name="transcribed" type="integer" value="1" label="Number of bases initially transcribed" help="0 means all is transcribed (--transcribed)"/>
96 <param name="transcription_rate" type="float" value="200" label="Number of bases transcribed per second" help="(--transcription_rate)"/>
97 <param name="windowsize" type="integer" value="0" label="Max size of substructures considered for folding events during transcription" help="0= all are considered. (--windowsize)"/>
98 </inputs>
99 <outputs>
100 <data format="fasta" name="mfe_struct" label="MFE structure from ${tool.name} on ${on_string}" />
101 <data format="tabular" name="trajectory" label="Trajectory of ${tool.name} on ${on_string}" />
102 </outputs>
103 <tests>
104 <test>
105 <param name="input_sequence" value="test_sequence_input.fasta" />
106 <param name="init_structure" value="" />
107 <param name="interrupt" value="" />
108 <param name="used" value="M" />
109 <param name="grouping" value="standard" />
110 <param name="lookahead" value="1" />
111 <param name="dangle" value="0" />
112 <param name="noLonelyPairs" value="2" />
113 <param name="transcribed" value="1" />
114 <param name="transcription_rate" value="200" />
115 <param name="windowsize" value="0" />
116 <output name="mfe_struct" file="mfe_struct_result.fasta" />
117 <output name="trajectory" file="trajectory_result.tabular" />
118 </test>
119 </tests>
120 <help>
121 <![CDATA[
122 **What Kinwalker does**
123
124 Kinwalker splits the folding process into a series of events where each event can either be a folding event or a transcription event.
125 In each transcription event one base from the RNA sequence is appended to the already transcribed and (partially) folded subsequence.
126 Kinwalker executes transcription events at regular time intervals. In each folding event a subsequence of the already transcribed
127 RNA sequence is selected and a new structure is formed by combining base pairs from the current structure with base pairs from the
128 mfE structure of that subsequence.
129
130 This is done in such a way that the new structure includes base pairs from both structures in an energetically favorable manner.
131 Kinwalker estimates the waiting times for individual folding events depending on the height of the energy barrier between the
132 current structure and the new structure into which the molecule is folded. Folding events between structures can only occur,
133 if the energy barrier between them is less than the maximum allowed energy barrier.
134
135 As folding paths can only be calculated exhaustively for short sequences (n>100), heuristic approaches have to be employed which explicitly
136 construct a (re)folding path between the two structures. The saddle height is then estimated as the highest point along the path.
137 The best known algorithm for approximating saddle heights between RNA conformations is the Morgan-Higgs heuristic,
138 which tries to find a folding path from an origin secondary structure to a target secondary structure where the maximum height
139 along the path is minimal. The heuristic models state transitions at base pair resolution.
140 ]]>
141 </help>
142 <citations>
143 <citation type="doi">10.1016/j.jmb.2008.02.064</citation>
144 </citations>
145 </tool>