Commit d0c3e65c authored by Christian Arnold's avatar Christian Arnold

Version 1.3.3, see Changelog for details

parent e8951dc0
......@@ -57,7 +57,7 @@ author = 'Christian Arnold, Ivan Berest, Judith B. Zaugg'
# The short X.Y version.
version = '1.3'
# The full version, including alpha/beta/rc tags.
release = '1.3.2'
release = '1.3.3'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
......
......@@ -53,6 +53,9 @@ We also put the paper on *bioRxiv*, please read all methodological details here:
Change log
============================
Version 1.3.3 (2019-07-25)
- Fixed a bug that caused inflated p-values for the permutation-based approach in cases when the number of permutations that was actually possible was smaller than what was specified in the configuration file. For example, if 1000 permutations have been specified in the configuration file, but only 70 were actually done (for a typical 4 vs 4 analysis), raw and adjusted p-values were too small. This is now corrected, and the last step of the pipeline (*summaryFinal*) should be rerun to correct for it. Although this happened in only very specific cases (small number of samples and yet the permutation-based approach), we apologize for this oversight. Thanks to Frauke Huth for noticing!
Version 1.3.2 (2019-07-24)
- Fixed the error "unable to find an inherited method for function ‘assay’ for signature ‘"matrix", "character"’" that arises due to a new implementation of the *normOffsets* function from the *csaw* package in versions above 1.14.1. The Singularity image that comes with *diffTF* still uses csaw version 1.14.1, for which the original implementation works fine, but for newer R installations (that is, *csaw* >= 1.16) the above error is thrown. In the code, the function call is now dependent on the version of the *csaw* package. This was the most common error that was thrown when running *diffTF* without Singularity, and should therefore increase compatibility.
- Minor changes to make the *diffTF* code more compatible for future releases of R (e.g., replacing the deprecated *data_frame* by *tibble*, specifying the package for functions that are defined in different packages)
......
......@@ -164,16 +164,31 @@ output.global.TFs.orig = mutate(output.global.TFs.orig,
# Remove rows with NA
TF_NA = which(is.na(output.global.TFs.orig$weighted_meanDifference))
permNACount = table(output.global.TFs.orig$permutation[TF_NA])
if (length(TF_NA) > 0) {
permWithNA = names(permNACount)
nPermOnlyNA = length(which(permNACount == nTF))
if (nPermOnlyNA > 0) {
message = paste0("Data from ", nPermOnlyNA, " permutations had to be removed due to NA values in weighted_meanDifference (insufficient data in previous steps). This frequently happens for small datasets and only affects the calculation of p-values. ")
checkAndLogWarningsAndErrors(NULL, message, isWarning = TRUE)
}
if ("0" %in% permWithNA) {
message = paste0("Data from ", permNACount["0"], " TF had to be removed due to NA values in weighted_meanDifference (insufficient data in previous steps).")
checkAndLogWarningsAndErrors(NULL, message, isWarning = TRUE)
}
output.global.TFs.orig = output.global.TFs.orig[-TF_NA,]
TFs_NA = output.global.TFs.orig$TF[TF_NA]
message = paste0("The following TF have been removed from the data due to NA values in weighted_meanDifference (insufficient data in previous steps): ", paste0(unique(TFs_NA), collapse = ", "))
checkAndLogWarningsAndErrors(NULL, message, isWarning = TRUE)
}
# Make sure to only use as many permutations as actually could be done, independent of what the user specified before
par.l$nPermutations = max(output.global.TFs.orig$permutation)
########################################################
# FILTER BY PERMUTATIONS AND COMPARE, DIAGNOSTIC PLOTS #
########################################################
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment