view macs.xml @ 0:97bd5bb4204c default tip

commit
author ryo_tas <yamanaka@genome.rcast.u-tokyo.ac.jp>
date Tue, 30 Dec 2014 18:45:34 +0900
parents
children
line wrap: on
line source

<tool name="MACS" id="cistrome_macs">
  <description>Model-based Analysis for ChIP-Seq</description>
  <command interpreter="command">/bin/bash $shscript</command>
  <inputs>
    <param format="interval,sam,bam,eland,elandmulti,bed" name="tfile" type="data" label="Treatment file"/>
    <param format="interval,sam,bam,eland,elandmulti,bed" name="cfile" type="data" label="Input file" optional="true"/>
    <param name="format" type="select" label="Format">
      <option value="AUTO">Auto</option>
      <option value="BED">Bed</option>
      <option value="SAM">SAM (support PES)</option>
      <option value="BAM">BAM (support PES)</option>
      <option value="BOWTIE">Bowtie default format</option>
      <option value="ELAND">ELAND_result</option>
      <option value="ELANDMULTI">ELAND_multi</option>
      <option value="ELANDEXPORT">ELAND_export</option>
    </param>
    <conditional name="genome_size_cond">
      <param name="genome_size" type="select" label="Effective Genome Size">
	<option value="2770000000">Human (hg18)</option>
	<option value="2790000000">Human (hg19)</option>
	<option value="1870000000">Mouse (mm8)</option>
	<option value="1910000000">Mouse (mm9)</option>
	<option value="90300000">C elegans (ce4)</option>
	<option value="90300000">C elegans (ce6)</option>
	<option value="119000000">Drosophila (dm2)</option>
	<option value="152000000">Drosophila (dm3)</option>
	<option value="OTHER">Other</option>
      </param>
      <when value="OTHER">
	<param name="genome_size_other" type="text" label="Custom Genome Size"/>
      </when>
      <when value="2770000000"/>
      <when value="2790000000"/>
      <when value="1870000000"/>
      <when value="1910000000"/>
      <when value="90300000"/>
      <when value="90300000"/>
      <when value="119000000"/>
      <when value="152000000"/>
    </conditional>
    <param name="tag_size" type="integer" label="Tag size (Optional)" value="25" optional="true">
      <validator type="in_range" max="1000" min="20" message="Tag size is out of range, Tag size has to be between 20 to 1000" />
    </param>
    <param name="pvalue" type="float" label="P-Value" value="0.00001">
      <validator type="in_range" max="1" min="0" message="Pvalue is out of range, Pvalue has to be between 0 to 1" />
    </param>
    <param name="keep_dup" type="select" label="Keep duplicate tags at the exact same location?" display="radio">
      <option value="all" >Keep ALL</option>
      <option value="auto" >Auto by Binomial</option>
      <option value="1" selected="true">Keep Single</option>
    </param>
    
    <conditional name="model">
      <param name="use_model" type="select" label="Use Model?">
        <option value="">True</option>
        <option value="nomodel">False</option>
      </param>
      <when value="">
	<param name="sfold" type="text" label="small fold enrichment for model building" value="10" >
	  <validator type="in_range" max="100" min="5" message="Small fold enrichment is out of range, Small fold enrichment has to be between 5 to 100" />
	</param>
	<param name="lfold" type="text" label="large fold" value="30" >
	  <validator type="in_range" max="100" min="5" message="Large Fold is out of range, Large Fold has to be between 5 to 100" />
	</param>
      </when>
      <when value="nomodel">
	<param name="shift_size" type="text" label="Shift size" value="100">
    <validator type="in_range" max="1000" min="50" message="Shift size is out of range, Shift size has to be between 50 to 1000" />    	
	</param>
      </when>
    </conditional>

    <conditional name="advopt">
      <param name="advopt_select" type="select" label="Advanced Options">
	<option value="no">No</option>
	<option value="yes">Yes</option>
      </param>
      <when value="yes">
	<param name="bandwidth" type="text" label="Bandwidth" value="300">
	  <validator type="in_range" max="1000" min="100" message="Bandwidth is out of range, Bandwidth has to be between 100 to 2000" />
	</param>
	<param name="lambda" type="select" label="Use Lambda?" display="radio">
          <option value="">True</option>
          <option value="nolambda">False</option>
	</param>
	<param name="lambda_small" type="text" label="Small Lambda" value="1000">
	  <validator type="in_range" max="1000000" min="100" message="Small Lambda is out of range, Small Lambda has to be between 100 to 1000000" />
	</param>
	<param name="lambda_large" type="text" label="Large Lambda" value="10000">
	  <validator type="in_range" max="1000000" min="100" message="Large Lambda is out of range, Large Lambda has to be between 100 to 1000000" />
	</param>
	<param name="make_wig" type="select" label="Generate a wig file?" display="radio">
          <option value="wig" selected="true">Yes</option>
          <option value="" >No</option>
	</param>
      </when>
      <when value="no" />
    </conditional>
    
    <conditional name="diag_report">
      <param name="diag_report_select" type="select" label="Diagnosis Report">
	<option value="no">No</option>
	<option value="yes">Yes</option>
      </param>
      <when value="yes">
	<param name="femin" type="text" label="Minimum Fold Enrichment" value="0">
	  <validator type="in_range" max="100" min="0" message="Minimum Fold Enrichment is out of range, Minimum Fold Enrichment has to be between 0 to 100" />
	</param>
	<param name="femax" type="text" label="Maximum Fold Enrichment(optional)" optional="true">
	  <validator type="in_range" max="100" min="0" message="Maximum Fold Enrichment is out of range, Maximum Fold Enrichment has to be between Minimum Fold Enrichment to 100" />
	</param>
	<param name="festep" type="text" label="Fold Enrichment Step" value="20">
	  <validator type="in_range" max="100" min="0" message="Fold Enrichment Step is out of range, Fold Enrichment Step has to be between 0 to 100" />
	</param>
      </when>
      <when value="no" />
    </conditional>
  </inputs>
  <outputs>
    <data format="bed" name="bedoutput" label="MACS peaks on ${tfile.name}" />
    <data format="bed" name="summitsoutput" label="MACS summits on ${tfile.name}" />
    <data format="tabular" name="xlsoutput" label="MACS xls on ${tfile.name}" />
    <data format="wig" name="wigoutput" label="MACS wiggle on ${tfile.name}" />
    <data format="txt" name="log" label="MACS job log on ${tfile.name}" />
    <data format="tabular" name="xlsdiagreport" label="MACS diagnosis report on ${tfile.name}" />
  </outputs>

  <configfiles>
    <configfile name="shscript">
