Mercurial > repos > jjohnson > gmap
diff gmap.xml @ 7:561503a442f0
refactor
author | Jim Johnson <jj@umn.edu> |
---|---|
date | Tue, 08 Nov 2011 13:26:41 -0600 |
parents | |
children | a89fec682254 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gmap.xml Tue Nov 08 13:26:41 2011 -0600 @@ -0,0 +1,442 @@ +<tool id="gmap" name="GMAP" version="2.0.0"> + <description>Genomic Mapping and Alignment Program for mRNA and EST sequences</description> + <requirements> + <requirement type="binary">gmap</requirement> + <!-- proposed tag for added datatype dependencies --> + <requirement type="datatype">gmapdb</requirement> + <requirement type="datatype">gmap_annotation</requirement> + <requirement type="datatype">gmap_splicesites</requirement> + <requirement type="datatype">gmap_introns</requirement> + <requirement type="datatype">gmap_snps</requirement> + </requirements> + <version_string>gmap --version</version_string> + <command> + #import os,os.path + gmap + --nthreads=4 --ordered + #if $refGenomeSource.genomeSource == "history": + --gseg=$refGenomeSource.ownFile + #elif $refGenomeSource.genomeSource == "gmapdb": + #set $gmapdb = $os.listdir($refGenomeSource.gmapdb.extra_files_path)[0] + --dir=$refGenomeSource.gmapdb.extra_files_path --db=$gmapdb + #if $refGenomeSource.kmer != None and len($refGenomeSource.kmer.__str__) == 2: + --kmer=$refGenomeSource.kmer + #end if + #else: + --dir=$os.path.dirname($refGenomeSource.gmapindex.value) --db=$os.path.basename($refGenomeSource.gmapindex.value) + #if $refGenomeSource.kmer != None and len($refGenomeSource.kmer.__str__) == 2: + --kmer=$refGenomeSource.kmer + #end if + #end if + #if $result.format == "summary": + --summary + #elif $result.format == "align": + --align + #elif $result.format == "continuous": + --continuous + #elif $result.format == "continuous-by-exon": + --continuous-by-exon + #elif $result.format == "compress": + --compress + #elif $result.format == "exons_dna": + --exons=cdna + #elif $result.format == "exons_gen": + --exons=genomic + #elif $result.format == "protein_dna": + --protein_dna + #elif $result.format == "protein_gen": + --protein_gen + #elif $result.format == "sam": + --format=$result.sam_paired_read + $result.no_sam_headers + #if len($result.noncanonical_splices.__str__) > 0 + --noncanonical-splices=$result.noncanonical_splices + #end if + #if len($result.read_group_id.__str__) > 0 + --read-group-id=$result.read_group_id + #end if + #if len($result.read_group_name.__str__) > 0 + --read-group-name=$result.read_group_name + #end if + #if len($result.read_group_library.__str__) > 0 + --read-group-library=$result.read_group_library + #end if + #if len($result.read_group_platform.__str__) > 0 + --read-group-platform=$result.read_group_platform + #end if + #elif $result.format != "gmap": + --format=$result.format + #end if + #if $computation.options == "advanced": + $computation.nosplicing + $computation.cross_species + --min-intronlength=$computation.min_intronlength + --intronlength=$computation.intronlength + --localsplicedist=$computation.localsplicedist + --totallength=$computation.totallength + --trimendexons=$computation.trimendexons + --direction=$computation.direction + --canonical-mode=$computation.canonical + --prunelevel=$computation.prunelevel + --allow-close-indels=$computation.allow_close_indels + --microexon-spliceprob=$computation.microexon_spliceprob + #if int($computation.chimera_margin) >= 0: + --chimera-margin=$computation.chimera_margin + #end if + #end if + #if $advanced.options == "used": + #if int($advanced.npaths) >= 0: + --npaths=$advanced.npaths + #end if + #if int($advanced.chimera_overlap) > 0: + --chimera_overlap=$advanced.chimera_overlap + #end if + $advanced.protein + $advanced.tolerant + $advanced.nolengths + $advanced.invertmode + #if int($advanced.introngap) > 0: + --introngap=$advanced.introngap + #end if + #if int($advanced.wraplength) > 0: + --wraplength=$advanced.wraplength + #end if + #end if + #if $split_output == True + $split_output + #end if + #if len($quality_protocol.__str__) > 0: + --quality-protocol=$quality_protocol + #end if + $input + #for $i in $inputs: + ${i.added_input} + #end for + #if $split_output == True + 2> $gmap_stderr + #else + 2> $gmap_stderr > $output + #end if + </command> + <inputs> + <!-- Input data --> + <param name="input" type="data" format="fasta,fastqsanger,fastqillumina" label="<H2>Input Sequences</H2>Select an mRNA or EST dataset to map" /> + <repeat name="inputs" title="addtional mRNA or EST dataset to map"> + <param name="added_input" type="data" format="fasta,fastqsanger,fastqillumina" label=""/> + </repeat> + <param name="quality_protocol" type="select" label="Protocol for input quality scores"> + <option value="">No quality scores</option> + <option value="sanger">Sanger quality scores</option> + <option value="illumina">Illumina quality scores</option> + </param> + + <!-- GMAPDB for mapping --> + <conditional name="refGenomeSource"> + <param name="genomeSource" type="select" label="<HR><H2>Map To</H2>Will you map to a reference genome from your history or use a built-in index?" help="Built-ins were indexed using default options"> + <option value="indexed">Use a built-in index</option> + <option value="gmapdb">Use gmapdb from the history</option> + <option value="history">Use a fasta reference sequence from the history</option> + </param> + <when value="indexed"> + <param name="gmapindex" type="select" label="Select a reference genome" help="if your genome of interest is not listed - contact Galaxy team"> + <options from_file="gmap_indices.loc"> + <column name="uid" index="0" /> + <column name="dbkey" index="1" /> + <column name="name" index="2" /> + <column name="kmers" index="3" /> + <column name="maps" index="4" /> + <column name="snps" index="5" /> + <column name="value" index="6" /> + </options> + </param> + <param name="kmer" type="select" data_ref="gmapindex" label="kmer size" help="Defaults to highest available kmer size"> + <options from_file="gmap_indices.loc"> + <column name="name" index="3"/> + <column name="value" index="3"/> + <filter type="param_value" ref="gmapindex" column="6"/> + <filter type="multiple_splitter" column="3" separator=","/> + <filter type="add_value" name="" value=""/> + <filter type="sort_by" column="3"/> + </options> + </param> + <param name="map" type="select" data_ref="gmapindex" label="Look for splicing involving known sites or known introns" help=""> + <options from_file="gmap_indices.loc"> + <column name="name" index="4"/> + <column name="value" index="4"/> + <filter type="param_value" ref="gmapindex" column="6"/> + <filter type="multiple_splitter" column="4" separator=","/> + <filter type="add_value" name="" value=""/> + <filter type="sort_by" column="4"/> + </options> + </param> + </when> + <when value="gmapdb"> + <param name="gmapdb" type="data" format="gmapdb" metadata_name="dbkey" label="Select a gmapdb" + help="A GMAP database built with GMAP Build"/> + <param name="kmer" type="select" data_ref="gmapdb" label="kmer size" help="Defaults to highest available kmer size"> + <options> + <filter type="data_meta" ref="gmapdb" key="kmers" multiple="True" separator=","/> + </options> + </param> + <param name="map" type="select" data_ref="gmapdb" label="Use map for splicing involving known sites or known introns" help=""> + <options> + <filter type="data_meta" ref="gmapdb" key="maps" multiple="True"/> + </options> + </param> + </when> + <when value="history"> + <param name="ownFile" type="data" format="fasta" metadata_name="dbkey" label="Select the reference genome" + help="Fasta containing genomic DNA sequence"/> + </when> + </conditional> + + + <!-- Computation options --> + <conditional name="computation"> + <param name="options" type="select" label="<HR>Computational Settings" help=""> + <option value="default">Use default settings</option> + <option value="advanced">Set Computation Options</option> + </param> + <when value="default"/> + <when value="advanced"> + <param name="nosplicing" type="boolean" truevalue="--nosplicing" falsevalue="" checked="false" label="Turn off splicing" help="(useful for aligning genomic sequences onto a genome)"/> + <param name="min_intronlength" type="integer" value="9" label="Min length for one internal intron (default 9)." help="Below this size, a genomic gap will be considered a deletion rather than an intron." /> + <param name="intronlength" type="integer" value="1000000" label="Max length for one intron (default 1000000)" /> + <param name="localsplicedist" type="integer" value="200000" label="Max length for known splice sites at ends of sequence (default 200000)" /> + <param name="totallength" type="integer" value="2400000" label="Max total intron length (default 2400000)" /> + <param name="chimera_margin" type="integer" value="40" label="Amount of unaligned sequence that triggers search for a chimera (default is 40, 0 is off)" /> + <param name="direction" type="select" label="cDNA direction"> + <option value="auto">auto</option> + <option value="sense_force">sense_force</option> + <option value="antisense_force">antisense_force</option> + <option value="sense_filter">sense_filter</option> + <option value="antisense_filter">antisense_filter</option> + </param> + <param name="trimendexons" type="integer" value="12" label="Trim end exons with fewer than given number of matches (in nt, default 12)" /> + <param name="cross_species" type="boolean" truevalue="--cross-species" falsevalue="" checked="false" label="Cross-species alignment" help="For cross-species alignments, use a more sensitive search for canonical splicing"/> + + <param name="canonical" type="select" label="Reward for canonical and semi-canonical introns"> + <option value="1">high reward (default)</option> + <option value="0">low reward</option> + <option value="2">low reward for high-identity sequences</option> + </param> + <param name="allow_close_indels" type="select" label="Allow an insertion and deletion close to each other"> + <option value="1" selected="true">yes (default)</option> + <option value="0">no</option> + <option value="2">only for high-quality alignments</option> + </param> + <param name="microexon_spliceprob" type="float" value="0.90" label="Allow microexons only if one of the splice site probabilities is greater than this value (default 0.90)" > + <validator type="in_range" message="slice probability between 0.00 and 1.00" min="0" max="1"/> + </param> + <param name="prunelevel" type="select" label="Pruning level"> + <option value="0">no pruning (default)</option> + <option value="1">poor sequences</option> + <option value="2">repetitive sequences</option> + <option value="3">poor and repetitive sequences</option> + </param> + <!-- could do this as a config file + <param name="chrsubsetfile" type="data" format="fasta" label="User-supplied chromosome subset file" /> + <param name="chrsubset" type="text" label="Chromosome subset to search" /> + --> + </when> + </conditional> + + <!-- Advanced Settings --> + <conditional name="advanced"> + <param name="options" type="select" label="<HR>Advanced Settings" help=""> + <option value="default">Use default settings</option> + <option value="used">Set Options</option> + </param> + <when value="default"/> + <when value="used"> + <param name="nolengths" type="boolean" checked="false" truevalue="--nolengths=true" falsevalue="" label="No intron lengths in alignment"/> + <param name="invertmode" type="select" label=" Mode for alignments to genomic (-) strand" help=""> + <option value="">Don't invert the cDNA (default)</option> + <option value="--invertmode=1">Invert cDNA and print genomic (-) strand</option> + <option value="--invertmode=2">Invert cDNA and print genomic (+) strand</option> + </param> + <param name="introngap" type="integer" value="3" label="Nucleotides to show on each end of intron (default=3)" /> + <param name="wraplength" type="integer" value="50" label="Line Wrap length for alignment (default=50)" /> + <param name="npaths" type="integer" value="-1" optional="true" + label="Maximum number of paths to show. Ignored if negative. If 0, prints two paths if chimera detected, else one." /> + <param name="chimera_overlap" type="integer" value="0" label="Overlap to show, if any, at chimera breakpoint" /> + <param name="tolerant" type="boolean" checked="false" truevalue="--tolerant=true" falsevalue="" + label="Translates cDNA with corrections for frameshifts"/> + <param name="protein" type="select" label="Protein alignment" help=""> + <option value="">default</option> + <option value="--fulllength=true">Assume full-length protein, starting with Met</option> + <option value="--truncate=true">Truncate alignment around full-length protein, Met to Stop</option> + </param> + </when> + </conditional> + + <!-- Output data --> + <conditional name="result"> + <param name="format" type="select" label="<HR><H2>Output</H2>Select the output format" help=""> + <option value="gmap">GMAP default output</option> + <option value="summary">Summary of alignments</option> + <option value="align">Alignment</option> + <option value="continuous">Alignment in three continuous lines</option> + <option value="continuous-by-exon">Alignment in three lines per exon</option> + <option value="compress">Print output in compressed format</option> + <option value="exons_dna">Print exons cDNA</option> + <option value="exons_gen">Print exons genomic</option> + <option value="protein_dna">Print protein sequence (cDNA)</option> + <option value="protein_gen">Print protein sequence (genomic)</option> + <option value="psl">PSL (BLAT) format</option> + <option value="gff3_gene">GFF3 gene format</option> + <option value="gff3_match_cdna">GFF3 match cDNA format</option> + <option value="gff3_match_est">GFF3 match EST format</option> + <option value="splicesites">splicesites output (for GSNAP)</option> + <option value="introns">introns output (for GSNAP)</option> + <option value="map_exons">IIT FASTA exon map format</option> + <option value="map_genes">IIT FASTA map format</option> + <option value="coords">coords in table format</option> + <option value="sam" selected="true">SAM format</option> + </param> + <when value="gmap"/> + <when value="summary"/> + <when value="align"> + + </when> + <when value="continuous"> + </when> + <when value="continuous-by-exon"> + </when> + <when value="compress"/> + <when value="exons_dna"/> + <when value="exons_gen"/> + <when value="protein_dna"/> + <when value="protein_gen"/> + <when value="psl"/> + <when value="gff3_gene"/> + <when value="gff3_match_cdna"/> + <when value="gff3_match_est"/> + <when value="splicesites"/> + <when value="introns"/> + <when value="map_exons"/> + <when value="map_genes"/> + <when value="coords"/> + <when value="sam"> + <param name="sam_paired_read" type="boolean" truevalue="sampe" falsevalue="samse" checked="false" label="SAM paired reads"/> + <param name="no_sam_headers" type="boolean" truevalue="--no-sam-headers" falsevalue="" checked="false" label="Do not print headers beginning with '@'"/> + <param name="noncanonical_splices" type="select" label="Print non-canonical genomic gaps greater than 20 nt in CIGAR string as STRING."> + <option value="">Use default</option> + <option value="N">N</option> + <option value="D">D</option> + </param> + <param name="read_group_id" type="text" value="" label="Value to put into read-group id (RG-ID) field"/> + <param name="read_group_name" type="text" value="" label="Value to put into read-group name (RG-SM) field"/> + <param name="read_group_library" type="text" value="" label="Value to put into read-group library (RG-LB) field"/> + <param name="read_group_platform" type="text" value="" label="Value to put into read-group library platform (RG-PL) field"/> + </when> + </conditional> <!-- name="result" --> + + <param name="split_output" type="boolean" truevalue="--split-output=gmap_out" falsevalue="" checked="false" label="Separate outputs for nomapping, uniq, mult, and chimera" help="(chimera only when chimera-margin is selected)"/> + + + <!-- + map=iitfile Map file. If argument is '?' (with the quotes), this lists available map files. + mapexons Map each exon separately + mapboth Report hits from both strands of genome + flanking=INT Show flanking hits (default 0) + print-comment Show comment line for each hit + --> + + + </inputs> + <outputs> + <data format="txt" name="gmap_stderr" label="${tool.name} on ${on_string}: stderr"/> + <data format="txt" name="output" label="${tool.name} on ${on_string} ${result.format}" > + <filter>(split_output == False)</filter> + <change_format> + <when input="result['format']" value="gff3_gene" format="gff3"/> + <when input="result['format']" value="gff3_match_cdna" format="gff3"/> + <when input="result['format']" value="gff3_match_est" format="gff3"/> + <when input="result['format']" value="sam" format="sam"/> + <when input="result['format']" value="splicesites" format="gmap_splicesites"/> + <when input="result['format']" value="introns" format="gmap_introns"/> + <when input="result['format']" value="map_genes" format="gmap_annotation"/> + <when input="result['format']" value="map_exons" format="gmap_annotation"/> + </change_format> + </data> + <data format="txt" name="uniq" label="${tool.name} on ${on_string} uniq.${result.format}" from_work_dir="gmap_out.uniq"> + <filter>(split_output == True)</filter> + <change_format> + <when input="result['format']" value="gff3_gene" format="gff3"/> + <when input="result['format']" value="gff3_match_cdna" format="gff3"/> + <when input="result['format']" value="gff3_match_est" format="gff3"/> + <when input="result['format']" value="sam" format="sam"/> + <when input="result['format']" value="splicesites" format="gmap_splicesites"/> + <when input="result['format']" value="introns" format="gmap_introns"/> + <when input="result['format']" value="map_genes" format="gmap_annotation"/> + <when input="result['format']" value="map_exons" format="gmap_annotation"/> + </change_format> + </data> + <data format="txt" name="transloc" label="${tool.name} on ${on_string} transloc.${result.format}" from_work_dir="gmap_out.transloc"> + <filter>(split_output == True)</filter> + <change_format> + <when input="result['format']" value="gff3_gene" format="gff3"/> + <when input="result['format']" value="gff3_match_cdna" format="gff3"/> + <when input="result['format']" value="gff3_match_est" format="gff3"/> + <when input="result['format']" value="sam" format="sam"/> + <when input="result['format']" value="splicesites" format="gmap_splicesites"/> + <when input="result['format']" value="introns" format="gmap_introns"/> + <when input="result['format']" value="map_genes" format="gmap_annotation"/> + <when input="result['format']" value="map_exons" format="gmap_annotation"/> + </change_format> + </data> + <data format="txt" name="nomapping" label="${tool.name} on ${on_string} nomapping.${result.format}" from_work_dir="gmap_out.nomapping"> + <filter>(split_output == True)</filter> + <change_format> + <when input="result['format']" value="gff3_gene" format="gff3"/> + <when input="result['format']" value="gff3_match_cdna" format="gff3"/> + <when input="result['format']" value="gff3_match_est" format="gff3"/> + <when input="result['format']" value="sam" format="sam"/> + <when input="result['format']" value="splicesites" format="gmap_splicesites"/> + <when input="result['format']" value="introns" format="gmap_introns"/> + <when input="result['format']" value="map_genes" format="gmap_annotation"/> + <when input="result['format']" value="map_exons" format="gmap_annotation"/> + </change_format> + </data> + <data format="txt" name="mult" label="${tool.name} on ${on_string} mult.${result.format}" from_work_dir="gmap_out.mult"> + <filter>(split_output == True)</filter> + <change_format> + <when input="result['format']" value="gff3_gene" format="gff3"/> + <when input="result['format']" value="gff3_match_cdna" format="gff3"/> + <when input="result['format']" value="gff3_match_est" format="gff3"/> + <when input="result['format']" value="sam" format="sam"/> + <when input="result['format']" value="splicesites" format="gmap_splicesites"/> + <when input="result['format']" value="introns" format="gmap_introns"/> + <when input="result['format']" value="map_genes" format="gmap_annotation"/> + <when input="result['format']" value="map_exons" format="gmap_annotation"/> + </change_format> + </data> + </outputs> + <tests> + </tests> + + <help> + +**What it does** + +GMAP_ (Genomic Mapping and Alignment Program) The functionality provided by gmap allows a user to: (1) map and align a single cDNA interactively against a large genome in about a second, without the startup time of several minutes typically needed by existing mapping programs; (2) switch arbitrarily among different genomes, without the need for a preloaded server dedicated to each genome; (3) run the program on computers with as little as 128 MB of RAM (random access memory); (4) perform high-throughput batch processing of cDNAs by using memory mapping and multithreading when appropriate memory and hardware are available; (5) generate accurate gene models, even in the presence of substantial polymorphisms and sequence errors; (6) locate splice sites accurately without the use of probabilistic splice site models, allowing generalized use of the program across species; (7) detect statistically significant microexons and incorporate them into the alignment; and (8) handle mapping and alignment tasks on genomes having alternate assemblies, linkage groups or strains. It is developed by Thomas D. Wu of Genentech, Inc. + +Publication_ citation: Thomas D. Wu, Colin K. Watanabe Bioinformatics 2005 21(9):1859-1875; doi:10.1093/bioinformatics/bti310 + +.. _GMAP: http://research-pub.gene.com/gmap/ +.. _Publication: http://bioinformatics.oxfordjournals.org/cgi/content/full/21/9/1859 + +------ + +**Know what you are doing** + +.. class:: warningmark + +You will want to read the README_ + +.. _README: http://research-pub.gene.com/gmap/src/README + + </help> +</tool> +