changeset 9:7aecd0908b3c draft

Uploaded version 2.1.0-4.
author pjbriggs
date Mon, 15 Jun 2015 06:06:48 -0400
parents 78c15c0a96ae
children 2d4ef45ec089
files README.rst macs21_wrapper.xml test-data/test_MACS2.1.0_bw_html_report.zip test-data/test_MACS2.1.0_control_lambda.bdg test-data/test_MACS2.1.0_html_report.zip test-data/test_MACS2.1.0_peaks.xls test-data/test_MACS2.1.0_peaks.xls.re_match test-data/test_MACS2.1.0_peaks_narrowPeak.interval test-data/test_MACS2.1.0_summits.bed test-data/test_MACS2.1.0_treat_pileup.bdg test-data/test_MACS2.1.0_treat_pileup.bw test-data/test_region_IP.bed test-data/test_region_Input.bed tool_dependencies.xml
diffstat 14 files changed, 708 insertions(+), 279 deletions(-) [+]
line wrap: on
line diff
--- a/README.rst	Tue Apr 21 10:33:52 2015 -0400
+++ b/README.rst	Mon Jun 15 06:06:48 2015 -0400
@@ -1,7 +1,7 @@
-MACS21: Model-based Analysis of ChIP-Seq (MACS 2.1.0)
-=====================================================
+MACS21: Model-based Analysis of ChIP-Seq (MACS 2.1.0) peak calling
+==================================================================
 
-Galaxy tool wrapper for the MACS 2.1.0 ChIP-seq peak calling program. MACS has been
+Galaxy tool wrapper for the peak calling function of MACS 2.1.0. MACS has been
 developed by Tao Lui
 https://github.com/taoliu/MACS/
 
@@ -31,7 +31,7 @@
 
     <tool file="macs21/macs21_wrapper.xml" />
 
-You will also need to install MACS 2.1.0:
+You will also need to install MACS 2.1.0 and its dependencies:
 
 - https://pypi.python.org/pypi/MACS2
 
@@ -42,24 +42,25 @@
 
     ./run_tests.sh -id macs2_wrapper
 
-(However there are no tests defined at present.)
 
 History
 =======
 
-This tool is based on the ``modencode-dcc`` MACS2 tool developed by Ziru Zhou
-(ziruzhou@gmail.com), specifically the ``16:14f378e35191`` revision of the
-tool at
+This tool was originally based on the ``modencode-dcc`` MACS2 tool developed
+by Ziru Zhou (ziruzhou@gmail.com), specifically the ``16:14f378e35191``
+revision of the tool available via
 
 - http://toolshed.g2.bx.psu.edu/view/modencode-dcc/macs2 
 
-It has been substantially modified both to adapt it to MACS 2.1.0, and to
-re-implement the internal workings of the tool to conform with current practices
-in invoking commands from Galaxy.
+This version has been substantially modified both to adapt it to MACS 2.1.0, and
+to re-implement the internal workings of the tool to conform with current
+practices in invoking commands from Galaxy, and to add new functionality.
 
 ========== ======================================================================
 Version    Changes
 ---------- ----------------------------------------------------------------------
+2.1.0-4    - Remove 'bdgcmp' functionality.
+2.1.0-3    - Add tool tests
 2.1.0-2    - Add option to create bigWig file from bedGraphs; fix bug with -B
              option; make --mfold defaults consistent.
 2.1.0-1    - Initial version
--- a/macs21_wrapper.xml	Tue Apr 21 10:33:52 2015 -0400
+++ b/macs21_wrapper.xml	Mon Jun 15 06:06:48 2015 -0400
@@ -1,4 +1,5 @@
-<tool id="macs2_1_peakcalling" name="MACS2.1.0" version="2.1.0-2">
+<tool id="macs2_1_peakcalling" name="MACS2.1.0" version="2.1.0-4">
+  <description>Model-based Analysis of ChIP-Seq: peak calling</description>
   <requirements>
     <requirement type="package" version="2.7">python</requirement>
     <requirement type="package" version="1.9">numpy</requirement>
@@ -6,263 +7,217 @@
     <requirement type="package" version="3.1.2">R</requirement>
     <requirement type="package" version="1.0">ucsc_tools_for_macs21</requirement>
   </requirements>
-  <description>Model-based Analysis of ChIP-Seq</description>
+  <version_command>macs2 --version</version_command>
   <command interpreter="python">
-    macs21_wrapper.py
-    ##
-    ## Major command
-    $major_command.major_command_selector
+    macs21_wrapper.py callpeak
     ##
     ## ChIP-seq input
-    $major_command.input_chipseq_file1
+    $input_chipseq_file1
     ##
     ## ChIP-seq control
-    #if str($major_command.input_control_file1) != 'None'
-       -c $major_command.input_control_file1
+    #if str($input_control_file1) != 'None'
+       -c $input_control_file1
+    #end if
+    ##
+    --format=$input_chipseq_file1.extension
+    --name="$experiment_name"
+    --bw=$bw
+    ##
+    ## Genome size
+    #if str($genome_size.gsize) == ''
+       --gsize=$genome_size.user_defined_gsize
+    #else:
+       --gsize=$genome_size.gsize
+    #end if
+    ##
+    ## Broad peaks
+    #if str($broad_options.broad_regions) == 'broad'
+       --broad --broad-cutoff=$broad_options.broad_cutoff
+    #end if
+    ##
+    ## (no)model options
+    #if str($nomodel_type.nomodel_type_selector) == 'nomodel'
+       --nomodel --extsize=$nomodel_type.extsize
+    #end if
+    ##
+    ## pq value select options
+    #if str($pq_options.pq_options_selector) == 'qvalue'
+       --qvalue=$pq_options.qvalue
+    #else
+       --pvalue=$pq_options.pvalue
     #end if
     ##
-    ## Call peaks
-    #if str($major_command.major_command_selector) == 'callpeak'
-       --format=$major_command.input_chipseq_file1.extension
-       --name="$experiment_name"
-       --bw=$major_command.bw
-       ##
-       ## Genome size
-       #if str($major_command.genome_size.gsize) == ''
-	  --gsize=$major_command.genome_size.user_defined_gsize
-       #else:
-          --gsize=$major_command.genome_size.gsize
-       #end if
-       ##
-       ## Broad peaks
-       #if str($major_command.broad_options.broad_regions) == 'broad'
-          --broad --broad-cutoff=$major_command.broad_options.broad_cutoff
-       #end if
-       ##
-       ## (no)model options
-       #if str($major_command.nomodel_type.nomodel_type_selector) == 'nomodel'
-          --nomodel --extsize=$major_command.nomodel_type.extsize
-       #end if
-       ##
-       ## pq value select options
-       #if str($major_command.pq_options.pq_options_selector) == 'qvalue'
-          --qvalue=$major_command.pq_options.qvalue
+    ## Bedgraph options
+    #if $bdg_options.bdg
+       -B $bdg_options.spmr
+    #end if
+    ##
+    ## Advanced options
+    #if $advanced_options.advanced_options_selector
+       --mfold $advanced_options.mfoldlo $advanced_options.mfoldhi
+       $advanced_options.nolambda
+       $advanced_options.call_summits
+       #if str($advanced_options.keep_duplicates.keep_dup) == ''
+          --keep-dup $advanced_options.keep_duplicates.maximum_tags
        #else
-          --pvalue=$major_command.pq_options.pvalue
-       #end if
-       ##
-       ## Bedgraph options
-       #if $major_command.bdg_options.bdg == True
-          -B $major_command.bdg_options.spmr
+          --keep-dup $advanced_options.keep_duplicates.keep_dup
        #end if
-       ##
-       ## Advanced options
-       #if str($major_command.advanced_options.advanced_options_selector) == 'on'
-          --mfold $major_command.advanced_options.mfoldlo $major_command.advanced_options.mfoldhi
-          $major_command.advanced_options.nolambda
-          $major_command.advanced_options.call_summits
-          #if str($major_command.advanced_options.keep_duplicates.keep_dup) == ''
-             --keep-dup $major_command.advanced_options.keep_duplicates.maximum_tags
-          #else
-             --keep-dup $major_command.advanced_options.keep_duplicates.keep_dup
-          #end if
-       #else
-          ## Defaults if advanced options not set
-          --mfold 10 30 --keep-dup 1
-       #end if
-       ##
-       ## Output files
-       --output-summits=$output_summits_bed_file
-       --output-extra-files=$output_extra_files
-       --output-extra-files-path=$output_extra_files.files_path
-       ##
-       ## Narrow/broad peak outputs
-       #if str($major_command.broad_options.broad_regions) == 'broad'
-          --output-broadpeaks=$output_broadpeaks_file
-          --output-gappedpeaks=$output_gappedpeaks_file
-       #else
-          --output-narrowpeaks=$output_narrowpeaks_file
-       #end if
-       ##
-       ## Bedgraph outputs
-       #if str($major_command.bdg_options.bdg) == 'True'
-          --output-pileup=$output_treat_pileup_file 
-          --output-lambda-bedgraph=$output_lambda_bedgraph_file
-	  #if str($major_command.bdg_options.make_bigwig) == 'True'
-             --output-bigwig=$output_bigwig_file
-             --length=$GALAXY_DATA_INDEX_DIR/shared/ucsc/chrom/${major_command.input_chipseq_file1.dbkey}.len
-	  #end if
-       #end if
-       ##
-       ## XLS/interval output
-       #if str($major_command.xls_to_interval) == 'True'
-          --output-xls-to-interval=$output_xls_to_interval_peaks_file
-       #else
-          --output-peaks=$output_peaks_file
+    #else
+       ## Defaults if advanced options not set
+       --mfold 10 30 --keep-dup 1
+    #end if
+    ##
+    ## Output files
+    --output-summits=$output_summits_bed_file
+    --output-extra-files=$output_extra_files
+    --output-extra-files-path=$output_extra_files.files_path
+    ##
+    ## Narrow/broad peak outputs
+    #if str($broad_options.broad_regions) == 'broad'
+       --output-broadpeaks=$output_broadpeaks_file
+       --output-gappedpeaks=$output_gappedpeaks_file
+    #else
+       --output-narrowpeaks=$output_narrowpeaks_file
+    #end if
+    ##
+    ## Bedgraph outputs
+    #if $bdg_options.bdg
+       --output-pileup=$output_treat_pileup_file 
+       --output-lambda-bedgraph=$output_lambda_bedgraph_file
+       #if $bdg_options.make_bigwig
+          --output-bigwig=$output_bigwig_file
+          --length=$GALAXY_DATA_INDEX_DIR/shared/ucsc/chrom/${input_chipseq_file1.dbkey}.len
        #end if
     #end if
     ##
-    ## Compare .bdg files
-    #if str($major_command.major_command_selector) == 'bdgcmp'
-       -m $major_command.bdgcmp_options.bdgcmp_options_selector
-       -p $major_command.pseudocount
-       --output-bdgcmp $output_bdgcmp_file
+    ## XLS/interval output
+    #if str($xls_to_interval) == 'True'
+       --output-xls-to-interval=$output_xls_to_interval_peaks_file
+    #else
+       --output-peaks=$output_peaks_file
     #end if
   </command>
   <inputs>
     <!--experiment name used as base for output file names -->
     <param name="experiment_name" type="text" value="MACS2.1.0 in Galaxy" size="50"
 	   label="Experiment Name"/>
-    <!--select a major MACS2 command-->
-    <conditional name="major_command">
-      <param name="major_command_selector" type="select" label="Select action to be performed">
-	<option value="callpeak">Peak Calling</option>
-	<option value="bdgcmp">Compare .bdg Files</option>
+    <!--choose 'broad' or 'narrow' regions-->
+    <conditional name="broad_options">
+      <param name="broad_regions" type="select" label="Type of region to call"
+	     help="Broad regions are formed by linking nearby enriched regions">
+	<option value="" selected="true">Narrow regions</option>
+	<option value="broad">Broad regions</option>
+      </param>
+      <when value="broad">
+	<param name="broad_cutoff" type="float"
+	       label="Cutoff for broad regions"
+	       value="0.1" help="default: 0.1 (--broad-cutoff)"/>
+      </when>
+    </conditional>
+    <param name="input_chipseq_file1" type="data" format="bed,sam,bam"
+	   label="ChIP-seq read file" />
+    <param name="input_control_file1" type="data" format="bed,sam,bam" optional="True"
+	   label="ChIP-seq control read file" />
+    <conditional name="genome_size">
+      <param name="gsize" type="select" label="Effective genome size"
+	     help="Either pre-defined (for common organisms), or user-defined (--gsize)">
+	<option value="hs" selected="true">Human (2.7e9)</option>
+	<option value="mm">Mouse (1.87e9)</option>
+	<option value="ce">C. elegans (9e7)</option>
+	<option value="dm">Fruitfly (1.2e8)</option>
+	<option value="">User-defined</option>
       </param>
-      <!--callpeak option of macs2-->
-      <when value="callpeak">
-	<!--choose 'broad' or 'narrow' regions-->
-	<conditional name="broad_options">
-	  <param name="broad_regions" type="select" label="Type of region to call"
-		 help="Broad regions are formed by linking nearby enriched regions">
-	    <option value="" selected="true">Narrow regions</option>
-	    <option value="broad">Broad regions</option>
-	  </param>
-	  <when value="broad">
-	    <param name="broad_cutoff" type="float"
-		   label="Cutoff for broad regions"
-		   value="0.1" help="default: 0.1 (--broad-cutoff)"/>
-	  </when>
-	</conditional>
-        <param name="input_chipseq_file1" type="data" format="bed,sam,bam"
-	       label="ChIP-seq read file" />
-        <param name="input_control_file1" type="data" format="bed,sam,bam" optional="True"
-	       label="ChIP-seq control read file" />
-	<conditional name="genome_size">
-	  <param name="gsize" type="select" label="Effective genome size"
-		 help="Either pre-defined (for common organisms), or user-defined (--gsize)">
-	    <option value="hs" selected="true">Human (2.7e9)</option>
-	    <option value="mm">Mouse (1.87e9)</option>
-	    <option value="ce">C. elegans (9e7)</option>
-	    <option value="dm">Fruitfly (1.2e8)</option>
-	    <option value="">User-defined</option>
+      <when value="">
+	<!-- User-defined effective genome size -->
+	<param name="user_defined_gsize" type="float" value=""
+	       label="Enter effective genome size (number of bases)"
+	       help="e.g. '1.0e+9' or '1000000000'" />
+      </when>
+    </conditional>
+    <param name="bw" type="integer" label="Band width" value="300" help="(--bw)"/>
+    <param name="xls_to_interval" label="Include XLS file from MACS"
+	   type="boolean" truevalue="True" falsevalue="False" checked="True"
+	   help="MACS2 XLS file will be output to the history in 'interval' format (suitable for subsequent analysis in Galaxy). Note that start positions are 1-based."/>
+
+    <conditional name="bdg_options">
+      <param name="bdg"
+	     label="Save treatment and control lambda pileups in bedGraph"
+	     type="boolean" truevalue="-B" falsevalue="" checked="False" />
+      <when value="-B">
+	<param name="spmr"
+	       type="boolean" truevalue="--SPMR" falsevalue="" checked="False"
+	       label="Save signal per million reads for fragment pileup profiles"
+	       help="(--SPMR)" />
+	<param name="make_bigwig" type="boolean" checked="True"
+	       truevalue="True" falsevalue=""
+	       label="Also generate bigWig file from bedGraph"
+	       help="bigWig file can used in subsequent analyses e.g. CEAS" />
+      </when>
+      <when value="">
+	<!-- Display nothing -->
+      </when>
+    </conditional>
+
+    <conditional name="pq_options">
+      <param name="pq_options_selector" type="select"
+	     label="Select p-value or q-value" help="default uses q-value">
+	<option value="qvalue">q-value</option>
+	<option value="pvalue">p-value</option>
+      </param>
+      <when value="pvalue">
+	<param name="pvalue" type="float"
+	       label="p-value cutoff for binding region detection"
+	       value="1e-2" help="default: 1e-2 (--pvalue)"/>
+      </when>
+      <when value="qvalue">
+	<param name="qvalue" type="float"
+	       label="q-value cutoff for binding region detection"
+	       value="0.01" help="default: 0.01 (--qvalue)"/>
+      </when>
+    </conditional>
+    <conditional name="advanced_options">
+      <param name="advanced_options_selector"
+	     type="boolean" truevalue="on" falsevalue="off" checked="False"
+	     label="Use advanced options?" />
+      <when value="on">
+        <param name="mfoldlo" type="integer"
+	       label="Select the regions with MFOLD high-confidence enrichment ratio against background to build model (lower-limit)"
+	       value="10" help="(--mfold)"/>
+	<param name="mfoldhi" type="integer"
+	       label="Select the regions with MFOLD high-confidence enrichment ratio against background to build model (upper-limit)"
+	       value="30" help="(--mfold)"/>
+	<param name="nolambda"
+	       label="Use fixed background lambda as local lambda for every binding region"
+	       type="boolean" truevalue="--nolambda" falsevalue="" checked="False"
+	       help="(--nolambda)"/>
+	<param name="call_summits"
+	       label="Detect subpeaks within binding region"
+	       type="boolean" truevalue="--call-summits" falsevalue="" checked="False"
+	       help="(--call-summits)"/>
+	<conditional name="keep_duplicates">
+	  <param name="keep_dup" type="select"
+		 label="Use of duplicate reads">
+	    <option value="auto">Automatically calculate maximum number of duplicates to keep (auto)</option>
+	    <option value="all">Use all duplicates (all)</option>
+	    <option value="" selected="true">Manually specify maxium number of duplicates</option>
 	  </param>
 	  <when value="">