#!/bin/bash
#set $dollar = chr(36)
#set $gt = chr(62)
#set $lt = chr(60)
#set $ad = chr(38)

tfilesize=`du -b $tfile | awk '{print ${dollar}1}'`

if [[ ${dollar}tfilesize -gt 10000000000 ]];then
    echo "Treatment file is too big! 10G is the maximum!" ${gt}${ad}2
    exit;
fi

if [ $cfile != "None" ];then
    cfilesize=`du -b $cfile | awk '{print ${dollar}1}'`
    
    if [[ ${dollar}cfilesize -gt 10000000000 ]];then
        echo "Control file is too big! 10G is the maximum!" ${gt}${ad}2
        exit;
    fi
fi

#if $model.use_model == ""
#if $model.sfold.value > $model.lfold.value
		echo "Large Fold has to be greater than Small Fold" ${gt}${ad}2
    exit;
#end if
#end if

#if $diag_report.diag_report_select == "yes"
#if $diag_report.femin.value > $diag_report.femax.value
		echo "Maximum Fold Enrichment has to be greater than Minimum Fold Enrichment" ${gt}${ad}2
    exit;
#end if
#end if

#if $advopt.advopt_select == "yes"
#if $advopt.lambda_small.value > $advopt.lambda_large.value
		echo "Large lambda has to be greater than Small lambda" ${gt}${ad}2
    exit;
#end if
#end if

#NOTE: IF --nomodel is used, then we feed in the shiftsize param, ELSE feed in mfold param.
#if $model.use_model == "nomodel"
#set $m="--nomodel --shiftsize "+str($model.shift_size)
#else
#set $m="--mfold "+str($model.sfold)+","+str($model.lfold)
#end if

#NOTE: the control file is optional, if it is unspecified it is sent as 'None'
#if str($cfile) != "None"
#set $c = " -c "+ str($cfile)
#else
#set $c = ""
#end if

##set $extracommand = "touch "+str($wigoutput)

#if $advopt.advopt_select == "yes"
#if str($advopt.lambda) == "nolambda"
#set $lamb="--"+str($advopt.lambda)
#else
#set $lamb=""
#end if
#if str($advopt.make_wig) == "wig"
#set $mkwig="--"+str($advopt.make_wig)
#else
#set $mkwig=""
#end if
#set $advparam = "--bw="+str($advopt.bandwidth)+" "+str($lamb)+" --slocal="+str($advopt.lambda_small)+" --llocal="+str($advopt.lambda_large)+" "+str($mkwig)
#if $advopt.make_wig.value != ""
#set $extracommand = "zcat macs_output_MACS_wiggle/treat/*.gz > "+str($wigoutput)
#end if
#else
#set $advparam = "--bw=300 --wig"
#set $extracommand = "zcat macs_output_MACS_wiggle/treat/*.gz > "+str($wigoutput)
#end if

