Skip to content

Commit fb7c98b

Browse files
authored
Add missing packages + updates (#314)
* Add missing packages + updates Fixes #310 * fix * pooch
1 parent 13ddc4e commit fb7c98b

File tree

10 files changed

+94
-30
lines changed

10 files changed

+94
-30
lines changed

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,17 @@ Removed features goes here
3737

3838
Miscellaneous goes here
3939

40+
## 1.13.0 - 2025-11-27
41+
42+
### Added
43+
44+
* added misc. R and Python packages to respective containers
45+
* added script to install R backages from [MRCIEU-Universe](https://github.com/r-universe/mrcieu)
46+
47+
### Updated
48+
49+
* updated PLINK2 to v2.0.0-a.6.28 (Nov. 23, 2025) across containers
50+
4051
## [1.12.0] - 2025-11-26
4152

4253
### Fixed

docker/dockerfiles/python3/Dockerfile

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ RUN mamba install python=3.10.6 \
3434
miniwdl=1.12.1 \
3535
miniwdl-slurm=0.2.0 \
3636
more-itertools=9.0.0 \
37+
networkx=3.4 \
3738
numdifftools=0.9.39 \
3839
numba=0.60.0 \
3940
numpy=1.23.3 \
@@ -62,16 +63,21 @@ RUN mamba install python=3.10.6 \
6263
mamba clean -a -y
6364

6465
# pip install stuff in env.
65-
RUN pip install --no-cache-dir cbgen==1.0.2 && \
66-
pip install --no-cache-dir bgen-reader==4.0.8 && \
67-
pip install --no-cache-dir bed-reader==0.2.24 && \
68-
pip install --no-cache-dir dxpy==0.383.1 && \
69-
pip install --no-cache-dir pysnptools==0.5.7 && \
70-
pip install --no-cache-dir fastlmm==0.6.3 && \
71-
pip install --no-cache-dir plinkio==0.9.8 && \
72-
pip install --no-cache-dir LDpred==1.0.11 && \
73-
pip install --no-cache-dir pycap==2.1.0 && \
74-
pip install --no-cache-dir pyliftover==0.4.1 && \
66+
RUN pip install --no-cache-dir --no-deps cbgen==1.0.2 \
67+
bgen-reader==4.0.8 \
68+
bed-reader==0.2.24 \
69+
dxpy==0.383.1 \
70+
fastlmm==0.6.3 \
71+
hdf5storage==0.2.2 \
72+
LDpred==1.0.11 \
73+
Pgenlib==0.93.0 \
74+
plinkio==0.9.8 \
75+
plinkliftover \
76+
poetry==2.2.1 \
77+
pooch==1.8.2 \
78+
pycap==2.1.0 \
79+
pyliftover==0.4.1 \
80+
pysnptools==0.5.7 && \
7581
pip cache purge
7682

7783
# Plink (as python_convert depends on plink)

docker/dockerfiles/r/Dockerfile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@ RUN Rscript cran.R
4343
COPY /scripts/R/bioconductor.R .
4444
RUN Rscript bioconductor.R
4545

46+
# MRCIEU packages:
47+
COPY /scripts/R/mrcieu.R .
48+
RUN Rscript mrcieu.R
49+
4650
# GitHub distributed packages:
4751
COPY /scripts/R/github.R .
4852
RUN --mount=type=secret,id=github_pat \

docker/scripts/R/cran.R

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,11 @@ packages <- list(
1111
'argparser',
1212
'arsenal',
1313
'arrow',
14+
'bdsmatrix',
1415
'bigreadr',
1516
'bigsnpr',
1617
'BiocManager',
18+
'bit',
1719
'bit64',
1820
'brant',
1921
'brms',
@@ -26,14 +28,17 @@ packages <- list(
2628
'compareC',
2729
'correlation',
2830
'corrplot',
31+
'coxme',
2932
'CPBayes',
3033
'DescTools',
3134
'data.table',
3235
'dendextend',
3336
'dplyr',
3437
'EFAtools',
38+
'egg',
3539
'fastICA',
3640
'fcfdr',
41+
'feather',
3742
'flextable',
3843
'fmsb',
3944
'foreign',
@@ -43,6 +48,8 @@ packages <- list(
4348
'ggalluvial',
4449
'ggcorrplot',
4550
'ggplot2',
51+
'ggpubr',
52+
'ggrepel',
4653
'ggseg',
4754
'ggseg3d',
4855
'ggstar',
@@ -60,11 +67,13 @@ packages <- list(
6067
'ieugwasr',
6168
'imputeMissings',
6269
'jtools',
70+
'kinship2',
6371
'lavaan',
6472
'lightgbm',
6573
'lmerTest',
6674
'magrittr',
6775
'MatrixEQTL',
76+
'matrixStats',
6877
'MendelianRandomization',
6978
'mgcv', # has gamm function
7079
'miniCRAN',
@@ -75,10 +84,12 @@ packages <- list(
7584
'optparse',
7685
'parameters',
7786
'patchwork',
87+
'pgenlibr',
7888
'PooledCohort',
7989
'pracma',
8090
'PredictABEL',
8191
'pROC',
92+
'psych',
8293
'qqman',
8394
'QRISK3',
8495
'r2redux',
@@ -95,6 +106,7 @@ packages <- list(
95106
'seqminer',
96107
'semTools',
97108
'simplecolors',
109+
'simsalapar',
98110
'sp',
99111
'splines2',
100112
'stringr',

docker/scripts/R/github.R

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,14 @@ cat("GitHub PAT length: ", nchar(auth_token), "\n")
88
# GitHub packages w. Git SHA
99
packages <- list(
1010
'alexploner/cfdr.pleio' = '76d5085e6d3f3ca9576d5d7564d2acf11bcfd021',
11+
'amslala/regtools' = 'v0.2.0',
1112
'dajiangliu/rareGWAMA' = '72e962dae19dc07251244f6c33275ada189c2126',
1213
'deepchocolate/glm-extras' = 'ecba68c0378fc953edf8fe594ce914aff8ada6fa',
13-
'GenomicSEM/GenomicSEM' = '8e0ef594e95885b1f734f1dfcfe668b16ada2880',
1414
'jamesliley/cfdr' = 'ec5fddbd27c746a470eb827dc249a80194b231e8',
1515
'jamesliley/cFDR-common-controls' = '9b923fea283e2373ee8effa2909620a1930004bd',
16-
# gwasvcf deps:
17-
'MRCIEU/genetics.binaRies' = 'b0324f180476d80c43bba2ab026b72c5be426a92',
18-
'MRCIEU/gwasglue2' = 'c93b3a1fca7d2eae5d40bd62117091b1ad57f0fa',
19-
'MRCIEU/gwasvcf' = '477b365da8522e9a47f3bce51993d5f36df49ceb',
20-
# gwasglue/TwoSampleMR deps:
21-
'rondolab/MR-PRESSO' = '3e3c92d7eda6dce0d1d66077373ec0f7ff4f7e87',
22-
'gqi/MRMix'='56afdb2bc96760842405396f5d3f02e60e305039',
23-
'WSpiller/RadialMR' = '0ed91f83aebf265a09482561c128c830e58ed697',
24-
'qingyuanzhao/mr.raps' = '27b96f31e26ae97a395422bd757f514a7f96cc85',
25-
'MRCIEU/TwoSampleMR' = '578c68fa754c57d764553812bf85d69ecf43b011',
26-
'MRCIEU/gwasglue' = 'c2d5660eed389e1a9b3e04406b88731d642243f1',
27-
'noahlorinczcomi/MRBEE' = '6295549a1f5a158c6701eb793646d60c8aef11ca',
2816
'norment/normentR' = 'dfa1fbae9587db6c3613b0405df4f9cfa98ee0e1',
2917
'psychgen/phenotools' = '62dd11e111d8d952837c9f207557e9b297ba56bc',
3018
'wouterpeyrot/CCGWAS' = 'ce9764da946189623a0164f156ad119773bc32f5',
31-
'WSpiller/MVMR' = '65705da9421b6235c7458dba6f01cddfebfe96f5',
3219
'xiashen/MultiABEL' = '7067fe6753c74f6580029abc82bce914472b4b16',
3320
'amorris28/hazrd' = 'ff9f1690e930792f29e1fd87e25c0dc8632339d5',
3421
'cnfoley/hyprcoloc' = '26ea5953a46b3e204dfa8eadd202f746244afa13',

docker/scripts/R/mrcieu.R

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
require(devtools)
2+
repos <- c("https://mrcieu.r-universe.dev", "https://cloud.r-project.org")
3+
4+
packages <- list(
5+
"GenomicSEM" = "0.0.5",
6+
"genetics.binaRies" = "0.1.2",
7+
"gwasglue2" = "0.0.0.9000",
8+
"gwasvcf" = "0.1.5",
9+
"MRPRESSO" = "1.0",
10+
"MRMix" = "0.1.0",
11+
"RadialMR" = "1.2.1",
12+
"mr.raps" = "0.4.3",
13+
"TwoSampleMR" = "0.6.24",
14+
"gwasglue" = "0.0.0.9001",
15+
"MRBEE" = "0.1.0",
16+
"MVMR" = "0.4.2")
17+
18+
for (package in names(packages)) {
19+
version <- packages[[package]]
20+
cat("Installing package ", package, " from MRCIEU with version ", version, "\n")
21+
tryCatch(
22+
{
23+
devtools::install_version(package, version=version, repos=repos)
24+
},
25+
error = function(e) {
26+
cat("Error occurred during package installation:\n")
27+
print(e)
28+
quit(status=1, save="no")
29+
},
30+
finally = {
31+
}
32+
)
33+
}

docker/scripts/install_plink2.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/sh
22
set -euo pipefail
33

4-
wget --no-check-certificate https://github.com/chrchang/plink-ng/releases/download/v2.0.0-a.6.23/plink2_linux_x86_64.zip && \
4+
wget --no-check-certificate https://github.com/chrchang/plink-ng/releases/download/v2.0.0-a.6.28/plink2_linux_x86_64.zip && \
55
unzip -j plink2_linux_x86_64.zip && \
66
rm -rf plink2_linux_x86_64.zip
77

docker/scripts/install_plink2_avx2.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/sh
22
set -euo pipefail
33

4-
wget --no-check-certificate https://github.com/chrchang/plink-ng/releases/download/v2.0.0-a.6.23/plink2_linux_avx2.zip && \
4+
wget --no-check-certificate https://github.com/chrchang/plink-ng/releases/download/v2.0.0-a.6.28/plink2_linux_avx2.zip && \
55
unzip -j plink2_linux_avx2.zip && \
66
rm -rf plink2_linux_avx2.zip
77
# we install non-avx plink2 so that default plink runs on any CPU architecture

tests/extras/r.R

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@ library(testthat)
66
# List of libraries to check
77
libraries_to_check <- c(
88
"AER",
9-
"argparser",
10-
"bigreadr",
9+
"argparser",
10+
"bdsmatrix",
11+
"bigreadr",
1112
"bigsnpr",
1213
"BiocGenerics",
1314
"BiocManager",
14-
'bit64',
15+
"bit",
16+
"bit64",
1517
"caret",
1618
"coloc",
1719
"colocboost",
@@ -22,6 +24,8 @@ libraries_to_check <- c(
2224
"data.table",
2325
"dplyr",
2426
"EFAtools",
27+
"egg",
28+
"feather",
2529
"flextable",
2630
"fmsb",
2731
"foreign",
@@ -43,6 +47,7 @@ libraries_to_check <- c(
4347
"qqman",
4448
"rareGWAMA",
4549
"reghelper",
50+
"regtools",
4651
"remotes",
4752
"RiskScorescvd",
4853
"rmarkdown",
@@ -76,6 +81,7 @@ libraries_to_check <- c(
7681
"clusterProfiler",
7782
"correlation",
7883
"corrplot",
84+
"coxme",
7985
"CPBayes",
8086
"DBI",
8187
"dendextend",
@@ -88,6 +94,7 @@ libraries_to_check <- c(
8894
"ggalluvial",
8995
"ggcorrplot",
9096
"ggpubr",
97+
"ggrepel",
9198
"ggseg",
9299
"ggseg3d",
93100
"ggstar",
@@ -117,8 +124,10 @@ libraries_to_check <- c(
117124
"lme4",
118125
"lmerTest",
119126
"lubridate",
127+
"kinship2",
120128
"MASS",
121129
"MatrixEQTL",
130+
"matrixStats",
122131
"MendelianRandomization",
123132
"mgcv",
124133
"miniCRAN",
@@ -136,6 +145,7 @@ libraries_to_check <- c(
136145
"org.Hs.eg.db",
137146
"parallel",
138147
"patchwork",
148+
"pgenlibr",
139149
"phenotools",
140150
"pracma",
141151
"PredictABEL",
@@ -153,6 +163,7 @@ libraries_to_check <- c(
153163
"semptools",
154164
"semTools",
155165
"simplecolors",
166+
"simsalapar",
156167
"sp",
157168
"splines",
158169
"splines2",

version/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
_MAJOR = "1"
2-
_MINOR = "12"
2+
_MINOR = "13"
33
# On main and in a nightly release the patch should be one ahead of the last
44
# released build.
55
_PATCH = "0"

0 commit comments

Comments
 (0)