-	    <!-- User-defined effective genome size -->
-	    <param name="user_defined_gsize" type="float" value=""
-		   label="Enter effective genome size (number of bases)"
-		   help="e.g. '1.0e+9' or '1000000000'" />
-	  </when>
-	</conditional>
-	<param name="bw" type="integer" label="Band width" value="300" help="(--bw)"/>
-	<param name="xls_to_interval" label="Include XLS file from MACS"
-	       type="boolean" truevalue="True" falsevalue="False" checked="True"
-	       help="MACS2 XLS file will be output to the history in 'interval' format (suitable for subsequent analysis in Galaxy). Note that start positions are 1-based."/>
-
-	<conditional name="bdg_options">
-	  <param name="bdg"
-		 label="Save treatment and control lambda pileups in bedGraph"
-		 type="boolean" truevalue="-B" falsevalue="" checked="False" />
-	  <when value="-B">
-	    <param name="spmr"
-		   type="boolean" truevalue="--SPMR" falsevalue="" checked="False"
-		   label="Save signal per million reads for fragment pileup profiles"
-		   help="(--SPMR)" />
-	    <param name="make_bigwig" type="boolean" checked="True"
-		   truevalue="True" falsevalue=""
-		   label="Also generate bigWig file from bedGraph"
-		   help="bigWig file can used in subsequent analyses e.g. CEAS" />
-	  </when>
-	  <when value="">
-	    <!-- Display nothing -->
+	    <param name="maximum_tags" type="integer" value="1"
+		   label="Maxium number of duplicated tags to keep at each location"/>
 	  </when>
 	</conditional>
-
-	<conditional name="pq_options">
-	  <param name="pq_options_selector" type="select"
-		 label="Select p-value or q-value" help="default uses q-value">
-	    <option value="qvalue">q-value</option>
-	    <option value="pvalue">p-value</option>
-	  </param>
-	  <when value="pvalue">
-	    <param name="pvalue" type="float"
-		   label="p-value cutoff for binding region detection"
-		   value="1e-2" help="default: 1e-2 (--pvalue)"/>
-	  </when>
-	  <when value="qvalue">
-	    <param name="qvalue" type="float"
-		   label="q-value cutoff for binding region detection"
-		   value="0.01" help="default: 0.01 (--qvalue)"/>
-	  </when>
-	</conditional>
-	<conditional name="advanced_options">
-	  <param name="advanced_options_selector" type="select"
-		 label="Display advanced options">
-	    <option value="off">Hide</option>
-	    <option value="on">Display</option>
-	  </param>
-	  <when value="on">
-            <param name="mfoldlo" type="integer"
-		   label="Select the regions with MFOLD high-confidence enrichment ratio against background to build model (lower-limit)"
-		   value="10" help="(--mfold)"/>
-	    <param name="mfoldhi" type="integer"
-		   label="Select the regions with MFOLD high-confidence enrichment ratio against background to build model (upper-limit)"
-		   value="30" help="(--mfold)"/>
-	    <param name="nolambda"
-		   label="Use fixed background lambda as local lambda for every binding region"
-		   type="boolean" truevalue="--nolambda" falsevalue="" checked="False"
-		   help="(--nolambda)"/>
-	    <param name="call_summits"
-		   label="Detect subpeaks within binding region"
-		   type="boolean" truevalue="--call-summits" falsevalue="" checked="False"
-		   help="(--call-summits)"/>
-	    <conditional name="keep_duplicates">
-	      <param name="keep_dup" type="select"
-		     label="Use of duplicate reads">
-		<option value="auto">Automatically calculate maximum number of duplicates to keep (auto)</option>
-		<option value="all">Use all duplicates (all)</option>
-		<option value="" selected="true">Manually specify maxium number of duplicates</option>
-	      </param>
-	      <when value="">
-		<param name="maximum_tags" type="integer" value="1"
-		       label="Maxium number of duplicated tags to keep at each location"/>
-	      </when>
-	    </conditional>
-	  </when>
-	  <when value="off">
-	    <!--display nothing-->
-	  </when>
-	</conditional>
-    	<conditional name="nomodel_type">
-          <param name="nomodel_type_selector" type="select" label="Build Model">
-	   <option value="nomodel">Do not build the shifting model (--nomodel enabled)</option>
-           <option value="create_model" selected="true">Build the shifting model (--nomodel disabled)</option>
-          </param>
-          <when value="nomodel">
-            <param name="extsize" type="integer" label="Arbitrary extension size in bp" value="200" help="Used as fragment size to extend each read towards 3' end (--extsize)"/>
-          </when>
-        </conditional>
+      </when>
+      <when value="off">
+	<!--display nothing-->
       </when>
-
-      <!--callpeak option of macs2-->
-      <when value="bdgcmp">
-        <param name="input_chipseq_file1" type="data" format="bed,sam,bam"
-	       label="ChIP-seq read file" />
-        <param name="input_control_file1" type="data" format="bed,sam,bam" optional="True"
-	       label="ChIP-seq control read file" />
-	<param name="pseudocount" type="float" label="Set pseudocount" value="0.00001"
-	       help="default: 0.00001 (-p)"/>
-        <conditional name="bdgcmp_options">
-          <param name="bdgcmp_options_selector" type="select"
-		 label="Select action to be performed">
-	    <option value="ppois">ppois</option>
-	    <option value="qpois">qpois</option>
-	    <option value="subtract">subtract</option>
-	    <option value="logFE">logFE</option>
-	    <option value="FE">FE</option>
-	    <option value="logLR">logLR</option>
-          </param>
-	</conditional>
+    </conditional>
+    <conditional name="nomodel_type">
+      <param name="nomodel_type_selector" type="select" label="Build Model">
+	<option value="nomodel">Do not build the shifting model (--nomodel enabled)</option>
+        <option value="create_model" selected="true">Build the shifting model (--nomodel disabled)</option>
+      </param>
+      <when value="nomodel">
+        <param name="extsize" type="integer" label="Arbitrary extension size in bp" value="200" help="Used as fragment size to extend each read towards 3' end (--extsize)"/>
       </when>
     </conditional>
   </inputs>
@@ -271,68 +226,130 @@
     <!--callpeaks output-->
     <data name="output_extra_files" format="html"
 	  label="${tool.name}: callpeak on ${on_string} (html report)">
-      <filter>major_command['major_command_selector'] == 'callpeak'</filter>
     </data>
     <data name="output_summits_bed_file" format="bed"
 	  label="${tool.name}: callpeak on ${on_string} (summits: bed)">
-      <filter>major_command['major_command_selector'] == 'callpeak'</filter>
     </data>
     <data name="output_peaks_file" format="xls"
 	  label="${tool.name}: callpeak on ${on_string} (peaks: xls)">
