Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 10 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
docker-imgs:
docker build --platform linux/amd64 -t medbioinf/ident-comparison-python:latest -f docker/python/Dockerfile .
docker pull ghcr.io/medbioinf/pipeline-of-identification:latest

docker pull proteowizard/pwiz-skyline-i-agree-to-the-vendor-licenses:3.0.25073-842baef

docker pull quay.io/medbioinf/openms:3.1.0
docker pull quay.io/medbioinf/tdf2mzml:0.4
docker pull quay.io/medbioinf/openms:3.4.1
docker pull quay.io/medbioinf/fdrbench-nightly:146f77

docker pull quay.io/medbioinf/comet-ms:v2024.01.0
docker pull quay.io/medbioinf/sage:v0.14.7
docker pull quay.io/medbioinf/xtandem:2017.2.1.4
docker pull quay.io/medbioinf/maxquant:2.6.3.0
docker pull quay.io/medbioinf/msamanda:3.0.22.071
docker pull quay.io/medbioinf/msgfplus:v2024.03.26

docker pull quay.io/medbioinf/mzid-merger:1.4.26
docker pull quay.io/medbioinf/sage:v0.15.0-beta.1
docker pull quay.io/medbioinf/xtandem:2017.2.1.4

docker pull ghcr.io/percolator/percolator:branch-3-08

docker pull quay.io/medbioinf/percolator:3.6.5
docker build --platform linux/amd64 -t medbioinf/msfragger -f docker/msfragger/Dockerfile docker/msfragger/.
25 changes: 0 additions & 25 deletions docker/maxquant/Dockerfile

This file was deleted.

7 changes: 0 additions & 7 deletions docker/maxquant/environment.yml

This file was deleted.

13 changes: 6 additions & 7 deletions docker/msfragger/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
FROM --platform=amd64 mambaorg/micromamba:2.1.1-ubuntu22.04
FROM mambaorg/micromamba:2.3.1-ubuntu24.04

WORKDIR /home/mambauser
# Copy environment.yml and requirements.txt
COPY --chown=mambauser:mambauser environment.yml .
COPY --chown=mambauser:mambauser requirements.txt .
COPY --chown=mambauser:mambauser environment.yml /home/mambauser/
COPY --chown=mambauser:mambauser requirements.txt /home/mambauser/

# copy over MSFragger bin
COPY --chown=mambauser:mambauser ./MSFragger-4.2.zip /tmp/
Expand All @@ -12,10 +11,10 @@ COPY --chown=mambauser:mambauser ./MSFragger-4.2.zip /tmp/
USER mambauser
ENV HOME=/home/mambauser
ENV ENV_NAME=medbioinforub-msfragger
WORKDIR /home/mambauser

RUN echo 'show_banner: false' > ~/.mambarc

RUN micromamba env create -y -f environment.yml \
RUN echo 'show_banner: false' > ~/.mambarc \
&& micromamba env create -y -f /home/mambauser/environment.yml \
&& micromamba clean --all --yes

# install / unzip MSFragger
Expand Down
2 changes: 1 addition & 1 deletion docker/msfragger/environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ dependencies:
- setuptools
- git
- openjdk=21
- unzip=6.0
- conda-forge::unzip=6.0
- pip:
- -r requirements.txt
2 changes: 1 addition & 1 deletion main.nf
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ nextflow.enable.dsl=2
nextflow.preview.output = true

// default python image
params.python_image = 'medbioinf/ident-comparison-python'
params.python_image = 'ghcr.io/medbioinf/pipeline-of-identification:latest'

// parameters set by the command line
params.raw_files = ''
Expand Down
2 changes: 1 addition & 1 deletion src/identification/maxquant_identification.nf
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
nextflow.enable.dsl=2

params.maxquant_image = 'medbioinf/maxquant:v2.6.1.0'
params.maxquant_image = 'quay.io/medbioinf/maxquant:2.6.3.0'

// number of threads used by maxquant
params.maxquant_threads = 4
Expand Down
2 changes: 1 addition & 1 deletion src/postprocessing/percolator.nf
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
nextflow.enable.dsl=2

params.percolator_image = 'quay.io/medbioinf/percolator:3.6.5'
params.percolator_image = 'ghcr.io/percolator/percolator:branch-3-08'

// number of threads used by percolator
params.percolator_threads = 4
Expand Down
48 changes: 39 additions & 9 deletions src/preprocess/convert_to_mzml.nf
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
nextflow.enable.dsl=2

params.msconvert_image = 'proteowizard/pwiz-skyline-i-agree-to-the-vendor-licenses:3.0.25073-842baef'

params.tdf2mzml_image = 'quay.io/medbioinf/tdf2mzml:0.4'
params.tdf2mzml_threads = 8

workflow convert_to_mzml {
take:
input_path

main:
if (params.is_timstof) {
mzml = convert_bruker_d(input_path)
mzml_direct_convert = convert_bruker_d(input_path)
mzml = adjust_mzML(mzml_direct_convert)
} else {
mzml = convert_thermo_raw(input_path)
}
Expand All @@ -23,6 +25,7 @@ workflow convert_to_mzml {

process convert_thermo_raw {
cpus 2
memory "8 GB"
container { params.msconvert_image }

input:
Expand All @@ -38,24 +41,51 @@ process convert_thermo_raw {
}

process convert_bruker_d {
cpus 2
container { params.python_image }
cpus { params.tdf2mzml_threads }
memory "8 GB"
container { params.tdf2mzml_image }

input:
path input_raw
path input_d

output:
path "${input_raw.baseName}.mzML"
path "${input_d.baseName}.mzML"

script:
"""
# here goes the converter...
export MKL_NUM_THREADS=${params.tdf2mzml_threads}
export NUMEXPR_NUM_THREADS=${params.tdf2mzml_threads}
export OMP_NUM_THREADS=${params.tdf2mzml_threads}

tdf2mzml -i ${input_d} --compression "zlib" -o ${input_d.baseName}.mzML
"""
}

process adjust_mzML {
cpus 2
memory "8 GB"
container { params.msconvert_image }

input:
path input_mzML

output:
path "uncompressed/${input_mzML.baseName}.mzML"

script:
"""
# msamanda needs explicit "scan=" in the id of a scan (not there in e.g. TimsTOF converted mzML data)
sed -i -e 's/<spectrum\\(.*\\) id="index=\\([0-9]*\\)\\(.*\\)/<spectrum\\1 id="index=\\2 scan=\\2\\3/;s/spectrumRef="\\(.*\\)index=\\([0-9]*\\)\\(.*\\)"/spectrumRef="\\1index=\\2 scan=\\2\\3"/' ${input_raw.baseName}.mzML
sed -e 's/<spectrum\\(.*\\) id="index=\\([0-9]*\\)\\(.*\\)/<spectrum\\1 id="index=\\2 scan=\\2\\3/;s/spectrumRef="\\(.*\\)index=\\([0-9]*\\)\\(.*\\)"/spectrumRef="\\1index=\\2 scan=\\2\\3"/' ${input_mzML} > ${input_mzML.baseName}.reindex.mzML

# after this, the mzML index needs to be removed, or just the compression???
## docker run --rm -it -v ./:/data/ proteowizard/pwiz-skyline-i-agree-to-the-vendor-licenses:3.0.25073-842baef wine msconvert --mzML -o /data/rem-index --noindex --zlib=off /data/${file};
## docker run --rm -it -v ./:/data/ proteowizard/pwiz-skyline-i-agree-to-the-vendor-licenses:3.0.25073-842baef wine msconvert --mzML -o ${input_mzML}.noindex_nocompress.mzML --noindex --zlib=off ${input_mzML};

# uncompress the mzML with re-named id-tags (this re-calculates also the index, but for X!Tandem it is needed uncompressed anyways)
mkdir uncompressed
wine msconvert --mzML --zlib=off -o uncompressed --outfile ${input_mzML.baseName}.mzML ${input_mzML.baseName}.reindex.mzML

# cleanup
rm ${input_mzML.baseName}.reindex.mzML
"""
}

Expand Down
2 changes: 1 addition & 1 deletion src/preprocess/create_decoy_database.nf
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
nextflow.enable.dsl=2

params.openms_image = 'quay.io/medbioinf/openms:3.1.0'
params.openms_image = 'quay.io/medbioinf/openms:3.4.1'

// number of threads used by maxquant
params.decoy_database_threads = 4
Expand Down