view bowtie_for_fasta-254d8bd5d21a/bowtie_for_fasta_wrapper.xml @ 0:c9d76b53903a draft

Uploaded
author qfab
date Wed, 19 Mar 2014 21:35:16 -0400
parents
children 89563c2b1f71
line wrap: on
line source

<tool id="bowtie_for_fasta_wrapper" name="Map with Bowtie for Fasta" version="1.1.2">
  <requirements>
    <requirement type='package' version="0.12.7">bowtie</requirement>
  </requirements>
  <description>Fasta File</description>
  <parallelism method="basic"></parallelism>
  <command interpreter="python">
  bowtie_for_fasta_wrapper.py
  ## Hackish setting of number of threads
    --threads="4"
  ## Output  
  #if str( $outformat) == "sam":
    -S "true"
    --output "${samoutput}"
  #else:
    -S "false"
    --output "${taboutput}"
  #end if


##    #if $output_unmapped_reads_l
##      --output_unmapped_reads="${output_unmapped_reads_l}"
##    #end if
##    #if $output_suppressed_reads_l
##      --output_suppressed_reads="${output_suppressed_reads_l}"
##    #end if
##      --galaxy_input_format="${singlePaired.sInput1.ext}"
  ## Inputs
  --dataType="solexa" ##this indicates that nucleotide base space is used in the wrapper
