| 
0
 | 
     1 <tool id="multigps" name="MultiGPS" version="0.5.0.0">
 | 
| 
 | 
     2     <description>analyzes collections of multi-condition ChIP-seq data</description>
 | 
| 
 | 
     3     <requirements>
 | 
| 
 | 
     4         <requirement type="package" version="4.11.0">meme</requirement>
 | 
| 
 | 
     5         <requirement type="package" version="3.11.0">edger</requirement>
 | 
| 
 | 
     6         <requirement type="package" version="2.14">biocbasics</requirement>
 | 
| 
 | 
     7     </requirements>
 | 
| 
 | 
     8     <command>
 | 
| 
 | 
     9         <![CDATA[
 | 
| 
 | 
    10             ## when I don't run on my mac...
 | 
| 
 | 
    11             ## java -Xmx20G -jar $__tool_directory__/multigps_v0.5.jar
 | 
| 
 | 
    12             mkdir multigps_out &&
 | 
| 
 | 
    13             java -jar $__tool_directory__/multigps_v0.5.jar
 | 
| 
 | 
    14             --threads="\${GALAXY_SLOTS:-4}"
 | 
| 
 | 
    15             --verbose
 | 
| 
 | 
    16             --geninfo ${chromInfo}
 | 
| 
 | 
    17             #if str($use_motif_cond.use_motif) == "yes":
 | 
| 
 | 
    18                 #set seq_dir = python "$get_seq_dir"
 | 
| 
 | 
    19                 --seq "${seq_dir}"
 | 
| 
 | 
    20                 --mememinw $use_motif_cond.min_motif_width
 | 
| 
 | 
    21                 --mememaxw $use_motif_cond.max_motif_width
 | 
| 
 | 
    22             --design $design_file
 | 
| 
 | 
    23             #if str($gauss_model_smoothing_cond.gauss_model_smoothing) == "yes":
 | 
| 
 | 
    24                 --gaussmodelsmoothing
 | 
| 
 | 
    25                 --gausssmoothparam $gauss_model_smoothing_cond.gauss_model_smoothing.gauss_smooth
 | 
| 
 | 
    26             #end if
 | 
| 
 | 
    27             --out multigps_out
 | 
| 
 | 
    28         ]]>
 | 
| 
 | 
    29     </command>
 | 
| 
 | 
    30     <configfiles>
 | 
| 
 | 
    31         <configfile name="design_file">
 | 
| 
 | 
    32             <![CDATA[
 | 
| 
 | 
    33             #for input in $input_files:
 | 
| 
 | 
    34                 #set filename = "{$input['input'].filename}"
 | 
| 
 | 
    35                 #set signal_control = $input['signal_control']
 | 
| 
 | 
    36                 #set format = $input['input'].ext
 | 
| 
 | 
    37                 #set condition_name = $input['condition_name']
 | 
| 
 | 
    38                 #set replicate_name = $input['replicate_name']
 | 
| 
 | 
    39                 #set line = '\t'.join($filename, $signal_control, $format, $condition_name, $replicate_name])
 | 
| 
 | 
    40                 ${line}
 | 
| 
 | 
    41             #end for
 | 
| 
 | 
    42             ]]>
 | 
| 
 | 
    43         </configfile>
 | 
| 
 | 
    44         <configfile name="get_seq_dir">
 | 
| 
 | 
    45 <![CDATA[
 | 
| 
 | 
    46 #!/usr/bin/env python
 | 
| 
 | 
    47 import os
 | 
| 
 | 
    48 import tempfile
 | 
| 
 | 
    49 
 | 
| 
 | 
    50 # All inputs must have the same dbkey, and MultiGPS requires a directory, not the reference file.
 | 
| 
 | 
    51 if $use_motif_cond.reference_genome_cond.reference_genome_source == "cached":
 | 
| 
 | 
    52     return os.path.split($use_motif_cond.reference_genome_cond.reference_genome.fields.path)[0]
 | 
| 
 | 
    53 else:
 | 
| 
 | 
    54     seq_dir = tempfile.mkdtemp(prefix="tmp-multigps-")
 | 
| 
 | 
    55     # Populate the directory with the history dataset
 | 
| 
 | 
    56     tmp_filename = "%s.fa" % $use_motif_cond.reference_genome_cond.reference_genome.dbkey
 | 
| 
 | 
    57     ln -f -s $use_motif_cond.reference_genome_cond.reference_genome.filename os.path.join(seq_dir, tmp_filename)
 | 
| 
 | 
    58     return seq_dir
 | 
| 
 | 
    59 ]]>
 | 
| 
 | 
    60         </configfile>
 | 
| 
 | 
    61     </configfiles>
 | 
| 
 | 
    62     <inputs>
 | 
| 
 | 
    63         <repeat name="input_files" title="Input Files" min="1">
 | 
| 
 | 
    64             <param name="input" type="data" format="bam,bed,scidx" label="Add file">
 | 
| 
 | 
    65                 <validator type="unspecified_build" />
 | 
| 
 | 
    66             </param>
 | 
| 
 | 
    67             <param name="signal_control" type="select" label="Signal or control" display="checkboxes" >
 | 
| 
 | 
    68                 <option value="signal" selected="True">Signal</option>
 | 
