Browse code

Transition to beachmat version 2

Peter Hickey authored on 23/04/2019 01:03:45
Showing 1 changed files
... ...
@@ -2,11 +2,6 @@
2 2
 #define BSSEQ_H
3 3
 
4 4
 #include "Rcpp.h"
5
-#include "beachmat/integer_matrix.h"
6
-#include "beachmat/numeric_matrix.h"
7
-
8
-// TODO: Remove if not using std::runtime_error()
9
-#include <stdexcept>
10 5
 
11 6
 // Functions to be called from R.
12 7
 extern "C" {
... ...
@@ -16,6 +11,4 @@ extern "C" {
16 11
     SEXP check_M_and_Cov(SEXP, SEXP);
17 12
 }
18 13
 
19
-#include "utils.h"
20
-
21 14
 #endif
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,21 @@
1
+#ifndef BSSEQ_H
2
+#define BSSEQ_H
3
+
4
+#include "Rcpp.h"
5
+#include "beachmat/integer_matrix.h"
6
+#include "beachmat/numeric_matrix.h"
7
+
8
+// TODO: Remove if not using std::runtime_error()
9
+#include <stdexcept>
10
+
11
+// Functions to be called from R.
12
+extern "C" {
13
+
14
+    // Validity checking.
15
+
16
+    SEXP check_M_and_Cov(SEXP, SEXP);
17
+}
18
+
19
+#include "utils.h"
20
+
21
+#endif