Mercurial > repos > iuc > dram_merge_annotations
diff dram_merge_annotations.xml @ 0:2675f8d7b2a5 draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/dram commit df10ba86507266a6a6f83c9bbefb7191a41b46f5
author | iuc |
---|---|
date | Sat, 10 Dec 2022 21:14:28 +0000 |
parents | |
children | 96c0067106ec |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dram_merge_annotations.xml Sat Dec 10 21:14:28 2022 +0000 @@ -0,0 +1,195 @@ +<tool id="dram_merge_annotations" name="DRAM merge multiple annotations" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@"> + <description>into a single set</description> + <macros> + <import>macros.xml</import> + </macros> + <expand macro="requirements"/> + <command detect_errors="exit_code"><![CDATA[ +## DRAM expects a specific file name for each file in the set. +#set annotations_file_name = 'annotations.tsv' +#set genbank_file_name = 'genbank' +#set trnas_file_name = 'trnas.tsv' +#set rrnas_file_name = 'rrnas.tsv' +#set scaffolds_file_name = 'scaffolds.fna' +#set genes_gff_file_name = 'genes.gff' +#set genes_fna_file_name = 'genes.fna' +#set genes_faa_file_name = 'genes.faa' + +## DRAM expects each annotation set to be in a different directory. +#set input_dirs = list() +#for $index, $item in enumerate($annotations_collection): + #set dir_name = 'input_dir_' + str($index) + mkdir '$dir_name' && + ln -s '$item' '$dir_name/$annotations_file_name' && + ln -s '$genbank_collection[$index]' '$dir_name/$genbank_file_name' && + #if $trnas_collection: + ln -s '$trnas_collection[$index]' '$dir_name/$trnas_file_name' && + #end if + #if $rrnas_collection + ln -s '$rrnas_collection[$index]' '$dir_name/$rrnas_file_name' && + #end if + ln -s '$scaffolds_collection[$index]' '$dir_name/$scaffolds_file_name' && + ln -s '$genes_gff_collection[$index]' '$dir_name/$genes_gff_file_name' && + ln -s '$genes_fna_collection[$index]' '$dir_name/$genes_fna_file_name' && + ln -s '$genes_faa_collection[$index]' '$dir_name/$genes_faa_file_name' && + $input_dirs.append($dir_name) +#end for + +DRAM.py merge_annotations +--input_dirs 'input_dir*' +--output_dir 'output_dir' +&& test -f 'output_dir/genes.faa' && mv 'output_dir/genes.faa' '$output_genes_faa' || echo 'No genes.faa output produced' +&& test -f 'output_dir/genes.fna' && mv 'output_dir/genes.fna' '$output_genes_fna' || echo 'No genes.fna output produced' +&& test -f 'output_dir/genes.gff' && mv 'output_dir/genes.gff' '$output_genes_gff' || echo 'No genes.gff output produced' +&& test -f 'output_dir/scaffolds.fna' && mv 'output_dir/scaffolds.fna' '$output_scaffolds_fna' || echo 'No scaffolds.fna output produced' +#if $rrnas_collection: + && test -f 'output_dir/rrnas.tsv' && mv 'output_dir/rrnas.tsv' '$output_rrnas' || echo 'No rrnas.tsv output produced' +#end if +#if $trnas_collection: + && test -f 'output_dir/trnas.tsv' && mv 'output_dir/trnas.tsv' '$output_trnas' || echo 'No trnas.tsv output produced' +#end if +&& test -f 'output_dir/annotations.tsv' && mv 'output_dir/annotations.tsv' '$output_annotations' || echo 'No annotations.tsv output produced' + ]]></command> + <inputs> + <param name="annotations_collection" type="data_collection" format="tabular" collection_type="list" label="Collection of annotation files"/> + <param name="genbank_collection" type="data_collection" format="genbank" collection_type="list" label="Collection of genbank files"/> + <param name="trnas_collection" type="data_collection" format="tabular" collection_type="list" optional="true" label="Collection of trna files"/> + <param name="rrnas_collection" type="data_collection" format="tabular" collection_type="list" optional="true" label="Collection of rrna files"/> + <param name="scaffolds_collection" type="data_collection" format="fasta" collection_type="list" label="Collection of scaffolds files"/> + <param name="genes_gff_collection" type="data_collection" format="gff3" collection_type="list" label="Collection of genes.gff files"/> + <param name="genes_fna_collection" type="data_collection" format="fasta" collection_type="list" label="Collection of genes.fna files"/> + <param name="genes_faa_collection" type="data_collection" format="fasta" collection_type="list" label="Collection of genes.faa files"/> + </inputs> + <outputs> + <data name="output_genes_faa" format="fasta" label="${tool.name} on ${on_string}: genes.faa"/> + <data name="output_genes_fna" format="fasta" label="${tool.name} on ${on_string}: genes.fna"/> + <data name="output_genes_gff" format="gff3" label="${tool.name} on ${on_string}: genes.gff"/> + <data name="output_scaffolds_fna" format="fasta" label="${tool.name} on ${on_string}: scaffolds"/> + <data name="output_rrnas" format="tabular" label="${tool.name} on ${on_string}: rrnas"> + <filter>rrnas_collection</filter> + </data> + <data name="output_trnas" format="tabular" label="${tool.name} on ${on_string}: trnas"> + <filter>trnas_collection</filter> + </data> + <!-- DRAM just copies the genbank files to a directory --> + <collection name="output_genbank" type="list" label="${tool.name} on ${on_string}: genbank"> + <discover_datasets pattern="__name__" ext="genbank" directory="output_dir/genbank"/> + </collection> + <data name="output_annotations" format="tabular" label="${tool.name} on ${on_string}: annotations"/> + </outputs> + <tests> + <!-- + These tests succeed, but the outputs are empty because the DRAM + database is not available in the test environment. + --> + <test expect_num_outputs="8"> + <param name="annotations_collection"> + <collection type="list"> + <element name="annotated1" value="annotated1.tabular"/> + <element name="annotated2" value="annotated2.tabular"/> + </collection> + </param> + <param name="genbank_collection"> + <collection type="list"> + <element name="annotated1" value="annotated1.genbank"/> + <element name="annotated2" value="annotated2.genbank"/> + </collection> + </param> + <param name="trnas_collection"> + <collection type="list"> + <element name="annotated1" value="annotated1_trnas.tabular"/> + <element name="annotated2" value="annotated2_trnas.tabular"/> + </collection> + </param> + <param name="rrnas_collection"> + <collection type="list"> + <element name="annotated1" value="annotated1_rrnas.tabular"/> + <element name="annotated2" value="annotated2_rrnas.tabular"/> + </collection> + </param> + <param name="scaffolds_collection"> + <collection type="list"> + <element name="annotated1" value="annotated1_scaffold.fasta"/> + <element name="annotated2" value="annotated2_scaffold.fasta"/> + </collection> + </param> + <param name="genes_gff_collection"> + <collection type="list"> + <element name="annotated1" value="annotated1.gff"/> + <element name="annotated2" value="annotated2.gff"/> + </collection> + </param> + <param name="genes_fna_collection"> + <collection type="list"> + <element name="annotated1" value="annotated1_genes_fna.fasta"/> + <element name="annotated2" value="annotated2_genes_fna.fasta"/> + </collection> + </param> + <param name="genes_faa_collection"> + <collection type="list"> + <element name="annotated1" value="annotated1_genes_faa.fasta"/> + <element name="annotated2" value="annotated2_genes_faa.fasta"/> + </collection> + </param> + <output name="output_annotations"> + <assert_contents> + <has_n_lines n="530" delta="1"/> + </assert_contents> + </output> + <output_collection name="output_genbank" type="list" count="2"> + <element name="annotation_0.gbk" ftype="genbank"> + <assert_contents> + <has_text text="LOCUS"/> + </assert_contents> + </element> + <element name="annotation_1.gbk" ftype="genbank"> + <assert_contents> + <has_text text="LOCUS"/> + </assert_contents> + </element> + </output_collection> + <output name="output_trnas"> + <assert_contents> + <has_n_lines n="8" delta="1"/> + </assert_contents> + </output> + <output name="output_rrnas"> + <assert_contents> + <has_n_lines n="3" delta="1"/> + </assert_contents> + </output> + <output name="output_scaffolds_fna"> + <assert_contents> + <has_n_lines n="4" delta="1"/> + </assert_contents> + </output> + <output name="output_genes_gff"> + <assert_contents> + <has_n_lines n="23" delta="1"/> + </assert_contents> + </output> + <output name="output_genes_fna"> + <assert_contents> + <has_n_lines n="26" delta="1"/> + </assert_contents> + </output> + <output name="output_genes_faa"> + <assert_contents> + <has_n_lines n="26" delta="1"/> + </assert_contents> + </output> + </test> + </tests> + <help> +**What it does** + +@WHATITDOESHEADER@ + +This tool accepts collections of the components of a DRAM annotations (i.e., annotations, genbank files, GFF files, tRNAs, +rRNas, etc) and, except for the genbank files which remain a collection, merges the set of files for each component into +a single file. + +@WHATITDOESFOOTER@ + </help> + <expand macro="citations"/> +</tool>