Skip to content

Commit 113b5eb

Browse files
authored
Add accessor functions, multi-h5 modeling (#117)
1 parent 14ab04f commit 113b5eb

28 files changed

Lines changed: 1515 additions & 1102 deletions

.circleci/config.yml

Lines changed: 123 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,112 @@
11
version: 2
22

3-
steps: &steps
4-
steps:
5-
- checkout
6-
- run:
7-
name: Install libraries
8-
command: |
9-
apt update \
10-
&& apt install -y --no-install-recommends \
11-
curl \
12-
r-cran-devtools \
13-
r-bioc-rhdf5 \
14-
r-bioc-delayedarray \
15-
pandoc \
16-
texlive-latex-recommended \
17-
texlive-fonts-recommended \
18-
texlive-fonts-extra
19-
- run:
20-
name: Install package dependencies
21-
command: R -e "devtools::install_deps(dep = TRUE, dependencies = TRUE)"
22-
- run:
23-
name: Check code style
24-
command: |
25-
R -e 'if (!requireNamespace("remotes", quietly = TRUE)) install.packages("remotes"); if (!requireNamespace("styler", quietly = TRUE) || as.character(utils::packageVersion("styler")) != "1.11.0") remotes::install_version("styler", version = "1.11.0", upgrade = "never")'
26-
R -e 'result <- styler::style_pkg(dry = "on", style = styler::tidyverse_style, strict = FALSE); if (!all(result[["changed"]] == FALSE)) { message("Code style check found files that would be reformatted. Run styler::style_pkg(style = styler::tidyverse_style) locally."); print(result[result[["changed"]], "file", drop = FALSE]) }'
27-
- run:
28-
name: Build package
29-
command: R CMD build .
30-
- run:
31-
name: Check package
32-
command: R CMD check *tar.gz
33-
- run:
34-
name: Calculate and upload code coverage
35-
command: |
36-
R -e 'if (!requireNamespace("covr", quietly = TRUE)) install.packages("covr")'
37-
R -e 'cov <- covr::package_coverage(type = "tests"); covr::to_cobertura(cov, filename = "coverage.xml"); print(cov); cat(sprintf("Total coverage: %.2f%%\n", covr::percent_coverage(cov)))'
38-
if command -v curl >/dev/null 2>&1; then
39-
curl -Os https://uploader.codecov.io/latest/linux/codecov || echo "Codecov uploader download failed; continuing."
40-
else
41-
echo "curl not found; skipping Codecov upload."
42-
fi
43-
if [ -f codecov ]; then
44-
chmod +x codecov
45-
./codecov -f coverage.xml -n "circleci-r-tests" || echo "Codecov upload failed; continuing."
46-
else
47-
echo "Codecov uploader not available; skipping upload."
48-
fi
49-
3+
setup_steps: &setup_steps
4+
- checkout
5+
- run:
6+
name: Install libraries
7+
command: |
8+
apt update \
9+
&& apt install -y --no-install-recommends \
10+
curl \
11+
r-cran-devtools \
12+
r-bioc-rhdf5 \
13+
r-bioc-delayedarray \
14+
pandoc \
15+
texlive-latex-recommended \
16+
texlive-fonts-recommended \
17+
texlive-fonts-extra
18+
- run:
19+
name: Install package dependencies
20+
command: R -e "devtools::install_deps(dep = TRUE, dependencies = TRUE)"
21+
- run:
22+
name: Check code style
23+
command: |
24+
R -e 'if (!requireNamespace("remotes", quietly = TRUE)) install.packages("remotes"); if (!requireNamespace("styler", quietly = TRUE) || as.character(utils::packageVersion("styler")) != "1.11.0") remotes::install_version("styler", version = "1.11.0", upgrade = "never")'
25+
R -e 'result <- styler::style_pkg(dry = "on", style = styler::tidyverse_style, strict = FALSE); if (!all(result[["changed"]] == FALSE)) { message("Code style check found files that would be reformatted. Run styler::style_pkg(style = styler::tidyverse_style) locally."); print(result[result[["changed"]], "file", drop = FALSE]) }'
26+
- run:
27+
name: Build package
28+
command: R CMD build .
29+
- persist_to_workspace:
30+
root: .
31+
paths:
32+
- "*.tar.gz"
5033

5134
jobs:
52-
releaseJammy:
35+
setup_and_build:
36+
docker:
37+
- image: rocker/r2u:jammy
38+
steps: *setup_steps
39+
40+
check_package:
41+
docker:
42+
- image: rocker/r2u:jammy
43+
steps:
44+
- checkout
45+
- run:
46+
name: Install libraries
47+
command: |
48+
apt update \
49+
&& apt install -y --no-install-recommends \
50+
curl \
51+
r-cran-devtools \
52+
r-bioc-rhdf5 \
53+
r-bioc-delayedarray \
54+
pandoc \
55+
texlive-latex-recommended \
56+
texlive-fonts-recommended \
57+
texlive-fonts-extra
58+
- run:
59+
name: Install package dependencies
60+
command: R -e "devtools::install_deps(dep = TRUE, dependencies = TRUE)"
61+
- attach_workspace:
62+
at: .
63+
- run:
64+
name: Check package
65+
command: R CMD check *tar.gz
66+
67+
calculate_coverage:
5368
docker:
5469
- image: rocker/r2u:jammy
55-
<<: *steps
70+
steps:
71+
- checkout
72+
- run:
73+
name: Install libraries
74+
command: |
75+
apt update \
76+
&& apt install -y --no-install-recommends \
77+
curl \
78+
r-cran-devtools \
79+
r-bioc-rhdf5 \
80+
r-bioc-delayedarray \
81+
pandoc \
82+
texlive-latex-recommended \
83+
texlive-fonts-recommended \
84+
texlive-fonts-extra
85+
- run:
86+
name: Install package dependencies
87+
command: R -e "devtools::install_deps(dep = TRUE, dependencies = TRUE)"
88+
- run:
89+
name: Calculate and upload code coverage
90+
command: |
91+
R -e 'if (!requireNamespace("covr", quietly = TRUE)) install.packages("covr")'
92+
R -e 'cov <- covr::package_coverage(type = "tests"); covr::to_cobertura(cov, filename = "coverage.xml"); print(cov); cat(sprintf("Total coverage: %.2f%%\\n", covr::percent_coverage(cov)))'
93+
if command -v curl >/dev/null 2>&1; then
94+
curl -Os https://uploader.codecov.io/latest/linux/codecov || echo "Codecov uploader download failed; continuing."
95+
else
96+
echo "curl not found; skipping Codecov upload."
97+
fi
98+
if [ -f codecov ]; then
99+
chmod +x codecov
100+
./codecov -f coverage.xml -n "circleci-r-tests" || echo "Codecov upload failed; continuing."
101+
else
102+
echo "Codecov uploader not available; skipping upload."
103+
fi
56104
57105
build_and_deploy:
58106
environment:
59107
TZ: "/usr/share/zoneinfo/America/New_York"
60108
docker:
61109
- image: cimg/base:2020.09
62-
# working_directory: tmp/src/modelarray_build # the code will be check-ed out to here
63110
steps:
64111
- checkout
65112
- setup_remote_docker:
@@ -96,7 +143,7 @@ workflows:
96143
version: 2
97144
build_test_deploy:
98145
jobs:
99-
- releaseJammy:
146+
- setup_and_build:
100147
filters:
101148
branches:
102149
ignore:
@@ -105,16 +152,37 @@ workflows:
105152
tags:
106153
only: /.*/
107154

108-
- build_and_deploy:
155+
- check_package:
109156
requires:
110-
- releaseJammy
157+
- setup_and_build
111158
filters:
112159
branches:
113-
only: main
114160
ignore:
115161
- gh-pages
116162
- /^gh-pages.*/
117-
tags: # make sure any `git tag` triggers the run
163+
tags:
118164
only: /.*/
119165

166+
- calculate_coverage:
167+
requires:
168+
- setup_and_build
169+
filters:
170+
branches:
171+
ignore:
172+
- gh-pages
173+
- /^gh-pages.*/
174+
tags:
175+
only: /.*/
120176

177+
- build_and_deploy:
178+
requires:
179+
- check_package
180+
- calculate_coverage
181+
filters:
182+
branches:
183+
only: main
184+
ignore:
185+
- gh-pages
186+
- /^gh-pages.*/
187+
tags:
188+
only: /.*/

DESCRIPTION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ Imports:
4040
rlang,
4141
tibble,
4242
tidyr
43-
RoxygenNote: 7.3.1
43+
RoxygenNote: 7.3.2
4444
Suggests:
4545
rmarkdown,
4646
knitr,

NAMESPACE

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# Generated by roxygen2: do not edit by hand
22

3+
S3method(print,h5summary)
34
export("%>%")
45
export(ModelArray)
56
export(ModelArray.gam)
@@ -8,13 +9,28 @@ export(ModelArray.wrap)
89
export(analyseOneElement.gam)
910
export(analyseOneElement.lm)
1011
export(analyseOneElement.wrap)
12+
export(analysisNames)
13+
export(elementMetadata)
1114
export(exampleElementData)
1215
export(gen_gamFormula_contIx)
1316
export(gen_gamFormula_fxSmooth)
17+
export(h5summary)
18+
export(mergeModelArrays)
19+
export(nElements)
20+
export(nInputFiles)
1421
export(numElementsTotal)
22+
export(results)
23+
export(scalarNames)
24+
export(scalars)
25+
export(sources)
1526
export(writeResults)
27+
exportMethods(analysisNames)
28+
exportMethods(elementMetadata)
1629
exportMethods(exampleElementData)
30+
exportMethods(nElements)
31+
exportMethods(nInputFiles)
1732
exportMethods(results)
33+
exportMethods(scalarNames)
1834
exportMethods(scalars)
1935
exportMethods(show)
2036
exportMethods(sources)
@@ -26,6 +42,7 @@ import(mgcv)
2642
import(tibble)
2743
importClassesFrom(DelayedArray,DelayedArray)
2844
importFrom(DelayedArray,DelayedArray)
45+
importFrom(DelayedArray,acbind)
2946
importFrom(DelayedArray,realize)
3047
importFrom(HDF5Array,HDF5ArraySeed)
3148
importFrom(crayon,black)
@@ -51,3 +68,4 @@ importFrom(stats,lm)
5168
importFrom(stats,p.adjust)
5269
importFrom(stats,p.adjust.methods)
5370
importFrom(stats,terms)
71+
importFrom(utils,head)

0 commit comments

Comments
 (0)