details: http://www.bx.psu.edu/hg/galaxy/rev/56efe838b9af changeset: 3225:56efe838b9af user: Kelly Vincent <kpvincent@bx.psu.edu> date: Mon Jan 11 17:04:45 2010 -0500 description: Added SOLiD (colorspace) support to Bowtie wrapper tool diffstat: test-data/bowtie_in1.fastqsanger | 4 + test-data/bowtie_in2.fastqsanger | 5 + test-data/bowtie_in3.fastqsanger | 4 + test-data/bowtie_in4.fastqsanger | 4 + test-data/bowtie_in5.fastqsanger | 4 + test-data/bowtie_in6.fastqsanger | 4 + test-data/bowtie_out1.sam | 2 +- test-data/bowtie_out2.sam | 3 +- test-data/bowtie_out3.sam | 4 +- test-data/bowtie_out4.sam | 2 + test-data/bowtie_out5.sam | 1 + test-data/bowtie_out6.sam | 1 + test-data/bowtie_out7.sam | 2 + test-data/bowtie_out8.sam | 2 + tool-data/bowtie_indices_color.loc.sample | 31 + tools/sr_mapping/bowtie_wrapper.py | 447 ++++++-- tools/sr_mapping/bowtie_wrapper.xml | 1391 +++++++++++++++++++++------- tools/sr_mapping/bowtie_wrapper_code.py | 18 +- 18 files changed, 1402 insertions(+), 527 deletions(-) diffs (2080 lines): diff -r 61f1ec6c5b24 -r 56efe838b9af test-data/bowtie_in1.fastqsanger --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/bowtie_in1.fastqsanger Mon Jan 11 17:04:45 2010 -0500 @@ -0,0 +1,4 @@ +@869_1532_1255/1 +G21022233110003122233210021301222000112122113330022 ++ +=;8:?@=?;;9:8;=>;5A?;<8><<=:9><;9<=8;96>8<5==:<98; \ No newline at end of file diff -r 61f1ec6c5b24 -r 56efe838b9af test-data/bowtie_in2.fastqsanger --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/bowtie_in2.fastqsanger Mon Jan 11 17:04:45 2010 -0500 @@ -0,0 +1,5 @@ +@HWI-EAS91_1_30788AAXX:1:1:1513:715/1 +GTTTTTTNNGCATAGATGTTTAGTTGTGGTAGTCAG ++/1 +IIIIIII""IIIIIIIIIIIIIIIIIIIDI?II-+I + diff -r 61f1ec6c5b24 -r 56efe838b9af test-data/bowtie_in3.fastqsanger --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/bowtie_in3.fastqsanger Mon Jan 11 17:04:45 2010 -0500 @@ -0,0 +1,4 @@ +@869_1532_1255/1 +G2102223311000312223321002 ++ +=;8:?@=?;;9:8;=>;5A?;<8>< diff -r 61f1ec6c5b24 -r 56efe838b9af test-data/bowtie_in4.fastqsanger --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/bowtie_in4.fastqsanger Mon Jan 11 17:04:45 2010 -0500 @@ -0,0 +1,4 @@ +@869_1532_1255/2 +2200333112212110002221031T ++ +;89<:==5<8>69;8=<9;<>9:=< diff -r 61f1ec6c5b24 -r 56efe838b9af test-data/bowtie_in5.fastqsanger --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/bowtie_in5.fastqsanger Mon Jan 11 17:04:45 2010 -0500 @@ -0,0 +1,4 @@ +@HWI-EAS91_1_30788AAXX:1:2:618:346/1 +TAGACTACGAAAGTGACTTTAATACCTCTGACTACA ++ +IIIIIIIIIIIIIIIIIIIIIIIIIIIII%4II;I3 diff -r 61f1ec6c5b24 -r 56efe838b9af test-data/bowtie_in6.fastqsanger --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/bowtie_in6.fastqsanger Mon Jan 11 17:04:45 2010 -0500 @@ -0,0 +1,4 @@ +@HWI-EAS91_1_30788AAXX:1:2:618:346/2 +ATAGGCTGAATTAGCAATGGATGGTGGGGTTTATCG ++ +IIIIIIIIIIIIIII9I.II5II6DFIIIIII*I2) diff -r 61f1ec6c5b24 -r 56efe838b9af test-data/bowtie_out1.sam --- a/test-data/bowtie_out1.sam Mon Jan 11 16:35:16 2010 -0500 +++ b/test-data/bowtie_out1.sam Mon Jan 11 17:04:45 2010 -0500 @@ -1,1 +1,1 @@ -HWI-EAS91_1_30788AAXX:1:1:1513:715/1 16 chrM 9563 255 36M * 0 0 CTGACTACCACAACTAAACATCTATGCNNAAAAAAC I+-II?IDIIIIIIIIIIIIIIIIIII""IIIIIII XA:i:2 MD:Z:27A0G7 NM:i:2 +869_1532_1255/1 16 chrM 3728 255 48M * 0 0 GAAATATGTCTGACAAAAGAGTTACTTTGATAGAGTAAAACATAGAGG "TUVYQPSUSNSRTXTSVYVRVXWYUSVY_UOXZWRQRSUY[\^XQR! XA:i:1 MD:Z:48 NM:i:0 CM:i:2 diff -r 61f1ec6c5b24 -r 56efe838b9af test-data/bowtie_out2.sam --- a/test-data/bowtie_out2.sam Mon Jan 11 16:35:16 2010 -0500 +++ b/test-data/bowtie_out2.sam Mon Jan 11 17:04:45 2010 -0500 @@ -1,2 +1,1 @@ -HWI-EAS91_1_30788AAXX:1:2:618:346/1 99 chrM 441 255 36M = 652 247 TAGACTACGAAAGTGACTTTAATACCTCTGACTACA IIIIIIIIIIIIIIIIIIIIIIIIIIIII%4II;I3 XA:i:0 MD:Z:36 NM:i:0 -HWI-EAS91_1_30788AAXX:1:2:618:346/2 147 chrM 652 255 36M = 441 -247 CGATAAACCCCACCATCCATTGCTAATTCAGCCTAT )2I*IIIIIIFD6II5II.I9IIIIIIIIIIIIIII XA:i:1 MD:Z:18C17 NM:i:1 +HWI-EAS91_1_30788AAXX:1:1:1513:715/1 16 chrM 9563 255 36M * 0 0 CTGACTACCACAACTAAACATCTATGCNNAAAAAAC I+-II?IDIIIIIIIIIIIIIIIIIII""IIIIIII XA:i:2 MD:Z:27A0G7 NM:i:2 diff -r 61f1ec6c5b24 -r 56efe838b9af test-data/bowtie_out3.sam --- a/test-data/bowtie_out3.sam Mon Jan 11 16:35:16 2010 -0500 +++ b/test-data/bowtie_out3.sam Mon Jan 11 17:04:45 2010 -0500 @@ -1,2 +1,2 @@ -HWI-EAS91_1_30788AAXX:1:2:618:346/1 99 chrM 441 255 36M = 652 247 TAGACTACGAAAGTGACTTTAATACCTCTGACTACA IIIIIIIIIIIIIIIIIIIIIIIIIIIII%4II;I3 XA:i:0 MD:Z:36 NM:i:0 -HWI-EAS91_1_30788AAXX:1:2:618:346/2 147 chrM 652 255 36M = 441 -247 CGATAAACCCCACCATCCATTGCTAATTCAGCCTAT )2I*IIIIIIFD6II5II.I9IIIIIIIIIIIIIII XA:i:0 MD:Z:18C17 NM:i:1 +869_1532_1255 163 chrM 3727 255 27M = 3752 50 GGAAATATGTCTGACAAAAGAGTTACT !!PTUVYQPSUSNSRTXTSVYVRVX<! XA:i:2 MD:Z:27 NM:i:0 CM:i:2 +869_1532_1255 83 chrM 3752 255 25M = 3727 -50 CTTTGATAGAGTAAAACATAGAGGC >USVY_UOXZWRQRSUY[\^XQR!! XA:i:1 MD:Z:25 NM:i:0 CM:i:1 diff -r 61f1ec6c5b24 -r 56efe838b9af test-data/bowtie_out4.sam --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/bowtie_out4.sam Mon Jan 11 17:04:45 2010 -0500 @@ -0,0 +1,2 @@ +HWI-EAS91_1_30788AAXX:1:2:618:346 99 chrM 441 255 36M = 652 247 TAGACTACGAAAGTGACTTTAATACCTCTGACTACA IIIIIIIIIIIIIIIIIIIIIIIIIIIII%4II;I3 XA:i:0 MD:Z:36 NM:i:0 +HWI-EAS91_1_30788AAXX:1:2:618:346 147 chrM 652 255 36M = 441 -247 CGATAAACCCCACCATCCATTGCTAATTCAGCCTAT )2I*IIIIIIFD6II5II.I9IIIIIIIIIIIIIII XA:i:1 MD:Z:18C17 NM:i:1 diff -r 61f1ec6c5b24 -r 56efe838b9af test-data/bowtie_out5.sam --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/bowtie_out5.sam Mon Jan 11 17:04:45 2010 -0500 @@ -0,0 +1,1 @@ +869_1532_1255/1 16 chrM 3727 255 50M * 0 0 GGAAATATGTCTGACAAAAGAGTTACTTTGATAGAGTAAAACATAGAGGC !"TUVYQPSUSNSRTXTSVYVRVXWYUSVY_UOXZWRQRSUY[\^XQR!! XA:i:1 MD:Z:50 NM:i:0 CM:i:2 diff -r 61f1ec6c5b24 -r 56efe838b9af test-data/bowtie_out6.sam --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/bowtie_out6.sam Mon Jan 11 17:04:45 2010 -0500 @@ -0,0 +1,1 @@ +HWI-EAS91_1_30788AAXX:1:1:1513:715/1 16 chrM 9563 255 36M * 0 0 CTGACTACCACAACTAAACATCTATGCNNAAAAAAC I+-II?IDIIIIIIIIIIIIIIIIIII""IIIIIII XA:i:2 MD:Z:27A0G7 NM:i:2 diff -r 61f1ec6c5b24 -r 56efe838b9af test-data/bowtie_out7.sam --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/bowtie_out7.sam Mon Jan 11 17:04:45 2010 -0500 @@ -0,0 +1,2 @@ +869_1532_1255 163 chrM 3728 255 25M = 3752 47 GAAATATGTCTGACAAAAGAGTTAC !PTUVYQPSUSNSRTXTSVYVRVX< XA:i:2 MD:Z:25 NM:i:0 CM:i:2 +869_1532_1255 83 chrM 3753 255 23M = 3727 -49 TTTGATAGAGTAAAACATAGAGG USVY_UOXZWRQRSUY[\^XQR! XA:i:1 MD:Z:23 NM:i:0 CM:i:1 diff -r 61f1ec6c5b24 -r 56efe838b9af test-data/bowtie_out8.sam --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/bowtie_out8.sam Mon Jan 11 17:04:45 2010 -0500 @@ -0,0 +1,2 @@ +HWI-EAS91_1_30788AAXX:1:2:618:346 99 chrM 441 255 36M = 652 247 TAGACTACGAAAGTGACTTTAATACCTCTGACTACA IIIIIIIIIIIIIIIIIIIIIIIIIIIII%4II;I3 XA:i:0 MD:Z:36 NM:i:0 +HWI-EAS91_1_30788AAXX:1:2:618:346 147 chrM 652 255 36M = 441 -247 CGATAAACCCCACCATCCATTGCTAATTCAGCCTAT )2I*IIIIIIFD6II5II.I9IIIIIIIIIIIIIII XA:i:1 MD:Z:18C17 NM:i:1 diff -r 61f1ec6c5b24 -r 56efe838b9af tool-data/bowtie_indices_color.loc.sample --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool-data/bowtie_indices_color.loc.sample Mon Jan 11 17:04:45 2010 -0500 @@ -0,0 +1,31 @@ +#This is a sample file distributed with Galaxy that enables tools +#to use a directory of colorspace Bowtie indexed sequences data files. +#You will need to create these data files and then create a +#bowtie_indices_color.loc file similar to this one (store it in this +#directory) that points to the directories in which those files are +#stored. The bowtie_indices_color.loc file has this format (white +#space characters are TAB characters): +# +#<build> <file_base> +# +#So, for example, if you had hg18 indexed stored in +#/depot/data2/galaxy/bowtie/hg18/, +#then the bowtie_indices_color.loc entry would look like this: +# +#hg18 /depot/data2/galaxy/bowtie/hg18/hg18 +# +#and your /depot/data2/galaxy/bowtie/hg18/ directory +#would contain hg18.*.ebwt files: +# +#-rw-r--r-- 1 james universe 830134 2005-09-13 10:12 hg18.1.ebwt +#-rw-r--r-- 1 james universe 527388 2005-09-13 10:12 hg18.2.ebwt +#-rw-r--r-- 1 james universe 269808 2005-09-13 10:12 gh18.3.ebwt +#...etc... +# +#Your bowtie_indices_color.loc file should include an entry per line +#for each index set you have stored. The "file" in the path does not +#actually exist, but it is the prefix for the actual index files. For +#example: +# +#hg18 /depot/data2/galaxy/bowtie/hg18/hg18 +#hg19 /depot/data2/galaxy/bowtie/hg19/hg19 diff -r 61f1ec6c5b24 -r 56efe838b9af tools/sr_mapping/bowtie_wrapper.py --- a/tools/sr_mapping/bowtie_wrapper.py Mon Jan 11 16:35:16 2010 -0500 +++ b/tools/sr_mapping/bowtie_wrapper.py Mon Jan 11 17:04:45 2010 -0500 @@ -2,6 +2,61 @@ """ Runs Bowtie on single-end or paired-end data. +For use with Bowtie v. 0.12.1 + +usage: bowtie_wrapper.py [options] + -t, --threads=t: The number of threads to run + -i, --input1=i: The (forward or single-end) reads file in Sanger FASTQ format + -I, --input2=I: The reverse reads file in Sanger FASTQ format + -o, --output=o: The output file + -4, --dataType=4: The type of data (SOLiD or Solexa) + -2, --paired=2: Whether the data is single- or paired-end + -g, --genomeSource=g: The type of reference provided + -r, --ref=r: The reference genome to use or index + -s, --skip=s: Skip the first n reads + -a, --alignLimit=a: Only align the first n reads + -T, --trimH=T: Trim n bases from high-quality (left) end of each read before alignment + -L, --trimL=L: Trim n bases from low-quality (right) end of each read before alignment + -m, --mismatchSeed=m: Maximum number of mismatches permitted in the seed + -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 + -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 + -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 + -R, --strata=R: Whether or not to report only those alignments that fall in the best stratum if many valid alignments exist and are reportable + -j, --minInsert=j: Minimum insert size for valid paired-end alignments + -J, --maxInsert=J: Maximum insert size for valid paired-end alignments + -O, --mateOrient=O: The upstream/downstream mate orientation for valid paired-end alignment against the forward reference strand + -A, --maxAlignAttempt=A: Maximum number of attempts Bowtie will make to match an alignment for one mate with an alignment for the opposite mate + -f, --forwardAlign=f: Whether or not to attempt to align the forward reference strand + -E, --reverseAlign=E: Whether or not to attempt to align the reverse-complement reference strand + -F, --offrate=F: Override the offrate of the index to n + -8, --snpphred=8: SNP penalty on Phred scale + -6, --snpfrac=6: Fraction of sites expected to be SNP sites + -7, --keepends=7: Keep extreme-end nucleotides and qualities + -S, --seed=S: Seed for pseudo-random number generator + -d, --dbkey=d: Dbkey of reference genome + -C, --params=C: Whether to use default or specified parameters + -u, --iauto_b=u: Automatic or specified behavior + -K, --ipacked=K: Whether or not to use a packed representation for DNA strings + -Q, --ibmax=Q: Maximum number of suffixes allowed in a block + -Y, --ibmaxdivn=Y: Maximum number of suffixes allowed in a block as a fraction of the length of the reference + -D, --idcv=D: The period for the difference-cover sample + -U, --inodc=U: Whether or not to disable the use of the difference-cover sample + -y, --inoref=y: Whether or not to build the part of the reference index used only in paired-end alignment + -z, --ioffrate=z: How many rows get marked during annotation of some or all of the Burrows-Wheeler rows + -W, --iftab=W: The size of the lookup table used to calculate an initial Burrows-Wheeler range with respect to the first n characters of the query + -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 """ import optparse, os, shutil, sys, tempfile @@ -13,161 +68,281 @@ def __main__(): #Parse Command Line parser = optparse.OptionParser() - parser.add_option('', '--threads', dest='threads', help='The number of threads to run') - parser.add_option('', '--input1', dest='input1', help='The (forward or single-end) reads file in Sanger FASTQ format') - parser.add_option('', '--input2', dest='input2', help='The reverse reads file in Sanger FASTQ format') - parser.add_option('', '--output', dest='output', help='The output file') - parser.add_option('', '--paired', dest='paired', help='Whether the data is single- or paired-end') - parser.add_option('', '--genomeSource', dest='genomeSource', help='The type of reference provided') - parser.add_option('', '--ref', dest='ref', help='The reference genome to use or index') - parser.add_option('', '--skip', dest='skip', help='Skip the first n reads') - parser.add_option('', '--alignLimit', dest='alignLimit', help='Only align the first n reads') - parser.add_option('', '--trimH', dest='trimH', help='Trim n bases from high-quality (left) end of each read before alignment') - parser.add_option('', '--trimL', dest='trimL', help='Trim n bases from low-quality (right) end of each read before alignment') - parser.add_option('', '--mismatchSeed', dest='mismatchSeed', help='Maximum number of mismatches permitted in the seed') - parser.add_option('', '--mismatchQual', dest='mismatchQual', help='Maximum permitted total of quality values at mismatched read positions') - parser.add_option('', '--seedLen', dest='seedLen', help='Seed length') - parser.add_option('', '--rounding', dest='rounding', help='Whether or not to round to the nearest 10 and saturating at 30') - parser.add_option('', '--maqSoapAlign', dest='maqSoapAlign', help='Choose MAQ- or SOAP-like alignment policy') - parser.add_option('', '--tryHard', dest='tryHard', help='Whether or not to try as hard as possible to find valid alignments when they exist') - parser.add_option('', '--valAlign', dest='valAlign', help='Report up to n valid arguments per read') - parser.add_option('', '--allValAligns', dest='allValAligns', help='Whether or not to report all valid alignments per read') - parser.add_option('', '--suppressAlign', dest='suppressAlign', help='Suppress all alignments for a read if more than n reportable alignments exist') - parser.add_option('', '--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('', '--maxBacktracks', dest='maxBacktracks', help='Maximum number of backtracks permitted when aligning a read') - parser.add_option('', '--strata', dest='strata', help='Whether or not to report only those alignments that fall in the best stratum if many valid alignments exist and are reportable') - parser.add_option('', '--minInsert', dest='minInsert', help='Minimum insert size for valid paired-end alignments') - parser.add_option('', '--maxInsert', dest='maxInsert', help='Maximum insert size for valid paired-end alignments') - parser.add_option('', '--mateOrient', dest='mateOrient', help='The upstream/downstream mate orientation for valid paired-end alignment against the forward reference strand') - parser.add_option('', '--maxAlignAttempt', dest='maxAlignAttempt', help='Maximum number of attempts Bowtie will make to match an alignment for one mate with an alignment for the opposite mate') - parser.add_option('', '--forwardAlign', dest='forwardAlign', help='Whether or not to attempt to align the forward reference strand') - parser.add_option('', '--reverseAlign', dest='reverseAlign', help='Whether or not to attempt to align the reverse-complement reference strand') - parser.add_option('', '--offrate', dest='offrate', help='Override the offrate of the index to n') - parser.add_option('', '--seed', dest='seed', help='Seed for pseudo-random number generator') - parser.add_option('', '--dbkey', dest='dbkey', help='') - parser.add_option('', '--params', dest='params', help='Whether to use default or specified parameters') - parser.add_option('', '--iauto_b', dest='iauto_b', help='Automatic or specified behavior') - parser.add_option('', '--ipacked', dest='ipacked', help='Whether or not to use a packed representation for DNA strings') - parser.add_option('', '--ibmax', dest='ibmax', help='Maximum number of suffixes allowed in a block') - parser.add_option('', '--ibmaxdivn', dest='ibmaxdivn', help='Maximum number of suffixes allowed in a block as a fraction of the length of the reference') - parser.add_option('', '--idcv', dest='idcv', help='The period for the difference-cover sample') - parser.add_option('', '--inodc', dest='inodc', help='Whether or not to disable the use of the difference-cover sample') - parser.add_option('', '--inoref', dest='inoref', help='Whether or not to build the part of the reference index used only in paried-end alignment') - parser.add_option('', '--ioffrate', dest='ioffrate', help='How many rows get marked during annotation of some or all of the Burrows-Wheeler rows') - parser.add_option('', '--iftab', dest='iftab', help='The size of the lookup table used to calculate an initial Burrows-Wheeler range with respect to the first n characters of the query') - parser.add_option('', '--intoa', dest='intoa', help='Whether or not to convert Ns in the reference sequence to As') - parser.add_option('', '--iendian', dest='iendian', help='Endianness to use when serializing integers to the index file') - parser.add_option('', '--iseed', dest='iseed', help='Seed for the pseudorandom number generator') - parser.add_option('', '--icutoff', dest='icutoff', help='Number of first bases of the reference sequence to index') - parser.add_option('', '--indexSettings', dest='index_settings', help='Whether or not indexing options are to be set') - parser.add_option('', '--suppressHeader', dest='suppressHeader', help='Suppress header') + parser.add_option( '-t', '--threads', dest='threads', help='The number of threads to run' ) + parser.add_option( '-4', '--dataType', dest='dataType', help='The type of data (SOLiD or Solexa)' ) + parser.add_option( '-i', '--input1', dest='input1', help='The (forward or single-end) reads file in Sanger FASTQ format' ) + parser.add_option( '-I', '--input2', dest='input2', help='The reverse reads file in Sanger FASTQ format' ) + parser.add_option( '-o', '--output', dest='output', help='The output file' ) + parser.add_option( '-2', '--paired', dest='paired', help='Whether the data is single- or paired-end' ) + parser.add_option( '-g', '--genomeSource', dest='genomeSource', help='The type of reference provided' ) + parser.add_option( '-r', '--ref', dest='ref', help='The reference genome to use or index' ) + parser.add_option( '-s', '--skip', dest='skip', help='Skip the first n reads' ) + parser.add_option( '-a', '--alignLimit', dest='alignLimit', help='Only align the first n reads' ) + parser.add_option( '-T', '--trimH', dest='trimH', help='Trim n bases from high-quality (left) end of each read before alignment' ) + parser.add_option( '-L', '--trimL', dest='trimL', help='Trim n bases from low-quality (right) end of each read before alignment' ) + parser.add_option( '-m', '--mismatchSeed', dest='mismatchSeed', help='Maximum number of mismatches permitted in the seed' ) + 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( '-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( '-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' ) + parser.add_option( '-R', '--strata', dest='strata', help='Whether or not to report only those alignments that fall in the best stratum if many valid alignments exist and are reportable' ) + parser.add_option( '-j', '--minInsert', dest='minInsert', help='Minimum insert size for valid paired-end alignments' ) + parser.add_option( '-J', '--maxInsert', dest='maxInsert', help='Maximum insert size for valid paired-end alignments' ) + parser.add_option( '-O', '--mateOrient', dest='mateOrient', help='The upstream/downstream mate orientation for valid paired-end alignment against the forward reference strand' ) + parser.add_option( '-A', '--maxAlignAttempt', dest='maxAlignAttempt', help='Maximum number of attempts Bowtie will make to match an alignment for one mate with an alignment for the opposite mate' ) + parser.add_option( '-f', '--forwardAlign', dest='forwardAlign', help='Whether or not to attempt to align the forward reference strand' ) + parser.add_option( '-E', '--reverseAlign', dest='reverseAlign', help='Whether or not to attempt to align the reverse-complement reference strand' ) + parser.add_option( '-F', '--offrate', dest='offrate', help='Override the offrate of the index to n' ) + parser.add_option( '-S', '--seed', dest='seed', help='Seed for pseudo-random number generator' ) + parser.add_option( '-8', '--snpphred', dest='snpphred', help='SNP penalty on Phred scale' ) + parser.add_option( '-6', '--snpfrac', dest='snpfrac', help='Fraction of sites expected to be SNP sites' ) + parser.add_option( '-7', '--keepends', dest='keepends', help='Keep extreme-end nucleotides and qualities' ) + parser.add_option( '-d', '--dbkey', dest='dbkey', help='Dbkey of reference genome' ) + parser.add_option( '-C', '--params', dest='params', help='Whether to use default or specified parameters' ) + parser.add_option( '-u', '--iauto_b', dest='iauto_b', help='Automatic or specified behavior' ) + parser.add_option( '-K', '--ipacked', dest='ipacked', help='Whether or not to use a packed representation for DNA strings' ) + parser.add_option( '-Q', '--ibmax', dest='ibmax', help='Maximum number of suffixes allowed in a block' ) + parser.add_option( '-Y', '--ibmaxdivn', dest='ibmaxdivn', help='Maximum number of suffixes allowed in a block as a fraction of the length of the reference' ) + parser.add_option( '-D', '--idcv', dest='idcv', help='The period for the difference-cover sample' ) + parser.add_option( '-U', '--inodc', dest='inodc', help='Whether or not to disable the use of the difference-cover sample' ) + parser.add_option( '-y', '--inoref', dest='inoref', help='Whether or not to build the part of the reference index used only in paired-end alignment' ) + parser.add_option( '-z', '--ioffrate', dest='ioffrate', help='How many rows get marked during annotation of some or all of the Burrows-Wheeler rows' ) + parser.add_option( '-W', '--iftab', dest='iftab', help='The size of the lookup table used to calculate an initial Burrows-Wheeler range with respect to the first n characters of the query' ) + 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' ) (options, args) = parser.parse_args() # make temp directory for placement of indices and copy reference file there if necessary tmp_index_dir = tempfile.mkdtemp() + # get type of data (solid or solexa) + if options.dataType == 'solid': + colorspace = '-C' + else: + colorspace = '' # index if necessary - if options.genomeSource == 'history': + if options.genomeSource == 'cHistory' or options.genomeSource == 'xHistory': # set up commands - if options.index_settings =='index_pre_set': - indexing_cmds = '' + if options.index_settings =='cIndexPreSet' or options.index_settings == 'xIndexPreSet': + indexing_cmds = '%s' % colorspace else: try: - indexing_cmds = '%s %s %s %s %s %s %s --offrate %s %s %s %s %s %s' % \ - (('','--noauto')[options.iauto_b=='set'], - ('','--packed')[options.ipacked=='packed'], - ('','--bmax %s'%options.ibmax)[options.ibmax!='None' and options.ibmax>=1], - ('','--bmaxdivn %s'%options.ibmaxdivn)[options.ibmaxdivn!='None'], - ('','--dcv %s'%options.idcv)[options.idcv!='None'], - ('','--nodc')[options.inodc=='nodc'], - ('','--noref')[options.inoref=='noref'], options.ioffrate, - ('','--ftabchars %s'%options.iftab)[int(options.iftab)>=0], - ('','--ntoa')[options.intoa=='yes'], - ('--little','--big')[options.iendian=='big'], - ('','--seed %s'%options.iseed)[int(options.iseed)>0], - ('','--cutoff %s'%options.icutoff)[int(options.icutoff)>0]) + if options.iauto_b == 'set': + iauto_b = '--noauto' + else: + iauto_b = '' + if options.ipacked == 'packed': + ipacked = '--packed' + else: + ipacked = '' + if options.ibmax != 'None' and int( options.ibmax ) >= 1: + ibmax = '--bmax %s' % options.ibmax + else: + ibmax = '' + if options.ibmaxdivn != 'None' and int( options.ibmaxdivn ) >= 0: + ibmaxdivn = '--bmaxdivn %s' % options.ibmaxdivn + else: + ibmaxdivn = '' + if options.idcv != 'None' and int( options.idcv ) > 0: + idcv = '--dcv %s' % options.idcv + else: + idcv = '' + if options.inodc == 'nodc': + inodc = '--nodc' + else: + inodc = '' + if options.inoref == 'noref': + inoref = '--noref' + else: + inoref = '' + if options.iftab != 'None' and int( options.iftab ) >= 0: + iftab = '--ftabchars %s' % options.iftab + else: + iftab = '' + if options.intoa == 'yes': + intoa = '--ntoa' + else: + intoa = '' + if options.iendian == 'big': + iendian = '--big' + else: + iendian = '--little' + if int( options.iseed ) > 0: + iseed = '--seed %s' % options.iseed + else: + iseed = '' + if 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' % \ + ( iauto_b, ipacked, ibmax, ibmaxdivn, idcv, inodc, + inoref, options.ioffrate, iftab, intoa, iendian, + iseed, icutoff, colorspace ) except ValueError: indexing_cmds = '' try: - shutil.copy(options.ref, tmp_index_dir) - except Exception, erf: - stop_err('Error creating temp directory for indexing purposes\n' + str(erf)) - options.ref = os.path.join(tmp_index_dir,os.path.split(options.ref)[1]) - cmd1 = 'bowtie-build %s -f %s %s 2> /dev/null' % (indexing_cmds, options.ref, options.ref) + shutil.copy( options.ref, tmp_index_dir ) + except Exception, e: + stop_err( 'Error creating temp directory for indexing purposes\n' + str( e ) ) + options.ref = os.path.join( tmp_index_dir, os.path.split( options.ref )[1] ) + cmd1 = 'bowtie-build %s -f %s %s 2> /dev/null' % ( indexing_cmds, options.ref, options.ref ) try: - os.chdir(tmp_index_dir) - os.system(cmd1) - except Exception, erf: - stop_err('Error indexing reference sequence\n' + str(erf)) + os.chdir( tmp_index_dir ) + os.system( cmd1 ) + except Exception, e: + stop_err( 'Error indexing reference sequence\n' + str( e ) ) # set up aligning and generate aligning command options # automatically set threads in both cases - if options.params == 'pre_set': - aligning_cmds = '-p %s -S' % options.threads + if options.suppressHeader == 'true': + suppressHeader = '--sam-nohead' + else: + suppressHeader = '' + if options.params == 'csPreSet' or options.params == 'cpPreSet' or \ + options.params == 'xsPreSet' or options.params == 'xpPreSet': + aligning_cmds = '-p %s -S %s -q %s ' % ( options.threads, suppressHeader, colorspace ) else: try: - aligning_cmds = '%s %s %s %s %s %s %s %s %s %s %s %s %s %s ' \ - '%s %s %s %s %s %s %s %s %s %s -p %s -S' % \ - (('','-s %s'%options.skip)[options.skip!='None'], - ('','-u %s'%options.alignLimit)[int(options.alignLimit)>0], - ('','-5 %s'%options.trimH)[int(options.trimH)>=0], - ('','-3 %s'%options.trimL)[int(options.trimL)>=0], - ('','-n %s'%options.mismatchSeed)[options.mismatchSeed=='0' or options.mismatchSeed=='1' or options.mismatchSeed=='2' or options.mismatchSeed=='3'], - ('','-e %s'%options.mismatchQual)[int(options.mismatchQual)>=0], - ('','-l %s'%options.seedLen)[int(options.seedLen)>=5], - ('','--nomaqround')[options.rounding=='noRound'], - ('','-v %s'%options.maqSoapAlign)[options.maqSoapAlign!='-1'], - ('','-I %s'%options.minInsert)[options.minInsert!='None'], - ('','-X %s'%options.maxInsert)[options.maxInsert!='None'], - ('','--%s'%options.mateOrient)[options.mateOrient!='None'], - ('','--pairtries %s'%options.maxAlignAttempt)[options.maxAlignAttempt!='None' and int(options.maxAlignAttempt)>=0], - ('','--nofw')[options.forwardAlign=='noForward'], - ('','--norc')[options.reverseAlign=='noReverse'], - ('','--maxbts %s'%options.maxBacktracks)[options.maxBacktracks!='None' and (options.mismatchSeed=='2' or options.mismatchSeed=='3')], - ('','-y')[options.tryHard=='doTryHard'], - ('','-k %s'%options.valAlign)[options.valAlign!='None' and int(options.valAlign)>=0], - ('','-a')[options.allValAligns=='doAllValAligns' and int(options.allValAligns)>=0], - ('','-m %s'%options.suppressAlign)[int(options.suppressAlign)>=0], - ('','--best')[options.best=='doBest'], - ('','--strata')[options.strata=='doStrata'], - ('','-o %s'%options.offrate)[int(options.offrate)>=0], - ('','--seed %s'%options.seed)[int(options.seed)>=0], - options.threads) - except ValueError, erf: - stop_err('Something is wrong with the alignment parameters and the alignment could not be run\n' + str(erf)) + if options.skip != 'None' and int( options.skip ) > 0: + skip = '-s %s' % options.skip + else: + skip = '' + if int( options.alignLimit ) >= 0: + alignLimit = '-u %s' % options.alignLimit + else: + alignLimit = '' + if int( options.trimH ) > 0: + trimH = '-5 %s' % options.trimH + else: + trimH = '' + if int( options.trimL ) > 0: + trimL = '-3 %s' % options.trimL + else: + trimL = '' + if options.mismatchSeed == '0' or options.mismatchSeed == '1' or options.mismatchSeed == '2' or options.mismatchSeed == '3': + mismatchSeed = '-n %s' % options.mismatchSeed + else: + mismatchSeed = '' + if int( options.mismatchQual ) >= 0: + mismatchQual = '-e %s' % options.mismatchQual + else: + mismatchQual = '' + if int( options.seedLen ) >= 5: + seedLen = '-l %s' % options.seedLen + else: + seedLen = '' + if options.rounding == 'noRound': + rounding = '--nomaqround' + else: + rounding = '' + if options.maqSoapAlign != '-1': + maqSoapAlign = '-v %s' % options.maqSoapAlign + else: + maqSoapAlign = '' + if options.minInsert != 'None' and int( options.minInsert ) > 0: + minInsert = '-I %s' % options.minInsert + else: + minInsert = '' + if options.maxInsert != 'None' and int( options.maxInsert ) > 0: + maxInsert = '-X %s' % options.maxInsert + else: + maxInsert = '' + if options.mateOrient != 'None': + mateOrient = '--%s' % options.mateOrient + else: + mateOrient = '' + if options.maxAlignAttempt != 'None' and int( options.maxAlignAttempt ) >= 0: + maxAlignAttempt = '--pairtries %s' % options.maxAlignAttempt + else: + maxAlignAttempt = '' + if options.forwardAlign == 'noForward': + forwardAlign = '--nofw' + else: + forwardAlign = '' + if options.reverseAlign == 'noReverse': + reverseAlign = '--norc' + else: + reverseAlign = '' + if options.maxBacktracks != 'None' and int( options.maxBacktracks ) > 0 and \ + ( options.mismatchSeed == '2' or options.mismatchSeed == '3' ): + maxBacktracks = '--maxbts %s' % options.maxBacktracks + else: + maxBacktracks = '' + if options.tryHard == 'doTryHard': + tryHard = '-y' + else: + tryHard = '' + if options.valAlign != 'None' and int( options.valAlign ) >= 0: + valAlign = '-k %s' % options.valAlign + else: + valAlign = '' + if options.allValAligns == 'doAllValAligns': + allValAligns = '-a' + else: + allValAligns = '' + if options.suppressAlign != 'None' and int( options.suppressAlign ) >= 0: + suppressAlign = '-m %s' % options.suppressAlign + else: + suppressAlign = '' + if options.best == 'csDoBest' or options.best == 'cpDoBest' or \ + options.best == 'xsDoBest' or options.best == 'xpDoBest': + best = '--best' + else: + best = '' + if options.strata == 'doStrata': + strata = '--strata' + else: + strata = '' + if options.offrate != 'None' and int( options.offrate ) >= 0: + offrate = '-o %s' % options.offrate + else: + offrate = '' + if options.seed != 'None' and int( options.seed ) >= 0: + seed = '--seed %s' % options.seed + else: + seed = '' + if options.snpphred != 'None' and int( options.snpphred ) >= 0: + snpphred = '--snpphred %s' % options.snpphred + else: + snpphred = '' + if options.snpfrac != 'None' and float( options.snpfrac ) >= 0: + snpfrac = '--snpfrac %s' % options.snpfrac + else: + snpfrac = '' + if options.keepends != 'None' and options.keepends == 'doKeepends': + keepends = '--col-keepends' + else: + keepends = '' + aligning_cmds = '%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 -p %s -S %s -q' % \ + ( skip, alignLimit, trimH, trimL, mismatchSeed, mismatchQual, + seedLen, rounding, maqSoapAlign, minInsert, maxInsert, + mateOrient, maxAlignAttempt, forwardAlign, reverseAlign, + maxBacktracks, tryHard, valAlign, allValAligns, suppressAlign, + best, strata, offrate, seed, colorspace, snpphred, snpfrac, + keepends, options.threads, suppressHeader ) + except ValueError, e: + stop_err( 'Something is wrong with the alignment parameters and the alignment could not be run\n' + str( e ) ) # prepare actual aligning commands - if options.paired == 'paired': - cmd2 = 'bowtie %s %s -1 %s -2 %s > %s 2> /dev/null' % (aligning_cmds, options.ref, options.input1, options.input2, options.output) + if options.paired == 'cPaired' or options.paired == 'xPaired': + cmd2 = 'bowtie %s %s -1 %s -2 %s > %s 2> /dev/null' % ( aligning_cmds, options.ref, options.input1, options.input2, options.output ) else: - cmd2 = 'bowtie %s %s %s > %s 2> /dev/null' % (aligning_cmds, options.ref, options.input1, options.output) + cmd2 = 'bowtie %s %s %s > %s 2> /dev/null' % ( aligning_cmds, options.ref, options.input1, options.output ) # align try: - os.system(cmd2) - except Exception, erf: - stop_err("Error aligning sequence\n" + str(erf)) - # remove header if necessary - if options.suppressHeader == 'true': - tmp_out = tempfile.NamedTemporaryFile() - cmd3 = 'cp %s %s' % (options.output, tmp_out.name) - try: - os.system(cmd3) - except Exception, erf: - stop_err("Error copying output file before removing headers\n" + str(erf)) - output = file(tmp_out.name, 'r') - fout = file(options.output, 'w') - header = True - line = output.readline() - while line.strip() != '': - if header: - if line.startswith('@HD') or line.startswith('@SQ') or line.startswith('@RG') or line.startswith('@PG') or line.startswith('@CO'): - pass - else: - header = False - fout.write(line) - else: - fout.write(line) - line = output.readline() - fout.close() - tmp_out.close() + os.system( cmd2 ) + except Exception, e: + stop_err( 'Error aligning sequence\n' + str( e ) ) # clean up temp dir - if os.path.exists(tmp_index_dir): - shutil.rmtree(tmp_index_dir) + if os.path.exists( tmp_index_dir ): + shutil.rmtree( tmp_index_dir ) if __name__=="__main__": __main__() diff -r 61f1ec6c5b24 -r 56efe838b9af tools/sr_mapping/bowtie_wrapper.xml --- a/tools/sr_mapping/bowtie_wrapper.xml Mon Jan 11 16:35:16 2010 -0500 +++ b/tools/sr_mapping/bowtie_wrapper.xml Mon Jan 11 17:04:45 2010 -0500 @@ -1,326 +1,780 @@ -<tool id="bowtie_wrapper" name="Map with Bowtie" version="1.0.0"> +<tool id="bowtie_wrapper" name="Map with Bowtie" version="1.0.5"> <description></description> <command interpreter="python"> - bowtie_wrapper.py - --threads="4" - --input1=$singlePaired.input1 - #if $singlePaired.sPaired == "paired": - --input2=$singlePaired.input2 - #else: - --input2="None" - #end if - --output=$output - --paired=$singlePaired.sPaired - --genomeSource=$refGenomeSource.genomeSource - #if $refGenomeSource.genomeSource == "history": - --ref=$refGenomeSource.ownFile - #else: - --ref=$refGenomeSource.indices.value - #end if - --params=$singlePaired.params.settings_type - #if $singlePaired.params.settings_type == "full": - --skip=$singlePaired.params.skip - --alignLimit=$singlePaired.params.alignLimit - --trimH=$singlePaired.params.trimH - --trimL=$singlePaired.params.trimL - --mismatchSeed=$singlePaired.params.mismatchSeed - --mismatchQual=$singlePaired.params.mismatchQual - --seedLen=$singlePaired.params.seedLen - --rounding=$singlePaired.params.rounding - --maqSoapAlign=$singlePaired.params.maqSoapAlign - --tryHard=$singlePaired.params.tryHard - --valAlign=$singlePaired.params.valAlign - --allValAligns=$singlePaired.params.allValAligns - --suppressAlign=$singlePaired.params.suppressAlign - --offrate=$singlePaired.params.offrate - --seed=$singlePaired.params.seed - --best=$singlePaired.params.bestOption.best - #if $singlePaired.params.bestOption.best == "doBest": - --maxBacktracks=$singlePaired.params.bestOption.maxBacktracks - --strata=$singlePaired.params.bestOption.strata - #else: - --maxBacktracks="None" - --strata="None" - #end if - #if $singlePaired.sPaired == "single": - --minInsert="None" - --maxInsert="None" - --mateOrient="None" - --maxAlignAttempt="None" - --forwardAlign="None" - --reverseAlign="None" - #else: - --minInsert=$singlePaired.params.minInsert - --maxInsert=$singlePaired.params.maxInsert - --mateOrient=$singlePaired.params.mateOrient - --maxAlignAttempt=$singlePaired.params.maxAlignAttempt - --forwardAlign=$singlePaired.params.forwardAlign - --reverseAlign=$singlePaired.params.reverseAlign - #end if - #else - --skip="None" - --alignLimit="None" - --trimH="None" - --trimL="None" - --mismatchSeed="None" - --mismatchQual="None" - --seedLen="None" - --rounding="None" - --maqSoapAlign="None" - --tryHard="None" - --valAlign="None" - --allValAligns="None" - --suppressAlign="None" - --best="None" - --maxBacktracks="None" - --strata="None" - --minInsert="None" - --maxInsert="None" - --mateOrient="None" - --maxAlignAttempt="None" - --forwardAlign="None" - --reverseAlign="None" - --offrate="None" - --seed="None" - #end if - #if $refGenomeSource.genomeSource == "history": - --dbkey=$dbkey - #else: - --dbkey="None" - #end if - #if $refGenomeSource.genomeSource == "history": - --indexSettings=$refGenomeSource.indexParams.index_settings - #else: - --indexSettings="None" - #end if - #if $refGenomeSource.genomeSource == "history" and $refGenomeSource.indexParams.index_settings == "index_full": - --iauto_b=$refGenomeSource.indexParams.auto_behavior.auto_b - #if $refGenomeSource.indexParams.auto_behavior.auto_b == "set": - --ipacked=$refGenomeSource.indexParams.auto_behavior.packed - --ibmax=$refGenomeSource.indexParams.auto_behavior.bmax - --ibmaxdivn=$refGenomeSource.indexParams.auto_behavior.bmaxdivn - --idcv=$refGenomeSource.indexParams.auto_behavior.dcv - #else: - --ipacked="None" - --ibmax="None" - --ibmaxdivn="None" - --idcv="None" - #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 - #else: - --iauto_b="None" - --ipacked="None" - --ibmax="None" - --ibmaxdivn="None" - --idcv="None" - --inodc="None" - --inoref="None" - --ioffrate="None" - --iftab="None" - --intoa="None" - --iendian="None" - --iseed="None" - --icutoff="None" - #end if - --suppressHeader=$suppressHeader + bowtie_wrapper.py --threads="4" --output=$output --suppressHeader=$suppressHeader --dataType=$solidOrSolexa.dataType +#if $solidOrSolexa.dataType == "solid": + --genomeSource=$solidOrSolexa.cRefGenomeSource.cGenomeSource + #if $solidOrSolexa.cRefGenomeSource.cGenomeSource == "cIndexed": + --ref=$solidOrSolexa.cRefGenomeSource.cIndex.value + --dbkey="None" + --indexSettings="None" + --iauto_b="None" + --ipacked="None" + --ibmax="None" + --ibmaxdivn="None" + --idcv="None" + --inodc="None" + --inoref="None" + --ioffrate="None" + --iftab="None" + --intoa="None" + --iendian="None" + --iseed="None" + --icutoff="None" + #else: + --ref=$solidOrSolexa.cRefGenomeSource.cOwnFile + --dbkey=$dbkey + --indexSettings=$solidOrSolexa.cRefGenomeSource.cIndexParams.cIndexSettings + #if $solidOrSolexa.cRefGenomeSource.cIndexParams.cIndexSettings == "cIndexFull": + --iauto_b=$solidOrSolexa.cRefGenomeSource.cIndexParams.cAutoBehavior.cAutoB == "cSet" + #if $solidOrSolexa.cRefGenomeSource.cIndexParams.cAutoBehavior.cAutoB == "cSet": + --ipacked=$solidOrSolexa.cRefGenomeSource.cIndexParams.cAutoBehavior.cPacked + --ibmax=$solidOrSolexa.cRefGenomeSource.cIndexParams.cAutoBehavior.cBmax + --ibmaxdivn=$solidOrSolexa.cRefGenomeSource.cIndexParams.cAutoBehavior.cBmaxdivn + --idcv=$solidOrSolexa.cRefGenomeSource.cIndexParams.cAutoBehavior.cDcv + #else: + --ipacked="None" + --ibmax="None" + --ibmaxdivn="None" + --idcv="None" + #end if + --inodc=$solidOrSolexa.cRefGenomeSource.cIndexParams.cNodc + --inoref=$solidOrSolexa.cRefGenomeSource.cIndexParams.cNoref + --ioffrate=$solidOrSolexa.cRefGenomeSource.cIndexParams.cOffrate + --iftab=$solidOrSolexa.cRefGenomeSource.cIndexParams.cFtab + --intoa=$solidOrSolexa.cRefGenomeSource.cIndexParams.cNtoa + --iendian=$solidOrSolexa.cRefGenomeSource.cIndexParams.cEndian + --iseed=$solidOrSolexa.cRefGenomeSource.cIndexParams.cSeed + --icutoff=$solidOrSolexa.cRefGenomeSource.cIndexParams.cCutoff + #else: + --iauto_b="None" + --ipacked="None" + --ibmax="None" + --ibmaxdivn="None" + --idcv="None" + --inodc="None" + --inoref="None" + --ioffrate="None" + --iftab="None" + --intoa="None" + --iendian="None" + --iseed="None" + --icutoff="None" + #end if + #end if + --paired=$solidOrSolexa.cSinglePaired.cSPaired + #if $solidOrSolexa.cSinglePaired.cSPaired == "cSingle": + --input1=$solidOrSolexa.cSinglePaired.csInput1 + --input2="None" + --params=$solidOrSolexa.cSinglePaired.csParams.csSettingsType + #if $solidOrSolexa.cSinglePaired.csParams.csSettingsType == "csFull": + --skip=$solidOrSolexa.cSinglePaired.csParams.csSkip + --alignLimit=$solidOrSolexa.cSinglePaired.csParams.csAlignLimit + --trimH=$solidOrSolexa.cSinglePaired.csParams.csTrimH + --trimL=$solidOrSolexa.cSinglePaired.csParams.csTrimL + --mismatchSeed=$solidOrSolexa.cSinglePaired.csParams.csMismatchSeed + --mismatchQual=$solidOrSolexa.cSinglePaired.csParams.csMismatchQual + --seedLen=$solidOrSolexa.cSinglePaired.csParams.csSeedLen + --rounding=$solidOrSolexa.cSinglePaired.csParams.csRounding + --maqSoapAlign=$solidOrSolexa.cSinglePaired.csParams.csMaqSoapAlign + --tryHard=$solidOrSolexa.cSinglePaired.csParams.csTryHard + --valAlign=$solidOrSolexa.cSinglePaired.csParams.csValAlign + --allValAligns=$solidOrSolexa.cSinglePaired.csParams.csAllValAligns + --suppressAlign=$solidOrSolexa.cSinglePaired.csParams.csSuppressAlign + --best=$solidOrSolexa.cSinglePaired.csParams.csBestOption.csBest + #if $solidOrSolexa.cSinglePaired.csParams.csBestOption.csBest == "csDoBest": + --maxBacktracks=$solidOrSolexa.cSinglePaired.csParams.csBestOption.csdMaxBacktracks + --strata=$solidOrSolexa.cSinglePaired.csParams.csBestOption.csdStrata + #else: + --maxBacktracks=$solidOrSolexa.cSinglePaired.csParams.csBestOption.csnMaxBacktracks + --strata="None" + #end if + --offrate=$solidOrSolexa.cSinglePaired.csParams.csOffrate + --seed=$solidOrSolexa.cSinglePaired.csParams.csSeed + --snpphred=$solidOrSolexa.cSinglePaired.csParams.csSnpphred + --snpfrac=$solidOrSolexa.cSinglePaired.csParams.csSnpfrac + --keepends=$solidOrSolexa.cSinglePaired.csParams.csKeepends + #else: + --skip="None" + --alignLimit="None" + --trimH="None" + --trimL="None" + --mismatchSeed="None" + --mismatchQual="None" + --seedLen="None" + --rounding="None" + --maqSoapAlign="None" + --tryHard="None" + --valAlign="None" + --allValAligns="None" + --suppressAlign="None" + --best="None" + --maxBacktracks="None" + --strata="None" + --offrate="None" + --seed="None" + --snpphred="None" + --snpfrac="None" + --keepends="None" + #end if + --minInsert="None" + --maxInsert="None" + --mateOrient="None" + --maxAlignAttempt="None" + --forwardAlign="None" + --reverseAlign="None" + #else: + --input1=$solidOrSolexa.cSinglePaired.cpInput1 + --input2=$solidOrSolexa.cSinglePaired.cpInput2 + --params=$solidOrSolexa.cSinglePaired.cpParams.cpSettingsType + #if $solidOrSolexa.cSinglePaired.cpParams.cpSettingsType == "cpFull": + --skip=$solidOrSolexa.cSinglePaired.cpParams.cpSkip + --alignLimit=$solidOrSolexa.cSinglePaired.cpParams.cpAlignLimit + --trimH=$solidOrSolexa.cSinglePaired.cpParams.cpTrimH + --trimL=$solidOrSolexa.cSinglePaired.cpParams.cpTrimL + --mismatchSeed=$solidOrSolexa.cSinglePaired.cpParams.cpMismatchSeed + --mismatchQual=$solidOrSolexa.cSinglePaired.cpParams.cpMismatchQual + --seedLen=$solidOrSolexa.cSinglePaired.cpParams.cpSeedLen + --rounding=$solidOrSolexa.cSinglePaired.cpParams.cpRounding + --maqSoapAlign=$solidOrSolexa.cSinglePaired.cpParams.cpMaqSoapAlign + --minInsert=$solidOrSolexa.cSinglePaired.cpParams.cpMinInsert + --maxInsert=$solidOrSolexa.cSinglePaired.cpParams.cpMaxInsert + --mateOrient=$solidOrSolexa.cSinglePaired.cpParams.cpMateOrient + --maxAlignAttempt=$solidOrSolexa.cSinglePaired.cpParams.cpMaxAlignAttempt + --forwardAlign=$solidOrSolexa.cSinglePaired.cpParams.cpForwardAlign + --reverseAlign=$solidOrSolexa.cSinglePaired.cpParams.cpReverseAlign + --tryHard=$solidOrSolexa.cSinglePaired.cpParams.cpTryHard + --valAlign=$solidOrSolexa.cSinglePaired.cpParams.cpValAlign + --allValAligns=$solidOrSolexa.cSinglePaired.cpParams.cpAllValAligns + --suppressAlign=$solidOrSolexa.cSinglePaired.cpParams.cpSuppressAlign + --best=$solidOrSolexa.cSinglePaired.cpParams.cpBestOption.cpBest + #if $solidOrSolexa.cSinglePaired.cpParams.cpBestOption.cpBest == "cpDoBest": + --maxBacktracks=$solidOrSolexa.cSinglePaired.cpParams.cpBestOption.cpdMaxBacktracks + --strata=$solidOrSolexa.cSinglePaired.cpParams.cpBestOption.cpdStrata + #else: + --maxBacktracks=$solidOrSolexa.cSinglePaired.cpParams.cpBestOption.cpnMaxBacktracks + --strata="None" + #end if + --offrate=$solidOrSolexa.cSinglePaired.cpParams.cpOffrate + --seed=$solidOrSolexa.cSinglePaired.cpParams.cpSeed + --snpphred=$solidOrSolexa.cSinglePaired.cpParams.cpSnpphred + --snpfrac=$solidOrSolexa.cSinglePaired.cpParams.cpSnpfrac + --keepends=$solidOrSolexa.cSinglePaired.cpParams.cpKeepends + #else: + --skip="None" + --alignLimit="None" + --trimH="None" + --trimL="None" + --mismatchSeed="None" + --mismatchQual="None" + --seedLen="None" + --rounding="None" + --maqSoapAlign="None" + --tryHard="None" + --valAlign="None" + --allValAligns="None" + --suppressAlign="None" + --best="None" + --maxBacktracks="None" + --strata="None" + --offrate="None" + --seed="None" + --snpphred="None" + --snpfrac="None" + --keepends="None" + --minInsert="None" + --maxInsert="None" + --mateOrient="None" + --maxAlignAttempt="None" + --forwardAlign="None" + --reverseAlign="None" + #end if + #end if +#else: + --genomeSource=$solidOrSolexa.xRefGenomeSource.xGenomeSource + #if $solidOrSolexa.xRefGenomeSource.xGenomeSource == "xIndexed": + --ref=$solidOrSolexa.xRefGenomeSource.xIndex.value + --dbkey="None" + --indexSettings="None" + --iauto_b="None" + --ipacked="None" + --ibmax="None" + --ibmaxdivn="None" + --idcv="None" + --inodc="None" + --inoref="None" + --ioffrate="None" + --iftab="None" + --intoa="None" + --iendian="None" + --iseed="None" + --icutoff="None" + #else: + --ref=$solidOrSolexa.xRefGenomeSource.xOwnFile + --dbkey=$dbkey + --indexSettings=$solidOrSolexa.xRefGenomeSource.xIndexParams.xIndexSettings + #if $solidOrSolexa.xRefGenomeSource.xIndexParams.xIndexSettings == "xIndexFull": + --iauto_b=$solidOrSolexa.xRefGenomeSource.xIndexParams.xAutoBehavior.xAutoB == "xSet" + #if $solidOrSolexa.xRefGenomeSource.xIndexParams.xAutoBehavior.xAutoB == "xSet": + --ipacked=$solidOrSolexa.xRefGenomeSource.xIndexParams.xAutoBehavior.xPacked + --ibmax=$solidOrSolexa.xRefGenomeSource.xIndexParams.xAutoBehavior.xBmax + --ibmaxdivn=$solidOrSolexa.xRefGenomeSource.xIndexParams.xAutoBehavior.xBmaxdivn + --idcv=$solidOrSolexa.xRefGenomeSource.xIndexParams.xAutoBehavior.xDcv + #else: + --ipacked="None" + --ibmax="None" + --ibmaxdivn="None" + --idcv="None" + #end if + --inodc=$solidOrSolexa.xRefGenomeSource.xIndexParams.xNodc + --inoref=$solidOrSolexa.xRefGenomeSource.xIndexParams.xNoref + --ioffrate=$solidOrSolexa.xRefGenomeSource.xIndexParams.xOffrate + --iftab=$solidOrSolexa.xRefGenomeSource.xIndexParams.xFtab + --intoa=$solidOrSolexa.xRefGenomeSource.xIndexParams.xNtoa + --iendian=$solidOrSolexa.xRefGenomeSource.xIndexParams.xEndian + --iseed=$solidOrSolexa.xRefGenomeSource.xIndexParams.xSeed + --icutoff=$solidOrSolexa.xRefGenomeSource.xIndexParams.xCutoff + #else: + --iauto_b="None" + --ipacked="None" + --ibmax="None" + --ibmaxdivn="None" + --idcv="None" + --inodc="None" + --inoref="None" + --ioffrate="None" + --iftab="None" + --intoa="None" + --iendian="None" + --iseed="None" + --icutoff="None" + #end if + #end if + --paired=$solidOrSolexa.xSinglePaired.xSPaired + #if $solidOrSolexa.xSinglePaired.xSPaired == "xSingle": + --input1=$solidOrSolexa.xSinglePaired.xsInput1 + --input2="None" + --params=$solidOrSolexa.xSinglePaired.xsParams.xsSettingsType + #if $solidOrSolexa.xSinglePaired.xsParams.xsSettingsType == "xsFull": + --skip=$solidOrSolexa.xSinglePaired.xsParams.xsSkip + --alignLimit=$solidOrSolexa.xSinglePaired.xsParams.xsAlignLimit + --trimH=$solidOrSolexa.xSinglePaired.xsParams.xsTrimH + --trimL=$solidOrSolexa.xSinglePaired.xsParams.xsTrimL + --mismatchSeed=$solidOrSolexa.xSinglePaired.xsParams.xsMismatchSeed + --mismatchQual=$solidOrSolexa.xSinglePaired.xsParams.xsMismatchQual + --seedLen=$solidOrSolexa.xSinglePaired.xsParams.xsSeedLen + --rounding=$solidOrSolexa.xSinglePaired.xsParams.xsRounding + --maqSoapAlign=$solidOrSolexa.xSinglePaired.xsParams.xsMaqSoapAlign + --tryHard=$solidOrSolexa.xSinglePaired.xsParams.xsTryHard + --valAlign=$solidOrSolexa.xSinglePaired.xsParams.xsValAlign + --allValAligns=$solidOrSolexa.xSinglePaired.xsParams.xsAllValAligns + --suppressAlign=$solidOrSolexa.xSinglePaired.xsParams.xsSuppressAlign + --best=$solidOrSolexa.xSinglePaired.xsParams.xsBestOption.xsBest + #if $solidOrSolexa.xSinglePaired.xsParams.xsBestOption.xsBest == "xsDoBest": + --maxBacktracks=$solidOrSolexa.xSinglePaired.xsParams.xsBestOption.xsdMaxBacktracks + --strata=$solidOrSolexa.xSinglePaired.xsParams.xsBestOption.xsdStrata + #else: + --maxBacktracks=$solidOrSolexa.xSinglePaired.xsParams.xsBestOption.xsnMaxBacktracks + --strata="None" + #end if + --offrate=$solidOrSolexa.xSinglePaired.xsParams.xsOffrate + --seed=$solidOrSolexa.xSinglePaired.xsParams.xsSeed + #else: + --skip="None" + --alignLimit="None" + --trimH="None" + --trimL="None" + --mismatchSeed="None" + --mismatchQual="None" + --seedLen="None" + --rounding="None" + --maqSoapAlign="None" + --tryHard="None" + --valAlign="None" + --allValAligns="None" + --suppressAlign="None" + --best="None" + --maxBacktracks="None" + --strata="None" + --offrate="None" + --seed="None" + #end if + --snpphred="None" + --snpfrac="None" + --keepends="None" + --minInsert="None" + --maxInsert="None" + --mateOrient="None" + --maxAlignAttempt="None" + --forwardAlign="None" + --reverseAlign="None" + #else: + --input1=$solidOrSolexa.xSinglePaired.xpInput1 + --input2=$solidOrSolexa.xSinglePaired.xpInput2 + --params=$solidOrSolexa.xSinglePaired.xpParams.xpSettingsType + #if $solidOrSolexa.xSinglePaired.xpParams.xpSettingsType == "xpFull": + --skip=$solidOrSolexa.xSinglePaired.xpParams.xpSkip + --alignLimit=$solidOrSolexa.xSinglePaired.xpParams.xpAlignLimit + --trimH=$solidOrSolexa.xSinglePaired.xpParams.xpTrimH + --trimL=$solidOrSolexa.xSinglePaired.xpParams.xpTrimL + --mismatchSeed=$solidOrSolexa.xSinglePaired.xpParams.xpMismatchSeed + --mismatchQual=$solidOrSolexa.xSinglePaired.xpParams.xpMismatchQual + --seedLen=$solidOrSolexa.xSinglePaired.xpParams.xpSeedLen + --rounding=$solidOrSolexa.xSinglePaired.xpParams.xpRounding + --maqSoapAlign=$solidOrSolexa.xSinglePaired.xpParams.xpMaqSoapAlign + --minInsert=$solidOrSolexa.xSinglePaired.xpParams.xpMinInsert + --maxInsert=$solidOrSolexa.xSinglePaired.xpParams.xpMaxInsert + --mateOrient=$solidOrSolexa.xSinglePaired.xpParams.xpMateOrient + --maxAlignAttempt=$solidOrSolexa.xSinglePaired.xpParams.xpMaxAlignAttempt + --forwardAlign=$solidOrSolexa.xSinglePaired.xpParams.xpForwardAlign + --reverseAlign=$solidOrSolexa.xSinglePaired.xpParams.xpReverseAlign + --tryHard=$solidOrSolexa.xSinglePaired.xpParams.xpTryHard + --valAlign=$solidOrSolexa.xSinglePaired.xpParams.xpValAlign + --allValAligns=$solidOrSolexa.xSinglePaired.xpParams.xpAllValAligns + --suppressAlign=$solidOrSolexa.xSinglePaired.xpParams.xpSuppressAlign + --best=$solidOrSolexa.xSinglePaired.xpParams.xpBestOption.xpBest + #if $solidOrSolexa.xSinglePaired.xpParams.xpBestOption.xpBest == "xpDoBest": + --maxBacktracks=$solidOrSolexa.xSinglePaired.xpParams.xpBestOption.xpdMaxBacktracks + --strata=$solidOrSolexa.xSinglePaired.xpParams.xpBestOption.xpdStrata + #else: + --maxBacktracks=$solidOrSolexa.xSinglePaired.xpParams.xpBestOption.xpnMaxBacktracks + --strata="None" + #end if + --offrate=$solidOrSolexa.xSinglePaired.xpParams.xpOffrate + --seed=$solidOrSolexa.xSinglePaired.xpParams.xpSeed + #else: + --skip="None" + --alignLimit="None" + --trimH="None" + --trimL="None" + --mismatchSeed="None" + --mismatchQual="None" + --seedLen="None" + --rounding="None" + --maqSoapAlign="None" + --tryHard="None" + --valAlign="None" + --allValAligns="None" + --suppressAlign="None" + --best="None" + --maxBacktracks="None" + --strata="None" + --offrate="None" + --seed="None" + --minInsert="None" + --maxInsert="None" + --mateOrient="None" + --maxAlignAttempt="None" + --forwardAlign="None" + --reverseAlign="None" + #end if + --snpphred="None" + --snpfrac="None" + --keepends="None" + #end if +#end if </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> + <conditional name="solidOrSolexa"> + <param name="dataType" type="select" label="Is your data SOLiD or Solexa?"> + <option value="solid">SOLiD</option> + <option value="solexa">Solexa</option> </param> - <when value="indexed"> - <param name="indices" type="select" label="Select a reference genome" help="if your genome of interest is not listed - contact Galaxy team"> - <options from_file="bowtie_indices.loc"> - <column name="value" index="1" /> - <column name="name" index="0" /> - </options> - </param> - </when> - <when value="history"> - <param name="ownFile" type="data" format="fasta" metadata_name="dbkey" label="Select a reference genome" /> - <conditional name="indexParams"> - <param name="index_settings" type="select" label="Choose whether to use default options for building indices or to set your own"> - <option value="index_pre_set">Default</option> - <option value="index_full">Set your own</option> - </param> - <when value="index_pre_set" /> - <when value="index_full"> - <conditional name="auto_behavior"> - <param name="auto_b" 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 (-p)"> - <option value="unpacked">Use regular representation</option> - <option value="packed">Use packed representation</option> + <when value="solid"> + <conditional name="cRefGenomeSource"> + <param name="cGenomeSource" 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="cIndexed">Use a built-in index</option> + <option value="cHistory">Use one from the history</option> + </param> + <when value="cIndexed"> + <param name="cIndex" type="select" label="Select the reference genome" help="if your genome of interest is not listed - contact Galaxy team"> + <options from_file="bowtie_indices_color.loc"> + <column name="value" index="1" /> + <column name="name" index="0" /> + </options> + </param> + </when> + <when value="cHistory"> + <param name="cOwnFile" type="data" format="fasta" metadata_name="dbkey" label="Select a reference genome" /> + <conditional name="cIndexParams"> + <param name="cIndexSettings" type="select" label="Choose whether to use default options for building indices or to set your own"> + <option value="cIndexPreSet">Default</option> + <option value="cIndexFull">Set your own</option> + </param> + <when value="cIndexPreSet" /> + <when value="cIndexFull"> + <conditional name="cAutoBehavior"> + <param name="cAutoB" 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="cAuto">Automatic behavior</option> + <option value="cSet">Set values (sets --noauto and allows others to be set)</option> + </param> + <when value="cAuto" /> + <when value="cSet"> + <param name="cPacked" type="select" label="Whether or not to use a packed representation for DNA strings (-p)"> + <option value="unpacked">Use regular representation</option> + <option value="packed">Use packed representation</option> + </param> + <param name="cBmax" 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="cBmaxdivn" 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="cDcv" type="integer" value="1024" label="The period for the difference-cover sample (--dcv)" /> + </when> + </conditional> + <param name="cNodc" 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 (a very repetitive reference)"> + <option value="dc">Use difference-cover sample</option> + <option value="nodc">Disable difference-cover sample</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 (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> <!-- index_full --> - </conditional> - </when> - </conditional> <!-- refGenomeSource --> - <conditional name="singlePaired"> - <param name="sPaired" type="select" label="Is this library mate-paired?"> - <option value="single">Single-end</option> - <option value="paired">Paired-end</option> - </param> - <when value="single"> - <param name="input1" type="data" format="fastqsanger" label="FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/> - <conditional name="params"> - <param name="settings_type" 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="pre_set">Commonly used</option> - <option value="full">Full parameter list</option> - </param> - <when value="pre_set" /> - <when value="full"> - <param name="skip" type="integer" value="0" label="Skip the first n reads (-s)" /> - <param name="alignLimit" type="integer" value="-1" label="Only align the first n reads (-u)" help="-1 for off" /> - <param name="trimH" type="integer" value="0" label="Trim n bases from high-quality (left) end of each read before alignment (-5)" /> - <param name="trimL" type="integer" value="0" label="Trim n bases from low-quality (right) end of each read before alignment (-3)" /> - <param name="mismatchSeed" type="integer" value="2" label="Maximum number of mismatches permitted in the seed (-n)" help="May be 0, 1, 2, or 3" /> - <param name="mismatchQual" type="integer" value="70" label="Maximum permitted total of quality values at mismatched read positions (-e)" /> - <param name="seedLen" type="integer" value="28" label="Seed length (-l)" help="Minimum value is 5" /> - <param name="rounding" 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="maqSoapAlign" type="integer" value="-1" label="Number of mismatches for SOAP-like alignment policy (-v)" help="-1 for default MAQ-like alignment policy" /> - <param name="tryHard" 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="valAlign" type="integer" value="1" label="Report up to n valid arguments per read (-k)" /> - <param name="allValAligns" 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="suppressAlign" type="integer" value="-1" label="Suppress all alignments for a read if more than n reportable alignments exist (-m)" help="-1 for no limit" /> - <conditional name="bestOption"> - <param name="best" 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="maxBacktracks" type="integer" value="125" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" /> - </when> - <when value="doBest"> - <param name="maxBacktracks" type="integer" value="800" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" /> - <param name="strata" 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 name="cNoref" 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> - </when> - </conditional> <!-- bestOption --> - <param name="offrate" type="integer" value="-1" label="Override the offrate of the index to n (-o)" help="-1 for default" /> - <param name="seed" type="integer" value="-1" label="Seed for pseudo-random number generator (--seed)" help="-1 for default" /> - </when> <!-- full --> - </conditional> <!-- params --> - </when> <!-- single --> - <when value="paired"> - <param name="input1" type="data" format="fastqsanger" label="Forward FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/> - <param name="input2" type="data" format="fastqsanger" label="Reverse FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/> - <conditional name="params"> - <param name="settings_type" 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="pre_set">Commonly used</option> - <option value="full">Full parameter list</option> - </param> - <when value="pre_set" /> - <when value="full"> - <param name="skip" type="integer" value="0" label="Skip the first n pairs (-s)" /> - <param name="alignLimit" type="integer" value="-1" label="Only align the first n pairs (-u)" help="-1 for off" /> - <param name="trimH" type="integer" value="0" label="Trim n bases from high-quality (left) end of each read before alignment (-5)" /> - <param name="trimL" type="integer" value="0" label="Trim n bases from low-quality (right) end of each read before alignment (-3)" /> - <param name="mismatchSeed" type="integer" value="2" label="Maximum number of mismatches permitted in the seed (-n)" help="May be 0, 1, 2, or 3" /> - <param name="mismatchQual" type="integer" value="70" label="Maximum permitted total of quality values at mismatched read positions (-e)" /> - <param name="seedLen" type="integer" value="28" label="Seed length (-l)" help="Minimum value is 5" /> - <param name="rounding" 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="maqSoapAlign" type="integer" value="-1" label="Number of mismatches for SOAP-like alignment policy (-v)" help="-1 for default MAQ-like alignment policy" /> - <param name="minInsert" type="integer" value="0" label="Minimum insert size for valid paired-end alignments (-I)" /> - <param name="maxInsert" type="integer" value="250" label="Maximum insert size for valid paired-end alignments (-X)" /> - <param name="mateOrient" type="select" label="The upstream/downstream mate orientation for valid paired-end alignment against the forward reference strand (--fr/--rf/--ff)"> - <option value="fr">FR (for Illumina)</option> - <option value="rf">RF</option> - <option value="ff">FF</option> - </param> - <param name="maxAlignAttempt" 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="forwardAlign" type="select" label="Choose whether or not to attempt to align 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="reverseAlign" type="select" label="Choose whether or not 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="tryHard" 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="valAlign" type="integer" value="1" label="Report up to n valid arguments per pair (-k)" /> - <param name="allValAligns" 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="suppressAlign" type="integer" value="-1" label="Suppress all alignments for a pair if more than n reportable alignments exist (-m)" help="-1 for no limit" /> - <conditional name="bestOption"> - <param name="best" 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="maxBacktracks" type="integer" value="125" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" /> - </when> - <when value="doBest"> - <param name="maxBacktracks" type="integer" value="800" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" /> - <param name="strata" 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 name="cOffrate" type="integer" value="5" label="How many rows get marked during annotation of some or all of the Burrows-Wheeler rows (-o)" /> + <param name="cFtab" 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="cNtoa" 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> - </when> - </conditional> - <param name="offrate" type="integer" value="-1" label="Override the offrate of the index to n (-o)" help="-1 for default" /> - <param name="seed" type="integer" value="-1" label="Seed for pseudo-random number generator (--seed)" help="-1 for default" /> - </when> <!-- full --> - </conditional> <!-- params --> - </when> <!-- paired --> - </conditional> <!-- singlePaired --> + <param name="cEndian" 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="cSeed" type="integer" value="-1" label="Seed for the pseudorandom number generator (--seed)" help="Use -1 to use default" /> + <param name="cCutoff" type="integer" value="-1" label="Number of first bases of the reference sequence to index (--cutoff)" help="Use -1 to use default" /> + </when> <!-- cIndexFull --> + </conditional> <!-- cIndexParams --> + </when> <!-- cHistory --> + </conditional> <!-- cRefGenomeSource --> + <conditional name="cSinglePaired"> + <param name="cSPaired" type="select" label="Is this library mate-paired?"> + <option value="cSingle">Single-end</option> + <option value="cPaired">Paired-end</option> + </param> + <when value="cSingle"> + <param name="csInput1" type="data" format="fastqsanger" label="FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/> + <conditional name="csParams"> + <param name="csSettingsType" 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="csPreSet">Commonly used</option> + <option value="csFull">Full parameter list</option> + </param> + <when value="csPreSet" /> + <when value="csFull"> + <param name="csSkip" type="integer" value="0" label="Skip the first n reads (-s)" /> + <param name="csAlignLimit" type="integer" value="-1" label="Only align the first n reads (-u)" help="-1 for off" /> + <param name="csTrimH" type="integer" value="0" label="Trim n bases from high-quality (left) end of each read before alignment (-5)" /> + <param name="csTrimL" type="integer" value="0" label="Trim n bases from low-quality (right) end of each read before alignment (-3)" /> + <param name="csMismatchSeed" type="integer" value="2" label="Maximum number of mismatches permitted in the seed (-n)" help="May be 0, 1, 2, or 3" /> + <param name="csMismatchQual" type="integer" value="70" label="Maximum permitted total of quality values at mismatched read positions (-e)" /> + <param name="csSeedLen" type="integer" value="28" label="Seed length (-l)" help="Minimum value is 5" /> + <param name="csRounding" 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="csMaqSoapAlign" type="integer" value="-1" label="Number of mismatches for SOAP-like alignment policy (-v)" help="-1 for default MAQ-like alignment policy" /> + <param name="csTryHard" 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="csValAlign" type="integer" value="1" label="Report up to n valid arguments per read (-k)" /> + <param name="csAllValAligns" 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="csSuppressAlign" type="integer" value="-1" label="Suppress all alignments for a read if more than n reportable alignments exist (-m)" help="-1 for no limit" /> + <conditional name="csBestOption"> + <param name="csBest" 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="csNoBest">Do not use best</option> + <option value="csDoBest">Use best</option> + </param> + <when value="csNoBest"> + <param name="csnMaxBacktracks" type="integer" value="125" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" /> + </when> + <when value="csDoBest"> + <param name="csdMaxBacktracks" type="integer" value="800" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" /> + <param name="csdStrata" 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> <!-- csBestOption --> + <param name="csOffrate" type="integer" value="-1" label="Override the offrate of the index to n (-o)" help="-1 for default" /> + <param name="csSeed" type="integer" value="-1" label="Seed for pseudo-random number generator (--seed)" help="-1 for default" /> + <param name="csSnpphred" type="integer" value="-1" label="SNP penalty (ratio of SNPs per base in the subject genome) (--snpphred)" help="Enter this OR Ratio of SNPs per base" /> + <param name="csSnpfrac" type="float" value="0.001" label="Ratio of SNPs per base (estimated ratio for colorspace alignments) (--snpfrac)" help="Enter this OR SNP penalty" /> + <param name="csKeepends" type="select" label="Keep the extreme-ends nucleotides and qualities rather than trimming them (--keepends)"> + <option value="doKeepends">Keep ends</option> + <option value="noKeepends">Trim ends</option> + </param> + </when> <!-- csFull --> + </conditional> <!-- csParams --> + </when> <!-- cSingle --> + <when value="cPaired"> + <param name="cpInput1" type="data" format="fastqsanger" label="FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/> + <param name="cpInput2" type="data" format="fastqsanger" label="Reverse FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/> + <conditional name="cpParams"> + <param name="cpSettingsType" 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="cpPreSet">Commonly used</option> + <option value="cpFull">Full parameter list</option> + </param> + <when value="cpPreSet" /> + <when value="cpFull"> + <param name="cpSkip" type="integer" value="0" label="Skip the first n pairs (-s)" /> + <param name="cpAlignLimit" type="integer" value="-1" label="Only align the first n pairs (-u)" help="-1 for off" /> + <param name="cpTrimH" type="integer" value="0" label="Trim n bases from high-quality (left) end of each read before alignment (-5)" /> + <param name="cpTrimL" type="integer" value="0" label="Trim n bases from low-quality (right) end of each read before alignment (-3)" /> + <param name="cpMismatchSeed" type="integer" value="2" label="Maximum number of mismatches permitted in the seed (-n)" help="May be 0, 1, 2, or 3" /> + <param name="cpMismatchQual" type="integer" value="70" label="Maximum permitted total of quality values at mismatched read positions (-e)" /> + <param name="cpSeedLen" type="integer" value="28" label="Seed length (-l)" help="Minimum value is 5" /> + <param name="cpRounding" 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="cpMaqSoapAlign" type="integer" value="-1" label="Number of mismatches for SOAP-like alignment policy (-v)" help="-1 for default MAQ-like alignment policy" /> + <param name="cpMinInsert" type="integer" value="0" label="Minimum insert size for valid paired-end alignments (-I)" /> + <param name="cpMaxInsert" type="integer" value="250" label="Maximum insert size for valid paired-end alignments (-X)" /> + <param name="cpMateOrient" type="select" label="The upstream/downstream mate orientation for valid paired-end alignment against the forward reference strand (--fr/--rf/--ff)"> + <option value="fr">FR (for Illumina)</option> + <option value="rf">RF</option> + <option value="ff">FF</option> + </param> + <param name="cpMaxAlignAttempt" 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="cpForwardAlign" type="select" label="Choose whether or not to attempt to align 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="cpReverseAlign" type="select" label="Choose whether or not 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="cpTryHard" 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="cpValAlign" type="integer" value="1" label="Report up to n valid arguments per pair (-k)" /> + <param name="cpAllValAligns" 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="cpSuppressAlign" type="integer" value="-1" label="Suppress all alignments for a pair if more than n reportable alignments exist (-m)" help="-1 for no limit" /> + <conditional name="cpBestOption"> + <param name="cpBest" 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="cpNoBest">Do not use best</option> + <option value="cpDoBest">Use best</option> + </param> + <when value="cpNoBest"> + <param name="cpnMaxBacktracks" type="integer" value="125" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" /> + </when> + <when value="cpDoBest"> + <param name="cpdMaxBacktracks" type="integer" value="800" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" /> + <param name="cpdStrata" 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> <!-- cpBestOption --> + <param name="cpOffrate" type="integer" value="-1" label="Override the offrate of the index to n (-o)" help="-1 for default" /> + <param name="cpSeed" type="integer" value="-1" label="Seed for pseudo-random number generator (--seed)" help="-1 for default" /> + <param name="cpSnpphred" type="integer" value="-1" label="SNP penalty (ratio of SNPs per base in the subject genome) (--snpphred)" help="Enter this OR Ratio of SNPs per base" /> + <param name="cpSnpfrac" type="float" value="0.001" label="Ratio of SNPs per base (estimated ratio for colorspace alignments) (--snpfrac)" help="Enter this OR SNP penalty" /> + <param name="cpKeepends" type="select" label="Keep the extreme-ends nucleotides and qualities rather than trimming them (--keepends)"> + <option value="doKeepends">Keep ends</option> + <option value="noKeepends">Trim ends</option> + </param> + </when> <!-- cpFull --> + </conditional> <!-- cpParams --> + </when> <!-- cPaired --> + </conditional> <!-- cSinglePaired --> + </when> <!-- solid --> + <when value="solexa"> + <conditional name="xRefGenomeSource"> + <param name="xGenomeSource" 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="xIndexed">Use a built-in index</option> + <option value="xHistory">Use one from the history</option> + </param> + <when value="xIndexed"> + <param name="xIndex" type="select" label="Select the reference genome" help="if your genome of interest is not listed - contact Galaxy team"> + <options from_file="bowtie_indices.loc"> + <column name="value" index="1" /> + <column name="name" index="0" /> + </options> + </param> + </when> + <when value="xHistory"> + <param name="xOwnFile" type="data" format="fasta" metadata_name="dbkey" label="Select a reference genome" /> + <conditional name="xIndexParams"> + <param name="xIndexSettings" type="select" label="Choose whether to use default options for building indices or to set your own"> + <option value="xIndexPreSet">Default</option> + <option value="xIndexFull">Set your own</option> + </param> + <when value="xIndexPreSet" /> + <when value="xIndexFull"> + <conditional name="xAutoBehavior"> + <param name="xAutoB" 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="xAuto">Automatic behavior</option> + <option value="xSet">Set values (sets --noauto and allows others to be set)</option> + </param> + <when value="xAuto" /> + <when value="xSet"> + <param name="xPacked" type="select" label="Whether or not to use a packed representation for DNA strings (-p)"> + <option value="unpacked">Use regular representation</option> + <option value="packed">Use packed representation</option> + </param> + <param name="xBmax" 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="xBmaxdivn" 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="xDcv" type="integer" value="1024" label="The period for the difference-cover sample (--dcv)" /> + </when> + </conditional> + <param name="xNodc" 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 (a very repetitive reference)"> + <option value="dc">Use difference-cover sample</option> + <option value="nodc">Disable difference-cover sample</option> + </param> + <param name="xNoref" 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="xOffrate" type="integer" value="5" label="How many rows get marked during annotation of some or all of the Burrows-Wheeler rows (-o)" /> + <param name="xFtab" 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="xNtoa" 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="xEndian" 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="xSeed" type="integer" value="-1" label="Seed for the pseudorandom number generator (--seed)" help="Use -1 to use default" /> + <param name="xCutoff" type="integer" value="-1" label="Number of first bases of the reference sequence to index (--cutoff)" help="Use -1 to use default" /> + </when> <!-- xIndexFull --> + </conditional> <!-- xIndexParams --> + </when> <!-- xHistory --> + </conditional> <!-- xRefGenomeSource --> + <conditional name="xSinglePaired"> + <param name="xSPaired" type="select" label="Is this library mate-paired?"> + <option value="xSingle">Single-end</option> + <option value="xPaired">Paired-end</option> + </param> + <when value="xSingle"> + <param name="xsInput1" type="data" format="fastqsanger" label="FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/> + <conditional name="xsParams"> + <param name="xsSettingsType" 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="xsPreSet">Commonly used</option> + <option value="xsFull">Full parameter list</option> + </param> + <when value="xsPreSet" /> + <when value="xsFull"> + <param name="xsSkip" type="integer" value="0" label="Skip the first n reads (-s)" /> + <param name="xsAlignLimit" type="integer" value="-1" label="Only align the first n reads (-u)" help="-1 for off" /> + <param name="xsTrimH" type="integer" value="0" label="Trim n bases from high-quality (left) end of each read before alignment (-5)" /> + <param name="xsTrimL" type="integer" value="0" label="Trim n bases from low-quality (right) end of each read before alignment (-3)" /> + <param name="xsMismatchSeed" type="integer" value="2" label="Maximum number of mismatches permitted in the seed (-n)" help="May be 0, 1, 2, or 3" /> + <param name="xsMismatchQual" type="integer" value="70" label="Maximum permitted total of quality values at mismatched read positions (-e)" /> + <param name="xsSeedLen" type="integer" value="28" label="Seed length (-l)" help="Minimum value is 5" /> + <param name="xsRounding" 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="xsMaqSoapAlign" type="integer" value="-1" label="Number of mismatches for SOAP-like alignment policy (-v)" help="-1 for default MAQ-like alignment policy" /> + <param name="xsTryHard" 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="xsValAlign" type="integer" value="1" label="Report up to n valid arguments per read (-k)" /> + <param name="xsAllValAligns" 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="xsSuppressAlign" type="integer" value="-1" label="Suppress all alignments for a read if more than n reportable alignments exist (-m)" help="-1 for no limit" /> + <conditional name="xsBestOption"> + <param name="xsBest" 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="xsNoBest">Do not use best</option> + <option value="xsDoBest">Use best</option> + </param> + <when value="xsNoBest"> + <param name="xsnMaxBacktracks" type="integer" value="125" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" /> + </when> + <when value="xsDoBest"> + <param name="xsdMaxBacktracks" type="integer" value="800" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" /> + <param name="xsdStrata" 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> <!-- xsBestOption --> + <param name="xsOffrate" type="integer" value="-1" label="Override the offrate of the index to n (-o)" help="-1 for default" /> + <param name="xsSeed" type="integer" value="-1" label="Seed for pseudo-random number generator (--seed)" help="-1 for default" /> + </when> <!-- xsFull --> + </conditional> <!-- xsParams --> + </when> <!-- xSingle --> + <when value="xPaired"> + <param name="xpInput1" type="data" format="fastqsanger" label="Forward FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/> + <param name="xpInput2" type="data" format="fastqsanger" label="Reverse FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/> + <conditional name="xpParams"> + <param name="xpSettingsType" 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="xpPreSet">Commonly used</option> + <option value="xpFull">Full parameter list</option> + </param> + <when value="xpPreSet" /> + <when value="xpFull"> + <param name="xpSkip" type="integer" value="0" label="Skip the first n pairs (-s)" /> + <param name="xpAlignLimit" type="integer" value="-1" label="Only align the first n pairs (-u)" help="-1 for off" /> + <param name="xpTrimH" type="integer" value="0" label="Trim n bases from high-quality (left) end of each read before alignment (-5)" /> + <param name="xpTrimL" type="integer" value="0" label="Trim n bases from low-quality (right) end of each read before alignment (-3)" /> + <param name="xpMismatchSeed" type="integer" value="2" label="Maximum number of mismatches permitted in the seed (-n)" help="May be 0, 1, 2, or 3" /> + <param name="xpMismatchQual" type="integer" value="70" label="Maximum permitted total of quality values at mismatched read positions (-e)" /> + <param name="xpSeedLen" type="integer" value="28" label="Seed length (-l)" help="Minimum value is 5" /> + <param name="xpRounding" 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="xpMaqSoapAlign" type="integer" value="-1" label="Number of mismatches for SOAP-like alignment policy (-v)" help="-1 for default MAQ-like alignment policy" /> + <param name="xpMinInsert" type="integer" value="0" label="Minimum insert size for valid paired-end alignments (-I)" /> + <param name="xpMaxInsert" type="integer" value="250" label="Maximum insert size for valid paired-end alignments (-X)" /> + <param name="xpMateOrient" type="select" label="The upstream/downstream mate orientation for valid paired-end alignment against the forward reference strand (--fr/--rf/--ff)"> + <option value="fr">FR (for Illumina)</option> + <option value="rf">RF</option> + <option value="ff">FF</option> + </param> + <param name="xpMaxAlignAttempt" 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="xpForwardAlign" type="select" label="Choose whether or not to attempt to align 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="xpReverseAlign" type="select" label="Choose whether or not 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="xpTryHard" 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="xpValAlign" type="integer" value="1" label="Report up to n valid arguments per pair (-k)" /> + <param name="xpAllValAligns" 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="xpSuppressAlign" type="integer" value="-1" label="Suppress all alignments for a pair if more than n reportable alignments exist (-m)" help="-1 for no limit" /> + <conditional name="xpBestOption"> + <param name="xpBest" 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="xpNoBest">Do not use best</option> + <option value="xpDoBest">Use best</option> + </param> + <when value="xpNoBest"> + <param name="xpnMaxBacktracks" type="integer" value="125" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" /> + </when> + <when value="xpDoBest"> + <param name="xpdMaxBacktracks" type="integer" value="800" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" /> + <param name="xpdStrata" 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> <!-- xpBestOption --> + <param name="xpOffrate" type="integer" value="-1" label="Override the offrate of the index to n (-o)" help="-1 for default" /> + <param name="xpSeed" type="integer" value="-1" label="Seed for pseudo-random number generator (--seed)" help="-1 for default" /> + </when> <!-- xpFull --> + </conditional> <!-- xpParams --> + </when> <!-- xPaired --> + </conditional> <!-- xSinglePaired --> + </when> <!-- solexa --> + </conditional> <!-- solidOrSolexa --> <param name="suppressHeader" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Suppress the header in the output SAM file" help="Bowtie produces SAM with several lines of header information" /> </inputs> <outputs> @@ -328,83 +782,257 @@ </outputs> <tests> <test> - <param name="genomeSource" value="indexed" /> - <param name="indices" value="chrM" /> - <param name="sPaired" value="single" /> - <param name="input1" ftype="fastqsanger" value="bowtie_in1.fastq" /> - <param name="settings_type" value="pre_set" /> + <!-- + Bowtie command: + bowtie -p 4 -S +sam-nohead -q -C chrM_color test-data/bowtie_in1.fastqsanger > test-data/bowtie_out1.sam + -p is the number of threads, which is hardcoded above. You need to replace the + with 2 dashes. + chrM_color needs to be the base location/name of the index files. + --> + <param name="dataType" value="solid" /> + <param name="cGenomeSource" value="cIndexed" /> + <param name="cIndex" value="equCab2chrM" /> + <param name="cSPaired" value="cSingle" /> + <param name="csInput1" ftype="fastqsanger" value="bowtie_in1.fastqsanger" /> + <param name="csSettingsType" value="csPreSet" /> <param name="suppressHeader" value="true" /> <output name="output" ftype="sam" file="bowtie_out1.sam" /> </test> <test> - <param name="genomeSource" value="history" /> - <param name="ownFile" value="chr_m.fasta" /> - <param name="index_settings" value="index_pre_set" /> - <param name="sPaired" value="paired" /> - <param name="input1" ftype="fastqsanger" value="bowtie_in2.fastq" /> - <param name="input2" ftype="fastqsanger" value="bowtie_in3.fastq" /> - <param name="settings_type" value="pre_set" /> + <!-- + Bowtie command: + bowtie -p 4 -S +sam-nohead -q chrM_base test-data/bowtie_in2.fastqsanger > test-data/bowtie_out2.sam + -p is the number of threads, which is hardcoded above. You need to replace the + with 2 dashes. + chrM_base needs to be the base location/name of the index files. + --> + <param name="dataType" value="solexa" /> + <param name="xGenomeSource" value="xIndexed" /> + <param name="xIndex" value="equCab2chrM" /> + <param name="xSPaired" value="xSingle" /> + <param name="xsInput1" ftype="fastqsanger" value="bowtie_in2.fastqsanger" /> + <param name="xsSettingsType" value="xsPreSet" /> <param name="suppressHeader" value="true" /> <output name="output" ftype="sam" file="bowtie_out2.sam" /> </test> <test> - <param name="genomeSource" value="history" /> - <param name="ownFile" value="chr_m.fasta" /> - <param name="index_settings" value="index_full" /> - <param name="auto_b" value="set" /> - <param name="packed" value="unpacked" /> - <param name="bmax" value="-1" /> - <param name="bmaxdivn" value="4" /> - <param name="dcv" value="2048" /> - <param name="nodc" value="dc" /> - <param name="noref" value="noref" /> - <param name="offrate" value="6" /> - <param name="ftab" value="10" /> - <param name="ntoa" value="yes" /> - <param name="endian" value="little" /> - <param name="seed" value="-1" /> - <param name="cutoff" value="-1" /> - <param name="sPaired" value="single" /> - <param name="input1" ftype="fastqsanger" value="bowtie_in1.fastq" /> - <param name="settings_type" value="pre_set" /> - <param name="suppressHeader" value="true" /> - <output name="output" ftype="sam" file="bowtie_out1.sam" /> - </test> - <test> - <param name="genomeSource" value="indexed" /> - <param name="indices" value="chrM" /> - <param name="sPaired" value="paired" /> - <param name="input1" ftype="fastqsanger" value="bowtie_in2.fastq" /> - <param name="input2" ftype="fastqsanger" value="bowtie_in3.fastq" /> - <param name="settings_type" value="full" /> - <param name="skip" value="0" /> - <param name="alignLimit" value="-1" /> - <param name="trimL" value="0" /> - <param name="trimH" value="0" /> - <param name="mismatchSeed" value="3" /> - <param name="mismatchQual" value="50" /> - <param name="seedLen" value="10" /> - <param name="rounding" value="round" /> - <param name="maqSoapAlign" value="-1" /> - <param name="minInsert" value="0" /> - <param name="maxInsert" value="250" /> - <param name="mateOrient" value="fr" /> - <param name="maxAlignAttempt" value="100" /> - <param name="forwardAlign" value="forward" /> - <param name="reverseAlign" value="reverse" /> - <param name="tryHard" value="doTryHard" /> - <param name="valAlign" value="1" /> - <param name="allValAligns" value="noAllValAligns" /> - <param name="suppressAlign" value="-1" /> - <param name="best" value="doBest" /> - <param name="maxBacktracks" value="800" /> - <param name="strata" value="noStrata" /> - <param name="offrate" value="-1" /> - <param name="seed" value="403" /> + <!-- + Bowtie command: + bowtie-build -f -C test-data/chr_m.fasta chrM_color + bowtie -n 2 -e 70 -l 28 -X 250 +fr +pairtries 100 +maxbts 125 -k 1 -C +snpfrac 0.001 +col-keepends -p 4 -S +sam-nohead -q chrM_color -1 test-data/bowtie_in3.fastqsanger -2 test-data/bowtie_in4.fastqsanger > test-data/bowtie_out3.sam + -p is the number of threads, hardcoded above. You need to replace the + with 2 dashes. + chrM_base is the index files' location/base name. + --> + <param name="dataType" value="solid" /> + <param name="cGenomeSource" value="cHistory" /> + <param name="cOwnFile" value="chr_m.fasta" /> + <param name="cIndexSettings" value="cIndexPreSet" /> + <param name="cSPaired" value="cPaired" /> + <param name="cpInput1" ftype="fastqsanger" value="bowtie_in3.fastqsanger" /> + <param name="cpInput2" ftype="fastqsanger" value="bowtie_in4.fastqsanger" /> + <param name="cpSettingsType" value="cpFull" /> + <param name="cpSkip" value="0" /> + <param name="cpAlignLimit" value="-1" /> + <param name="cpTrimH" value="0" /> + <param name="cpTrimL" value="0" /> + <param name="cpMismatchSeed" value="2" /> + <param name="cpMismatchQual" value="70" /> + <param name="cpSeedLen" value="28" /> + <param name="cpRounding" value="round" /> + <param name="cpMaqSoapAlign" value="-1" /> + <param name="cpMinInsert" value="0" /> + <param name="cpMaxInsert" value="250" /> + <param name="cpMateOrient" value="fr" /> + <param name="cpMaxAlignAttempt" value="100" /> + <param name="cpForwardAlign" value="forward" /> + <param name="cpReverseAlign" value="reverse" /> + <param name="cpTryHard" value="noTryHard" /> + <param name="cpValAlign" value="1" /> + <param name="cpAllValAligns" value="noAllValAligns" /> + <param name="cpSuppressAlign" value="-1" /> + <param name="cpBest" value="cpNoBest" /> + <param name="cpnMaxBacktracks" value="125" /> + <param name="cpOffrate" value="-1" /> + <param name="cpSeed" value="-1" /> + <param name="cpSnpphred" value="-1" /> + <param name="cpSnpfrac" value="0.001" /> + <param name="cpKeepends" value="doKeepends" /> <param name="suppressHeader" value="true" /> <output name="output" ftype="sam" file="bowtie_out3.sam" /> </test> + <test> + <!-- + Bowtie command: + bowtie-build -f test-data/chr_m.fasta chrM_base + bowtie -n 2 -e 70 -l 28 -X 250 +fr +pairtries 100 +maxbts 800 -k 1 +best -p 4 -S +sam-nohead -q chrM_base -1 test-data/bowtie_in5.fastqsanger -2 test-data/bowtie_in6.fastqsanger > test-data/bowtie_out4.sam + -p is the number of threads, hardcoded above. You need to replace the + with 2 dashes. + chrM_base is the index files' location/base name. + --> + <param name="dataType" value="solexa" /> + <param name="xGenomeSource" value="xHistory" /> + <param name="xOwnFile" value="chr_m.fasta" /> + <param name="xIndexSettings" value="xIndexPreSet" /> + <param name="xSPaired" value="xPaired" /> + <param name="xpInput1" ftype="fastqsanger" value="bowtie_in5.fastqsanger" /> + <param name="xpInput2" ftype="fastqsanger" value="bowtie_in6.fastqsanger" /> + <param name="xpSettingsType" value="xpFull" /> + <param name="xpSkip" value="0" /> + <param name="xpAlignLimit" value="-1" /> + <param name="xpTrimH" value="0" /> + <param name="xpTrimL" value="0" /> + <param name="xpMismatchSeed" value="2" /> + <param name="xpMismatchQual" value="70" /> + <param name="xpSeedLen" value="28" /> + <param name="xpRounding" value="round" /> + <param name="xpMaqSoapAlign" value="-1" /> + <param name="xpMinInsert" value="0" /> + <param name="xpMaxInsert" value="250" /> + <param name="xpMateOrient" value="fr" /> + <param name="xpMaxAlignAttempt" value="100" /> + <param name="xpForwardAlign" value="forward" /> + <param name="xpReverseAlign" value="reverse" /> + <param name="xpTryHard" value="noTryHard" /> + <param name="xpValAlign" value="1" /> + <param name="xpAllValAligns" value="noAllValAligns" /> + <param name="xpSuppressAlign" value="-1" /> + <param name="xpBest" value="xpDoBest" /> + <param name="xpdMaxBacktracks" value="800" /> + <param name="xpdStrata" value="noStrata" /> + <param name="xpOffrate" value="-1" /> + <param name="xpSeed" value="-1" /> + <param name="suppressHeader" value="true" /> + <output name="output" ftype="sam" file="bowtie_out4.sam" /> + </test> +<!-- Comment out tests 5 and 6 because they are failing for an unknown reason + <test> +--> <!-- + Bowtie command: + bowtie -n 2 -e 70 -l 28 +maxbts 125 -k 1 -C +snpfrac 0.001 +col-keepends -p 4 -S +sam-nohead -q chrM_color test-data/bowtie_in1.fastqsanger > test-data/bowtie_out5.sam + -p is the number of threads, hardcoded above. You need to replace the + with 2 dashes. + chrM_base is the index files' location/base name. + --> +<!-- <param name="dataType" value="solid" /> + <param name="cGenomeSource" value="cIndexed" /> + <param name="cIndex" value="equCab2chrM" /> + <param name="cSPaired" value="cSingle" /> + <param name="csInput1" value="bowtie_in1.fastqsanger" /> + <param name="csSettingsType" value="csFull" /> + <param name="csSkip" value="0" /> + <param name="csAlignLimit" value="-1" /> + <param name="csTrimH" value="0" /> + <param name="csTrimL" value="0" /> + <param name="csMismatchSeed" value="2" /> + <param name="csMismatchQual" value="70" /> + <param name="csSeedLen" value="28" /> + <param name="csRounding" value="round" /> + <param name="csMaqSoapAlign" value="-1" /> + <param name="csTryHard" value="noTryHard" /> + <param name="csValAlign" value="1" /> + <param name="csAllValAligns" value="noAllValAligns" /> + <param name="csSuppressAlign" value="-1" /> + <param name="csBest" value="csNoBest" /> + <param name="csnMaxBacktracks" value="125" /> + <param name="csOffrate" value="-1" /> + <param name="csSeed" value="-1" /> + <param name="csSnpphred" value="-1" /> + <param name="csSnpfrac" value="0.001" /> + <param name="csKeepends" value="doKeepends" /> + <param name="suppressHeader" value="true" /> + <output name="output" ftype="sam" file="bowtie_out5.sam" /> + </test> + <test> +--> <!-- + Bowtie command: + bowtie -n 2 -e 70 -l 28 -k 1 +maxbts 125 -y -p 4 -S +sam-nohead -q chrM_base test-data/bowtie_in2.fastqsanger > test-data/bowtie_out6.sam + -p is the number of threads, hardcoded above. You need to replace the + with 2 dashes. + chrM_base is the index files' location/base name. + --> +<!-- <param name="dataType" value="solexa" /> + <param name="xGenomeSource" value="xIndexed" /> + <param name="xIndex" value="equCab2chrM" /> + <param name="xSPaired" value="xSingle" /> + <param name="xsInput1" value="bowtie_in2.fastqsanger" /> + <param name="xsSettingsType" value="xsFull" /> + <param name="xsSkip" value="0" /> + <param name="xsAlignLimit" value="-1" /> + <param name="xsTrimH" value="0" /> + <param name="xsTrimL" value="0" /> + <param name="xsMismatchSeed" value="2" /> + <param name="xsMismatchQual" value="70" /> + <param name="xsSeedLen" value="28" /> + <param name="xsRounding" value="round" /> + <param name="xsMaqSoapAlign" value="-1" /> + <param name="xsTryHard" value="doTryHard" /> + <param name="xsValAlign" value="1" /> + <param name="xsAllValAligns" value="noAllValAligns" /> + <param name="xsSuppressAlign" value="-1" /> + <param name="xsBest" value="xsNoBest" /> + <param name="xsnMaxBacktracks" value="125" /> + <param name="xsOffrate" value="-1" /> + <param name="xsSeed" value="-1" /> + <param name="suppressHeader" value="true" /> + <output name="output" ftype="sam" file="bowtie_out6.sam" /> + </test> +--> <test> + <!-- + Bowtie command: + bowtie-build +noauto +bmaxdivn 4 +dcv 1024 +offrate 5 +ftabchars 10 +little -C -f test-data/chr_m.fasta chrM_color + bowtie -p 4 -S +sam-nohead -q -C chrM_color -1 test-data/bowtie_in3.fastqsanger -2 test-data/bowtie_in4.fastqsanger > test-data/bowtie_out7.sam + -p is the number of threads, hardcoded above. You need to replace the + with 2 dashes. + chrM_base is the index files' location/base name. + --> + <param name="dataType" value="solid" /> + <param name="cGenomeSource" value="cHistory" /> + <param name="cOwnFile" value="chr_m.fasta" /> + <param name="cIndexSettings" value="cIndexFull" /> + <param name="cAutoB" value="cSet" /> + <param name="cPacked" value="unpacked" /> + <param name="cBmax" value="-1" /> + <param name="cBmaxdivn" value="4" /> + <param name="cDcv" value="1024" /> + <param name="cNodc" value="dc" /> + <param name="cNoref" value="ref" /> + <param name="cOffrate" value="5" /> + <param name="cFtab" value="10" /> + <param name="cNtoa" value="no" /> + <param name="cEndian" value="little" /> + <param name="cSeed" value="-1" /> + <param name="cCutoff" value="-1" /> + <param name="cSPaired" value="cPaired" /> + <param name="cpInput1" ftype="fastqsanger" value="bowtie_in3.fastqsanger" /> + <param name="cpInput2" ftype="fastqsanger" value="bowtie_in4.fastqsanger" /> + <param name="cpSettingsType" value="cpPreSet" /> + <param name="suppressHeader" value="true" /> + <output name="output" ftype="sam" file="bowtie_out7.sam" /> + </test> + <test> + <!-- + Bowtie command: + bowtie-build +offrate 5 +ftabchars 10 +little -f test-data/chr_m.fasta chrM_base + bowtie -p 4 -S +sam-nohead -q chrM_base -1 test-data/bowtie_in5.fastqsanger -2 test-data/bowtie_in6.fastqsanger > test-data/bowtie_out8.sam + -p is the number of threads, hardcoded above. You need to replace the + with 2 dashes. + chrM_base is the index files' location/base name. + --> + <param name="dataType" value="solexa" /> + <param name="xGenomeSource" value="xHistory" /> + <param name="xOwnFile" value="chr_m.fasta" /> + <param name="xIndexSettings" value="xIndexFull" /> + <param name="xAutoB" value="xAuto" /> + <param name="xNodc" value="dc" /> + <param name="xNoref" value="ref" /> + <param name="xOffrate" value="5" /> + <param name="xFtab" value="10" /> + <param name="xNtoa" value="no" /> + <param name="xEndian" value="little" /> + <param name="xSeed" value="-1" /> + <param name="xCutoff" value="-1" /> + <param name="xSPaired" value="xPaired" /> + <param name="xpInput1" ftype="fastqsanger" value="bowtie_in5.fastqsanger" /> + <param name="xpInput2" ftype="fastqsanger" value="bowtie_in6.fastqsanger" /> + <param name="xpSettingsType" value="xpPreSet" /> + <param name="suppressHeader" value="true" /> + <output name="output" ftype="sam" file="bowtie_out8.sam" /> + </test> </tests> + <help> **What it does** @@ -526,6 +1154,9 @@ --strata Best strata. When running in best mode, report alignments that fall into the best stratum if there are ones falling into more than one. [off] -o <int> Offrate override. Override the offrate of the index with <int>. Some row markings are discarded when index read into memory. <int> must be greater than the value used to build the index (default: 5). [off] --seed <int> Random seed. Use <int> as the seed for the pseudo-random number generator. [off] + --snpphred <int> Use <int> as the SNP penalty for decoding colorspace alignments. True ratio of SNPs per base in the subject genome. [see --snpfrac] + --snpfrac <dec> Use <dec> as the estimated ratio of SNPs per base when decoding colorspace alignments. [0.001] + --col-keepends Keep the extreme-end nucleotides and qualities when decoding colorspace alignments. [off] </help> <code file="bowtie_wrapper_code.py" /> diff -r 61f1ec6c5b24 -r 56efe838b9af tools/sr_mapping/bowtie_wrapper_code.py --- a/tools/sr_mapping/bowtie_wrapper_code.py Mon Jan 11 16:35:16 2010 -0500 +++ b/tools/sr_mapping/bowtie_wrapper_code.py Mon Jan 11 17:04:45 2010 -0500 @@ -2,15 +2,21 @@ def exec_before_job(app, inp_data, out_data, param_dict, tool): try: - refFile = param_dict['refGenomeSource']['indices'].value + try: + refFile = param_dict[ 'solidOrSolexa' ][ 'cRefGenomeSource' ][ 'cIndex' ].value + except: + refFile = param_dict[ 'solidOrSolexa' ][ 'xRefGenomeSource' ][ 'xIndex' ].value except: try: - refFile = param_dict['refGenomeSource']['ownFile'].dbkey + try: + refFile = param_dict[ 'solidOrSolexa' ][ 'cRefGenomeSource' ][ 'cOwnFile' ].dbkey + except: + refFile = param_dict[ 'solidOrSolexa' ][ 'xRefGenomeSource' ][ 'xOwnFile' ].dbkey except: - out_data['output'].set_dbkey('?') + out_data[ 'output' ].set_dbkey( '?' ) return - dbkey = os.path.split(refFile)[1].split('.')[0] + dbkey = os.path.split( refFile )[1].split( '.' )[0] # deal with the one odd case - if dbkey.find('chrM') >= 0: + if dbkey.find( 'chrM' ) >= 0 or dbkey.find( 'chr_m' ) >= 0: dbkey = 'equCab2' - out_data['output'].set_dbkey(dbkey) + out_data[ 'output' ].set_dbkey(dbkey)