Skip to content

{bio}[foss/2025a] medaka v2.2.2 w/ CUDA 12.8.0 - #26621

Open
PhoenixEmik wants to merge 2 commits into
easybuilders:developfrom
PhoenixEmik:20260809082454_new_pr_medaka222
Open

{bio}[foss/2025a] medaka v2.2.2 w/ CUDA 12.8.0#26621
PhoenixEmik wants to merge 2 commits into
easybuilders:developfrom
PhoenixEmik:20260809082454_new_pr_medaka222

Conversation

@PhoenixEmik

@PhoenixEmik PhoenixEmik commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot added update 2025a issues & PRs related to 2025a common toolchains labels Aug 9, 2026
@github-actions

github-actions Bot commented Aug 9, 2026

Copy link
Copy Markdown

Updated software medaka-2.2.2-foss-2025a-CUDA-12.8.0.eb

Diff against medaka-1.12.1-foss-2023a-CUDA-12.1.1.eb

easybuild/easyconfigs/m/medaka/medaka-1.12.1-foss-2023a-CUDA-12.1.1.eb

diff --git a/easybuild/easyconfigs/m/medaka/medaka-1.12.1-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/m/medaka/medaka-2.2.2-foss-2025a-CUDA-12.8.0.eb
index a1756d2948..3e4605c57f 100644
--- a/easybuild/easyconfigs/m/medaka/medaka-1.12.1-foss-2023a-CUDA-12.1.1.eb
+++ b/easybuild/easyconfigs/m/medaka/medaka-2.2.2-foss-2025a-CUDA-12.8.0.eb
@@ -7,79 +7,96 @@
 # Updated to 1.5.0
 # Jasper Grimm (UoY)
 # Updated: Petr Král (INUITS)
+# Updated: Emik Lin (HKUMed CPOS)
 
 easyblock = 'PythonBundle'
 
 name = 'medaka'
-version = '1.12.1'
+version = '2.2.2'
 versionsuffix = '-CUDA-%(cudaver)s'
 
 homepage = 'https://github.com/nanoporetech/medaka'
 description = "medaka is a tool to create a consensus sequence from nanopore sequencing data."
 
-toolchain = {'name': 'foss', 'version': '2023a'}
+toolchain = {'name': 'foss', 'version': '2025a'}
 toolchainopts = {'pic': True}
 
-builddependencies = [('Autotools', '20220317')]
+builddependencies = [
+    ('Autotools', '20240712'),
+    ('Cython', '3.1.1'),
+    ('CMake', '3.31.3'),
+    ('setuptools', '80.9.0'),
+    ('poetry', '2.1.2'),
+]
 
