Skip to content

Commit 7bba798

Browse files
committed
relink container added
1 parent 0bd6b1d commit 7bba798

File tree

2 files changed

+78
-20
lines changed

2 files changed

+78
-20
lines changed

Dockerfile

Lines changed: 0 additions & 20 deletions
This file was deleted.

relink-1.0.0/Dockerfile

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
FROM python:3.12-slim
2+
3+
# Metadata
4+
LABEL base_image="python:3.12-slim"
5+
LABEL version="1"
6+
LABEL software="relink"
7+
LABEL software.version="1.0.0"
8+
LABEL about.summary="Container for relink pipeline: xiSEARCH, xiFDR, and Python dependencies for crosslinking mass spectrometry analysis"
9+
LABEL about.home="https://github.com/bigbio/relink"
10+
LABEL about.documentation="https://github.com/bigbio/relink"
11+
LABEL about.license="Apache-2.0"
12+
LABEL about.tags="Proteomics,Crosslinking,Mass Spectrometry"
13+
LABEL maintainer="Yasset Perez-Riverol <ypriverol@gmail.com>"
14+
15+
ENV DEBIAN_FRONTEND=noninteractive
16+
ENV PYTHONUNBUFFERED=1
17+
ENV PYTHONDONTWRITEBYTECODE=1
18+
19+
# Install Java runtime (required for xiSEARCH and xiFDR)
20+
RUN apt-get update && apt-get install -y --no-install-recommends \
21+
openjdk-21-jre \
22+
wget \
23+
unzip \
24+
build-essential \
25+
libgomp1 \
26+
procps \
27+
&& rm -rf /var/lib/apt/lists/*
28+
29+
# Create directory for xiSEARCH
30+
RUN mkdir -p /opt/xisearch
31+
32+
# Download and install xiSEARCH 1.8.11
33+
RUN wget --no-check-certificate \
34+
https://www.rappsilberlab.org/wp-content/uploads/2025/12/xiSEARCH_1.8.11.zip \
35+
-O /tmp/xiSEARCH.zip && \
36+
unzip /tmp/xiSEARCH.zip -d /opt/xisearch && \
37+
rm /tmp/xiSEARCH.zip && \
38+
cp /opt/xisearch/xiSEARCH_1.8.11/xiSEARCH.jar /opt/xisearch/xiSEARCH.jar && \
39+
cp /opt/xisearch/xiSEARCH_1.8.11/xiFDR-2.3.10.jar /opt/xisearch/xiFDR.jar
40+
41+
# Install Python packages for mass recalibration
42+
# Using versions from pycross requirements.txt (pyopenms version left open for pip to resolve)
43+
RUN pip install --no-cache-dir \
44+
pyopenms \
45+
polars==1.35.1 \
46+
polars-runtime-32==1.35.1 \
47+
matplotlib==3.10.7 \
48+
seaborn==0.13.2 \
49+
numpy==2.3.4 \
50+
pandas==2.3.3 \
51+
contourpy==1.3.3 \
52+
cycler==0.12.1 \
53+
fonttools==4.60.1 \
54+
kiwisolver==1.4.9 \
55+
packaging==25.0 \
56+
pillow==12.0.0 \
57+
pyparsing==3.2.5 \
58+
python-dateutil==2.9.0.post0 \
59+
pytz==2025.2 \
60+
psutil==7.1.3 \
61+
pyarrow==22.0.0 \
62+
six==1.17.0 \
63+
tzdata==2025.2
64+
65+
# Clean up build tools (keep Java runtime)
66+
RUN apt-get remove -y wget unzip build-essential && \
67+
apt-get autoremove -y && \
68+
apt-get clean && \
69+
rm -rf /var/lib/apt/lists/*
70+
71+
# Set working directory
72+
WORKDIR /data/
73+
74+
# Verify installation
75+
RUN java -jar /opt/xisearch/xiSEARCH.jar --help || echo "xiSEARCH installed" && \
76+
ls -lh /opt/xisearch/*.jar && \
77+
python -c "import pyopenms; print(f'pyopenms {pyopenms.__version__}')" && \
78+
python -c "import polars; print(f'polars {polars.__version__}')"

0 commit comments

Comments
 (0)