view Codonlogo.xml @ 13:cd6c4bd14718

Uploaded
author davidmurphy
date Fri, 24 Feb 2012 09:26:11 -0500
parents 20716450be87
children 981eb8c3a756
line wrap: on
line source

<tool id="codonlogo" name="Codon Logo" version="3">
  <description>generator for fasta (eg Clustal alignments)</description>
  <command interpreter="python -W ignore::DeprecationWarning"> 
    codonlogo -F $outformat -s $size -f $input -o $output -t "$logoname" -m $frame -n $stacks -X $showxaxis --show-yaxis $showyaxis --errorbars $errorbars -G $strict --fineprint "$fineprint" --stack-width $stackwidth --stack-height $stackheight --box $box --resolution $resolution --scale-width $scalewidth

    #if str($ylabel) != ''
    -x "$xlabel" 
    #end if
    
    #if str( $ylabel) != ''
    -y "$ylabel"
    #end if
    
    #if str($range.mode) == 'part'
    -l "$range.seqstart" -u "$range.seqend" 
    #end if
    #if str($comp.mode) == 'equiprobable'
    --composition 'equiprobable' 
    #end if
    #if str($comp.mode) == 'none'
    --composition 'none' 
    #end if
    #if str($comp.mode) == 'file'
    -R $compfile 
    #end if
    #if str($comp.mode) == 'Escherichiacoli'
    --comp escherichiacoli
    #end if
    #if str($comp.mode) == 'Saccharomycescerevisiae'
    --comp saccharomycescerevisiae
    #end if
    #if str($comp.mode) == 'Homosapiens'
    --comp homosapiens
    #end if
    
    #if $colours.colour == 'part'
    
      #if str( $colours.colorAAA) != '' 
      -C $colours.colorAAA AAA "" 
      #end if
      
      #if str( $colours.colorAAC) != '' 
      -C $colours.colorAAC AAC "" 
      #end if
      
      #if str( $colours.colorAAG) != '' 
      -C  $colours.colorAAG AAG "" 
      #end if
      
      #if str( $colours.colorAAU) != '' 
      -C  $colours.colorAAU AAU "" 
      -C  $colours.colorAAU AAT "" 
      #end if
      
      #if str( $colours.colorACA) != '' 
      -C $colours.colorACA ACA "" 
      #end if
      
      #if str( $colours.colorACC) != '' 
      -C  $colours.colorACC  ACC "" 
      #end if
      
      #if str( $colours.colorACG) != '' 
      -C  $colours.colorACG ACG "" 
      #end if
      
      #if str( $colours.colorACU) != '' 
      -C  $colours.colorACU ACU "" 
      -C  $colours.colorACU ACT "" 
      #end if
      
      #if str( $colours.colorAGA) != '' 
      -C  $colours.colorAGA AGA "" 
      #end if
      
      #if str( $colours.colorAGC) != '' 
      -C  $colours.colorAGC AGC "" 
      #end if
      
      #if str( $colours.colorAGG) != '' 
      -C  $colours.colorAGG AGG "" 
      #end if
      
      #if str( $colours.colorAGU) != '' 
      -C  $colours.colorAGU AGU "" 
      -C  $colours.colorAGU AGT "" 
      #end if
      
      #if str( $colours.colorAUA) != '' 
      -C  $colours.colorAUA AUA "" 
      -C  $colours.colorAUA ATA "" 
      #end if
      
      #if str( $colours.colorAUC) != '' 
      -C  $colours.colorAUC AUC  "" 
      -C  $colours.colorAUC ATC "" 
      #end if
      
      #if str( $colours.colorAUG) != '' 
      -C  $colours.colorAUG AUG "" 
      -C  $colours.colorAUG ATG "" 
      #end if
      
      #if str( $colours.colorAUU) != '' 
      -C  $colours.colorAUU AUU "" 
      -C  $colours.colorAUU ATT "" 
      #end if
      
      #if str( $colours.colorCAA) != '' 
      -C  $colours.colorCAA CAA "" 
      #end if
      
      #if str( $colours.colorCAC) != '' 
      -C  $colours.colorCAC CAC "" 
      #end if
      
      #if str( $colours.colorCAG) != '' 
      -C  $colours.colorCAG CAG "" 
      #end if
      
      #if str( $colours.colorCAU) != '' 
      -C  $colours.colorCAU CAU "" 
      -C  $colours.colorCAU CAT "" 
      #end if
      
      #if str( $colours.colorCCA) != '' 
      -C  $colours.colorCCA CCA "" 
      #end if
      
      #if str( $colours.colorCCC) != '' 
      -C  $colours.colorCCC CCC "" 
      #end if
      
      #if str( $colours.colorCCG) != '' 
      -C  $colours.colorCCG CCG "" 
      #end if
      
      #if str( $colours.colorCCU) != '' 
      -C  $colours.colorCCU CCU "" 
      -C  $colours.colorCCU CCT "" 
      #end if
      
      #if str( $colours.colorCGA) != '' 
      -C  $colours.colorCGA CGA "" 
      #end if
      
      #if str( $colours.colorCGC) != '' 
      -C  $colours.colorCGC CGC "" 
      #end if
      
      #if str( $colours.colorCGG) != '' 
      -C  $colours.colorCGG CGG "" 
      #end if
      
      #if str( $colours.colorCGU) != '' 
      -C  $colours.colorCGU CGU "" 
      -C  $colours.colorCGU CGT "" 
      #end if
      
      #if str( $colours.colorCUA) != '' 
      -C  $colours.colorCUA CUA "" 
      -C  $colours.colorCUA CTA "" 
      #end if
      
      #if str( $colours.colorCUC) != '' 
      -C  $colours.colorCUC CUC "" 
      -C  $colours.colorCUC CTC "" 
      #end if
      
      #if str( $colours.colorCUG) != '' 
      -C  $colours.colorCUG CUG "" 
      -C  $colours.colorCUG CTG "" 
      #end if
      
      #if str( $colours.colorCUU) != '' 
      -C  $colours.colorCUU CUU "" 
      -C  $colours.colorCUU CTT "" 
      #end if
      
      #if str( $colours.colorGAA) != '' 
      -C  $colours.colorGAA GAA "" 
      #end if
      
      #if str( $colours.colorGAC) != '' 
      -C  $colours.colorGAC GAC "" 
      #end if
      
      #if str( $colours.colorGAG) != '' 
      -C  $colours.colorGAG GAG "" 
      #end if
      
      #if str( $colours.colorGAU) != '' 
      -C  $colours.colorGAU GAU "" 
      -C  $colours.colorGAU GAT "" 
      #end if
      
      #if str( $colours.colorGCA) != '' 
      -C  $colours.colorGCA GCA "" 
      #end if
      
      #if str( $colours.colorGCC) != '' 
      -C  $colours.colorGCC GCC "" 
      #end if
      
      #if str( $colours.colorGCG) != '' 
      -C  $colours.colorGCG GCG "" 
      #end if
      
      #if str( $colours.colorGCU) != '' 
      -C  $colours.colorGCU GCU "" 
      -C  $colours.colorGCU GCT "" 
      #end if
      
      #if str( $colours.colorGGA) != '' 
      -C  $colours.colorGGA GGA "" 
      #end if
      
      #if str( $colours.colorGGC) != '' 
      -C  $colours.colorGGC GGC "" 
      #end if
      
      #if str( $colours.colorGGG) != '' 
      -C  $colours.colorGGG GGG "" 
      #end if
      
      #if str( $colours.colorGGU) != '' 
      -C  $colours.colorGGU GGU "" 
      -C  $colours.colorGGU GGT ""
      #end if
      
      #if str( $colours.colorGUA) != '' 
      -C  $colours.colorGUA GUA "" 
      -C  $colours.colorGUA GTA "" 
      #end if
      
      #if str( $colours.colorGUC) != '' 
      -C $colours.colorGUC GUC "" 
      -C $colours.colorGUC GTC "" 
      #end if
      
      #if str( $colours.colorGUG) != '' 
      -C  $colours.colorGUG GUG "" 
      -C  $colours.colorGUG GTG "" 
      #end if
      
      #if str( $colours.colorGUU) != '' 
      -C  $colours.colorGUU GUU "" 
      -C  $colours.colorGUU GTT "" 
      #end if
      
      #if str( $colours.colorUAA) != '' 
      -C  $colours.colorUAA UAA "" 
      -C  $colours.colorUAA TAA "" 
      #end if
      
      #if str( $colours.colorUAC) != '' 
      -C  $colours.colorUAC UAC "" 
      -C  $colours.colorUAC TAC "" 
      #end if
      
      #if str( $colours.colorUAG) != '' 
      -C  $colours.colorUAG UAG "" 
      -C  $colours.colorUAG TAG "" 
      #end if
      
      #if str( $colours.colorUAU) != '' 
      -C  $colours.colorUAU UAU "" 
      -C  $colours.colorUAU TAT "" 
      #end if
      
      #if str( $colours.colorUCA) != '' 
      -C  $colours.colorUCA UCA "" 
      -C  $colours.colorUCA TCA "" 
      #end if
      
      #if str( $colours.colorUCC) != '' 
      -C  $colours.colorUCC UCC "" 
      -C  $colours.colorUCC TCC "" 
      #end if
      
      #if str( $colours.colorUCG) != '' 
      -C  $colours.colorUCG UCG "" 
      -C  $colours.colorUCG TCG "" 
      #end if
      
      #if str( $colours.colorUCU) != '' 
      -C  $colours.colorUCU UCU "" 
      -C  $colours.colorUCU TCT "" 
      #end if
      
      #if str( $colours.colorUGA) != '' 
      -C  $colours.colorUGA UGA "" 
      -C  $colours.colorUGA TGA "" 
      #end if
      
      #if str( $colours.colorUGC) != '' 
      -C  $colours.colorUGC UGC "" 
      -C  $colours.colorUGC TGC "" 
      #end if
      
      #if str( $colours.colorUGG) != '' 
      -C  $colours.colorUGG UGG "" 
      -C  $colours.colorUGG TGG "" 
      #end if
      
      #if str( $colours.colorUGU) != '' 
      -C  $colours.colorUGU UGU "" 
      -C  $colours.colorUGU TGT "" 
      #end if
      
      #if str( $colours.colorUUA) != '' 
      -C  $colours.colorUUA UUA "" 
      -C  $colours.colorUUA TTA "" 
      #end if
      
      #if str( $colours.colorUUC) != '' 
      -C  $colours.colorUUC UUC "" 
      -C  $colours.colorUUC TTC "" 
      #end if
      
      #if str( $colours.colorUUG) != '' 
      -C  $colours.colorUUG UUG "" 
      -C  $colours.colorUUG TTG "" 
      #end if
      
      #if str( $colours.colorUUU) != '' 
      -C  $colours.colorUUU UUU "" 
      -C  $colours.colorUUU TTT "" 
      #end if
   #end if  
    
  </command>
  <inputs>
    <page>
      <param format="text" name="input" type="data" label="Input file.(must be an aligned fasta file of sequences the same length, recommended to use sequences aligned by codon)" />
      
      <param name="logoname" label="Title for output Sequence Logo" type="text" size="50" value="" />
      
      <param name="outformat" type="select" label="Output format for image (or text report)" >
      <option value="png" selected="True">PNG screen quality</option>
      <option value="png_print">High quality printable PNG</option>
      <option value="pdf">PDF</option>
      <option value="jpeg">JPG</option>
      <option value="eps">EPS</option>
      <option value="txt">Text (shows the detailed calculations for each position - no image)</option>
    </param>
    <param name="resolution" size="5" type="integer" value="96" label="Bitmap resolution in dots per inch (DPI).For high quality printable PNG this should be set to 600" />

    <param name="frame" type="select" label="Frame to view the alignment. If reverse complement is selected then codonlogo will read from the last symbol in the sequences backwards and replace each base with it's complement." >
      <option value="0" selected="True">0</option>
      <option value="1">+1</option>
      <option value="2">+2</option>
      <option value="3">reverse complement 0</option>
      <option value="4">reverse complement +1</option>
      <option value="5">reverse complement +2</option>
    </param>
    <param name="stacks" size="5" type="integer" value="20" label="Number of stacks per line, default 20" />
    <param name="showxaxis" type="select" display="radio" label="Display sequence numbers along x-axis?" >
      <option value="True" selected="True">Yes</option>
      <option value="False">No</option>
    </param>
    <param name="xlabel" label="X-axis label" type="text" size="50" value="" />
    <param name="ylabel" label="Y-axis label" type="text" size="50" value="" />
    
    <param name="fineprint" label="The fine print." type="text" size="50" value="CodonLogo 1.1" />
    
    <param name="stackwidth" size="5" type="float" value="40.0" label="Width of a logo stack" />
    
    <param name="stackheight" size="5" type="integer" value="100" label="height of a logo stack" />
     <param name="box" type="select" display="radio" label="Draw boxes around symbols?" >
        <option value="True" >Yes</option>
        <option value="False" selected="True">No</option>
      </param>
      <param name="showyaxis" type="select" display="radio" label="Display entropy scale along y-axis?" >
        <option value="True" selected="True">Yes</option>
        <option value="False">No</option>
      </param>
      <param name="errorbars" type="select" display="radio" label="Display error bars?" >
        <option value="True" selected="True">Yes</option>
        <option value="False">No</option>
      </param>
      <param name="scalewidth" type="select" display="radio" label="Scale the visible stack width by the fraction of symbols in the column?" >
        <option value="True" selected="True">Yes</option>
        <option value="False">No</option>
      </param>
      <param name="strict" type="select" display="radio" label="Allow gaps which are not in groups of 3/ allow codons with ambiguous nucleotides." >
        <option value="False" selected="True">Yes</option>
        <option value="True" >No</option>
      </param>
  <conditional name="range">
        <param name="mode" type="select" label="Include entire sequence (default) or specify a subsequence range to use">
          <option value="complete" selected="true">complete sequence</option>
          <option value="part">Only use a part of the sequence</option>
        </param>
        <when value="complete">
        </when>
        <when value="part">    
           <param name="seqstart" size="5" type="integer" value="1" help="WARNING: Specifying codon numbers outside the sequence lengths will cause unpredictable but bad consequences!" 
             label="Index_start (eg 1=first codon) of the start of the sequence range to include in the logo">
           </param>
           <param name="seqend" size="5" type="integer" value="99999" label="Index_end (eg 75=75th codon) of the end of the sequence range to include in the logo" >
           </param> 
        </when>
    </conditional>
    <conditional name="comp">
      <param name="mode" type="select" label="Select expected composition: 'equiprobable', 'none' (no small sample correction), or supply a file">
        <option value="none" >No small sample correction</option>       
        <option value="equiprobable" >Equiprobable</option>
        <option value="Homosapiens" >Human</option>
        <option value="Saccharomycescerevisiae" >Yeast</option>
        <option value="Escherichiacoli" >E.Coli</option>
        <option value="From File">from file</option>
        
      </param>
      <when value="auto">
      </when>
      <when value="equiprobable">
      </when>
      <when value="none">
      </when>
      <when value="file">    
        <param format="txt" name="compfile" type="data" label="File containing the expected composition of the sequence. expected: a file with 64 codons followed by their probability. it must have 64 lines and each line must have a codon followed by a space followed by a weigt." />
      </when>
      
    </conditional>
    <conditional name="colours">
      <param name="colour" type="select" label="Choose colours?(it is not required to set values for all of them. Colors can be specified using CSS2 syntax. e.g. 'red', '#FF0000', etc. )">
        <option value="no" selected="true">Default colours</option>
        <option value="part">Set your own.</option>
      </param>
      <when value="no">
      </when>
      <when value="part">    
        
        <param name="colorAAA" size="10" type="text" value="" label="AAA" />
        <param name="colorAAC" size="10" type="text" value="" label="AAC" />
        <param name="colorAAG" size="10" type="text" value="" label="AAG" />
        <param name="colorAAU" size="10" type="text" value="" label="AAU" />
        <param name="colorACA" size="10" type="text" value="" label="ACA" />
        <param name="colorACC" size="10" type="text" value="" label="ACC" />
        <param name="colorACG" size="10" type="text" value="" label="ACG" />
        <param name="colorACU" size="10" type="text" value="" label="ACU" />
        <param name="colorAGA" size="10" type="text" value="" label="AGA" />
        <param name="colorAGC" size="10" type="text" value="" label="AGC" />
        <param name="colorAGG" size="10" type="text" value="" label="AGG" />
        <param name="colorAGU" size="10" type="text" value="" label="AGU" />
        <param name="colorAUA" size="10" type="text" value="" label="AUA" />
        <param name="colorAUC" size="10" type="text" value="" label="AUC" />
        <param name="colorAUG" size="10" type="text" value="" label="AUG" />
        <param name="colorAUU" size="10" type="text" value="" label="AUU" />
        <param name="colorCAA" size="10" type="text" value="" label="CAA" />
        <param name="colorCAC" size="10" type="text" value="" label="CAC" />
        <param name="colorCAG" size="10" type="text" value="" label="CAG" />
        <param name="colorCAU" size="10" type="text" value="" label="CAU" />
        <param name="colorCCA" size="10" type="text" value="" label="CCA" />
        <param name="colorCCC" size="10" type="text" value="" label="CCC" />
        <param name="colorCCG" size="10" type="text" value="" label="CCG" />
        <param name="colorCCU" size="10" type="text" value="" label="CCU" />
        <param name="colorCGA" size="10" type="text" value="" label="CGA" />
        <param name="colorCGC" size="10" type="text" value="" label="CGC" />
        <param name="colorCGG" size="10" type="text" value="" label="CGG" />
        <param name="colorCGU" size="10" type="text" value="" label="CGU" />
        <param name="colorCUA" size="10" type="text" value="" label="CUA" />
        <param name="colorCUC" size="10" type="text" value="" label="CUC" />
        <param name="colorCUG" size="10" type="text" value="" label="CUG" />
        <param name="colorCUU" size="10" type="text" value="" label="CUU" />
        <param name="colorGAA" size="10" type="text" value="" label="GAA" />
        <param name="colorGAC" size="10" type="text" value="" label="GAC" />
        <param name="colorGAG" size="10" type="text" value="" label="GAG" />
        <param name="colorGAU" size="10" type="text" value="" label="GAU" />
        <param name="colorGCA" size="10" type="text" value="" label="GCA" />
        <param name="colorGCC" size="10" type="text" value="" label="GCC" />
        <param name="colorGCG" size="10" type="text" value="" label="GCG" />
        <param name="colorGCU" size="10" type="text" value="" label="GCU" />
        <param name="colorGGA" size="10" type="text" value="" label="GGA" />
        <param name="colorGGC" size="10" type="text" value="" label="GGC" />
        <param name="colorGGG" size="10" type="text" value="" label="GGG" />
        <param name="colorGGU" size="10" type="text" value="" label="GGU" />
        <param name="colorGUA" size="10" type="text" value="" label="GUA" />
        <param name="colorGUC" size="10" type="text" value="" label="GUC" />
        <param name="colorGUG" size="10" type="text" value="" label="GUG" />
        <param name="colorGUU" size="10" type="text" value="" label="GUU" />
        <param name="colorUAA" size="10" type="text" value="" label="UAA" />
        <param name="colorUAC" size="10" type="text" value="" label="UAC" />
        <param name="colorUAG" size="10" type="text" value="" label="UAG" />
        <param name="colorUAU" size="10" type="text" value="" label="UAU" />
        <param name="colorUCA" size="10" type="text" value="" label="UCA" />
        <param name="colorUCC" size="10" type="text" value="" label="UCC" />
        <param name="colorUCG" size="10" type="text" value="" label="UCG" />
        <param name="colorUCU" size="10" type="text" value="" label="UCU" />
        <param name="colorUGA" size="10" type="text" value="" label="UGA" />
        <param name="colorUGC" size="10" type="text" value="" label="UGC" />
        <param name="colorUGG" size="10" type="text" value="" label="UGG" />
        <param name="colorUGU" size="10" type="text" value="" label="UGU" />
        <param name="colorUUA" size="10" type="text" value="" label="UUA" />
        <param name="colorUUC" size="10" type="text" value="" label="UUC" />
        <param name="colorUUG" size="10" type="text" value="" label="UUG" />
        <param name="colorUUU" size="10" type="text" value="" label="UUU" />
        

        
      </when>
      
    </conditional>
    <param name="size" type="select" label="Output CodonLogo size" >
      <option value="large" selected="True">Large</option>
      <option value="medium">Medium</option>
      <option value="small">Small</option>
    </param>
    
   </page>
  </inputs>
  <outputs>
    <data format="pdf" name="output"  label="${logoname}_output.${outformat}">
       <change_format>
           <when input="outformat" value="png_print" format="png" />
           <when input="outformat" value="png" format="png" />
           <when input="outformat" value="jpeg" format="jpg" />
           <when input="outformat" value="eps" format="eps" />
           <when input="outformat" value="txt" format="txt" />
       </change_format>
    </data>
  </outputs>
  <help>

