BUG FIXES

  • Noticed an issue with GenomicState::gencode_genomic_state() that ultimately was due to makeGenomicState() and the transition in R to have as default data.frame(stringsAsFactors = FALSE) instead of TRUE.

SIGNIFICANT USER-VISIBLE CHANGES

  • Now makeGenomicState() now restores the GenomicFeatures::isActiveSeq() on the txdb object before finishing to avoid issues, like running regionReport::renderReport() on two different sets of regions (different chrs). There’s a new unit test for this.

BUG FIXES

  • Removed knitrBootstrap citation code.
  • Made a test less susceptible to numerical precision.

SIGNIFICANT USER-VISIBLE CHANGES

SIGNIFICANT USER-VISIBLE CHANGES

  • Use GenomeInfoDb::getChromInfoFromUCSC() when possible instead of data from biovizBase::hg19Ideogram for getting the hg19 chromosome lengths.

BUG FIXES

  • Fixed an important bug in findRegions() that affected the end positions of the regions when maxRegionGap was supplied with a value greater than the default of 0 and the data was filtered (so position was not all TRUE in the findRegions() call). To check this scenario now there is a new unit test under tests/testthat/test-maxRegionGap.R.
  • The above bug went unnoticed in getRegionCoverage() and thus for regionMatrix() for the same type of situations (filtered data with a non-zero maxRegionGap). The coverage values are ok, it’s just the end positions of the regions returned by findRegions() that were incorrect and that would need to be re-computed with the fixed version.
  • Changed some internal tests to check bumphunter::loessByCluster() instead of bumphunter::runmedByCluster() given some issues with the second one.
  • Added a NEWS.md file to track changes to the package.

BUG FIXES

  • railMatrix() and loadCoverage() helper functions had an issue when the input set of regions was duplicated. This could be reproduced with
sampleFile <- c('SRR387777' = 'http://duffel.rail.bio/recount/SRP009615/bw/SRR387777.bw')
regs <- GenomicRanges::GRanges('chrY', IRanges(start = c(1, 1), width = 10), strand = '-')
names(regs) <- c(1:2)
result <- rtracklayer::import(sampleFile, selection = regs, as = 'RleList')

This error affected recount and other reverse dependencies that use derfinder for processing BigWig files.

BUG FIXES

NEW FEATURES

BUG FIXES

SIGNIFICANT USER-VISIBLE CHANGES

BUG FIXES

  • Fix a message regarding the deprecated IRanges subset method.

SIGNIFICANT USER-VISIBLE CHANGES

  • Use BiocManager

BUG FIXES

  • Fixed a unit test that was breaking version 1.13.7.

NEW FEATURES

BUG FIXES

SIGNIFICANT USER-VISIBLE CHANGES

BUG FIXES

BUG FIXES

BUG FIXES

  • Fixed define_cluster() to match recent changes in BiocParallel and fixed an if clause in regionMatrix() that could lead to warnings in some situations.

SIGNIFICANT USER-VISIBLE CHANGES

  • regionMatrix() now has explicit arguments totalMapped and targetSize so that users will almost always normalize by library size when using this function (if they see the help page) or in the steps prior to using regionMatrix().

BUG FIXES

SIGNIFICANT USER-VISIBLE CHANGES

  • Help pages now document advanced arguments.
  • Deprecated advancedArg().

NEW FEATURES

  • Added the function getTotalMapped() for calculating the total number of mapped reads for a BAM file or the area under the curve (AUC) for a BigWig file. This information can then be used with fullCoverage(), filterData() and other functions. Note that if you totalMapped in fullCoverage() you should not use totalMapped again in filterData().

BUG FIXES

BUG FIXES

  • Now derfinder uses DataFrame(check.names = FALSE) to avoid naming issues.

SIGNIFICANT USER-VISIBLE CHANGES

  • Dropped defunct functions.

BUG FIXES

SIGNIFICANT USER-VISIBLE CHANGES

  • The users guide vignette now has a short section explaining how to use derfinder for differential binding analysis with ChIP-seq data.

SIGNIFICANT USER-VISIBLE CHANGES

  • Added smoothing arguments for the single base-level approach based on functions from the bumphunter package. These arguments are useful for identifying differentially bounded ChIP-seq peaks.

BUG FIXES

  • Fixed railMatrix()’s flexibility for defining the cluster used for loading the BigWig files. You can now use BPPARAM.railChr which will take priority over file.cores. Also, if file.cores = 1L, then the default will be to use SerialParam(), which was the implementation available prior to 1.5.11.

