Bioconductor / DelayedArray

A unified framework for working transparently with on-disk and in-memory array-like datasets
https://bioconductor.org/packages/DelayedArray
24 stars 9 forks source link

Have extract_array() accept non-integer dim() outputs #98

Open MalteThodberg opened 2 years ago

MalteThodberg commented 2 years ago

Upon a little experimentation, it seems the only thing preventing a big.matrix from the bigmemory package to be used as a Seed inside a DelayedArray is that dim() on a big.matrix returns a numeric and not an integer. This is caught by the check in extract_array() raising an error.

Would it be possible to relax this check to accept numeric as well as integer? Many on-disk matrix packages return numeric via dim() (bigmemory, filematrix, feather, fst, etc). It seems inconvenient to have to define a new Seed class for these packages just to reimplement the simple dim() function.

nturaga commented 2 years ago

There are a lot of consequences to doing this, and we haven't considered this yet.

But this is probably a long-term change and won't happen right now. But I'll tag @hpages, in case he has a more detailed view on this topic.