-_minimap_ver = '2.26'
+_minimap_ver = '2.30'
 dependencies = [
-    ('CUDA', '12.1.1', '', SYSTEM),
-    ('Python', '3.11.3'),
-    ('Python-bundle-PyPI', '2023.06'),  # includes cffi
-    ('TensorFlow', '2.15.1', versionsuffix),
-    ('Pysam', '0.22.0'),
-    ('SAMtools', '1.18'),
+    ('CUDA', '12.8.0', '', SYSTEM),
+    ('Python', '3.13.1'),
+    ('Python-bundle-PyPI', '2025.04'),  # includes cffi
+    ('Pysam', '0.23.3'),
+    ('SAMtools', '1.22.1'),
     ('minimap2', _minimap_ver),
-    ('HTSlib', '1.18'),  # for tabix, bgzip
-    ('Racon', '1.5.0'),
-    ('edlib', '1.3.9'),
+    ('HTSlib', '1.22.1'),  # for tabix and bgzip
+    ('edlib', '1.3.9.post1'),
     ('pyspoa', '0.2.1'),
     ('python-parasail', '1.3.4'),
-    ('ont-fast5-api', '4.1.2'),
-    ('WhatsHap', '2.2'),
-    ('intervaltree-python', '3.1.0'),
-    ('BCFtools', '1.18'),
+    ('ont-fast5-api', '4.1.3'),
+    ('WhatsHap', '2.6'),
+    ('intervaltree-python', '3.2.1'),
+    ('BCFtools', '1.22'),
+    ('h5py', '3.14.0'),
+    ('PyTorch', '2.9.1', f'{versionsuffix}-whl'),
+    ('PyTorch-bundle', '2.9.1', f'{versionsuffix}-whl'),  # provides tensordict
+    ('tqdm', '4.67.1'),
+    ('wurlitzer', '3.1.1'),
 ]
 
 local_sed_commands = [
-    "sed -i 's/tensorflow.*/tensorflow/g;s/cffi==1.15.0/cffi/g' requirements.txt pyproject.toml",
-    # Python 3.11 support
-    "sed -i 's/8, 9, 10/8, 9, 10, 11/g;s/,<3.11//g' setup.py",
     # ont-parasail on PyPI is just pre-built wheels for (python-)parasail
     "sed -i 's/ont-parasail/parasail/g' requirements.txt",
+    # ont-mappy on PyPI is just pre-built wheels for mappy
+    "sed -i 's/ont-mappy/mappy/g' requirements.txt",
+    # pysam was only restricted to <=0.23.0 to work with test coverage
+    "sed -i 's/pysam>=0.16.0.1,<=0.23.0/pysam>=0.16.0.1/g' requirements.txt",
 ]
 
 exts_list = [
     ('mappy', _minimap_ver, {
-        'checksums': ['e53fbe9a3ea8762a64b8103f4f779c9fb16d418eaa0a731f45cebc83867a9b71'],
-    }),
-    ('wurlitzer', '3.1.1', {
-        'source_tmpl': SOURCE_PY3_WHL,
-        'checksums': ['0b2749c2cde3ef640bf314a9f94b24d929fe1ca476974719a6909dfc568c3aac'],
-    }),
-    # medaka 1.12.0 requires h5py ~=3.10.0
-    ('h5py', '3.10.0', {
-        'checksums': ['d93adc48ceeb33347eb24a634fb787efc7ae4644e6ea4ba733d099605045c049'],
+        'checksums': ['a25448004558a28cb0d74fb1e55b6ffe9a78aa15dd6b2763630fbbabbaa97a27'],
     }),
-    ('pyabpoa', '1.5.2', {
-        'checksums': ['be39c83b12e923c9e47073cb8f0abc4c42f609fa2c0ec13d6f6a4f5a0537ee06'],
+    ('pyabpoa', '1.5.6', {
+        'checksums': ['265f638c7fed0cde78cf0593c9e36121c1e718de1c73d7fa527dd62a7f90f191'],
+        'preinstallopts': "sed -i 's/license = \"MIT\"/license = {text = \"MIT\"}/' pyproject.toml && SSE2=1 ",
     }),
     (name, version, {
-        'checksums': ['df4baf7d1e9154de85229aef237919619ff6ae7f7d103abb0828e449ff977adf'],
-        # Some requirements are too strict.
+        'patches': ['medaka-2.2.1_use-system-htslib.patch'],
         'preinstallopts': " && ".join(local_sed_commands) + " && ",
+        'use_pip_extras': 'abpoa',
+        'checksums': [
+            '28ed7402af5c82aa5d62c28325c1b1d6961b69d3ee16b624f44a5dbc34edf44e',  # medaka-2.2.2.tar.gz
+            '2d3d43c912d4d238032781df2b4e30c8e7bbd09c05ac2fee3cdb96edb09f8419',  # system HTSlib patch
+        ],
     }),
 ]
 
 sanity_check_paths = {
-    'files': ['bin/medaka', 'bin/medaka_consensus', 'bin/medaka_version_report'],
-    'dirs': ['lib/python%(pyshortver)s/site-packages'],
+    'files': [
+        'bin/medaka',
+        'bin/medaka_consensus',
+        'bin/medaka_consensus_joint',
+        'bin/medaka_counts',
+        'bin/medaka_data_path',
+        'bin/medaka_variant',
+        'bin/medaka_version_report',
+        'bin/mini_align',
+    ],
+    'dirs': ['lib/python%(pyshortver)s/site-packages/medaka'],
 }
 
 sanity_check_commands = [
-    "medaka --help",
-    "medaka_version_report",
+    'medaka --help',
+    'medaka_version_report',
 ]
 
 moduleclass = 'bio'
Diff against medaka-1.12.1-foss-2023a.eb

easybuild/easyconfigs/m/medaka/medaka-1.12.1-foss-2023a.eb

diff --git a/easybuild/easyconfigs/m/medaka/medaka-1.12.1-foss-2023a.eb b/easybuild/easyconfigs/m/medaka/medaka-2.2.2-foss-2025a-CUDA-12.8.0.eb
index f83df893ef..3e4605c57f 100644
--- a/easybuild/easyconfigs/m/medaka/medaka-1.12.1-foss-2023a.eb
+++ b/easybuild/easyconfigs/m/medaka/medaka-2.2.2-foss-2025a-CUDA-12.8.0.eb
@@ -7,77 +7,96 @@
 # Updated to 1.5.0
 # Jasper Grimm (UoY)
 # Updated: Petr Král (INUITS)
+# Updated: Emik Lin (HKUMed CPOS)
 
 easyblock = 'PythonBundle'
 
 name = 'medaka'
-version = '1.12.1'
+version = '2.2.2'
+versionsuffix = '-CUDA-%(cudaver)s'
 
 homepage = 'https://github.com/nanoporetech/medaka'
 description = "medaka is a tool to create a consensus sequence from nanopore sequencing data."
 
-toolchain = {'name': 'foss', 'version': '2023a'}
+toolchain = {'name': 'foss', 'version': '2025a'}
 toolchainopts = {'pic': True}
 
-builddependencies = [('Autotools', '20220317')]
+builddependencies = [
+    ('Autotools', '20240712'),
+    ('Cython', '3.1.1'),
+    ('CMake', '3.31.3'),
+    ('setuptools', '80.9.0'),
+    ('poetry', '2.1.2'),
+]
 
-_minimap_ver = '2.26'
+_minimap_ver = '2.30'
 dependencies = [
-    ('Python', '3.11.3'),
-    ('Python-bundle-PyPI', '2023.06'),  # includes cffi
-    ('TensorFlow', '2.13.0'),
-    ('Pysam', '0.22.0'),
-    ('SAMtools', '1.18'),
+    ('CUDA', '12.8.0', '', SYSTEM),
+    ('Python', '3.13.1'),
+    ('Python-bundle-PyPI', '2025.04'),  # includes cffi
+    ('Pysam', '0.23.3'),
+    ('SAMtools', '1.22.1'),
     ('minimap2', _minimap_ver),
-    ('HTSlib', '1.18'),  # for tabix, bgzip
-    ('Racon', '1.5.0'),
-    ('edlib', '1.3.9'),
+    ('HTSlib', '1.22.1'),  # for tabix and bgzip
+    ('edlib', '1.3.9.post1'),
     ('pyspoa', '0.2.1'),
     ('python-parasail', '1.3.4'),
-    ('ont-fast5-api', '4.1.2'),
-    ('WhatsHap', '2.2'),
-    ('intervaltree-python', '3.1.0'),
-    ('BCFtools', '1.18'),
+    ('ont-fast5-api', '4.1.3'),
+    ('WhatsHap', '2.6'),
+    ('intervaltree-python', '3.2.1'),
+    ('BCFtools', '1.22'),
+    ('h5py', '3.14.0'),
+    ('PyTorch', '2.9.1', f'{versionsuffix}-whl'),
+    ('PyTorch-bundle', '2.9.1', f'{versionsuffix}-whl'),  # provides tensordict
+    ('tqdm', '4.67.1'),
+    ('wurlitzer', '3.1.1'),
 ]
 
 local_sed_commands = [
-    "sed -i 's/tensorflow.*/tensorflow/g;s/cffi==1.15.0/cffi/g' requirements.txt pyproject.toml",
-    # Python 3.11 support
-    "sed -i 's/8, 9, 10/8, 9, 10, 11/g;s/,<3.11//g' setup.py",
     # ont-parasail on PyPI is just pre-built wheels for (python-)parasail
     "sed -i 's/ont-parasail/parasail/g' requirements.txt",
+    # ont-mappy on PyPI is just pre-built wheels for mappy
+    "sed -i 's/ont-mappy/mappy/g' requirements.txt",
+    # pysam was only restricted to <=0.23.0 to work with test coverage
+    "sed -i 's/pysam>=0.16.0.1,<=0.23.0/pysam>=0.16.0.1/g' requirements.txt",
 ]
 
 exts_list = [
     ('mappy', _minimap_ver, {
-        'checksums': ['e53fbe9a3ea8762a64b8103f4f779c9fb16d418eaa0a731f45cebc83867a9b71'],
-    }),
-    ('wurlitzer', '3.1.1', {
-        'source_tmpl': SOURCE_PY3_WHL,
-        'checksums': ['0b2749c2cde3ef640bf314a9f94b24d929fe1ca476974719a6909dfc568c3aac'],
-    }),
-    # medaka 1.12.0 requires h5py ~=3.10.0
-    ('h5py', '3.10.0', {
-        'checksums': ['d93adc48ceeb33347eb24a634fb787efc7ae4644e6ea4ba733d099605045c049'],
+        'checksums': ['a25448004558a28cb0d74fb1e55b6ffe9a78aa15dd6b2763630fbbabbaa97a27'],
     }),
-    ('pyabpoa', '1.5.2', {
-        'checksums': ['be39c83b12e923c9e47073cb8f0abc4c42f609fa2c0ec13d6f6a4f5a0537ee06'],
+    ('pyabpoa', '1.5.6', {
+        'checksums': ['265f638c7fed0cde78cf0593c9e36121c1e718de1c73d7fa527dd62a7f90f191'],
+        'preinstallopts': "sed -i 's/license = \"MIT\"/license = {text = \"MIT\"}/' pyproject.toml && SSE2=1 ",
     }),
     (name, version, {
-        'checksums': ['df4baf7d1e9154de85229aef237919619ff6ae7f7d103abb0828e449ff977adf'],
-        # Some requirements are too strict.
+        'patches': ['medaka-2.2.1_use-system-htslib.patch'],
         'preinstallopts': " && ".join(local_sed_commands) + " && ",
+        'use_pip_extras': 'abpoa',
+        'checksums': [
+            '28ed7402af5c82aa5d62c28325c1b1d6961b69d3ee16b624f44a5dbc34edf44e',  # medaka-2.2.2.tar.gz
+            '2d3d43c912d4d238032781df2b4e30c8e7bbd09c05ac2fee3cdb96edb09f8419',  # system HTSlib patch
+        ],
     }),
 ]
 
 sanity_check_paths = {
-    'files': ['bin/medaka', 'bin/medaka_consensus', 'bin/medaka_version_report'],
-    'dirs': ['lib/python%(pyshortver)s/site-packages'],
+    'files': [
+        'bin/medaka',
+        'bin/medaka_consensus',
+        'bin/medaka_consensus_joint',
+        'bin/medaka_counts',
+        'bin/medaka_data_path',
+        'bin/medaka_variant',
+        'bin/medaka_version_report',
+        'bin/mini_align',
+    ],
+    'dirs': ['lib/python%(pyshortver)s/site-packages/medaka'],
 }
 
 sanity_check_commands = [
-    "medaka --help",
-    "medaka_version_report",
+    'medaka --help',
+    'medaka_version_report',
 ]
 
 moduleclass = 'bio'
Diff against medaka-1.12.0-foss-2023a-CUDA-12.1.1.eb

easybuild/easyconfigs/m/medaka/medaka-1.12.0-foss-2023a-CUDA-12.1.1.eb

diff --git a/easybuild/easyconfigs/m/medaka/medaka-1.12.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/m/medaka/medaka-2.2.2-foss-2025a-CUDA-12.8.0.eb
index c5ab82c0c0..3e4605c57f 100644
--- a/easybuild/easyconfigs/m/medaka/medaka-1.12.0-foss-2023a-CUDA-12.1.1.eb
+++ b/easybuild/easyconfigs/m/medaka/medaka-2.2.2-foss-2025a-CUDA-12.8.0.eb
@@ -7,76 +7,96 @@
 # Updated to 1.5.0
 # Jasper Grimm (UoY)
 # Updated: Petr Král (INUITS)
+# Updated: Emik Lin (HKUMed CPOS)
 
 easyblock = 'PythonBundle'
 
 name = 'medaka'
-version = '1.12.0'
+version = '2.2.2'
 versionsuffix = '-CUDA-%(cudaver)s'
 
 homepage = 'https://github.com/nanoporetech/medaka'
 description = "medaka is a tool to create a consensus sequence from nanopore sequencing data."
 
-toolchain = {'name': 'foss', 'version': '2023a'}
+toolchain = {'name': 'foss', 'version': '2025a'}
 toolchainopts = {'pic': True}
 
-builddependencies = [('Autotools', '20220317')]
+builddependencies = [
+    ('Autotools', '20240712'),
+    ('Cython', '3.1.1'),
+    ('CMake', '3.31.3'),
+    ('setuptools', '80.9.0'),
+    ('poetry', '2.1.2'),
+]
 
-_minimap_ver = '2.26'
+_minimap_ver = '2.30'
 dependencies = [
-    ('CUDA', '12.1.1', '', SYSTEM),
-    ('Python', '3.11.3'),
-    ('Python-bundle-PyPI', '2023.06'),  # includes cffi
-    ('TensorFlow', '2.15.1', versionsuffix),
-    ('Pysam', '0.22.0'),
-    ('SAMtools', '1.18'),
+    ('CUDA', '12.8.0', '', SYSTEM),
+    ('Python', '3.13.1'),
+    ('Python-bundle-PyPI', '2025.04'),  # includes cffi
+    ('Pysam', '0.23.3'),
+    ('SAMtools', '1.22.1'),
     ('minimap2', _minimap_ver),
-    ('HTSlib', '1.18'),  # for tabix, bgzip
-    ('Racon', '1.5.0'),
-    ('edlib', '1.3.9'),
+    ('HTSlib', '1.22.1'),  # for tabix and bgzip
+    ('edlib', '1.3.9.post1'),
     ('pyspoa', '0.2.1'),
     ('python-parasail', '1.3.4'),
-    ('ont-fast5-api', '4.1.2'),
-    ('WhatsHap', '2.2'),
-    ('intervaltree-python', '3.1.0'),
-    ('BCFtools', '1.18'),
+    ('ont-fast5-api', '4.1.3'),
+    ('WhatsHap', '2.6'),
+    ('intervaltree-python', '3.2.1'),
+    ('BCFtools', '1.22'),
+    ('h5py', '3.14.0'),
+    ('PyTorch', '2.9.1', f'{versionsuffix}-whl'),
+    ('PyTorch-bundle', '2.9.1', f'{versionsuffix}-whl'),  # provides tensordict
+    ('tqdm', '4.67.1'),
+    ('wurlitzer', '3.1.1'),
 ]
 
 local_sed_commands = [
-    "sed -i 's/tensorflow.*/tensorflow/g;s/cffi==1.15.0/cffi/g' requirements.txt pyproject.toml",
-    # Python 3.11 support
-    "sed -i 's/8, 9, 10/8, 9, 10, 11/g;s/,<3.11//g' setup.py",
+    # ont-parasail on PyPI is just pre-built wheels for (python-)parasail
+    "sed -i 's/ont-parasail/parasail/g' requirements.txt",
+    # ont-mappy on PyPI is just pre-built wheels for mappy
+    "sed -i 's/ont-mappy/mappy/g' requirements.txt",
+    # pysam was only restricted to <=0.23.0 to work with test coverage
+    "sed -i 's/pysam>=0.16.0.1,<=0.23.0/pysam>=0.16.0.1/g' requirements.txt",
 ]
 
 exts_list = [
     ('mappy', _minimap_ver, {
-        'checksums': ['e53fbe9a3ea8762a64b8103f4f779c9fb16d418eaa0a731f45cebc83867a9b71'],
-    }),
-    ('wurlitzer', '3.1.1', {
-        'source_tmpl': SOURCE_PY3_WHL,
-        'checksums': ['0b2749c2cde3ef640bf314a9f94b24d929fe1ca476974719a6909dfc568c3aac'],
-    }),
-    ('h5py', '3.10.0', {
-        'checksums': ['d93adc48ceeb33347eb24a634fb787efc7ae4644e6ea4ba733d099605045c049'],
+        'checksums': ['a25448004558a28cb0d74fb1e55b6ffe9a78aa15dd6b2763630fbbabbaa97a27'],
     }),
-    ('pyabpoa', '1.5.1', {
-        'checksums': ['878f981e890a421d92a0d7606705d0ad9813ae6086239460dfe4b0cfc7476174'],
+    ('pyabpoa', '1.5.6', {
+        'checksums': ['265f638c7fed0cde78cf0593c9e36121c1e718de1c73d7fa527dd62a7f90f191'],
+        'preinstallopts': "sed -i 's/license = \"MIT\"/license = {text = \"MIT\"}/' pyproject.toml && SSE2=1 ",
     }),
     (name, version, {
-        'checksums': ['039219204111a8114b1f72d87d0d3463e43473790cff4520c8afbd79cc8784d6'],
-        # Some requirements are too strict.
+        'patches': ['medaka-2.2.1_use-system-htslib.patch'],
         'preinstallopts': " && ".join(local_sed_commands) + " && ",
+        'use_pip_extras': 'abpoa',
+        'checksums': [
+            '28ed7402af5c82aa5d62c28325c1b1d6961b69d3ee16b624f44a5dbc34edf44e',  # medaka-2.2.2.tar.gz
+            '2d3d43c912d4d238032781df2b4e30c8e7bbd09c05ac2fee3cdb96edb09f8419',  # system HTSlib patch
+        ],
     }),
 ]
 
 sanity_check_paths = {
-    'files': ['bin/medaka', 'bin/medaka_consensus', 'bin/medaka_version_report'],
-    'dirs': ['lib/python%(pyshortver)s/site-packages'],
+    'files': [
+        'bin/medaka',
+        'bin/medaka_consensus',
+        'bin/medaka_consensus_joint',
+        'bin/medaka_counts',
+        'bin/medaka_data_path',
+        'bin/medaka_variant',
+        'bin/medaka_version_report',
+        'bin/mini_align',
+    ],
+    'dirs': ['lib/python%(pyshortver)s/site-packages/medaka'],
 }
 
 sanity_check_commands = [
-    "medaka --help",
-    "medaka_version_report",
+    'medaka --help',
+    'medaka_version_report',
 ]
 
 moduleclass = 'bio'

Updated software medaka-2.2.2-foss-2025a.eb

Diff against medaka-1.12.1-foss-2023a-CUDA-12.1.1.eb

easybuild/easyconfigs/m/medaka/medaka-1.12.1-foss-2023a-CUDA-12.1.1.eb

diff --git a/easybuild/easyconfigs/m/medaka/medaka-1.12.1-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/m/medaka/medaka-2.2.2-foss-2025a.eb
index a1756d2948..3a6703b261 100644
--- a/easybuild/easyconfigs/m/medaka/medaka-1.12.1-foss-2023a-CUDA-12.1.1.eb
+++ b/easybuild/easyconfigs/m/medaka/medaka-2.2.2-foss-2025a.eb
@@ -7,79 +7,94 @@
 # Updated to 1.5.0
 # Jasper Grimm (UoY)
 # Updated: Petr Král (INUITS)
+# Updated: Emik Lin (HKUMed CPOS)
 
 easyblock = 'PythonBundle'
 
 name = 'medaka'
-version = '1.12.1'
-versionsuffix = '-CUDA-%(cudaver)s'
+version = '2.2.2'
 
 homepage = 'https://github.com/nanoporetech/medaka'
 description = "medaka is a tool to create a consensus sequence from nanopore sequencing data."
 
-toolchain = {'name': 'foss', 'version': '2023a'}
+toolchain = {'name': 'foss', 'version': '2025a'}
 toolchainopts = {'pic': True}
 
-builddependencies = [('Autotools', '20220317')]
+builddependencies = [
+    ('Autotools', '20240712'),
+    ('Cython', '3.1.1'),
+    ('CMake', '3.31.3'),
+    ('setuptools', '80.9.0'),
+    ('poetry', '2.1.2'),
+]
 
-_minimap_ver = '2.26'
+_minimap_ver = '2.30'
 dependencies = [
-    ('CUDA', '12.1.1', '', SYSTEM),
-    ('Python', '3.11.3'),
-    ('Python-bundle-PyPI', '2023.06'),  # includes cffi
-    ('TensorFlow', '2.15.1', versionsuffix),
-    ('Pysam', '0.22.0'),
-    ('SAMtools', '1.18'),
+    ('Python', '3.13.1'),
+    ('Python-bundle-PyPI', '2025.04'),  # includes cffi
+    ('Pysam', '0.23.3'),
+    ('SAMtools', '1.22.1'),
     ('minimap2', _minimap_ver),
-    ('HTSlib', '1.18'),  # for tabix, bgzip
-    ('Racon', '1.5.0'),
-    ('edlib', '1.3.9'),
+    ('HTSlib', '1.22.1'),  # for tabix and bgzip
+    ('edlib', '1.3.9.post1'),
     ('pyspoa', '0.2.1'),
     ('python-parasail', '1.3.4'),
-    ('ont-fast5-api', '4.1.2'),
-    ('WhatsHap', '2.2'),
-    ('intervaltree-python', '3.1.0'),
-    ('BCFtools', '1.18'),
+    ('ont-fast5-api', '4.1.3'),
+    ('WhatsHap', '2.6'),
+    ('intervaltree-python', '3.2.1'),
+    ('BCFtools', '1.22'),
+    ('h5py', '3.14.0'),
+    ('PyTorch', '2.9.1', '-whl'),
+    ('PyTorch-bundle', '2.9.1', '-whl'),  # provides tensordict
+    ('tqdm', '4.67.1'),
+    ('wurlitzer', '3.1.1'),
 ]
 
 local_sed_commands = [
-    "sed -i 's/tensorflow.*/tensorflow/g;s/cffi==1.15.0/cffi/g' requirements.txt pyproject.toml",
-    # Python 3.11 support
-    "sed -i 's/8, 9, 10/8, 9, 10, 11/g;s/,<3.11//g' setup.py",
     # ont-parasail on PyPI is just pre-built wheels for (python-)parasail
     "sed -i 's/ont-parasail/parasail/g' requirements.txt",
+    # ont-mappy on PyPI is just pre-built wheels for mappy
+    "sed -i 's/ont-mappy/mappy/g' requirements.txt",
+    # pysam was only restricted to <=0.23.0 to work with test coverage
+    "sed -i 's/pysam>=0.16.0.1,<=0.23.0/pysam>=0.16.0.1/g' requirements.txt",
 ]
 
 exts_list = [
     ('mappy', _minimap_ver, {
-        'checksums': ['e53fbe9a3ea8762a64b8103f4f779c9fb16d418eaa0a731f45cebc83867a9b71'],
-    }),
-    ('wurlitzer', '3.1.1', {
-        'source_tmpl': SOURCE_PY3_WHL,
-        'checksums': ['0b2749c2cde3ef640bf314a9f94b24d929fe1ca476974719a6909dfc568c3aac'],
-    }),
-    # medaka 1.12.0 requires h5py ~=3.10.0
-    ('h5py', '3.10.0', {
-        'checksums': ['d93adc48ceeb33347eb24a634fb787efc7ae4644e6ea4ba733d099605045c049'],
+        'checksums': ['a25448004558a28cb0d74fb1e55b6ffe9a78aa15dd6b2763630fbbabbaa97a27'],
     }),
-    ('pyabpoa', '1.5.2', {
-        'checksums': ['be39c83b12e923c9e47073cb8f0abc4c42f609fa2c0ec13d6f6a4f5a0537ee06'],
+    ('pyabpoa', '1.5.6', {
+        'checksums': ['265f638c7fed0cde78cf0593c9e36121c1e718de1c73d7fa527dd62a7f90f191'],
+        'preinstallopts': "sed -i 's/license = \"MIT\"/license = {text = \"MIT\"}/' pyproject.toml && SSE2=1 ",
     }),
     (name, version, {
-        'checksums': ['df4baf7d1e9154de85229aef237919619ff6ae7f7d103abb0828e449ff977adf'],
-        # Some requirements are too strict.
+        'patches': ['medaka-2.2.1_use-system-htslib.patch'],
         'preinstallopts': " && ".join(local_sed_commands) + " && ",
+        'use_pip_extras': 'abpoa',
+        'checksums': [
+            '28ed7402af5c82aa5d62c28325c1b1d6961b69d3ee16b624f44a5dbc34edf44e',  # medaka-2.2.2.tar.gz
+            '2d3d43c912d4d238032781df2b4e30c8e7bbd09c05ac2fee3cdb96edb09f8419',  # system HTSlib patch
+        ],
     }),
 ]
 
 sanity_check_paths = {
-    'files': ['bin/medaka', 'bin/medaka_consensus', 'bin/medaka_version_report'],
-    'dirs': ['lib/python%(pyshortver)s/site-packages'],
+    'files': [
+        'bin/medaka',
+        'bin/medaka_consensus',
+        'bin/medaka_consensus_joint',
+        'bin/medaka_counts',
+        'bin/medaka_data_path',
+        'bin/medaka_variant',
+        'bin/medaka_version_report',
+        'bin/mini_align',
+    ],
+    'dirs': ['lib/python%(pyshortver)s/site-packages/medaka'],
 }
 
 sanity_check_commands = [
-    "medaka --help",
-    "medaka_version_report",
+    'medaka --help',
+    'medaka_version_report',
 ]
 
 moduleclass = 'bio'
Diff against medaka-1.12.1-foss-2023a.eb

easybuild/easyconfigs/m/medaka/medaka-1.12.1-foss-2023a.eb

diff --git a/easybuild/easyconfigs/m/medaka/medaka-1.12.1-foss-2023a.eb b/easybuild/easyconfigs/m/medaka/medaka-2.2.2-foss-2025a.eb
index f83df893ef..3a6703b261 100644
--- a/easybuild/easyconfigs/m/medaka/medaka-1.12.1-foss-2023a.eb
+++ b/easybuild/easyconfigs/m/medaka/medaka-2.2.2-foss-2025a.eb
@@ -7,77 +7,94 @@
 # Updated to 1.5.0
 # Jasper Grimm (UoY)
 # Updated: Petr Král (INUITS)
+# Updated: Emik Lin (HKUMed CPOS)
 
 easyblock = 'PythonBundle'
 
 name = 'medaka'
-version = '1.12.1'
+version = '2.2.2'
 
 homepage = 'https://github.com/nanoporetech/medaka'
 description = "medaka is a tool to create a consensus sequence from nanopore sequencing data."
 
-toolchain = {'name': 'foss', 'version': '2023a'}
+toolchain = {'name': 'foss', 'version': '2025a'}
 toolchainopts = {'pic': True}
 
-builddependencies = [('Autotools', '20220317')]
+builddependencies = [
+    ('Autotools', '20240712'),
+    ('Cython', '3.1.1'),
+    ('CMake', '3.31.3'),
+    ('setuptools', '80.9.0'),
+    ('poetry', '2.1.2'),
+]
 
-_minimap_ver = '2.26'
+_minimap_ver = '2.30'
 dependencies = [
-    ('Python', '3.11.3'),
-    ('Python-bundle-PyPI', '2023.06'),  # includes cffi
-    ('TensorFlow', '2.13.0'),
-    ('Pysam', '0.22.0'),
-    ('SAMtools', '1.18'),
+    ('Python', '3.13.1'),
+    ('Python-bundle-PyPI', '2025.04'),  # includes cffi
+    ('Pysam', '0.23.3'),
+    ('SAMtools', '1.22.1'),
     ('minimap2', _minimap_ver),
-    ('HTSlib', '1.18'),  # for tabix, bgzip
-    ('Racon', '1.5.0'),
-    ('edlib', '1.3.9'),
+    ('HTSlib', '1.22.1'),  # for tabix and bgzip
+    ('edlib', '1.3.9.post1'),
     ('pyspoa', '0.2.1'),
     ('python-parasail', '1.3.4'),
-    ('ont-fast5-api', '4.1.2'),
-    ('WhatsHap', '2.2'),
-    ('intervaltree-python', '3.1.0'),
-    ('BCFtools', '1.18'),
+    ('ont-fast5-api', '4.1.3'),
+    ('WhatsHap', '2.6'),
+    ('intervaltree-python', '3.2.1'),
+    ('BCFtools', '1.22'),
+    ('h5py', '3.14.0'),
+    ('PyTorch', '2.9.1', '-whl'),
+    ('PyTorch-bundle', '2.9.1', '-whl'),  # provides tensordict
+    ('tqdm', '4.67.1'),
+    ('wurlitzer', '3.1.1'),
 ]
 
 local_sed_commands = [
-    "sed -i 's/tensorflow.*/tensorflow/g;s/cffi==1.15.0/cffi/g' requirements.txt pyproject.toml",
-    # Python 3.11 support
-    "sed -i 's/8, 9, 10/8, 9, 10, 11/g;s/,<3.11//g' setup.py",
     # ont-parasail on PyPI is just pre-built wheels for (python-)parasail
     "sed -i 's/ont-parasail/parasail/g' requirements.txt",
+    # ont-mappy on PyPI is just pre-built wheels for mappy
+    "sed -i 's/ont-mappy/mappy/g' requirements.txt",
+    # pysam was only restricted to <=0.23.0 to work with test coverage
+    "sed -i 's/pysam>=0.16.0.1,<=0.23.0/pysam>=0.16.0.1/g' requirements.txt",
 ]
 
 exts_list = [
     ('mappy', _minimap_ver, {
-        'checksums': ['e53fbe9a3ea8762a64b8103f4f779c9fb16d418eaa0a731f45cebc83867a9b71'],
-    }),
-    ('wurlitzer', '3.1.1', {
-        'source_tmpl': SOURCE_PY3_WHL,
-        'checksums': ['0b2749c2cde3ef640bf314a9f94b24d929fe1ca476974719a6909dfc568c3aac'],
-    }),
-    # medaka 1.12.0 requires h5py ~=3.10.0
-    ('h5py', '3.10.0', {
-        'checksums': ['d93adc48ceeb33347eb24a634fb787efc7ae4644e6ea4ba733d099605045c049'],
+        'checksums': ['a25448004558a28cb0d74fb1e55b6ffe9a78aa15dd6b2763630fbbabbaa97a27'],
     }),
-    ('pyabpoa', '1.5.2', {
-        'checksums': ['be39c83b12e923c9e47073cb8f0abc4c42f609fa2c0ec13d6f6a4f5a0537ee06'],
+    ('pyabpoa', '1.5.6', {
+        'checksums': ['265f638c7fed0cde78cf0593c9e36121c1e718de1c73d7fa527dd62a7f90f191'],
+        'preinstallopts': "sed -i 's/license = \"MIT\"/license = {text = \"MIT\"}/' pyproject.toml && SSE2=1 ",
     }),
     (name, version, {
-        'checksums': ['df4baf7d1e9154de85229aef237919619ff6ae7f7d103abb0828e449ff977adf'],
-        # Some requirements are too strict.
+        'patches': ['medaka-2.2.1_use-system-htslib.patch'],
         'preinstallopts': " && ".join(local_sed_commands) + " && ",
+        'use_pip_extras': 'abpoa',
+        'checksums': [
+            '28ed7402af5c82aa5d62c28325c1b1d6961b69d3ee16b624f44a5dbc34edf44e',  # medaka-2.2.2.tar.gz
+            '2d3d43c912d4d238032781df2b4e30c8e7bbd09c05ac2fee3cdb96edb09f8419',  # system HTSlib patch
+        ],
     }),
 ]
 
 sanity_check_paths = {
-    'files': ['bin/medaka', 'bin/medaka_consensus', 'bin/medaka_version_report'],
-    'dirs': ['lib/python%(pyshortver)s/site-packages'],
+    'files': [
+        'bin/medaka',
+        'bin/medaka_consensus',
+        'bin/medaka_consensus_joint',
+        'bin/medaka_counts',
+        'bin/medaka_data_path',
+        'bin/medaka_variant',
+        'bin/medaka_version_report',
+        'bin/mini_align',
+    ],
+    'dirs': ['lib/python%(pyshortver)s/site-packages/medaka'],
 }
 
 sanity_check_commands = [
-    "medaka --help",
-    "medaka_version_report",
+    'medaka --help',
+    'medaka_version_report',
 ]
 
 moduleclass = 'bio'
Diff against medaka-1.12.0-foss-2023a-CUDA-12.1.1.eb

easybuild/easyconfigs/m/medaka/medaka-1.12.0-foss-2023a-CUDA-12.1.1.eb

diff --git a/easybuild/easyconfigs/m/medaka/medaka-1.12.0-foss-2023a-CUDA-12.1.1.eb b/easybuild/easyconfigs/m/medaka/medaka-2.2.2-foss-2025a.eb
index c5ab82c0c0..3a6703b261 100644
--- a/easybuild/easyconfigs/m/medaka/medaka-1.12.0-foss-2023a-CUDA-12.1.1.eb
+++ b/easybuild/easyconfigs/m/medaka/medaka-2.2.2-foss-2025a.eb
@@ -7,76 +7,94 @@
 # Updated to 1.5.0
 # Jasper Grimm (UoY)
 # Updated: Petr Král (INUITS)
+# Updated: Emik Lin (HKUMed CPOS)
 
 easyblock = 'PythonBundle'
 
 name = 'medaka'
-version = '1.12.0'
-versionsuffix = '-CUDA-%(cudaver)s'
+version = '2.2.2'
 
 homepage = 'https://github.com/nanoporetech/medaka'
 description = "medaka is a tool to create a consensus sequence from nanopore sequencing data."
 
-toolchain = {'name': 'foss', 'version': '2023a'}
+toolchain = {'name': 'foss', 'version': '2025a'}
 toolchainopts = {'pic': True}
 
-builddependencies = [('Autotools', '20220317')]
+builddependencies = [
+    ('Autotools', '20240712'),
+    ('Cython', '3.1.1'),
+    ('CMake', '3.31.3'),
+    ('setuptools', '80.9.0'),
+    ('poetry', '2.1.2'),
+]
 
-_minimap_ver = '2.26'
+_minimap_ver = '2.30'
 dependencies = [
-    ('CUDA', '12.1.1', '', SYSTEM),
-    ('Python', '3.11.3'),
-    ('Python-bundle-PyPI', '2023.06'),  # includes cffi
-    ('TensorFlow', '2.15.1', versionsuffix),
-    ('Pysam', '0.22.0'),
-    ('SAMtools', '1.18'),
+    ('Python', '3.13.1'),
+    ('Python-bundle-PyPI', '2025.04'),  # includes cffi
+    ('Pysam', '0.23.3'),
+    ('SAMtools', '1.22.1'),
     ('minimap2', _minimap_ver),
-    ('HTSlib', '1.18'),  # for tabix, bgzip
-    ('Racon', '1.5.0'),
-    ('edlib', '1.3.9'),
+    ('HTSlib', '1.22.1'),  # for tabix and bgzip
+    ('edlib', '1.3.9.post1'),
     ('pyspoa', '0.2.1'),
     ('python-parasail', '1.3.4'),
-    ('ont-fast5-api', '4.1.2'),
-    ('WhatsHap', '2.2'),
-    ('intervaltree-python', '3.1.0'),
-    ('BCFtools', '1.18'),
+    ('ont-fast5-api', '4.1.3'),
+    ('WhatsHap', '2.6'),
+    ('intervaltree-python', '3.2.1'),
+    ('BCFtools', '1.22'),
+    ('h5py', '3.14.0'),
+    ('PyTorch', '2.9.1', '-whl'),
+    ('PyTorch-bundle', '2.9.1', '-whl'),  # provides tensordict
+    ('tqdm', '4.67.1'),
+    ('wurlitzer', '3.1.1'),
 ]
 
 local_sed_commands = [
-    "sed -i 's/tensorflow.*/tensorflow/g;s/cffi==1.15.0/cffi/g' requirements.txt pyproject.toml",
-    # Python 3.11 support
-    "sed -i 's/8, 9, 10/8, 9, 10, 11/g;s/,<3.11//g' setup.py",
+    # ont-parasail on PyPI is just pre-built wheels for (python-)parasail
+    "sed -i 's/ont-parasail/parasail/g' requirements.txt",
+    # ont-mappy on PyPI is just pre-built wheels for mappy
+    "sed -i 's/ont-mappy/mappy/g' requirements.txt",
+    # pysam was only restricted to <=0.23.0 to work with test coverage
+    "sed -i 's/pysam>=0.16.0.1,<=0.23.0/pysam>=0.16.0.1/g' requirements.txt",
 ]
 
 exts_list = [
     ('mappy', _minimap_ver, {
-        'checksums': ['e53fbe9a3ea8762a64b8103f4f779c9fb16d418eaa0a731f45cebc83867a9b71'],
-    }),
-    ('wurlitzer', '3.1.1', {
-        'source_tmpl': SOURCE_PY3_WHL,
-        'checksums': ['0b2749c2cde3ef640bf314a9f94b24d929fe1ca476974719a6909dfc568c3aac'],
-    }),
-    ('h5py', '3.10.0', {
-        'checksums': ['d93adc48ceeb33347eb24a634fb787efc7ae4644e6ea4ba733d099605045c049'],
+        'checksums': ['a25448004558a28cb0d74fb1e55b6ffe9a78aa15dd6b2763630fbbabbaa97a27'],
     }),
-    ('pyabpoa', '1.5.1', {
-        'checksums': ['878f981e890a421d92a0d7606705d0ad9813ae6086239460dfe4b0cfc7476174'],
+    ('pyabpoa', '1.5.6', {
+        'checksums': ['265f638c7fed0cde78cf0593c9e36121c1e718de1c73d7fa527dd62a7f90f191'],
+        'preinstallopts': "sed -i 's/license = \"MIT\"/license = {text = \"MIT\"}/' pyproject.toml && SSE2=1 ",
     }),
     (name, version, {
-        'checksums': ['039219204111a8114b1f72d87d0d3463e43473790cff4520c8afbd79cc8784d6'],
-        # Some requirements are too strict.
+        'patches': ['medaka-2.2.1_use-system-htslib.patch'],
         'preinstallopts': " && ".join(local_sed_commands) + " && ",
+        'use_pip_extras': 'abpoa',
+        'checksums': [
+            '28ed7402af5c82aa5d62c28325c1b1d6961b69d3ee16b624f44a5dbc34edf44e',  # medaka-2.2.2.tar.gz
+            '2d3d43c912d4d238032781df2b4e30c8e7bbd09c05ac2fee3cdb96edb09f8419',  # system HTSlib patch
+        ],
     }),
 ]
 
 sanity_check_paths = {
-    'files': ['bin/medaka', 'bin/medaka_consensus', 'bin/medaka_version_report'],
-    'dirs': ['lib/python%(pyshortver)s/site-packages'],
+    'files': [
+        'bin/medaka',
+        'bin/medaka_consensus',
+        'bin/medaka_consensus_joint',
+        'bin/medaka_counts',
+        'bin/medaka_data_path',
+        'bin/medaka_variant',
+        'bin/medaka_version_report',
+        'bin/mini_align',
+    ],
+    'dirs': ['lib/python%(pyshortver)s/site-packages/medaka'],
 }
 
 sanity_check_commands = [
-    "medaka --help",
-    "medaka_version_report",
+    'medaka --help',
+    'medaka_version_report',
 ]
 
 moduleclass = 'bio'

@jfgrimm jfgrimm added the AI-assisted AI-assisted contributions label Aug 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2025a issues & PRs related to 2025a common toolchains AI-assisted AI-assisted contributions update

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants