Skip to content

Commit 902d15f

Browse files
authored
python3.sif: containerize tools (#303)
* Containerize tools Fixes #302 * make this version 1.9.1 * bump git version * version pins * fix plink2 test
1 parent 471f4f8 commit 902d15f

File tree

5 files changed

+35
-3
lines changed

5 files changed

+35
-3
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.9.1] - 2025-03-27
41+
42+
### Added
43+
44+
* add fastparquet, pyarrow, dask (explicitly) packages and plink2 binary to python3.sif container
45+
46+
### Updated
47+
48+
* updated scikit-learn, pandas, sksurv, seaborn packages in python3.sif container
49+
* updated pull_all_containers.py script
50+
4051
## [1.9.0] - 2025-02-20
4152

4253
### Added

docker/dockerfiles/python3/Dockerfile

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ RUN bash install_mambaforge.sh && \
2020
# https://www.online-utility.org/text/sort.jsp
2121
RUN mamba install python=3.10.6 \
2222
configparser=7.0.0 \
23+
dask=2023.3.0 \
24+
fastparquet=2024.11.0 \
2325
graphviz=12.2.1 \
2426
"h5py=3.7.0=nompi*" \
2527
jupyterlab=3.4.8 \
@@ -39,6 +41,7 @@ RUN mamba install python=3.10.6 \
3941
pandas=2.2.3 \
4042
pandas-plink=2.2.9 \
4143
psutil=5.9.3 \
44+
pyarrow=19.0.1 \
4245
pydot=3.0.4 \
4346
pyreadstat=1.2.7 \
4447
pytables=3.7.0 \
@@ -76,6 +79,12 @@ COPY /scripts/install_plink.sh /tmp/plink/
7679
RUN bash /tmp/plink/install_plink.sh && \
7780
rm -rf /tmp/plink
7881

82+
# Plink2
83+
WORKDIR /tmp/plink2
84+
COPY /scripts/install_plink2.sh /tmp/plink2/
85+
RUN bash /tmp/plink2/install_plink2.sh && \
86+
rm -rf /tmp/plink2
87+
7988
# python_convert script(s)
8089
WORKDIR /tools/python_convert
8190
RUN git clone https://github.com/precimed/python_convert.git . && \

docker/scripts/apt_get_essential.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ apt-get update && apt-get install -y --no-install-recommends \
1616
dos2unix=7.4.0-2 \
1717
gdb=9.1-0ubuntu1 \
1818
gfortran=4:9.3.0-1ubuntu2 \
19-
git=1:2.25.1-1ubuntu3.13 \
19+
git=1:2.25.1-1ubuntu3.14 \
2020
less=551-1ubuntu0.3 \
2121
libatlas-base-dev=3.10.3-8ubuntu7 \
2222
libcurl4-openssl-dev=7.68.0-1ubuntu2.25 \

tests/test_python3.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
PYTHON = f'{PREFIX} python'
2525
PYTHON_MOUNT = f'{PREFIX_MOUNT} python'
2626
PLINK = f'{PREFIX} plink'
27+
PLINK2 = f'{PREFIX} plink2'
2728
PRSICE = f'{PREFIX} PRSice_linux'
2829
MINIWDL = f'{PREFIX} miniwdl'
2930
except FileNotFoundError:
@@ -39,6 +40,7 @@
3940
PYTHON = f'{PREFIX} python'
4041
PYTHON_MOUNT = f'{PREFIX_MOUNT} python'
4142
PLINK = f'{PREFIX} plink'
43+
PLINK2 = f'{PREFIX} plink2'
4244
PRSICE = f'{PREFIX} PRSice_linux'
4345
MINIWDL = f'{PREFIX} miniwdl'
4446
except FileNotFoundError:
@@ -47,6 +49,7 @@
4749
PYTHON = 'python'
4850
PYTHON_MOUNT = 'python'
4951
PLINK = 'plink'
52+
PLINK2 = 'plink2'
5053
PRSICE = 'PRSice_linux'
5154
MINIWDL = 'miniwdl'
5255

@@ -55,6 +58,12 @@ def test_python3_plink():
5558
out = subprocess.run(call.split(' '), check=False)
5659
assert out.returncode == 0
5760

61+
def test_python3_plink2():
62+
"""test plink2"""
63+
call = f'{PLINK2} --version'
64+
out = subprocess.run(call.split(' '), check=False)
65+
assert out.returncode == 0
66+
5867
def test_python3_prsice():
5968
call = f'{PRSICE} --version'
6069
out = subprocess.run(call.split(' '), check=False)
@@ -95,7 +104,8 @@ def test_python3_miniwdl():
95104
def test_python3_packages():
96105
packages = [
97106
'configparser',
98-
'pydot',
107+
'dask',
108+
'fastparquet',
99109
'dxpy',
100110
'graphviz',
101111
'h5py',
@@ -113,6 +123,8 @@ def test_python3_packages():
113123
'pandas',
114124
'pandas_plink',
115125
'plinkio',
126+
'pyarrow',
127+
'pydot',
116128
'pyliftover',
117129
'pyreadstat',
118130
'redcap', # pycap

version/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
_PATCH = "1"
66
# This is mainly for nightly builds which have the suffix ".dev$DATE". See
77
# https://semver.org/#is-v123-a-semantic-version for the semantics.
8-
_SUFFIX = "dev"
8+
_SUFFIX = ""
99

1010
VERSION_SHORT = "{0}.{1}".format(_MAJOR, _MINOR)
1111
VERSION = "{0}.{1}.{2}{3}".format(_MAJOR, _MINOR, _PATCH, _SUFFIX)

0 commit comments

Comments
 (0)