Mercurial > repos > rnateam > kinwalker
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>