#if $diag_report.diag_report_select == "yes"
#set $diagparam = "--diag --fe-min=0 --fe-step=20"
#if $diag_report.femin.value != ""
#set $diagparam = $diagparam.replace("--fe-min=0", "--fe-min="+str($diag_report.femin.value))
#end if
#if $diag_report.festep.value != ""
#set $diagparam = $diagparam.replace("--fe-step=20", "--fe-step="+str($diag_report.festep.value))
#end if
#if str($diag_report.femax.value) != ""
#set $diagparam = $diagparam+" --fe-max="+str($diag_report.femax.value)
#end if
#else
#set $diagparam = " "
#end if

#set genomeSize = $genome_size_cond.genome_size
#if $genome_size_cond.genome_size == "OTHER"
#set $genomeSize = $genome_size_cond.genome_size_other
#end if

#set $keepdup = "--keep-dup "+ str($keep_dup)

macs14 -t $tfile $c --format=$format --gsize=$genomeSize --tsize=$tag_size $m $advparam --pvalue=$pvalue --name=macs_output $diagparam --single-profile $keepdup ${ad}${gt} $log
cp macs_output_peaks.bed $bedoutput
cp macs_output_summits.bed $summitsoutput
cp macs_output_peaks.xls $xlsoutput
#if $diag_report.diag_report_select == "yes"
cp macs_output_diag.xls $xlsdiagreport
#end if

