changeset 4:df86f29bedee draft

planemo upload commit 00a7926c285bc4a339bd7deebf40b28f39c7d947-dirty
author devteam
date Tue, 21 Jul 2015 13:04:45 -0400
parents 9ca609a2a421
children 306077e393d4
files bowtie_wrapper.py bowtie_wrapper.xml tool_dependencies.xml
diffstat 3 files changed, 221 insertions(+), 136 deletions(-) [+]
line wrap: on
line diff
--- a/bowtie_wrapper.py	Fri Feb 21 12:40:39 2014 -0500
+++ b/bowtie_wrapper.py	Tue Jul 21 13:04:45 2015 -0400
@@ -27,10 +27,10 @@
     -M, --mismatchQual=M: Maximum permitted total of quality values at mismatched read positions
     -l, --seedLen=l: Seed length
     -n, --rounding=n: Whether or not to round to the nearest 10 and saturating at 30
-    -P, --maqSoapAlign=P: Choose MAQ- or SOAP-like alignment policy
+    -P, --maxMismatches=P: Maximum number of mismatches for -v alignment mode
     -w, --tryHard=: Whether or not to try as hard as possible to find valid alignments when they exist
-    -v, --valAlign=v: Report up to n valid arguments per read
-    -V, --allValAligns=V: Whether or not to report all valid alignments per read
+    -V, --allValAligns=V: Whether or not to report all valid alignments per read or pair
+    -v, --valAlign=v: Report up to n valid alignments per read or pair
     -G, --suppressAlign=G: Suppress all alignments for a read if more than n reportable alignments exist
     -b, --best=b: 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
     -B, --maxBacktracks=B: Maximum number of backtracks permitted when aligning a read
@@ -59,7 +59,6 @@
     -X, --intoa=X: Whether or not to convert Ns in the reference sequence to As
     -N, --iendian=N: Endianness to use when serializing integers to the index file
     -Z, --iseed=Z: Seed for the pseudorandom number generator
-    -c, --icutoff=c: Number of first bases of the reference sequence to index
     -x, --indexSettings=x: Whether or not indexing options are to be set
     -H, --suppressHeader=H: Suppress header
     --do_not_build_index: Flag to specify that provided file is already indexed and to just use 'as is'
@@ -101,10 +100,10 @@
     parser.add_option( '-M', '--mismatchQual', dest='mismatchQual', help='Maximum permitted total of quality values at mismatched read positions' )
     parser.add_option( '-l', '--seedLen', dest='seedLen', help='Seed length' )
     parser.add_option( '-n', '--rounding', dest='rounding', help='Whether or not to round to the nearest 10 and saturating at 30' )
-    parser.add_option( '-P', '--maqSoapAlign', dest='maqSoapAlign', help='Choose MAQ- or SOAP-like alignment policy' )
+    parser.add_option( '-P', '--maxMismatches', dest='maxMismatches', help='Maximum number of mismatches for -v alignment mode' )
     parser.add_option( '-w', '--tryHard', dest='tryHard', help='Whether or not to try as hard as possible to find valid alignments when they exist' )
-    parser.add_option( '-v', '--valAlign', dest='valAlign', help='Report up to n valid arguments per read' )
-    parser.add_option( '-V', '--allValAligns', dest='allValAligns', help='Whether or not to report all valid alignments per read' )
+    parser.add_option( '-V', '--allValAligns', dest='allValAligns', help='Whether or not to report all valid alignments per read or pair' )
+    parser.add_option( '-v', '--valAlign', dest='valAlign', help='Report up to n valid alignments per read or pair' )
     parser.add_option( '-G', '--suppressAlign', dest='suppressAlign', help='Suppress all alignments for a read if more than n reportable alignments exist' )
     parser.add_option( '-b', '--best', dest='best', help="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" )
     parser.add_option( '-B', '--maxBacktracks', dest='maxBacktracks', help='Maximum number of backtracks permitted when aligning a read' )
@@ -133,12 +132,13 @@
     parser.add_option( '-X', '--intoa', dest='intoa', help='Whether or not to convert Ns in the reference sequence to As' )
     parser.add_option( '-N', '--iendian', dest='iendian', help='Endianness to use when serializing integers to the index file' )
     parser.add_option( '-Z', '--iseed', dest='iseed', help='Seed for the pseudorandom number generator' )
-    parser.add_option( '-c', '--icutoff', dest='icutoff', help='Number of first bases of the reference sequence to index' )
     parser.add_option( '-x', '--indexSettings', dest='index_settings', help='Whether or not indexing options are to be set' )
     parser.add_option( '-H', '--suppressHeader', dest='suppressHeader', help='Suppress header' )
     parser.add_option( '--galaxy_input_format', dest='galaxy_input_format', default="fastqsanger", help='galaxy input format' )
     parser.add_option( '--do_not_build_index', dest='do_not_build_index', action="store_true", default=False, help='Flag to specify that provided file is already indexed, use as is' )
     (options, args) = parser.parse_args()
+    if options.mismatchSeed and options.maxMismatches:
+        parser.error("options --mismatchSeed and --maxMismatches are mutually exclusive")
     stdout = ''
 
     # make temp directory for placement of indices and copy reference file there if necessary
