Mercurial > repos > artbio > repenrich
view repenrich.xml @ 14:bf866bedd4b4 draft
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/main/tools/repenrich commit 205141a3f695f202d5c3e01e6ab3b2b869fe62b5
author | artbio |
---|---|
date | Sat, 20 Apr 2024 12:13:52 +0000 |
parents | 530626b0757c |
children | 2e3d976e7d5d |
line wrap: on
line source
<tool id="repenrich" name="RepEnrich" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@"> <description>Repeat Element Profiling</description> <macros> <import>macros.xml</import> </macros> <expand macro="repenrich_requirements"/> <stdio> <exit_code range="1:" level="fatal" description="Tool exception" /> </stdio> <command detect_errors="exit_code"><![CDATA[ #import re ## uncompress fastq.gz or fastqsanger.gz if needed #if $seq_method.seq_method_list == "single-read": #if $seq_method.input_fastq.is_of_type("fastq.gz", "fastqsanger.gz"): gunzip < '$seq_method.input_fastq' > 'input.fastq' && #else: ln -f -s '$seq_method.input_fastq' 'input.fastq' && #end if #elif $seq_method.seq_method_list == 'paired_collection': #if $seq_method.input_fastq.forward.is_of_type("fastq.gz", "fastqsanger.gz"): gunzip < '$seq_method.input_fastq.forward' > 'input.fastq' && gunzip < '$seq_method.input_fastq.reverse' > 'input_2.fastq' && #else: ln -f -s '$seq_method.input_fastq.forward' 'input.fastq' && ln -f -s '$seq_method.input_fastq.reverse' 'input_2.fastq' && #end if #else: #if $seq_method.input2_fastq.is_of_type("fastq.gz", "fastqsanger.gz"): gunzip < '$seq_method.input_fastq' > 'input.fastq' && gunzip < '$seq_method.input2_fastq' > 'input_2.fastq' && #else: ln -f -s '$seq_method.input_fastq' 'input.fastq' && ln -f -s '$seq_method.input2_fastq' 'input_2.fastq' && #end if #end if ln -f -s '$genome' 'genome.fa' && bowtie-build '$genome' genome && python $__tool_directory__/RepEnrich_setup.py --annotation_file '$repeatmasker' --genomefasta 'genome.fa' --cpus "\${GALAXY_SLOTS:-4}" && #if $seq_method.seq_method_list == "single-read": bowtie genome -p \${GALAXY_SLOTS:-4} -t -m 1 -S --max multimap.fastq input.fastq input_unique.sam 2>bowtie_alignments.txt && #else: bowtie genome -p \${GALAXY_SLOTS:-4} -t -m 1 -S --max multimap.fastq -1 input.fastq -2 input_2.fastq input_unique.sam 2>bowtie_alignments.txt && #end if samtools view -@ \${GALAXY_SLOTS:-4} -bS 'input_unique.sam' | samtools sort -@ \${GALAXY_SLOTS:-4} -O bam -o 'input_unique.bam' && samtools index input_unique.bam && python $__tool_directory__/RepEnrich.py --annotation_file $repeatmasker --alignment_bam input_unique.bam --cpus "\${GALAXY_SLOTS:-4}" #if $seq_method.seq_method_list == "single-read": --fastqfile multimap.fastq #else: --fastqfile multimap_1.fastq --fastqfile2 multimap_2.fastq #end if ]]></command> <!-- basic error handling --> <inputs> <conditional name="seq_method"> <param help="Paired-end or single-read sequencing" label="Sequencing method" name="seq_method_list" type="select"> <option selected="True" value="single-read">Single-read sequencing</option> <option value="paired-end">Paired-end sequencing</option> <option value="paired_collection">Paired-end Dataset Collection</option> </param> <when value="single-read"> <param format="fastq,fastqsanger,fastq.gz,fastqsanger.gz" label="Single-reads" name="input_fastq" type="data" help="accepted formats: fastq, fastqsanger" /> </when> <when value="paired-end"> <param format="fastq,fastqsanger,fastq.gz,fastqsanger.gz" label="1st paired-end sequencing dataset" name="input_fastq" type="data" help="accepted formats: fastq, fastqsanger" /> <param format="fastq,fastqsanger,fastq.gz,fastqsanger.gz" label="2nd paired-end sequencing dataset" name="input2_fastq" type="data" help="accepted formats: fastq, fastqsanger" /> </when> <when value="paired_collection"> <param name="input_fastq" format="fastq,fastqsanger,fastq.gz,fastqsanger.gz" type="data_collection" collection_type="paired" label="Paired Collection" help="Must be of datatype "fastqsanger" or "fasta"" /> </when> </conditional> <param format="fasta" label="Reference genome in fasta format" name="genome" type="data" /> <param format="txt" label="RepeatMasker description file" name="repeatmasker" type="data" help="see help section"/> </inputs> <outputs> <data format="tabular" name="class_fraction_counts" label="RepEnrich on ${on_string}: class fraction counts" from_work_dir="class_fraction_counts.tsv" /> <data format="tabular" name="family_fraction_counts" label="RepEnrich on ${on_string}: family fraction counts" from_work_dir="family_fraction_counts.tsv" /> <data format="tabular" name="fraction_counts" label="RepEnrich on ${on_string}: fraction counts" from_work_dir="fraction_counts.tsv" /> </outputs> <tests> <test> <param name="seq_method_list" value="single-read"/> <param name="input_fastq" value="chrY-500k.R1.fastqsanger.gz" ftype="fastq.gz"/> <param name="genome" value="chrY-1-500k.fa" ftype="fasta"/> <param name="repeatmasker" value="chrY-1-500k.fa.out" ftype="txt"/> <output name="class_fraction_counts" file="chrY_single_class_fraction_counts.tab" ftype="tabular"/> <output name="family_fraction_counts" file="chrY_single_family_fraction_counts.tab" ftype="tabular"/> <output name="fraction_counts" file="chrY_single_fraction_counts.tab" ftype="tabular"/> </test> <test> <param name="seq_method_list" value="paired-end"/> <param name="input_fastq" value="chrY-500k.R1.fastqsanger.gz" ftype="fastq.gz"/> <param name="input2_fastq" value="chrY-500k.R2.fastqsanger.gz" ftype="fastq.gz"/> <param name="genome" value="chrY-1-500k.fa" ftype="fasta"/> <param name="repeatmasker" value="chrY-1-500k.fa.out" ftype="txt"/> <output name="class_fraction_counts" file="chrY_paired_class_fraction_counts.tab" ftype="tabular"/> <output name="family_fraction_counts" file="chrY_paired_family_fraction_counts.tab" ftype="tabular"/> <output name="fraction_counts" file="chrY_paired_fraction_counts.tab" ftype="tabular"/> </test> </tests> <help> **What it does** Reads are mapped to the genome using the Bowtie1 aligner. Reads mapping uniquely to the genome are assigned to subfamilies of repetitive elements based on their degree of overlap to RepeatMasker annotated genomic instances of each repetitive element subfamily. Reads mapping to multiple locations are separately mapped to repetitive element assemblies – referred to as repetitive element psuedogenomes – built from RepeatMasker annotated genomic instances of repetitive element subfamilies. RepEnrich then return tables of counts merged from both strategies, that can be further processed in statistical analysis for differential expression. For detailed information see the `original publication`_. .. _original publication: https://bmcgenomics.biomedcentral.com/articles/10.1186/1471-2164-15-583 **Inputs** *Reference genome* : reference genome in fasta format *Sequencing dataset*: Single-reads or Paired-end sequencing datasets in fastq format. *RepeatMasker description file*: a txt repeatmasker file which can be downloaded from https://www.repeatmasker.org/genomicDatasets/RMGenomicDatasets.html This file looks like: <![CDATA[ SW perc perc perc query position in query matching repeat position in repeat score div. del. ins. sequence begin end (left) repeat class/family begin end (left) ID 16 20.2 5.9 0.0 chrM 1211 1261 (18263) + (TTTTA)n Simple_repeat 1 54 (0) 84486 13 23.9 2.2 2.2 chrM 2014 2059 (17465) + (TTA)n Simple_repeat 1 46 (0) 84487 24 18.8 5.3 2.6 chrM 3924 3999 (15525) + (TAT)n Simple_repeat 1 78 (0) 84488 18 4.5 0.0 0.0 chrM 5961 5983 (13541) + (AT)n Simple_repeat 1 23 (0) 84489 13 25.9 4.0 4.0 chrM 6247 6320 (13204) + (ATTTAT)n Simple_repeat 1 74 (0) 84490 11 14.6 7.5 2.4 chrM 8783 8822 (10702) + (CTAATT)n Simple_repeat 1 42 (0) 84491 17 19.0 0.0 8.6 chrM 9064 9126 (10398) + A-rich Low_complexity 1 58 (0) 84492 13 21.0 5.9 1.9 chrM 11723 11773 (7751) + (ATA)n Simple_repeat 1 53 (0) 84493 66 20.4 12.3 12.3 chrM 12823 13001 (6523) C LSU-rRNA_Cel rRNA (1) 2431 2253 84494 16 16.6 0.0 2.9 chrM 14361 14396 (5128) + (ATT)n Simple_repeat 1 35 (0) 84495 44 2.4 0.0 0.0 chrM 15966 16007 (3517) + (TA)n Simple_repeat 1 42 (0) 84496 35 5.3 0.0 0.0 chrM 16559 16597 (2927) + (AT)n Simple_repeat 1 39 (0) 84497 36 2.9 0.0 0.0 chrM 16922 16956 (2568) + (AT)n Simple_repeat 1 35 (0) 84498 37 0.0 0.0 0.0 chrM 17040 17071 (2453) + (TA)n Simple_repeat 1 32 (0) 84499 20 4.3 0.0 0.0 chrM 17417 17440 (2084) + (T)n Simple_repeat 1 24 (0) 84500 31 6.9 6.3 1.5 chrM 17451 17513 (2011) + (TA)n Simple_repeat 1 66 (0) 84501 26 17.0 0.0 0.0 chrM 19469 19514 (10) + A-rich Low_complexity 1 46 (0) 84502 ]]> Users may filter this file so that it contains only desired items (for instance only satellites, repeats and transposons) **Outputs** (1) Fraction counts, (2) Family fraction counts and (3) Class fraction counts are returned in tabular format for further statistical tests, differential expression analysis or graphics. **RepEnrich** .. class:: warningmark Earlier versions of the RepEnrich.py and RepEnrich_setpup.py scripts of this galaxy wrapper were directly derived from the `nskvir/RepEnrich GitHub repository`_ which is not maintained anymore. Starting from 2024, python codes were extensively rewritten for clarity, maintenance and optimization and we now refer exclusively to our `GitHub repository`_ for code review. .. _nskvir/RepEnrich GitHub repository: https://github.com/nskvir/RepEnrich .. _GitHub repository: https://github.com/ARTbio/tools-artbio/tree/main/tools/repenrich **Execution time** .. class:: warningmark This tool includes time-consuming steps to index the reference genome, index repeat sequences and to align reads to these indexes. .. class:: infomark For more information on the tools, or giving us feedback, please visit our `code repository`_. .. _code repository: https://github.com/ARTbio/tools-artbio/tree/master/tools/ .. _ARTbio team: http://artbio.fr </help> <citations> <citation type="doi">10.1186/1471-2164-15-583</citation> </citations> </tool>