#if $advopt.advopt_select == "yes"
#if $advopt.make_wig.value != ""
$extracommand 
#end if
#else
$extracommand
#end if
    </configfile>
  </configfiles>

  <tests>
    <test maxseconds="3600" name="TreatmentFile">
      <param name="tfile" value="macs_treatment_hg18.bed" />
      <param name="cfile" />
      <param name="format" value="AUTO" />
      <param name="genome_size" value="2770000000" />
      <param name="tag_size" value="25" />
      <param name="pvalue" value="0.00001" />
      <param name="keep_dup" value="1" />
      <param name="use_model" value="" />
      <param name="sfold" value="10" />
      <param name="lfold" value="30" />
      <param name="advopt_select" value="no" />
      <param name="diag_report_select" value="no" />
      <output name="output" file="macs_1/macs_output_peaks.bed" />
      <output name="output" file="macs_1/macs_output_summits.bed" /> 
      <output name="output" file="macs_1/macs_output_peaks.xls" lines_diff = "4" />
      <output name="output" file="macs_1/macs_output_treat_afterfiting_all.wig" />
      <output name="output" file="macs_1/macs_output.log" lines_diff = "200"/>
      <output name="output" file="macs_1/macs_output_diag.xls" lines_diff = "20"/>
    </test>
    <test maxseconds="3600" name="ControlFile">
      <param name="tfile" value="macs_treatment_hg18.bed" />
      <param name="cfile" value="macs_control_hg18.bed" />
      <param name="format" value="AUTO" />
      <param name="genome_size" value="2770000000" />
      <param name="tag_size" value="25" />
      <param name="pvalue" value="0.00001" />
      <param name="keep_dup" value="1" />
      <param name="use_model" value="" />
      <param name="sfold" value="10" />
      <param name="lfold" value="30" />
      <param name="advopt_select" value="no" />
      <param name="diag_report_select" value="no" />
      <output name="output" file="macs_2/macs_output_peaks.bed" />
      <output name="output" file="macs_2/macs_output_summits.bed" />
      <output name="output" file="macs_2/macs_output_peaks.xls" lines_diff = "4" />
      <output name="output" file="macs_2/macs_output_treat_afterfiting_all.wig" />
      <output name="output" file="macs_2/macs_output.log" lines_diff = "200"/>
      <output name="output" file="macs_2/macs_output_diag.xls" lines_diff = "20"/>
    </test>
    <test maxseconds="3600" name="GSize">
      <param name="tfile" value="macs_treatment_hg18.bed" />
      <param name="cfile" />
      <param name="format" value="AUTO" />
      <param name="genome_size" value="2770000000" />
      <param name="tag_size" value="25" />
      <param name="pvalue" value="0.00001" />
      <param name="keep_dup" value="1" />
      <param name="use_model" value="" />
      <param name="sfold" value="10" />
      <param name="lfold" value="30" />
      <param name="advopt_select" value="no" />
      <param name="diag_report_select" value="no" />
      <output name="output" file="macs_3/macs_output_peaks.bed" />
      <output name="output" file="macs_3/macs_output_summits.bed" />
      <output name="output" file="macs_3/macs_output_peaks.xls" lines_diff = "4" />
      <output name="output" file="macs_3/macs_output_treat_afterfiting_all.wig" />
      <output name="output" file="macs_3/macs_output.log" lines_diff = "200"/>
      <output name="output" file="macs_3/macs_output_diag.xls" lines_diff = "20"/>
    </test>
    <test maxseconds="3600" name="TagSize">
      <param name="tfile" value="macs_treatment_hg18.bed" />
      <param name="cfile" />
      <param name="format" value="AUTO" />
      <param name="genome_size" value="2770000000" />
      <param name="tag_size" value="25" />
      <param name="pvalue" value="0.00001" />
      <param name="keep_dup" value="1" />
      <param name="use_model" value="" />
      <param name="sfold" value="10" />
      <param name="lfold" value="30" />
      <param name="advopt_select" value="no" />
      <param name="diag_report_select" value="no" />
      <output name="output" file="macs_4/macs_output_peaks.bed" />
      <output name="output" file="macs_4/macs_output_summits.bed" />
      <output name="output" file="macs_4/macs_output_peaks.xls" lines_diff = "4" />
      <output name="output" file="macs_4/macs_output_treat_afterfiting_all.wig" />
      <output name="output" file="macs_4/macs_output.log" lines_diff = "200"/>
      <output name="output" file="macs_4/macs_output_diag.xls" lines_diff = "20"/>
    </test>
    <test maxseconds="3600" name="Pvalue">
      <param name="tfile" value="macs_treatment_hg18.bed" />
      <param name="cfile" />
      <param name="format" value="AUTO" />
      <param name="genome_size" value="2770000000" />
      <param name="tag_size" value="25" />
      <param name="pvalue" value="0.00001" />
      <param name="keep_dup" value="1" />
      <param name="use_model" value="" />
      <param name="sfold" value="10" />
      <param name="lfold" value="30" />
      <param name="advopt_select" value="no" />
      <param name="diag_report_select" value="no" />
      <output name="output" file="macs_5/macs_output_peaks.bed" />
      <output name="output" file="macs_5/macs_output_summits.bed" />
      <output name="output" file="macs_5/macs_output_peaks.xls" lines_diff = "4" />
      <output name="output" file="macs_5/macs_output_treat_afterfiting_all.wig" />
      <output name="output" file="macs_5/macs_output.log" lines_diff = "200"/>
      <output name="output" file="macs_5/macs_output_diag.xls" lines_diff = "20"/>
    </test>
    <test maxseconds="3600" name="UseModel">
      <param name="tfile" value="macs_treatment_hg18.bed" />
      <param name="cfile" />
      <param name="format" value="AUTO" />
      <param name="genome_size" value="2770000000" />
      <param name="tag_size" value="25" />
      <param name="pvalue" value="0.00001" />
      <param name="keep_dup" value="1" />
      <param name="use_model" value="" />
      <param name="sfold" value="10" />
      <param name="lfold" value="30" />
      <param name="advopt_select" value="no" />
      <param name="diag_report_select" value="no" />
      <output name="output" file="macs_6/macs_output_peaks.bed" />
      <output name="output" file="macs_6/macs_output_summits.bed" />
      <output name="output" file="macs_6/macs_output_peaks.xls" lines_diff = "4" />
      <output name="output" file="macs_6/macs_output_treat_afterfiting_all.wig" />
      <output name="output" file="macs_6/macs_output.log" lines_diff = "200"/>
      <output name="output" file="macs_6/macs_output_diag.xls" lines_diff = "20"/>
    </test>
    <test maxseconds="3600" name="ShiftSize">
      <param name="tfile" value="macs_treatment_hg18.bed" />
      <param name="cfile" />
      <param name="format" value="AUTO" />
      <param name="genome_size" value="2770000000" />
      <param name="tag_size" value="25" />
      <param name="pvalue" value="0.00001" />
      <param name="keep_dup" value="1" />
      <param name="use_model" value="nomodel" />
      <param name="shift_size" value="100" />
      <param name="advopt_select" value="no" />
      <param name="diag_report_select" value="no" />
      <output name="output" file="macs_7/macs_output_peaks.bed" />
      <output name="output" file="macs_7/macs_output_summits.bed" />
      <output name="output" file="macs_7/macs_output_peaks.xls" lines_diff = "4" />
      <output name="output" file="macs_7/macs_output_treat_afterfiting_all.wig" />
      <output name="output" file="macs_7/macs_output.log" lines_diff = "200"/>
      <output name="output" file="macs_7/macs_output_diag.xls" lines_diff = "20"/>
    </test>
    <test maxseconds="3600" name="advopt_1">
      <param name="tfile" value="macs_treatment_hg18.bed" />
      <param name="cfile" />
      <param name="format" value="AUTO" />
      <param name="genome_size" value="2770000000" />
      <param name="tag_size" value="25" />
      <param name="pvalue" value="0.00001" />
      <param name="keep_dup" value="1" />
      <param name="use_model" value="nomodel" />
      <param name="shift_size" value="100" />
      <param name="advopt_select" value="yes" />
      <param name="bandwidth" value="300" />
      <param name="lambda" value="" />
      <param name="lambda_small" value="1000" />
      <param name="lambda_large" value="10000" />
      <param name="make_wig" value="wig" />
      <param name="diag_report_select" value="no" />
      <output name="output" file="macs_8/macs_output_peaks.bed" />
      <output name="output" file="macs_8/macs_output_summits.bed" />
      <output name="output" file="macs_8/macs_output_peaks.xls" lines_diff = "4" />
      <output name="output" file="macs_8/macs_output_treat_afterfiting_all.wig" />
      <output name="output" file="macs_8/macs_output.log" lines_diff = "200"/>
      <output name="output" file="macs_8/macs_output_diag.xls" lines_diff = "20"/>
    </test>
    <test maxseconds="3600" name="advopt_2">
      <param name="tfile" value="macs_treatment_hg18.bed" />
      <param name="cfile" />
      <param name="format" value="AUTO" />
      <param name="genome_size" value="2770000000" />
      <param name="tag_size" value="25" />
      <param name="pvalue" value="0.00001" />
      <param name="keep_dup" value="1" />
      <param name="use_model" value="" />
      <param name="sfold" value="10" />
      <param name="lfold" value="30" />
      <param name="advopt_select" value="no" />
      <param name="diag_report_select" value="no" />
      <output name="output" file="macs_9/macs_output_peaks.bed" />
      <output name="output" file="macs_9/macs_output_summits.bed" />
      <output name="output" file="macs_9/macs_output_peaks.xls" lines_diff = "4" />
      <output name="output" file="macs_9/macs_output_treat_afterfiting_all.wig" />
      <output name="output" file="macs_9/macs_output.log" lines_diff = "200"/>
      <output name="output" file="macs_9/macs_output_diag.xls" lines_diff = "20"/>
    </test>
    <test maxseconds="3600" name="Bandwidth">
      <param name="tfile" value="macs_treatment_hg18.bed" />
      <param name="cfile" />
      <param name="format" value="AUTO" />
      <param name="genome_size" value="2770000000" />
      <param name="tag_size" value="25" />
      <param name="pvalue" value="0.00001" />
      <param name="keep_dup" value="1" />
      <param name="use_model" value="" />
      <param name="sfold" value="10" />
      <param name="lfold" value="30" />
      <param name="advopt_select" value="yes" />
      <param name="bandwidth" value="300" />
      <param name="lambda" value="" />
      <param name="lambda_small" value="1000" />
      <param name="lambda_large" value="10000" />
      <param name="make_wig" value="wig" />
      <param name="diag_report_select" value="no" />
      <output name="output" file="macs_10/macs_output_peaks.bed" />
      <output name="output" file="macs_10/macs_output_summits.bed" />
      <output name="output" file="macs_10/macs_output_peaks.xls" lines_diff = "4" />
      <output name="output" file="macs_10/macs_output_treat_afterfiting_all.wig" />
      <output name="output" file="macs_10/macs_output.log" lines_diff = "200"/>
      <output name="output" file="macs_10/macs_output_diag.xls" lines_diff = "20"/>
    </test>
    <test maxseconds="3600" name="UseLambda_1">
      <param name="tfile" value="macs_treatment_hg18.bed" />
      <param name="cfile" />
      <param name="format" value="AUTO" />
      <param name="genome_size" value="2770000000" />
      <param name="tag_size" value="25" />
      <param name="pvalue" value="0.00001" />
      <param name="keep_dup" value="1" />
      <param name="use_model" value="" />
      <param name="sfold" value="10" />
      <param name="lfold" value="30" />
      <param name="advopt_select" value="yes" />
      <param name="bandwidth" value="300" />
      <param name="lambda" value="" />
      <param name="lambda_small" value="1000" />
      <param name="lambda_large" value="10000" />
      <param name="make_wig" value="wig" />
      <param name="diag_report_select" value="no" />
      <output name="output" file="macs_11/macs_output_peaks.bed" />
      <output name="output" file="macs_11/macs_output_summits.bed" />
      <output name="output" file="macs_11/macs_output_peaks.xls" lines_diff = "4" />
      <output name="output" file="macs_11/macs_output_treat_afterfiting_all.wig" />
      <output name="output" file="macs_11/macs_output.log" lines_diff = "200"/>
      <output name="output" file="macs_11/macs_output_diag.xls" lines_diff = "20"/>
    </test>
    <test maxseconds="3600" name="UseLambda_2">
      <param name="tfile" value="macs_treatment_hg18.bed" />
      <param name="cfile" />
      <param name="format" value="AUTO" />
      <param name="genome_size" value="2770000000" />
      <param name="tag_size" value="25" />
      <param name="pvalue" value="0.00001" />
      <param name="keep_dup" value="1" />
      <param name="use_model" value="" />
      <param name="sfold" value="10" />
      <param name="lfold" value="30" />
      <param name="advopt_select" value="yes" />
      <param name="bandwidth" value="300" />
      <param name="lambda" value="nolambda" />
      <param name="lambda_small" value="1000" />
      <param name="lambda_large" value="10000" />
      <param name="make_wig" value="wig" />
      <param name="diag_report_select" value="no" />
      <output name="output" file="macs_12/macs_output_peaks.bed" />
      <output name="output" file="macs_12/macs_output_summits.bed" />
      <output name="output" file="macs_12/macs_output_peaks.xls" lines_diff = "4" />
      <output name="output" file="macs_12/macs_output_treat_afterfiting_all.wig" />
      <output name="output" file="macs_12/macs_output.log" lines_diff = "200"/>
      <output name="output" file="macs_12/macs_output_diag.xls" lines_diff = "20"/>
    </test>
    <test maxseconds="3600" name="LambdaSet">
      <param name="tfile" value="macs_treatment_hg18.bed" />
      <param name="cfile" />
      <param name="format" value="AUTO" />
      <param name="genome_size" value="2770000000" />
      <param name="tag_size" value="25" />
      <param name="pvalue" value="0.00001" />
      <param name="keep_dup" value="1" />
      <param name="use_model" value="" />
      <param name="sfold" value="10" />
      <param name="lfold" value="30" />
      <param name="advopt_select" value="yes" />
      <param name="bandwidth" value="300" />
      <param name="lambda" value="" />
      <param name="lambda_small" value="1000" />
      <param name="lambda_large" value="10000" />
      <param name="make_wig" value="wig" />
      <param name="diag_report_select" value="no" />
      <output name="output" file="macs_13/macs_output_peaks.bed" />
      <output name="output" file="macs_13/macs_output_summits.bed" />
      <output name="output" file="macs_13/macs_output_peaks.xls" lines_diff = "4" />
      <output name="output" file="macs_13/macs_output_treat_afterfiting_all.wig" />
      <output name="output" file="macs_13/macs_output.log" lines_diff = "200"/>
      <output name="output" file="macs_13/macs_output_diag.xls" lines_diff = "20"/>
    </test>
    <test maxseconds="3600" name="wig_1">
      <param name="tfile" value="macs_treatment_hg18.bed" />
      <param name="cfile" />
      <param name="format" value="AUTO" />
      <param name="genome_size" value="2770000000" />
      <param name="tag_size" value="25" />
      <param name="pvalue" value="0.00001" />
      <param name="keep_dup" value="1" />
      <param name="use_model" value="" />
      <param name="sfold" value="10" />
      <param name="lfold" value="30" />
      <param name="advopt_select" value="yes" />
      <param name="bandwidth" value="300" />
      <param name="lambda" value="" />
      <param name="lambda_small" value="1000" />
      <param name="lambda_large" value="10000" />
      <param name="make_wig" value="wig" />
      <param name="diag_report_select" value="no" />
      <output name="output" file="macs_14/macs_output_peaks.bed" />
      <output name="output" file="macs_14/macs_output_summits.bed" />
      <output name="output" file="macs_14/macs_output_peaks.xls" lines_diff = "4" />
      <output name="output" file="macs_14/macs_output_treat_afterfiting_all.wig" />
      <output name="output" file="macs_14/macs_output.log" lines_diff = "200"/>
      <output name="output" file="macs_14/macs_output_diag.xls" lines_diff = "20"/>
    </test>
    <test maxseconds="3600" name="wig_2">
      <param name="tfile" value="macs_treatment_hg18.bed" />
      <param name="cfile" />
      <param name="format" value="AUTO" />
      <param name="genome_size" value="2770000000" />
      <param name="tag_size" value="25" />
      <param name="pvalue" value="0.00001" />
      <param name="keep_dup" value="1" />
      <param name="use_model" value="" />
      <param name="sfold" value="10" />
      <param name="lfold" value="30" />
      <param name="advopt_select" value="yes" />
      <param name="bandwidth" value="300" />
      <param name="lambda" value="" />
      <param name="lambda_small" value="1000" />
      <param name="lambda_large" value="10000" />
      <param name="make_wig" value="" />
      <param name="diag_report_select" value="no" />
      <output name="output" file="macs_15/macs_output_peaks.bed" />
      <output name="output" file="macs_15/macs_output_summits.bed" />
      <output name="output" file="macs_15/macs_output_peaks.xls" lines_diff = "4" />
      <output name="output" file="macs_15/macs_output_treat_afterfiting_all.wig" />
      <output name="output" file="macs_15/macs_output.log" lines_diff = "200"/>
      <output name="output" file="macs_15/macs_output_diag.xls" lines_diff = "20"/>
    </test>
    <test maxseconds="3600" name="diag_1">
      <param name="tfile" value="macs_treatment_hg18.bed" />
      <param name="cfile" />
      <param name="format" value="AUTO" />
      <param name="genome_size" value="2770000000" />
      <param name="tag_size" value="25" />
      <param name="pvalue" value="0.00001" />
      <param name="keep_dup" value="1" />
      <param name="use_model" value="" />
      <param name="sfold" value="10" />
      <param name="lfold" value="30" />
      <param name="advopt_select" value="no" />
      <param name="diag_report_select" value="yes" />
      <param name="femin" value="0" />
      <param name="femax" value="20" />
      <param name="festep" value="20" />
      <output name="output" file="macs_16/macs_output_peaks.bed" />
      <output name="output" file="macs_16/macs_output_summits.bed" />
      <output name="output" file="macs_16/macs_output_peaks.xls" lines_diff = "4" />
      <output name="output" file="macs_16/macs_output_treat_afterfiting_all.wig" />
      <output name="output" file="macs_16/macs_output.log" lines_diff = "200"/>
      <output name="output" file="macs_16/macs_output_diag.xls" lines_diff = "20"/>
    </test>
    <test maxseconds="3600" name="diag_2">
      <param name="tfile" value="macs_treatment_hg18.bed" />
      <param name="cfile" />
      <param name="format" value="AUTO" />
      <param name="genome_size" value="2770000000" />
      <param name="tag_size" value="25" />
      <param name="pvalue" value="0.00001" />
      <param name="keep_dup" value="1" />
      <param name="use_model" value="" />
      <param name="sfold" value="10" />
      <param name="lfold" value="30" />
      <param name="advopt_select" value="no" />
      <param name="diag_report_select" value="no" />
      <output name="output" file="macs_17/macs_output_peaks.bed" />
      <output name="output" file="macs_17/macs_output_summits.bed" />
      <output name="output" file="macs_17/macs_output_peaks.xls" lines_diff = "4" />
      <output name="output" file="macs_17/macs_output_treat_afterfiting_all.wig" />
      <output name="output" file="macs_17/macs_output.log" lines_diff = "200"/>
      <output name="output" file="macs_17/macs_output_diag.xls" lines_diff = "20"/>
    </test>
    <test maxseconds="3600" name="femin">
      <param name="tfile" value="macs_treatment_hg18.bed" />
      <param name="cfile" />
      <param name="format" value="AUTO" />
      <param name="genome_size" value="2770000000" />
      <param name="tag_size" value="25" />
      <param name="pvalue" value="0.00001" />
      <param name="keep_dup" value="1" />
      <param name="use_model" value="" />
      <param name="sfold" value="10" />
      <param name="lfold" value="30" />
      <param name="advopt_select" value="no" />
      <param name="diag_report_select" value="yes" />
      <param name="femin" value="0" />
      <param name="femax" value="20" />
      <param name="festep" value="20" />
      <output name="output" file="macs_18/macs_output_peaks.bed" />
      <output name="output" file="macs_18/macs_output_summits.bed" />
      <output name="output" file="macs_18/macs_output_peaks.xls" lines_diff = "4" />
      <output name="output" file="macs_18/macs_output_treat_afterfiting_all.wig" />
      <output name="output" file="macs_18/macs_output.log" lines_diff = "200"/>
      <output name="output" file="macs_18/macs_output_diag.xls" lines_diff = "20"/>
    </test>
    <test maxseconds="3600" name="femax">
      <param name="tfile" value="macs_treatment_hg18.bed" />
      <param name="cfile" />
      <param name="format" value="AUTO" />
      <param name="genome_size" value="2770000000" />
      <param name="tag_size" value="25" />
      <param name="pvalue" value="0.00001" />
      <param name="keep_dup" value="1" />
      <param name="use_model" value="" />
      <param name="sfold" value="10" />
      <param name="lfold" value="30" />
      <param name="advopt_select" value="no" />
      <param name="diag_report_select" value="yes" />
      <param name="femin" value="0" />
      <param name="femax" value="20" />
      <param name="festep" value="20" />
      <output name="output" file="macs_19/macs_output_peaks.bed" />
      <output name="output" file="macs_19/macs_output_summits.bed" />
      <output name="output" file="macs_19/macs_output_peaks.xls" lines_diff = "4" />
      <output name="output" file="macs_19/macs_output_treat_afterfiting_all.wig" />
      <output name="output" file="macs_19/macs_output.log" lines_diff = "200"/>
      <output name="output" file="macs_19/macs_output_diag.xls" lines_diff = "20"/>
    </test>
    <test maxseconds="3600" name="festep">
      <param name="tfile" value="macs_treatment_hg18.bed" />
      <param name="cfile" />
      <param name="format" value="AUTO" />
      <param name="genome_size" value="2770000000" />
      <param name="tag_size" value="25" />
      <param name="pvalue" value="0.00001" />
      <param name="keep_dup" value="1" />
      <param name="use_model" value="" />
      <param name="sfold" value="10" />
      <param name="lfold" value="30" />
      <param name="advopt_select" value="no" />
      <param name="diag_report_select" value="yes" />
      <param name="femin" value="0" />
      <param name="femax" value="20" />
      <param name="festep" value="20" />
      <output name="output" file="macs_20/macs_output_peaks.bed" />
      <output name="output" file="macs_20/macs_output_summits.bed" />
      <output name="output" file="macs_20/macs_output_peaks.xls" lines_diff = "4" />
      <output name="output" file="macs_20/macs_output_treat_afterfiting_all.wig" />
      <output name="output" file="macs_20/macs_output.log" lines_diff = "200"/>
      <output name="output" file="macs_20/macs_output_diag.xls" lines_diff = "20"/>
    </test>
  </tests>
  <help>
