Repository 'diffbind'
hg clone https://toolshed.g2.bx.psu.edu/repos/bgruening/diffbind

Changeset 18:f907216064f6 (2024-07-08)
Previous changeset 17:2605cbdaa7d8 (2023-12-15)
Commit message:
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/diffbind commit fd148a124034b44d0d61db3eec32ff991d8c152c
modified:
diffbind.R
diffbind.xml
test-data/DiffBind_analysis.RData
test-data/out_binding_matrix.tab
test-data/out_diffbind.bed
test-data/out_diffbind.interval
test-data/out_diffbind.tab
test-data/out_diffbind_ctrl.interval
test-data/out_plots.pdf
added:
test-data/out_binding_matrix_edger.tab
test-data/out_diffbind_blacklist.tab
test-data/out_diffbind_edger.interval
test-data/out_diffbind_minoverlap1.tab
test-data/out_plots_edger.pdf
b
diff -r 2605cbdaa7d8 -r f907216064f6 diffbind.R
--- a/diffbind.R Fri Dec 15 19:39:14 2023 +0000
+++ b/diffbind.R Mon Jul 08 18:31:51 2024 +0000
[
b'@@ -1,45 +1,47 @@\n ## Setup R error handling to go to stderr\n-options(show.error.messages = FALSE, error = function() {\n-  cat(geterrmessage(), file = stderr())\n-  q("no", 1, FALSE)\n+options(show.error.messages = F, error = function() {\n+    cat(geterrmessage(), file = stderr())\n+    q("no", 1, F)\n })\n # we need that to not crash galaxy with an UTF8 error on German LC settings.\n Sys.setlocale("LC_MESSAGES", "en_US.UTF-8")\n \n suppressPackageStartupMessages({\n-  library("getopt")\n-  library("DiffBind")\n-  library("rjson")\n+    library("getopt")\n+    library("DiffBind")\n+    library("rjson")\n })\n \n options(stringAsfactors = FALSE, useFancyQuotes = FALSE)\n args <- commandArgs(trailingOnly = TRUE)\n \n-#get options, using the spec as defined by the enclosed list.\n-#we read the options from the default: commandArgs(TRUE).\n+# get options, using the spec as defined by the enclosed list.\n+# we read the options from the default: commandArgs(TRUE).\n spec <- matrix(c(\n-  "infile", "i", 1, "character",\n-  "outfile", "o", 1, "character",\n-  "scorecol", "n", 1, "integer",\n-  "lowerbetter", "l", 1, "logical",\n-  "summits", "s", 1, "integer",\n-  "th", "t", 1, "double",\n-  "format", "f", 1, "character",\n-  "plots", "p", 2, "character",\n-  "bmatrix", "b", 0, "logical",\n-  "rdaOpt", "r", 0, "logical",\n-  "infoOpt", "a", 0, "logical",\n-  "verbose", "v", 2, "integer",\n-  "help", "h", 0, "logical"\n+    "infile", "i", 1, "character",\n+    "outfile", "o", 1, "character",\n+    "method", "m", 1, "character",\n+    "scorecol", "n", 1, "integer",\n+    "lowerbetter", "l", 1, "logical",\n+    "summits", "s", 1, "integer",\n+    "th", "t", 1, "double",\n+    "minoverlap", "O", 1, "integer",\n+    "use_blacklist", "B", 0, "logical",\n+    "format", "f", 1, "character",\n+    "plots", "p", 2, "character",\n+    "bmatrix", "b", 0, "logical",\n+    "rdaOpt", "r", 0, "logical",\n+    "infoOpt", "a", 0, "logical",\n+    "verbose", "v", 2, "integer",\n+    "help", "h", 0, "logical"\n ), byrow = TRUE, ncol = 4)\n \n opt <- getopt(spec)\n-\n # if help was asked for print a friendly message\n # and exit with a non-zero error code\n if (!is.null(opt$help)) {\n-  cat(getopt(spec, usage = TRUE))\n-  q(status = 1)\n+    cat(getopt(spec, usage = TRUE))\n+    q(status = 1)\n }\n \n parser <- newJSONParser()\n@@ -55,115 +57,127 @@\n samples <- sapply(strsplit(peaks, "-"), `[`, 2)\n \n if (length(ctrls) != 0) {\n-  sample_table <- data.frame(\n-    SampleID = samples,\n-    Condition = groups,\n-    bamReads = bams,\n-    bamControl = ctrls,\n-    Peaks = peaks,\n-    Tissue = samples\n-  ) # using "Tissue" column to display ids as labels in PCA plot\n+    sample_table <- data.frame(\n+        SampleID = samples,\n+        Condition = groups,\n+        bamReads = bams,\n+        bamControl = ctrls,\n+        Peaks = peaks,\n+        Tissue = samples\n+    ) # using "Tissue" column to display ids as labels in PCA plot\n } else {\n-  sample_table <- data.frame(\n-    SampleID = samples,\n-    Replicate = samples,\n-    Condition = groups,\n-    bamReads = bams,\n-    Peaks = peaks,\n-    Tissue = samples\n-  )\n+    sample_table <- data.frame(\n+        SampleID = samples,\n+        Replicate = samples,\n+        Condition = groups,\n+        bamReads = bams,\n+        Peaks = peaks,\n+        Tissue = samples\n+    )\n }\n \n-sample <- dba(sampleSheet = sample_table, peakFormat = "bed", scoreCol = opt$scorecol, bLowerScoreBetter = opt$lowerbetter)\n+sample <- dba(sampleSheet = sample_table, peakFormat = "bed", scoreCol = opt$scorecol, bLowerScoreBetter = opt$lowerbetter, minOverlap = opt$minoverlap)\n+\n+if (!is.null(opt$use_blacklist)) {\n+    sample <- dba.blacklist(sample, blacklist = TRUE)\n+}\n \n if (!is.null(opt$summits)) {\n-  sample_count <- dba.count(sample, summits = opt$summits)\n+    sample_count <- dba.count(sample, summits = opt$summits)\n } else {\n-  sample_count <- dba.count(sample)\n+    sample_count <- dba.count(sample)\n }\n \n sample_contrast <- dba.contrast(sample_count, categories = DBA_CONDITION, minMembers = 2)\n-sample_analyze <- d'..b's_sorted))\n-  )\n+    res_sorted <- data.frame(\n+        Chrom = seqnames(res_sorted),\n+        Start = start(res_sorted) - 1,\n+        End = end(res_sorted),\n+        Name = rep("DiffBind", length(res_sorted)),\n+        Score = rep("0", length(res_sorted)),\n+        Strand = gsub("\\\\*", ".", strand(res_sorted))\n+    )\n } else if (opt$format == "interval") {\n-  # Output as interval\n-  df <- as.data.frame(res_sorted)\n-  extrainfo <- NULL\n-  for (i in seq_len(nrow(df))) {\n-    extrainfo[i] <- paste0(c(df$width[i], df[i, 6:ncol(df)]), collapse = "|")\n-  }\n-  res_sorted  <- data.frame(\n-    Chrom = seqnames(res_sorted),\n-    Start = start(res_sorted) - 1,\n-    End = end(res_sorted),\n-    Name = rep("DiffBind", length(res_sorted)),\n-    Score = rep("0", length(res_sorted)),\n-    Strand = gsub("\\\\*", ".", strand(res_sorted)),\n-    Comment = extrainfo\n-  )\n+    # Output as interval\n+    df <- as.data.frame(res_sorted)\n+    extrainfo <- NULL\n+    for (i in seq_len(nrow(df))) {\n+        extrainfo[i] <- paste0(c(df$width[i], df[i, 6:ncol(df)]), collapse = "|")\n+    }\n+    res_sorted <- data.frame(\n+        Chrom = seqnames(res_sorted),\n+        Start = start(res_sorted) - 1,\n+        End = end(res_sorted),\n+        Name = rep("DiffBind", length(res_sorted)),\n+        Score = rep("0", length(res_sorted)),\n+        Strand = gsub("\\\\*", ".", strand(res_sorted)),\n+        Comment = extrainfo\n+    )\n } else {\n-  # Output as 0-based tabular\n-  res_sorted <- data.frame(\n-    Chrom = seqnames(res_sorted),\n-    Start = start(res_sorted) - 1,\n-    End = end(res_sorted),\n-    Name = rep("DiffBind", length(res_sorted)),\n-    Score = rep("0", length(res_sorted)),\n-    Strand = gsub("\\\\*", ".", strand(res_sorted)),\n-    mcols(res_sorted)\n-  )\n+    # Output as 0-based tabular\n+    res_sorted <- data.frame(\n+        Chrom = seqnames(res_sorted),\n+        Start = start(res_sorted) - 1,\n+        End = end(res_sorted),\n+        Name = rep("DiffBind", length(res_sorted)),\n+        Score = rep("0", length(res_sorted)),\n+        Strand = gsub("\\\\*", ".", strand(res_sorted)),\n+        mcols(res_sorted)\n+    )\n }\n write.table(res_sorted, file = opt$outfile, sep = "\\t", quote = FALSE, row.names = FALSE)\n \n # Output binding affinity scores\n if (!is.null(opt$bmatrix)) {\n-  bmat <- dba.peakset(sample_count, bRetrieve = TRUE, DataType = DBA_DATA_FRAME)\n-  # Output as 0-based tabular\n-  bmat <- data.frame(\n-    Chrom = bmat[, 1],\n-    Start = bmat[, 2] - 1,\n-    End = bmat[, 3],\n-    bmat[, 4:ncol(bmat)]\n-  )\n-  write.table(bmat, file = "bmatrix.tab", sep = "\\t", quote = FALSE, row.names = FALSE)\n+    bmat <- dba.peakset(sample_count, bRetrieve = TRUE, DataType = DBA_DATA_FRAME, minOverlap = opt$minoverlap)\n+    # Output as 0-based tabular\n+    bmat <- data.frame(\n+        Chrom = bmat[, 1],\n+        Start = bmat[, 2] - 1,\n+        End = bmat[, 3],\n+        bmat[, 4:ncol(bmat)]\n+    )\n+    write.table(bmat, file = "bmatrix.tab", sep = "\\t", quote = FALSE, row.names = FALSE)\n }\n \n # Output RData file\n if (!is.null(opt$rdaOpt)) {\n-  save.image(file = "DiffBind_analysis.RData")\n+    save.image(file = "DiffBind_analysis.RData")\n }\n \n # Output analysis info\n if (!is.null(opt$infoOpt)) {\n-  info <- "DiffBind_analysis_info.txt"\n-  cat("dba.count Info\\n\\n", file = info, append = TRUE)\n-  capture.output(sample, file = info, append = TRUE)\n-  cat("\\ndba.analyze Info\\n\\n", file = info, append = TRUE)\n-  capture.output(sample_analyze, file = info, append = TRUE)\n-  cat("\\nSessionInfo\\n\\n", file = info, append = TRUE)\n-  capture.output(sessionInfo(), file = info, append = TRUE)\n+    info <- "DiffBind_analysis_info.txt"\n+    cat("dba.count Info\\n\\n", file = info, append = TRUE)\n+    capture.output(sample, file = info, append = TRUE)\n+    cat("\\ndba.analyze Info\\n\\n", file = info, append = TRUE)\n+    capture.output(sample_analyze, file = info, append = TRUE)\n+    cat("\\nSessionInfo\\n\\n", file = info, append = TRUE)\n+    capture.output(sessionInfo(), file = info, append = TRUE)\n }\n'
b
diff -r 2605cbdaa7d8 -r f907216064f6 diffbind.xml
--- a/diffbind.xml Fri Dec 15 19:39:14 2023 +0000
+++ b/diffbind.xml Mon Jul 08 18:31:51 2024 +0000
[
b'@@ -1,8 +1,8 @@\n <tool id="diffbind" name="DiffBind" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">\n     <description> differential binding analysis of ChIP-Seq peak data</description>\n     <macros>\n-        <token name="@TOOL_VERSION@">2.10.0</token>\n-        <token name="@VERSION_SUFFIX@">1</token>\n+        <token name="@TOOL_VERSION@">3.12.0</token>\n+        <token name="@VERSION_SUFFIX@">0</token>\n         <token name="@PROFILE@">22.05</token>\n     </macros>\n     <xrefs>\n@@ -11,9 +11,8 @@\n     </xrefs>\n     <requirements>\n         <requirement type="package" version="@TOOL_VERSION@">bioconductor-diffbind</requirement>\n-        <requirement type="package" version="3.5.1">r-base</requirement>\n-        <requirement type="package" version="1.20.3">r-getopt</requirement>\n-        <requirement type="package" version="0.2.20">r-rjson</requirement>\n+        <requirement type="package" version="1.20.4">r-getopt</requirement>\n+        <requirement type="package" version="4.0.16">bioconductor-edger</requirement>\n     </requirements>\n     <stdio>\n         <regex match="Execution halted"\n@@ -71,7 +70,7 @@\n         #for $ctrl in $g.bamcontrol:\n             #set $ctrl_name = re.sub(\'[^\\w\\-]\', \'_\', str($ctrl.element_identifier))\n             #set $ctrl_file = $ctrl_name + "-bamcontrol.bam"\n-            #set ctrl_index = $ctrl_name + "-bamcontrol.bai"\n+            #set $ctrl_index = $ctrl_name + "-bamcontrol.bai"\n             #if $ctrl_file not in json.dumps($temp_factor):\n                 ln -s \'${ctrl}\' \'${ctrl_file}\' &&\n                 ln -s \'${ctrl.metadata.bam_index}\' \'${ctrl_index}\' &&\n@@ -94,13 +93,15 @@\n \n     -i \'#echo json.dumps(temp_factor_names)#\'\n     -o \'$outfile\'\n+    -m \'$method\'\n     -t $th\n     -f $out.format\n     -p \'$plots\'\n-\n-    #if $scorecol:\n-        -n "$scorecol"\n+    -O $minoverlap\n+    #if $use_blacklist:\n+        -B\n     #end if\n+    -n $scorecol\n     #if $lowerbetter:\n         -l "$lowerbetter"\n     #end if\n@@ -138,8 +139,17 @@\n             <param name="bamreads" type="data" format="bam" multiple="true" label="Read BAM files" help="Specify the Read BAM files used in the Peak calling. The input order of the BAM files for the samples MUST match the input order of the peaks files."/>\n             <param name="bamcontrol" type="data" format="bam" multiple="true" optional="True" label="Control BAM files" help="If specifying a control BAM file, all samples are required to specify one, see Help section below. The input order of the BAM files for the samples MUST match the input order of the peaks files."/>\n         </repeat>\n-\n-        <param name="scorecol" type="integer" min="0" value="8" label="Score Column" help="Column in peak files that contains peak scores. Default: 8 (narrowPeak)">\n+        <param name="method" type="select" label="Underlying method by which to analyze differential binding affinity">\n+            <option value="DBA_DESEQ2" selected="True">DESeq2</option>\n+            <option value="DBA_EDGER">edgeR</option>\n+        </param>\n+        <param name="use_blacklist" type="boolean" truevalue="True" falsevalue="" checked="False" label="Filters peak intervals that overlap a blacklist from ENCODE" help="Works with human, mouse, worm and fly. Assembly version is determined from the BAM files." />\n+        <param name="minoverlap" type="integer" min="1" value="2" label="Only include peaks in at least this many peaksets in the main binding matrix">\n+            <sanitizer>\n+                <valid initial="string.digits"/>\n+            </sanitizer>\n+        </param>\n+        <param name="scorecol" type="integer" min="0" value="5" label="Score Column" help="Column in peak files that contains peak scores. Default: 5 (narrowPeak)">\n             <sanitizer>\n                 <valid initial="string.digits"/>\n             </sanitizer>\n@@ -226,6 +236,28 @@\n                 </assert_contents>\n             </output>\n         </test>\n+        <!-- Ensure EDGER works -->\n+        <test expect_'..b'alue="BT474_ER_1.bam,BT474_ER_2.bam" />\n+            </repeat>\n+            <repeat name="rep_group">\n+                <param name="groupName" value="Responsive"/>\n+                <param name="peaks" ftype="bed" value="MCF7_ER_1.bed.gz,MCF7_ER_2.bed.gz"/>\n+                <param name="bamreads" ftype="bam" value="MCF7_ER_1.bam,MCF7_ER_2.bam" />\n+            </repeat>\n+            <param name="scorecol" value="5" />\n+            <param name="method" value="DBA_EDGER" />\n+            <param name="format" value="interval"/>\n+            <param name="pdf" value="True" />\n+            <param name="binding_matrix" value="True" />\n+            <param name="rscript" value="False"/>\n+            <output name="outfile" ftype="interval" value="out_diffbind_edger.interval" />\n+            <output name="plots" value="out_plots_edger.pdf" compare="sim_size" />\n+            <output name="binding_matrix" value="out_binding_matrix_edger.tab" />\n+        </test>\n         <!-- Ensure control BAMs input works -->\n         <test expect_num_outputs="1">\n             <repeat name="rep_group">\n@@ -276,6 +308,40 @@\n             <param name="format" value="tabular"/>\n             <output name="outfile" ftype="tabular" file="out_diffbind.tab" />\n         </test>\n+        <!-- Ensure minoverlap works -->\n+        <test expect_num_outputs="1">\n+            <repeat name="rep_group">\n+                <param name="groupName" value="Resistant"/>\n+                <param name="peaks" ftype="bed" value="BT474_ER_1.bed.gz,BT474_ER_2.bed.gz"/>\n+                <param name="bamreads" ftype="bam" value="BT474_ER_1.bam,BT474_ER_2.bam" />\n+            </repeat>\n+            <repeat name="rep_group">\n+                <param name="groupName" value="Responsive"/>\n+                <param name="peaks" ftype="bed" value="MCF7_ER_1.bed.gz,MCF7_ER_2.bed.gz"/>\n+                <param name="bamreads" ftype="bam" value="MCF7_ER_1.bam,MCF7_ER_2.bam" />\n+            </repeat>\n+            <param name="minoverlap" value="1" />\n+            <param name="scorecol" value="5" />\n+            <param name="format" value="tabular"/>\n+            <output name="outfile" ftype="tabular" file="out_diffbind_minoverlap1.tab" />\n+        </test>\n+        <!-- Ensure blacklist filtering works -->\n+        <test expect_num_outputs="1">\n+            <repeat name="rep_group">\n+                <param name="groupName" value="Resistant"/>\n+                <param name="peaks" ftype="bed" value="BT474_ER_1.bed.gz,BT474_ER_2.bed.gz"/>\n+                <param name="bamreads" ftype="bam" value="BT474_ER_1.bam,BT474_ER_2.bam" />\n+            </repeat>\n+            <repeat name="rep_group">\n+                <param name="groupName" value="Responsive"/>\n+                <param name="peaks" ftype="bed" value="MCF7_ER_1.bed.gz,MCF7_ER_2.bed.gz"/>\n+                <param name="bamreads" ftype="bam" value="MCF7_ER_1.bam,MCF7_ER_2.bam" />\n+            </repeat>\n+            <param name="use_blacklist" value="True"/>\n+            <param name="scorecol" value="5" />\n+            <param name="format" value="tabular"/>\n+            <output name="outfile" ftype="tabular" file="out_diffbind_blacklist.tab" />\n+        </test>\n     </tests>\n     <help><![CDATA[\n \n@@ -420,11 +486,11 @@\n     =====  ======  ======  ========  =====  ======\n     Chrom  Start   End     Name      Score  Strand\n     =====  ======  ======  ========  =====  ======\n-    chr18  394599  396513  DiffBind    0      \\.  \n-    chr18  111566  112005  DiffBind    0      \\.  \n-    chr18  346463  347342  DiffBind    0      \\.  \n-    chr18  399013  400382  DiffBind    0      \\.  \n-    chr18  371109  372102  DiffBind    0      \\.  \n+    chr18  394599  396513  DiffBind    0      \\.\n+    chr18  111566  112005  DiffBind    0      \\.\n+    chr18  346463  347342  DiffBind    0      \\.\n+    chr18  399013  400382  DiffBind    0      \\.\n+    chr18  371109  372102  DiffBind    0      \\.\n     =====  ======  ======  ========  =====  ======\n \n Example - **Tabular format**:\n'
b
diff -r 2605cbdaa7d8 -r f907216064f6 test-data/DiffBind_analysis.RData
b
Binary file test-data/DiffBind_analysis.RData has changed
b
diff -r 2605cbdaa7d8 -r f907216064f6 test-data/out_binding_matrix.tab
--- a/test-data/out_binding_matrix.tab Fri Dec 15 19:39:14 2023 +0000
+++ b/test-data/out_binding_matrix.tab Mon Jul 08 18:31:51 2024 +0000
b
b'@@ -1,1395 +1,15 @@\n Chrom\tStart\tEnd\tMCF7_ER_1_bed_gz\tMCF7_ER_2_bed_gz\tBT474_ER_1_bed_gz\tBT474_ER_2_bed_gz\n-chr18\t111566\t112005\t137.615208000375\t59.878372946728\t29.4139375878664\t19.9594576489093\n-chr18\t189222\t189652\t19.9594576489093\t12.6059732519427\t11.5554754809475\t23.110950961895\n-chr18\t215231\t216063\t11.5554754809475\t15.7574665649284\t31.5149331298568\t72.4843461986707\n-chr18\t311529\t312172\t17.8584621069189\t11.5554754809475\t54.6258840917518\t43.0704086108043\n-chr18\t346463\t347342\t75.6358395116564\t40.9694130688139\t21.0099554199046\t16.8079643359236\n-chr18\t356559\t357362\t11.5554754809475\t14.7069687939332\t57.7773774047375\t53.5753863207566\n-chr18\t371109\t372102\t8.40398216796182\t9.45447993895705\t81.9388261376278\t82.989323908623\n-chr18\t394599\t396513\t56.7268796337423\t43.0704086108043\t510.541916703681\t438.05757050501\n-chr18\t399013\t400382\t156.524167878289\t117.655750351465\t558.864814169461\t496.885445680743\n-chr18\t498905\t500200\t767.913870597511\t278.381909313735\t196.443083176108\t181.736114382174\n-chr18\t503517\t504552\t99.7972882445466\t61.9793684887184\t194.342087634117\t231.10950961895\n-chr18\t531671\t532439\t44.1209063817996\t23.110950961895\t57.7773774047375\t73.5348439696659\n-chr18\t568035\t569332\t165.978647817246\t157.574665649284\t207.998558657055\t221.655029679993\n-chr18\t589045\t589875\t50.4238930077709\t72.4843461986707\t117.655750351466\t149.170683481322\n-chr18\t651922\t652540\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t657091\t657876\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t770234\t770992\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t832067\t832623\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t845063\t845849\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t922954\t924107\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t995239\t996193\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t1075316\t1075949\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t1147155\t1148528\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t1150201\t1150753\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t1220992\t1221400\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t1221402\t1222223\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t1241657\t1242294\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t1269915\t1270558\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t1302130\t1303494\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t1359567\t1360093\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t1392691\t1393631\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t1394273\t1394992\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t1460101\t1460758\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t1618036\t1618797\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t1903961\t1904450\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t1905462\t1907085\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t1995316\t1995795\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t2070405\t2071263\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t2084319\t2084599\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t2096238\t2097152\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t2156042\t2156770\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t2171819\t2172243\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t2185312\t2185959\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t2189791\t2190434\t1.05'..b'.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t75463875\t75464359\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t76166819\t76167943\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t76212083\t76212732\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t76244282\t76244913\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t76247275\t76247878\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t76355381\t76355883\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t76382038\t76382699\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t76398928\t76399745\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t76431620\t76432094\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t76528539\t76529917\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t76533866\t76534686\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t76566545\t76567310\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t76574329\t76575226\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t76652674\t76653264\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t76653335\t76654222\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t76734600\t76735073\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t76749881\t76750469\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t76759893\t76760344\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t76822531\t76823743\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t77062036\t77062828\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t77173662\t77174478\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t77300429\t77301170\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t77424529\t77425198\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t77438940\t77440103\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t77541064\t77541645\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t77694135\t77695082\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t77725046\t77725936\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t77968048\t77968792\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n-chr18\t77987485\t77988208\t1.05049777099523\t1.05049777099523\t1.05049777099523\t1.05049777099523\n+chr18\t111399\t111800\t180.293279634528\t92.0256679861455\t16.5827537782533\t14.8740395515808\n+chr18\t189220\t189621\t28.3926424621303\t17.5286986640277\t7.89654941821586\t16.3614435067389\n+chr18\t215634\t216035\t14.1963212310652\t17.5286986640277\t19.7413735455397\t36.441396901373\n+chr18\t311744\t312145\t18.4552176003847\t14.6072488866898\t37.9034372074361\t29.7480791031616\n+chr18\t346835\t347236\t89.4368237557105\t42.3610217714003\t11.0551691855022\t7.4370197757904\n+chr18\t356840\t357241\t11.3570569848521\t10.2250742206828\t35.5344723819714\t30.4917810807406\n+chr18\t371564\t371965\t5.67852849242606\t1.46072488866898\t47.3792965092952\t41.6473107444262\n+chr18\t395762\t396163\t45.4282279394085\t27.7537728847105\t334.024040390531\t248.396460511399\n+chr18\t399314\t399715\t193.069968742486\t140.229589312222\t375.875752307075\t310.12372465046\n+chr18\t499370\t499771\t935.537569127194\t330.123824839189\t109.7620369132\t92.96274719738\n+chr18\t503878\t504279\t120.668730464054\t73.0362444334488\t130.293065400562\t145.765587605492\n+chr18\t531679\t532080\t55.3656528011541\t27.7537728847105\t37.1137822656146\t40.1599067892682\n+chr18\t568723\t569124\t187.39144025006\t170.90481197427\t127.134445633275\t124.1982302557\n+chr18\t589263\t589664\t63.8834455397932\t92.0256679861455\t81.3344590076234\t98.9123630180123\n'
b
diff -r 2605cbdaa7d8 -r f907216064f6 test-data/out_binding_matrix_edger.tab
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/out_binding_matrix_edger.tab Mon Jul 08 18:31:51 2024 +0000
b
@@ -0,0 +1,15 @@
+Chrom Start End MCF7_ER_1_bed_gz MCF7_ER_2_bed_gz BT474_ER_1_bed_gz BT474_ER_2_bed_gz
+chr18 111399 111800 180.293279634528 92.0256679861455 16.5827537782533 14.8740395515808
+chr18 189220 189621 28.3926424621303 17.5286986640277 7.89654941821586 16.3614435067389
+chr18 215634 216035 14.1963212310652 17.5286986640277 19.7413735455397 36.441396901373
+chr18 311744 312145 18.4552176003847 14.6072488866898 37.9034372074361 29.7480791031616
+chr18 346835 347236 89.4368237557105 42.3610217714003 11.0551691855022 7.4370197757904
+chr18 356840 357241 11.3570569848521 10.2250742206828 35.5344723819714 30.4917810807406
+chr18 371564 371965 5.67852849242606 1.46072488866898 47.3792965092952 41.6473107444262
+chr18 395762 396163 45.4282279394085 27.7537728847105 334.024040390531 248.396460511399
+chr18 399314 399715 193.069968742486 140.229589312222 375.875752307075 310.12372465046
+chr18 499370 499771 935.537569127194 330.123824839189 109.7620369132 92.96274719738
+chr18 503878 504279 120.668730464054 73.0362444334488 130.293065400562 145.765587605492
+chr18 531679 532080 55.3656528011541 27.7537728847105 37.1137822656146 40.1599067892682
+chr18 568723 569124 187.39144025006 170.90481197427 127.134445633275 124.1982302557
+chr18 589263 589664 63.8834455397932 92.0256679861455 81.3344590076234 98.9123630180123
b
diff -r 2605cbdaa7d8 -r f907216064f6 test-data/out_diffbind.bed
--- a/test-data/out_diffbind.bed Fri Dec 15 19:39:14 2023 +0000
+++ b/test-data/out_diffbind.bed Mon Jul 08 18:31:51 2024 +0000
b
@@ -1,6 +1,8 @@
 Chrom Start End Name Score Strand
-chr18 394599 396513 DiffBind 0 .
-chr18 111566 112005 DiffBind 0 .
-chr18 346463 347342 DiffBind 0 .
-chr18 399013 400382 DiffBind 0 .
-chr18 371109 372102 DiffBind 0 .
+chr18 395762 396163 DiffBind 0 .
+chr18 111399 111800 DiffBind 0 .
+chr18 346835 347236 DiffBind 0 .
+chr18 371564 371965 DiffBind 0 .
+chr18 499370 499771 DiffBind 0 .
+chr18 399314 399715 DiffBind 0 .
+chr18 356840 357241 DiffBind 0 .
b
diff -r 2605cbdaa7d8 -r f907216064f6 test-data/out_diffbind.interval
--- a/test-data/out_diffbind.interval Fri Dec 15 19:39:14 2023 +0000
+++ b/test-data/out_diffbind.interval Mon Jul 08 18:31:51 2024 +0000
b
@@ -1,6 +1,8 @@
 Chrom Start End Name Score Strand Comment
-chr18 394599 396513 DiffBind 0 . 1914|7.15|5.55|7.89|-2.35|7.06e-24|9.84e-21
-chr18 111566 112005 DiffBind 0 . 439|5.71|6.53|3.63|2.89|1.27e-08|8.88e-06
-chr18 346463 347342 DiffBind 0 . 879|5|5.77|3.24|2.52|6.51e-06|0.00303
-chr18 399013 400382 DiffBind 0 . 1369|7.62|7|8.05|-1.04|1.04e-05|0.00364
-chr18 371109 372102 DiffBind 0 . 993|4.63|3.07|5.36|-2.3|8.1e-05|0.0226
+chr18 395762 396163 DiffBind 0 . 401|7.35667754943003|8.18591732832817|5.19341695494225|2.89272331092043|2.2595895020204e-20|3.16342530282856e-19
+chr18 111399 111800 DiffBind 0 . 401|6.24686285287403|3.97529970642496|7.08915355661244|-2.93942741086107|6.78146126407475e-13|4.74702288485233e-12
+chr18 346835 347236 DiffBind 0 . 401|5.23160553920987|3.20884410473949|6.0421829768676|-2.55382917051998|1.50516710192269e-06|7.02411314230589e-06
+chr18 371564 371965 DiffBind 0 . 401|4.58745291576114|5.47616467159805|1.83577320594721|3.01117875851454|6.01634389903184e-06|2.10572036466115e-05
+chr18 499370 499771 DiffBind 0 . 401|8.52001572418381|6.66337866598787|9.3056757726943|-2.3049215533374|8.80544805658378e-05|0.000246552545584346
+chr18 399314 399715 DiffBind 0 . 401|7.99336164631305|8.42206366618585|7.38067559425348|0.990711505817046|0.00158966714789365|0.00370922334508517
+chr18 356840 357241 DiffBind 0 . 401|4.45299704622551|5.04496788010628|3.43176543088295|1.426119979681|0.00689641139156628|0.0137928227831326
b
diff -r 2605cbdaa7d8 -r f907216064f6 test-data/out_diffbind.tab
--- a/test-data/out_diffbind.tab Fri Dec 15 19:39:14 2023 +0000
+++ b/test-data/out_diffbind.tab Mon Jul 08 18:31:51 2024 +0000
b
@@ -1,6 +1,8 @@
-Chrom Start End Name Score Strand Conc Conc_Responsive Conc_Resistant Fold p.value FDR
-chr18 394599 396513 DiffBind 0 . 7.15 5.55 7.89 -2.35 7.06e-24 9.84e-21
-chr18 111566 112005 DiffBind 0 . 5.71 6.53 3.63 2.89 1.27e-08 8.88e-06
-chr18 346463 347342 DiffBind 0 . 5 5.77 3.24 2.52 6.51e-06 0.00303
-chr18 399013 400382 DiffBind 0 . 7.62 7 8.05 -1.04 1.04e-05 0.00364
-chr18 371109 372102 DiffBind 0 . 4.63 3.07 5.36 -2.3 8.1e-05 0.0226
+Chrom Start End Name Score Strand Conc Conc_Resistant Conc_Responsive Fold p.value FDR
+chr18 395762 396163 DiffBind 0 . 7.35667754943003 8.18591732832817 5.19341695494225 2.89272331092043 2.2595895020204e-20 3.16342530282856e-19
+chr18 111399 111800 DiffBind 0 . 6.24686285287403 3.97529970642496 7.08915355661244 -2.93942741086107 6.78146126407475e-13 4.74702288485233e-12
+chr18 346835 347236 DiffBind 0 . 5.23160553920987 3.20884410473949 6.0421829768676 -2.55382917051998 1.50516710192269e-06 7.02411314230589e-06
+chr18 371564 371965 DiffBind 0 . 4.58745291576114 5.47616467159805 1.83577320594721 3.01117875851454 6.01634389903184e-06 2.10572036466115e-05
+chr18 499370 499771 DiffBind 0 . 8.52001572418381 6.66337866598787 9.3056757726943 -2.3049215533374 8.80544805658378e-05 0.000246552545584346
+chr18 399314 399715 DiffBind 0 . 7.99336164631305 8.42206366618585 7.38067559425348 0.990711505817046 0.00158966714789365 0.00370922334508517
+chr18 356840 357241 DiffBind 0 . 4.45299704622551 5.04496788010628 3.43176543088295 1.426119979681 0.00689641139156628 0.0137928227831326
b
diff -r 2605cbdaa7d8 -r f907216064f6 test-data/out_diffbind_blacklist.tab
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/out_diffbind_blacklist.tab Mon Jul 08 18:31:51 2024 +0000
b
@@ -0,0 +1,7 @@
+Chrom Start End Name Score Strand Conc Conc_Resistant Conc_Responsive Fold p.value FDR
+chr18 395762 396163 DiffBind 0 . 7.35667754943003 8.18591732832817 5.19341695494225 2.89225347874703 2.7187671103793e-20 3.53439724349308e-19
+chr18 346835 347236 DiffBind 0 . 5.23160553920987 3.20884410473949 6.0421829768676 -2.56127030664033 1.00960362389474e-06 6.56242355531579e-06
+chr18 371564 371965 DiffBind 0 . 4.58745291576114 5.47616467159805 1.83577320594721 3.00020615324382 7.26732220382654e-06 3.1491729549915e-05
+chr18 499370 499771 DiffBind 0 . 8.52001572418381 6.66337866598787 9.3056757726943 -2.29899858142476 8.92663272303173e-05 0.000290115563498531
+chr18 399314 399715 DiffBind 0 . 7.99336164631305 8.42206366618585 7.38067559425348 0.967767516136728 0.00169622238196409 0.00441017819310664
+chr18 356840 357241 DiffBind 0 . 4.45299704622551 5.04496788010628 3.43176543088295 1.38763370547539 0.00760750221935645 0.0164829214752723
b
diff -r 2605cbdaa7d8 -r f907216064f6 test-data/out_diffbind_ctrl.interval
--- a/test-data/out_diffbind_ctrl.interval Fri Dec 15 19:39:14 2023 +0000
+++ b/test-data/out_diffbind_ctrl.interval Mon Jul 08 18:31:51 2024 +0000
b
@@ -1,6 +1,10 @@
 Chrom Start End Name Score Strand Comment
-chr18 394599 396513 DiffBind 0 . 1914|6.86|3.93|7.76|-3.83|2.05e-37|2.85e-34
-chr18 399013 400382 DiffBind 0 . 1369|7.47|6.71|7.96|-1.25|2.31e-09|1.61e-06
-chr18 346463 347342 DiffBind 0 . 879|4.18|5.16|-0.93|6.09|1.1e-07|5.13e-05
-chr18 111566 112005 DiffBind 0 . 439|5.55|6.41|3.03|3.38|5.03e-06|0.00175
-chr18 371109 372102 DiffBind 0 . 993|4.04|-0.02|5|-5.02|1.23e-05|0.00344
+chr18 395762 396163 DiffBind 0 . 401|7.22945359994476|8.13341274073452|4.27272530332704|3.76996587590842|2.58637892333993e-16|3.6209304926759e-15
+chr18 111399 111800 DiffBind 0 . 401|6.14525499251614|3.56669966100163|7.01914022704281|-3.36303662994553|5.53191788649397e-12|3.87234252054578e-11
+chr18 346835 347236 DiffBind 0 . 401|4.79684256747675|0.929948442205833|5.7465338042808|-4.54553722377718|4.28099576893822e-10|1.9977980255045e-09
+chr18 371564 371965 DiffBind 0 . 401|4.28827088156904|5.28827088156904|0|5.98128976362656|1.44352485508152e-06|5.05233699278533e-06
+chr18 356840 357241 DiffBind 0 . 401|4.06521571091474|4.86689484811755|2.10433301444924|2.57207534777777|0.000162934820996137|0.000402608574041565
+chr18 499370 499771 DiffBind 0 . 401|8.48109061189307|6.55597616341393|9.27742308406363|-2.5403502526291|0.000172546531732099|0.000402608574041565
+chr18 399314 399715 DiffBind 0 . 401|7.94664859460435|8.395933940369|7.29065044763391|1.03289785508037|0.00034349046261529|0.000686980925230581
+chr18 311744 312145 DiffBind 0 . 401|4.29737987446676|4.90762821755294|3.21874929662767|1.51331719970434|0.00330068115540218|0.00577619202195381
+chr18 215634 216035 DiffBind 0 . 401|4.07165226684512|4.60038828355683|3.22826974327624|1.1597348790208|0.0250637624176881|0.0389880748719593
b
diff -r 2605cbdaa7d8 -r f907216064f6 test-data/out_diffbind_edger.interval
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/out_diffbind_edger.interval Mon Jul 08 18:31:51 2024 +0000
b
@@ -0,0 +1,8 @@
+Chrom Start End Name Score Strand Comment
+chr18 395762 396163 DiffBind 0 . 401|7.6636965030036|8.57018484314065|4.66971691479494|2.98562239623942|5.64996511433444e-08|7.90995116006821e-07
+chr18 111399 111800 DiffBind 0 . 401|5.84748370115987|4.35870958422075|6.5644173803155|-3.10615195379417|2.01518814867723e-07|1.41063170407406e-06
+chr18 346835 347236 DiffBind 0 . 401|4.85464527187448|3.58804284533091|5.51854777261606|-2.82431641975287|7.28049612951145e-06|3.39756486043868e-05
+chr18 371564 371965 DiffBind 0 . 401|4.92076922415898|5.86002391408577|1.320653603722|3.58361077896809|1.45800064044848e-05|5.10300224156968e-05
+chr18 499370 499771 DiffBind 0 . 401|8.15948552197611|7.04787459802215|8.7798119873333|-2.64100073545596|0.00173660568124159|0.00486249590747645
+chr18 399314 399715 DiffBind 0 . 401|8.13828936143284|8.80647940592894|6.85522543890004|1.0401420052317|0.00522361277152377|0.0121884298002221
+chr18 356840 357241 DiffBind 0 . 401|4.66005805126234|5.42848233859945|2.90660816557376|1.60017242659596|0.00911344469237993|0.0182268893847599
b
diff -r 2605cbdaa7d8 -r f907216064f6 test-data/out_diffbind_minoverlap1.tab
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/out_diffbind_minoverlap1.tab Mon Jul 08 18:31:51 2024 +0000
b
@@ -0,0 +1,8 @@
+Chrom Start End Name Score Strand Conc Conc_Resistant Conc_Responsive Fold p.value FDR
+chr18 395762 396163 DiffBind 0 . 7.35667754943003 8.18591732832817 5.19341695494225 2.89272331092043 2.2595895020204e-20 3.16342530282856e-19
+chr18 111399 111800 DiffBind 0 . 6.24686285287403 3.97529970642496 7.08915355661244 -2.93942741086107 6.78146126407475e-13 4.74702288485233e-12
+chr18 346835 347236 DiffBind 0 . 5.23160553920987 3.20884410473949 6.0421829768676 -2.55382917051998 1.50516710192269e-06 7.02411314230589e-06
+chr18 371564 371965 DiffBind 0 . 4.58745291576114 5.47616467159805 1.83577320594721 3.01117875851454 6.01634389903184e-06 2.10572036466115e-05
+chr18 499370 499771 DiffBind 0 . 8.52001572418381 6.66337866598787 9.3056757726943 -2.3049215533374 8.80544805658378e-05 0.000246552545584346
+chr18 399314 399715 DiffBind 0 . 7.99336164631305 8.42206366618585 7.38067559425348 0.990711505817046 0.00158966714789365 0.00370922334508517
+chr18 356840 357241 DiffBind 0 . 4.45299704622551 5.04496788010628 3.43176543088295 1.426119979681 0.00689641139156628 0.0137928227831326
b
diff -r 2605cbdaa7d8 -r f907216064f6 test-data/out_plots.pdf
b
Binary file test-data/out_plots.pdf has changed
b
diff -r 2605cbdaa7d8 -r f907216064f6 test-data/out_plots_edger.pdf
b
Binary file test-data/out_plots_edger.pdf has changed