You might want to create a devel branch before merging these changes to keep things isolated for now
This PR is an initial, basic transition to using DelayedMatrix instead of matrix objects in minfi in all the main classes (some internal stuff remains as matrix).
Summary:
Passes R CMD check on my machine and following updates to data packages (see below; will fail Travis until further changes made to either this or the data packages)
Minimal-to-no effort to optimise functions specifically for DelayedMatrix rather than matrix. A lot of functions simply coerce to a matrix, which obviously defeats the purpose of using a DelayedMatrix in a lot of cases.
Minimal support for constructing or returning HDF5-backed objects.
A lot of (hard to avoid) whitespace changes, sorry
To pass R CMD check requires re-building of minfiData, minfiDataEPIC, and FlowSorted.Blood.450k with this new version of minfi. Alternatively, could add in a whole lot of updateObject() calls whenever these data are needed in minfi: that's kinda clunky but may be necessary if people depend on the matrix-based versions of these objects in other packages and you want to maintain backward compatibility.
Plenty of work still to tweak implementations of methods for better performance on DelayedMatrix-based objects. I've marked a few along the way in the .R files with # HDF5: comments.
Following our chat, I'll roll back some of these changes so we support DelayedMatrix in addition to (rather than instead of) matrix. Will take a look over the weekend
You might want to create a devel branch before merging these changes to keep things isolated for now
This PR is an initial, basic transition to using DelayedMatrix instead of matrix objects in minfi in all the main classes (some internal stuff remains as matrix).
Summary:
R CMD check
on my machine and following updates to data packages (see below; will fail Travis until further changes made to either this or the data packages)To pass
R CMD check
requires re-building of minfiData, minfiDataEPIC, and FlowSorted.Blood.450k with this new version of minfi. Alternatively, could add in a whole lot ofupdateObject()
calls whenever these data are needed in minfi: that's kinda clunky but may be necessary if people depend on the matrix-based versions of these objects in other packages and you want to maintain backward compatibility.Plenty of work still to tweak implementations of methods for better performance on DelayedMatrix-based objects. I've marked a few along the way in the
.R
files with# HDF5:
comments.