scverse / anndataR

AnnData interoperability in R
https://anndatar.data-intuitive.com
Other
58 stars 11 forks source link

Bioconductor or CRAN #191

Open rcannood opened 1 week ago

rcannood commented 1 week ago

Related to https://github.com/scverse/anndataR/pull/183#discussion_r1830509620

Are we aiming for a CRAN or a BioConductor release?

What are the pros for both platforms?

lazappi commented 6 days ago

I'll probably think of some more stuff and update this but here is what comes to mind at the moment.

Bioconductor

Pros

Cons

CRAN

Pros

Cons

Open questions

For me, the community is a big deal and we should try to be a part of that, even if it means some restrictions on the development process. I think there is a lot to gain by being on Bioconductor (both socially and technically) and all you lose is some flexibility. That said, I'm open to aiming for CRAN if there are good (probably technical) arguments for why that would be better.

rcannood commented 6 days ago

Thanks for the information!

From the perspective of a user, I feel like the pros and cons for Bioconductor vs. CRAN is that Bioc packages are typically a lot slower and more cumbersome to install. I suppose that we can mitigate this somewhat by making sure that we don't add too many required dependencies.

Do you think that by releasing on Bioconductor, we'll need to have more required packages than if we install on CRAN (other than BiocManager)?

Artur-man commented 5 days ago

FYI, R SpatialData will start happening next week, and @LouiseDck will be there too. We will have people from both scverse and BioC so I think this topic will come up!

lazappi commented 3 days ago

Do you think that by releasing on Bioconductor, we'll need to have more required packages than if we install on CRAN (other than BiocManager)?

It shouldn't be any different (at least for required dependencies). {SingleCellExperiment} can stay as a suggested dependency (or at least it should be able to) and things like {BiocStyle} also go in Suggests. I guess it's possible that things like {rhdf5} have more dependencies that {hdf5r} but you would have to check. If we started using more of the Bioconductor infrastructure that would introduce dependencies but presumably we would only do that if it had other benefits.

LouiseDck commented 3 days ago

I think the most important point is the first one made by @lazappi:

Community. Most of the R single-cell developers are there. Helps build a connection between Bioconductor and scverse.

For that reason alone, I think it makes most sense to release on Bioconductor. I do agree with @rcannood that it is more cumbersome as a user, and I don't love the release cycle, but I don't think these are big enough concerns. I don't think users exists that just wouldn't use a package because it was on Bioconductor instead of cran?

(on the other hand, I do not really care that much about where the package ends up, as long as it gets released at some point 😅)

I think this is a different discussion than whether or not we use {rhdf5} or (hdf5r}, IIRC it would be possible to submit to Bioconductor regardless.

lazappi commented 2 days ago

I think this is a different discussion than whether or not we use {rhdf5} or (hdf5r}, IIRC it would be possible to submit to Bioconductor regardless.

I think a Bioconductor reviewer could push us to use {rhdf5} unless there is a technical reason we can't so it's a bit related. I think I got everything working with the latest {rhdf5} at some stage though.