Mercurial > repos > jjohnson > optitype
changeset 1:54c9c71dabe8 draft
"planemo upload for repository https://github.com/jj-umn/galaxytools/tree/master/optitype commit 4c7dc6705700adf361aadf9ab6ccb425c6691153"
author | jjohnson |
---|---|
date | Thu, 12 Mar 2020 12:38:06 -0400 |
parents | 3902a76bf089 |
children | bf36e0afdfb4 |
files | optitype.xml |
diffstat | 1 files changed, 151 insertions(+), 69 deletions(-) [+] |
line wrap: on
line diff
--- a/optitype.xml Thu Mar 12 11:32:13 2020 -0400 +++ b/optitype.xml Thu Mar 12 12:38:06 2020 -0400 @@ -1,77 +1,159 @@ <tool id="optitype" name="OptiType" version="1.3.2"> - <description>HLA genotyping predictions from NGS data</description> - <requirements> - <requirement type="package" version="1.3.2">optitype</requirement> - </requirements> - <stdio> - <exit_code range="1:" level="fatal" description="Error Running optitype" /> - </stdio> - <command> + <description>HLA genotyping predictions from NGS data</description> + <requirements> + <requirement type="package" version="1.3.2">optitype</requirement> + </requirements> + <command detect_errors="aggressive"> <![CDATA[ #set $fastqs = [] #if str( $fastq_input.fastq_input_selector ) == "paired": - ln -s "${fastq_input.fastq_input1}" reads_1.fastq - && ln -s "${fastq_input.fastq_input2}" reads_2.fastq - #set $fastqs = ['reads_1.fastq','reads_2.fastq'] + ln -s "${fastq_input.fastq_input1}" reads_1.fastq + && ln -s "${fastq_input.fastq_input2}" reads_2.fastq + #set $fastqs = ['reads_1.fastq','reads_2.fastq'] #elif str( $fastq_input.fastq_input_selector ) == "paired_collection": - ln -s "${fastq_input.fastq_input1.forward}" reads_1.fastq - && ln -s "${fastq_input.fastq_input1.reverse}" reads_2.fastq - #set $fastqs = ['reads_1.fastq','reads_2.fastq'] + ln -s "${fastq_input.fastq_input1.forward}" reads_1.fastq + && ln -s "${fastq_input.fastq_input1.reverse}" reads_2.fastq + #set $fastqs = ['reads_1.fastq','reads_2.fastq'] #elif str( $fastq_input.fastq_input_selector ) == "single": - ln -s "${fastq_input.fastq_input1}" reads.fastq - #set $fastqs = ['reads.fastq'] + ln -s "${fastq_input.fastq_input1}" reads.fastq + #set $fastqs = ['reads.fastq'] #end if -&& cp \$OPTITYPE_DIR/config.ini . -&& ln -s \$OPTITYPE_DIR/data data +&& RAZERS3=`which razers3` +&& sed "s#path_to_razers3#\$RAZERS3#" '$optitype_config' | sed "s/threads=16/threads=\$GALAXY_SLOTS/" > config.ini #set $input_fq = ' '.join($fastqs) -&& python \$OPTITYPE_DIR/OptiTypePipeline.py -$read_type --input ${' '.join($fastqs)} +&& OptiTypePipeline.py +$read_type --input ${' '.join($fastqs)} #if str($beta) != '': --beta $beta #end if #if str($enumerations) != '': --enumerate $enumerations #end if +--config "`pwd`/config.ini" --outdir $outdir && cp $outdir/*/*_coverage_plot.pdf $coverage_plot && cp $outdir/*/*_result.tsv $result ]]> - </command> - <inputs> - <conditional name="fastq_input"> - <param name="fastq_input_selector" type="select" label="Single or Paired-end reads" help="Select between paired and single end data"> - <option value="paired">Paired</option> - <option value="single">Single</option> - <option value="paired_collection">Paired Collection</option> - </param> - <when value="paired"> - <param name="fastq_input1" type="data" format="fastqsanger" label="Select first set of reads" help="Specify dataset with forward reads"/> - <param name="fastq_input2" type="data" format="fastqsanger" label="Select second set of reads" help="Specify dataset with reverse reads"/> - </when> - <when value="single"> - <param name="fastq_input1" type="data" format="fastqsanger" label="Select fastq dataset" help="Specify dataset with single reads"/> - </when> - <when value="paired_collection"> - <param name="fastq_input1" format="fastqsanger" type="data_collection" collection_type="paired" label="Select a paired collection" help="See help section for an explanation of dataset collections"/> - </when> - </conditional> - <param name="read_type" type="select" label="Nucleotide Type" help=""> - <option value="--rna">RNA</option> - <option value="--dna">DNA</option> - </param> - <param name="beta" type="float" value="" min="0.0" max="0.1" optional="true" label="homozygosity beta" help="The beta value for for homozygosity detection (Leave blank for default: 0.009)"/> - <param name="enumerations" type="integer" value="" min="1" max="5" optional="true" label="Enumerations" help="The number of enumerations (Leave blank for default: 1)"/> - <param name="outdir" type="hidden" value="output_dir"/> - </inputs> - <outputs> - <data format="pdf" name="coverage_plot" label="${tool.name} on ${on_string} coverage_plot.pdf"/> - <data format="tabular" name="result" label="${tool.name} on ${on_string} result.tsv"/> - </outputs> - <tests> - <test> - </test> - </tests> - <help> + </command> + <configfiles> + <configfile name="optitype_config"><![CDATA[ +[mapping] + +# Absolute path to RazerS3 binary, and number of threads to use for mapping + +razers3=path_to_razers3 +threads=16 + +[ilp] + +# A Pyomo-supported ILP solver. The solver must be globally accessible in the +# environment OptiType is run, so make sure to include it in PATH. +# Note: this is NOT a path to the solver binary, but a keyword argument for +# Pyomo. Examples: glpk, cplex, cbc. + +solver=$solver +threads=1 + +[behavior] + +# tempdir=/path/to/tempdir # we may enable this setting later. Not used now. + +# Delete intermediate bam files produced by RazerS3 after OptiType finished +# loading them. If you plan to re-analyze your samples with different settings +# disabling this option can be a time-saver, as you'll be able to pass the bam +# files to OptiType directly as input and spare the expensive read mapping +# step. + +deletebam=true + +# In paired-end mode one might want to use reads with just one mapped end (e.g., +# the other end falls outside the reference region). This setting allows the +# user to keep them with an optionally reduced weight. A value of 0 means they +# are discarded for typing, 0.2 means single reads are "worth" 20% of paired +# reads, and a value of 1 means they are treated as valuable as properly mapped +# read pairs. Note: unpaired reads will be reported on the result coverage plots +# for completeness, regardless of this setting. + +unpaired_weight=$unpaired_weight + +# We call a read pair discordant if its two ends best-map to two disjoint sets +# of alleles. Such reads can be either omitted or either of their ends treated +# as unpaired hits. Note: discordant read pairs are reported on the coverage +# plots as unpaired reads, regardless of this setting. + +use_discordant=$use_discordant + ]]></configfile> + </configfiles> + <inputs> + <conditional name="fastq_input"> + <param name="fastq_input_selector" type="select" label="Single or Paired-end reads" help="Select between paired and single end data"> + <option value="paired">Paired</option> + <option value="single">Single</option> + <option value="paired_collection">Paired Collection</option> + </param> + <when value="paired"> + <param name="fastq_input1" type="data" format="fastqsanger" label="Select first set of reads" help="Specify dataset with forward reads"/> + <param name="fastq_input2" type="data" format="fastqsanger" label="Select second set of reads" help="Specify dataset with reverse reads"/> + </when> + <when value="single"> + <param name="fastq_input1" type="data" format="fastqsanger" label="Select fastq dataset" help="Specify dataset with single reads"/> + </when> + <when value="paired_collection"> + <param name="fastq_input1" format="fastqsanger" type="data_collection" collection_type="paired" label="Select a paired collection" help="See help section for an explanation of dataset collections"/> + </when> + </conditional> + <param name="read_type" type="select" label="Nucleotide Type" help=""> + <option value="--rna">RNA</option> + <option value="--dna">DNA</option> + </param> + <param name="beta" type="float" value="" min="0.0" max="0.1" optional="true" label="homozygosity beta" help="The beta value for for homozygosity detection (Leave blank for default: 0.009)"/> + <param name="enumerations" type="integer" value="" min="1" max="5" optional="true" label="Enumerations" help="The number of enumerations (Leave blank for default: 1)"/> + <param name="solver" type="select" label="ILP solver" help=""> + <option value="glpk">glpk</option> + <!-- + <option value="cbc">cbc</option> + --> + </param> + <param name="unpaired_weight" type="float" value="0" min="0.0" max="1.0" label="unpaired_weight"> + <help><![CDATA[ +In paired-end mode one might want to use reads with just one mapped end (e.g., +the other end falls outside the reference region). This setting allows the +user to keep them with an optionally reduced weight. A value of 0 means they +are discarded for typing, 0.2 means single reads are "worth" 20% of paired +reads, and a value of 1 means they are treated as valuable as properly mapped +read pairs. Note: unpaired reads will be reported on the result coverage plots +for completeness, regardless of this setting. ]]> + </help> + </param> + <param name="use_discordant" type="boolean" truevalue="true" falsevalue="false" checked="false" label="use_discordant"> + <help><![CDATA[ +We call a read pair discordant if its two ends best-map to two disjoint sets +of alleles. Such reads can be either omitted or either of their ends treated +as unpaired hits. Note: discordant read pairs are reported on the coverage +plots as unpaired reads, regardless of this setting. ]]> + </help> + </param> + <param name="outdir" type="hidden" value="output_dir"/> + </inputs> + <outputs> + <data format="pdf" name="coverage_plot" label="${tool.name} on ${on_string} coverage_plot.pdf"/> + <data format="tabular" name="result" label="${tool.name} on ${on_string} result.tsv"/> + </outputs> + <tests> + <test> + <conditional name="fastq_input"> + <param name="fastq_input_selector" value="paired"/> + <param name="fastq_input1" ftype="fastqsanger" value="rna/CRC_81_N_1_fished.fastq"/> + <param name="fastq_input2" ftype="fastqsanger" value="rna/CRC_81_N_2_fished.fastq"/> + </conditional> + <output name="result"> + <assert_contents> + <has_text text="A*31:01" /> + </assert_contents> + </output> + </test> + </tests> + <help> <![CDATA[ **OptiType** ============ @@ -80,33 +162,33 @@ **INPUTS** - RNA or DNA sequences in fastq format. + RNA or DNA sequences in fastq format. **OPTIONS** - --beta <BETA_VALUE> The beta value for for homozygosity detection (see cited paper). - Default: 0.009. Handle with care. - --enumerate <ENUMERATIONS> Number of enumerations. - OptiType will output the optimal solution and the top N-1 suboptimal solutions in the results. - Default: 1 + --beta <BETA_VALUE> The beta value for for homozygosity detection (see cited paper). + Default: 0.009. Handle with care. + --enumerate <ENUMERATIONS> Number of enumerations. + OptiType will output the optimal solution and the top N-1 suboptimal solutions in the results. + Default: 1 **OUTPUTS** - result.tsv A TAB-separated file of HLA genotyping predictions: + result.tsv A TAB-separated file of HLA genotyping predictions: - :: + :: A1 A2 B1 B2 C1 C2 Reads Objective 0 A*31:01 A*68:01 B*40:01 B*51:01 C*15:02 C*03:04 132 128.43599999999998 - coverage_plot.pdf Plots of coverage of HLA genotyping predictions + coverage_plot.pdf Plots of coverage of HLA genotyping predictions .. _OptiType: https://github.com/FRED-2/OptiType ]]> - </help> - <citations> - <citation type="doi">10.1093/bioinformatics/btu548</citation> - </citations> + </help> + <citations> + <citation type="doi">10.1093/bioinformatics/btu548</citation> + </citations> </tool>