Mercurial > repos > jjohnson > trinityrnaseq
diff trinityrnaseq_norm.xml @ 2:5eb99d21ef0d
Add trinityrnaseq_norm and transcriptsToOrfs tools
author | Jim Johnson <jj@umn.edu> |
---|---|
date | Thu, 05 Sep 2013 08:08:21 -0500 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/trinityrnaseq_norm.xml Thu Sep 05 08:08:21 2013 -0500 @@ -0,0 +1,178 @@ +<tool id="trinityrnaseq_norm" name="Trinity read normalization" version="0.0.2"> + <!-- Written by Jeremy Goecks, modified by Josh Bowden for normalization proceedure, now maintained here by bhaas --> + <description>Pre-process RNA-seq data to reduce coverage of highly covered areas</description> + <requirements> + <requirement type="package" version="2013_08_14">trinityrnaseq</requirement> + </requirements> + <command> + ## symlink input in work_dir + #if str($inputs.paired_or_single) == "paired": + ln -s $inputs.left_input left_reads && + ln -s $inputs.right_input right_reads && + #else: + ln -s $inputs.input single_reads && + #end if + \${TRINITY_HOME}/util/normalize_by_kmer_coverage.pl --JM $JM --max_cov $max_cov + ## Inputs. + #if str($inputs.paired_or_single) == "paired": + --left left_reads --right right_reads + #if $inputs.left_input.ext == 'fa': + --seqType fa + #else: + --seqType fq + #end if + $inputs.pe_reads_unordered + #if str($inputs.library_type) != "None": + --SS_lib_type $inputs.library_type + #end if + $inputs.pairs_together + $inputs.parallel_stats + #else: + --single single_reads + #if str($inputs.input.ext) == 'fa': + --seqType fa + #else: + --seqType fq + #end if + #if str($inputs.library_type) != "None": + --SS_lib_type $inputs.library_type + #end if + #end if + #if $kmer_size: + --KMER_SIZE $kmer_size + #end if + #if $max_pct_stdev: + --max_pct_stdev $max_pct_stdev + #end if + ## direct stdio to output + | tee $trinity_coverage_normalization_log && + #if str($inputs.paired_or_single) == "paired": + cp left_reads.normalized* $output_left && + cp right_reads.normalized* $output_right + #else: + cp single_reads.normalized* $output_single + #end if + </command> + <inputs> + <param name="JM" type="select" label="JM" help="Amount of memory to allocate to Jellyfish for Kmer catalog construction"> + <option value="1G">1G</option> + <option value="10G">10G</option> + <option value="20G">20G</option> + <option value="50G">50G</option> + <option value="100G">100G</option> + </param> + + <param name="max_cov" type="select" label="max_cov" help="Read coverage in terms of maximum covarge to keep"> + <option value="30">30</option> + <option value="40">40</option> + <option value="50">50</option> + <option value="60">60</option> + <option value="70">70</option> + <option value="100">100</option> + </param> + + <conditional name="inputs"> + <param name="paired_or_single" type="select" label="Paired or Single-end data?"> + <option value="paired">Paired</option> + <option value="single">Single</option> + </param> + <when value="paired"> + <param format="fasta,fastq" name="left_input" type="data" label="Left/Forward strand reads" help=""/> + <param format="fasta,fastq" name="right_input" type="data" label="Right/Reverse strand reads" help=""/> + <param name="library_type" type="select" label="Strand-specific Library Type"> + <option value="None">None</option> + <option value="FR">FR</option> + <option value="RF">RF</option> + </param> + <param name="pe_reads_unordered" type="boolean" truevalue="--PE_reads_unordered" falsevalue="" checked="false" label="set if the input paired-end reads are not identically ordered"/> + <param name="pairs_together" type="boolean" truevalue="--pairs_together" falsevalue="" checked="false" label="process paired reads by averaging stats between pairs and retaining linking info"/> + <param name="parallel_stats" type="boolean" truevalue="--PARALLEL_STATS" falsevalue="" checked="false" label="generate read stats in parallel for paired reads" help="(Figure 2X Inchworm memory requirement)"/> + </when> + <when value="single"> + <param format="fasta,fastq" name="input" type="data" label="Single-end reads" help=""/> + <param name="library_type" type="select" label="Strand-specific Library Type"> + <option value="None">None</option> + <option value="F">F</option> + <option value="R">R</option> + </param> + </when> + </conditional> + <param name="kmer_size" type="integer" value="" optional="true" label="KMER SIZE" help="default: 25"> + <validator type="in_range" message="kmer size between 3 and 200" min="3" max="200"/> + </param> + <param name="max_pct_stdev" type="integer" value="" optional="true" label="maximum pct of mean for stdev of kmer coverage across read" help="default: 100"> + <validator type="in_range" message="kmer size between 10 and 100" min="10" max="100"/> + </param> + + </inputs> + <stdio> + <exit_code range="1:" level="fatal" description="Failed" /> + <regex match="Error" + source="stdout" + level="fatal" + description="Failed" /> + </stdio> + <outputs> + <!-- I have not found a way to do condional outputs so all potential output files are specified and some will be empty --> + <data format="txt" name="trinity_coverage_normalization_log" label="${tool.name} on ${on_string}: log" /> + <data format_source="left_input" name="output_left" label="${tool.name} on ${on_string}: Normalized left reads"> + <filter>inputs['paired_or_single'] == "paired"</filter> + </data> + <data format_source="right_input" name="output_right" label="${tool.name} on ${on_string}: Normalized right reads"> + <filter>inputs['paired_or_single'] == "paired"</filter> + </data> + <data format_source="input" name="output_single" label="${tool.name} on ${on_string}: Normalized reads"> + <filter>inputs['paired_or_single'] == "single"</filter> + </data> + </outputs> + <tests> + <test> + <param name="JM" value="1G"/> + <param name="max_cov" value="30"/> + <param name="paired_or_single" value="single"/> + <param name="input" ftype="fastq" value="reads.left.fq"/> + <param name="library_type" value="None"/> + <output name="trinity_coverage_normalization_log"> + <assert_contents> + <has_text text="Normalization complete." /> + </assert_contents> + </output> + <output name="output_single"> + <assert_contents> + <has_text text="ACTGCATCCTGGAAAGAATCAATGGTGGCCGGAAAGTGTTTTTCAAATACAAGAGTGACAATGTGCCCTGTTGTTT" /> + </assert_contents> + </output> + </test> + <test> + <param name="JM" value="1G"/> + <param name="max_cov" value="30"/> + <param name="paired_or_single" value="paired"/> + <param name="left_input" ftype="fastq" value="reads.left.fq"/> + <param name="right_input" ftype="fastq" value="reads.right.fq"/> + <param name="library_type" value="None"/> + <param name="pe_reads_unordered" value="False"/> + <param name="pairs_together" value="False"/> + <param name="parallel_stats" value="False"/> + <output name="trinity_coverage_normalization_log"> + <assert_contents> + <has_text text="Normalization complete." /> + </assert_contents> + </output> + <output name="output_left"> + <assert_contents> + <has_text text="CTGGGCTGCAGCTAAGTTCTCTGCATCCTCCTTCTTGCTTGTGGCTGGGAAGAAGACAATGTTGTCGATGGTCTGG" /> + </assert_contents> + </output> + <output name="output_right"> + <assert_contents> + <has_text text="CTCAAATGGTTAATTCTCAGGCTGCAAATATTCGTTCAGGATGGAAGAACATTTTCTCAGTATTCCATCTAGCTGC" /> + </assert_contents> + </output> + </test> + </tests> + <help> + Runs script Trinity_ script util/normalize_by_kmer_coverage.pl which reduces data sizes with minimal impact on recovered transcripts when used by Trinity.pl. + + .. _Trinity: http://trinityrnaseq.sourceforge.net + </help> +</tool>