-      <filter>major_command['major_command_selector'] == 'callpeak'</filter>
-      <filter>major_command['xls_to_interval'] is False</filter>
+      <filter>xls_to_interval is False</filter>
     </data>
     <data name="output_narrowpeaks_file" format="interval"
 	  label="${tool.name}: callpeak on ${on_string} (peaks: narrowPeak)">
-      <filter>major_command['major_command_selector'] == 'callpeak'</filter>
-      <filter>major_command['broad_options']['broad_regions'] == ''</filter>
+      <filter>broad_options['broad_regions'] == ''</filter>
     </data>
     <data name="output_broadpeaks_file" format="interval"
 	  label="${tool.name}: callpeak on ${on_string} (peaks: broadPeak)">
-      <filter>major_command['major_command_selector'] == 'callpeak'</filter>
-      <filter>major_command['broad_options']['broad_regions'] == 'broad'</filter>
+      <filter>broad_options['broad_regions'] == 'broad'</filter>
     </data>
     <data name="output_gappedpeaks_file" format="interval"
 	  label="${tool.name}: callpeak on ${on_string} (peaks: gappedPeak)">
-      <filter>major_command['major_command_selector'] == 'callpeak'</filter>
-      <filter>major_command['broad_options']['broad_regions'] == 'broad'</filter>
+      <filter>broad_options['broad_regions'] == 'broad'</filter>
     </data>
     <data name="output_xls_to_interval_peaks_file" format="interval"
 	  label="${tool.name}: callpeak on ${on_string} (peaks: interval)">
-      <filter>major_command['xls_to_interval'] is True</filter>
-      <filter>major_command['major_command_selector'] == 'callpeak'</filter>
+      <filter>xls_to_interval is True</filter>
     </data>
     <data name="output_treat_pileup_file" format="bedgraph"
 	  label="${tool.name}: callpeak on ${on_string} (treat pileup: bedGraph)">
-      <filter>major_command['bdg_options']['bdg'] is True</filter>
-      <filter>major_command['major_command_selector'] == 'callpeak'</filter>
+      <filter>bdg_options['bdg'] is True</filter>
     </data>
     <data name="output_lambda_bedgraph_file" format="bedgraph"
 	  label="${tool.name}: callpeak on ${on_string} (control lambda: bedGraph)">
-      <filter>major_command['bdg_options']['bdg'] is True</filter>
-      <filter>major_command['major_command_selector'] == 'callpeak'</filter>
+      <filter>bdg_options['bdg'] is True</filter>
     </data>
     <data name="output_bigwig_file" format="bigwig"
 	  label="${tool.name}: callpeak on ${on_string} (treat pileup: bigWig)">
-      <filter>major_command['major_command_selector'] == 'callpeak'</filter>
-      <filter>major_command['bdg_options']['bdg'] is True</filter>
-      <filter>major_command['bdg_options']['make_bigwig'] is True</filter>
-    </data>
-    <!--bdgcmp output-->
-    <data name="output_bdgcmp_file" format="bdg"
-	  label="${tool.name}: bdgcmp on ${on_string} (bdg)">
-      <filter>major_command['major_command_selector'] == 'bdgcmp'</filter>
+      <filter>bdg_options['bdg'] is True</filter>
+      <filter>bdg_options['make_bigwig'] is True</filter>
     </data>
   </outputs>
   <tests>
-	<!--none yet for macs2-->
+    <!-- Peak calling without bigwig output -->
+    <test>
+      <!-- Inputs -->
+      <param name="experiment_name" value="test_MACS2.1.0" />
+      <param name="broad_regions" value="" />
+      <param name="input_chipseq_file1" value="test_region_IP.bed" dbkey="galGal3"
+	     ftype="bed" />
+      <param name="input_control_file1" value="test_region_Input.bed"
+	     ftype="bed" />
+      <param name="gsize" value="" />
+      <param name="user_defined_gsize" value="775000000.0" />
+      <param name="bw" value="300" />
+      <param name="xls_to_interval" value="true" />
+      <param name="bdg_options|bdg" value="-B" />
+      <param name="bdg_options|spmr" value="--SPMR" />
+      <param name="bdg_options|make_bigwig" value="false" />
+      <param name="pq_options_selector" value="qvalue" />
+      <param name="qvalue" value="0.05" />
+      <param name="advanced_options_selector" value="true" />
+      <param name="advanced_options|mfoldlo" value="5" />
+      <param name="advanced_options|mfoldhi" value="50" />
+      <param name="advanced_options|nolambda" value="" />
+      <param name="advanced_options|call_summits" value="" />
+      <param name="advanced_options|keep_duplicates" value="" />
+      <param name="advanced_options|maximum_tags" value="1" />
+      <param name="nomodel_type_selector" value="nomodel" />
+      <param name="nomodel_type|extsize" value="243" />
+      <!-- Outputs -->
+      <output name="output_extra_files" file="test_MACS2.1.0_html_report.zip"
+	      compare="sim_size" delta="1500" />
+      <output name="output_summits_bed_file" file="test_MACS2.1.0_summits.bed" />
+      <output name="output_narrowpeaks_file" file="test_MACS2.1.0_peaks_narrowPeak.interval" />
+      <output name="output_xls_to_interval_peaks_file"
+	      file="test_MACS2.1.0_peaks.xls.re_match"
+	      compare="re_match" lines_diff="1" />
+      <output name="output_treat_pileup_file" file="test_MACS2.1.0_treat_pileup.bdg" />
+      <output name="output_lambda_bedgraph_file" file="test_MACS2.1.0_control_lambda.bdg" />
+    </test>
+    <!-- Peak calling with bigwig output -->
+    <test>
+      <!-- Inputs -->
+      <param name="experiment_name" value="test_MACS2.1.0" />
+      <param name="broad_regions" value="" />
+      <param name="input_chipseq_file1" value="test_region_IP.bed" dbkey="galGal3"
+	     ftype="bed" />
+      <param name="input_control_file1" value="test_region_Input.bed"
+	     ftype="bed" />
+      <param name="gsize" value="" />
+      <param name="user_defined_gsize" value="775000000.0" />
+      <param name="bw" value="300" />
+      <param name="xls_to_interval" value="true" />
+      <param name="bdg_options|bdg" value="-B" />
+      <param name="bdg_options|spmr" value="--SPMR" />
+      <param name="bdg_options|make_bigwig" value="true" />
+      <param name="pq_options_selector" value="qvalue" />
+      <param name="qvalue" value="0.05" />
+      <param name="advanced_options_selector" value="true" />
+      <param name="advanced_options|mfoldlo" value="5" />
+      <param name="advanced_options|mfoldhi" value="50" />
+      <param name="advanced_options|nolambda" value="" />
+      <param name="advanced_options|call_summits" value="" />
+      <param name="advanced_options|keep_duplicates" value="" />
+      <param name="advanced_options|maximum_tags" value="1" />
+      <param name="nomodel_type_selector" value="nomodel" />
+      <param name="nomodel_type|extsize" value="243" />
+      <!-- Outputs -->
+      <output name="output_extra_files" file="test_MACS2.1.0_bw_html_report.zip"
+	      compare="sim_size" delta="2500" />
+      <output name="output_summits_bed_file" file="test_MACS2.1.0_summits.bed" />
+      <output name="output_narrowpeaks_file" file="test_MACS2.1.0_peaks_narrowPeak.interval" />
+      <output name="output_xls_to_interval_peaks_file"
+	      file="test_MACS2.1.0_peaks.xls.re_match"
+	      compare="re_match" lines_diff="1" />
+      <output name="output_treat_pileup_file" file="test_MACS2.1.0_treat_pileup.bdg" />
+      <output name="output_lambda_bedgraph_file" file="test_MACS2.1.0_control_lambda.bdg" />
+      <output name="output_bigwig_file" file="test_MACS2.1.0_treat_pileup.bw"
+	      compare="sim_size" />
+    </test>
   </tests>
   <help>
 **What it does**
 
-MACS (Model-based Analysis of ChIP-seq) provides algorithms for transcript
-factor binding sites. The program can be used either for ChIP-Seq data alone,
-or with control sample datat to improve specificity.
+MACS (Model-based Analysis of ChIP-seq) 2.1.0 provides algorithms for identifying
+transcript factor binding sites. The program can be used either for ChIP-Seq data alone,
+or with control sample data to improve specificity.
 
 View the MACS2 documentation at:
 https://github.com/taoliu/MACS/blob/master/README.rst
@@ -341,10 +358,8 @@
 
 **Usage**
 
-The tool interfaces with two main functions in MACS:
-
- * **callpeaks** (the main function) calls peaks from alignment results
- * **bdgcmp** deducts noise by comparing two signal tracks in bedGraph format.
+The tool interfaces with the **callpeak** function in MACS, which calls peaks from
+alignment results.
 
 ------
 
Binary file test-data/test_MACS2.1.0_bw_html_report.zip has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test_MACS2.1.0_control_lambda.bdg	Mon Jun 15 06:06:48 2015 -0400
@@ -0,0 +1,153 @@
+chr26	0	4102915	0.31355
+chr26	4102915	4103978	486.00000
+chr26	4103978	4103998	972.00000
+chr26	4103998	4104449	1458.00000
+chr26	4104449	4105233	1944.00000
+chr26	4105233	4105326	2430.00000
+chr26	4105326	4105398	2916.00000
+chr26	4105398	4105644	3402.00024
+chr26	4105644	4105855	3888.00000
+chr26	4105855	4105980	4374.00000
+chr26	4105980	4106825	4860.00000
+chr26	4106825	4107471	5346.00049
+chr26	4107471	4107794	5832.00000
+chr26	4107794	4108037	20000.00000
+chr26	4108037	4108498	6804.00049
+chr26	4108498	4108857	9720.00000
+chr26	4108857	4108877	20000.00000
+chr26	4108877	4109100	40000.00000
+chr26	4109100	4109120	20000.00000
+chr26	4109120	4109327	14580.00000
+chr26	4109327	4109570	20000.00000
+chr26	4109570	4109733	8262.00000
+chr26	4109733	4109826	9720.00000
+chr26	4109826	4109898	14580.00000
+chr26	4109898	4109949	19440.00000
+chr26	4109949	4110111	14580.00000
+chr26	4110111	4110204	20000.00000
+chr26	4110204	4110276	40000.00000
+chr26	4110276	4110354	60000.00000
+chr26	4110354	4110447	40000.00000
+chr26	4110447	4110480	24300.00195
+chr26	4110480	4110733	29160.00000
+chr26	4110733	4110765	40000.00000
+chr26	4110765	4110826	24300.00195
+chr26	4110826	4110859	20000.00000
+chr26	4110859	4110976	40000.00000
+chr26	4110976	4111102	20000.00000
+chr26	4111102	4111144	14580.00000
+chr26	4111144	4111325	12150.00098
+chr26	4111325	4111355	14580.00000
+chr26	4111355	4111704	12636.00000
+chr26	4111704	4111947	20000.00000
+chr26	4111947	4112349	13608.00098
+chr26	4112349	4112592	20000.00000
+chr26	4112592	4112706	14580.00000
+chr26	4112706	4112862	20000.00000
+chr26	4112862	4112949	40000.00000
+chr26	4112949	4113105	20000.00000
+chr26	4113105	4113145	13608.00098
+chr26	4113145	4113327	14580.00000
+chr26	4113327	4113524	13608.00098
+chr26	4113524	4113767	20000.00000
+chr26	4113767	4113775	13608.00098
+chr26	4113775	4114145	14580.00000
+chr26	4114145	4114146	12636.00000
+chr26	4114146	4114154	20000.00000
+chr26	4114154	4114389	40000.00000
+chr26	4114389	4114686	24300.00195
+chr26	4114686	4114732	40000.00000
+chr26	4114732	4114855	60000.00000
+chr26	4114855	4114929	40000.00000
+chr26	4114929	4114975	20000.00000
+chr26	4114975	4115116	14580.00000
+chr26	4115116	4115234	19440.00000
+chr26	4115234	4115308	14580.00000
+chr26	4115308	4115326	12150.00098
+chr26	4115326	4115398	11664.00000
+chr26	4115398	4115495	11178.00000
+chr26	4115495	4115635	20000.00000
+chr26	4115635	4115837	24300.00195
+chr26	4115837	4115891	29160.00000
+chr26	4115891	4115990	40000.00000
+chr26	4115990	4116014	60000.00000
+chr26	4116014	4116072	80000.00000
+chr26	4116072	4116134	60000.00000
+chr26	4116134	4116215	40000.00000
+chr26	4116215	4116233	60000.00000
+chr26	4116233	4116257	40000.00000
+chr26	4116257	4116366	29160.00000
+chr26	4116366	4116450	34020.00000
+chr26	4116450	4116512	29160.00000
+chr26	4116512	4116611	24300.00195
+chr26	4116611	4116745	20000.00000
+chr26	4116745	4116831	40000.00000
+chr26	4116831	4116988	20000.00000
+chr26	4116988	4117136	11664.00000
+chr26	4117136	4117471	12150.00098
+chr26	4117471	4117730	11664.00000
+chr26	4117730	4117973	20000.00000
+chr26	4117973	4117983	11178.00000
+chr26	4117983	4118141	10692.00098
+chr26	4118141	4118645	11178.00000
+chr26	4118645	4118886	10692.00098
+chr26	4118886	4118904	11178.00000
+chr26	4118904	4119267	11664.00000
+chr26	4119267	4119275	11178.00000
+chr26	4119275	4119282	10692.00098
+chr26	4119282	4119525	20000.00000
+chr26	4119525	4119734	11178.00000
+chr26	4119734	4119808	10692.00098
+chr26	4119808	4119854	10206.00000
+chr26	4119854	4120286	9720.00000
+chr26	4120286	4120399	10206.00000
+chr26	4120399	4120642	20000.00000
+chr26	4120642	4120714	9720.00000
+chr26	4120714	4120957	20000.00000
+chr26	4120957	4120959	14580.00000
+chr26	4120959	4121021	19440.00000
+chr26	4121021	4121066	14580.00000
+chr26	4121066	4121216	19440.00000
+chr26	4121216	4121338	20000.00000
+chr26	4121338	4121445	40000.00000
+chr26	4121445	4121459	60000.00000
+chr26	4121459	4121581	40000.00000
+chr26	4121581	4121688	20000.00000
+chr26	4121688	4121837	19440.00000
+chr26	4121837	4121959	14580.00000
+chr26	4121959	4122015	9720.00000
+chr26	4122015	4122258	20000.00000
+chr26	4122258	4122851	8262.00000
+chr26	4122851	4123020	7776.00000
+chr26	4123020	4123263	20000.00000
+chr26	4123263	4123386	7776.00000
+chr26	4123386	4123404	9720.00000
+chr26	4123404	4123641	14580.00000
+chr26	4123641	4123764	9720.00000
+chr26	4123764	4123783	20000.00000
+chr26	4123783	4124007	40000.00000
+chr26	4124007	4124026	20000.00000
+chr26	4124026	4124386	14580.00000
+chr26	4124386	4124396	9720.00000
+chr26	4124396	4124639	20000.00000
+chr26	4124639	4124786	9234.00000
+chr26	4124786	4125017	9720.00000
+chr26	4125017	4125164	9234.00000
+chr26	4125164	4125407	20000.00000
+chr26	4125407	4125836	9234.00000
+chr26	4125836	4126337	8748.00000
+chr26	4126337	4126363	8262.00000
+chr26	4126363	4126459	9720.00000
+chr26	4126459	4126509	14580.00000
+chr26	4126509	4126699	19440.00000
+chr26	4126699	4126742	20000.00000
+chr26	4126742	4126837	40000.00000
+chr26	4126837	4126887	60000.00000
+chr26	4126887	4126942	80000.00000
+chr26	4126942	4126985	60000.00000
+chr26	4126985	4127080	40000.00000
+chr26	4127080	4127130	20000.00000
+chr26	4127130	4127320	19440.00000
+chr26	4127320	4127363	14580.00000
+chr26	4127363	4127459	9720.00000
+chr26	4127459	4127761	6804.00049
Binary file test-data/test_MACS2.1.0_html_report.zip has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test_MACS2.1.0_peaks.xls	Mon Jun 15 06:06:48 2015 -0400
@@ -0,0 +1,29 @@
+#peaks file
+# This file is generated by MACS version 2.1.0.20140616
+# Command line: callpeak -t /home/pjb/BCF_Work/galaxies/test/galaxy-dist/database/files/000/dataset_46.dat -c /home/pjb/BCF_Work/galaxies/test/galaxy-dist/database/files/000/dataset_45.dat --format=BED --name=test_MACS2.1.0 --bw=300 --gsize=775000000.0 --nomodel --extsize=243 --qvalue=0.05 -B --SPMR --mfold 5 50 --keep-dup 1
+# ARGUMENTS LIST:
+# name = test_MACS2.1.0
+# format = BED
+# ChIP-seq file = ['/home/pjb/BCF_Work/galaxies/test/galaxy-dist/database/files/000/dataset_46.dat']
+# control file = ['/home/pjb/BCF_Work/galaxies/test/galaxy-dist/database/files/000/dataset_45.dat']
+# effective genome size = 7.75e+08
+# band width = 300
+# model fold = [5, 50]
+# qvalue cutoff = 5.00e-02
+# Larger dataset will be scaled towards smaller dataset.
+# Range for calculating regional lambda is: 1000 bps and 10000 bps
+# Broad region calling is off
+# MACS will save fragment pileup signal per million reads
+
+# tag size is determined as 50 bps
+# total tags in treatment: 50
+# tags after filtering in treatment: 50
+# maximum duplicate tags at the same position in treatment = 1
+# Redundant rate in treatment: 0.00
+# total tags in control: 50
+# tags after filtering in control: 50
+# maximum duplicate tags at the same position in control = 1
+# Redundant rate in control: 0.00
+# d = 243
+#chr	start	end	length	abs_summit	pileup	-log10(pvalue)	fold_enrichment	-log10(qvalue)	name
+chr26	4118914	4119282	369	4119130	9.00	9.13132	6.31632	2.51561	test_MACS2.1.0_peak_1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test_MACS2.1.0_peaks.xls.re_match	Mon Jun 15 06:06:48 2015 -0400
@@ -0,0 +1,29 @@
+\#peaks\ file
+\#\ This\ file\ is\ generated\ by\ MACS\ version\ 2\.1\.0\.20140616
+\#\ Command\ line\:\ callpeak\ \-t\ .* \-c\ .* \-\-format\=BED\ \-\-name\=test\_MACS2\.1\.0\ \-\-bw\=300\ \-\-gsize\=775000000\.0\ \-\-nomodel\ \-\-extsize\=243\ \-\-qvalue\=0\.05\ \-B\ \-\-SPMR\ \-\-mfold\ 5\ 50\ \-\-keep\-dup\ 1
+\#\ ARGUMENTS\ LIST\:
+\#\ name\ \=\ test\_MACS2\.1\.0
+\#\ format\ \=\ BED
+\#\ ChIP\-seq\ file\ \=\ \[\'.*\'\]
+\#\ control\ file\ \=\ \[\'.*\'\]
+\#\ effective\ genome\ size\ \=\ 7\.75e\+08
+\#\ band\ width\ \=\ 300
+\#\ model\ fold\ \=\ \[5\,\ 50\]
+\#\ qvalue\ cutoff\ \=\ 5\.00e\-02
+\#\ Larger\ dataset\ will\ be\ scaled\ towards\ smaller\ dataset\.
+\#\ Range\ for\ calculating\ regional\ lambda\ is\:\ 1000\ bps\ and\ 10000\ bps
+\#\ Broad\ region\ calling\ is\ off
+\#\ MACS\ will\ save\ fragment\ pileup\ signal\ per\ million\ reads
+
+\#\ tag\ size\ is\ determined\ as\ 50\ bps
+\#\ total\ tags\ in\ treatment\:\ 50
+\#\ tags\ after\ filtering\ in\ treatment\:\ 50
+\#\ maximum\ duplicate\ tags\ at\ the\ same\ position\ in\ treatment\ \=\ 1
+\#\ Redundant\ rate\ in\ treatment\:\ 0\.00
+\#\ total\ tags\ in\ control\:\ 50
+\#\ tags\ after\ filtering\ in\ control\:\ 50
+\#\ maximum\ duplicate\ tags\ at\ the\ same\ position\ in\ control\ \=\ 1
+\#\ Redundant\ rate\ in\ control\:\ 0\.00
+\#\ d\ \=\ 243
+\#chr\	start\	end\	length\	abs\_summit\	pileup\	\-log10\(pvalue\)\	fold\_enrichment\	\-log10\(qvalue\)\	name
+chr26\	4118914\	4119282\	369\	4119130\	9\.00\	9\.13132\	6\.31632\	2\.51561\	test\_MACS2\.1\.0\_peak\_1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test_MACS2.1.0_peaks_narrowPeak.interval	Mon Jun 15 06:06:48 2015 -0400
@@ -0,0 +1,1 @@
+chr26	4118913	4119282	test_MACS2.1.0_peak_1	25	.	6.31632	9.13132	2.51561	216
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test_MACS2.1.0_summits.bed	Mon Jun 15 06:06:48 2015 -0400
@@ -0,0 +1,1 @@
+chr26	4119129	4119130	test_MACS2.1.0_peak_1	2.51561
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test_MACS2.1.0_treat_pileup.bdg	Mon Jun 15 06:06:48 2015 -0400
@@ -0,0 +1,100 @@
+chr26	0	4107561	0.00000
+chr26	4107561	4107804	20000.00000
+chr26	4107804	4108165	0.00000
+chr26	4108165	4108408	20000.00000
+chr26	4108408	4108531	0.00000
+chr26	4108531	4108774	20000.00000
+chr26	4108774	4109009	0.00000
+chr26	4109009	4109252	20000.00000
+chr26	4109252	4109506	0.00000
+chr26	4109506	4109749	20000.00000
+chr26	4109749	4109782	0.00000
+chr26	4109782	4110025	20000.00000
+chr26	4110025	4110080	0.00000
+chr26	4110080	4110323	20000.00000
+chr26	4110323	4111276	0.00000
+chr26	4111276	4111519	20000.00000
+chr26	4111519	4112110	0.00000
+chr26	4112110	4112353	20000.00000
+chr26	4112353	4112762	0.00000
+chr26	4112762	4113005	20000.00000
+chr26	4113005	4113579	0.00000
+chr26	4113579	4113822	20000.00000
+chr26	4113822	4113899	0.00000
+chr26	4113899	4114142	20000.00000
+chr26	4114142	4115021	0.00000
+chr26	4115021	4115264	20000.00000
+chr26	4115264	4115555	0.00000
+chr26	4115555	4115792	20000.00000
+chr26	4115792	4115798	40000.00000
+chr26	4115798	4116035	20000.00000
+chr26	4116035	4116615	0.00000
+chr26	4116615	4116858	20000.00000
+chr26	4116858	4116931	0.00000
+chr26	4116931	4116988	20000.00000
+chr26	4116988	4117174	40000.00000
+chr26	4117174	4117231	20000.00000
+chr26	4117231	4117308	0.00000
+chr26	4117308	4117551	20000.00000
+chr26	4117551	4117615	0.00000
+chr26	4117615	4117642	20000.00000
+chr26	4117642	4117737	40000.00000
+chr26	4117737	4117858	60000.00000
+chr26	4117858	4117885	40000.00000
+chr26	4117885	4117905	20000.00000
+chr26	4117905	4117980	40000.00000
+chr26	4117980	4118037	20000.00000
+chr26	4118037	4118122	40000.00000
+chr26	4118122	4118148	60000.00000
+chr26	4118148	4118280	40000.00000
+chr26	4118280	4118365	20000.00000
+chr26	4118365	4118516	0.00000
+chr26	4118516	4118531	20000.00000
+chr26	4118531	4118561	40000.00000
+chr26	4118561	4118753	60000.00000
+chr26	4118753	4118759	80000.00000
+chr26	4118759	4118774	60000.00000
+chr26	4118774	4118804	40000.00000
+chr26	4118804	4118812	20000.00000
+chr26	4118812	4118827	40000.00000
+chr26	4118827	4118852	60000.00000
+chr26	4118852	4118898	80000.00000
+chr26	4118898	4118913	100000.00000
+chr26	4118913	4118963	120000.00000
+chr26	4118963	4118967	140000.00000
+chr26	4118967	4118996	160000.00000
+chr26	4118996	4119022	140000.00000
+chr26	4119022	4119047	160000.00000
+chr26	4119047	4119055	180000.00000
+chr26	4119055	4119070	160000.00000
+chr26	4119070	4119077	140000.00000
+chr26	4119077	4119095	160000.00000
+chr26	4119095	4119103	140000.00000
+chr26	4119103	4119118	160000.00000
+chr26	4119118	4119141	180000.00000
+chr26	4119141	4119156	160000.00000
+chr26	4119156	4119163	140000.00000
+chr26	4119163	4119168	160000.00000
+chr26	4119168	4119206	180000.00000
+chr26	4119206	4119210	160000.00000
+chr26	4119210	4119265	140000.00000
+chr26	4119265	4119290	120000.00000
+chr26	4119290	4119320	100000.00000
+chr26	4119320	4119346	80000.00000
+chr26	4119346	4119361	60000.00000
+chr26	4119361	4119406	40000.00000
+chr26	4119406	4119411	20000.00000
+chr26	4119411	4122292	0.00000
+chr26	4122292	4122535	20000.00000
+chr26	4122535	4124351	0.00000
+chr26	4124351	4124452	20000.00000
+chr26	4124452	4124594	40000.00000
+chr26	4124594	4124695	20000.00000
+chr26	4124695	4125766	0.00000
+chr26	4125766	4125809	20000.00000
+chr26	4125809	4126009	40000.00000
+chr26	4126009	4126052	20000.00000
+chr26	4126052	4126452	0.00000
+chr26	4126452	4126695	20000.00000
+chr26	4126695	4127518	0.00000
+chr26	4127518	4127761	20000.00000
Binary file test-data/test_MACS2.1.0_treat_pileup.bw has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test_region_IP.bed	Mon Jun 15 06:06:48 2015 -0400
@@ -0,0 +1,50 @@
+chr26	4107754	4107804	D3YGT8Q1:279:C6ND0ACXX:1:2307:11522:80910	255	-
+chr26	4108358	4108408	D3YGT8Q1:279:C6ND0ACXX:1:1205:12295:24447	255	-
+chr26	4108724	4108774	D3YGT8Q1:279:C6ND0ACXX:1:1212:7461:43211	255	-
+chr26	4109009	4109059	D3YGT8Q1:279:C6ND0ACXX:1:2306:13509:41113	255	+
+chr26	4109506	4109556	D3YGT8Q1:279:C6ND0ACXX:1:1316:8894:99440	255	+
+chr26	4109975	4110025	D3YGT8Q1:279:C6ND0ACXX:1:1314:13929:4230	255	-
+chr26	4110080	4110130	D3YGT8Q1:279:C6ND0ACXX:1:2116:20242:70310	255	+
+chr26	4111276	4111326	D3YGT8Q1:279:C6ND0ACXX:1:1113:7893:68431	255	+
+chr26	4112303	4112353	D3YGT8Q1:279:C6ND0ACXX:1:1312:10267:49823	255	-
+chr26	4112955	4113005	D3YGT8Q1:279:C6ND0ACXX:1:1306:15218:93662	255	-
+chr26	4113579	4113629	D3YGT8Q1:279:C6ND0ACXX:1:2101:12665:18403	255	+
+chr26	4114092	4114142	D3YGT8Q1:279:C6ND0ACXX:1:2210:5952:64144	255	-
+chr26	4115214	4115264	D3YGT8Q1:279:C6ND0ACXX:1:1214:9389:76439	255	-
+chr26	4115748	4115798	D3YGT8Q1:279:C6ND0ACXX:1:1102:9329:33447	255	-
+chr26	4115792	4115842	D3YGT8Q1:279:C6ND0ACXX:1:1209:7255:23188	255	+
+chr26	4116615	4116665	D3YGT8Q1:279:C6ND0ACXX:1:2203:17446:35897	255	+
+chr26	4116988	4117038	D3YGT8Q1:279:C6ND0ACXX:1:2203:8076:21265	255	+
+chr26	4117124	4117174	D3YGT8Q1:279:C6ND0ACXX:1:1210:4683:41907	255	-
+chr26	4117501	4117551	D3YGT8Q1:279:C6ND0ACXX:1:1112:18900:56439	255	-
+chr26	4117615	4117665	D3YGT8Q1:279:C6ND0ACXX:1:2313:2299:78456	255	+
+chr26	4117835	4117885	D3YGT8Q1:279:C6ND0ACXX:1:2107:13997:60524	255	-
+chr26	4117905	4117955	D3YGT8Q1:279:C6ND0ACXX:1:2201:10479:92578	255	+
+chr26	4117930	4117980	D3YGT8Q1:279:C6ND0ACXX:1:2110:14632:99394	255	-
+chr26	4118037	4118087	D3YGT8Q1:279:C6ND0ACXX:1:1104:14470:25800	255	+
+chr26	4118122	4118172	D3YGT8Q1:279:C6ND0ACXX:1:2115:11588:70088	255	+
+chr26	4118709	4118759	D3YGT8Q1:279:C6ND0ACXX:1:1216:4958:48081	255	-
+chr26	4118724	4118774	D3YGT8Q1:279:C6ND0ACXX:1:1103:19280:11053	255	-
+chr26	4118753	4118803	D3YGT8Q1:279:C6ND0ACXX:1:1109:5242:36011	255	+
+chr26	4118754	4118804	D3YGT8Q1:279:C6ND0ACXX:1:2115:21104:40586	255	-
+chr26	4118852	4118902	D3YGT8Q1:279:C6ND0ACXX:1:2106:20411:76655	255	+
+chr26	4118963	4119013	D3YGT8Q1:279:C6ND0ACXX:1:1115:12391:82672	255	+
+chr26	4118967	4119017	D3YGT8Q1:279:C6ND0ACXX:1:1316:6521:21414	255	+
+chr26	4119005	4119055	D3YGT8Q1:279:C6ND0ACXX:1:2304:6533:74899	255	-
+chr26	4119020	4119070	D3YGT8Q1:279:C6ND0ACXX:1:2305:4205:52717	255	-
+chr26	4119022	4119072	D3YGT8Q1:279:C6ND0ACXX:1:2209:3941:33541	255	+
+chr26	4119047	4119097	D3YGT8Q1:279:C6ND0ACXX:1:1311:20210:42351	255	+
+chr26	4119091	4119141	D3YGT8Q1:279:C6ND0ACXX:1:2106:1249:92735	255	-
+chr26	4119106	4119156	D3YGT8Q1:279:C6ND0ACXX:1:2214:19237:88451	255	-
+chr26	4119168	4119218	D3YGT8Q1:279:C6ND0ACXX:1:1205:5997:59335	255	+
+chr26	4119270	4119320	D3YGT8Q1:279:C6ND0ACXX:1:1203:19488:98141	255	-
+chr26	4119296	4119346	D3YGT8Q1:279:C6ND0ACXX:1:1215:19021:97547	255	-
+chr26	4119311	4119361	D3YGT8Q1:279:C6ND0ACXX:1:1106:19108:19961	255	-
+chr26	4119356	4119406	D3YGT8Q1:279:C6ND0ACXX:1:2108:17061:18071	255	-
+chr26	4122292	4122342	D3YGT8Q1:279:C6ND0ACXX:1:2105:6803:72755	255	+
+chr26	4124452	4124502	D3YGT8Q1:279:C6ND0ACXX:1:2303:8935:84202	255	+
+chr26	4124544	4124594	D3YGT8Q1:279:C6ND0ACXX:1:1115:5982:45995	255	-
+chr26	4125766	4125816	D3YGT8Q1:279:C6ND0ACXX:1:1214:15854:88292	255	+
+chr26	4126002	4126052	D3YGT8Q1:279:C6ND0ACXX:1:1106:12069:84969	255	-
+chr26	4126452	4126502	D3YGT8Q1:279:C6ND0ACXX:1:1301:4389:93421	255	+
+chr26	4127711	4127761	D3YGT8Q1:279:C6ND0ACXX:1:1314:2721:99427	255	-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test_region_Input.bed	Mon Jun 15 06:06:48 2015 -0400
@@ -0,0 +1,50 @@
+chr26	4107915	4107965	D3YGT8Q1:279:C6ND0ACXX:1:2205:7723:65712	255	+
+chr26	4108978	4109028	D3YGT8Q1:279:C6ND0ACXX:1:2111:18182:78807	255	+
+chr26	4108998	4109048	D3YGT8Q1:279:C6ND0ACXX:1:1102:16043:23843	255	+
+chr26	4109399	4109449	D3YGT8Q1:279:C6ND0ACXX:1:2215:2801:57221	255	-
+chr26	4110183	4110233	D3YGT8Q1:279:C6ND0ACXX:1:1315:19316:26775	255	-
+chr26	4110276	4110326	D3YGT8Q1:279:C6ND0ACXX:1:1314:1280:77850	255	-
+chr26	4110348	4110398	D3YGT8Q1:279:C6ND0ACXX:1:1216:4159:61939	255	-
+chr26	4110594	4110644	D3YGT8Q1:279:C6ND0ACXX:1:1312:5546:70647	255	-
+chr26	4110805	4110855	D3YGT8Q1:279:C6ND0ACXX:1:2210:12809:70996	255	-
+chr26	4110980	4111030	D3YGT8Q1:279:C6ND0ACXX:1:2215:3014:41883	255	+
+chr26	4111825	4111875	D3YGT8Q1:279:C6ND0ACXX:1:2314:17556:68202	255	+
+chr26	4112421	4112471	D3YGT8Q1:279:C6ND0ACXX:1:1204:13331:57729	255	-
+chr26	4112827	4112877	D3YGT8Q1:279:C6ND0ACXX:1:2309:11398:71181	255	+
+chr26	4112983	4113033	D3YGT8Q1:279:C6ND0ACXX:1:1104:16671:54740	255	+
+chr26	4113645	4113695	D3YGT8Q1:279:C6ND0ACXX:1:2212:20179:47885	255	+
+chr26	4114267	4114317	D3YGT8Q1:279:C6ND0ACXX:1:2314:3773:63068	255	+
+chr26	4114275	4114325	D3YGT8Q1:279:C6ND0ACXX:1:1116:18465:6326	255	+
+chr26	4114684	4114734	D3YGT8Q1:279:C6ND0ACXX:1:1114:17981:44317	255	-
+chr26	4114758	4114808	D3YGT8Q1:279:C6ND0ACXX:1:1103:15929:31123	255	-
+chr26	4114804	4114854	D3YGT8Q1:279:C6ND0ACXX:1:1208:10693:22578	255	-
+chr26	4115616	4115666	D3YGT8Q1:279:C6ND0ACXX:1:1101:1142:17054	255	+
+chr26	4115950	4116000	D3YGT8Q1:279:C6ND0ACXX:1:1316:13040:39630	255	+
+chr26	4116012	4116062	D3YGT8Q1:279:C6ND0ACXX:1:2107:20439:44058	255	+
+chr26	4116111	4116161	D3YGT8Q1:279:C6ND0ACXX:1:2307:1504:41529	255	+
+chr26	4116135	4116185	D3YGT8Q1:279:C6ND0ACXX:1:2210:2837:7759	255	+
+chr26	4116287	4116337	D3YGT8Q1:279:C6ND0ACXX:1:2313:15422:100876	255	-
+chr26	4116709	4116759	D3YGT8Q1:279:C6ND0ACXX:1:2301:13318:45125	255	+
+chr26	4116866	4116916	D3YGT8Q1:279:C6ND0ACXX:1:1113:1326:96268	255	+
+chr26	4117851	4117901	D3YGT8Q1:279:C6ND0ACXX:1:1310:2843:93758	255	+
+chr26	4119403	4119453	D3YGT8Q1:279:C6ND0ACXX:1:1304:17211:28405	255	+
+chr26	4120471	4120521	D3YGT8Q1:279:C6ND0ACXX:1:2116:18127:100146	255	-
+chr26	4120786	4120836	D3YGT8Q1:279:C6ND0ACXX:1:1207:2164:6021	255	-
+chr26	4121337	4121387	D3YGT8Q1:279:C6ND0ACXX:1:2215:9085:93015	255	+
+chr26	4121459	4121509	D3YGT8Q1:279:C6ND0ACXX:1:2311:16000:27081	255	+
+chr26	4121566	4121616	D3YGT8Q1:279:C6ND0ACXX:1:1216:18410:44768	255	+
+chr26	4122136	4122186	D3YGT8Q1:279:C6ND0ACXX:1:2316:17558:30500	255	+
+chr26	4123141	4123191	D3YGT8Q1:279:C6ND0ACXX:1:2203:15835:86872	255	+
+chr26	4123836	4123886	D3YGT8Q1:279:C6ND0ACXX:1:2212:16650:8391	255	-
+chr26	4123904	4123954	D3YGT8Q1:279:C6ND0ACXX:1:1307:7349:80960	255	+
+chr26	4124517	4124567	D3YGT8Q1:279:C6ND0ACXX:1:1213:6010:82097	255	+
+chr26	4125236	4125286	D3YGT8Q1:279:C6ND0ACXX:1:2216:1172:30684	255	-
+chr26	4126820	4126870	D3YGT8Q1:279:C6ND0ACXX:1:2107:12500:48771	255	+
+chr26	4126863	4126913	D3YGT8Q1:279:C6ND0ACXX:1:2105:1028:78112	255	+
+chr26	4126909	4126959	D3YGT8Q1:279:C6ND0ACXX:1:1302:19618:57506	255	-
+chr26	4126959	4127009	D3YGT8Q1:279:C6ND0ACXX:1:1204:9666:55269	255	-
+chr26	4128534	4128584	D3YGT8Q1:279:C6ND0ACXX:1:2312:9851:2880	255	+
+chr26	4129060	4129110	D3YGT8Q1:279:C6ND0ACXX:1:2104:4039:10225	255	+
+chr26	4129077	4129127	D3YGT8Q1:279:C6ND0ACXX:1:1306:15379:11481	255	+
+chr26	4129446	4129496	D3YGT8Q1:279:C6ND0ACXX:1:1303:9852:6188	255	+
+chr26	4130521	4130571	D3YGT8Q1:279:C6ND0ACXX:1:1201:20815:69132	255	+
--- a/tool_dependencies.xml	Tue Apr 21 10:33:52 2015 -0400
+++ b/tool_dependencies.xml	Mon Jun 15 06:06:48 2015 -0400
@@ -2,7 +2,7 @@
 <tool_dependency>
   <!-- Dependencies from main/test toolsheds -->
   <package name="numpy" version="1.9">