@@ -159,19 +159,19 @@
                     iautoB = '--noauto'
                 else:
                     iautoB = ''
-                if options. ipacked and options.ipacked == 'packed':
+                if options.ipacked and options.ipacked == 'packed':
                     ipacked = '--packed'
                 else:
                     ipacked = ''
                 if options.ibmax and int( options.ibmax ) >= 1:
-                    ibmax = '--bmax %s' % options.ibmax 
+                    ibmax = '--bmax %s' % options.ibmax
                 else:
                     ibmax = ''
                 if options.ibmaxdivn and int( options.ibmaxdivn ) >= 0:
                     ibmaxdivn = '--bmaxdivn %s' % options.ibmaxdivn
                 else:
                     ibmaxdivn = ''
-                if options.idcv and int( options.idcv ) > 0:
+                if options.idcv and int( options.idcv ) >= 3:
                     idcv = '--dcv %s' % options.idcv
                 else:
                     idcv = ''
@@ -183,7 +183,7 @@
                     inoref = '--noref'
                 else:
                     inoref = ''
-                if options.iftab and int( options.iftab ) >= 0:
+                if options.iftab and int( options.iftab ) >= 1:
                     iftab = '--ftabchars %s' % options.iftab
                 else:
                     iftab = ''
@@ -199,14 +199,10 @@
                     iseed = '--seed %s' % options.iseed
                 else:
                     iseed = ''
-                if options.icutoff and int( options.icutoff ) > 0:
-                    icutoff = '--cutoff %s' % options.icutoff
-                else:
-                    icutoff = ''
-                indexing_cmds = '%s %s %s %s %s %s %s --offrate %s %s %s %s %s %s %s' % \
-                                ( iautoB, ipacked, ibmax, ibmaxdivn, idcv, inodc, 
-                                  inoref, options.ioffrate, iftab, intoa, iendian, 
-                                  iseed, icutoff, colorspace )
+                indexing_cmds = '%s %s %s %s %s %s %s --offrate %s %s %s %s %s %s' % \
+                                ( iautoB, ipacked, ibmax, ibmaxdivn, idcv, inodc,
+                                  inoref, options.ioffrate, iftab, intoa, iendian,
+                                  iseed, colorspace )
             except ValueError, e:
                 # clean up temp dir
                 if os.path.exists( tmp_index_dir ):
@@ -283,16 +279,17 @@
                 trimL = '-3 %s' % options.trimL
             else:
                 trimL = ''
-            if options.maqSoapAlign != '-1' and int( options.maqSoapAlign ) >= 0:
-                maqSoapAlign = '-v %s' % options.maqSoapAlign
+            if options.maxMismatches and (options.maxMismatches == '0' or options.maxMismatches == '1' \
+                        or options.maxMismatches == '2' or options.maxMismatches == '3'):
+                maxMismatches = '-v %s' % options.maxMismatches
             else:
-                maqSoapAlign = ''
+                maxMismatches = ''
             if options.mismatchSeed and (options.mismatchSeed == '0' or options.mismatchSeed == '1' \
                         or options.mismatchSeed == '2' or options.mismatchSeed == '3'):
                 mismatchSeed = '-n %s' % options.mismatchSeed
             else:
                 mismatchSeed = ''
-            if options.mismatchQual and int( options.mismatchQual ) >= 0:
+            if options.mismatchQual and int( options.mismatchQual ) >= 1:
                 mismatchQual = '-e %s' % options.mismatchQual
             else:
                 mismatchQual = ''