SIGNIFICANT USER-VISIBLE CHANGES

  • Now coverageToExon(), regionMatrix() and railMatrix() can take an L argument of length equal to the number of samples in case not all samples have the same read length.
  • railMatrix() has a new argument called file.cores for controlling how many cores are used for loading the BigWig files. In theory this allows using railMatrix() with BPPARAM.custom equal to a BiocParallel::BatchJobsParam() to submit 1 job per chromosome, then file.cores determines the number of cores for reading the files. This is a highly experimental feature.

SIGNIFICANT USER-VISIBLE CHANGES

  • Dropped the old introductory and advanced vignettes. We think that the new vignettes are clearer. In particular, they do a better job at highlighting the differences between the expressed regions-level and single base-level F-statistics implementations of the DER Finder approach to RNA-seq data.

SIGNIFICANT USER-VISIBLE CHANGES

  • Added a users guide vignette which explains nearly every detail you would want to know as a user.

SIGNIFICANT USER-VISIBLE CHANGES

  • Added a quick start vignette.

NEW FEATURES

  • Introduced railMatrix() which generates similar output to regionMatrix() but is much faster and less memory intensive. It achieves this by extracting the required information from BigWig files.

SIGNIFICANT USER-VISIBLE CHANGES

SIGNIFICANT USER-VISIBLE CHANGES

  • Deprecated functions with underscores in their names in favor of camelCase functions. This was done to simplify the package.

SIGNIFICANT USER-VISIBLE CHANGES

BUG FIXES

  • Updated to work with qvalue 1.99.0.

SIGNIFICANT USER-VISIBLE CHANGES

  • Changed citation information to reference the bioRxiv pre-print.

BUG FIXES

  • Polished the interaction with bumphunter >= 1.7.3.
  • Updated the default cluster option now that BiocParallel::SnowParam() no longer has an outfile argument.

SIGNIFICANT USER-VISIBLE CHANGES

BUG FIXES

  • makeGenomicState() incorrectly labeled regions as intragenic. The correct name is intergenic.

BUG FIXES

  • Fixed an important bug on calculatePvalues()! Basically, internally maxRegionGap was set to 300 instead of 0 in one step by default. Thus the process of mapping regions to genomic coordinates was messed up. If you have results prior to this fix you can try using https://gist.github.com/bf85e2c7d5d1f8197707 to fix the results as much as possible. Basically, regions will be correct but the p-values will be approximated with the available information from the null regions. Truly fixing the p-values can only be done by re-running derfinder.

NEW FEATURES

  • Introduced function extendedMapSeqlevels() for using GenomeInfoDb when there is information regarding the species and naming style of interest. otherwise sequence names are left unchanged. If used with verbose = TRUE, a message is printed whenever GenomeInfoDb could not be used or if some information had to be guessed.

BUG FIXES

NEW FEATURES

BUG FIXES

NEW FEATURES

  • Preparing to submit to Bioconductor.

NEW FEATURES

  • Added an advanced vignette.

NEW FEATURES

  • Introductory vignette completed.

SIGNIFICANT USER-VISIBLE CHANGES

  • mergeResults() can now calculate FWER adjusted p-values when provided with optionsStats. Updated analyzeChr() to supply the required information.

NEW FEATURES

  • Added an introductory vignette.

NEW FEATURES

  • Added advancedArg() and its alias advanced_arg() which links to the docs for the advanced arguments by opening a browser window with the relevant information from GitHub.
  • getRegionCoverage() and coverageToExon() now have the files argument which is used only when fullCov is NULL. Both functions will attempt to extract the coverage data from the raw files for the regions of interest in that case.

Special care has to be taken in order to guarantee that the coverage is the same as some reads might be discarded if the region is too narrow. See the advanced argument protectWhich in loadCoverage() for more information. Also, if totalMapped and targetSize were used prior to filtering, they should be used again. * loadCoverage() has new advanced arguments that help when reading a specific region (or regions) of the genome.

SIGNIFICANT USER-VISIBLE CHANGES

SIGNIFICANT USER-VISIBLE CHANGES

BUG FIXES

  • Fixed .advanced_argument() to work in nested functions
  • Fixed a case in getRegionCoverage() where fullCov$position was provided but it was NULL.
  • Fixed regionMatrix(totalMapped, targetSize) case which would previously lead to an error in the getRegionCoverage() step.

SIGNIFICANT USER-VISIBLE CHANGES

  • Most functions had their arguments changed to increase usability. Some have advanced arguments inside the code.

SIGNIFICANT USER-VISIBLE CHANGES

SIGNIFICANT USER-VISIBLE CHANGES

  • All exported functions now have aliases with underscore names for those that prefer them over camel case names. For example, analyze_chr() is the new alias for analyzeChr().
  • makeBamList() has been renamed to rawFiles() since it can be used to identify a list of BigWig files instead of BAM files.

SIGNIFICANT USER-VISIBLE CHANGES

  • loadCoverage() and fullCoverage() now have a tilewidth argument. When specified GenomicFiles is used to read the coverage in chunks. In theory, this can lead to lower memory usage at the expense of time.

SIGNIFICANT USER-VISIBLE CHANGES

  • preprocessCoverage() now has a toMatrix argument which is only used when lowMemDir is not NULL. It controls whether to save the chunks as DataFrame objects or dgCMatrix objects and the idea is that it can time by just transforming the data once instead of doing so at each permutation.

SIGNIFICANT USER-VISIBLE CHANGES

  • fstats.apply() has been moved to it’s own package: derfinderHelper. This will speed up the run time when using BiocParallel::SnowParam() as derfinderHelper takes much less time to load than derfinder.
  • plotCluster(), plotOverview() and plotRegionCoverage() were all moved to their new own package: derfinderPlot. This will make maintenance easier as the dependency ggbio is still under active development.

SIGNIFICANT USER-VISIBLE CHANGES

  • Re-organized code for fstats.apply(). Note that improving .transformSparseMatrix() would speed up the Matrix method.
  • Note that all parallel functions have some overhead from loading derfinder on each worker. Check system.time(library(derfinder)) to see how long the overhead is. It only pays off to use more cores if the calculations are taking longer than the overhead.

SIGNIFICANT USER-VISIBLE CHANGES

NEW FEATURES

  • fstats.apply() now has method and scalefac arguments. The method argument controls which of the 3 implementations to use. The old method is called regular now. The new method Rle calculates the F-statistics without de-compressing the data, which is good for memory but gets considerably slower as the number of samples increases. The default method is Matrix which uses the Matrix package and is both faster (given that the coercion doesn’t take long) and less memory intensive than the regular method.

SIGNIFICANT USER-VISIBLE CHANGES

NEW FEATURES

SIGNIFICANT USER-VISIBLE CHANGES

  • You may now use fullCoverage() without problems and should no longer encounter errors due to longer vectors not being implemented.
  • Functions like fullCoverage() now use much less memory and do not blow up as you increase mc.cores. Note however that the memory does increase, but now it`s close to linear.
  • Examples might take longer to run with mc.cores greater than 1, but that is due to the small setup overhead of BiocParallel::SnowParam() which is minimal compared to the overall speed gains with real data sets.

SIGNIFICANT USER-VISIBLE CHANGES

SIGNIFICANT USER-VISIBLE CHANGES

NEW FEATURES

  • Updated to work with BioC version 3.0

NEW FEATURES

SIGNIFICANT USER-VISIBLE CHANGES

NEW FEATURES

  • Added regionMatrix() for filtering coverage data and using the resulting regions to construct a count matrix. Uses several derfinder functions.

SIGNIFICANT USER-VISIBLE CHANGES

BUG FIXES

SIGNIFICANT USER-VISIBLE CHANGES

  • Added a NEWS file with curated information from the git commit history.

SIGNIFICANT USER-VISIBLE CHANGES

  • Added example data for mergeResults(). Now all functions have examples.

SIGNIFICANT USER-VISIBLE CHANGES

SIGNIFICANT USER-VISIBLE CHANGES

  • Several examples run much faster now

SIGNIFICANT USER-VISIBLE CHANGES

BUG FIXES

BUG FIXES

SIGNIFICANT USER-VISIBLE CHANGES

SIGNIFICANT USER-VISIBLE CHANGES

BUG FIXES

  • Fixed several bugs as suggested by Andrew Jaffe

SIGNIFICANT USER-VISIBLE CHANGES

BUG FIXES

SIGNIFICANT USER-VISIBLE CHANGES

  • Updated getRegionCoverage() with a new method for sub setting the coverage matrices, allowing for coverage estimates from overlapping regions. Now also uses mclapply().

BUG FIXES

  • Fixed NAMESPACE to match current bioc-devel (2.14) as suggested by Tim Triche.

SIGNIFICANT USER-VISIBLE CHANGES

  • A series of performance enhancements were made to reduce the memory load (albeit a very minor time increase).

BUG FIXES

  • Updated analyzeChr() to handle correctly the new lowMemDir argument.

SIGNIFICANT USER-VISIBLE CHANGES

SIGNIFICANT USER-VISIBLE CHANGES

SIGNIFICANT USER-VISIBLE CHANGES

  • Changed how the data is pre-processed and pre-splitted.

SIGNIFICANT USER-VISIBLE CHANGES

SIGNIFICANT USER-VISIBLE CHANGES

NEW FEATURES

SIGNIFICANT USER-VISIBLE CHANGES

  • sampleDepth() has been greatly changed. It is now based on Hector Corrada`s ideas implemented in metagenomeSeq.
  • Updated several man pages.

