view tools/sr_mapping/lastz_paired_reads_wrapper.xml @ 1:cdcb0ce84a1b

author xuebing
date Fri, 09 Mar 2012 19:45:15 -0500
parents 9071e359b9a3
line wrap: on
line source

<tool id="lastz_paired_reads_wrapper" name="Lastz paired reads" version="1.1.1">
    <description> map short paired reads against reference sequence</description>
    <command interpreter="python">
      #if $seq_name.how_to_name=="yes":
      #end if
      #if $source.ref_source=="history":
        --input1="${ filter( lambda x: str( x[0] ) == str( $source.input1_2bit ), $__app__.tool_data_tables[ 'lastz_seqs' ].get_fields() )[0][-1] }"
      #end if
        <param name="input2" format="fasta" type="data" label="Align sequencing reads in" />
        <conditional name="source">
            <param name="ref_source" type="select" label="Against reference sequences that are">
                <option value="cached">locally cached</option>
                <option value="history">in your history</option>
            <when value="cached">
                <param name="input1_2bit" type="select" label="Using reference genome" help="If your genome of interest is not listed, contact the Galaxy team">
                    <options from_data_table="lastz_seqs" />
            <when value="history">
                <param name="input1" type="data" format="fasta" label="Select a reference dataset" />
        <param name="input3" format="fasta" type="data" label="Linker file" />
        <param name="input4" format="qual454" type="data" label="Select a base quality score 454 dataset" />
        <conditional name="seq_name">
            <param name="how_to_name" type="select" label="Do you want to modify the reference name?">
                <option value="no">No</option>
                <option value="yes">Yes</option>
            <when value="yes">
                <param name="ref_name" type="text" size="25" value="Type sequence name here" label="Enter name for the Reference sequence"/>
            <when value="no" />
        <data format="sam" name="output1" label="${} on ${on_string}: mapped reads" />
        <requirement type="package">lastz</requirement>
                input1: a reference genome ( 2bit or fasta )
                input2: a collection of 454 paired end reads ( a fasta file )
                input3: a linker sequence ( a very small fasta file )
                input4: a base quality score 454 file ( qual454 )
            <param name="input2" value="lastz_paired_input2.fasta" ftype="fasta" />
            <param name="ref_source" value="cached" />
            <param name="input1_2bit" value="/galaxy/data/hg18/seq/chr21.2bit" />
            <param name="input3" value="lastz_paired_input3.fasta" ftype="fasta" />
            <param name="input4" value="lastz_paired_input4.qual454" ftype="qual454" />
            <param name="how_to_name" value="no" />
            <output name="output1" file="lastz_paired_out1.sam" />
**What it does**    
**LASTZ** is a high performance pairwise sequence aligner derived from BLASTZ. It is written by Bob Harris in Webb Miller's laboratory at Penn State University. Special scoring sets were derived to improve runtime performance and quality. This Galaxy version of LASTZ is geared towards aligning short (Illumina/Solexa, AB/SOLiD) and medium (Roche/454) paired reads against a reference sequence. There is excellent, extensive documentation on LASTZ available here_. 

 .. _here:

**Input formats**

LASTZ accepts reference and reads in FASTA format. However, because Galaxy supports implicit format conversion the tool will recognize fastq and other method specific formats.



This LASTZ tool produces a SAM file showing sequence alignments.

**SAM output**

SAM has 12 columns::

                                   1     2     3         4   5    6  7         8     9                                    10                                     11  12
  HWI-EAS91_1_30788AAXX:1:2:1670:915    99  chr9  58119878  60  36M  =  58120234   392  GACCCCTACCCCACCGTGCTCTGGATCTCAGTGTTT   IIIIIIIIIIIIIIIIEIIIIIII7IIIIIIIIIII  XT:A:U  NM:i:0  SM:i:37  AM:i:37  X0:i:1  X1:i:0  XM:i:0  XO:i:0  XG:i:0  MD:Z:36
  HWI-EAS91_1_30788AAXX:1:2:1670:915   147  chr9  58120234  60  36M  =  58119878  -392  ATGAGTCGAATTCTATTTTCCAAACTGTTAACAAAA   IFIIDI;IIICIIIIIIIIIIIIIIIIIIIIIIIII  XT:A:U  NM:i:0  SM:i:37  AM:i:37  X0:i:1  X1:i:0  XM:i:0  XO:i:0  XG:i:0  MD:Z:36


     Column  Description
  ---------  ---------------------------------------------------------------------   
   1. QNAME  Query (pair) NAME
   2. FLAG   bitwise FLAG
   3. RNAME  Reference sequence NAME
   4. POS    1-based leftmost POSition/coordinate of clipped sequence
   5. MAPQ   MAPping Quality (Phred-scaled)
   6. CIGAR  extended CIGAR string
   7. MRNM   Mate Reference sequence NaMe ('=' if same as RNAME)
   8. MPOS   1-based Mate POSition
   9. ISIZE  Inferred insert SIZE
  10. SEQ    query SEQuence on the same strand as the reference
  11. QUAL   query QUALity (ASCII-33 gives the Phred base quality)
  12. OPT    variable OPTional fields in the format TAG:VTYPE:VALUE, tab-separated
The flags are as follows::

    Flag  Description
  ------  -------------------------------------
  0x0001  the read is paired in sequencing
  0x0002  the read is mapped in a proper pair
  0x0004  the query sequence itself is unmapped
  0x0008  the mate is unmapped
  0x0010  strand of the query (1 for reverse)
  0x0020  strand of the mate
  0x0040  the read is the first read in a pair
  0x0080  the read is the second read in a pair
  0x0100  the alignment is not primary


**Do you want to modify the reference name?**

This option allows you to set the name of the reference sequence manually. This is helpful when, for example, you would like to make the reference name compatible with the UCSC naming conventions to be able to display your lastz results as a custom track at the UCSC Genome Browser.


**LASTZ parameter list**

This is an exhaustive list of LASTZ options. Once again, please note that not all parameters are included in this interface. If you would like to make additional options available through Galaxy, e-mail us at

  target[[s..e]][-]       spec/file containing target sequence (fasta or nib)
                          [s..e] defines a subrange of the file
                          - indicates reverse-complement
                          (use --help=files for more details)
  query[[s..e]][-]        spec/file containing query sequences (fasta or nib)
                          if absent, queries come from stdin (unless they
                          aren't needed, as for --self or --tableonly)
                          (use --help=files for more details)
  --self                  the target sequence is also the query
  --quantum               the query sequence contains quantum DNA
  --seed=match&lt;length&gt;    use a word with no gaps instead of a seed pattern
  --seed=half&lt;length&gt;     use space-free half-weight word instead of seed pattern
  --match=&lt;reward&gt;[,&lt;penalty&gt;]   set the score values for a match (+&lt;reward&gt;)
                          and mismatch (-&lt;penalty&gt;)
  --[no]trans[ition][=2]         allow one or two transitions in a seed hit
                          (by default a transition is allowed)
  --word=&lt;bits&gt;           set max bits for word hash;  use this to trade time for
                          memory, eliminating thrashing for heavy seeds
                          (default is 28 bits)
  --[no]filter=[&lt;T&gt;:]&lt;M&gt;     filter half-weight seed hits, requiring at least M
                          matches and allowing no more than T transversions
                          (default is no filtering)
  --notwins               require just one seed hit
  --twins=[&lt;min&gt;:]&lt;maxgap&gt;   require two nearby seed hits on the same diagonal
                          (default is twins aren't required)
  --notwins               allow single, isolated seeds
  --[no]recoverseeds      avoid losing seeds in hash collisions. Cannot be used with --twins
  --seedqueue=&lt;entries&gt;   set number of entries in seed hit queue
                          (default is 262144)
  --anchors=&lt;file&gt;        read anchors from a file, instead of discovering anchors
                          via seeding
  --recoverhits           recover hash-collision seed hits
                          (default is not to recover seed hits)
  --step=&lt;length&gt;         set step length (default is 1)
  --maxwordcount=&lt;limit&gt;  words occurring more often than &lt;limit&gt; in the target
                          are not eligible for seeds
  --strand=both           search both strands
  --strand=plus           search + strand only (matching strand of query spec)
  --strand=minus          search - strand only (opposite strand of query spec)
                          (by default both strands are searched)
  --ambiguousn            treat N as an ambiguous nucleotide
                          (by default N is treated as a sequence splicing character)
  --[no]gfextend          perform gap-free extension of seed hits to HSPs
                          (by default no extension is performed)
  --[no]chain             perform chaining
  --chain=&lt;diag,anti&gt;     perform chaining with given penalties for diagonal and
                          (by default no chaining is performed)
  --[no]gapped            perform gapped alignment (instead of gap-free)
                          (by default gapped alignment is performed)
  --score[s]=&lt;file&gt;         read substitution scores from a file
                          (default is HOXD70)
  --unitscore[s]          scores are +1/-1 for match/mismatch
  --gap=&lt;[open,]extend&gt;   set gap open and extend penalties (default is 400,30)
  --xdrop=&lt;score&gt;         set x-drop threshold (default is 10*sub[A][A])
  --ydrop=&lt;score&gt;         set y-drop threshold (default is open+300extend)
  --infer[=&lt;control&gt;]     infer scores from the sequences, then use them
  --inferonly[=&lt;control&gt;]   infer scores, but don't use them (requires --infscores)
                          all inference options are read from the control file
  --infscores[=&lt;file&gt;]    write inferred scores to a file
  --hspthresh=&lt;score&gt;     set threshold for high scoring pairs (default is 3000)
                          ungapped extensions scoring lower are discarded
                          &lt;score&gt; can also be a percentage or base count
  --entropy               adjust for entropy when qualifying HSPs in the x-drop extension 
  --noentropy             don't adjust for entropy when qualifying HSPs
  --exact=&lt;length&gt;        set threshold for exact matches
                          if specified, exact matches are found rather than high
                          scoring pairs (replaces --hspthresh)
  --inner=&lt;score&gt;         set threshold for HSPs during interpolation
                          (default is no interpolation)
  --gappedthresh=&lt;score&gt;  set threshold for gapped alignments
                          gapped extensions scoring lower are discarded
                          &lt;score&gt; can also be a percentage or base count
                          (default is to use same value as --hspthresh)
  --ball=&lt;score&gt;          set minimum score required of words 'in' a quantum ball
  --[no]entropy           involve entropy in filtering high scoring pairs
                          (default is "entropy")
  --[no]mirror            report/use mirror image of all gap-free alignments
                          (default is "mirror" for self-alignments only)
  --traceback=&lt;bytes&gt;     space for trace-back information
                          (default is 80.0M)
  --masking=&lt;count&gt;       mask any position in target hit this many times
                          zero indicates no masking
                          (default is no masking)
  --targetcapsule=&lt;capsule_file&gt;   the target seed word position table and seed
                          (as well as the target sequence)are read from specified file
  --segments=&lt;segment_file&gt;   read segments from a file, instead of discovering
                          them via seeding. Replaces other seeding or gap-free extension
  --[no]census[=&lt;file&gt;]     count/report how many times each target base aligns
                          (default is to not report census)
  --identity=&lt;min&gt;[..&lt;max&gt;]   filter alignments by percent identity
                          0&lt;=min&lt;=max&lt;=100;  blocks (or HSPs) outside min..max
                          are discarded
                          (default is no identity filtering)
  --coverage=&lt;min&gt;[..&lt;max&gt;]   filter alignments by percentage pf query covered
                          0&lt;=min&lt;=max&lt;=100;  blocks (or HSPs) outside min..max
                          are discarded
                          (default is no query coverage filtering)
  --notrivial             do not output trivial self-alignment block if the target and query 
                          sequences are identical. Using --self enables this option automatically
  --output=&lt;output_file&gt;  write the alignments to the specified file name instead of stdout
  --code=&lt;file&gt;           give quantum code for query sequence (only for display)
  --format=&lt;type&gt;         specify output format; one of lav, axt, maf, maf+, maf-, text,
                          lav+text, cigar, text, rdplot, general, or general:&lt;fields&gt;
                          (by default output is LAV)
  --rdotplot=&lt;file&gt;       create an additional output file suitable for plotting the alignments 
                          with the R statistical package.
  --markend               Just before normal completion, write "# lastz end-of-file" to output file
  --census[=&lt;output_file&gt;]    count and report how many times each target base aligns, up 
                          to 255. Ns are included in the count
  --census16[=&lt;output_file&gt;]  count and report how many times each target base aligns, up
                          up 65 thousand
  --census32[=&lt;output_file&gt;]  count and report how many times each target bas aligns, up
                          to 4 billion
  --writecapsule=&lt;capsule_file&gt;    just write out a targegt capsule file and quit; don't 
                          search for seeds or perform subsequent stages
  --verbosity=&lt;level&gt;     set info level (0 is minimum, 10 is everything)
                          (default is 0)
  --[no]runtime           report runtime in the output file
                          (default is to not report runtime)
  --tableonly[=count]     just produce the target position table, don't
                          search for seeds
  --[no]stats[=&lt;file&gt;]    show search statistics (or don't)
                          (not available in this build)
  --version               report the program version and quit
  --help                  list all options
  --help=files            list information about file specifiers
  --help=short[cuts]      list blastz-compatible shortcuts
  --help=yasra            list yasra-specific shortcuts