@@ -395,8 +392,8 @@
             aligning_cmds = '-q %s %s -p %s -S %s %s %s %s %s %s %s %s %s %s %s %s ' \
                             '%s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s ' % \
                             ( maxInsert, mateOrient, options.threads, suppressHeader,
-                              colorspace, skip, alignLimit, trimH, trimL, maqSoapAlign,
-                              mismatchSeed, mismatchQual, seedLen, rounding, minInsert, 
+                              colorspace, skip, alignLimit, trimH, trimL, maxMismatches,
+                              mismatchSeed, mismatchQual, seedLen, rounding, minInsert,
                               maxAlignAttempt, forwardAlign, reverseAlign, maxBacktracks,
                               tryHard, valAlign, allValAligns, suppressAlign, best,
                               strata, offrate, seed, snpphred, snpfrac, keepends,
@@ -466,4 +463,5 @@
     stdout += 'Sequence file aligned.\n'
     sys.stdout.write( stdout )
 
-if __name__=="__main__": __main__()
+if __name__ == "__main__":
+    __main__()
--- a/bowtie_wrapper.xml	Fri Feb 21 12:40:39 2014 -0500
+++ b/bowtie_wrapper.xml	Tue Jul 21 13:04:45 2015 -0400
@@ -1,9 +1,9 @@
-<tool id="bowtie_wrapper" name="Map with Bowtie for Illumina" version="1.1.2">
+<tool id="bowtie_wrapper" name="Map with Bowtie for Illumina" version="1.1.3">
   <requirements>
-    <requirement type='package' version="0.12.7">bowtie</requirement>
+    <requirement type="package" version="0.12.7">bowtie</requirement>
   </requirements>
   <description></description>
-  <parallelism method="basic"></parallelism>
+  <version_command>bowtie --version</version_command>
   <command interpreter="python">
     bowtie_wrapper.py
       ## Set number of threads
@@ -58,7 +58,6 @@
             --intoa="${refGenomeSource.indexParams.ntoa}"
             --iendian="${refGenomeSource.indexParams.endian}"
             --iseed="${refGenomeSource.indexParams.seed}"
-            --icutoff="${refGenomeSource.indexParams.cutoff}"
           #end if
         #end if
       #else
@@ -74,21 +73,32 @@
           --alignLimit="${singlePaired.sParams.sAlignLimit}"
           --trimH="${singlePaired.sParams.sTrimH}"
           --trimL="${singlePaired.sParams.sTrimL}"
-          --mismatchSeed="${singlePaired.sParams.sMismatchSeed}"
-          --mismatchQual="${singlePaired.sParams.sMismatchQual}"
-          --seedLen="${singlePaired.sParams.sSeedLen}"
-          --rounding="${singlePaired.sParams.sRounding}"
-          --maqSoapAlign="${singlePaired.sParams.sMaqSoapAlign}"
-          --tryHard="${singlePaired.sParams.sTryHard}"
-          --valAlign="${singlePaired.sParams.sValAlign}"
-          --allValAligns="${singlePaired.sParams.sAllValAligns}"
+          #if $singlePaired.sParams.alignModeOption.alignMode == 'nMode'
+            --mismatchSeed="${singlePaired.sParams.alignModeOption.sMismatchSeed}"
+            --mismatchQual="${singlePaired.sParams.alignModeOption.sMismatchQual}"
+            --seedLen="${singlePaired.sParams.alignModeOption.sSeedLen}"
+            --rounding="${singlePaired.sParams.alignModeOption.sRounding}"
+          #else
+            --maxMismatches="${singlePaired.sParams.alignModeOption.maxMismatches}"
+          #end if
+          --forwardAlign="${singlePaired.sParams.sForwardAlign}"
+          --reverseAlign="${singlePaired.sParams.sReverseAlign}"
+          --tryHard="${singlePaired.sParams.sBestOption.sTryHardOption.sTryHard}"
+          --allValAligns="${singlePaired.sParams.sAllValAlignsOption.sAllValAligns}"
+          #if $singlePaired.sParams.sAllValAlignsOption.sAllValAligns == "noAllValAligns"
+            --valAlign="${singlePaired.sParams.sAllValAlignsOption.sValAlign}"
+          #end if
           --suppressAlign="${singlePaired.sParams.sSuppressAlign}"
           --best="${singlePaired.sParams.sBestOption.sBest}"
           #if $singlePaired.sParams.sBestOption.sBest == "doBest":
-            --maxBacktracks="${singlePaired.sParams.sBestOption.sdMaxBacktracks}"
             --strata="${singlePaired.sParams.sBestOption.sdStrata}"
+            #if $singlePaired.sParams.sBestOption.sTryHardOption.sTryHard == "noTryHard"
+              --maxBacktracks="${singlePaired.sParams.sBestOption.sTryHardOption.sdMaxBacktracks}"
+            #end if
           #else:
-            --maxBacktracks="${singlePaired.sParams.sBestOption.snMaxBacktracks}"
+            #if $singlePaired.sParams.sBestOption.sTryHardOption.sTryHard == "noTryHard"
+              --maxBacktracks="${singlePaired.sParams.sBestOption.sTryHardOption.snMaxBacktracks}"
+            #end if
           #end if
           --offrate="${singlePaired.sParams.sOffrate}"
           --seed="${singlePaired.sParams.sSeed}"
@@ -104,25 +114,35 @@
           --alignLimit="${singlePaired.pParams.pAlignLimit}"
           --trimH="${singlePaired.pParams.pTrimH}"
           --trimL="${singlePaired.pParams.pTrimL}"
-          --mismatchSeed="${singlePaired.pParams.pMismatchSeed}"
-          --mismatchQual="${singlePaired.pParams.pMismatchQual}"
-          --seedLen="${singlePaired.pParams.pSeedLen}"
-          --rounding="${singlePaired.pParams.pRounding}"
-          --maqSoapAlign="${singlePaired.pParams.pMaqSoapAlign}"
+          #if $singlePaired.pParams.alignModeOption.alignMode == 'nMode'
+            --mismatchSeed="${singlePaired.pParams.alignModeOption.pMismatchSeed}"
+            --mismatchQual="${singlePaired.pParams.alignModeOption.pMismatchQual}"
+            --seedLen="${singlePaired.pParams.alignModeOption.pSeedLen}"
+            --rounding="${singlePaired.pParams.alignModeOption.pRounding}"
+          #else
+            --maxMismatches="${singlePaired.pParams.alignModeOption.maxMismatches}"
+          #end if
           --minInsert="${singlePaired.pParams.pMinInsert}"
-          --maxAlignAttempt="${singlePaired.pParams.pMaxAlignAttempt}"
           --forwardAlign="${singlePaired.pParams.pForwardAlign}"
           --reverseAlign="${singlePaired.pParams.pReverseAlign}"
-          --tryHard="${singlePaired.pParams.pTryHard}"
-          --valAlign="${singlePaired.pParams.pValAlign}"
-          --allValAligns="${singlePaired.pParams.pAllValAligns}"
+          --tryHard="${singlePaired.pParams.pBestOption.pTryHardOption.pTryHard}"
+          --allValAligns="${singlePaired.pParams.pAllValAlignsOption.pAllValAligns}"
+          #if $singlePaired.pParams.pAllValAlignsOption.pAllValAligns == "noAllValAligns"
+            --valAlign="${singlePaired.pParams.pAllValAlignsOption.pValAlign}"
+          #end if
           --suppressAlign="${singlePaired.pParams.pSuppressAlign}"
           --best="${singlePaired.pParams.pBestOption.pBest}"
           #if $singlePaired.pParams.pBestOption.pBest == "doBest":
-            --maxBacktracks="${singlePaired.pParams.pBestOption.pdMaxBacktracks}"
             --strata="${singlePaired.pParams.pBestOption.pdStrata}"
+            #if $singlePaired.pParams.pBestOption.pTryHardOption.pTryHard == "noTryHard"
+              --maxAlignAttempt="${singlePaired.pParams.pBestOption.pTryHardOption.pMaxAlignAttempt}"
+              --maxBacktracks="${singlePaired.pParams.pBestOption.pTryHardOption.pdMaxBacktracks}"
+            #end if
           #else:
-            --maxBacktracks="${singlePaired.pParams.pBestOption.pnMaxBacktracks}"
+            #if $singlePaired.pParams.pBestOption.pTryHardOption.pTryHard == "noTryHard"
+              --maxAlignAttempt="${singlePaired.pParams.pBestOption.pTryHardOption.pMaxAlignAttempt}"
+              --maxBacktracks="${singlePaired.pParams.pBestOption.pTryHardOption.pnMaxBacktracks}"
+            #end if
           #end if
           --offrate="${singlePaired.pParams.pOffrate}"
           --seed="${singlePaired.pParams.pSeed}"
@@ -149,7 +169,7 @@
           <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> 
+          </param>
           <when value="indexPreSet" />
           <when value="indexFull">
             <conditional name="autoBehavior">
@@ -159,13 +179,13 @@
               </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)">
