From 90f67367d62ecc8a56dccb7a0b79307e1e138417 Mon Sep 17 00:00:00 2001 From: RalfG Date: Wed, 31 Jul 2024 16:19:06 +0200 Subject: [PATCH 1/7] Explicitly add optional dependency ionmob to Windows installer (was missing in v3.1.0 release) --- .github/workflows/publish.yml | 2 +- ms2rescore.spec | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 1137ef58..4bb5aa5e 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -54,7 +54,7 @@ jobs: - name: Install package and dependencies run: | python -m pip install --upgrade pip - pip install --only-binary :all: . pyinstaller + pip install --only-binary :all: .[ionmob] pyinstaller - name: Install Inno Setup uses: crazy-max/ghaction-chocolatey@v3 diff --git a/ms2rescore.spec b/ms2rescore.spec index 19ffb558..15bdb680 100644 --- a/ms2rescore.spec +++ b/ms2rescore.spec @@ -16,6 +16,8 @@ project = "ms2rescore" bundle_name = "ms2rescore" bundle_identifier = f"{bundle_name}.{__version__}" +extra_requirements = {"ionmob"} + # Requirements config skip_requirements_regex = r"^(?:.*\..*)" @@ -28,6 +30,7 @@ requirements = { if "; extra ==" not in req # Exclude optional dependencies } requirements.update([project, "xgboost"]) +requirements.update(extra_requirements) hidden_imports = set() datas = [] From 2e0e8442a57460eba413764f5155e09ebbf222f7 Mon Sep 17 00:00:00 2001 From: Kevin Velghe Date: Tue, 6 Aug 2024 13:33:45 +0200 Subject: [PATCH 2/7] build and publish docker image --- .github/workflows/publish.yml | 40 +++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 4bb5aa5e..df9e16d8 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -83,3 +83,43 @@ jobs: tag: ${{ github.ref }} file_glob: true file: dist/*.exe + + docker-image: + runs-on: ubuntu-latest + permissions: + packages: write + contents: read + attestations: write + id-token: write + steps: + - name: Check out the repo + uses: actions/checkout@v4 + + - name: Log in to the Container registry + uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 + with: + images: ghcr.io/${{ github.repository }} + + - name: Build and push Docker images + id: push + uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671 + with: + context: . + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + + - name: Generate artifact attestation + uses: actions/attest-build-provenance@v1 + with: + subject-name: ghcr.io/${{ github.repository }} + subject-digest: ${{ steps.push.outputs.digest }} + push-to-registry: true From 9676ddcbe16ffed885bc45c4b7b9375e724ff2b7 Mon Sep 17 00:00:00 2001 From: Ralf Gabriels Date: Wed, 7 Aug 2024 16:04:11 +0200 Subject: [PATCH 3/7] Limit Percolator processes to 128 (fixes #117) --- ms2rescore/rescoring_engines/percolator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ms2rescore/rescoring_engines/percolator.py b/ms2rescore/rescoring_engines/percolator.py index 9952aed5..eece0978 100644 --- a/ms2rescore/rescoring_engines/percolator.py +++ b/ms2rescore/rescoring_engines/percolator.py @@ -88,7 +88,7 @@ def rescore( "decoy-results-proteins": output_file_root + ".percolator.decoy.proteins.pout", "weights": output_file_root + ".percolator.weights.tsv", "verbose": LOG_LEVEL_MAP[log_level], - "num-threads": processes, + "num-threads": max(processes, 128), # Higher values not supported by Percolator "post-processing-tdc": True, } if percolator_kwargs: From 2ff58e77df0a82611abb4ae55e716b1b7f82197a Mon Sep 17 00:00:00 2001 From: ArthurDeclercq Date: Mon, 12 Aug 2024 13:02:01 +0200 Subject: [PATCH 4/7] add im2deep to config in gui --- ms2rescore/gui/app.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ms2rescore/gui/app.py b/ms2rescore/gui/app.py index a077a458..50f8451e 100644 --- a/ms2rescore/gui/app.py +++ b/ms2rescore/gui/app.py @@ -383,6 +383,9 @@ def get(self) -> Dict: config["deeplc"] = deeplc_config if ionmob_enabled: config["ionmob"] = ionmob_config + if im2deep_enabled: + config["im2deep"] = im2deep_config + return config From 2cdee142218b012c4723dd29afe986edc4a6c9ca Mon Sep 17 00:00:00 2001 From: Ralf Gabriels Date: Mon, 12 Aug 2024 14:59:43 +0200 Subject: [PATCH 5/7] Fix previous commit (to limit num-threads, use min instead of max) --- ms2rescore/rescoring_engines/percolator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ms2rescore/rescoring_engines/percolator.py b/ms2rescore/rescoring_engines/percolator.py index eece0978..192950bd 100644 --- a/ms2rescore/rescoring_engines/percolator.py +++ b/ms2rescore/rescoring_engines/percolator.py @@ -88,7 +88,7 @@ def rescore( "decoy-results-proteins": output_file_root + ".percolator.decoy.proteins.pout", "weights": output_file_root + ".percolator.weights.tsv", "verbose": LOG_LEVEL_MAP[log_level], - "num-threads": max(processes, 128), # Higher values not supported by Percolator + "num-threads": min(processes, 128), # Higher values not supported by Percolator "post-processing-tdc": True, } if percolator_kwargs: From 1100160df802f28212e09208bdfea0d3e907dcc6 Mon Sep 17 00:00:00 2001 From: Ralf Gabriels Date: Wed, 14 Aug 2024 11:01:03 +0200 Subject: [PATCH 6/7] Version bump --- ms2rescore/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ms2rescore/__init__.py b/ms2rescore/__init__.py index c99ef9b7..8b4a1eef 100644 --- a/ms2rescore/__init__.py +++ b/ms2rescore/__init__.py @@ -1,6 +1,6 @@ """MSĀ²Rescore: Sensitive PSM rescoring with predicted MSĀ² peak intensities and RTs.""" -__version__ = "3.1.0" +__version__ = "3.1.1" from warnings import filterwarnings From 78ff97e3f44b162eb1d637363b7e090f30c82b46 Mon Sep 17 00:00:00 2001 From: Ralf Gabriels Date: Wed, 14 Aug 2024 11:16:33 +0200 Subject: [PATCH 7/7] Fix Windows installer test (missing ionmob dep) --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 26f9eb5a..522e183e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -55,7 +55,7 @@ jobs: - name: Install package and dependencies run: | python -m pip install --upgrade pip - pip install --only-binary :all: . pyinstaller + pip install --only-binary :all: .[ionmob] pyinstaller - name: Install Inno Setup uses: crazy-max/ghaction-chocolatey@v1