Open grst opened 1 year ago
One observation here is that already for a package for transcriptomics only, we would have optional dependencies, e.g. for loom or excel (see https://github.com/scverse/scverse-io/issues/5).
So we anyway need a mechanism for dealing with that and I don't think it's a good argument against a single package.
Added one pro for multiple packages (edited) but I really think that a single package will be easier for everyone. scanpy also isn't shipping leidenalg and it hasn't really been an issue. Nor PAGA or some others.
Option 1: one package that contains functions for multiple modalities (e.g. transcriptomics, AIRR, ATAC, ...). Option 2: one package per modality, e.g.
gex-io
,airr-io
,epigenetics-io
Pro one package
MuData
objects directlyPro multiple packages
Optional dependencies
Could be handled with dependency groups.
installs only the basic functions.
then there's e.g.
and
The latter would be broadly advertised in the README.
Maybe it's not as bad after all. Most IO functions should get away the same packages reading csv/mtx/json/h5.
@flying-sheep made the point that if an optional dependency is not installed, the error message should be just a plain message with installation instructions rather than a full stack-trace that will be intimidating for beginners.