+                <param name="packed" type="select" label="Whether or not to use a packed representation for DNA strings (--packed)" help="Packed representation saves memory but makes indexing 2-3 times slower">
                   <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)" />
+                <param name="dcv" type="integer" value="1024" min="3" label="The period for the difference-cover sample (--dcv)" help="A larger period yields less memory overhead, but may make suffix sorting slower, especially if repeats are present" />
               </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)">
@@ -176,8 +196,8 @@
               <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="offrate" type="integer" value="5" min="0" label="The indexer will mark every 2^n Burrows-Wheeler rows with their corresponding location on the genome (-o)" help="Marking more rows makes reference-position lookups faster, but requires more memory to hold the annotations at runtime" />
+            <param name="ftab" type="integer" value="10" min="1" label="The size of the ftab lookup table used to calculate an initial Burrows-Wheeler range with respect to the first n characters of the query (-t)" help="ftab size 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>
@@ -185,9 +205,8 @@
             <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>
             <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 -->
@@ -203,49 +222,86 @@
           <param name="sSettingsType" type="select" label="Bowtie settings to use" help="For most mapping needs use Commonly used settings. If you want full control use Full parameter list">
             <option value="preSet">Commonly used</option>
             <option value="full">Full parameter list</option>
-            </param>
+          </param>
           <when value="preSet" />
           <when value="full">
-            <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="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="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="sMismatchQual" type="integer" value="70" label="Maximum permitted total of quality values at mismatched read positions (-e)" />
-            <param name="sSeedLen" type="integer" value="28" label="Seed length (-l)" help="Minimum value is 5" />
-            <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>
+            <conditional name="alignModeOption">
+              <param name="alignMode" type="select" label="Alignment mode">
+                <option value="nMode">Maq-like: quality-aware, limit mismatches in seed (-n)</option>
+                <option value="vMode">ignore qualities, limit end-to-end mismatches (-v)</option>
+              </param>
+              <when value="nMode">
+                <param name="sMismatchSeed" type="integer" value="2" min="0" max="3" label="Maximum number of mismatches permitted in the seed (-n)" help="May be 0, 1, 2, or 3" />
+                <param name="sMismatchQual" type="integer" value="70" min="1" label="Maximum permitted total of quality values at all mismatched read positions (-e)" />
+                <param name="sSeedLen" type="integer" value="28" min="5" label="Seed length (-l)" help="Minimum value is 5" />
+                <param name="sRounding" type="select" label="Whether or not to round to the nearest 10 and saturating at 30 (--nomaqround)" help="Maq accepts quality values in the Phred quality scale, but internally rounds values to the nearest 10, with a maximum of 30. By default, bowtie also rounds this way">
+                  <option value="round">Round to nearest 10</option>
+                  <option value="noRound">Do not round to nearest 10</option>
+                </param>
+              </when>
+              <when value="vMode">
+                <param name="maxMismatches" type="integer" value="" min="0" max="3" label="Maximum number of mismatches (-v)" help="May be 0, 1, 2, or 3" />
+              </when>
+            </conditional>
+            <param name="sForwardAlign" type="select" label="Choose whether or not to attempt to align against the forward reference strand (--nofw)">
+              <option value="forward">Align against the forward reference strand</option>
+              <option value="noForward">Do not align against the forward reference strand</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 name="sReverseAlign" type="select" label="Choose whether or not to attempt to align against the reverse-complement reference strand (--norc)">
+              <option value="reverse">Align against the reverse-complement reference strand</option>
+              <option value="noReverse">Do not align against the reverse-complement reference strand</option>
             </param>
-            <param name="sValAlign" type="integer" value="1" label="Report up to n valid alignments per read (-k)" />
-            <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="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="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)" />
+                <conditional name="sTryHardOption">
+                  <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>
+                  <when value="noTryHard">
+                    <param name="snMaxBacktracks" type="integer" value="125" min="0" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
+                  </when>
+                  <when value="doTryHard" />
+                </conditional>
               </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>
+                <conditional name="sTryHardOption">
+                  <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>
+                  <when value="noTryHard">
+                    <param name="sdMaxBacktracks" type="integer" value="800" min="0" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
+                  </when>
+                  <when value="doTryHard" />
+                </conditional>
               </when>
             </conditional> <!-- bestOption -->
+            <conditional name="sAllValAlignsOption">
+              <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>
+              <when value="noAllValAligns">
+                <param name="sValAlign" type="integer" value="1" min="1" label="Report up to n valid alignments per read (-k)" />
+              </when>
+              <when value="doAllValAligns" />
+            </conditional>
+            <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="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)" />
             <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 -->
@@ -257,7 +313,7 @@
             <options options_filter_attribute="ext" from_parameter="tool.app.datatypes_registry.datatypes_by_extension" transform_lines="obj.keys()">>
                <column name="name" index="0"/>
                <column name="value" index="0"/>
-               <filter type="param_value" ref="pInput1" ref_attribute="ext" column="0"/> 
+               <filter type="param_value" ref="pInput1" ref_attribute="ext" column="0"/>
            </options>
         </param>
         <param name="pMaxInsert" type="integer" value="1000" label="Maximum insert size for valid paired-end alignments (-X)" />
@@ -273,63 +329,93 @@
           </param>
           <when value="preSet" />
           <when value="full">
-            <param name="pSkip" type="integer" value="0" label="Skip the first n pairs (-s)" />  
-            <param name="pAlignLimit" type="integer" value="-1" label="Only align the first n pairs (-u)" help="-1 for off" />  
+            <param name="pSkip" type="integer" value="0" label="Skip the first n pairs (-s)" />
+            <param name="pAlignLimit" type="integer" value="-1" label="Only align the first n pairs (-u)" help="-1 for off" />
             <param name="pTrimH" type="integer" value="0" label="Trim n bases from high-quality (left) end of each read before alignment (-5)" />
             <param name="pTrimL" type="integer" value="0" label="Trim n bases from low-quality (right) end of each read before alignment (-3)" />
-            <param name="pMismatchSeed" type="integer" value="2" label="Maximum number of mismatches permitted in the seed (-n)" help="May be 0, 1, 2, or 3" />
-            <param name="pMismatchQual" type="integer" value="70" label="Maximum permitted total of quality values at mismatched read positions (-e)" />
-            <param name="pSeedLen" type="integer" value="28" label="Seed length (-l)" help="Minimum value is 5" />
-            <param name="pRounding" 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="pMaqSoapAlign" type="integer" value="-1" label="Number of mismatches for SOAP-like alignment policy (-v)" help="-1 for default MAQ-like alignment policy" />
+            <conditional name="alignModeOption">
+              <param name="alignMode" type="select" label="Alignment mode">
+                <option value="nMode">Maq-like: quality-aware, limit mismatches in seed (-n)</option>
+                <option value="vMode">ignore qualities, limit end-to-end mismatches (-v)</option>
+              </param>
+              <when value="nMode">
+                <param name="pMismatchSeed" type="integer" value="2" min="0" max="3" label="Maximum number of mismatches permitted in the seed (-n)" help="May be 0, 1, 2, or 3" />
+                <param name="pMismatchQual" type="integer" value="70" min="1" label="Maximum permitted total of quality values at all mismatched read positions (-e)" />
+                <param name="pSeedLen" type="integer" value="28" min="5" label="Seed length (-l)" help="Minimum value is 5" />
+                <param name="pRounding" type="select" label="Whether or not to round to the nearest 10 and saturating at 30 (--nomaqround)" help="Maq accepts quality values in the Phred quality scale, but internally rounds values to the nearest 10, with a maximum of 30. By default, bowtie also rounds this way">
+                  <option value="round">Round to nearest 10</option>
+                  <option value="noRound">Do not round to nearest 10</option>
+                </param>
+              </when>
+              <when value="vMode">
+                <param name="maxMismatches" type="integer" value="" min="0" max="3" label="Maximum number of mismatches (-v)" help="May be 0, 1, 2, or 3" />
+              </when>
+            </conditional>
             <param name="pMinInsert" type="integer" value="0" label="Minimum insert size for valid paired-end alignments (-I)" />