BUG FIXES

  • Fixed an issue with the bumphunter dependency.

BUG FIXES

  • Merged changes suggested by Michael Love

BUG FIXES

  • Implemented fixes suggested by Michael Love

BUG FIXES

  • Fixed an important bug in the F-stats calculation
  • Implemented fixes suggested by Michael Love

BUG FIXES

SIGNIFICANT USER-VISIBLE CHANGES

SIGNIFICANT USER-VISIBLE CHANGES

  • Now requires R version 3.0.2
  • Changed the default of center in sampleDepth() to FALSE.
  • Added a runAnnotation argument to analyzeChr().
  • Added a bai argument to loadCoverage().
  • Added an adjustF argument to all stats functions. Useful for cases when the RSS of the alternative model is very small.

BUG FIXES

NEW FEATURES

SIGNIFICANT USER-VISIBLE CHANGES

SIGNIFICANT USER-VISIBLE CHANGES

  • Renamed package from derfinder2 to derfinder to comply with Bioconductor guidelines.

SIGNIFICANT USER-VISIBLE CHANGES

  • Changed how makeModels() deals with cases when mod and mod0 are not full rank.
  • plotCluster()now no longer depends on an active Internet connection for hg19 = TRUE.

BUG FIXES

BUG FIXES

  • Fixed plotRegionCoverage() for cases when in annotateRegions(minoverlap=x) lead to no overlaps being found between a region and annotation.

BUG FIXES

  • Fixed some bugs in calculatePvalues() when no null regions or only some were found.
  • Fixed a bug using colsubset on analyzeChr().
  • Fixed an issue when the F-stat cutoff used is too high and no regions are found.
  • Fixed an issue when testvars in makeModels() had unused levels.
  • Fixed an issue when qvalue::qvalue() fails due to incorrect estimation of pi0
  • Fixed a bug on how the regions were being clustered.

SIGNIFICANT USER-VISIBLE CHANGES

  • MA-style plots in generateReport() now weight the mean by the number of samples in each group. Also removed the mean coverage vs area section. generateReport() now also has a nBestClusters argument.
  • plotCluster()now uses scales and has a forceLarge argument

BUG FIXES

  • Fixed an important bug in finding candidate DERs. The example for plotCluster() now includes code that was used for visualizing the bug.
  • Fixed some NAMESPACE issues

NEW FEATURES

SIGNIFICANT USER-VISIBLE CHANGES

NEW FEATURES

  • Added annotateRegions()

NEW FEATURES

NEW FEATURES

SIGNIFICANT USER-VISIBLE CHANGES

NEW FEATURES

  • Added generateReport()

BUG FIXES

SIGNIFICANT USER-VISIBLE CHANGES

  • getSegmentsRle() was greatly simplified

BUG FIXES

NEW FEATURES

SIGNIFICANT USER-VISIBLE CHANGES

  • Updated README.md
  • makeModels() now uses testvars instead of group and has a new arguments groupInfo, center and testIntercept
  • calculatePvalues() now uses area of regions instead of mean to calculate the p-values.
  • preprocessCoverage() now calculates the mean coverage at each base

SIGNIFICANT USER-VISIBLE CHANGES

  • Users can specify significance cutoffs for plotOverview() and plotRegion()

SIGNIFICANT USER-VISIBLE CHANGES

SIGNIFICANT USER-VISIBLE CHANGES

SIGNIFICANT USER-VISIBLE CHANGES

  • Added plotRegion()

BUG FIXES

  • makeModels() can now handle a vector for the adjustvars argument

SIGNIFICANT USER-VISIBLE CHANGES

BUG FIXES

  • getSegmentsRle() will now work properly in the case that no segments are found

SIGNIFICANT USER-VISIBLE CHANGES

SIGNIFICANT USER-VISIBLE CHANGES

  • fstats.apply() now uses Rcpp and RcppArmadillo

NEW FEATURES

SIGNIFICANT USER-VISIBLE CHANGES

  • Dropped fstats() and is now part of fstats.apply()

NEW FEATURES

  • Introduced method argument for getSegmetnsRle()

BUG FIXES

NEW FEATURES

NEW FEATURES

NEW FEATURES

NEW FEATURES

SIGNIFICANT USER-VISIBLE CHANGES

NEW FEATURES