Mercurial > repos > enios > nc_rna
changeset 18:11d232ed904c draft
Uploaded
author | enios |
---|---|
date | Sat, 22 May 2021 07:35:00 +0000 |
parents | 308d4a7877a7 |
children | d928c656a8f3 |
files | gffcompare.xml |
diffstat | 1 files changed, 173 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gffcompare.xml Sat May 22 07:35:00 2021 +0000 @@ -0,0 +1,173 @@ +<tool id="gffcompare" name="GffCompare"> + <description>compare assembled transcripts to a reference annotation</description> + <requirements> + <container type="docker">bianca7/lncrna:gffcompare</container> + </requirements> + <!--version_command>gffcompare -v | awk '{print $2}'</version_command--> + <command detect_errors="aggressive"><![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 + +#if $annotation.use_ref_annotation == "Yes": + #if $annotation.ref_source.ref_source_sel == "history": + ln -s '$annotation.ref_source.reference_annotation' ref_annotation && + #else + ln -s '$annotation.ref_source.index.fields.path' ref_annotation && + #end if +#end if + +gffcompare +## Use annotation reference? +#if $annotation.use_ref_annotation == "Yes": + -r ref_annotation + $annotation.ignore_nonoverlapping_reference + $annotation.ignore_nonoverlapping_transfrags + $annotation.strict_match +#end if +#if $annotation.refmap_tmap == "": + -T +#end if + +## Use sequence data? +#if $seq_data.use_seq_data == "Yes": + -s ref_seq.fa +#end if + +$discard_single_exon +$discard_duplicates +$no_merge +-e $max_dist_exon +-d $max_dist_group +$chr_stats +-p '$adv_output.p' +$adv_output.A +$adv_output.C +$adv_output.X +$adv_output.K + +#for $escaped_element_identifier in $escaped_element_identifiers: + '$escaped_element_identifier' +#end for + + ]]></command> + <inputs> + <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> + <option value="Yes">Yes</option> + </param> + <when value="Yes"> + <conditional name="ref_source"> + <param label="Choose the source for the reference annotation" name="ref_source_sel" type="select"> + <option value="cached">Locally cached</option> + <option value="history">History</option> + </param> + <when value="cached"> + <param argument="-r" label="Using reference annotation" name="index" type="select"> + <options from_data_table="gene_sets"> + <!--filter column="dbkey" key="dbkey" ref="gffinputs" type="data_meta" /--> + </options> + <validator message="No reference annotation is available for the build associated with the selected input dataset" type="no_options" /> + </param> + </when> + <when value="history"> + <param argument="-r" format="gff3,gtf" help="Requires an annotation file in GFF3 or GTF format." label="Reference Annotation" name="reference_annotation" type="data" /> + </when> + </conditional> + <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="--strict-match" name="strict_match" type="boolean" checked="false" truevalue="--strict-match" falsevalue="" label="the match code '=' is only assigned when all exon boundaries match" help="code '~' is assigned for intron chain match or single-exon" /> + <param argument="-T" name="refmap_tmap" label="Generate tmap or refmap file 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"> + <param argument="-T" name="refmap_tmap" label="Generate tmap file for each input file" type="select" multiple="True"> + <option value="tmap" selected="True">tmap</option> + </param> + </when> + </conditional> + <conditional name="seq_data"> + <param help="Use sequence data for some optional classification functions, including the addition of the p_id attribute required by Cuffdiff." label="Use Sequence Data" name="use_seq_data" type="select"> + <option value="No">No</option> + <option value="Yes">Yes</option> + </param> + <when value="No"/> + <when value="Yes"> + <conditional name="seq_source"> + <param label="Choose the source for the reference sequence" name="index_source" type="select"> + <option value="cached">Locally cached</option> + <option value="history">History</option> + </param> + <when value="cached"> + <param argument="-s" label="Using reference genome" name="index" type="select"> + <options from_data_table="fasta_indexes"> + <filter column="dbkey" key="dbkey" ref="gffinputs" type="data_meta" /> + </options> + <validator message="No reference genome is available for the build associated with the selected input dataset" type="no_options" /> + </param> + </when> + <when value="history"> + <param argument="-s" format="fasta" label="Using reference file" name="ref_file" type="data" /> + </when> + </conditional> + </when> + </conditional> + <param name="discard_single_exon" argument="-M/-N" type="select" label="Discard single-exon transcripts" help="If -S and also --strict-match is given, exact matching of all exon boundaries is required"> + <option selected="True" value="">No</option> + <option value="-M">Discard single-exon transfrags and reference transcripts</option> + <option value="-N">Discard single-exon reference transcripts</option> + </param> + <param label="Discard duplicates" name="discard_duplicates" type="select"> + <option value="">None</option> + <option value="-D">discard 'duplicate' query transfrags within a single sample (-D)</option> + <option value="-S">Only discard 'duplicate' query or reference transcripts if their boundaries are fully contained within other, larger or identical transfrags (-S)</option> + </param> + <param name="no_merge" argument="--no-merge" type="boolean" checked="false" truevalue="--no-merge" falsevalue="" label="Disable close-exon merging" help="Default: merge exons separated by 'introns' shorter than 5 bases" /> + <param argument="-e" help="max. distance (range) allowed from free ends of terminal exons of reference transcripts when assessing exon accuracy. Default: 100" label="Max. Distance for assessing exon accuracy" name="max_dist_exon" type="integer" value="100" /> + <param argument="-d" help="max. distance (range) for grouping transcript start sites. Default: 100" label="Max distance for transcript grouping" name="max_dist_group" type="integer" value="100" /> + <param name="chr_stats" argument="--chr-stats" type="boolean" checked="false" truevalue="--chr-stats" falsevalue="" label="Show summary and accuracy data separately for each reference sequence in the transcript accuracy data set" /> + <section name="adv_output" title="Options for the combined GTF output file"> + <param argument="-p" type="text" value="TCONS" label="name prefix for consensus transcripts" help="for combined.gtf" /> + <param argument="-C" type="boolean" checked="false" truevalue="-C" falsevalue="" label="discard matching and 'contained' transfrags" help="i.e. collapse intron-redundant transfrags across all query files" /> + <param argument="-A" type="boolean" checked="false" truevalue="-A" falsevalue="" label="discard the 'contained' transfrags except intron-redundant transfrags starting with a different 5' exon" help="like -C but does not discard intron-redundant transfrags if they start with a different 5' exon" /> + <param argument="-X" type="boolean" checked="false" truevalue="-X" falsevalue="" label="discard the 'contained' transfrags also if ends stick out within the container's introns" help="like -C but also discard contained transfrags if transfrag ends stick out within the container's introns" /> + <param argument="-K" type="boolean" checked="false" truevalue="-K" falsevalue="" label="do NOT discard any redundant transfrag matching a reference" help="for -C/-A/-X" /> + </section> + </inputs> + <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 ${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>(isinstance(gffinputs, list) and len(gffinputs) > 1) or annotation['use_ref_annotation'] == "No"</filter> + </data> + <data format="gtf" from_work_dir="gffcmp.annotated.gtf" label="${tool.name} on ${on_string}: annotated transcripts" name="transcripts_annotated"> + <filter>not (isinstance(gffinputs, list) and len(gffinputs) > 1) and annotation['use_ref_annotation'] == "Yes"</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['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['refmap_tmap'] != None and 'tmap' in annotation['refmap_tmap']</filter> + </collection> + </outputs> + <citations> + <citation type="doi">10.1038/nbt.1621</citation> + </citations> +</tool>