Skip to content

Commit

Permalink
Merge pull request #41 from pepkit/tximeta
Browse files Browse the repository at this point in the history
v0.2.1
  • Loading branch information
nsheff authored Oct 30, 2020
2 parents 70b793a + 5008571 commit 472d80f
Show file tree
Hide file tree
Showing 47 changed files with 1,213 additions and 349 deletions.
6 changes: 5 additions & 1 deletion .Rbuildignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,8 @@
^\.travis\.yml$
^_pkgdown.yaml
^docs
^update_examples.sh
^update_examples.sh
^doc$
^Meta$
^\.github$
long_vignettes
1 change: 1 addition & 0 deletions .github/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.html
249 changes: 249 additions & 0 deletions .github/workflows/check-bioc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,249 @@
## Read more about GitHub actions the features of this GitHub Actions workflow
## at https://lcolladotor.github.io/biocthis/articles/biocthis.html#use_bioc_github_action
##
## For more details, check the biocthis developer notes vignette at
## https://lcolladotor.github.io/biocthis/articles/biocthis_dev_notes.html
##
## You can add this workflow to other packages using:
## > biocthis::use_bioc_github_action()
##
## Using GitHub Actions exposes you to many details about how R packages are
## compiled and installed in several operating system.s
### If you need help, please follow the steps listed at
## https://github.com/r-lib/actions#where-to-find-help
##
## If you found an issue specific to biocthis's GHA workflow, please report it
## with the information that will make it easier for others to help you.
## Thank you!

## Acronyms:
## * GHA: GitHub Action
## * OS: operating system

on:
push:
branches: [master, dev]
pull_request:
branches: [master, dev]

name: R-CMD-check-bioc

## These environment variables control whether to run GHA code later on that is
## specific to testthat, covr, and pkgdown.
##
## If you need to clear the cache of packages, update the number inside
## cache-version as discussed at https://github.com/r-lib/actions/issues/86.
## Note that you can always run a GHA test without the cache by using the word
## "/nocache" in the commit message.
env:
has_testthat: 'false'
run_covr: 'false'
run_pkgdown: 'false'
has_RUnit: 'false'
cache-version: 'cache-v1'

jobs:
build-check:
runs-on: ${{ matrix.config.os }}
name: ${{ matrix.config.os }} (${{ matrix.config.r }})
container: ${{ matrix.config.cont }}
## Environment variables unique to this job.

strategy:
fail-fast: false
matrix:
config:
- { os: ubuntu-latest, r: '4.0.2', cont: "bioconductor/bioconductor_docker:RELEASE_3_11", rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest" }
- { os: macOS-latest, r: '4.0.2'}
env:
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true
RSPM: ${{ matrix.config.rspm }}
NOT_CRAN: true
TZ: UTC
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}

steps:

## Set the R library to the directory matching the
## R packages cache step further below when running on Docker (Linux).
- name: Set R Library home on Linux
if: runner.os == 'Linux'
run: |
mkdir /__w/_temp/Library
echo ".libPaths('/__w/_temp/Library')" > ~/.Rprofile
## Most of these steps are the same as the ones in
## https://github.com/r-lib/actions/blob/master/examples/check-standard.yaml
## If they update their steps, we will also need to update ours.
- name: Checkout Repository
uses: actions/checkout@v2

## R is already included in the Bioconductor docker images
- name: Setup R from r-lib
if: runner.os != 'Linux'
uses: r-lib/actions/setup-r@master
with:
r-version: ${{ matrix.config.r }}

## pandoc is already included in the Bioconductor docker images
- name: Setup pandoc from r-lib
if: runner.os != 'Linux'
uses: r-lib/actions/setup-pandoc@master

- name: Query dependencies
run: |
install.packages('remotes')
saveRDS(remotes::dev_package_deps(dependencies = TRUE), ".github/depends.Rds", version = 2)
shell: Rscript {0}

- name: Cache R packages
if: "!contains(github.event.head_commit.message, '/nocache') && runner.os != 'Linux'"
uses: actions/cache@v1
with:
path: ${{ env.R_LIBS_USER }}
key: ${{ env.cache-version }}-${{ runner.os }}-biocversion-RELEASE_3_11-r-4.0.2-${{ hashFiles('.github/depends.Rds') }}
restore-keys: ${{ env.cache-version }}-${{ runner.os }}-biocversion-RELEASE_3_11-r-4.0.2-

- name: Cache R packages on Linux
if: "!contains(github.event.head_commit.message, '/nocache') && runner.os == 'Linux' "
uses: actions/cache@v1
with:
path: /home/runner/work/_temp/Library
key: ${{ env.cache-version }}-${{ runner.os }}-biocversion-RELEASE_3_11-r-4.0.2-${{ hashFiles('.github/depends.Rds') }}
restore-keys: ${{ env.cache-version }}-${{ runner.os }}-biocversion-RELEASE_3_11-r-4.0.2-

- name: Install Linux system dependencies
if: runner.os == 'Linux'
env:
RHUB_PLATFORM: linux-x86_64-ubuntu-gcc
run: |
Rscript -e "remotes::install_github('r-hub/sysreqs')"
sysreqs=$(Rscript -e "cat(sysreqs::sysreq_commands('DESCRIPTION'))")
sudo -s eval "$sysreqs"
- name: Install macOS system dependencies
if: matrix.config.os == 'macOS-latest'
run: |
## Enable installing XML from source if needed
brew install libxml2
echo "::set-env name=XML_CONFIG::/usr/local/opt/libxml2/bin/xml2-config"
## Required to install magick as noted at
## https://github.com/r-lib/usethis/commit/f1f1e0d10c1ebc75fd4c18fa7e2de4551fd9978f#diff-9bfee71065492f63457918efcd912cf2
brew install imagemagick@6
- name: Install Windows system dependencies
if: runner.os == 'Windows'
run: |
## Edit below if you have any Windows system dependencies
shell: Rscript {0}

- name: Install BiocManager
run: |
message(paste('****', Sys.time(), 'installing BiocManager ****'))
remotes::install_cran("BiocManager")
shell: Rscript {0}

- name: Set BiocVersion
run: |
BiocManager::install(version = "3.11", ask = FALSE)
shell: Rscript {0}

- name: Install dependencies
run: |
## Try installing the package dependencies in steps. First the local
## dependencies, then any remaining dependencies to avoid the
## issues described at
## https://stat.ethz.ch/pipermail/bioc-devel/2020-April/016675.html
## https://github.com/r-lib/remotes/issues/296
## Ideally, all dependencies should get installed in the first pass.
## Pass #1 at installing dependencies
message(paste('****', Sys.time(), 'pass number 1 at installing dependencies: local dependencies ****'))
remotes::install_local(dependencies = TRUE, repos = BiocManager::repositories(), build_vignettes = TRUE, upgrade = TRUE)
## Pass #2 at installing dependencies
message(paste('****', Sys.time(), 'pass number 2 at installing dependencies: any remaining dependencies ****'))
remotes::install_local(dependencies = TRUE, repos = BiocManager::repositories(), build_vignettes = TRUE, upgrade = TRUE)
## For running the checks
message(paste('****', Sys.time(), 'installing rcmdcheck and BiocCheck ****'))
remotes::install_cran("rcmdcheck")
BiocManager::install("BiocCheck")
shell: Rscript {0}

- name: Install BiocGenerics
if: env.has_RUnit == 'true'
run: |
## Install BiocGenerics
BiocManager::install("BiocGenerics")
shell: Rscript {0}

- name: Install covr
if: github.ref == 'refs/heads/master' && env.run_covr == 'true' && runner.os == 'Linux'
run: |
remotes::install_cran("covr")
shell: Rscript {0}

- name: Install pkgdown
if: github.ref == 'refs/heads/master' && env.run_pkgdown == 'true' && runner.os == 'Linux'
run: |
remotes::install_cran("pkgdown")
shell: Rscript {0}

- name: Session info
run: |
options(width = 100)
pkgs <- installed.packages()[, "Package"]
sessioninfo::session_info(pkgs, include_base = TRUE)
shell: Rscript {0}

- name: Run CMD check
env:
_R_CHECK_CRAN_INCOMING_: false
run: |
rcmdcheck::rcmdcheck(
args = c("--no-build-vignettes", "--no-manual", "--timings"),
build_args = c("--no-manual", "--no-resave-data"),
error_on = "warning",
check_dir = "check"
)
shell: Rscript {0}

## Might need an to add this to the if: && runner.os == 'Linux'
- name: Reveal testthat details
if: env.has_testthat == 'true'
run: find . -name testthat.Rout -exec cat '{}' ';'

- name: Run RUnit tests
if: env.has_RUnit == 'true'
run: |
BiocGenerics:::testPackage()
shell: Rscript {0}

- name: Run BiocCheck
run: |
BiocCheck::BiocCheck(
dir('check', 'tar.gz$', full.names = TRUE),
`quit-with-status` = TRUE,
`no-check-R-ver` = TRUE,
`no-check-bioc-help` = TRUE
)
shell: Rscript {0}

- name: Test coverage
if: github.ref == 'refs/heads/master' && env.run_covr == 'true' && runner.os == 'Linux'
run: |
covr::codecov()
shell: Rscript {0}

- name: Install package
if: github.ref == 'refs/heads/master' && env.run_pkgdown == 'true' && runner.os == 'Linux'
run: R CMD INSTALL .

- name: Upload check results
if: failure()
uses: actions/upload-artifact@master
with:
name: ${{ runner.os }}-biocversion-RELEASE_3_11-r-4.0.2-results
path: check
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@

inst/doc
.Rproj.user
.Rhistory
.RData
.DS_Store
docs
*.RProj
doc
Meta
19 changes: 10 additions & 9 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
language: R
sudo: false
language: r
branches:
only:
- master
- dev
r: bioc-release
os:
- linux
cache: packages
warnings_are_errors: false
r_packages: devtools
r_github_packages:
- pepkit/pepr
r_github_packages:
- databio/simpleCache
bioc_packages:
- GenomicRanges
- BiocStyle
- BiocFileCache

- pepkit/pepr
13 changes: 4 additions & 9 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,23 +1,18 @@
Package: BiocProject
Title: Bioconductor Management with Portable Encapsulated Project (PEP) Objects
Version: 0.2
Version: 0.2.1
Authors@R: c(person("Michal", "Stolarczyk", email = "[email protected]",role = c("aut", "cre")),
person("Nathan", "Sheffield", email = "[email protected]",role = c("aut")))
Description: A Bioconductor-oriented project management class. It wraps the
generic pepr R package for project metadata. BiocProject allows you to read
in project metadata and data for an entire project with a single line of R code.
License: GPL-3
License: BSD_2_clause + file LICENSE
Encoding: UTF-8
LazyData: true
Depends: S4Vectors, pepr, methods
Suggests:
knitr,
rmarkdown,
testthat,
yaml
Enhances: BiocFileCache, simpleCache, GenomicRanges
Suggests: testthat, yaml, BiocFileCache, simpleCache, GenomicRanges, knitr, BiocStyle, rmarkdown
biocViews: DataImport, DataRepresentation
RoxygenNote: 6.1.1
RoxygenNote: 7.1.1
URL: https://github.com/pepkit/BiocProject
BugReports: https://github.com/pepkit/BiocProject
VignetteBuilder: knitr
2 changes: 2 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
YEAR: 2018
COPYRIGHT HOLDER: Nathan Sheffield
4 changes: 2 additions & 2 deletions NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

export(.insertPEP)
export(.setShowMethod)
export(.updateList)
export(.unionList)
export(BiocProject)
exportMethods(config)
exportMethods(getProject)
exportMethods(is)
exportMethods(samples)
exportMethods(sampleTable)
import(S4Vectors)
import(methods)
import(pepr)
12 changes: 11 additions & 1 deletion NEWS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@

# BiocProject 0.2.1 - 2019-10-15

## Added
* added vignette: "Using BiocProject with tximeta"

## Changed
* `subproject` argument to `amendments` in `BiocProject` function
* `Project` is not added as a first element in `Annotated@metadata`, it is appended to any existing ones

# BiocProject 0.2 - 2019-04-19

## Added
Expand Down Expand Up @@ -71,4 +81,4 @@

* make `BiocProject` class inherit from `pepr::Project` and `base::list`
* the `initialize` method can read in the data with the provided `func`
* the object constructor does not fail if the `pepr::Project` object is provided in the `funcArgs` arguments list
* the object constructor does not fail if the `pepr::Project` object is provided in the `funcArgs` arguments list
20 changes: 8 additions & 12 deletions R/constants.R
Original file line number Diff line number Diff line change
@@ -1,14 +1,10 @@
# config section names
#
# The YAML file looks like this:
#
# MAIN_SECTION:
# FUNCTION_NAME: <name>
# FUNCTION_PATH: <path>
# FUNCTION_ARGS:
# <arg1>: <val1>
# <arg2>: <val2>
MAIN_SECTION = "bioconductor"
# config section names The YAML
# file looks like this:
# MAIN_SECTION: FUNCTION_NAME:
# <name> FUNCTION_PATH: <path>
# FUNCTION_ARGS: <arg1>: <val1>
# <arg2>: <val2>
BIOC_SECTION = "bioconductor"
FUNCTION_ARGS = "funcArgs"
FUNCTION_PATH = "readFunPath"
FUNCTION_NAME = "readFunName"
FUNCTION_NAME = "readFunName"
Loading

0 comments on commit 472d80f

Please sign in to comment.