Develop an R package for CRAN vs BioConductor
3
10
Entering edit mode
7.9 years ago
DVA ▴ 630

I am developing an R package and I plan to eventually upload it to BioConductor. However, after I went over the guidelines, I realized that it seems to be more restricted comparing with the requirement from CRAN. I followed the book: "R Package" by Hadley Wickham, but I believe this book is designed to help people submit CRAN packages, not too specifically for BioConductor.

Therefore I wonder if there is any special issue I should pay additional attention here. Especially formats I guess.

Thank you.

bioconductor cran r packages • 6.2k views
ADD COMMENT
3
Entering edit mode

For what it's worth, there's kind of a hierarchy of package quality, with bioconductor packages on the top and CRAN below it (random github packages are at the bottom).

ADD REPLY
0
Entering edit mode

Thanks. That is good to know.

ADD REPLY
2
Entering edit mode

A more appropriate place for this thread would probably be Bioconductor Support.
Good luck with your package!

ADD REPLY
0
Entering edit mode

Thank you! Indeed I should have checked that out.

ADD REPLY
12
Entering edit mode
7.9 years ago
Charles Plessy ★ 2.9k

I have a package at Bioconductor and I really appreciated the support during the initial review, where I was asked some improvements of quality that were not too demanding, but still made me learn more about S4 classes. I find the 6-month release schedule to be a good regular reminder, and in the worst case there is now a procedure to retire packages. New packages can be submitted through GitHub, and it is possible to push updates via a nice Git-Svn bridge. Lastly, the use of Bioconductor's base S4 classes is not mandatory (but of course comes naturally once one gets more experienced). Altogether, Bioconductor is a brilliant platform and it is worth the effort aiming for it.

ADD COMMENT
0
Entering edit mode

Thank you very much. I do realize that S4 is popular on BioC and seems like I need to modify part of my package. Always good to learn new things:)

ADD REPLY
11
Entering edit mode
7.9 years ago
scchess ▴ 640

I have a package at Bioconductor. As a developer you should know:

  • Make sure your code is 80 characters wide
  • Don't use S3. Bioconductor reviewers will look at your source code.
  • Go through much tougher review process than CRAN (but nothing compares to submitting a paper)
  • You must have a vignette. This is not the case for CRAN.

Bioconductor packages are usually better than CRAN packages on average, and more user-friendly. As a user, a vignette really helps.

Advantages of Bioconductor:

  • Your package will be announced on Twitter by core Bioconductor members. This is a __big-plus__ because they have huge number of followers interested in Bioinformatics.
  • Your package will be listed on Bioconductor website. This is useful because that's where Bioinformaticians go.
  • You have professional community support
  • My paper on my package was submitted and accepted by a respectful journal. The reviewers wrote they trusted the software because it was in Bioconductor.

Disadvantages of Bioconductor:

  • Release schedule is 6-months, this is very annoying. Although you can modify the release branch.
ADD COMMENT
0
Entering edit mode

Thank you so much for the thorough information, especially that you pointed out a few differences. Any guidelines besides the ones available on BioC you would recommend please?

ADD REPLY
0
Entering edit mode

I can't think of any. If you are aiming for bioinformatics, I see no reason why you wouldn't try Bioconductor.

ADD REPLY
0
Entering edit mode

Since you mention release schedule is a problem, how much work do you have to do for that? As long as the package still works with the new BioC, it should be fine, right?

ADD REPLY
0
Entering edit mode

I would like to release anytime I am ready for the next release. Unfortunately this doesn't work for Bioconductor.

ADD REPLY
0
Entering edit mode

Really? I've seen BioC packages updated every few days.

ADD REPLY
4
Entering edit mode

I'm pretty sure Bioconductor has 6-months release cycle. Are you talking about devel branch? The devel branch can be updated anytime, but it's not what a user would access.

ADD REPLY
3
Entering edit mode

Release cycles are every 6 months. Only bug fixes are accepted for the current release, new features have to go for the devel branch (next release). This is to ensure a stable environment and promote reproducible research. Might have some disadvantages but it certainly has benefits IMO. Disclaimer: I have some BioC packages and use BioC regularly.

ADD REPLY
0
Entering edit mode

Thanks for clarifying. The updates I saw may have been only bug fixes.

ADD REPLY
5
Entering edit mode
7.9 years ago
ddiez ★ 2.0k

In addition to all the good reasons and other issues mentioned in the other answers, I would point out to two resources that have not been explicitly mentioned so far. One is the developers corner in the bioconductor site, and inside it, the package guidelines.

The developers site centralizes all the information regarding package development and includes the release schedule, access to build reports, the new package primer and much more.

In the guidelines many issues regarding the development of Bioconductor packages are discussed in detail. There is special mention about the issue of having packages both in CRAN and in Bioconductor (something not recommended). Also, it is advised that authors having questions about Bioconductor package development ask them in the Bioconductor development list (bioc-devel).

ADD COMMENT
0
Entering edit mode

Thank you! I have been learning a lot from this website. Glad you pointed it out:)

ADD REPLY

Login before adding your answer.

Traffic: 1943 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6