**Note**

This tool uses CodonLogo in Galaxy to generate a sequence logo from a provided alignment. 
The input file must be an alignment in your current history.
The tool will attempt to read a provided file and if it is unable to it will generate an error.

A typical output looks like this

.. image:: ./static/images/CodonLogoExample.png

----

**Warning about input files**

The  program used by this tool will fail if your alignment files are not all the same length.

Fasta alignments from ClustalW Galaxy tool will work but many other fasta files may cause this tool to produce an error and fail - please do not file 
a Galaxy bug report - this is a feature of the tool and a problem with your source data - not a tool error - please make certain all your fasta 
sequences are the same length!

Files must first be converted to fasta format in order to be used with this tool.

----

The default colour scheme is based on associated amino acid types:

Polar positive 
H, K, R  -Light Blue

Polar negative  
D, E    -Red

Polar neutral   
S, T, N, Q      -Green

Non-polar aliphatic     
A, V, L, I, M   -Blue

Non-polar aromatic      
F, W, Y         -Magenta
P, G    -Brown
C       -Yellow

Stop codons     -Black


**Attribution**


This Galaxy wrapper was modified for CodonLogo by David Murphy and is based on the wrapper written by Ross Lazarus for the rgenetics project and the source code is licensed under the LGPL_ 

.. _Weblogo3: http://weblogo.berkeley.edu/
.. _LGPL: http://www.gnu.org/copyleft/lesser.html
.. _CodonLogo: http://recode.ucc.ie/CodonLogo 

  </help>

</tool>