-
Notifications
You must be signed in to change notification settings - Fork 441
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #6504 from reytakop/sfold
Add Sfold
- Loading branch information
Showing
6 changed files
with
518 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
name: sfold | ||
owner: iuc | ||
description: "Predict the probable RNA secondary structures through structure ensemble sampling" | ||
homepage_url: https://github.com/Ding-RNA-Lab/Sfold | ||
long_description: | | ||
Sfold is a software package for statistical folding and rational design of nucleic acids. It provides tools for predicting | ||
RNA secondary structures, designing antisense oligonucleotides, | ||
and analyzing RNA folding patterns. | ||
remote_repository_url: https://github.com/galaxyproject/tools-iuc/tree/master/tools/sfold | ||
categories: | ||
- RNA |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
<macros> | ||
<token name="@TOOL_VERSION@">2.2.0</token> | ||
<token name="@VERSION_SUFFIX@">0</token> | ||
<token name="@PROFILE@">23.0</token> | ||
<xml name="requirements"> | ||
<requirement type="package" version="2.2">sfold</requirement> | ||
</xml> | ||
<xml name="citations"> | ||
<citations> | ||
<citation type="doi">10.1093/nar/gkh449</citation> | ||
</citations> | ||
</xml> | ||
</macros> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,335 @@ | ||
<tool id="sfold" name="Sfold" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@"> | ||
<description>Prediction of RNA secondary structures through structure ensemble sampling</description> | ||
<macros> | ||
<import>macros.xml</import> | ||
</macros> | ||
<requirements> | ||
<expand macro="requirements"/> | ||
</requirements> | ||
<command detect_errors="exit_code"><![CDATA[ | ||
#if not $non_commercial_use | ||
>&2 echo "this tool is only available for non commercial use"; | ||
exit 1; | ||
#end if | ||
mkdir -p 'output' && | ||
sfold '$fasta' | ||
-a $a | ||
#if $f: | ||
-f '$f' | ||
#end if | ||
#if str($l) != '': | ||
-l $l | ||
#end if | ||
#if $m: | ||
-m '$m' | ||
#end if | ||
-w $w | ||
-i $i | ||
]]></command> | ||
<inputs> | ||
<param name="non_commercial_use" label="I certify that I am not using this tool for commercial purposes." type="boolean" truevalue="NON_COMMERCIAL_USE" falsevalue="COMMERCIAL_USE" checked="False"> | ||
<validator type="expression" message="This tool is only available for non-commercial use.">value == True</validator> | ||
</param> | ||
<param argument="fasta" type="data" format="fasta" label="FASTA input"/> | ||
<param argument="-a" type="boolean" truevalue="1" falsevalue="0" checked="true" label="Run clustering on the sampled ensemble?"/> | ||
<param argument="-f" type="data" format="ct" optional="true" label="Constrain data" help="Constraint syntax follows what is used in mfold 3.1"/> | ||
<param argument="-l" type="integer" min="0" optional="true" label="Maximum distance between paired bases"/> | ||
<param argument="-m" type="data" format="ct" optional="true" label="MFE structure" help="If provided, Sfold clustering module will determine the cluster to which this structure belongs."/> | ||
<param argument="-w" type="integer" value="20" label="Length of antisense oligos"/> | ||
<param argument="-i" type="select" label="Module"> | ||
<option value="0">None</option> | ||
<option value="1">Sirna</option> | ||
<option value="2">Soligo</option> | ||
<option value="3">Both</option> | ||
</param> | ||
<param name="output_selector" type="select" multiple="true" optional="true" display="checkboxes" label="Output options"> | ||
<option value="ct" selected="true">Output ct files</option> | ||
<option value="bp" selected="true">Output bp files</option> | ||
<option value="clusters">Output cluster files</option> | ||
</param> | ||
</inputs> | ||
<outputs> | ||
<collection name="sfold_out" type="list" label="${tool.name} on ${on_string}: sfold log files"> | ||
<discover_datasets pattern="(?P<name>.+)\.out$" format="txt" directory="output/"/> | ||
</collection> | ||
<collection name="sfold_bp" type="list" label="${tool.name} on ${on_string}: sfold bp files"> | ||
<discover_datasets pattern="(?P<name>.+)\.bp$" format="txt" directory="output/"/> | ||
<filter>'bp' in output_selector</filter> | ||
</collection> | ||
<collection name="sfold_ct" type="list" label="${tool.name} on ${on_string}: sfold ct files"> | ||
<discover_datasets pattern="(?P<name>.+)\.ct$" format="ct" directory="output/"/> | ||
<filter>'ct' in output_selector</filter> | ||
</collection> | ||
<collection name="sfold_cluster_out" type="list" label="${tool.name} on ${on_string}: sfold cluster log files"> | ||
<discover_datasets pattern="(?P<name>.+)\.out$" format="txt" directory="output/clusters"/> | ||
<discover_datasets pattern="(?P<name>.+)\.list$" format="txt" directory="output/clusters"/> | ||
<filter>'clusters' in output_selector</filter> | ||
</collection> | ||
<collection name="sfold_cluster_bp" type="list" label="${tool.name} on ${on_string}: sfold cluster bp files"> | ||
<discover_datasets pattern="(?P<name>.+)\.bp$" format="txt" directory="output/clusters"/> | ||
<filter>'clusters' in output_selector and 'bp' in output_selector</filter> | ||
</collection> | ||
<collection name="sfold_cluster_ct" type="list" label="${tool.name} on ${on_string}: sfold cluster ct files"> | ||
<discover_datasets pattern="(?P<name>.+)\.ct$" format="ct" directory="output/clusters"/> | ||
<filter>'clusters' in output_selector and 'ct' in output_selector</filter> | ||
</collection> | ||
</outputs> | ||
<tests> | ||
<test expect_num_outputs="6"> | ||
<param name="non_commercial_use" value="true"/> | ||
<param name="fasta" value="seq.fasta"/> | ||
<param name="a" value="true"/> | ||
<param name="f" value="cons.ct"/> | ||
<param name="l" value="30"/> | ||
<param name="m" value="mfe.ct"/> | ||
<param name="w" value="20"/> | ||
<param name="i" value="1"/> | ||
<param name="output_selector" value="ct,bp,clusters"/> | ||
<output_collection name="sfold_out" type="list"> | ||
<element name="10structure"> | ||
<assert_contents> | ||
<has_n_lines n="770"/> | ||
<has_text text="Structure 1 -28.90 0.74863E-01"/> | ||
</assert_contents> | ||
</element> | ||
<element name="10structure_2"> | ||
<assert_contents> | ||
<has_n_lines n="10"/> | ||
</assert_contents> | ||
</element> | ||
<element name="bp.dist.from.ecentroid"> | ||
<assert_contents> | ||
<has_n_lines n="1001"/> | ||
<has_text text="1 5"/> | ||
</assert_contents> | ||
</element> | ||
<element name="bp"> | ||
<assert_contents> | ||
<has_text text="Structure 1"/> | ||
</assert_contents> | ||
</element> | ||
<element name="bprob"> | ||
<assert_contents> | ||
<has_n_lines n="4"/> | ||
<has_text text=".16225072123690604808E+01L"/> | ||
</assert_contents> | ||
</element> | ||
<element name="cdf"> | ||
<assert_contents> | ||
<has_n_lines n="101"/> | ||
</assert_contents> | ||
</element> | ||
<element name="fe"> | ||
<assert_contents> | ||
<has_n_lines n="1000"/> | ||
<has_text text="1 -28.70"/> | ||
</assert_contents> | ||
</element> | ||
<element name="fe_init"> | ||
<assert_contents> | ||
<has_n_lines n="1002"/> | ||
<has_text text="Ensemble free energy (based on initial energies):-RT ln(U)= -28.297589224477537 "/> | ||
</assert_contents> | ||
</element> | ||
<element name="loopr"> | ||
<assert_contents> | ||
<has_n_lines n="76"/> | ||
</assert_contents> | ||
</element> | ||
<element name="pdf"> | ||
<assert_contents> | ||
<has_n_lines n="21"/> | ||
</assert_contents> | ||
</element> | ||
<element name="sample"> | ||
<assert_contents> | ||
<has_n_lines n="1"/> | ||
<has_text text="Structure data in BP format removed to"/> | ||
</assert_contents> | ||
</element> | ||
<element name="sample_1000"> | ||
<assert_contents> | ||
<has_text text="(i j k): helix formed by base pairs i-j, (i+1)-(j-1),...,(i+k-1)-(j-k+1)"/> | ||
</assert_contents> | ||
</element> | ||
<element name="sclass"> | ||
<assert_contents> | ||
<has_text text="Sequence length = 76"/> | ||
</assert_contents> | ||
</element> | ||
<element name="sfold"> | ||
<assert_contents> | ||
<has_n_lines n="42"/> | ||
<has_text text="1 G"/> | ||
</assert_contents> | ||
</element> | ||
<element name="smfe"> | ||
<assert_contents> | ||
<has_n_lines n="2"/> | ||
<has_text text="Minimum free energy in the sample (SMFE)= -28.90 kcal/mol"/> | ||
</assert_contents> | ||
</element> | ||
<element name="sstrand"> | ||
<assert_contents> | ||
<has_n_lines n="76"/> | ||
</assert_contents> | ||
</element> | ||
</output_collection> | ||
<output_collection name="sfold_bp" type="list"> | ||
<element name="ecentroid"> | ||
<assert_contents> | ||
<has_text text="1 72"/> | ||
</assert_contents> | ||
</element> | ||
</output_collection> | ||
<output_collection name="sfold_ct" type="list"> | ||
<element name="ecentroid"> | ||
<assert_contents> | ||
<has_n_lines n="78"/> | ||
</assert_contents> | ||
</element> | ||
</output_collection> | ||
<output_collection name="sfold_cluster_out" type="list"> | ||
<element name="c01.2dhist"> | ||
<assert_contents> | ||
<has_text text="1"/> | ||
</assert_contents> | ||
</element> | ||
<element name="c01.bp.dist.from.ccentroid"> | ||
<assert_contents> | ||
<has_text text="1"/> | ||
</assert_contents> | ||
</element> | ||
<element name="c01.bp"> | ||
<assert_contents> | ||
<has_text text="Structure 1"/> | ||
</assert_contents> | ||
</element> | ||
<element name="c01.fe"> | ||
<assert_contents> | ||
<has_text text=" 1"/> | ||
</assert_contents> | ||
</element> | ||
<element name="c02.2dhist"> | ||
<assert_contents> | ||
<has_text text="72"/> | ||
</assert_contents> | ||
</element> | ||
<element name="c02.bp.dist.from.ccentroid"> | ||
<assert_contents> | ||
<has_text text="1"/> | ||
</assert_contents> | ||
</element> | ||
<element name="c02.bp"> | ||
<assert_contents> | ||
<has_text text="Structure 1"/> | ||
</assert_contents> | ||
</element> | ||
<element name="c02.fe"> | ||
<assert_contents> | ||
<has_text text="10"/> | ||
</assert_contents> | ||
</element> | ||
<element name="ch.index"> | ||
<assert_contents> | ||
<has_n_lines n="19"/> | ||
</assert_contents> | ||
</element> | ||
</output_collection> | ||
<output_collection name="sfold_cluster_bp" type="list"> | ||
<element name="c01.ccentroid"> | ||
<assert_contents> | ||
<has_text text="1 72"/> | ||
</assert_contents> | ||
</element> | ||
<element name="c02.ccentroid"> | ||
<assert_contents> | ||
<has_text text="Structure 1"/> | ||
</assert_contents> | ||
</element> | ||
</output_collection> | ||
<output_collection name="sfold_cluster_ct" type="list"> | ||
<element name="c01.ccentroid"> | ||
<assert_contents> | ||
<has_n_lines n="78"/> | ||
<has_text text="Length: 76"/> | ||
</assert_contents> | ||
</element> | ||
<element name="c02.ccentroid"> | ||
<assert_contents> | ||
<has_n_lines n="78"/> | ||
<has_text text="Length: 76"/> | ||
</assert_contents> | ||
</element> | ||
</output_collection> | ||
</test> | ||
<test expect_num_outputs="4"> | ||
<param name="non_commercial_use" value="true"/> | ||
<param name="fasta" value="seq.fasta"/> | ||
<param name="a" value="true"/> | ||
<param name="f" value="cons.ct"/> | ||
<param name="l" value="30"/> | ||
<param name="m" value="mfe.ct"/> | ||
<param name="w" value="20"/> | ||
<param name="i" value="1"/> | ||
<param name="output_selector" value="bp,clusters"/> | ||
<output_collection name="sfold_cluster_bp" type="list"> | ||
<element name="c01.ccentroid"> | ||
<assert_contents> | ||
<has_text text="1 72"/> | ||
</assert_contents> | ||
</element> | ||
<element name="c02.ccentroid"> | ||
<assert_contents> | ||
<has_text text="Structure 1"/> | ||
</assert_contents> | ||
</element> | ||
</output_collection> | ||
<output_collection name="sfold_bp" type="list"> | ||
<element name="ecentroid"> | ||
<assert_contents> | ||
<has_text text="1 72"/> | ||
</assert_contents> | ||
</element> | ||
</output_collection> | ||
</test> | ||
</tests> | ||
<help><![CDATA[ | ||
Sfold is a software package for statistical folding and rational design of nucleic acids. | ||
It provides tools for predicting RNA secondary structures, designing antisense oligonucleotides, and analyzing RNA folding patterns. Sfold is widely used in academic research for studying | ||
RNA structure and function. | ||
Input Format | ||
----------- | ||
The program requires one input file of RNA sequence in FASTA format. | ||
Sfold options | ||
------------ | ||
The program can run based on the clustering on the sampled ensemble or not. | ||
It can also predict the secondary structure based on the constraint and MFE structure files. | ||
The sfold has two different modules: | ||
* SiRNA : Target accessibility prediction and RNA duplex thermodynamics for rational siRNA design | ||
* Solig: Target accessibility prediction and rational design of antisense oligonucleotides and nucleic acid probes | ||
The program can be run based on the above-mentioned modules, both of them or none of them. | ||
Output Files | ||
------------ | ||
The Sfold program generates 4 different types of output files. sfold.out and sclass.out in your output log files, save the general messages from standard output/error from which you can know if your Sfold run was successful. Most of the other | ||
files contain a header section that defines the formats and meanings of the data in the output. | ||
------------ | ||
Important: The program usage is restricted to non-commercial and academic research. | ||
]]> | ||
</help> | ||
<expand macro="citations" /> | ||
</tool> |
Oops, something went wrong.