Repository 'gmap'
hg clone https://toolshed.g2.bx.psu.edu/repos/jjohnson/gmap

Changeset 11:6adc485b6dc0 (2012-07-31)
Previous changeset 10:93911bac43da (2012-01-05)
Commit message:
Uploaded
added:
tool_dependencies.xml
removed:
README
gmap.xml
gmap_build.xml
gsnap.xml
iit_store.xml
lib/galaxy/datatypes/gmap.py
snpindex.xml
tool-data/datatypes_conf.xml
tool-data/gmap_indices.loc.sample
b
diff -r 93911bac43da -r 6adc485b6dc0 README
--- a/README Thu Jan 05 14:31:24 2012 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,71 +0,0 @@
-GMAP applications and citation info are available from:    http://research-pub.gene.com/gmap/
-
-
-    Installation instructions are in the README file in the download, 
-    and online:   http://research-pub.gene.com/gmap/src/README
-
-    These tools were consistent with gmap version: 2011-11-30
-
-
-GMAP and  GSNAP use added datatypes:
-
-   add datatype definition file: lib/galaxy/datatypes/gmap.py
-
-   add the following import line to:  lib/galaxy/datatypes/registry.py
-   import gmap # added for gmap tools
-
-   add to datatypes_conf.xml
-        <!-- Start GMAP Datatypes -->
-        <datatype extension="gmapdb" type="galaxy.datatypes.gmap:GmapDB"  display_in_upload="False"/>
-        <datatype extension="gmapsnpindex" type="galaxy.datatypes.gmap:GmapSnpIndex"  display_in_upload="False"/>
-        <datatype extension="iit" type="galaxy.datatypes.gmap:IntervalIndexTree"  display_in_upload="True"/>
-        <datatype extension="splicesites.iit" type="galaxy.datatypes.gmap:SpliceSitesIntervalIndexTree"  display_in_upload="True"/>
-        <datatype extension="introns.iit" type="galaxy.datatypes.gmap:IntronsIntervalIndexTree"  display_in_upload="True"/>
-        <datatype extension="snps.iit" type="galaxy.datatypes.gmap:SNPsIntervalIndexTree"  display_in_upload="True"/>
-        <datatype extension="tally.iit" type="galaxy.datatypes.gmap:TallyIntervalIndexTree"  display_in_upload="True"/>
-        <datatype extension="gmap_annotation" type="galaxy.datatypes.gmap:IntervalAnnotation"  display_in_upload="False"/>
-        <datatype extension="gmap_splicesites" type="galaxy.datatypes.gmap:SpliceSiteAnnotation"  display_in_upload="True"/>
-        <datatype extension="gmap_introns" type="galaxy.datatypes.gmap:IntronAnnotation"  display_in_upload="True"/>
-        <datatype extension="gmap_snps" type="galaxy.datatypes.gmap:SNPAnnotation"  display_in_upload="True"/>
-        <datatype extension="gsnap_tally" type="galaxy.datatypes.gmap:TallyAnnotation"  display_in_upload="True"/>
-        <datatype extension="gsnap" type="galaxy.datatypes.gmap:GsnapResult"  display_in_upload="True"/>
-        <!-- End GMAP Datatypes -->
-
-Tools:
-  GMAP_Build - create a GmapDB set of index files for a reference sequence and optional set of annotations
-  GMAP - map sequences to a reference sequence GmapDB index
-  GSNAP - align sequences to a reference and detect splicing 
-
-  Add to  tool_conf.xml     ( probably in the "NGS: Mapping" section )
-   <tool file="gmap/gmap.xml" />
-   <tool file="gmap/gsnap.xml" />
-   <tool file="gmap/gmap_build.xml" />
-   <tool file="gmap/snpindex.xml" />
-   <tool file="gmap/iit_store.xml" />
-
-Admin built cached gmapdb indexes defined in tool-data/gmap_indices.loc
-
-
-TODO:
-  
-  
-  Add classes to gmap.py
-    CmetIndex - an index created by cmetindex
-    AtoiIndex - an index created by atoiindex
-
-  Add tally creation
-    gsnap default output -> gsnap_tally -> iit_store
-
-  Add goby support
-    Should add separate tools and datatypes for goby 
-    GSNAP goby output relies on goby input, might be better to have a separate gsnap tool for goby
-
-  Possibly add Tools:
-    get_genome - retrieves from a gmapdb
-    cmetindex - create methylcytosine index
-    atoiindex - create  A-to-I RNA editing index
-    
-    
-     
-
-
b
diff -r 93911bac43da -r 6adc485b6dc0 gmap.xml
--- a/gmap.xml Thu Jan 05 14:31:24 2012 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,482 +0,0 @@\n-<tool id="gmap" name="GMAP" version="2.0.1">\n-  <description>Genomic Mapping and Alignment Program for mRNA and EST sequences</description>\n-  <requirements>\n-    <requirement type="binary">gmap</requirement>\n-  </requirements>\n-  <version_string>gmap --version</version_string>\n-  <command>\n-    #import os,os.path\n-    gmap\n-    --nthreads=4 --ordered\n-    #if $refGenomeSource.genomeSource == "history":\n-      --gseg=$refGenomeSource.ownFile\n-    #elif $refGenomeSource.genomeSource == "gmapdb":\n-      #set $gmapdb = $os.listdir($refGenomeSource.gmapdb.extra_files_path)[0]\n-      --dir=$refGenomeSource.gmapdb.extra_files_path --db=$gmapdb\n-      #if $refGenomeSource.kmer != None and len($refGenomeSource.kmer.__str__) == 2:\n-        --kmer=$refGenomeSource.kmer\n-      #end if\n-    #else:\n-      --dir=$os.path.dirname($refGenomeSource.gmapindex.value) --db=$os.path.basename($refGenomeSource.gmapindex.value)\n-      #if $refGenomeSource.kmer != None and len($refGenomeSource.kmer.__str__) == 2:\n-        --kmer=$refGenomeSource.kmer\n-      #end if\n-    #end if\n-    #if $result.format == "summary":\n-      --summary\n-    #elif $result.format == "align":\n-      --align\n-    #elif $result.format == "continuous":\n-      --continuous\n-    #elif $result.format == "continuous-by-exon":\n-      --continuous-by-exon\n-    #elif $result.format == "compress":\n-      --compress\n-    #elif $result.format == "exons_dna":\n-      --exons=cdna\n-    #elif $result.format == "exons_gen":\n-      --exons=genomic\n-    #elif $result.format == "protein_dna":\n-      --protein_dna\n-    #elif $result.format == "protein_gen":\n-      --protein_gen\n-    #elif $result.format == "sam":\n-      --format=$result.sam_paired_read\n-      $result.no_sam_headers \n-      #* Removed in gmap version 2011-11-30\n-      #if len($result.noncanonical_splices.__str__) > 0\n-         --noncanonical-splices=$result.noncanonical_splices\n-      #end if\n-      *#\n-      #if len($result.read_group_id.__str__) > 0\n-         --read-group-id=$result.read_group_id\n-      #end if\n-      #if len($result.read_group_name.__str__) > 0\n-         --read-group-name=$result.read_group_name\n-      #end if\n-      #if len($result.read_group_library.__str__) > 0\n-         --read-group-library=$result.read_group_library\n-      #end if\n-      #if len($result.read_group_platform.__str__) > 0\n-         --read-group-platform=$result.read_group_platform\n-      #end if\n-    #elif $result.format != "gmap":\n-      --format=$result.format\n-    #end if\n-    #if $computation.options == "advanced":\n-      $computation.nosplicing\n-      $computation.cross_species\n-      #if len($computation.min_intronlength.__str__) > 0\n-        --min-intronlength=$computation.min_intronlength\n-      #end if\n-      #if len($computation.intronlength.__str__) > 0\n-        --intronlength=$computation.intronlength\n-      #end if\n-      #if len($computation.localsplicedist.__str__) > 0\n-        --localsplicedist=$computation.localsplicedist\n-      #end if\n-      #if len($computation.totallength.__str__) > 0\n-        --totallength=$computation.totallength\n-      #end if\n-      #if len($computation.trimendexons.__str__) > 0\n-        --trimendexons=$computation.trimendexons\n-      #end if\n-      --direction=$computation.direction\n-      --canonical-mode=$computation.canonical\n-      --prunelevel=$computation.prunelevel\n-      --allow-close-indels=$computation.allow_close_indels\n-      #if len($computation.microexon_spliceprob.__str__) >= 0:\n-        --microexon-spliceprob=$computation.microexon_spliceprob\n-      #end if\n-      #if len($computation.chimera_margin.__str__) >= 0:\n-        --chimera-margin=$computation.chimera_margin\n-      #end if\n-    #end if\n-    #if $advanced.options == "used":\n-      #if len($advanced.npaths.__str__) > 0:\n-        --npaths=$advanced.npaths\n-      #end if\n-      #if len($advanced.suboptimal_score.__str__) > 0:\n-        --suboptimal-score=$advanced.suboptimal_score\n-      #end if\n-      #if len('..b'="result[\'format\']" value="gff3_match_cdna" format="gff3"/>\n-        <when input="result[\'format\']" value="gff3_match_est" format="gff3"/>\n-        <when input="result[\'format\']" value="sam" format="sam"/>\n-        <when input="result[\'format\']" value="splicesites" format="gmap_splicesites"/>\n-        <when input="result[\'format\']" value="introns" format="gmap_introns"/>\n-        <when input="result[\'format\']" value="map_genes" format="gmap_annotation"/>\n-        <when input="result[\'format\']" value="map_exons" format="gmap_annotation"/>\n-      </change_format>\n-    </data>\n-    <data format="txt" name="nomapping" label="${tool.name} on ${on_string} nomapping.${result.format}"  from_work_dir="gmap_out.nomapping">\n-      <filter>(split_output == True)</filter>\n-      <change_format>\n-        <when input="result[\'format\']" value="gff3_gene" format="gff3"/>\n-        <when input="result[\'format\']" value="gff3_match_cdna" format="gff3"/>\n-        <when input="result[\'format\']" value="gff3_match_est" format="gff3"/>\n-        <when input="result[\'format\']" value="sam" format="sam"/>\n-        <when input="result[\'format\']" value="splicesites" format="gmap_splicesites"/>\n-        <when input="result[\'format\']" value="introns" format="gmap_introns"/>\n-        <when input="result[\'format\']" value="map_genes" format="gmap_annotation"/>\n-        <when input="result[\'format\']" value="map_exons" format="gmap_annotation"/>\n-      </change_format>\n-    </data>\n-    <data format="txt" name="mult" label="${tool.name} on ${on_string} mult.${result.format}"  from_work_dir="gmap_out.mult">\n-      <filter>(split_output == True)</filter>\n-      <change_format>\n-        <when input="result[\'format\']" value="gff3_gene" format="gff3"/>\n-        <when input="result[\'format\']" value="gff3_match_cdna" format="gff3"/>\n-        <when input="result[\'format\']" value="gff3_match_est" format="gff3"/>\n-        <when input="result[\'format\']" value="sam" format="sam"/>\n-        <when input="result[\'format\']" value="splicesites" format="gmap_splicesites"/>\n-        <when input="result[\'format\']" value="introns" format="gmap_introns"/>\n-        <when input="result[\'format\']" value="map_genes" format="gmap_annotation"/>\n-        <when input="result[\'format\']" value="map_exons" format="gmap_annotation"/>\n-      </change_format>\n-    </data>\n-  </outputs>\n-  <tests>\n-  </tests> \n-\n-  <help>\n-\n-**What it does**\n-\n-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.  \n-\n-Publication_ citation: Thomas D. Wu, Colin K. Watanabe  Bioinformatics 2005 21(9):1859-1875; doi:10.1093/bioinformatics/bti310\n-\n-.. _GMAP: http://research-pub.gene.com/gmap/\n-.. _Publication: http://bioinformatics.oxfordjournals.org/cgi/content/full/21/9/1859\n-\n-------\n-\n-**Know what you are doing**\n-\n-.. class:: warningmark\n-\n-You will want to read the README_\n-\n-.. _README: http://research-pub.gene.com/gmap/src/README\n-\n-  </help>\n-</tool>\n-\n'
b
diff -r 93911bac43da -r 6adc485b6dc0 gmap_build.xml
--- a/gmap_build.xml Thu Jan 05 14:31:24 2012 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,174 +0,0 @@\n-<tool id="gmap_build" name="GMAP Build" version="2.0.0">\n-  <description>a database genome index for GMAP and GSNAP</description>\n-  <requirements>\n-      <requirement type="binary">gmap_build</requirement>\n-  </requirements>\n-  <version_string>gmap --version</version_string>\n-  <command interpreter="command"> /bin/bash $shscript 2>1 1> $output </command>\n-  <inputs>\n-    <!-- Name for this gmapdb -->\n-    <param name="refname" type="text" label="Name you want to give this gmap database" help="">\n-      <validator type="empty_field" message="A database name is required."/>\n-    </param>\n-    <!-- Input data -->\n-    <repeat name="inputs" title="Reference Sequence" min="1">\n-      <param name="input" type="data" format="fasta" label="reference sequence fasta" />\n-    </repeat>\n-\n-    <param name="kmer" type="select" multiple="true" force_select="true" label="kmer size" help="">\n-      <option value="12">12</option>\n-      <option value="13">13</option>\n-      <option value="14">14</option>\n-      <option value="15" selected="true">15</option>\n-    </param>  \n-    <param name="cmetindex" type="boolean" checked="true" truevalue="yes" falsevalue="no" label="Create cmetindex to process reads from bisulfite-treated DNA"/>\n-    <param name="atoiindex" type="boolean" checked="true" truevalue="yes" falsevalue="no" label="Create atoiindex to process reads under RNA-editing tolerance"/>\n-    <conditional name="splicesite">\n-      <param name="splice_source" type="select" label="Add splice and intron info from" >\n-        <option value="none"></option>\n-        <option value="refGeneTable">refGenes table from UCSC table browser</option>\n-        <option value="gtf">GTF</option>\n-        <option value="gff3">GFF3</option>\n-      </param>\n-      <when value="none"/>\n-      <when value="refGeneTable">\n-        <param name="refGenes" type="data" format="tabular" optional="true" label="UCSC refGenes table" help="Example: ftp://hgdownload.cse.ucsc.edu/goldenPath/hg18/database/refGene.txt.gz" />\n-        <param name="col_skip" type="integer" value="1" label="Columns to skip before the id/name column (default 1)" \n-               help="Note that alignment tracks in UCSC sometimes have an extra column on the left.">\n-          <validator type="in_range" message="The number of colmumns to skip must >= 0." min="0."/>\n-        </param>\n- \n-      </when>\n-      <when value="gtf">\n-        <param name="gtfGenes" type="data" format="gtf" optional="true" label="Genes as GTF" help="" />\n-      </when>\n-      <when value="gff3">\n-        <param name="gff3Genes" type="data" format="gff3" optional="true" label="Genes in GFF3 format" help="" />\n-      </when>\n-    </conditional> \n-    <conditional name="dbsnp">\n-      <param name="snp_source" type="select" label="Add SNP info from" >\n-        <option value="none"></option>\n-        <option value="snpTable">UCSC SNP Table</option>\n-        <option value="snpFile">GMAP SNP File</option>\n-      </param>\n-      <when value="none"/>\n-      <when value="snpTable">\n-        <param name="snps" type="data" format="tabular" optional="true" label="UCSC SNPs table" help="Example: ftp://hgdownload.cse.ucsc.edu/goldenPath/hg18/database/snp130.txt.gz" />\n-        <param name="snpsex" type="data" format="tabular" optional="true" label="UCSC SNP Exceptions table" help="Example: ftp://hgdownload.cse.ucsc.edu/goldenPath/hg18/database/snp130Exceptions.txt.gz" />\n-        <param name="weight" type="select" label="Include SNPs with at least Confidence Level" help="">\n-          <option value="1" selected="true">1 (High)</option>\n-          <option value="2">2 (Medium)</option>\n-          <option value="3">3 (All)</option>\n-        </param>\n-      </when>\n-      <when value="snpFile">\n-        <param name="snps" type="data" format="gmap_snps" optional="true" label="GMAP SNPs file" \n-           help="Format (3 columns):\n-                &lt;br&gt;>rs62211261 21:14379270 CG\n-                &lt;br&gt;>rs62211262 2'..b' to the possible nucleotides on the plus strand of the genome.  \n-                If the one of these two letters does not match the allele in the reference\n-                sequence, that SNP will be ignored in subsequent processing as a probable error.\n-                The N stands for any other allele." />\n-      </when>\n-    </conditional> \n-  </inputs>\n-  <outputs>\n-    <!--\n-    <data format="txt" name="log" label="${tool.name} on ${on_string}: log"/>\n-    -->\n-    <data format="gmapdb" name="output" label="${tool.name} on ${on_string} gmapdb ${refname}" />\n-  </outputs>\n-  <configfiles>\n-    <configfile name="shscript">\n-#!/bin/bash\n-#set $ds = chr(36)\n-#set $gt = chr(62)\n-#set $lt = chr(60)\n-#set $ad = chr(38)\n-## #set $ref_files = \'\'\n-## #for $i in $inputs:\n-  ## #set $ref_files = $ref_files $i.input\n-## #end for\n-## echo $ref_files\n-#import os.path\n-#set $gmapdb = $output.extra_files_path\n-#set $mapsdir = $os.path.join($os.path.join($gmapdb,str($refname)), str($refname) + \'.maps\')\n-mkdir -p $gmapdb\n-## export GMAPDB required for cmetindex  and atoiindex\n-export GMAPDB=$gmapdb\n-#for $k in $kmer.__str__.split(\',\'):\n-gmap_build -D $gmapdb -d $refname -s numeric-alpha -k $k #for i in $inputs# ${i.input}#end for#\n-#end for\n-get-genome -D $gmapdb -d \'?\' | sed \'s/^Available .*/gmap db: /\' \n-echo "kmers: " $kmer \n-#if $splicesite.splice_source == \'refGeneTable\':\n-#if $splicesite.refGenes.__str__ != \'None\':\n-cat $splicesite.refGenes | psl_splicesites -s $splicesite.col_skip | iit_store -o  $os.path.join($mapsdir,\'splicesites\')\n-cat $splicesite.refGenes | psl_introns -s $splicesite.col_skip | iit_store -o  $os.path.join($mapsdir,\'introns\')\n-#end if\n-#elif $splicesite.splice_source == \'gtf\':\n-#if $splicesite.gtfGenes.__str__ != \'None\':\n-cat $splicesite.gtfGenes | gtf_splicesites | iit_store -o  $os.path.join($mapsdir,\'splicesites\')\n-cat $splicesite.gtfGenes | gtf_introns | iit_store -o  $os.path.join($mapsdir,\'introns\')\n-#end if\n-#elif $splicesite.splice_source == \'gff3\':\n-#if $splicesite.gff3Genes.__str__ != \'None\':\n-cat $splicesite.gff3Genes | gff3_splicesites | iit_store -o  $os.path.join($mapsdir,\'splicesites\')\n-cat $splicesite.gff3Genes | gff3_introns | iit_store -o  $os.path.join($mapsdir,\'introns\')\n-#end if\n-#end if\n-#if $dbsnp.snp_source != \'none\' and $dbsnp.snps.__str__ != \'None\':\n-#if $dbsnp.snp_source == \'snpTable\':\n-#if $dbsnp.snpsex.__str__ != \'None\':\n-cat $dbsnp.snps | dbsnp_iit -w $dbsnp.weight -e $dbsnp.snpsex | iit_store -o  $os.path.join($mapsdir,\'snps\')\n-#else:\n-cat $dbsnp.snps | dbsnp_iit -w $dbsnp.weight | iit_store -o  $os.path.join($mapsdir,\'snps\')\n-#end if\n-#else:\n-cat $dbsnp.snps | iit_store -o  $os.path.join($mapsdir,\'snps\')\n-#end if\n-snpindex -d $refname -v snps\n-echo "snpindex" -d  $refname -v snps\n-#end if\n-#if $cmetindex.__str__ == \'yes\':\n-cmetindex -d $refname\n-echo "cmetindex" -d $refname\n-#end if\n-#if $atoiindex.__str__ == \'yes\':\n-atoiindex -d $refname\n-echo "atoiindex" -d $refname\n-#end if\n-get-genome -D $gmapdb -d $refname -m \'?\' | sed \'s/^Available maps .*/maps: /\' \n-    </configfile>\n-  </configfiles>\n-\n-  <tests>\n-  </tests> \n-\n-  <help>\n-\n-\n-**GMAP Build**\n-\n-GMAP Build creates an index of a genomic sequence for mapping and alignment using GMAP_ (Genomic Mapping and Alignment Program for mRNA and EST sequences) and GSNAP_ (Genomic Short-read Nucleotide Alignment Program).  (GMAP Build uses GMSP commands: gmap_build, iit_store, psl_splicesites, psl_introns, gtf_splicesites, gtf_introns, gff3_splicesites, gff3_introns, dbsnp_iit, snpindex, cmetindex, and atoiindex.)\n-\n-You will want to read the README_\n-\n-Publication_ citation: Thomas D. Wu, Colin K. Watanabe  Bioinformatics 2005 21(9):1859-1875; doi:10.1093/bioinformatics/bti310\n-\n-.. _GMAP: http://research-pub.gene.com/gmap/\n-.. _GSNAP: http://research-pub.gene.com/gmap/\n-.. _README: http://research-pub.gene.com/gmap/src/README\n-.. _Publication: http://bioinformatics.oxfordjournals.org/cgi/content/full/21/9/1859\n-\n-\n-  </help>\n-</tool>\n-\n'
b
diff -r 93911bac43da -r 6adc485b6dc0 gsnap.xml
--- a/gsnap.xml Thu Jan 05 14:31:24 2012 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,864 +0,0 @@\n-<tool id="gsnap" name="GSNAP" version="2.0.1">\n-  <description>Genomic Short-read Nucleotide Alignment Program</description>\n-  <requirements>\n-      <requirement type="binary">gsnap</requirement>\n-  </requirements>\n-  <version_string>gsnap --version</version_string>\n-  <command>\n-    #import os.path, re\n-    gsnap\n-    --nthreads="4" --ordered\n-    #if $refGenomeSource.genomeSource == "gmapdb":\n-      #set $gmapdb = $os.listdir($refGenomeSource.gmapdb.extra_files_path)[0]\n-      --dir=$refGenomeSource.gmapdb.extra_files_path --db=$refGenomeSource.gmapdb.metadata.db_name\n-    #else:\n-      --dir=$os.path.dirname($refGenomeSource.gmapindex.value) --db=$os.path.basename($refGenomeSource.gmapindex.value)\n-    #end if\n-    #if $refGenomeSource.kmer != None and len($refGenomeSource.kmer.__str__) == 2:\n-      --kmer=$refGenomeSource.kmer\n-    #end if\n-    #if $refGenomeSource.use_splicing.src == \'gmapdb\':\n-      #if $refGenomeSource.use_splicing.splicemap != None and len($refGenomeSource.use_splicing.splicemap.__str__) > 0:\n-        -s $refGenomeSource.use_splicing.splicemap.value\n-        #if $computation.trim_mismatch_score.__str__ == \'0\':\n-          $ambig_splice_noclip\n-        #end if\n-      #end if\n-    #elif $refGenomeSource.use_splicing.src == \'history\':\n-      #if $refGenomeSource.use_splicing.splicemap != None and len($refGenomeSource.use_splicing.splicemap.__str__) > 0:\n-        -S $os.path.dirname($refGenomeSource.use_splicing.splicemap) -s $os.path.basename($refGenomeSource.use_splicing.splicemap)\n-        #if $computation.trim_mismatch_score.__str__ == \'0\':\n-          $ambig_splice_noclip\n-        #end if\n-      #end if\n-    #end if\n-    #if $refGenomeSource.use_snps.src == \'gmapdb\':\n-       #if $refGenomeSource.use_snps.snpindex != None and len($refGenomeSource.use_snps.snpindex.__str__) > 0:\n-        -v $refGenomeSource.use_snps.snpindex.value\n-       #end if\n-    #elif $refGenomeSource.use_snps.src == \'history\':\n-       #if $refGenomeSource.use_snps.snpindex != None and len($refGenomeSource.use_snps.snpindex.__str__) > 0:\n-         -V $refGenomeSource.use_snps.snpindex.extra_files_path -v $refGenomeSource.use_snps.snpindex.metadata.snps_name\n-       #end if\n-    #end if\n-    #if $refGenomeSource.mode.__str__ != \'\':\n-      --mode=$refGenomeSource.mode\n-    #end if\n-    #* ## No longer in options as of version 2011-11-30\n-    #if $mapq_unique_score.__str__ != \'\':\n-      --mapq-unique-score=$mapq_unique_score\n-    #end if\n-    *#\n-    #if $computation.options == "advanced":\n-      #if $computation.max_mismatches.__str__ != \'\':\n-        --max-mismatches=$computation.max_mismatches\n-      #end if\n-      $computation.query_unk_mismatch\n-      $computation.genome_unk_mismatch\n-      #if $computation.terminal_threshold.__str__ != \'\':\n-        --terminal-threshold=$computation.terminal_threshold\n-      #end if\n-      #if $computation.indel_penalty.__str__ != \'\':\n-        --indel-penalty=$computation.indel_penalty\n-      #end if\n-      #if $computation.indel_endlength.__str__ != \'\':\n-        --indel-endlength=$computation.indel_endlength\n-      #end if\n-      #if $computation.max_middle_insertions.__str__ != \'\':\n-        --max-middle-insertions=$computation.max_middle_insertions\n-      #end if\n-      #if $computation.max_middle_deletions.__str__ != \'\':\n-        --max-middle-deletions=$computation.max_middle_deletions\n-      #end if\n-      #if $computation.max_end_insertions.__str__ != \'\':\n-        --max-end-insertions=$computation.max_end_insertions\n-      #end if\n-      #if $computation.max_end_deletions.__str__ != \'\':\n-        --max-end-deletions=$computation.max_end_deletions\n-      #end if\n-      #if $computation.suboptimal_levels.__str__ != \'\':\n-        --suboptimal-levels=$computation.suboptimal_levels\n-      #end if\n-      #if $computation.adapter_strip.__str__ != \'\':\n-        --adapter-strip=$computation.adapter_strip\n-      #end if\n-      #if $computation.trim_mismatch_score.__str__ != \'\':\n-      '..b'value="sam" format="sam"/>\n-        <when input="result[\'format\']" value="gsnap" format="gsnap"/>\n-      </change_format>\n-    </data>\n-\n-    <data format="fastq" name="nomapping_fq" label="${tool.name} on ${on_string} nomapping.fq"  from_work_dir="gsnap_out.nomapping.fq">\n-      <filter>(results[\'split_output\'] == \'yes\' and seq[\'format\'] == \'fastq\' and seq[\'paired\'][\'ispaired\'] == False)</filter>\n-    </data>\n-\n-    <data format="fastq" name="nomapping_1_fq" label="${tool.name} on ${on_string} nomapping.1.fq"  from_work_dir="gsnap_out.nomapping.1.fq">\n-      <filter>(results[\'split_output\'] == \'yes\' and seq[\'format\'] == \'fastq\' and seq[\'paired\'][\'ispaired\'] == True)</filter>\n-    </data>\n-\n-    <data format="fastq" name="nomapping_2_fq" label="${tool.name} on ${on_string} nomapping.2.fq"  from_work_dir="gsnap_out.nomapping.2.fq">\n-      <filter>(results[\'split_output\'] == \'yes\' and seq[\'format\'] == \'fastq\' and seq[\'paired\'][\'ispaired\'] == True)</filter>\n-    </data>\n-\n-    <!-- Will problay need wrapper code to generate composite datatype for goby alignment\n-    <data format="gobyalignment" name="goby_alignment" label="${tool.name} on ${on_string} uniq.${result.format}"  from_work_dir="gsnap_out.nomapping">\n-      <filter>result[\'format\'] == \'goby\'</filter>\n-    </data>\n-    -->\n-\n-  </outputs>\n-  <tests>\n-  </tests> \n-\n-  <help>\n-\n-**What it does**\n-\n-GSNAP_ (Genomic Short-read Nucleotide Alignment Program) is a short read aligner which can align both single- and paired-end reads as short as 14nt and of arbitrarily long length. It can detect short- and long-distance splicing, including interchromosomal splicing, in individual reads, using probabilistic models or a database of known splice sites. Our program also permits SNP-tolerant alignment to a reference space of all possible combinations of major and minor alleles, and can align reads from bisulfite-treated DNA for the study of methylation state. It is developed by Thomas D. Wu of Genentech, Inc.  \n-Publication_ citation: Thomas D. Wu, Serban Nacu "Fast and SNP-tolerant detection of complex variants and splicing in short reads. Bioinformatics. 2010 Apr 1;26(7):873-81. Epub 2010 Feb 10.\n-\n-.. _GSNAP: http://research-pub.gene.com/gmap/\n-.. _Publication: http://bioinformatics.oupjournals.org/cgi/content/full/26/7/873\n-http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2844994/?tool=pubmed\n-\n-------\n-\n-**Know what you are doing**\n-\n-.. class:: warningmark\n-\n-You will want to read the README_\n-\n-.. _README: http://research-pub.gene.com/gmap/src/README\n-\n-------\n-\n-**Input formats**\n-\n-Input to GSNAP should be either in FASTQ or FASTA format.  \n-\n-The FASTQ input may include quality scores, which will then be included in SAM\n-output, if that output format is selected. \n-\n-For FASTA format, you should include one line per read (or end of a\n-paired-end read).  The same FASTA file can have a mixture of\n-single-end and paired-end reads of varying lengths, if desired.\n-\n-Single-end reads:\n-\n-Each FASTA entry should contain one short read per line, like this\n-\n->Header information\n-AAAACATTCTCCTCCGCATAAGCCTGCGTCAGATTA\n-\n-Each short read can have a different length.  However, the entire read\n-needs to be on a single line, and may not wrap around multiple lines.\n-If it extends to a second line, GSNAP will think that the read is\n-paired-end.\n-\n-\n-Paired-end reads:\n-\n-Each FASTA entry should contain two short reads, one per line, like\n-this\n-\n->Header information\n-AAAACATTCTCCTCCGCATAAGCCTAGTAGATTA\n-GGCGTAGGTAGAAGTAGAGGTTAAGGCGCGTCAG\n-\n-By default, the program assumes that the second end is in the reverse\n-complement direction compared with the first end.  If they are in the\n-same direction, you may need to use the --circular-input (or -c) flag.\n-\n-( The Galaxy tool: "FASTA Width formatter"  can be used to reformat fasta files to have single line sequences. )\n-\n-------\n-\n-**Output formats in GSNAP**\n-\n-SAM output format\n-\n-Default GSNAP format\n-  See the README_\n-\n-\n-\n-\n-  </help>\n-</tool>\n-\n'
b
diff -r 93911bac43da -r 6adc485b6dc0 iit_store.xml
--- a/iit_store.xml Thu Jan 05 14:31:24 2012 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,181 +0,0 @@\n-<tool id="gmap_iit_store" name="GMAP IIT" version="2.0.0">\n-  <description>Create a map store for known genes or SNPs</description>\n-  <requirements>\n-      <requirement type="binary">iit_store</requirement>\n-  </requirements>\n-  <version_string>iit_store --version</version_string>\n-  <command interpreter="command"> /bin/bash $shscript 2> $log </command>\n-  <inputs>\n-    <!-- Input data -->\n-    <conditional name="map">\n-      <param name="type" type="select" label="Make map for" >\n-        <option value="genes">Introns and Splice sites</option>\n-        <option value="snps">SNPs</option>\n-        <option value="gmap">GMAP Annotation</option>\n-      </param>\n-      <when value="genes">\n-        <conditional name="src">\n-          <param name="src_format" type="select" label="Add splice and intron info from" >\n-            <option value="refGeneTable">refGenes table from UCSC table browser</option>\n-            <option value="gtf">GTF</option>\n-            <option value="gff3">GFF3</option>\n-          </param>\n-          <when value="refGeneTable">\n-            <param name="genes" type="data" format="tabular" label="UCSC refGenes table" help="Example: ftp://hgdownload.cse.ucsc.edu/goldenPath/hg18/database/refGene.txt.gz" />\n-            <param name="col_skip" type="integer" value="1" label="Columns to skip before the id/name column (default 1)" \n-                   help="Note that alignment tracks in UCSC sometimes have an extra column on the left.">\n-              <validator type="in_range" message="The number of colmumns to skip must >= 0." min="0."/>\n-            </param>\n-          </when>\n-          <when value="gtf">\n-            <param name="genes" type="data" format="gtf" label="Genes as GTF" help="" />\n-          </when>\n-          <when value="gff3">\n-            <param name="genes" type="data" format="gff3" label="Genes in GFF3 format" help="" />\n-          </when>\n-        </conditional> \n-        <param name="maps" type="select" display="checkboxes" multiple="true" force_select="true" label="Add splice and intron info from" >\n-          <option value="splicesites" selected="true">splicesites.iit</option>\n-          <option value="introns" selected="false">introns.iit</option>\n-        </param>\n-      </when>\n-      <when value="snps">\n-        <conditional name="src">\n-          <param name="src_format" type="select" label="Add SNP info from" >\n-            <option value="snpTable">UCSC SNP Table</option>\n-            <option value="snpFile">GMAP SNP File</option>\n-          </param>\n-          <when value="snpTable">\n-            <param name="snps" type="data" format="tabular" label="UCSC SNPs table" help="Example: ftp://hgdownload.cse.ucsc.edu/goldenPath/hg18/database/snp130.txt.gz" />\n-            <param name="snpsex" type="data" format="tabular" optional="true" label="UCSC SNP Exceptions table" help="Example: ftp://hgdownload.cse.ucsc.edu/goldenPath/hg18/database/snp130Exceptions.txt.gz" />\n-            <param name="weight" type="select" label="Include SNPs with at least Confidence Level" help="">\n-              <option value="1" selected="true">1 (High)</option>\n-              <option value="2">2 (Medium)</option>\n-              <option value="3">3 (All)</option>\n-            </param>\n-          </when>\n-          <when value="snpFile">\n-            <param name="snps" type="data" format="gmap_snps" optional="true" label="GMAP SNPs file" \n-               help="Format (3 columns):&lt;B&gt;\n-                    &lt;br&gt;>rs62211261 21:14379270 CG\n-                    &lt;br&gt;>rs62211262 21:14379281 CG\n-                    &lt;/B&gt;\n-                    &lt;br&gt;Each line must start with a &gt; character, then be followed by an\n-                    identifier (which may have duplicates).  Then there should be the\n-                    chromosomal coordinate of the SNP.  (Coordinates are all 1-based, so\n-                    the first character of a chromosome is number 1.)  Finally, there\n- '..b'-                &lt;br&gt; chr:position\n-                &lt;br&gt;  chr:startposition..endposition\n-                &lt;br&gt;The term chr:position is equivalent to chr:position..position.  \n-                &lt;br&gt;If you want to indicate that the interval is on the minus strand or reverse direction, then endposition may be less than startposition.  \n-                " />\n-      </when>\n-    </conditional> \n-  </inputs>\n-  <outputs>\n-    <data format="txt" name="log" label="${tool.name} on ${on_string}: log"/>\n-    <data format="splicesites.iit" name="splicesites_iit" label="${tool.name} on ${on_string} splicesites.iit">\n-      <filter>(map[\'type\'] == \'genes\' and \'splicesites\' in map[\'maps\'])</filter>\n-    </data>\n-    <data format="introns.iit" name="introns_iit" label="${tool.name} on ${on_string} introns.iit">\n-      <filter>(map[\'type\'] == \'genes\' and \'introns\' in map[\'maps\'])</filter>\n-    </data>\n-    <data format="snps.iit" name="snps_iit" label="${tool.name} on ${on_string} snps.iit">\n-      <filter>(map[\'type\'] == \'snps\')</filter>\n-    </data>\n-    <data format="iit" name="map_iit" label="${tool.name} on ${on_string} map.iit">\n-      <filter>(map[\'type\'] == \'gmap\')</filter>\n-    </data>\n-  </outputs>\n-  <configfiles>\n-    <configfile name="shscript">\n-#!/bin/bash\n-#set $catcmd = \'gzcat -f\'\n-#set $catcmd = \'cat\'\n-#set $ds = chr(36)\n-#set $gt = chr(62)\n-#set $lt = chr(60)\n-#set $ad = chr(38)\n-#set $ep = chr(33)\n-#set $toerr = \'\'.join([$gt,$ad,\'2\'])\n-#import os.path\n-#if $map.type == \'genes\':\n-if [ $ep -e $map.src.genes ]; then echo "$map.src.genes does not exist" $toerr; exit 1; fi\n-if [ $ep -s $map.src.genes ]; then echo "$map.src.genes is empty" $toerr; exit 2; fi\n- #if $map.src.src_format == \'refGeneTable\':\n-  #if \'splicesites\' in [ $map.maps.__str__ ]:\n-   $catcmd $map.src.genes | psl_splicesites -s $map.src.col_skip | iit_store -o  $splicesites_iit\n-  #end if\n-  #if \'introns\' in [ $map.maps.__str__ ]:\n-   $catcmd  $map.src.genes | psl_introns -s $map.src.col_skip | iit_store -o  $introns_iit\n-  #end if\n- #elif $map.src.src_format == \'gtf\':\n-  #if \'splicesites\' in [ $map.maps.__str__ ]:\n-   $catcmd $map.src.genes | gtf_splicesites | iit_store -o  $splicesites_iit\n-  #end if\n-  #if \'introns\' in [ $map.maps.__str__ ]:\n-   $catcmd $map.src.genes | gtf_introns | iit_store -o  $introns_iit\n-  #end if\n- #elif $map.src.src_format == \'gff3\':\n-  #if \'splicesites\' in [ $map.maps.__str__ ]:\n-   $catcmd $map.src.genes | gff3_splicesites | iit_store -o  $splicesites_iit\n-  #end if\n-  #if \'introns\' in [ $map.maps.__str__ ]:\n-   $catcmd $map.src.genes | gff3_introns | iit_store -o  $introns_iit\n-  #end if\n- #end if\n-#elif $map.type == \'snps\':\n-if [ $ep -s $map.src.snps ]; then echo "$map.src.snps is empty" $toerr; exit 2; fi\n- #if $map.src.snpsex.__str__ != \'None\':\n-  $catcmd $map.src.snps | dbsnp_iit -w $map.src.weight -e $map.src.snpsex | iit_store -o  $snps_iit\n- #else:\n-  $catcmd $map.src.snps | dbsnp_iit -w $map.src.weight | iit_store -o $snps_iit \n- #end if\n-#else:\n-  $catcmd $map.src.snps | iit_store -o $map_iit \n-#end if\n-    </configfile>\n-  </configfiles>\n-\n-  <tests>\n-  </tests> \n-\n-  <help>\n-\n-\n-**iit_store**\n-\n-GMAP IIT creates an Interval Index Tree map of known splice sites, introns, or SNPs (it uses iit_store described in the GMAP documentation).  The maps can be used in GMAP_ (Genomic Mapping and Alignment Program for mRNA and EST sequences) and GSNAP_ (Genomic Short-read Nucleotide Alignment Program).  Maps are typically used for known splice sites, introns, or SNPs.  \n-\n-You will want to read the README_\n-\n-Publication_ citation: Thomas D. Wu, Colin K. Watanabe  Bioinformatics 2005 21(9):1859-1875; doi:10.1093/bioinformatics/bti310\n-\n-.. _GMAP: http://research-pub.gene.com/gmap/\n-.. _GSNAP: http://research-pub.gene.com/gmap/\n-.. _README: http://research-pub.gene.com/gmap/src/README\n-.. _Publication: http://bioinformatics.oxfordjournals.org/cgi/content/full/21/9/1859\n-\n-\n-**inputs**\n-\n-  </help>\n-</tool>\n-\n'
b
diff -r 93911bac43da -r 6adc485b6dc0 lib/galaxy/datatypes/gmap.py
--- a/lib/galaxy/datatypes/gmap.py Thu Jan 05 14:31:24 2012 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,472 +0,0 @@\n-"""\n-GMAP indexes\n-"""\n-import logging\n-import os,os.path,re\n-import galaxy.datatypes.data\n-from galaxy.datatypes.data import Text\n-from galaxy import util\n-from galaxy.datatypes.metadata import MetadataElement\n-\n-log = logging.getLogger(__name__)\n-\n-class GmapDB( Text ):\n-    """\n-    A GMAP DB for indexes\n-    """\n-    MetadataElement( name="db_name", desc="The db name for this index set", default=\'unknown\', set_in_upload=True, readonly=True )\n-    MetadataElement( name="basesize", default="12", desc="The basesize for offsetscomp", visible=True, readonly=True )\n-    MetadataElement( name="kmers", default=[\'\'], desc="The kmer sizes for indexes", visible=True, no_value=[\'\'], readonly=True )\n-    MetadataElement( name="map_dir", desc="The maps directory", default=\'unknown\', set_in_upload=True, readonly=True )\n-    MetadataElement( name="maps", default=[\'\'], desc="The names of maps stored for this gmap gmapdb", visible=True, no_value=[\'\'], readonly=True )\n-    MetadataElement( name="snps", default=[\'\'], desc="The names of SNP indexes stored for this gmapdb", visible=True, no_value=[\'\'], readonly=True )\n-    MetadataElement( name="cmet", default=False, desc="Has a cmet index", visible=True, readonly=True )\n-    MetadataElement( name="atoi", default=False, desc="Has a atoi index", visible=True, readonly=True )\n-    \n-    file_ext = \'gmapdb\'\n-    is_binary = True\n-    composite_type = \'auto_primary_file\'\n-    allow_datatype_change = False\n-\n-    def generate_primary_file( self, dataset = None ):\n-        """ \n-        This is called only at upload to write the html file\n-        cannot rename the datasets here - they come with the default unfortunately\n-        """\n-        return \'<html><head></head><body>AutoGenerated Primary File for Composite Dataset</body></html>\'\n-    \n-    def regenerate_primary_file(self,dataset):\n-        """\n-        cannot do this until we are setting metadata \n-        """\n-        bn = dataset.metadata.db_name\n-        log.info( "GmapDB regenerate_primary_file %s" % (bn))\n-        rval = [\'<html><head><title>GMAPDB %s</title></head><p/><H3>GMAPDB %s</H3><p/>cmet %s<br>atoi %s<H4>Maps:</H4><ul>\' % (bn,bn,dataset.metadata.cmet,dataset.metadata.atoi)]\n-        for i,name in enumerate(dataset.metadata.maps):\n-            rval.append( \'<li>%s\' % name)\n-        rval.append( \'</ul></html>\' )\n-        f = file(dataset.file_name,\'w\')\n-        f.write("\\n".join( rval ))\n-        f.write(\'\\n\')\n-        f.close()\n-\n-    def set_peek( self, dataset, is_multi_byte=False ):\n-        log.info( "GmapDB set_peek %s" % (dataset))\n-        if not dataset.dataset.purged:\n-            dataset.peek  = "GMAPDB index %s\\n cmet %s\\n atoi %s\\n maps %s" % ( dataset.metadata.db_name,dataset.metadata.cmet,dataset.metadata.atoi,dataset.metadata.maps )\n-            dataset.blurb = "GMAPDB %s" % ( dataset.metadata.db_name )\n-        else:\n-            dataset.peek = \'file does not exist\'\n-            dataset.blurb = \'file purged from disk\'\n-    def display_peek( self, dataset ):\n-        try:\n-            return dataset.peek\n-        except:\n-            return "GMAP index file"\n-\n-    def sniff( self, filename ):\n-        return False\n-    def set_meta( self, dataset, overwrite = True, **kwd ):\n-        """\n-        Expecting:\n-        extra_files_path/<db_name>/db_name>.ref<basesize><kmer>3<index>\n-        extra_files_path/db_name/db_name.ref1[2345]1[2345]3offsetscomp\n-        extra_files_path/db_name/db_name.ref1[2345]1[2345]3positions\n-        extra_files_path/db_name/db_name.ref1[2345]1[2345]3gammaptrs\n-        index maps: \n-        extra_files_path/db_name/db_name.maps/*.iit\n-        """\n-        log.info( "GmapDB set_meta %s %s" % (dataset,dataset.extra_files_path))\n-        pat = \'(.*)\\.((ref)|(met)[atgc][atgc]|(a2i)[atgc][atgc])((\\d\\d)(\\d\\d))?3positions(\\.(.+))?\'\n-        efp = dataset.extra_files_path\n-        flist = os.listdir(efp)\n-        for i,fname in enumerate(flist):\n-            log.info( "GmapDB'..b' == None: # Failed to match \n-                        return False\n-        finally:\n-            fh.close()\n-        return False\n-\n-class SNPAnnotation(IntervalAnnotation):\n-    file_ext = \'gmap_snps\'\n-    """\n-    Example:\n-        >rs62211261 21:14379270 CG\n-        >rs62211262 21:14379281 AT\n-        >rs62211263 21:14379298 WN\n-    Each line must start with a ">" character, then be followed by an\n-    identifier (which may have duplicates).  Then there should be the\n-    chromosomal coordinate of the SNP.  (Coordinates are all 1-based, so\n-    the first character of a chromosome is number 1.)  Finally, there\n-    should be the two possible alleles.  (Previous versions required that\n-    these be in alphabetical order: "AC", "AG", "AT", "CG", "CT", or "GT",\n-    but that is no longer a requirement.)  These alleles must correspond\n-    to the possible nucleotides on the plus strand of the genome.  If the\n-    one of these two letters does not match the allele in the reference\n-    sequence, that SNP will be ignored in subsequent processing as a\n-    probable error.\n-    \n-    GSNAP also supports the idea of a wildcard SNP.  A wildcard SNP allows\n-    all nucleotides to match at that position, not just a given reference\n-    and alternate allele.  It is essentially as if an "N" were recorded at\n-    that genomic location, although the index files still keep track of\n-    the reference allele.  To indicate that a position has a wildcard SNP,\n-    you can indicate the genotype as "WN", where "W" is the reference\n-    allele.  Another indication of a wildcard SNP is to provide two\n-    separate lines at that position with the genotypes "WX" and "WY",\n-    where "W" is the reference allele and "X" and "Y" are two different\n-    alternate alleles.\n-    """\n-    def sniff( self, filename ):\n-        """\n-        Determines whether the file is a gmap SNP annotation file\n-        """\n-        try:\n-            pat = \'>(\\S+)\\s((\\S+):(\\d+)\\s([TACGW][TACGN])$\' #>label chr:position ATCG \n-            fh = open( filename )\n-            count = 0\n-            while True and count < 10:\n-                line = fh.readline()\n-                if not line:\n-                    break #EOF\n-                line = line.strip()\n-                if line: #first non-empty line\n-                    count += 1\n-                    if re.match(pat,line) == None: # Failed to match \n-                        return False\n-        finally:\n-            fh.close()\n-        return False\n-\n-\n-class TallyAnnotation(IntervalAnnotation):\n-    file_ext = \'gsnap_tally\'\n-    """\n-    Output produced by gsnap_tally\n-    Example:\n-        >144 chr20:57268791..57268935\n-        G0\n-        A1(1@7|1Q-3)\n-        A2(1@36,1@1|1Q2,1Q-8)\n-        C2      0.889,0.912,0.889,0.889,0.933,0.912,0.912,0.889,0.889,0.889     -2.66,-2.89,-2.66,-2.66,-3.16,-2.89,-2.89,-2.66,-2.66,-2.66\n-        C1 T1   0.888,0.9,0.888,0.9,0.913,0.9,0.911,0.888,0.9,0.913     -2.66,-2.78,-2.66,-2.78,-2.91,-2.78,-2.89,-2.66,-2.78,-2.91\n-    """\n-    def sniff( self, filename ): # TODO\n-        """\n-        Determines whether the file is a gmap splice site annotation file\n-        """\n-        try:\n-            pat = \'^>(\\d+)\\s((\\S+):(\\d+)\\.\\.(\\d+))$\' #>total chr:position..position\n-            pat2 = \'^[GATCN]\\d.*$\' #BaseCountDeatails\n-            fh = open( filename )\n-            count = 0\n-            while True and count < 10:\n-                line = fh.readline()\n-                if not line:\n-                    break #EOF\n-                line = line.strip()\n-                if line: #first non-empty line\n-                    count += 1\n-                    if re.match(pat,line) == None and re.match(pat2,line) == None: # Failed to match \n-                        return False\n-        finally:\n-            fh.close()\n-        return False\n-\n-class GsnapResult( Text ):\n-    """\n-    The default output format for gsnap.   Can be used as input for gsnap_tally.\n-    """\n-    file_ext = \'gsnap\'\n-\n-\n'
b
diff -r 93911bac43da -r 6adc485b6dc0 snpindex.xml
--- a/snpindex.xml Thu Jan 05 14:31:24 2012 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,136 +0,0 @@
-<tool id="gmap_snpindex" name="GMAP SNP Index" version="2.0.0">
-  <description>build index files for known SNPs</description>
-  <requirements>
-      <requirement type="binary">snpindex</requirement>
-  </requirements>
-  <version_string>snpindex --version</version_string>
-  <command interpreter="command"> /bin/bash $shscript 2>1 1> $output </command>
-  <inputs>
-    <conditional name="refGenomeSource">
-     <param name="genomeSource" type="select" label="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>
-      </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>
-      </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"/>
-      </when>
-    </conditional>
-    <conditional name="dbsnp">
-      <param name="snp_source" type="select" label="Add SNP info from" >
-        <option value="snpTable">UCSC SNP Table</option>
-        <option value="snpFile">GMAP SNP File</option>
-        <option value="snpIIT">"GMAP SNPs map from GMAP iit store</option>
-      </param>
-      <when value="snpTable">
-        <param name="snps" type="data" format="tabular" label="UCSC SNPs table" help="Example: ftp://hgdownload.cse.ucsc.edu/goldenPath/hg18/database/snp130.txt.gz" />
-        <param name="snpsex" type="data" format="tabular" optional="true" label="UCSC SNP Exceptions table" help="Example: ftp://hgdownload.cse.ucsc.edu/goldenPath/hg18/database/snp130Exceptions.txt.gz" />
-        <param name="weight" type="select" label="Include SNPs with at least Confidence Level" help="">
-          <option value="1" selected="true">1 (High)</option>
-          <option value="2">2 (Medium)</option>
-          <option value="3">3 (All)</option>
-        </param>
-      </when>
-      <when value="snpFile">
-        <param name="snps" type="data" format="gmap_snps" label="GMAP SNPs file" 
-           help="Format (3 columns):
-                &lt;br&gt;>rs62211261 21:14379270 CG
-                &lt;br&gt;>rs62211262 21:14379281 CG
-                &lt;br&gt;Each line must start with a &gt; character, then be followed by an
-                identifier (which may have duplicates).  Then there should be the
-                chromosomal coordinate of the SNP.  (Coordinates are all 1-based, so
-                the first character of a chromosome is number 1.)  Finally, there
-                should be the two possible alleles: ( AC AG AT CG CT GT or AN CN GN TN)
-                &lt;br&gt;These alleles must correspond to the possible nucleotides on the plus strand of the genome.  
-                If the one of these two letters does not match the allele in the reference
-                sequence, that SNP will be ignored in subsequent processing as a probable error.
-                The N stands for any other allele." />
-      </when>
-      <when value="snpIIT">
-        <param name="snpIIT" type="data" format="snps.iit" label="GMAP SNPs map" help="Created by: GMAP iit store" />
-      </when>
-    </conditional> 
-    <param name="snps_name" type="text" value="snps" label="Name for this SNP index" help="no white space characters">
-    </param>
-  </inputs>
-  <outputs>
-    <!--
-    <data format="txt" name="log" label="${tool.name} on ${on_string}: log"/>
-    -->
-    <data format="gmapsnpindex" name="output" label="${tool.name} on ${on_string} snpindex" />
-  </outputs>
-  <configfiles>
-    <configfile name="shscript">
-#!/bin/bash
-#set $ds = chr(36)
-#set $gt = chr(62)
-#set $lt = chr(60)
-#set $ad = chr(38)
-#import os.path
-#if $refGenomeSource.genomeSource == "gmapdb":
-#set $gmapdb = $refGenomeSource.gmapdb.extra_files_path
-#set $refname = $refGenomeSource.gmapdb.metadata.db_name
-#else:
-#set $gmapdb = $os.path.dirname($refGenomeSource.gmapindex.value) 
-$refname = $os.path.basename($refGenomeSource.gmapindex.value)
-#end if
-#set $gmapsnpdir = $output.extra_files_path
-mkdir -p $gmapsnpdir
-#set $snpsname = $snps_name.__str__
-#set $snpsiit = '.'.join([$snpsname,'iit'])
-#set $pathsnps = $os.path.join($gmapsnpdir,$snpsname)
-#set $pathsnpsiit = $os.path.join($gmapsnpdir,$snpsiit)
-#if $dbsnp.snp_source != 'none' and $dbsnp.snps.__str__ != 'None':
-#if $dbsnp.snp_source == 'snpTable':
-#if $dbsnp.snpsex.__str__ != 'None':
-cat $dbsnp.snps | dbsnp_iit -w $dbsnp.weight -e $dbsnp.snpsex | iit_store -o $pathsnps
-#else:
-cat $dbsnp.snps | dbsnp_iit -w $dbsnp.weight | iit_store -o $pathsnps
-#end if
-#elif $dbsnp.snp_source == 'snpFile':
-cat $dbsnp.snps | iit_store -o $pathsnps
-#elif $dbsnp.snp_source == 'snpIIT':
-cat $dbsnp.snps  > $pathsnpsiit
-#end if
-snpindex -D $gmapdb -d $refname -V $output.extra_files_path -v $snpsname $pathsnpsiit
-echo snpindex -D  $gmapdb -d $refname -V $output.extra_files_path -v $snpsname $pathsnpsiit
-#end if
-    </configfile>
-  </configfiles>
-
-  <tests>
-  </tests> 
-
-  <help>
-
-
-**GMAP SNP Index**
-
-GMAP SNP Index (snpindex in the GMAP documentaion) creates an index for known SNPs allowing for SNP tolerant mapping and alignment when using GMAP_ (Genomic Mapping and Alignment Program for mRNA and EST sequences) and GSNAP_ (Genomic Short-read Nucleotide Alignment Program).  
-
-You will want to read the README_
-
-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/
-.. _GSNAP: http://research-pub.gene.com/gmap/
-.. _README: http://research-pub.gene.com/gmap/src/README
-.. _Publication: http://bioinformatics.oxfordjournals.org/cgi/content/full/21/9/1859
-
-
-  </help>
-</tool>
-
b
diff -r 93911bac43da -r 6adc485b6dc0 tool-data/datatypes_conf.xml
--- a/tool-data/datatypes_conf.xml Thu Jan 05 14:31:24 2012 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,24 +0,0 @@
-<?xml version="1.0"?>
-<datatypes>
-    <datatype_files>
-        <datatype_file name="gmap.py"/>
-    </datatype_files>
-    <registration>
-        <datatype extension="gmapdb" type="galaxy.datatypes.gmap:GmapDB" display_in_upload="False"/>
-        <datatype extension="gmapsnpindex" type="galaxy.datatypes.gmap:GmapSnpIndex" display_in_upload="False"/>
-        <datatype extension="iit" type="galaxy.datatypes.gmap:IntervalIndexTree" display_in_upload="True"/>
-        <datatype extension="splicesites.iit" type="galaxy.datatypes.gmap:SpliceSitesIntervalIndexTree" display_in_upload="True"/>
-        <datatype extension="introns.iit" type="galaxy.datatypes.gmap:IntronsIntervalIndexTree" display_in_upload="True"/>
-        <datatype extension="snps.iit" type="galaxy.datatypes.gmap:SNPsIntervalIndexTree" display_in_upload="True"/>
-        <datatype extension="gmap_annotation" type="galaxy.datatypes.gmap:IntervalAnnotation" display_in_upload="False"/>
-        <datatype extension="gmap_splicesites" type="galaxy.datatypes.gmap:SpliceSiteAnnotation" display_in_upload="True"/>
-        <datatype extension="gmap_introns" type="galaxy.datatypes.gmap:IntronAnnotation" display_in_upload="True"/>
-        <datatype extension="gmap_snps" type="galaxy.datatypes.gmap:SNPAnnotation" display_in_upload="True"/>
-    </registration>
-    <sniffers>
-        <sniffer type="galaxy.datatypes.gmap:IntervalAnnotation"/>
-        <sniffer type="galaxy.datatypes.gmap:SpliceSiteAnnotation"/>
-        <sniffer type="galaxy.datatypes.gmap:IntronAnnotation"/>
-        <sniffer type="galaxy.datatypes.gmap:SNPAnnotation"/>
-    </sniffers>
-</datatypes>
b
diff -r 93911bac43da -r 6adc485b6dc0 tool-data/gmap_indices.loc.sample
--- a/tool-data/gmap_indices.loc.sample Thu Jan 05 14:31:24 2012 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,10 +0,0 @@
-#This is a sample file distributed with Galaxy that enables tools
-#to use a directory of GMAPDB indexed sequences data files.  You will need
-#to create these data files using gmap_build and then create a gmap_indices.loc file 
-#similar to this one (store it in this directory) that points to 
-#the directories in which those files are stored. The gmap_indices.loc 
-#file has this format (white space characters are TAB characters):
-#
-#<unique_build_id>   <dbkey>   <display_name>   <kmers> <map,map>       <snp,snp>       <file_base_path>
-#hg18   hg18    hg18 (cmet atoi)        12,13,14,15     splicesites,introns     snps    /depot/data2/galaxy/gmap/hg18
-#hg19 hg19 hg19 (cmet atoi) 12,13,14,15 splicesites,introns,snps snps,dbsnp /depot/data2/galaxy/gmap/hg19
b
diff -r 93911bac43da -r 6adc485b6dc0 tool_dependencies.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_dependencies.xml Tue Jul 31 08:19:46 2012 -0400
b
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+<tool_dependency>
+    <package name="gmap" version="0.9.4_9696d0ce8a962f7bb61c4791be5ce44312b81cf8">
+        <install version="1.0">
+            <actions>
+                <action type="shell_command">wget http://research-pub.gene.com/gmap/src/gmap-gsnap-2011-11-30.tar.gz</action>
+                <action type="shell_command"> ./configure --prefix=bin --with-gmapdb=../gmapdb</action>
+                <action type="shell_command">make</action>
+                <action type="move_directory_files">
+                    <source_directory>bin</source_directory>
+                    <destination_directory>$INSTALL_DIR/bin</destination_directory>
+                </action>
+                <action type="set_environment">
+                    <environment_variable name="PATH" action="prepend_to">$INSTALL_DIR/bin</environment_variable>
+                </action>
+            </actions>
+        </install>
+        <readme>
+        </readme>
+    </package>
+</tool_dependency>