Skip to content

add patch for HMMER v3.4 to add support for --seq_limit option#24301

Merged
Crivella merged 4 commits intoeasybuilders:developfrom
ThomasHoffmann77:20251020094806_new_pr_HMMER34
Nov 26, 2025
Merged

add patch for HMMER v3.4 to add support for --seq_limit option#24301
Crivella merged 4 commits intoeasybuilders:developfrom
ThomasHoffmann77:20251020094806_new_pr_HMMER34

Conversation

@ThomasHoffmann77
Copy link
Contributor

@ThomasHoffmann77 ThomasHoffmann77 commented Oct 20, 2025

(created using eb --new-pr)

for #24177

@github-actions
Copy link

Updated software HMMER-3.4-gompi-2024a-seqlimit.eb

Diff against HMMER-3.4-gompi-2024a.eb

easybuild/easyconfigs/h/HMMER/HMMER-3.4-gompi-2024a.eb

diff --git a/easybuild/easyconfigs/h/HMMER/HMMER-3.4-gompi-2024a.eb b/easybuild/easyconfigs/h/HMMER/HMMER-3.4-gompi-2024a-seqlimit.eb
index 5e40c90494..e3005576ce 100644
--- a/easybuild/easyconfigs/h/HMMER/HMMER-3.4-gompi-2024a.eb
+++ b/easybuild/easyconfigs/h/HMMER/HMMER-3.4-gompi-2024a-seqlimit.eb
@@ -6,6 +6,7 @@
 #             Fotis Georgatos <fotis@cern.ch>
 # Updated by: Filip Kružík (INUITS)
 #             Jure Pečar (EMBL)
+#             Thomas Hoffmann (EMBL): seq_limit
 # License::   MIT/GPL
 # $Id$
 #
@@ -18,6 +19,7 @@ easyblock = 'ConfigureMake'
 
 name = 'HMMER'
 version = '3.4'
+versionsuffix = '-seqlimit'
 
 homepage = 'http://hmmer.org/'
 description = """HMMER is used for searching sequence databases for homologs
@@ -28,7 +30,8 @@ description = """HMMER is used for searching sequence databases for homologs
  HMMER aims to be significantly more accurate and more able to detect remote
  homologs because of the strength of its underlying mathematical models. In the
  past, this strength came at significant computational expense, but in the new
- HMMER3 project, HMMER is now essentially as fast as BLAST."""
+ HMMER3 project, HMMER is now essentially as fast as BLAST.
+Patched according to https://github.com/google-deepmind/alphafold3/issues/525"""
 
 toolchain = {'name': 'gompi', 'version': '2024a'}
 
@@ -37,7 +40,11 @@ source_urls = [
     'http://eddylab.org/software/hmmer%(version_major)s/%(version)s/',
 ]
 sources = [SOURCELOWER_TAR_GZ]
