We're storing two representations in the HDF5 file, csr and csc. I think it'd make sense to subset rows from the csr version, or columns from the csc version. The third case is where no subsetting is requested (the default behavior), so you can directly load the csr representation.

I don't think we need to support both types of subsets simultaneously, though of course if it isn't too much headache then go for it! My concern is that performance may degrade by supporting both subset types at once: csr is fast at retrieving rows, and csc is fast at retrieving columns, but mixing the two may have a performance penalty. Does that make sense?