This tool performs peak calling for ChIP-Seq data. MACS is developped
in Xiaole Shirley Liu's lab, by Tao Liu and Yong Zhang, and published
on Genome Biology (pubmed: 18798982). The version deployed here is
1.4.0rc2.

.. class:: infomark

**TIP:** Please first upload your treatment and control files using the **Upload File from your computer tool**.

.. class:: infomark

**TIP:** If you choose to generate a wiggle file, it will take longer
time.

-----

**Parameters**

- **Treatment file** The input file for ChIP/treatment channel chosen from the
  history. Approporiate format is BED, ELAND, and ELAND_MULTI. SAM and BAM are
  also supported. MACS can accept pair-end sequencing data in SAM/BAM format.
- **Control file** The input file for input/control channel chosen
  from the history. 
- **Format** The format of input files. Choices are AUTO (Auto detect format) 
  BED ( >= 6 columns), ELAND ( eland_result), ELAND_MULTI ( eland_multi),
  ELANDMULTIPET, ELANDEXPORT, SAM (SAM format), BAM ( binary BAM format) 
  and BOWTIE ( bowtie .map output)
- **Effective genome size** Select the desired genome assembly and the correct 
  size will be selected. The choices are hg18(2.77e9), hg19(2.79e9), mm8(1.87e9), 
  mm9(1.91e9), ce4(9.03e7), ce6(9.03e7), dm2(1.19e8), and dm3(1.52e8).
- **Tag size** is the size of reads.
- **P-Value** is the pvalue cutoff. Default is 0.00001, for looser
  results, try 0.001 instead.
- **Use Model** is whether or not to use Macs paired peaks model.
- **Model fold** is available when **Use Model** is true, which is the
  foldchange to chose paired peaks to build paired peaks model. Users
  need to set a lower(smaller) and upper(larger) number for fold change
  so that MACS will only use the peaks within these foldchange range to
  build model.
- **Shift size** is available when **Use Model** is false, which will
  represent the *HALF* of the fragment size of your sample. If your
  sonication and size selection size is 300 bps, after you trim out
  nearly 100 bps adapters, the fragment size is about 200 bps, so you
  can specify 100 here.
- **Keep Duplicate Tags** It controls the MACS behavior towards
  duplicate tags at the exact same location -- the same coordination and
  the same strand. The default 'auto' option makes MACS calculate the
  maximum tags at the exact same location based on binomal distribution
  using 1e-5 as pvalue cutoff; and the 'all' option keeps every tags.
  If an integer is given, at most this number of tags will be kept at
  the same location. Default: 1
- **Advanced Options** to turn on advanced settings. You will lose
  advanced settings and go back to default parameters when you choose
  'No'.
- **Bandwidth (Advanced)** is the bandwidth to scan for paired peaks when **Use
  Model** is on, and is the *HALF* of the window size to detect actual
  peaks when **Use Model** is off.
- **Use Lambda (Advanced)** to turn on or off local lambda model which
  can use the local bias at peak regions to throw out false positives.
- **Small Lambda (Advanced)** The small nearby region in basepairs to calculate
  dynamic lambda. This is used to capture the bias near the peak summit region. 
  Invalid if there is no control data. DEFAULT: 1000
- **Large Lambda (Advanced)** The large nearby region in basepairs to calculate
  dynamic lambda. This is used to capture the surround bias. DEFAULT: 10000.
- **Generate a wig file (Advanced)** to turn on or off the wiggle file
  generation for ChIP channel. The wiggle file is the fragment pileup
  accumulations at every 10 bps.
- **Diagnostic Report** whether or not to produce a diagnosis report.
- **Minimum Fold Enrichment (Diagnosis)** Minimum fold enrichment to consider. 
- **Maximum Fold Enrichment (Diagnosis)** Maximum fold enrchment to consider.
  Leave blank for default max value.
- **Fold Enrichment Step (Diagnosis)** Interval of fold enrichment. 

-----

**Outputs**

- **BED file** for peak locations in BED format. Typically used in gene association study like CEAS, or correlation calculation.
- **BED file** for peak summits locations in BED format. Typically used in DNA motif analysis or conservation check.
- **XLS file** for detail informations in a tab-delimited file.
- **WIGGLE file** for fragments pileup at every 10 bps of chIP channel
  in WIGGLE format.
- **LOG file** for job log. If you see errors, please attach this in
  the bug report
- **Diagnosis Report** empty unless diagnosis report is set to yes

  </help>

</tool>