Abstraction to matrix that won't fit in memory
Version: 0.11Microarray::DataMatrix::BigDataMatrix is an abstraction to matrix that won't fit in memory.
License: Perl Artistic License
Operating System: Linux
bigDataMatrix is an abstract class, which provides as abstraction to a matrix of data that is too large to fit into memory. It should not be subclassed by concrete subclasses. Instead, the subclass anySizeDataMatrix, can be subclassed with concrete subclasses, which will provide abstractions to dataMatrices stored in particular file formats, such as pcl files.
Internally, bigDataMatrix simply keeps track of which rows and columns are still valid. As it runs filters, or transformations on data, it creates temp files, which contain the result of such an operation. It keeps track of which rows and columns in the latest temp file are valid, and also to which rows and columns in the original file, used for object construction, that they map. Then, when it comes time to dump data to disk, it is able to instruct a concrete subclass what the original index of a row or column was, so that the concrete subclass can print out the appropriate meta data.