-    <repository changeset_revision="266529386609" name="package_numpy_1_9" owner="iuc" prior_installation_required="True" toolshed="https://testtoolshed.g2.bx.psu.edu" />
+    <repository changeset_revision="43cb426cb05d" name="package_numpy_1_9" owner="iuc" prior_installation_required="True" toolshed="https://testtoolshed.g2.bx.psu.edu" />
   </package>
   <package name="R" version="3.1.2">
     <repository changeset_revision="41f43a2064ba" name="package_r_3_1_2" owner="iuc" prior_installation_required="True" toolshed="https://testtoolshed.g2.bx.psu.edu" />
@@ -45,7 +45,7 @@
               <action type="download_by_url">https://pypi.python.org/packages/source/M/MACS2/MACS2-2.1.0.20140616.tar.gz</action>
 	      <!-- Install environment for main & test toolsheds -->
               <action type="set_environment_for_install">
-		<repository changeset_revision="266529386609" name="package_numpy_1_9" owner="iuc" toolshed="https://testtoolshed.g2.bx.psu.edu">
+		<repository changeset_revision="43cb426cb05d" name="package_numpy_1_9" owner="iuc" toolshed="https://testtoolshed.g2.bx.psu.edu">
 		  <package name="numpy" version="1.9" />
 		</repository>
 	      </action>