-checksums = ['ca70d94fd0cf271bd7063423aabb116d42de533117343a9b27a65c17ff06fbf3']
+patches = ['HMMER-3.4.0_AF3_jackhmmer_seq_limit.patch']
+checksums = [
+    {'hmmer-3.4.tar.gz': 'ca70d94fd0cf271bd7063423aabb116d42de533117343a9b27a65c17ff06fbf3'},
+    {'HMMER-3.4.0_AF3_jackhmmer_seq_limit.patch': 'd994d6eae98c7247b3fc777d7d704d48fef037eccb6d55a50d8a603d6b1b29e2'},
+]
 
 builddependencies = [
     ('Python', '3.12.3'),
@@ -74,6 +81,7 @@ sanity_check_commands = [
     "esl-construct -h",
     "hmmsearch -h",
     "nhmmer -h",
+    "jackhmmer -h grep seq_limit",
 ]
 
 moduleclass = 'bio'
Diff against HMMER-3.4-gompi-2023b.eb

easybuild/easyconfigs/h/HMMER/HMMER-3.4-gompi-2023b.eb

diff --git a/easybuild/easyconfigs/h/HMMER/HMMER-3.4-gompi-2023b.eb b/easybuild/easyconfigs/h/HMMER/HMMER-3.4-gompi-2024a-seqlimit.eb
index bb76dc1e93..e3005576ce 100644
--- a/easybuild/easyconfigs/h/HMMER/HMMER-3.4-gompi-2023b.eb
+++ b/easybuild/easyconfigs/h/HMMER/HMMER-3.4-gompi-2024a-seqlimit.eb
@@ -5,6 +5,8 @@
 # Authors::   Nils Christian <nils.christian@uni.lu>,
 #             Fotis Georgatos <fotis@cern.ch>
 # Updated by: Filip Kružík (INUITS)
+#             Jure Pečar (EMBL)
+#             Thomas Hoffmann (EMBL): seq_limit
 # License::   MIT/GPL
 # $Id$
 #
@@ -17,6 +19,7 @@ easyblock = 'ConfigureMake'
 
 name = 'HMMER'
 version = '3.4'
+versionsuffix = '-seqlimit'
 
 homepage = 'http://hmmer.org/'
 description = """HMMER is used for searching sequence databases for homologs
@@ -27,20 +30,25 @@ description = """HMMER is used for searching sequence databases for homologs
  HMMER aims to be significantly more accurate and more able to detect remote
  homologs because of the strength of its underlying mathematical models. In the
  past, this strength came at significant computational expense, but in the new
- HMMER3 project, HMMER is now essentially as fast as BLAST."""
+ HMMER3 project, HMMER is now essentially as fast as BLAST.
+Patched according to https://github.com/google-deepmind/alphafold3/issues/525"""
 
-toolchain = {'name': 'gompi', 'version': '2023b'}
+toolchain = {'name': 'gompi', 'version': '2024a'}
 
 source_urls = [
     'http://eddylab.org/software/hmmer/',
     'http://eddylab.org/software/hmmer%(version_major)s/%(version)s/',
 ]
 sources = [SOURCELOWER_TAR_GZ]
-checksums = ['ca70d94fd0cf271bd7063423aabb116d42de533117343a9b27a65c17ff06fbf3']
+patches = ['HMMER-3.4.0_AF3_jackhmmer_seq_limit.patch']
+checksums = [
+    {'hmmer-3.4.tar.gz': 'ca70d94fd0cf271bd7063423aabb116d42de533117343a9b27a65c17ff06fbf3'},
+    {'HMMER-3.4.0_AF3_jackhmmer_seq_limit.patch': 'd994d6eae98c7247b3fc777d7d704d48fef037eccb6d55a50d8a603d6b1b29e2'},
+]
 
 builddependencies = [
-    ('Python', '3.11.5'),
-    ('Perl', '5.38.0'),
+    ('Python', '3.12.3'),
+    ('Perl', '5.38.2'),
 ]
 
 # replace hardcoded /usr/bin/perl shebang lines with '/usr/bin/env perl' across all files
@@ -73,6 +81,7 @@ sanity_check_commands = [
     "esl-construct -h",
     "hmmsearch -h",
     "nhmmer -h",
+    "jackhmmer -h grep seq_limit",
 ]
 
 moduleclass = 'bio'
Diff against HMMER-3.4-gompi-2023a.eb

easybuild/easyconfigs/h/HMMER/HMMER-3.4-gompi-2023a.eb

diff --git a/easybuild/easyconfigs/h/HMMER/HMMER-3.4-gompi-2023a.eb b/easybuild/easyconfigs/h/HMMER/HMMER-3.4-gompi-2024a-seqlimit.eb
index 99f585d998..e3005576ce 100644
--- a/easybuild/easyconfigs/h/HMMER/HMMER-3.4-gompi-2023a.eb
+++ b/easybuild/easyconfigs/h/HMMER/HMMER-3.4-gompi-2024a-seqlimit.eb
@@ -5,6 +5,8 @@
 # Authors::   Nils Christian <nils.christian@uni.lu>,
 #             Fotis Georgatos <fotis@cern.ch>
 # Updated by: Filip Kružík (INUITS)
+#             Jure Pečar (EMBL)
+#             Thomas Hoffmann (EMBL): seq_limit
 # License::   MIT/GPL
 # $Id$
 #
@@ -17,6 +19,7 @@ easyblock = 'ConfigureMake'
 
 name = 'HMMER'
 version = '3.4'
+versionsuffix = '-seqlimit'
 
 homepage = 'http://hmmer.org/'
 description = """HMMER is used for searching sequence databases for homologs
@@ -27,20 +30,25 @@ description = """HMMER is used for searching sequence databases for homologs
  HMMER aims to be significantly more accurate and more able to detect remote
  homologs because of the strength of its underlying mathematical models. In the
  past, this strength came at significant computational expense, but in the new
- HMMER3 project, HMMER is now essentially as fast as BLAST."""
+ HMMER3 project, HMMER is now essentially as fast as BLAST.
+Patched according to https://github.com/google-deepmind/alphafold3/issues/525"""
 
-toolchain = {'name': 'gompi', 'version': '2023a'}
+toolchain = {'name': 'gompi', 'version': '2024a'}
 
 source_urls = [
     'http://eddylab.org/software/hmmer/',
     'http://eddylab.org/software/hmmer%(version_major)s/%(version)s/',
 ]
 sources = [SOURCELOWER_TAR_GZ]
-checksums = ['ca70d94fd0cf271bd7063423aabb116d42de533117343a9b27a65c17ff06fbf3']
+patches = ['HMMER-3.4.0_AF3_jackhmmer_seq_limit.patch']
+checksums = [
+    {'hmmer-3.4.tar.gz': 'ca70d94fd0cf271bd7063423aabb116d42de533117343a9b27a65c17ff06fbf3'},
+    {'HMMER-3.4.0_AF3_jackhmmer_seq_limit.patch': 'd994d6eae98c7247b3fc777d7d704d48fef037eccb6d55a50d8a603d6b1b29e2'},
+]
 
 builddependencies = [
-    ('Python', '3.11.3'),
-    ('Perl', '5.36.1'),
+    ('Python', '3.12.3'),
+    ('Perl', '5.38.2'),
 ]
 
 # replace hardcoded /usr/bin/perl shebang lines with '/usr/bin/env perl' across all files
@@ -73,6 +81,7 @@ sanity_check_commands = [
     "esl-construct -h",
     "hmmsearch -h",
     "nhmmer -h",
+    "jackhmmer -h grep seq_limit",
 ]
 
 moduleclass = 'bio'

@pavelToman
Copy link
Collaborator

Test report by @pavelToman
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
node4301.litleo.os - Linux RHEL 9.6, x86_64, AMD EPYC 9454P 48-Core Processor, 1 x NVIDIA NVIDIA H100 NVL, 580.95.05, Python 3.9.21
See https://gist.github.com/pavelToman/c45c390b0418e7e08d65bef88ffeb1c5 for a full test report.

@Crivella
Copy link
Contributor

If i understand correctly this is adding a CLI option to jackhammer.
If that is the case i think it would make sense to change the original EC instead of creating a suffixed version (especially if this patch is gonna be upstream in future releases)

@pavelToman
Copy link
Collaborator

@boegelbot please test @ jsc-zen3-a100

@boegelbot
Copy link
Collaborator

@pavelToman: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=24301 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_24301 --ntasks=8 --partition=jsczen3g --gres=gpu:1 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 8492

Test results coming soon (I hope)...

Details

- notification for comment with ID 3421781828 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
jsczen3g1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.6, x86_64, AMD EPYC-Milan Processor (zen3), 1 x NVIDIA NVIDIA A100 80GB PCIe, 580.95.05, Python 3.9.21
See https://gist.github.com/boegelbot/16e3ec0ab225d3d591b1b25d502c21ff for a full test report.

boegel
boegel previously requested changes Oct 21, 2025
Copy link
Member

@boegel boegel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ThomasHoffmann77 Since the patch is only adding an option, I would apply it in the existing easyconfig HMMER-3.4-gompi-2024a.eb, rather than introducing a new variant...

@github-actions github-actions bot added change and removed update labels Nov 21, 2025
@ThomasHoffmann77
Copy link
Contributor Author

@ThomasHoffmann77 Since the patch is only adding an option, I would apply it in the existing easyconfig HMMER-3.4-gompi-2024a.eb, rather than introducing a new variant...

I removed the versionsuffix and renamed the file

@Crivella
Copy link
Contributor

Test report by @Crivella
SUCCESS
Build succeeded for 1 out of 1 (total: 4 mins 0 secs) (1 easyconfigs in total)
crivella-desktop - Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish), x86_64, 13th Gen Intel(R) Core(TM) i9-13900K (skylake), Python 3.11.14
See https://gist.github.com/Crivella/53871503ad379c49e38f43b300bef8bb for a full test report.

@Crivella
Copy link
Contributor

@boegelbot please test @ jsc-zen3

@boegelbot
Copy link
Collaborator

@Crivella: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=24301 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_24301 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 8912

Test results coming soon (I hope)...

Details

- notification for comment with ID 3580585166 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 1 out of 1 (total: 4 mins 23 secs) (1 easyconfigs in total)
jsczen3c1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.6, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.21
See https://gist.github.com/boegelbot/bcf5b1df12f836cf0cfde54254fcae0c for a full test report.

Copy link
Contributor

@Crivella Crivella left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Crivella Crivella dismissed boegel’s stale review November 26, 2025 10:26

Required changes applied

@Crivella
Copy link
Contributor

Going in, thanks @ThomasHoffmann77!

@Crivella Crivella merged commit 7ea8039 into easybuilders:develop Nov 26, 2025
8 checks passed
@boegel boegel changed the title {bio}[gompi/2024a] HMMER v3.4 w/ seqlimit add patch for HMMER v3.4 to add support for --seq_limit option Dec 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2024a issues & PRs related to 2024a common toolchains enhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants