Skip to content

Commit 0cc0c96

Browse files
committed
Add/update software
Fixes #315
1 parent caeac77 commit 0cc0c96

13 files changed

Lines changed: 93 additions & 8 deletions

File tree

CHANGELOG.md

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

3838
Miscellaneous goes here
3939

40+
## 1.15.0 - 2026-02-23
41+
42+
### Added
43+
44+
* Added `OPERA` tool to `gwas.sif` container, with corresponding test.
45+
* Added Python and R packages to `python3.sif` and `r.sif` containers, with corresponding test.
46+
4047
## 1.14.0 - 2025-12-05
4148

4249
### Updated

docker/dockerfiles/gwas/Dockerfile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,4 +202,12 @@ COPY /scripts/install_liftover.sh /tmp/liftover/
202202
RUN bash /tmp/liftover/install_liftover.sh && \
203203
rm -rf /tmp/liftover
204204

205+
206+
# OPERA
207+
WORKDIR /tmp/opera
208+
RUN wget https://github.com/wuyangf7/OPERA/blob/main/opera_Linux.zip?raw=true -O opera_Linux.zip && \
209+
unzip opera_Linux.zip && \
210+
rm opera_Linux.zip && \
211+
mv opera_Linux/opera_Linux /usr/bin/opera
212+
205213
WORKDIR /tools

docker/dockerfiles/python3/Dockerfile

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,21 @@ RUN conda install mamba -n base -c conda-forge && \
2222
# keep the list of packages sorted alphabetically
2323
# https://www.online-utility.org/text/sort.jsp
2424
RUN mamba install python=3.12.12 \
25+
BeautifulSoup4=4.14.3 \
26+
bottleneck=1.6.0 \
2527
configparser=7.2.0 \
2628
dask=2025.11.0 \
2729
fastparquet=2024.11.0 \
30+
fsspec=2026.2.0 \
31+
gcsfs=2026.2.0 \
2832
graphviz=14.0.5 \
2933
"h5py=3.15.1=nompi*" \
34+
html5lib=1.1 \
35+
Jinja2=3.1.6 \
3036
jupyterlab=4.5.0 \
3137
lightgbm=4.6.0 \
3238
lifelines=0.30.0 \
39+
lxml=6.0.2 \
3340
imbalanced-learn=0.14.0 \
3441
intervaltree=3.1.0 \
3542
matplotlib-venn=1.1.2 \
@@ -40,27 +47,42 @@ RUN mamba install python=3.12.12 \
4047
networkx=3.6 \
4148
numdifftools=0.9.41 \
4249
numba=0.62.1 \
50+
numexpr=2.14.1 \
4351
numpy=2.3.5 \
52+
odfpy=1.4.1 \
4453
openpyxl=3.1.5 \
4554
pandas=2.3.3 \
55+
pandas-gbq=0.28.0 \
4656
pandas-plink=2.3.2 \
4757
paramiko=4.0.0 \
4858
psutil=7.1.3 \
59+
psycopg2=2.9.11 \
4960
pyarrow=22.0.0 \
5061
pydot=4.0.1 \
62+
pymysql=1.1.2 \
63+
pyqt=5.15.11 \
64+
pyreadr=0.5.4 \
5165
pyreadstat=1.3.2 \
5266
pytables=3.10.2 \
5367
python-graphviz=0.21 \
68+
python-blosc2=4.0.0 \
69+
pyxlsb=1.0.10 \
5470
pyyaml=6.0.3 \
71+
qtpy=2.4.3 \
72+
s3fs=2026.2.0 \
5573
scikit-learn=1.7.2 \
5674
scikit-survival=0.25.0 \
5775
scipy=1.16.3 \
5876
seaborn=0.13.2 \
5977
semantic_version=2.10.0 \
6078
shap=0.48.0 \
6179
statsmodels=0.14.5 \
80+
SQLAlchemy=2.0.46 \
81+
tabulate=0.9.0 \
82+
xarray=2026.2.0 \
6283
xgboost=3.1.2 \
6384
xlrd=2.0.2 \
85+
xlsxwriter=3.2.9 \
6486
xmltodict=1.0.2 \
6587
--yes && \
6688
mamba clean -a -y