##  --suppressHeader="${suppressHeader}"
  --genomeSource="${refGenomeSource.genomeSource}"
  #if $refGenomeSource.genomeSource == "history":
    ##index already exists
    #if $refGenomeSource.ownFile.extension.startswith( 'bowtie_' ):
      ##user previously built
      --ref="${refGenomeSource.ownFile.extra_files_path}/${refGenomeSource.ownFile.metadata.base_name}"
      --do_not_build_index
    #else:
      ##build index on the fly
      --ref="${refGenomeSource.ownFile}"
      --indexSettings="${refGenomeSource.indexParams.indexSettings}"
      #if $refGenomeSource.indexParams.indexSettings == "indexFull":
        --iautoB="${refGenomeSource.indexParams.autoBehavior.autoB}"
        #if $refGenomeSource.indexParams.autoBehavior.autoB == "set":
          --ipacked="${refGenomeSource.indexParams.autoBehavior.packed}"
          --ibmax="${refGenomeSource.indexParams.autoBehavior.bmax}"
          --ibmaxdivn="${refGenomeSource.indexParams.autoBehavior.bmaxdivn}"
          --idcv="${refGenomeSource.indexParams.autoBehavior.dcv}"
        #end if
        --inodc="${refGenomeSource.indexParams.nodc}"
        --inoref="${refGenomeSource.indexParams.noref}"
        --ioffrate="${refGenomeSource.indexParams.offrate}"
        --iftab="${refGenomeSource.indexParams.ftab}"
        --intoa="${refGenomeSource.indexParams.ntoa}"
        --iendian="${refGenomeSource.indexParams.endian}"
        --iseed="${refGenomeSource.indexParams.seed}"
        --icutoff="${refGenomeSource.indexParams.cutoff}"
      #end if
    #end if
  #else
    ##use pre-built index
    --ref="${refGenomeSource.index.fields.path}"
  #end if
  --input1="${sInput1}"
  --params="${Params.sSettingsType}"
  --mismatchQual="${sMismatchQual}"
  --mismatchSeed="${sMismatchSeed}"
  --seedLen="${sSeedLen}"
  --suppressAlign="${sSuppressAlign}"
  --valAlign="${sValAlign}"
  #unless $Params.sSettingsType:
     --skip="${Params.sSkip}"
     --alignLimit="${Params.sAlignLimit}"
     --trimH="${Params.sTrimH}"
     --trimL="${Params.sTrimL}"
     --rounding="${Params.sRounding}"
     --maqSoapAlign="${Params.sMaqSoapAlign}"
     --tryHard="${Params.sTryHard}"
     --best="${Params.sBestOption.sBest}"
     #if $Params.sBestOption.sBest == "doBest":
       --maxBacktracks="${Params.sBestOption.sdMaxBacktracks}"
       --strata="${Params.sBestOption.sdStrata}"
     #else:
     --maxBacktracks="${Params.sBestOption.snMaxBacktracks}"
     #end if
     --offrate="${Params.sOffrate}"
     --seed="${Params.sSeed}"
  #end unless
  </command>
  <inputs>
    <conditional name="refGenomeSource">
      <param name="genomeSource" type="select" label="Will you select 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="history">Use one from the history</option>
      </param>
      <when value="indexed">
        <param name="index" type="select" label="Select a reference genome" help="if your genome of interest is not listed - contact Galaxy team">
          <options from_data_table="bowtie_indexes">
            <filter type="sort_by" column="2" />
            <validator type="no_options" message="No indexes are available" />
          </options>
        </param>
      </when>
      <when value="history">
        <param name="ownFile" type="data" format="bowtie_base_index,fasta" metadata_name="dbkey" label="Select the reference genome" />
        <conditional name="indexParams">
          <param name="indexSettings" type="select" label="Choose whether to use Default options for building indices or to Set your own" help="These settings are ignored when using a prebuilt index">
            <option value="indexPreSet">Default</option>
            <option value="indexFull">Set your own</option>
          </param> 
          <when value="indexPreSet" />
          <when value="indexFull">
            <conditional name="autoBehavior">
              <param name="autoB" type="select" label="Choose to use automatic or specified behavior for some parameters (-a)" help="Allows you to set --packed, --bmax, --bmaxdivn, and --dcv">
                <option value="auto">Automatic behavior</option>
                <option value="set">Set values (sets --noauto and allows others to be set)</option>
              </param>
              <when value="auto" />
              <when value="set">
                <param name="packed" type="select" label="Whether or not to use a packed representation for DNA strings (--packed)">
                  <option value="unpacked">Use regular representation</option>
                  <option value="packed">Use packed representation</option>
                </param>
                <param name="bmax" type="integer" value="-1" label="Maximum number of suffixes allowed in a block (--bmax)" help="-1 for not specified. Must be at least 1" />
                <param name="bmaxdivn" type="integer" value="4" label="Maximum number of suffixes allowed in a block as a fraction of the length of the reference (--bmaxdivn)" />
                <param name="dcv" type="integer" value="1024" label="The period for the difference-cover sample (--dcv)" />
              </when>
            </conditional>
            <param name="nodc" type="select" label="Whether or not to disable the use of the difference-cover sample (--nodc)" help="Suffix sorting becomes quadratic-time in the worst case (with a very repetitive reference)">
              <option value="dc">Use difference-cover sample</option>
              <option value="nodc">Disable difference-cover sample</option>
            </param>
            <param name="noref" type="select" label="Whether or not to build the part of the reference index used only in paired-end alignment (-r)">
              <option value="ref">Build all index files</option>
              <option value="noref">Do not build paired-end alignment index files</option>
            </param>
            <param name="offrate" type="integer" value="5" label="How many rows get marked during annotation of some or all of the Burrows-Wheeler rows (-o)" />
            <param name="ftab" type="integer" value="10" label="The size of the lookup table used to calculate an initial Burrows-Wheeler range with respect to the first n characters of the query (-t)" help="ftab is 4^(n+1) bytes" />
            <param name="ntoa" type="select" label="Whether or not to convert Ns in the reference sequence to As (--ntoa)">
              <option value="no">Do not convert Ns</option>
              <option value="yes">Convert Ns to As</option>
            </param>
            <param name="endian" type="select" label="Endianness to use when serializing integers to the index file (--big/--little)" help="Little is most appropriate for Intel- and AMD-based architecture">
              <option value="little">Little</option>
              <option value="big">Big</option>
            </param> 
            <param name="seed" type="integer" value="-1" label="Seed for the pseudorandom number generator (--seed)" help="Use -1 to use default" />
            <param name="cutoff" type="integer" value="-1" label="Number of first bases of the reference sequence to index (--cutoff)" help="Use -1 to use default" />
          </when>  <!-- indexFull -->
        </conditional>  <!-- indexParams -->
      </when>  <!-- history -->
    </conditional>  <!-- refGenomeSource -->
    <param name="sInput1" type="data" format="fasta" label="FASTA file" />
    <param name="sMismatchSeed" type="integer" value="2" label="Maximum number of mismatches permitted in the seed (-n)" help="May be 0, 1, 2, or 3" />
    <param name="sSuppressAlign" type="integer" value="-1" label="Suppress all alignments for a read if more than n reportable alignments exist (-m)" help="-1 for no limit" />
    <param name="sValAlign" type="integer" value="1" label="Report up to n valid alignments per read (-k)" />
    <param name="sSeedLen" type="integer" value="28" label="Seed length (-l)" help="Minimum value is 5" />
    <param name="sMismatchQual" type="integer" value="70" label="Maximum permitted total of quality values at mismatched read positions (-e)" />
    <param name="outformat" size="" type="select" label="Output format">
      <option value="tab">TABULAR</option>
      <option value="sam">SAM</option>
    </param>

    <conditional name="Params">
     <param name="sSettingsType" type="boolean" checked="true" label="Default settings to use" help="For most mapping needs use Commonly used settings. If you want full control uncheck this box"/>
    <when value="true"></when>
    <when value="false">
    <param name="sSkip" type="integer" value="0" label="Skip the first n reads (-s)" />
    <param name="sAlignLimit" type="integer" value="-1" label="Only align the first n reads (-u)" help="-1 for off" />
    <param name="sTrimH" type="integer" value="0" label="Trim n bases from high-quality (left) end of each read before alignment (-5)" />
    <param name="sTrimL" type="integer" value="0" label="Trim n bases from low-quality (right) end of each read before alignment (-3)" />
    <param name="sRounding" type="select" label="Whether or not to round to the nearest 10 and saturating at 30 (--nomaqround)">
	<option value="round">Round to nearest 10</option>
        <option value="noRound">Do not round to nearest 10</option>
    </param>
    <param name="sMaqSoapAlign" type="integer" value="-1" label="Number of mismatches for SOAP-like alignment policy (-v)" help="-1 for default MAQ-like alignment policy" />
    <param name="sTryHard" type="select" label="Whether or not to try as hard as possible to find valid alignments when they exist (-y)" help="Tryhard mode is much slower than regular mode">
      <option value="noTryHard">Do not try hard</option>
      <option value="doTryHard">Try hard</option>
    </param>
    <param name="sAllValAligns" type="select" label="Whether or not to report all valid alignments per read (-a)">
      <option value="noAllValAligns">Do not report all valid alignments</option>
      <option value="doAllValAligns">Report all valid alignments</option>
    </param>
    <param name="sMaxFile" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write all reads with a number of valid alignments exceeding the limit set with the -m option to a file (--max)" />
    <param name="sUnmappedFile" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write all reads that could not be aligned to a file (--un)" />
      <conditional name="sBestOption">
        <param name="sBest" type="select" label="Whether or not to make Bowtie guarantee that reported singleton alignments are 'best' in terms of stratum and in terms of the quality values at the mismatched positions (--best)" help="Removes all strand bias. Only affects which alignments are reported by Bowtie. Runs slower with best option">
        <option value="noBest">Do not use best</option>
        <option value="doBest">Use best</option>
        </param>
        <when value="noBest">
          <param name="snMaxBacktracks" type="integer" value="125" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
        </when>
        <when value="doBest">
          <param name="sdMaxBacktracks" type="integer" value="800" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
          <param name="sdStrata" type="select" label="Whether or not to report only those alignments that fall in the best stratum if many valid alignments exist and are reportable (--strata)">
          <option value="noStrata">Do not use strata option</option>
          <option value="doStrata">Use strata option</option>
          </param>
        </when>
      </conditional> <!-- bestOption -->
      <param name="sOffrate" type="integer" value="-1" label="Override the offrate of the index to n (-o)" help="-1 for default" />
      <param name="sSeed" type="integer" value="-1" label="Seed for pseudo-random number generator (--seed)" help="-1 for default" />
      </when> <!-- full -->
    </conditional>
  </inputs>
  <outputs>        
    <data format="sam" name="samoutput" label="${tool.name} on ${on_string}: SAM">
    <filter>outformat == "sam"</filter>
      <actions>
        <conditional name="refGenomeSource.genomeSource">
          <when value="indexed">
            <action type="metadata" name="dbkey">
              <option type="from_data_table" name="bowtie_indexes" column="1" offset="0">
                <filter type="param_value" column="0" value="#" compare="startswith" keep="False"/>
                <filter type="param_value" ref="refGenomeSource.index" column="0"/>
              </option>
            </action>
          </when>
          <when value="history">
            <action type="metadata" name="dbkey">
              <option type="from_param" name="refGenomeSource.ownFile" param_attribute="dbkey" />
            </action>
          </when>
        </conditional>
      </actions>
    </data>
    <data format="tabular" name="taboutput" label="${tool.name} on ${on_string}: TAB">
    <filter>outformat == "tab"</filter>
        <conditional name="refGenomeSource.genomeSource">
          <when value="indexed">
            <action type="metadata" name="dbkey">
              <option type="from_data_table" name="bowtie_indexes" column="1" offset="0">
                <filter type="param_value" column="0" value="#" compare="startswith" keep="False"/>
                <filter type="param_value" ref="refGenomeSource.index" column="0"/>
              </option>
            </action>
          </when>
          <when value="history">
            <action type="metadata" name="dbkey">
              <option type="from_param" name="refGenomeSource.ownFile" param_attribute="dbkey" />
            </action>
          </when>
        </conditional>
    </data>
  </outputs>
</tool>