-            <param name="pMaxAlignAttempt" type="integer" value="100" label="Maximum number of attempts Bowtie will make to match an alignment for one mate with an alignment for the opposite mate (--pairtries)" />
-            <param name="pForwardAlign" type="select" label="Choose whether or not to attempt to align the forward reference strand (--nofw)">
+            <param name="pForwardAlign" type="select" label="Choose whether or not to attempt to align against the forward reference strand (--nofw)">
               <option value="forward">Align against the forward reference strand</option>
               <option value="noForward">Do not align against the forward reference strand</option>
             </param>
-            <param name="pReverseAlign" type="select" label="Choose whether or not to align against the reverse-complement reference strand (--norc)">
+            <param name="pReverseAlign" type="select" label="Choose whether or not to attempt to align against the reverse-complement reference strand (--norc)">
               <option value="reverse">Align against the reverse-complement reference strand</option>
               <option value="noReverse">Do not align against the reverse-complement reference strand</option>
             </param>
-            <param name="pTryHard" 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="pValAlign" type="integer" value="1" label="Report up to n valid arguments per pair (-k)" />
-            <param name="pAllValAligns" type="select" label="Whether or not to report all valid alignments per pair (-a)">
-              <option value="noAllValAligns">Do not report all valid alignments</option>
-              <option value="doAllValAligns">Report all valid alignments</option>
-            </param>
-            <param name="pSuppressAlign" type="integer" value="-1" label="Suppress all alignments for a pair if more than n reportable alignments exist (-m)" help="-1 for no limit" />
-            <param name="pMaxFile" 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="pUnmappedFile" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write all reads that could not be aligned to a file (--un)" />
             <conditional name="pBestOption">
               <param name="pBest" 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="pnMaxBacktracks" type="integer" value="125" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
+                <conditional name="pTryHardOption">
+                  <param name="pTryHard" 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>
+                  <when value="noTryHard">
+                    <param name="pMaxAlignAttempt" type="integer" value="100" min="1" label="Maximum number of attempts Bowtie will make to match an alignment for one mate with an alignment for the opposite mate (--pairtries)" />
+                    <param name="pnMaxBacktracks" type="integer" value="125" min="0" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
+                  </when>
+                  <when value="doTryHard" />
+                </conditional>
               </when>
               <when value="doBest">
-                <param name="pdMaxBacktracks" type="integer" value="800" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
                 <param name="pdStrata" 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>
+                <conditional name="pTryHardOption">
+                  <param name="pTryHard" 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>
+                  <when value="noTryHard">
+                    <param name="pMaxAlignAttempt" type="integer" value="100" min="1" label="Maximum number of attempts Bowtie will make to match an alignment for one mate with an alignment for the opposite mate (--pairtries)" />
+                    <param name="pdMaxBacktracks" type="integer" value="800" min="0" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" />
+                  </when>
+                  <when value="doTryHard" />
+                </conditional>
               </when>
             </conditional>
+            <conditional name="pAllValAlignsOption">
+              <param name="pAllValAligns" type="select" label="Whether or not to report all valid alignments per pair (-a)">
+                <option value="noAllValAligns">Do not report all valid alignments</option>
+                <option value="doAllValAligns">Report all valid alignments</option>
+              </param>
+              <when value="noAllValAligns">
+                <param name="pValAlign" type="integer" value="1" min="1" label="Report up to n valid alignments per pair (-k)" />
+              </when>
+              <when value="doAllValAligns" />
+            </conditional>
+            <param name="pSuppressAlign" type="integer" value="-1" label="Suppress all alignments for a pair if more than n reportable alignments exist (-m)" help="-1 for no limit" />
+            <param name="pMaxFile" 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="pUnmappedFile" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write all reads that could not be aligned to a file (--un)" />
             <param name="pOffrate" type="integer" value="-1" label="Override the offrate of the index to n (-o)" help="-1 for default" />
             <param name="pSeed" type="integer" value="-1" label="Seed for pseudo-random number generator (--seed)" help="-1 for default" />
           </when> <!-- full -->
         </conditional> <!-- pParams -->
       </when> <!-- paired -->
     </conditional> <!-- singlePaired -->
-    <param name="suppressHeader" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Suppress the header in the output SAM file" help="Bowtie produces SAM with several lines of header information by default" />
+    <param name="suppressHeader" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Suppress the header in the output SAM file (--sam-nohead)" help="Bowtie produces SAM with several lines of header information by default" />
   </inputs>
   <outputs>
     <data format="sam" name="output" label="${tool.name} on ${on_string}: mapped reads">
@@ -449,7 +535,7 @@
       Bowtie command:
       bowtie -q -p 4 -S +sam-nohead chrM_base test-data/bowtie_in2.fastqsanger > bowtie_out6_u.sam
       sort bowtie_out6_u.sam > bowtie_out6.sam
-      -p is the number of threads. You need to replace the + with 2 dashes. 
+      -p is the number of threads. You need to replace the + with 2 dashes.
       chrM_base needs to be the base location/name of the index files.
       -->
       <param name="genomeSource" value="indexed" />
@@ -472,7 +558,7 @@
       Then also need to modify bowtie_out8_1.sam and bowtie_out8_2.sam so that all @ lines come before sequence lines.
       -p is the number of threads. You need to replace the + with 2 dashes.
       The two unmapped output files will be named bowtie_out8_1.fastq and bowtie_out8_2.fastq.
-      chrM_base is the index files' location/base name. 
+      chrM_base is the index files' location/base name.
       -->
       <param name="genomeSource" value="history" />
       <param name="ownFile" value="phiX.fasta" />
@@ -487,11 +573,11 @@
       <param name="pAlignLimit" value="-1" />
       <param name="pTrimH" value="0" />
       <param name="pTrimL" value="0" />
+      <param name="alignMode" value="nMode" />
       <param name="pMismatchSeed" value="2" />
       <param name="pMismatchQual" value="70" />
       <param name="pSeedLen" value="28" />
       <param name="pRounding" value="round" />
-      <param name="pMaqSoapAlign" value="-1" />
       <param name="pMinInsert" value="0" />
       <param name="pMaxAlignAttempt" value="100" />
       <param name="pForwardAlign" value="forward" />
@@ -527,11 +613,11 @@
       <param name="pAlignLimit" value="-1" />
       <param name="pTrimH" value="0" />
       <param name="pTrimL" value="0" />
+      <param name="alignMode" value="nMode" />
       <param name="pMismatchSeed" value="2" />
       <param name="pMismatchQual" value="70" />
       <param name="pSeedLen" value="28" />
       <param name="pRounding" value="round" />
-      <param name="pMaqSoapAlign" value="-1" />
       <param name="pMinInsert" value="0" />
       <param name="pMaxAlignAttempt" value="100" />
       <param name="pForwardAlign" value="forward" />
@@ -549,8 +635,8 @@
       <param name="pSeed" value="-1" />
       <param name="suppressHeader" value="true" />
       <output name="output" ftype="sam" file="bowtie_out7.sam" sort="True" />
-      <output name="output_unmapped_reads_l" ftype="fastqillumna" file="bowtie_out8_1.fastqillumina.sorted" sort="True" />
-      <output name="output_unmapped_reads_r" ftype="fastqillumna" file="bowtie_out8_2.fastqillumina.sorted" sort="True" />
+      <output name="output_unmapped_reads_l" ftype="fastqillumina" file="bowtie_out8_1.fastqillumina.sorted" sort="True" />
+      <output name="output_unmapped_reads_r" ftype="fastqillumina" file="bowtie_out8_2.fastqillumina.sorted" sort="True" />
     </test>
     <test>
       <param name="genomeSource" value="history" />
@@ -566,11 +652,11 @@
       <param name="pAlignLimit" value="-1" />
       <param name="pTrimH" value="0" />
       <param name="pTrimL" value="0" />
+      <param name="alignMode" value="nMode" />
       <param name="pMismatchSeed" value="2" />
       <param name="pMismatchQual" value="70" />
       <param name="pSeedLen" value="28" />
       <param name="pRounding" value="round" />
-      <param name="pMaqSoapAlign" value="-1" />
       <param name="pMinInsert" value="0" />
       <param name="pMaxAlignAttempt" value="100" />
       <param name="pForwardAlign" value="forward" />
@@ -591,14 +677,14 @@
       <output name="output_unmapped_reads_l" ftype="fastqsolexa" file="bowtie_out8_1.fastqsolexa.sorted" sort="True" />
       <output name="output_unmapped_reads_r" ftype="fastqsolexa" file="bowtie_out8_2.fastqsolexa.sorted" sort="True" />
     </test>
-    <!-- end testing of non-sanger variant fastq reads -->    
+    <!-- end testing of non-sanger variant fastq reads -->
     <test>
       <!--
       Bowtie command:
-      bowtie -q -p 4 -S +sam-nohead -n 2 -e 70 -l 28 +maxbts 125 -y -k 1 chrM_base test-data/bowtie_in2.fastqsanger > bowtie_out9_u.sam
+      bowtie -q -p 4 -S +sam-nohead -n 2 -e 70 -l 28 -y -k 1 chrM_base test-data/bowtie_in2.fastqsanger > bowtie_out9_u.sam
       sort bowtie_out9_u.sam > bowtie_out9.sam
       -p is the number of threads. You need to replace the + with 2 dashes.
-      chrM_base is the index files' location/base name. 
+      chrM_base is the index files' location/base name.
       -->
       <param name="genomeSource" value="indexed" />
       <!-- this is the backwards-compatible "unique value" for this index, not an actual path -->
@@ -610,11 +696,13 @@
       <param name="sAlignLimit" value="-1" />
       <param name="sTrimH" value="0" />
       <param name="sTrimL" value="0" />
+      <param name="alignMode" value="nMode" />
       <param name="sMismatchSeed" value="2" />
       <param name="sMismatchQual" value="70" />
       <param name="sSeedLen" value="28" />
       <param name="sRounding" value="round" />
-      <param name="sMaqSoapAlign" value="-1" />
+      <param name="sForwardAlign" value="forward" />
+      <param name="sReverseAlign" value="reverse" />
       <param name="sTryHard" value="doTryHard" />
       <param name="sValAlign" value="1" />
       <param name="sAllValAligns" value="noAllValAligns" />
@@ -622,7 +710,6 @@
       <param name="sUnmappedFile" value="false" />
       <param name="sMaxFile" value="false" />
       <param name="sBest" value="noBest" />
-      <param name="snMaxBacktracks" value="125" />
       <param name="sOffrate" value="-1" />
       <param name="sSeed" value="-1" />
       <param name="suppressHeader" value="true" />
@@ -635,7 +722,7 @@
       bowtie -q -X 1000 +ff -p 4 -S +sam-nohead phiX_base -1 test-data/bowtie_in5.fastqsanger -2 test-data/bowtie_in6.fastqsanger > bowtie_out10_u.sam
       sort bowtie_out10_u.sam > bowtie_out10.sam
       -p is the number of threads. You need to replace the + with 2 dashes.
-      chrM_base is the index files' location/base name. 
+      chrM_base is the index files' location/base name.
       -->
       <param name="genomeSource" value="history" />
       <param name="ownFile" value="phiX.fasta" />
@@ -648,7 +735,6 @@
       <param name="ntoa" value="no" />
       <param name="endian" value="little" />
       <param name="seed" value="-1" />
-      <param name="cutoff" value="-1" />
       <param name="sPaired" value="paired" />
       <param name="pInput1" ftype="fastqsanger" value="bowtie_in5.fastqsanger" />
       <param name="pInput2" ftype="fastqsanger" value="bowtie_in6.fastqsanger" />
@@ -697,7 +783,7 @@
 The output is in SAM format, and has the following columns::
 
     Column  Description
-  --------  --------------------------------------------------------   
+  --------  --------------------------------------------------------
    1 QNAME  Query (pair) NAME
    2 FLAG   bitwise FLAG
    3 RNAME  Reference sequence NAME
@@ -710,7 +796,7 @@
   10 SEQ    query SEQuence on the same strand as the reference
   11 QUAL   query QUALity (ASCII-33 gives the Phred base quality)
   12 OPT    variable OPTional fields in the format TAG:VTYPE:VALUE
-  
+
 The flags are as follows::
 
     Flag  Description
@@ -760,8 +846,8 @@
   -o                 Offrate. How many Burrows-Wheeler rows get marked by the indexer. The 
                      indexer will mark every 2^INT rows. The marked rows correspond to rows on 
                      the genome. [5]
-  -t INT             Ftab. The lookup table used to calculate an initial Burrows-Wheeler range 
-                     with respect to the first INT characters of the query. Ftab is 4^INT+1 
+  -t INT             The ftab lookup table used to calculate an initial Burrows-Wheeler range 
+                     with respect to the first INT characters of the query. Ftab size is 4^(INT+1) 
                      bytes. [10]
   --ntoa             N conversion. Convert Ns to As before building the index. Otherwise, Ns are 
                      simply excluded from the index and Bowtie will not find alignments that 
@@ -769,8 +855,6 @@
   --big              Endianness. Endianness to use when serializing integers to the index file. [off]
   --little           Endianness. [--little]
   --seed INT         Random seed. Use INT as the seed for the pseudo-random number generator. [off]
-  --cutoff INT       Cutoff. Index only the first INT bases of the reference sequences (cumulative 
-                     across sequences) and ignore the rest. [off]
 
 For aligning (bowtie)::
 
@@ -787,10 +871,10 @@
                      at 30. [70]
   -l INT             Seed length. The number of bases on the high-quality end of the read to 
                      which the -n ceiling applies. Must be at least 5. [28]
-  --nomaqround       Suppress MAQ rounding. Values are internally rounded to the nearest 10 and 
+  --nomaqround       Suppress Maq rounding. Values are internally rounded to the nearest 10 and 
                      saturate at 30. This options turns off that rounding. [off] 
-  -v INT             MAQ- or SOAP-like alignment policy. This option turns off the default 
-                     MAQ-like alignment policy in favor of a SOAP-like one. End-to-end alignments 
+  -v INT             Maq- or SOAP-like alignment policy. This option turns off the default 
+                     Maq-like alignment policy in favor of a SOAP-like one. End-to-end alignments 
                      with at most INT mismatches. [off]
   -I INT             Minimum insert. The minimum insert size for valid paired-end alignments. 
                      Does checking on untrimmed reads if -5 or -3 is used. [0]
@@ -835,5 +919,8 @@
   --col-keepends     Keep the extreme-end nucleotides and qualities when decoding colorspace 
                      alignments. [off]
 
-  </help>
+    </help>
+    <citations>
+        <citation type="doi">10.1186/gb-2009-10-3-r25</citation>
+    </citations>
 </tool>
--- a/tool_dependencies.xml	Fri Feb 21 12:40:39 2014 -0500
+++ b/tool_dependencies.xml	Tue Jul 21 13:04:45 2015 -0400
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <tool_dependency>
     <package name="bowtie" version="0.12.7">
-        <repository changeset_revision="9f9f38617a98" name="package_bowtie_0_12_7" owner="devteam" toolshed="http://toolshed.g2.bx.psu.edu" />
+        <repository changeset_revision="9f9f38617a98" name="package_bowtie_0_12_7" owner="devteam" toolshed="https://toolshed.g2.bx.psu.edu" />
     </package>
 </tool_dependency>