docker/scripts/R/cran.R

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ packages <- list(
7272
'lightgbm',
7373
'lmerTest',
7474
'magrittr',
75+
'matlab',
76+
'matlab2r',
7577
'MatrixEQTL',
7678
'matrixStats',
7779
'MendelianRandomization',
@@ -93,10 +95,14 @@ packages <- list(
9395
'qqman',
9496
'QRISK3',
9597
'r2redux',
98+
'raveio',
9699
'reghelper',
97100
'remotes',
101+
'rhdf5',
98102
'RiskScorescvd',
99103
'rjags',
104+
'rmatio',
105+
'R.matlab',
100106
'ROCR',
101107
'rmarkdown',
102108
'rstan',
@@ -120,6 +126,7 @@ packages <- list(
120126
'vctrs',
121127
'xgboost',
122128
'zlib')
129+
123130

124131
# install package from CRAN and quit with error if installation fails
125132
# for (package in names(packages)) {

docker/scripts/R/github.R

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ packages <- list(
2626
"qingyuanzhao/mr.raps" = "27b96f31e26ae97a395422bd757f514a7f96cc85",
2727
"MRCIEU/TwoSampleMR" = "578c68fa754c57d764553812bf85d69ecf43b011",
2828
"MRCIEU/gwasglue" = "c2d5660eed389e1a9b3e04406b88731d642243f1",
29+
# misc
2930
"noahlorinczcomi/MRBEE" = "6295549a1f5a158c6701eb793646d60c8aef11ca",
3031
"norment/normentR" = "dfa1fbae9587db6c3613b0405df4f9cfa98ee0e1",
3132
"psychgen/phenotools" = "62dd11e111d8d952837c9f207557e9b297ba56bc",
@@ -38,8 +39,11 @@ packages <- list(
3839
"JBPG/Gsens" = "6cac02ba1ccaf38870e2526076f0306c0cf0dc0a",
3940
"MRCIEU/genetics.binaRies" = "2fcd3ee3088b729c7eb34cf2aac9dc2e04fe4412",
4041
"mrcieu/gwasglue2" = "c93b3a1fca7d2eae5d40bd62117091b1ad57f0fa",
41-
"gqi/MRMix" = "56afdb2bc96760842405396f5d3f02e60e305039")
42-
42+
"gqi/MRMix" = "56afdb2bc96760842405396f5d3f02e60e305039",
43+
"JianYang-Lab/gsmr2" = "e7953cc136ad1cfae14674facde21e90caddea5f",
44+
"n-mounier/MRlap" = "660f026864f8bfbbad5a8206bdff7d58f5d5d05b")
45+
46+
4347
# install package from GitHub and quit with error if installation fails
4448
for (package in names(packages)) {
4549
ref <- packages[[package]]

docker/scripts/apt_get_essential.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ apt-get update && apt-get install -y --no-install-recommends \
2020
less=590-2ubuntu2.1 \
2121
libatlas-base-dev=3.10.3-13ubuntu1 \
2222
libcurl4-openssl-dev=8.5.0-2ubuntu10.6 \
23-
libgomp1=14.2.0-4ubuntu2~24.04 \
23+
libgomp1=14.2.0-4ubuntu2~24.04.1 \
2424
libgsl-dev=2.7.1+dfsg-6ubuntu2 \
2525
libnss3=2:3.98-1build1 \
2626
libpcre2-dev=10.42-4ubuntu2.1 \

docker/scripts/install_eagle.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
set -euo pipefail
33

44
apt-get update && apt-get install --no-install-recommends \
5-
libopenblas-dev=0.3.26+ds-1 \
5+
libopenblas-dev=0.3.26+ds-1ubuntu0.1 \
66
-y && \
77
apt-get clean && \
88
rm -rf /var/lib/apt/lists/*

docker/scripts/install_htslib.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ set -euo pipefail
55
apt-get update && apt-get install --no-install-recommends \
66
libbz2-dev=1.0.8-5.1build0.1 \
77
liblzma-dev=5.6.1+really5.4.5-1ubuntu0.2 \
8-
libssl-dev=3.0.13-0ubuntu3.6 \
8+
libssl-dev=3.0.13-0ubuntu3.7 \
99
-y
1010

1111
apt-get clean && \

docker/scripts/install_switchError.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ set -euo pipefail
33

44
apt-get update && apt-get install --no-install-recommends \
55
r-mathlib=4.3.3-2build2 \
6-
libboost-iostreams1.83-dev=1.83.0-2.1ubuntu3.1 \
6+
libboost-iostreams1.83-dev=1.83.0-2.1ubuntu3.2 \
77
-y && \
88
apt-get clean && \
99
rm -rf /var/lib/apt/lists/*

tests/extras/r.R

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ libraries_to_check <- c(
106106
"gplots",
107107
"gridExtra",
108108
"Gsens",
109+
"gsmr2",
109110
"gwasglue",
110111
"gwasglue2",
111112
"gwasurvivr",
@@ -126,12 +127,15 @@ libraries_to_check <- c(
126127
"lubridate",
127128
"kinship2",
128129
"MASS",
130+
"matlab",
131+
"matlab2r",
129132
"MatrixEQTL",
130133
"matrixStats",
131134
"MendelianRandomization",
132135
"mgcv",
133136
"miniCRAN",
134137
"MRBEE",
138+
"MRlap",
135139
"MVMR",
136140
"modelr",
137141
"moments",
@@ -150,6 +154,10 @@ libraries_to_check <- c(
150154
"pracma",
151155
"PredictABEL",
152156
"psych",
157+
"raveio",
158+
"rhdf5",
159+
"R.matlab",
160+
"rmatio",
153161
"RColorBrewer",
154162
"Rcpp",
155163
"readxl",
@@ -177,6 +185,7 @@ libraries_to_check <- c(
177185
"tree",
178186
"viridis")
179187

188+
180189
# Define a test
181190
test_that("Required libraries are installed", {
182191
missing_libraries <- setdiff(libraries_to_check, installed.packages()[, "Package"])

0 commit comments

Comments
 (0)