Browse code

Transition to beachmat version 2

Peter Hickey authored on 23/04/2019 01:03:45
Showing 1 changed files
... ...
@@ -1,4 +1,4 @@
1
-#include "BSseq.h"
1
+#include "utils.h"
2 2
 
3 3
 // Special function to check for NA'ness.
4 4
 
Browse code

Work in progress: refactoring bsseq

- BSseq objects can once again use ordinary matrix objects as assays.
- Reimplement `BSmooth()` more-or-less from scratch:
- Switch from 'parallel' to 'BiocParallel' for parallelization. This brings some notable improvements:
- Smoothed results can now be written directly to an on-disk realization backend by the worker. This dramatically reduces memory usage compared to previous versions of 'bsseq' that required all results be retained in-memory.
- Parallelization is now supported on Windows through the use of a 'SnowParam' object as the value of `BPPARAM`.
- Improved error handling makes it possible to gracefully resume `BSmooth()` jobs that encountered errors by re-doing only the necessary tasks.
- Detailed and extensive job logging facilities.
- Fix bug in `BSmooth()` with the `maxGap` parameter.
- Re-factor BSseq() constructor and add fast, internal .BSseq() constructor.
- Re-factor collapseBSseq() and combine(). Should be much more performant.
- Use beachmat to implement fast validity checking of 'M' and 'Cov' matrices.
- Resave BS.chr22 (supplied data) using integer for storage mode of assays to reduce size.
- Switch from RUnit to testthat. testthat has better integration with code coverage tools that help when refactoring.

Peter Hickey authored on 28/05/2018 23:42:18
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,11 @@
1
+#include "BSseq.h"
2
+
3
+// Special function to check for NA'ness.
4
+
5
+bool isNA(int x) {
6
+    return x==NA_INTEGER;
7
+}
8
+
9
+bool isNA(double x) {
10
+    return ISNAN(x);
11
+}