Upgrade to Pro — share decks privately, control downloads, hide ads and more …

biocthis-TAB

 biocthis-TAB

Presentation about biocthis to the Bioconductor Technical Advisory Board on 2020-11-05

Leonardo Collado-Torres

November 05, 2020
Tweet

More Decks by Leonardo Collado-Torres

Other Decks in Programming

Transcript

  1. biocthis
    Leonardo Collado Torres
    lcolladotor.github.io
    2020-11-05

    View Slide

  2. LIEBER INSTITUTE for BRAIN DEVELOPMENT
    usethis: helpful framework for making R packages
    ● https://usethis.r-lib.org/
    ● usethis::create_package()
    https://usethis.r-lib.org/refer
    ence/create_package.html

    View Slide

  3. LIEBER INSTITUTE for BRAIN DEVELOPMENT
    GitHub Actions
    ● Saves you time
    ● Enables automatically testing your package on winOS, macOS,
    linux, docker
    ○ https://docs.github.com/en/actions/reference/virtual-environments-for-github-host
    ed-runners
    ● Reproducible framework
    ○ Particularly when you use docker http://bioconductor.org/help/docker/
    ○ powered by https://www.rocker-project.org/
    ● But it’s also cutting edge
    ○ You might run into the latest R issues
    ○ Might need to figure out how to install
    ● https://github.com/r-lib/actions
    ● https://www.jimhester.com/talk/2020-rsc-github-actions/

    View Slide

  4. LIEBER INSTITUTE for BRAIN DEVELOPMENT
    GHA machines (up to 6 hours)

    View Slide

  5. LIEBER INSTITUTE for BRAIN DEVELOPMENT
    biocthis: helps jumpstart this process
    ● Includes a GitHub Actions workflow that is Bioconductor-friendly
    ○ https://lcolladotor.github.io/biocthis/reference/use_bioc_github_action.html
    ○ Bioconductor docker + macOS + winOS
    ○ R CMD build + check + BiocCheck
    ○ covr: code coverage
    ○ pkgdown: documentation website
    ● Has functions similar to usethis but that are tailored for
    Bioconductor’s needs (and/or mine)
    ○ https://lcolladotor.github.io/biocthis/reference/use_bioc_vignette.html creates a
    BiocStyle-based vignette with a structure that I like to use for my
    R/Bioconductor packages
    ● Includes 4 dev/*.R scripts that will guide you throughout the
    process of making your R/BioC package

    View Slide

  6. LIEBER INSTITUTE for BRAIN DEVELOPMENT
    Examples: recount3
    ● https://github.com/LieberInstitute/recount3
    ● http://research.libd.org/recount3/
    ● http://research.libd.org/recount3/reference/create_rse.ht
    ml
    ● Bookdown: http://research.libd.org/SPEAQeasy/
    ● R Markdown site:
    https://lcolladotor.github.io/twitter-stats/CDSB2020.html
    ● More? https://lcolladotor.github.io/pkgs/

    View Slide

  7. LIEBER INSTITUTE for BRAIN DEVELOPMENT
    Increased exposure to changes in R build issues
    ● Unlike BioC builds, you have to figure out how to deal
    with dependencies
    ○ Upstream package might not be available
    ● BioC 3.13 uses R-devel and CRAN has no binaries on macOS
    ● Compiling errors can be harder to trace
    ● Can use BioC 3.12 and/or focus on Bioconductor docker’s
    tests
    ● Can be directly affected by rocker/BioC docker changes

    View Slide

  8. LIEBER INSTITUTE for BRAIN DEVELOPMENT
    Worth it (for me)
    ● Overall faster feedback than BioC’s builds
    ○ Complementary, not a replacement
    ● Can help notice issues with OS that you might not realize
    ○ Example with tests failing on megadepth on macOS
    ● Helped me be more productive this past round
    ● dev/ scripts/guides can help new users become developers

    View Slide