Mercurial > repos > iuc > dram_merge_annotations
view dram_merge_annotations.xml @ 1:96c0067106ec draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/dram commit e0934fc66bfd742731505cacd18cbf53b26d4f2a
author | iuc |
---|---|
date | Tue, 11 Jul 2023 23:46:55 +0000 |
parents | 2675f8d7b2a5 |
children | 866be6c60810 |
line wrap: on
line source
<tool id="dram_merge_annotations" name="DRAM merge multiple annotations" version="@TOOL_VERSION@+galaxy1" 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>