Skip to content

Commit 2e61a7c

Browse files
authored
Merge branch 'dev' into eliminate-tidy-method
2 parents bae8949 + dc27e23 commit 2e61a7c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+5504
-4238
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
Thanks for submitting an issue.
11+
12+
Please add the following information to the issue
13+
14+
1. Describe the issue/bug
15+
2. Print out the input dataset immediately before the bug occurs
16+
3. Paste the code immediately leading to the bug
17+
4. Print out of the output, if any
18+
5. Print out of the complete error/warning message, if any
19+
6. sessionInfo()
20+
21+
Thanks!

.github/workflows/check-bioc.yml

100755100644
Lines changed: 109 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ env:
3939
run_pkgdown: 'true'
4040
has_RUnit: 'false'
4141
cache-version: 'cache-v1'
42+
run_docker: 'false'
4243

4344
jobs:
4445
build-check:
@@ -51,9 +52,11 @@ jobs:
5152
fail-fast: false
5253
matrix:
5354
config:
54-
- { os: ubuntu-latest, r: '4.0', bioc: '3.12', cont: "bioconductor/bioconductor_docker:RELEASE_3_12", rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest" }
55-
- { os: macOS-latest, r: '4.0', bioc: '3.12'}
56-
- { os: windows-latest, r: '4.0', bioc: '3.12'}
55+
- { os: ubuntu-latest, r: '4.3', bioc: '3.17', cont: "bioconductor/bioconductor_docker:RELEASE_3_17", rspm: "https://packagemanager.rstudio.com/cran/__linux__/jammy/latest" }
56+
- { os: macOS-latest, r: '4.3', bioc: '3.17'}
57+
- { os: windows-latest, r: '4.3', bioc: '3.17'}
58+
## Check https://github.com/r-lib/actions/tree/master/examples
59+
## for examples using the http-user-agent
5760
env:
5861
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true
5962
RSPM: ${{ matrix.config.rspm }}
@@ -76,48 +79,49 @@ jobs:
7679
## https://github.com/r-lib/actions/blob/master/examples/check-standard.yaml
7780
## If they update their steps, we will also need to update ours.
7881
- name: Checkout Repository
79-
uses: actions/checkout@v2
82+
uses: actions/checkout@v3
8083

8184
## R is already included in the Bioconductor docker images
8285
- name: Setup R from r-lib
8386
if: runner.os != 'Linux'
84-
uses: r-lib/actions/setup-r@master
87+
uses: r-lib/actions/setup-r@v2
8588
with:
8689
r-version: ${{ matrix.config.r }}
90+
http-user-agent: ${{ matrix.config.http-user-agent }}
8791

8892
## pandoc is already included in the Bioconductor docker images
8993
- name: Setup pandoc from r-lib
9094
if: runner.os != 'Linux'
91-
uses: r-lib/actions/setup-pandoc@master
95+
uses: r-lib/actions/setup-pandoc@v2
9296

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

99-
- name: Cache R packages
103+
- name: Restore R package cache
100104
if: "!contains(github.event.head_commit.message, '/nocache') && runner.os != 'Linux'"
101-
uses: actions/cache@v2
105+
uses: actions/cache@v3
102106
with:
103107
path: ${{ env.R_LIBS_USER }}
104-
key: ${{ env.cache-version }}-${{ runner.os }}-biocversion-RELEASE_3_12-r-4.0-${{ hashFiles('.github/depends.Rds') }}
105-
restore-keys: ${{ env.cache-version }}-${{ runner.os }}-biocversion-RELEASE_3_12-r-4.0-
108+
key: ${{ env.cache-version }}-${{ runner.os }}-biocversion-RELEASE_3_17-r-4.3-${{ hashFiles('.github/depends.Rds') }}
109+
restore-keys: ${{ env.cache-version }}-${{ runner.os }}-biocversion-RELEASE_3_17-r-4.3-
106110

107111
- name: Cache R packages on Linux
108112
if: "!contains(github.event.head_commit.message, '/nocache') && runner.os == 'Linux' "
109-
uses: actions/cache@v2
113+
uses: actions/cache@v3
110114
with:
111115
path: /home/runner/work/_temp/Library
112-
key: ${{ env.cache-version }}-${{ runner.os }}-biocversion-RELEASE_3_12-r-4.0-${{ hashFiles('.github/depends.Rds') }}
113-
restore-keys: ${{ env.cache-version }}-${{ runner.os }}-biocversion-RELEASE_3_12-r-4.0-
116+
key: ${{ env.cache-version }}-${{ runner.os }}-biocversion-RELEASE_3_17-r-4.3-${{ hashFiles('.github/depends.Rds') }}
117+
restore-keys: ${{ env.cache-version }}-${{ runner.os }}-biocversion-RELEASE_3_17-r-4.3-
114118

115-
- name: Install Linux system dependencies
116-
if: runner.os == 'Linux'
117-
run: |
118-
sysreqs=$(Rscript -e 'cat("apt-get update -y && apt-get install -y", paste(gsub("apt-get install -y ", "", remotes::system_requirements("ubuntu", "20.04")), collapse = " "))')
119-
echo $sysreqs
120-
sudo -s eval "$sysreqs"
119+
# - name: Install Linux system dependencies
120+
# if: runner.os == 'Linux'
121+
# run: |
122+
# sysreqs=$(Rscript -e 'cat("apt-get update -y && apt-get install -y", paste(gsub("apt-get install -y ", "", remotes::system_requirements("ubuntu", "20.04")), collapse = " "))')
123+
# echo $sysreqs
124+
# sudo -s eval "$sysreqs"
121125

122126
- name: Install macOS system dependencies
123127
if: matrix.config.os == 'macOS-latest'
@@ -136,9 +140,8 @@ jobs:
136140
## For installing usethis's dependency gert
137141
brew install libgit2
138142
139-
## To fix x11/cairo error with tidyHeatmap/Complexheatmap here https://github.com/stemangiola/tidybulk/runs/1388237421?check_suite_focus=true#step:14:2134
140-
## Suggested here https://stackoverflow.com/questions/63648591/how-to-install-x11-before-testing-with-github-actions-for-macos
141-
brew install --cask xquartz
143+
## Required for tcltk
144+
brew install xquartz --cask
142145
143146
- name: Install Windows system dependencies
144147
if: runner.os == 'Windows'
@@ -154,7 +157,7 @@ jobs:
154157

155158
- name: Set BiocVersion
156159
run: |
157-
BiocManager::install(version = "${{ matrix.config.bioc }}", ask = FALSE)
160+
BiocManager::install(version = "${{ matrix.config.bioc }}", ask = FALSE, force = TRUE)
158161
shell: Rscript {0}
159162

160163
- name: Install dependencies pass 1
@@ -166,22 +169,21 @@ jobs:
166169
## https://github.com/r-lib/remotes/issues/296
167170
## Ideally, all dependencies should get installed in the first pass.
168171
172+
## For running the checks
173+
message(paste('****', Sys.time(), 'installing rcmdcheck and BiocCheck ****'))
174+
install.packages(c("rcmdcheck", "BiocCheck"), repos = BiocManager::repositories())
175+
169176
## Pass #1 at installing dependencies
170177
message(paste('****', Sys.time(), 'pass number 1 at installing dependencies: local dependencies ****'))
171-
remotes::install_local(dependencies = TRUE, repos = BiocManager::repositories(), build_vignettes = TRUE, upgrade = TRUE)
178+
remotes::install_local(dependencies = TRUE, repos = BiocManager::repositories(), build_vignettes = FALSE, upgrade = TRUE)
172179
continue-on-error: true
173180
shell: Rscript {0}
174181

175182
- name: Install dependencies pass 2
176183
run: |
177184
## Pass #2 at installing dependencies
178185
message(paste('****', Sys.time(), 'pass number 2 at installing dependencies: any remaining dependencies ****'))
179-
remotes::install_local(dependencies = TRUE, repos = BiocManager::repositories(), build_vignettes = TRUE, upgrade = TRUE)
180-
181-
## For running the checks
182-
message(paste('****', Sys.time(), 'installing rcmdcheck and BiocCheck ****'))
183-
remotes::install_cran("rcmdcheck")
184-
BiocManager::install("BiocCheck")
186+
remotes::install_local(dependencies = TRUE, repos = BiocManager::repositories(), build_vignettes = TRUE, upgrade = TRUE, force = TRUE)
185187
shell: Rscript {0}
186188

187189
- name: Install BiocGenerics
@@ -192,13 +194,13 @@ jobs:
192194
shell: Rscript {0}
193195

194196
- name: Install covr
195-
if: github.ref == 'refs/heads/master' && env.run_covr == 'true' && runner.os == 'Linux'
197+
if: github.ref == 'refs/heads/devel' && env.run_covr == 'true' && runner.os == 'Linux'
196198
run: |
197199
remotes::install_cran("covr")
198200
shell: Rscript {0}
199201

200202
- name: Install pkgdown
201-
if: github.ref == 'refs/heads/master' && env.run_pkgdown == 'true' && runner.os == 'Linux'
203+
if: github.ref == 'refs/heads/devel' && env.run_pkgdown == 'true' && runner.os == 'Linux'
202204
run: |
203205
remotes::install_cran("pkgdown")
204206
shell: Rscript {0}
@@ -213,10 +215,12 @@ jobs:
213215
- name: Run CMD check
214216
env:
215217
_R_CHECK_CRAN_INCOMING_: false
218+
DISPLAY: 99.0
216219
run: |
220+
options(crayon.enabled = TRUE)
217221
rcmdcheck::rcmdcheck(
218-
args = c("--no-build-vignettes", "--no-manual", "--timings"),
219-
build_args = c("--no-manual", "--no-resave-data"),
222+
args = c("--no-manual", "--no-vignettes", "--timings"),
223+
build_args = c("--no-manual", "--keep-empty-dirs", "--no-resave-data"),
220224
error_on = "warning",
221225
check_dir = "check"
222226
)
@@ -234,6 +238,8 @@ jobs:
234238
shell: Rscript {0}
235239

236240
- name: Run BiocCheck
241+
env:
242+
DISPLAY: 99.0
237243
run: |
238244
BiocCheck::BiocCheck(
239245
dir('check', 'tar.gz$', full.names = TRUE),
@@ -244,30 +250,89 @@ jobs:
244250
shell: Rscript {0}
245251

246252
- name: Test coverage
247-
if: github.ref == 'refs/heads/master' && env.run_covr == 'true' && runner.os == 'Linux'
253+
if: github.ref == 'refs/heads/devel' && env.run_covr == 'true' && runner.os == 'Linux'
248254
run: |
249255
covr::codecov()
250256
shell: Rscript {0}
251257

252258
- name: Install package
253-
if: github.ref == 'refs/heads/master' && env.run_pkgdown == 'true' && runner.os == 'Linux'
259+
if: github.ref == 'refs/heads/devel' && env.run_pkgdown == 'true' && runner.os == 'Linux'
254260
run: R CMD INSTALL .
255261

256-
- name: Deploy package
257-
if: github.ref == 'refs/heads/master' && env.run_pkgdown == 'true' && runner.os == 'Linux'
258-
run: |
259-
git config --local user.email "[email protected]"
260-
git config --local user.name "GitHub Actions"
261-
Rscript -e "pkgdown::deploy_to_branch(new_process = FALSE)"
262-
shell: bash {0}
262+
- name: Build pkgdown site
263+
if: github.ref == 'refs/heads/devel' && env.run_pkgdown == 'true' && runner.os == 'Linux'
264+
run: pkgdown::build_site_github_pages(new_process = FALSE, install = FALSE)
265+
shell: Rscript {0}
263266
## Note that you need to run pkgdown::deploy_to_branch(new_process = FALSE)
264267
## at least one locally before this will work. This creates the gh-pages
265268
## branch (erasing anything you haven't version controlled!) and
266269
## makes the git history recognizable by pkgdown.
267270

271+
- name: Install deploy dependencies
272+
if: github.ref == 'refs/heads/devel' && env.run_pkgdown == 'true' && runner.os == 'Linux'
273+
run: |
274+
apt-get update && apt-get -y install rsync
275+
276+
- name: Deploy pkgdown site to GitHub pages 🚀
277+
if: github.ref == 'refs/heads/devel' && env.run_pkgdown == 'true' && runner.os == 'Linux'
278+
uses: JamesIves/github-pages-deploy-action@releases/v4
279+
with:
280+
clean: false
281+
branch: gh-pages
282+
folder: docs
283+
268284
- name: Upload check results
269285
if: failure()
270286
uses: actions/upload-artifact@master
271287
with:
272-
name: ${{ runner.os }}-biocversion-RELEASE_3_12-r-4.0-results
288+
name: ${{ runner.os }}-biocversion-RELEASE_3_17-r-4.3-results
273289
path: check
290+
291+
292+
## Code adapted from
293+
## https://github.com/waldronlab/cBioPortalData/blob/e0440a4445f0cc731e426363a76faa22ee5e0f9d/.github/workflows/devel_check_dock.yml#L65-L92
294+
docker-build-and-push:
295+
runs-on: ubuntu-latest
296+
needs: build-check
297+
steps:
298+
- name: Checkout Repository
299+
if: "!contains(github.event.head_commit.message, '/nodocker') && env.run_docker == 'true' && github.ref == 'refs/heads/devel'"
300+
uses: actions/checkout@v3
301+
302+
- name: Register repo name
303+
if: "!contains(github.event.head_commit.message, '/nodocker') && env.run_docker == 'true' && github.ref == 'refs/heads/devel'"
304+
id: reg_repo_name
305+
run: |
306+
echo CONT_IMG_NAME=$(echo ${{ github.event.repository.name }} | tr '[:upper:]' '[:lower:]') >> $GITHUB_ENV
307+
308+
- name: Set up QEMU
309+
if: "!contains(github.event.head_commit.message, '/nodocker') && env.run_docker == 'true' && github.ref == 'refs/heads/devel'"
310+
uses: docker/setup-qemu-action@v2
311+
312+
- name: Set up Docker Buildx
313+
if: "!contains(github.event.head_commit.message, '/nodocker') && env.run_docker == 'true' && github.ref == 'refs/heads/devel'"
314+
uses: docker/setup-buildx-action@v2
315+
316+
- name: Login to Docker Hub
317+
if: "!contains(github.event.head_commit.message, '/nodocker') && env.run_docker == 'true' && github.ref == 'refs/heads/devel'"
318+
uses: docker/login-action@v2
319+
with:
320+
username: ${{ secrets.DOCKERHUB_USERNAME }}
321+
password: ${{ secrets.DOCKERHUB_TOKEN }}
322+
## Note that DOCKERHUB_TOKEN is really a token for your dockerhub
323+
## account, not your actual dockerhub account password. You can get it
324+
## from https://hub.docker.com/settings/security.
325+
## Check https://github.com/docker/build-push-action/tree/v4.0.0
326+
## for more details.
327+
## Alternatively, try checking
328+
## https://seandavi.github.io/BuildABiocWorkshop/articles/HOWTO_BUILD_WORKSHOP.html.
329+
330+
- name: Build and Push Docker
331+
if: "!contains(github.event.head_commit.message, '/nodocker') && env.run_docker == 'true' && github.ref == 'refs/heads/devel' && success()"
332+
uses: docker/build-push-action@v4
333+
with:
334+
context: .
335+
push: true
336+
tags: >
337+
${{ secrets.DOCKERHUB_USERNAME }}/${{ env.CONT_IMG_NAME }}:latest,
338+
${{ secrets.DOCKERHUB_USERNAME }}/${{ env.CONT_IMG_NAME }}:devel

DESCRIPTION

Lines changed: 25 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,70 @@
11
Type: Package
22
Package: tidySingleCellExperiment
33
Title: Brings SingleCellExperiment to the Tidyverse
4-
Version: 1.3.0
5-
Authors@R: c(person("Stefano", "Mangiola", email = "[email protected]",
6-
role = c("aut", "cre")) )
7-
Description: tidySingleCellExperiment is an adapter that abstracts the 'SingleCellExperiment' container
8-
in the form of tibble and allows the data manipulation, plotting and nesting using 'tidyverse'
4+
Version: 1.11.4
5+
Authors@R: c(person("Stefano", "Mangiola",
6+
7+
role=c("aut", "cre")))
8+
Description: 'tidySingleCellExperiment' is an adapter that abstracts
9+
the 'SingleCellExperiment' container in the form of a 'tibble'.
10+
This allows *tidy* data manipulation, nesting, and plotting.
11+
For example, a 'tidySingleCellExperiment' is directly compatible
12+
with functions from 'tidyverse' packages `dplyr` and `tidyr`,
13+
as well as plotting with `ggplot2` and `plotly`.
14+
In addition, the package provides various utility
15+
functions specific to single-cell omics data analysis
16+
(e.g., aggregation of cell-level data to pseudobulks).
917
License: GPL-3
1018
Depends:
11-
R (>= 4.0.0),
19+
R (>= 4.3.0),
1220
SingleCellExperiment
1321
Imports:
22+
dplyr, tidyr, ttservice,
1423
SummarizedExperiment,
15-
dplyr,
1624
tibble,
17-
tidyr,
1825
ggplot2,
1926
plotly,
2027
magrittr,
2128
rlang,
2229
purrr,
30+
pkgconfig,
2331
lifecycle,
2432
methods,
2533
utils,
2634
S4Vectors,
2735
tidyselect,
2836
ellipsis,
37+
vctrs,
2938
pillar,
3039
stringr,
3140
cli,
32-
fansi
41+
fansi,
42+
Matrix,
43+
stats
3344
Suggests:
3445
BiocStyle,
3546
testthat,
3647
knitr,
37-
markdown,
48+
rmarkdown,
3849
SingleCellSignalR,
3950
SingleR,
4051
scater,
4152
scran,
4253
tidyHeatmap,
4354
igraph,
4455
GGally,
45-
Matrix,
4656
uwot,
4757
celldex,
48-
dittoSeq,
49-
EnsDb.Hsapiens.v86
58+
dittoSeq
5059
VignetteBuilder:
5160
knitr
5261
RdMacros:
5362
lifecycle
5463
Biarch: true
55-
biocViews: AssayDomain, Infrastructure, RNASeq, DifferentialExpression, GeneExpression, Normalization, Clustering, QualityControl, Sequencing, featureion, featureomics
64+
biocViews: AssayDomain, Infrastructure, RNASeq, DifferentialExpression,
65+
GeneExpression, Normalization, Clustering, QualityControl, Sequencing
5666
Encoding: UTF-8
5767
LazyData: true
58-
RoxygenNote: 7.1.1
59-
Roxygen: list(markdown = TRUE)
68+
RoxygenNote: 7.2.3
6069
URL: https://github.com/stemangiola/tidySingleCellExperiment
6170
BugReports: https://github.com/stemangiola/tidySingleCellExperiment/issues

0 commit comments

Comments
 (0)