Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CRAN / Bioconductor availability #2

Open
antagomir opened this issue Jul 21, 2022 · 7 comments
Open

CRAN / Bioconductor availability #2

antagomir opened this issue Jul 21, 2022 · 7 comments

Comments

@antagomir
Copy link

antagomir commented Jul 21, 2022

Thanks for this interesting piece of work for microbiome analysis and interpretation.

Making the package available through CRAN (or Bioconductor). This could support the handling of dependencies and support interoperability across many different platforms.

@antagomir antagomir changed the title CRAN / Bioconductor submission? CRAN / Bioconductor availability Jul 21, 2022
@darcyj
Copy link
Owner

darcyj commented Jul 23, 2022

CRAN submission was in the works, but was torpedoed by a now-defunct (and unlisted) package of the same name. The whole submission was ready to go, passing all checks, right until I received an email from an impolite person with a german-sounding name, informing me that the name was already taken, by a package that doesn't really exist. This irked me to no end.

Bioconductor, however, is a strong possibility; the only thing that would need to happen would be compatibility with their SummarizedExperiment class. It's easy enough to convert to a numeric matrix or data.frame to work with this package, so I don't see that being too difficult. It could be as simple as checking if the object inherits from SummarizedExperiment, and if so, converting it.

@darcyj
Copy link
Owner

darcyj commented Jul 23, 2022

note to self: comments would need to be added in the vignette, too, to make it clear "in bioconductor world, use blah blah blah"

@antagomir
Copy link
Author

CRAN admin emails are notoriously short and rude. It is a classic. Bioconductor has Code of Conduct to promote friendly and inclusive behavior, hopefully that helps.

Really a pity if the name was taken already. It is also against Bioconductor guidelines to use a name that has been taken by a CRAN pkg. "A package name should be descriptive and not already exist as a current package (case-insensitive) in Bioconductor or CRAN. Avoid names that are easily confused with existing package names, or that imply a temporal (e.g., ExistingPackage2) or qualitative (e.g., ExistingPackagePlus) relationship."

"An easy way to check whether your name is already in use is to check that the following command fails"

if (!requireNamespace("BiocManager"))
install.packages("BiocManager")
BiocManager::install("MyPackage")

@antagomir
Copy link
Author

antagomir commented Jul 24, 2022

For discussion on SummarizedExperiment, see #3

@antagomir
Copy link
Author

Bioconductor has some additional requirements for package development, compared to CRAN, as described in the package guidelines.

One can add BiocCheck to automated build checks. These must pass without errors or substantial warnings/notes before Bioc submission is possible.

~/bin/R-4.2.0/bin/R CMD build ./ 
~/bin/R-4.2.0/bin/R CMD check pkgname_1.2.3.tar.gz 
~/bin/R-4.2.0/bin/R CMD BiocCheck pkgname_1.2.3.tar.gz
~/bin/R-4.2.0/bin/R CMD INSTALL pkgname_1.2.3.tar.gz 

@darcyj
Copy link
Owner

darcyj commented Jul 25, 2022

I think it could still go in BioConductor because there isn't a current CRAN package with the name. Note that install.packages("specificity") doesn't do anything.

@antagomir
Copy link
Author

Yes that's a good point.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants