Mercurial > repos > iuc > gffcompare
diff gffcompare.xml @ 1:c80cdc2eac6d draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/gffcompare commit fc3616bd1463afef9681cd7c431ac29f79e37e74
author | iuc |
---|---|
date | Wed, 12 Dec 2018 03:19:14 -0500 |
parents | 3c97c841a443 |
children | f99d7825a501 |
line wrap: on
line diff
--- a/gffcompare.xml Fri Apr 07 16:02:07 2017 -0400 +++ b/gffcompare.xml Wed Dec 12 03:19:14 2018 -0500 @@ -1,4 +1,4 @@ -<tool id="gffcompare" name="GffCompare" version="0.9.8"> +<tool id="gffcompare" name="GffCompare" version="0.9.8+galaxy1"> <description>compare assembled transcripts to a reference annotation</description> <requirements> <requirement type="package" version="0.9.8">gffcompare</requirement> @@ -10,35 +10,47 @@ <regex match="Exception" /> </stdio> <version_command>gffcompare -v | awk '{print $2}'</version_command> - <command> - <![CDATA[ - #set $input_gtf = "' '".join(str($inputs).split(',')) - #if $seq_data.use_seq_data == "Yes": - #if $seq_data.seq_source.index_source == "history": - ln -s '$seq_data.seq_source.ref_file' ref_seq.fa && - #else: - ln -s '${seq_data.seq_source.index.fields.path}' ref_seq.fa && - #end if - #end if - gffcompare - ## Use annotation reference? - #if $annotation.use_ref_annotation == "Yes": - -r '$annotation.reference_annotation' $annotation.ignore_nonoverlapping_reference $annotation.ignore_nonoverlapping_transfrags - #end if + <command><![CDATA[ +#import re +#set escaped_element_identifiers = [re.sub('[^\w\-]', '_', str(_.element_identifier)) for _ in $gffinputs] +#for $input, $escaped_element_identifier in zip($gffinputs, $escaped_element_identifiers): + ln -s '$input' '$escaped_element_identifier' && +#end for +#if $seq_data.use_seq_data == "Yes": + #if $seq_data.seq_source.index_source == "history": + ln -s '$seq_data.seq_source.ref_file' ref_seq.fa && + #else: + ln -s '${seq_data.seq_source.index.fields.path}' ref_seq.fa && + #end if +#end if - ## Use sequence data? - - #if $seq_data.use_seq_data == "Yes": - -s ref_seq.fa - #end if +gffcompare +## Use annotation reference? +#if $annotation.use_ref_annotation == "Yes": + -r '$annotation.reference_annotation' + $annotation.ignore_nonoverlapping_reference + $annotation.ignore_nonoverlapping_transfrags + #if not $annotation.refmap_tmap: + -T + #end if +#end if - $discard_single_exon -e $max_dist_exon -d $max_dist_group $discard_intron_redundant_transfrags +## Use sequence data? +#if $seq_data.use_seq_data == "Yes": + -s ref_seq.fa +#end if - '$input_gtf' - ]]> - </command> +$discard_single_exon +-e $max_dist_exon +-d $max_dist_group +$discard_intron_redundant_transfrags + +#for $escaped_element_identifier in $escaped_element_identifiers: + '$escaped_element_identifier' +#end for + ]]></command> <inputs> - <param format="gtf" name="inputs" type="data" label="GTF inputs for comparison" help="" multiple="true" /> + <param format="gtf" name="gffinputs" type="data" label="GTF inputs for comparison" help="" multiple="true" /> <conditional name="annotation"> <param label="Use Reference Annotation" name="use_ref_annotation" type="select"> <option value="No">No</option> @@ -48,6 +60,10 @@ <param argument="-r" format="gff3,gtf" help="Requires an annotation file in GFF3 or GTF format." label="Reference Annotation" name="reference_annotation" type="data" /> <param argument="-R" falsevalue="" help="consider only the reference transcripts that overlap any of the input transfrags (Sn correction)" label="Ignore reference transcripts that are not overlapped by any input transfrags" name="ignore_nonoverlapping_reference" truevalue="-R" type="boolean" /> <param argument="-Q" falsevalue="" help="consider only the input transcripts that overlap any of the reference transcripts (Sp correction). Warning: this will discard all 'novel' loci!" label="Ignore input transcripts that are not overlapped by any reference transcripts" name="ignore_nonoverlapping_transfrags" truevalue="-Q" type="boolean" /> + <param argument="-T" name="refmap_tmap" label="Generate tmap and refmap files for each input file" type="select" multiple="True"> + <option value="refmap" selected="True">refmap</option> + <option value="tmap" selected="True">tmap</option> + </param> </when> <when value="No"> </when> @@ -57,7 +73,7 @@ <option value="Yes">Yes</option> <option value="No">No</option> </param> - <when value="No" /> + <when value="No"/> <when value="Yes"> <conditional name="seq_source"> <param label="Choose the source for the reference list" name="index_source" type="select"> @@ -67,7 +83,7 @@ <when value="cached"> <param argument="-s" label="Using reference genome" name="index" type="select"> <options from_data_table="fasta_indexes"> - <filter column="1" key="dbkey" ref="inputs" type="data_meta" /> + <filter column="1" key="dbkey" ref="gffinputs" type="data_meta" /> <validator message="No reference genome is available for the build associated with the selected input dataset" type="no_options" /> </options> </param> @@ -90,44 +106,65 @@ <outputs> <data format="txt" from_work_dir="gffcmp.stats" label="${tool.name} on ${on_string}: transcript accuracy" name="transcripts_stats" /> <data format="tabular" from_work_dir="gffcmp.loci" label="${tool.name} on ${on_string}: loci" name="transcripts_loci" /> - <data format="tabular" from_work_dir="gffcmp.tracking" label="${tool.name} on ${on_string}: data ${inputs[0].hid} tracking file" name="transcripts_tracking" /> + <data format="tabular" from_work_dir="gffcmp.tracking" label="${tool.name} on ${on_string}: data ${gffinputs[0].hid} tracking file" name="transcripts_tracking" /> <data format="gtf" from_work_dir="gffcmp.combined.gtf" label="${tool.name} on ${on_string}: combined transcripts" name="transcripts_combined"> - <filter>(use_seq_data == 'No')</filter> + <filter>isinstance(gffinputs, list)</filter> </data> <data format="gtf" from_work_dir="gffcmp.annotated.gtf" label="${tool.name} on ${on_string}: annotated transcripts" name="transcripts_annotated"> - <filter>(use_seq_data == 'Yes')</filter> + <filter>not isinstance(gffinputs, list)</filter> </data> + <collection name="refmap_output" type="list" label="${tool.name} on ${on_string}: refmap"> + <discover_datasets pattern="gffcmp\.(?P<designation>.+)\.refmap" ext="tabular" /> + <filter>annotation['use_ref_annotation'] == 'Yes' and annotation['refmap_tmap'] != None and 'refmap' in annotation['refmap_tmap']</filter> + </collection> + <collection name="tmap_output" type="list" label="${tool.name} on ${on_string}: tmap"> + <discover_datasets pattern="gffcmp\.(?P<designation>.+)\.tmap" ext="tabular" /> + <filter>annotation['use_ref_annotation'] == 'Yes' and annotation['refmap_tmap'] != None and 'tmap' in annotation['refmap_tmap']</filter> + </collection> </outputs> <tests> - <test> - <param ftype="gtf" name="inputs" value="gffcompare_in1.gtf,gffcompare_in2.gtf" /> + <test expect_num_outputs="6"> + <param ftype="gtf" name="gffinputs" value="gffcompare_in1.gtf,gffcompare_in2.gtf" /> <param name="use_ref_annotation" value="Yes" /> - <param ftype="gtf" name="reference_annotation" value="gffcompare_in3.gtf" /> - <param name="ignore_nonoverlapping_reference" value="Yes" /> - <param name="ignore_nonoverlapping_transfrags" value="No" /> + <conditional name="annotation"> + <param ftype="gtf" name="reference_annotation" value="gffcompare_in3.gtf" /> + <param name="ignore_nonoverlapping_reference" value="Yes" /> + <param name="ignore_nonoverlapping_transfrags" value="No" /> + </conditional> <param name="use_seq_data" value="No" /> <param name="discard_single_exon" value="" /> <param name="max_dist_exon" value="100" /> <param name="max_dist_group" value="100" /> <param name="discard_intron_redundant_transfrags" value="No" /> <output file="gffcompare_out1.stats" name="transcripts_stats" lines_diff="6" /> - <output file="gffcompare_out1.loci" name="transcripts_loci" /> + <output file="gffcompare_out1.loci" name="transcripts_loci" lines_diff="2" /> <output file="gffcompare_out1.tracking" name="transcripts_tracking" /> <output file="gffcompare_out1.gtf" name="transcripts_combined" /> + <output_collection name="refmap_output" type="list" count="2"> + <element name="gffcompare_in1_gtf" file="gffcompare_out1-1.refmap" ftype="tabular" /> + <element name="gffcompare_in2_gtf" file="gffcompare_out1-2.refmap" ftype="tabular" /> + </output_collection> + <output_collection name="tmap_output" type="list" count="2"> + <element name="gffcompare_in1_gtf" file="gffcompare_out1-1.tmap" ftype="tabular" /> + <element name="gffcompare_in2_gtf" file="gffcompare_out1-2.tmap" ftype="tabular" /> + </output_collection> </test> - <test> - <param ftype="gtf" name="inputs" value="gffcompare_in4.gtf" /> + <test expect_num_outputs="4"> + <param ftype="gtf" name="gffinputs" value="gffcompare_in4.gtf" /> <param name="use_ref_annotation" value="Yes" /> - <param ftype="gtf" name="reference_annotation" value="gffcompare_in5.gtf" /> - <param name="ignore_nonoverlapping_reference" value="Yes" /> - <param name="ignore_nonoverlapping_transfrags" value="No" /> + <conditional name="annotation"> + <param ftype="gtf" name="reference_annotation" value="gffcompare_in5.gtf" /> + <param name="ignore_nonoverlapping_reference" value="Yes" /> + <param name="ignore_nonoverlapping_transfrags" value="No" /> + <param name="refmap_tmap" value="" /> + </conditional> <param name="use_seq_data" value="No" /> <param name="discard_single_exon" value="" /> <param name="max_dist_exon" value="100" /> <param name="max_dist_group" value="100" /> <param name="discard_intron_redundant_transfrags" value="No" /> <output file="gffcompare_out2.stats" name="transcripts_stats" lines_diff="6" /> - <output file="gffcompare_out2.loci" name="transcripts_loci" lines_diff="2" /> + <output file="gffcompare_out2.loci" name="transcripts_loci" /> <output file="gffcompare_out2.tracking" name="transcripts_tracking" /> <output file="gffcompare_out2.gtf" name="transcripts_annotated" /> </test>