| 
 | 
    69                 <option value="control">Control</option>
 | 
| 
 | 
    70             </param>
 | 
| 
 | 
    71             <param label="Condition name" name="condition_name" type="text" />
 | 
| 
 | 
    72             <param label="Replicate name" name="replicate_name" type="text" />
 | 
| 
 | 
    73 
 | 
| 
 | 
    74             <conditional name="use_motif_cond">
 | 
| 
 | 
    75                 <param name="use_motif" type="select" label="Perform motif-finding or use a motif-prior?">
 | 
| 
 | 
    76                     <option value="yes" selected="True">Yes</option>
 | 
| 
 | 
    77                     <option value="no">No</option>
 | 
| 
 | 
    78                 </param>
 | 
| 
 | 
    79                 <when value="yes">
 | 
| 
 | 
    80                     <conditional name="reference_genome_cond">
 | 
| 
 | 
    81                         <param name="reference_genome_source" type="select" label="Choose the source for the reference genome">
 | 
| 
 | 
    82                             <option value="cached">Locally Cached</option>
 | 
| 
 | 
    83                             <option value="history">From History</option>
 | 
| 
 | 
    84                         </param>
 | 
| 
 | 
    85                         <when value="cached">
 | 
| 
 | 
    86                             <param name="reference_genome" type="select" label="Using reference genome">
 | 
| 
 | 
    87                                 <options from_data_table="fasta_indexes"/>
 | 
| 
 | 
    88                                 <validator type="no_options" message="A built-in reference genome is not available for the build associated with the selected input file"/>
 | 
| 
 | 
    89                             </param>
 | 
| 
 | 
    90                         </when>
 | 
| 
 | 
    91                         <when value="history">
 | 
| 
 | 
    92                             <param name="reference_genome" type="data" format="fasta" label="Using reference genome"/>
 | 
| 
 | 
    93                         </when>
 | 
| 
 | 
    94                     </conditional>
 | 
| 
 | 
    95                     <param name="min_motif_width" type="integer" min="0" value="6" label="Minimum motif width for MEME">
 | 
| 
 | 
    96                     <param name="max_motif_width" type="integer" min="0" value="16" label="Maximum motif width for MEME">
 | 
| 
 | 
    97                 </when>
 | 
| 
 | 
    98                 <when value="no">
 | 
| 
 | 
    99             </conditional>
 | 
| 
 | 
   100 
 | 
| 
 | 
   101 
 | 
| 
 | 
   102         </repeat>
 | 
| 
 | 
   103 
 | 
| 
 | 
   104         <param name="genome_info_file" type="data" format="tabular" label="Genome information dataset" help="What's this?  See the help section below."/>
 | 
| 
 | 
   105         <conditional name="gauss_model_smoothing_cond">
 | 
| 
 | 
   106             <param  name="gauss_model_smoothing" type="select" label="Turn on Gaussian model smoothing?" help="Smoothing is done with a cubic spline.">
 | 
| 
 | 
   107                 <option value="yes" selected="True">Yes</option>
 | 
| 
 | 
   108                 <option value="no">No</option>
 | 
| 
 | 
   109             </param>
 | 
| 
 | 
   110             <when value="yes">
 | 
| 
 | 
   111                 <param name="gauss_smooth" type="integer" value="3" min="0" label="Smoothing factor" help="Gaussian smoothing standard deviation." />
 | 
| 
 | 
   112             </when>
 | 
| 
 | 
   113             <when value="no" />
 | 
| 
 | 
   114         </conditional>
 | 
| 
 | 
   115     </inputs>
 | 
| 
 | 
   116     <outputs>
 | 
| 
 | 
   117         <data name="output_report" format="txt" label="MultiGPS-Report"/>
 | 
| 
 | 
   118         <data name="output_gff" format="gff" label="MultiGPS-GFF" />
 | 
| 
 | 
   119         <data name="output_gz" format="gz" label="MultiGPS-GZ" />
 | 
| 
 | 
   120     </outputs>
 | 
| 
 | 
   121     <help>
 | 
| 
 | 
   122 
 | 
| 
 | 
   123 **What it does**
 | 
| 
 | 
   124 
 | 
| 
 | 
   125 MultiGPS is a framework for analyzing collections of multi-condition ChIP-seq datasets and characterizing
 | 
| 
 | 
   126 differential binding events between conditions.  MultiGPS encourages consistency in the reported binding
 | 
| 
 | 
   127 event locations across conditions and provides accurate estimation of ChIP enrichment levels at each event.
 | 
| 
 | 
   128 MultiGPS loads all data to memory, so you will need a lot of available memory if you are running analysis
 | 
| 
 | 
   129 over many conditions or large datasets.
 | 
| 
 | 
   130 
 | 
| 
 | 
   131 -----
 | 
| 
 | 
   132 
 | 
| 
 | 
   133 **Options**
 | 
| 
 | 
   134 
 | 
| 
 | 
   135 * **Input Files**
 | 
| 
 | 
   136 
 | 
| 
 | 
   137     </help>
 | 
| 
 | 
   138     <citations>
 | 
| 
 | 
   139         <citation type="doi">10.1371/journal.pcbi.1003501</citation>
 | 
| 
 | 
   140     </citations>
 | 
| 
 | 
   141 </tool>
 |