Git Product home page Git Product logo

biocthis's Introduction

biocthis

Lifecycle: maturing BioC status BioC dev status Codecov test coverage R build status Support site activity, last 6 months: tagged questions/avg. answers per question/avg. comments per question/accepted answers, or 0 if no tagged posts. GitHub issues

biocthis is an R package that expands usethis with Bioconductor-friendly templates. These templates will help you quickly create an R package that either has Bioconductor dependencies or that you are thinking of submitting to Bioconductor one day. biocthis has functions that can also enhance your current R packages that either are already distributed by Bioconductor or have Bioconductor dependencies. biocthis also includes a Bioconductor-friendly GitHub Actions workflow for your R package(s).

Note that biocthis is not a Bioconductor-core package and as such it is not a Bioconductor official package. It was made by and for Leonardo Collado-Torres so he could more easily maintain and create Bioconductor packages as listed at lcolladotor.github.io/pkgs/. Hopefully biocthis will be helpful for you too.

Installation instructions

Get the latest stable R release from CRAN. Then install biocthis using from Bioconductor the following code:

if (!requireNamespace("BiocManager", quietly = TRUE)) {
    install.packages("BiocManager")
}

BiocManager::install("biocthis")

And the development version from GitHub with:

BiocManager::install("lcolladotor/biocthis")

Example

Here is how you can use biocthis to create a new Bioconductor-friendly R package (illustrated using a temporary directory):

## Load biocthis
library("biocthis")

## Create an example package for illustrative purposes.
## Note: you do not need to run this for your own package!
pkgdir <- biocthis_example_pkg()
#> ✓ Creating '/var/folders/cx/n9s558kx6fb7jf5z_pgszgb80000gn/T/Rtmpjf2FkP/biocthisexample/'
#> ✓ Setting active project to '/private/var/folders/cx/n9s558kx6fb7jf5z_pgszgb80000gn/T/Rtmpjf2FkP/biocthisexample'
#> ✓ Creating 'R/'
#> ✓ Writing 'DESCRIPTION'
#> Package: biocthisexample
#> Title: What the Package Does (One Line, Title Case)
#> Version: 0.0.0.9000
#> Authors@R (parsed):
#>     * First Last <[email protected]> [aut, cre] (YOUR-ORCID-ID)
#> Description: What the package does (one paragraph).
#> License: `use_mit_license()`, `use_gpl3_license()` or friends to pick a
#>     license
#> Encoding: UTF-8
#> LazyData: true
#> Roxygen: list(markdown = TRUE)
#> RoxygenNote: 7.1.1
#> ✓ Writing 'NAMESPACE'
#> ✓ Setting active project to '<no active project>'
#> ✓ Setting active project to '/private/var/folders/cx/n9s558kx6fb7jf5z_pgszgb80000gn/T/Rtmpjf2FkP/biocthisexample'

## Create the bioc templates
biocthis::use_bioc_pkg_templates()
#> ✓ Creating 'dev/'
#> ✓ Adding '^dev$' to '.Rbuildignore'
#> ✓ Writing 'dev/01_create_pkg.R'
#> ✓ Writing 'dev/02_git_github_setup.R'
#> ✓ Writing 'dev/03_core_files.R'
#> ✓ Writing 'dev/04_update.R'

The template dev scripts include comments and steps you can follow for making your Bioconductor-friendly R package or updating a current package. In particular, you might want to use a Bioconductor-friendly GitHub Actions workflow. If this is your first time seeings this words, we highly recommend that you watch Jim Hester’s rstudio::conf(2020) talk on this subject.

## Create a GitHub Actions workflow that is Bioconductor-friendly
biocthis::use_bioc_github_action()
#> ✓ Creating '.github/'
#> ✓ Adding '^\\.github$' to '.Rbuildignore'
#> ✓ Adding '*.html' to '.github/.gitignore'
#> ✓ Creating '.github/workflows/'
#> ✓ Writing '.github/workflows/check-bioc.yml'
## Alternatively, use the general GitHub Actions workflow maintained by
## r-lib/actions
usethis::use_github_action("check-standard")
#> ✓ Writing '.github/workflows/check-standard.yaml'

Citation

Below is the citation output from using citation('biocthis') in R. Please run this yourself to check for any updates on how to cite biocthis.

print(citation("biocthis"), bibtex = TRUE)
#> 
#> Collado-Torres L (2020). _Automate package and project setup for
#> Bioconductor packages_. doi: 10.18129/B9.bioc.biocthis (URL:
#> https://doi.org/10.18129/B9.bioc.biocthis),
#> https://github.com/lcolladotor/biocthisbiocthis - R package version
#> 1.1.5, <URL: http://www.bioconductor.org/packages/biocthis>.
#> 
#> A BibTeX entry for LaTeX users is
#> 
#>   @Manual{,
#>     title = {Automate package and project setup for Bioconductor packages},
#>     author = {Leonardo Collado-Torres},
#>     year = {2020},
#>     url = {http://www.bioconductor.org/packages/biocthis},
#>     note = {https://github.com/lcolladotor/biocthisbiocthis - R package version 1.1.5},
#>     doi = {10.18129/B9.bioc.biocthis},
#>   }
#> 
#> Collado-Torres L (2020). "Automate package and project setup for
#> Bioconductor packages." _bioRxiv_. doi: 10.1101/TODO (URL:
#> https://doi.org/10.1101/TODO), <URL:
#> https://www.biorxiv.org/content/10.1101/TODO>.
#> 
#> A BibTeX entry for LaTeX users is
#> 
#>   @Article{,
#>     title = {Automate package and project setup for Bioconductor packages},
#>     author = {Leonardo Collado-Torres},
#>     year = {2020},
#>     journal = {bioRxiv},
#>     doi = {10.1101/TODO},
#>     url = {https://www.biorxiv.org/content/10.1101/TODO},
#>   }

Please note that the biocthis was only made possible thanks to many other R and bioinformatics software authors, which are cited either in the vignettes and/or the paper(s) describing this package.

Code of Conduct

Please note that the biocthis project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

Development tools

For more details, check the dev directory.

This package was developed using biocthis.

biocthis's People

Contributors

gbrsales avatar grst avatar kayla-morrell avatar lcolladotor avatar link-ny avatar milanmlft avatar nturaga avatar takkoona avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.