From 9d5e822081f491ebc8068b619b14f8ddbabc4668 Mon Sep 17 00:00:00 2001 From: Dylan House Date: Sun, 18 Oct 2026 20:07:57 +0100 Subject: [PATCH 01/23] Add longphase/modcall module --- .../linux_amd64-bd-6d58bf051d402041_1.txt | 314 ++++++++++++++++++ .../linux_arm64-bd-810c5e520ba00a6c_1.txt | 290 ++++++++++++++++ .../nf-core/longphase/modcall/environment.yml | 8 + modules/nf-core/longphase/modcall/main.nf | 51 +++ modules/nf-core/longphase/modcall/meta.yml | 120 +++++++ .../longphase/modcall/tests/main.nf.test | 134 ++++++++ .../longphase/modcall/tests/main.nf.test.snap | 106 ++++++ 7 files changed, 1023 insertions(+) create mode 100644 modules/nf-core/longphase/modcall/.conda-lock/linux_amd64-bd-6d58bf051d402041_1.txt create mode 100644 modules/nf-core/longphase/modcall/.conda-lock/linux_arm64-bd-810c5e520ba00a6c_1.txt create mode 100644 modules/nf-core/longphase/modcall/environment.yml create mode 100644 modules/nf-core/longphase/modcall/main.nf create mode 100644 modules/nf-core/longphase/modcall/meta.yml create mode 100644 modules/nf-core/longphase/modcall/tests/main.nf.test create mode 100644 modules/nf-core/longphase/modcall/tests/main.nf.test.snap diff --git a/modules/nf-core/longphase/modcall/.conda-lock/linux_amd64-bd-6d58bf051d402041_1.txt b/modules/nf-core/longphase/modcall/.conda-lock/linux_amd64-bd-6d58bf051d402041_1.txt new file mode 100644 index 000000000000..30d2e7e2570b --- /dev/null +++ b/modules/nf-core/longphase/modcall/.conda-lock/linux_amd64-bd-6d58bf051d402041_1.txt @@ -0,0 +1,314 @@ + +version: 6 +environments: +default: +channels: +- url: https://conda.anaconda.org/conda-forge/ +- url: https://conda.anaconda.org/bioconda/ +- url: https://conda.anaconda.org/bioconda/ +options: +pypi-prerelease-mode: if-necessary-or-explicit +packages: +linux-64: +- conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_10.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.8-hebe6cf0_2.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-py310h44b86e0_2.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-h7cc23a3_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-hbc21106_2.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.23.0-ha042cf0_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20260512-pl5321h373387f_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h280c20c_3.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-16.2.0-ha9f2e26_7.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-16.2.0-he0feb66_7.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h74cf4be_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpsl-0.23.1-hd9e3e90_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-h6154650_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-16.2.0-h934c35e_7.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.conda +- conda: https://conda.anaconda.org/bioconda/linux-64/longphase-2.1.1-h4e109e1_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.5-h781a0a9_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/procps-ng-4.0.6-h18c060e_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/which-2.25-h171cf75_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_7.conda +packages: +- conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda +build_number: 20 +sha256: 1dd3fffd892081df9726d7eb7e0dea6198962ba775bd88842135a4ddb4deb3c9 +md5: a9f577daf3de00bca7c3c76c0ecbd1de +depends: +- __glibc >=2.17,<3.0.a0 +- libgomp >=7.5.0 +constrains: +- openmp_impl <0.0a0 +license: BSD-3-Clause +license_family: BSD +size: 28948 +timestamp: 1770939786096 +- conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_10.conda +sha256: 1a0d382c515ebf55f8ee1f38c8b81bc95af5c2acc42ad53b66bc5df932032f96 +md5: e675fabcf81499adc7edf58124fb1e01 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +license: bzip2-1.0.6 +license_family: BSD +size: 257808 +timestamp: 1785906269155 +- conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.8-hebe6cf0_2.conda +sha256: 9c37cc233238adf366ea75b0e845662a5be07ceadf62e458183516369340274b +md5: 3ad2b403be8fc5612b9159e2ce621f69 +depends: +- libgcc >=15 +- __glibc >=2.17,<3.0.a0 +license: MIT +license_family: MIT +size: 228700 +timestamp: 1787169971173 +- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda +sha256: 0a0544cf95f64394fe4959286f5c71f5444ad58feb0602e53becb27448d24da6 +md5: 0f51e2391ade309db462a55611263e9c +depends: +- __unix +license: ISC +size: 131780 +timestamp: 1784754889428 +- conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-py310h44b86e0_2.conda +sha256: 9f07834f0c546ab14d885ce0366285f61f44e326c0edd1fc63b8294e113ae432 +md5: 72a381cbad04f24b1c2a43ef707f45b4 +depends: +- __glibc >=2.17,<3.0.a0 +- libstdcxx >=14 +- libgcc >=14 +license: MIT +license_family: MIT +size: 14459115 +timestamp: 1786545741408 +- conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-h7cc23a3_1.conda +sha256: dd053c96dcb0dcfd59422aefea9d2fe937a190167f34fba7893ec1e10a7e8963 +md5: ba55d1b89fd7775e67de8291029b4059 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=15 +license: LGPL-2.1-or-later +size: 135295 +timestamp: 1786739238128 +- conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-hbc21106_2.conda +sha256: 2a5c38c85e63df84c4e69ee71439841ce570d259ae3060627bb9a49a938d66f4 +md5: 53318d715316929a574f83591308b1f8 +depends: +- __glibc >=2.17,<3.0.a0 +- keyutils >=1.6.3,<2.0a0 +- libedit >=3.1.20250104,<3.2.0a0 +- libedit >=3.1.20250104,<4.0a0 +- libgcc >=15 +- libstdcxx >=15 +- openssl >=3.5.7,<4.0a0 +license: MIT +license_family: MIT +size: 1394333 +timestamp: 1786762112514 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.23.0-ha042cf0_0.conda +sha256: d2db14d80efb4f2e76e76561c633f1767f7543987f2bcb54a067a9d264d432ab +md5: 0ad16151226df493aed967f0efce0e80 +depends: +- __glibc >=2.17,<3.0.a0 +- krb5 >=1.22.2,<1.23.0a0 +- libgcc >=15 +- libnghttp2 >=1.68.1,<2.0a0 +- libpsl >=0.23.1,<0.24.0a0 +- libssh2 >=1.11.1,<2.0a0 +- libzlib >=1.3.2,<2.0a0 +- openssl >=3.5.9,<4.0a0 +- zstd >=1.5.7,<1.6.0a0 +license: curl +license_family: MIT +size: 505683 +timestamp: 1791990900844 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20260512-pl5321h373387f_0.conda +sha256: 45301f14f4eb66da57cfaf2d265f3eeee73f8b07e99614ee3afc5b26eea91126 +md5: 27dbd7e2984b8fe48e069379636ccfdd +depends: +- ncurses +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- ncurses >=6.6,<7.0a0 +license: BSD-2-Clause +license_family: BSD +size: 135877 +timestamp: 1791327370514 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h280c20c_3.conda +sha256: e4418f68d01a6307c4431b585c71b584f40189877364e542ee87deb777f5e85b +md5: 7bc31538d6e3fb349e897353969237ec +depends: +- libgcc >=14 +- __glibc >=2.17,<3.0.a0 +license: BSD-2-Clause OR GPL-2.0-or-later +license_family: GPL +size: 43220 +timestamp: 1785917328200 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-16.2.0-ha9f2e26_7.conda +sha256: e031634c3a928f9594eba868bc46ef5230d6571a364a0c63215b06c4563bfcea +md5: 735629b400b70eeab21a2ba8f5b1c2ce +depends: +- __glibc >=2.17,<3.0.a0 +- _openmp_mutex >=4.5 +constrains: +- libgcc-ng ==16.2.0=*_7 +- libgomp 16.2.0 he0feb66_7 +license: GPL-3.0-only WITH GCC-exception-3.1 +license_family: GPL +size: 1058444 +timestamp: 1790303109576 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-16.2.0-he0feb66_7.conda +sha256: 92a0bb350c7be6a4eedcb4e111c60aefd176018e6b1c009a6e025dbe9bbcd758 +md5: d904c7ddd95e026254b4b80808ee9e12 +depends: +- __glibc >=2.17,<3.0.a0 +license: GPL-3.0-only WITH GCC-exception-3.1 +license_family: GPL +size: 640566 +timestamp: 1790303046034 +- conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda +sha256: 9787df8c22a59c9a70d3e5a10db9ad663485e75e9ccc3f09bd092cb7b95e0dab +md5: 1390b7c5ac0b1d8e447bc5efa6d3c8c2 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +constrains: +- xz 5.8.3.* +license: 0BSD +size: 112995 +timestamp: 1786348617826 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.68.1-h74cf4be_1.conda +sha256: 11a2f54a6f391e25738bce0023e6ef499600147bbcf21c1fa69d2e251b03cc6a +md5: 75d211f04ac87506f1f43420712a69fe +depends: +- __glibc >=2.17,<3.0.a0 +- c-ares >=1.34.8,<2.0a0 +- libev >=4.33,<4.34.0a0 +- libev >=4.33,<5.0a0 +- libgcc >=15 +- libstdcxx >=15 +- libzlib >=1.3.2,<2.0a0 +- openssl >=3.5.7,<4.0a0 +license: MIT +license_family: MIT +size: 649974 +timestamp: 1787177490105 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libpsl-0.23.1-hd9e3e90_1.conda +sha256: 09e8effdc89bc5d021349318d32b85594f5b8d8e3ab8f90a85b81f8fe695a566 +md5: 77be60417aa572afcb48cbe0f967401d +depends: +- libstdcxx >=15 +- libgcc >=15 +- __glibc >=2.17,<3.0.a0 +- icu >=78.3,<79.0a0 +license: MIT +license_family: MIT +size: 72519 +timestamp: 1786970753847 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.1-h6154650_1.conda +sha256: 7e463000fa1cba3f3a6597b776f6ab301d425a96e3bc20d0d9d76a3b9f237aa3 +md5: 5c526561e1d2a2e071941174eae84557 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- libzlib >=1.3.2,<2.0a0 +- openssl >=3.5.7,<4.0a0 +license: BSD-3-Clause +license_family: BSD +size: 306045 +timestamp: 1786713107897 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-16.2.0-h934c35e_7.conda +sha256: fa7018298629fc429971fffd6ecba3d27a7b02e4e890d6a93ea01ffebe8cb745 +md5: 9b6707e0caca917fa6ea9ee473f37a5d +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc 16.2.0 ha9f2e26_7 +constrains: +- libstdcxx-ng ==16.2.0=*_7 +license: GPL-3.0-only WITH GCC-exception-3.1 +license_family: GPL +size: 6615436 +timestamp: 1790303132935 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.conda +sha256: eb8a0db0aa570124f7d2a93d7c7f596e3390df5e047818d873baad32985fc736 +md5: 0de0122d9570a8ab637c6b73db268389 +depends: +- __glibc >=2.17,<3.0.a0 +constrains: +- zlib 1.3.2 *_3 +license: Zlib +license_family: Other +size: 63713 +timestamp: 1785362952714 +- conda: https://conda.anaconda.org/bioconda/linux-64/longphase-2.1.1-h4e109e1_0.conda +sha256: d3aa1dc9a2801bb690bc8183002cf5e46ce0fef23695c6020d39873a78213b14 +md5: 6c87f006f3d261dce77d86a5dd8d19cc +depends: +- bzip2 >=1.0.8,<2.0a0 +- libcurl >=8.23.0,<9.0a0 +- libgcc >=14 +- liblzma >=5.8.3,<6.0a0 +- libstdcxx >=14 +- libzlib >=1.3.2,<2.0a0 +license: GPL-3.0-only +license_family: GPL3 +size: 8783287 +timestamp: 1792121337773 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda +sha256: 5d46557214ed184381dafe835b7c94a474a1c3b307a08a250b1ea4779b44ffb3 +md5: ee6c0cd80a60961a1f48aa3e0b91f986 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +license: X11 AND BSD-3-Clause +size: 911196 +timestamp: 1786355078102 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.5-h781a0a9_0.conda +sha256: 9c1533f1cf784f0e250919c0c9762d0b0e6bc727a79290ffb7cea1ceca1d038c +md5: 5a51a2ea653f120240b1a9bf76e0aae9 +depends: +- __glibc >=2.17,<3.0.a0 +- ca-certificates +- libgcc >=15 +license: Apache-2.0 +license_family: Apache +size: 3195299 +timestamp: 1791098052301 +- conda: https://conda.anaconda.org/conda-forge/linux-64/procps-ng-4.0.6-h18c060e_0.conda +sha256: 4ce2e1ee31a6217998f78c31ce7dc0a3e0557d9238b51d49dd20c52d467a126d +md5: f2c23a77b25efcad57d377b34bd84941 +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=14 +- ncurses >=6.5,<7.0a0 +license: GPL-2.0-or-later AND LGPL-2.0-or-later +license_family: GPL +size: 593603 +timestamp: 1769710381284 +- conda: https://conda.anaconda.org/conda-forge/linux-64/which-2.25-h171cf75_0.conda +sha256: 2bf9a40d86d29fd5c30d0febec99d06398143ddeece9ebb175cc5a6d20279943 +md5: f16d4aec5e8135e8e7bba02ef600149e +depends: +- __glibc >=2.17,<3.0.a0 +- libstdcxx >=14 +- libgcc >=14 +license: GPL-3.0-only +license_family: GPL +size: 38560 +timestamp: 1779439547766 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_7.conda +sha256: 47d682b9f6d6ec9eb1a6e6c3e75ea6273e899e78fb7fc59f81d39745009fbc60 +md5: aa459086047c0e5e27023ab19f8cb86a +depends: +- __glibc >=2.17,<3.0.a0 +- libzlib >=1.3.2,<2.0a0 +license: BSD-3-Clause +license_family: BSD +size: 601301 +timestamp: 1786599621503 diff --git a/modules/nf-core/longphase/modcall/.conda-lock/linux_arm64-bd-810c5e520ba00a6c_1.txt b/modules/nf-core/longphase/modcall/.conda-lock/linux_arm64-bd-810c5e520ba00a6c_1.txt new file mode 100644 index 000000000000..daf1e681df69 --- /dev/null +++ b/modules/nf-core/longphase/modcall/.conda-lock/linux_arm64-bd-810c5e520ba00a6c_1.txt @@ -0,0 +1,290 @@ + +version: 6 +environments: +default: +channels: +- url: https://conda.anaconda.org/conda-forge/ +- url: https://conda.anaconda.org/bioconda/ +- url: https://conda.anaconda.org/bioconda/ +options: +pypi-prerelease-mode: if-necessary-or-explicit +packages: +linux-aarch64: +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_10.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/c-ares-1.34.8-h29ee22c_2.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-py311h3512406_2.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/keyutils-1.6.3-h5bc82ec_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/krb5-1.22.2-h095d8e5_2.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcurl-8.23.0-h86273da_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libedit-3.1.20260512-pl5321hc48eb74_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libev-4.33-h80f16a2_3.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-16.2.0-h205dda4_7.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-16.2.0-h8acb6b2_7.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnghttp2-1.68.1-ha4b982d_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpsl-0.23.1-hb8431ed_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libssh2-1.11.1-h7572e3e_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-16.2.0-hef695bb_7.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_3.conda +- conda: https://conda.anaconda.org/bioconda/linux-aarch64/longphase-2.1.1-h02b7777_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.6-h2b6f883_1.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.5-he6ad1d5_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/procps-ng-4.0.6-h1779866_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/which-2.25-hdc560ac_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h9d15635_7.conda +packages: +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda +build_number: 20 +sha256: a2527b1d81792a0ccd2c05850960df119c2b6d8f5fdec97f2db7d25dc23b1068 +md5: 468fd3bb9e1f671d36c2cbc677e56f1d +depends: +- libgomp >=7.5.0 +constrains: +- openmp_impl <0.0a0 +license: BSD-3-Clause +license_family: BSD +size: 28926 +timestamp: 1770939656741 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_10.conda +sha256: 24eacc8a20fd7c4616566178562bef7f9344eb4a8700cfc3180fa75a6ff9d39f +md5: fd544ef1c672d645bf78e5819cbb8f91 +depends: +- libgcc >=14 +license: bzip2-1.0.6 +license_family: BSD +size: 194694 +timestamp: 1785906301397 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/c-ares-1.34.8-h29ee22c_2.conda +sha256: 3838d10a78c206a1a4ec7ff041880b4f9b8ecde3520c911daae9e06baeb8858e +md5: eb80eb38625b8552a099aa88f8ba5db7 +depends: +- libgcc >=15 +license: MIT +license_family: MIT +size: 241210 +timestamp: 1787169968125 +- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda +sha256: 0a0544cf95f64394fe4959286f5c71f5444ad58feb0602e53becb27448d24da6 +md5: 0f51e2391ade309db462a55611263e9c +depends: +- __unix +license: ISC +size: 131780 +timestamp: 1784754889428 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-py311h3512406_2.conda +sha256: 54d921defd947adb58a90e10203d3bfe6c1f209f5f1a1ad2c6a9f7617f2fb59e +md5: b35bbb1b957440ed742f35fb96eb7f1c +depends: +- libgcc >=14 +- libstdcxx >=14 +license: MIT +license_family: MIT +size: 14688525 +timestamp: 1786545779464 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/keyutils-1.6.3-h5bc82ec_1.conda +sha256: 3999b1472f1e549a0b766428e2823abf20626aac5314b474c9b76bf6eb679def +md5: 6d9be306ecb8dfc9ff46f02cb367d5c2 +depends: +- libgcc >=15 +license: LGPL-2.1-or-later +size: 129546 +timestamp: 1786739205968 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/krb5-1.22.2-h095d8e5_2.conda +sha256: 601d79af94d9562ba70e2d4947034ba159aae293a3c860855335a7c76c14400e +md5: a4d0da122ba952abf76981e76d0d283c +depends: +- keyutils >=1.6.3,<2.0a0 +- libedit >=3.1.20250104,<3.2.0a0 +- libedit >=3.1.20250104,<4.0a0 +- libgcc >=15 +- libstdcxx >=15 +- openssl >=3.5.7,<4.0a0 +license: MIT +license_family: MIT +size: 1538590 +timestamp: 1786762058856 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcurl-8.23.0-h86273da_0.conda +sha256: 4a9bc4ef7f6ddaef61a900d360214fb285c6aa474a3d7e1c5e4e42b4b2e36697 +md5: 23729bcd7d0045ad537a9cfa6329ac51 +depends: +- krb5 >=1.22.2,<1.23.0a0 +- libgcc >=15 +- libnghttp2 >=1.68.1,<2.0a0 +- libpsl >=0.23.1,<0.24.0a0 +- libssh2 >=1.11.1,<2.0a0 +- libzlib >=1.3.2,<2.0a0 +- openssl >=3.5.9,<4.0a0 +- zstd >=1.5.7,<1.6.0a0 +license: curl +license_family: MIT +size: 529565 +timestamp: 1791990806492 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libedit-3.1.20260512-pl5321hc48eb74_0.conda +sha256: 58fd637d0219016bb69edf2973b089975de283e8a38149d69ef586b8fc4ad90b +md5: 3ffb447961508502fc81e063ca2071cb +depends: +- ncurses +- libgcc >=14 +- ncurses >=6.6,<7.0a0 +license: BSD-2-Clause +license_family: BSD +size: 149680 +timestamp: 1791327362947 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libev-4.33-h80f16a2_3.conda +sha256: 4475f79a020e9ff2a5a0308c48cb2970a25d55c3dd724a97ab28bfac3be6cd49 +md5: f679b30a53d410d0b5ae0cb8f5b7397e +depends: +- libgcc >=14 +license: BSD-2-Clause OR GPL-2.0-or-later +license_family: GPL +size: 45746 +timestamp: 1785917328690 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-16.2.0-h205dda4_7.conda +sha256: eae7a3449d5a3b5351c5427137c076cc3fc826645c7bfc42dc10772b783826f1 +md5: 489d5c9dc62265b3f6a57f9a106f1caf +depends: +- _openmp_mutex >=4.5 +constrains: +- libgcc-ng ==16.2.0=*_7 +- libgomp 16.2.0 h8acb6b2_7 +license: GPL-3.0-only WITH GCC-exception-3.1 +license_family: GPL +size: 627793 +timestamp: 1790302345214 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-16.2.0-h8acb6b2_7.conda +sha256: 4406fd67c5beeb99b9372f9bf07aa3e40ca141e337eceebac3ff64aa72799494 +md5: 259ded79ac497cfbcf5434540e8b81b6 +license: GPL-3.0-only WITH GCC-exception-3.1 +license_family: GPL +size: 617342 +timestamp: 1790302273072 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_1.conda +sha256: f760669fd1cea27f689f411c0d5488e26ce50e382c9b63e4ad348f959850124a +md5: e0e6411a60d00186eec7c73f4118ab67 +depends: +- libgcc >=14 +constrains: +- xz 5.8.3.* +license: 0BSD +size: 125578 +timestamp: 1786348561649 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libnghttp2-1.68.1-ha4b982d_1.conda +sha256: 0c28d734512fa2c66a232b2f3968eae7124dbd6ad42c594c752f1d08dfb86195 +md5: ff4b2b7c169c438bf648fb14f369c3b9 +depends: +- c-ares >=1.34.8,<2.0a0 +- libev >=4.33,<4.34.0a0 +- libev >=4.33,<5.0a0 +- libgcc >=15 +- libstdcxx >=15 +- libzlib >=1.3.2,<2.0a0 +- openssl >=3.5.7,<4.0a0 +license: MIT +license_family: MIT +size: 734829 +timestamp: 1787177407983 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpsl-0.23.1-hb8431ed_1.conda +sha256: 757f79c182ac3080cf416acd91c7643b8074b8b2e5c1eba0ffc5a16897feb84b +md5: 5ab41e5e70b78eb00ef62cdaa35cd86f +depends: +- libgcc >=15 +- libstdcxx >=15 +- icu >=78.3,<79.0a0 +license: MIT +license_family: MIT +size: 73118 +timestamp: 1786970733378 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libssh2-1.11.1-h7572e3e_1.conda +sha256: f6fef76c1c8899d7976030871b8cd8016b0a306d2b8519834cd6491d6a42fb82 +md5: 833be3f226277d894df3c7a7131d9532 +depends: +- libgcc >=14 +- libzlib >=1.3.2,<2.0a0 +- openssl >=3.5.7,<4.0a0 +license: BSD-3-Clause +license_family: BSD +size: 315682 +timestamp: 1786713068743 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-16.2.0-hef695bb_7.conda +sha256: b241a3acfa9cdb1359112864a1241225533c92642de3000d52ae65ef5d3a9786 +md5: 6c823668e78160957d1b061ceec15c2c +depends: +- libgcc 16.2.0 h205dda4_7 +constrains: +- libstdcxx-ng ==16.2.0=*_7 +license: GPL-3.0-only WITH GCC-exception-3.1 +license_family: GPL +size: 6236630 +timestamp: 1790302364054 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_3.conda +sha256: 76efa6cc9d7e6f5ee3bbca0939f64054af2bdfb3c3632531f8e633cf6c2ea41e +md5: bd534c2fbe56d8c2ea3b2d8f5e12bca8 +constrains: +- zlib 1.3.2 *_3 +license: Zlib +license_family: Other +size: 70108 +timestamp: 1785276540870 +- conda: https://conda.anaconda.org/bioconda/linux-aarch64/longphase-2.1.1-h02b7777_0.conda +sha256: d092300074357df086cc6b1cec194c3580e7c8d064cf0d85ff986148b7e936b8 +md5: 3faf4c7fb38dfd9a17308c2705cb7732 +depends: +- bzip2 >=1.0.8,<2.0a0 +- libcurl >=8.23.0,<9.0a0 +- libgcc >=14 +- liblzma >=5.8.3,<6.0a0 +- libstdcxx >=14 +- libzlib >=1.3.2,<2.0a0 +license: GPL-3.0-only +license_family: GPL3 +size: 8627054 +timestamp: 1792120791128 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.6-h2b6f883_1.conda +sha256: d69a04914139627f0a6bfd19412d6c7f1e37edc896af84a6011e07e8bc1e69fa +md5: c3b4349171ca987ff33a1de61f7b3f96 +depends: +- libgcc >=14 +license: X11 AND BSD-3-Clause +size: 955422 +timestamp: 1786355019431 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.5-he6ad1d5_0.conda +sha256: 238136f1df197ecd89bafd728a34d0642176f3170423d13d8276746d675a9485 +md5: 92aec5ec417d2ce9ae109e6c5ad377ff +depends: +- ca-certificates +- libgcc >=15 +license: Apache-2.0 +license_family: Apache +size: 3716078 +timestamp: 1791097887829 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/procps-ng-4.0.6-h1779866_0.conda +sha256: e9cbcbc94e151ada3d6dc365380aaaf591f65012c16d9a2abaea4b9b90adc402 +md5: ab7288cc39545556d1bc5e71ab2df9a9 +depends: +- libgcc >=14 +- ncurses >=6.5,<7.0a0 +license: GPL-2.0-or-later AND LGPL-2.0-or-later +license_family: GPL +size: 636733 +timestamp: 1769712412683 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/which-2.25-hdc560ac_0.conda +sha256: 720691eb59b86f11ceb21b236b9402d59c47d156183375d2b24c53a201dd874b +md5: 6dc4b55fc391a3d51ff12a6fed979562 +depends: +- libstdcxx >=14 +- libgcc >=14 +license: GPL-3.0-only +license_family: GPL +size: 40249 +timestamp: 1779439555623 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h9d15635_7.conda +sha256: 427fd14bcb3b8659796fecc682716617409350fb5a98e5b7b47558a10d1a2fc7 +md5: d942e34ac3920ba83f8b2d0169570187 +depends: +- libzlib >=1.3.2,<2.0a0 +license: BSD-3-Clause +license_family: BSD +size: 615477 +timestamp: 1786599613561 diff --git a/modules/nf-core/longphase/modcall/environment.yml b/modules/nf-core/longphase/modcall/environment.yml new file mode 100644 index 000000000000..a2bbdec62244 --- /dev/null +++ b/modules/nf-core/longphase/modcall/environment.yml @@ -0,0 +1,8 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + - bioconda::htslib=1.23.1 + - bioconda::longphase=2.1.1 diff --git a/modules/nf-core/longphase/modcall/main.nf b/modules/nf-core/longphase/modcall/main.nf new file mode 100644 index 000000000000..025ca6bbb9d2 --- /dev/null +++ b/modules/nf-core/longphase/modcall/main.nf @@ -0,0 +1,51 @@ +process LONGPHASE_MODCALL { + tag "$meta.id" + label 'process_medium' + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container +? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8d/8df742ea6593a33f7452d3e859896a7008db93d4f8d90e168b7154c0f8029980/data' +: 'community.wave.seqera.io/library/longphase:2.1.1--6d58bf051d402041' }" + + input: + tuple val(meta), path(bam), path(bai), path(snvs) + tuple val(meta2), path(fasta), path(fai) + + output: + tuple val(meta), path("${prefix}.vcf.gz"), emit: vcf + tuple val("${task.process}"), val('longphase'), eval("longphase --version"), topic: versions, emit: versions_longphase + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def args2 = task.ext.args2 ?: '' + def snv_file = snvs ? "--snp-file ${snvs}" : '' + prefix = task.ext.prefix ?: "${meta.id}" + """ + longphase \\ + modcall \\ + $args \\ + -t $task.cpus \\ + -r ${fasta} \\ + -b ${bam} \\ + ${snv_file} \\ + -o ${prefix} + + bgzip \\ + --threads $task.cpus \\ + $args2 \\ + ${prefix}.vcf + """ + + stub: + prefix = task.ext.prefix ?: "${meta.id}" + """ + echo "" | gzip > ${prefix}.vcf.gz + """ + + + + +} diff --git a/modules/nf-core/longphase/modcall/meta.yml b/modules/nf-core/longphase/modcall/meta.yml new file mode 100644 index 000000000000..01563210f04f --- /dev/null +++ b/modules/nf-core/longphase/modcall/meta.yml @@ -0,0 +1,120 @@ +name: "longphase_modcall" +description: write your description here +keywords: + - modcall + - long-read + - genomics +tools: + - "longphase": + description: "LongPhase is an ultra-fast program for simultaneously co-phasing SNPs, small indels, large SVs, and (5mC) modifications for Nanopore and PacBio platforms." + homepage: "https://github.com/twolinin/longphase/blob/v2.1.1/README.md" + documentation: "https://github.com/twolinin/longphase/blob/v2.1.1/README.md" + tool_dev_url: "https://github.com/twolinin/longphase" + doi: "10.1093/bioinformatics/btac058" + licence: + - "GPL v3" + identifier: "" + +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'sample1' ]` + - bam: + type: file + description: Sorted BAM file with modifications stored using MM, and ML tags. + pattern: "*.bam" + ontologies: + - edam: "http://edamontology.org/format_2572" # BAM + - bai: + type: file + description: Indexed BAM file + pattern: "*.bai" + ontologies: [] + - snvs: + type: file + description: | + Optional VCF file containing SNVs, passed to modcall with --snp-file + pattern: "*.{vcf,vcf.gz}" + ontologies: + - edam: "http://edamontology.org/format_3016" + - - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. `[ id:'hg38' ]` + - fasta: + type: file + description: Reference fasta file + pattern: "*.fasta" + ontologies: [] + - fai: + type: file + description: Indexed reference file + pattern: "*.fai" + ontologies: [] +output: + vcf: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'sample1' ]` + - "${prefix}.vcf.gz": + type: file + description: Compressed VCF file with allele-specific modifications. + pattern: "*.vcf.gz" + ontologies: + - edam: "http://edamontology.org/format_3989" # GZIP format + versions_longphase: + - - "${task.process}": + type: string + description: The name of the process + - "longphase": + type: string + description: The name of the tool + - "longphase --version": + type: eval + description: The expression to obtain the version of the tool + +topics: + versions: + - - "${task.process}": + type: string + description: The name of the process + - "longphase": + type: string + description: The name of the tool + - "longphase --version": + type: eval + description: The expression to obtain the version of the tool + +authors: + - "@DylanMHouse" +maintainers: + - "@DylanMHouse" +containers: + docker: + linux/arm64: + name: community.wave.seqera.io/library/longphase:2.1.1--810c5e520ba00a6c + build_id: bd-810c5e520ba00a6c_1 + scan_id: sc-c3e8060dd8c03f9e_1 + linux/amd64: + name: community.wave.seqera.io/library/longphase:2.1.1--6d58bf051d402041 + build_id: bd-6d58bf051d402041_1 + scan_id: sc-9ed5c4c0a073d4a3_1 + singularity: + linux/amd64: + name: oras://community.wave.seqera.io/library/longphase:2.1.1--0430abb4a30e4704 + build_id: bd-0430abb4a30e4704_1 + https: https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8d/8df742ea6593a33f7452d3e859896a7008db93d4f8d90e168b7154c0f8029980/data + linux/arm64: + name: oras://community.wave.seqera.io/library/longphase:2.1.1--4fdf6b4cffbdd8f8 + build_id: bd-4fdf6b4cffbdd8f8_1 + https: https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/6a/6afa575c67010ba62318abb06b119bc8c88743bc08d6b7772374b45750b37595/data + conda: + linux/amd64: + lock_file: modules/nf-core/longphase/modcall/.conda-lock/linux_amd64-bd-6d58bf051d402041_1.txt + linux/arm64: + lock_file: modules/nf-core/longphase/modcall/.conda-lock/linux_arm64-bd-810c5e520ba00a6c_1.txt diff --git a/modules/nf-core/longphase/modcall/tests/main.nf.test b/modules/nf-core/longphase/modcall/tests/main.nf.test new file mode 100644 index 000000000000..40f8731ec61c --- /dev/null +++ b/modules/nf-core/longphase/modcall/tests/main.nf.test @@ -0,0 +1,134 @@ +// nf-core modules test longphase/modcall +nextflow_process { + + name "Test Process LONGPHASE_MODCALL" + script "../main.nf" + process "LONGPHASE_MODCALL" + + tag "modules" + tag "modules_nfcore" + tag "longphase" + tag "longphase/modcall" + + test("[bam, bai, snps], [fasta, fai]") { + + when { + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/nanopore/bam/test.sorted.phased.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/nanopore/bam/test.sorted.phased.bam.bai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gvcf/test.genome.vcf.gz', checkIfExists: true) + ] + input[1] = [ + [ id:'reference' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(sanitizeOutput(process.out)).match() } + ) + } + } + + + test("[bam, bai, []], [fasta, fai]") { + + when { + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/nanopore/bam/test.sorted.phased.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/nanopore/bam/test.sorted.phased.bam.bai', checkIfExists: true), + [] + ] + input[1] = [ + [ id:'reference' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(sanitizeOutput(process.out)).match() } + ) + } + } + + + + + test("[bam,bai,snps],[fasta,fai] - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/nanopore/bam/test.sorted.phased.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/nanopore/bam/test.sorted.phased.bam.bai', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gvcf/test.genome.vcf.gz', checkIfExists: true) + ] + input[1] = [ + [ id:'reference' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(sanitizeOutput(process.out)).match() } + ) + } + } + + test("[bam,bai,[]],[fasta,fai] - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/nanopore/bam/test.sorted.phased.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/nanopore/bam/test.sorted.phased.bam.bai', checkIfExists: true), + [] + ] + input[1] = [ + [ id:'reference' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(sanitizeOutput(process.out)).match() } + ) + } + + } + +} diff --git a/modules/nf-core/longphase/modcall/tests/main.nf.test.snap b/modules/nf-core/longphase/modcall/tests/main.nf.test.snap new file mode 100644 index 000000000000..73862992c0ee --- /dev/null +++ b/modules/nf-core/longphase/modcall/tests/main.nf.test.snap @@ -0,0 +1,106 @@ +{ + "[bam,bai,[]],[fasta,fai] - stub": { + "content": [ + { + "vcf": [ + [ + { + "id": "test" + }, + "test.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions_longphase": [ + [ + "LONGPHASE_MODCALL", + "longphase", + "LongPhase Ver 2.1.1\nUsage: longphase [options]\n phase run phasing algorithm.\n haplotag tag reads by haplotype.\n modcall convert bam file to modification vcf file.\n compare compare two phased VCF files." + ] + ] + } + ], + "timestamp": "2026-10-18T19:48:41.216951088", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.7" + } + }, + "[bam, bai, snps], [fasta, fai]": { + "content": [ + { + "vcf": [ + [ + { + "id": "test" + }, + "test.vcf.gz:md5,aba6746a5bdcf48cf0aa7eae81a8c58f" + ] + ], + "versions_longphase": [ + [ + "LONGPHASE_MODCALL", + "longphase", + "LongPhase Ver 2.1.1\nUsage: longphase [options]\n phase run phasing algorithm.\n haplotag tag reads by haplotype.\n modcall convert bam file to modification vcf file.\n compare compare two phased VCF files." + ] + ] + } + ], + "timestamp": "2026-10-18T19:48:18.149494652", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.7" + } + }, + "[bam,bai,snps],[fasta,fai] - stub": { + "content": [ + { + "vcf": [ + [ + { + "id": "test" + }, + "test.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions_longphase": [ + [ + "LONGPHASE_MODCALL", + "longphase", + "LongPhase Ver 2.1.1\nUsage: longphase [options]\n phase run phasing algorithm.\n haplotag tag reads by haplotype.\n modcall convert bam file to modification vcf file.\n compare compare two phased VCF files." + ] + ] + } + ], + "timestamp": "2026-10-18T19:48:33.521871701", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.7" + } + }, + "[bam, bai, []], [fasta, fai]": { + "content": [ + { + "vcf": [ + [ + { + "id": "test" + }, + "test.vcf.gz:md5,3f23a9e3d04c01c3b88e03abc56b0a5c" + ] + ], + "versions_longphase": [ + [ + "LONGPHASE_MODCALL", + "longphase", + "LongPhase Ver 2.1.1\nUsage: longphase [options]\n phase run phasing algorithm.\n haplotag tag reads by haplotype.\n modcall convert bam file to modification vcf file.\n compare compare two phased VCF files." + ] + ] + } + ], + "timestamp": "2026-10-18T19:48:25.778926032", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.7" + } + } +} \ No newline at end of file From 66cdda97acbdd2fbe749fa4fd0006d0809154b92 Mon Sep 17 00:00:00 2001 From: Dylan House Date: Sun, 18 Oct 2026 20:38:59 +0100 Subject: [PATCH 02/23] New module: longphase/modcall --- .../nf-core/longphase/modcall/environment.yml | 2 +- modules/nf-core/longphase/modcall/main.nf | 8 +++++--- .../longphase/modcall/tests/main.nf.test.snap | 20 +++++++++---------- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/modules/nf-core/longphase/modcall/environment.yml b/modules/nf-core/longphase/modcall/environment.yml index a2bbdec62244..22ed69899270 100644 --- a/modules/nf-core/longphase/modcall/environment.yml +++ b/modules/nf-core/longphase/modcall/environment.yml @@ -4,5 +4,5 @@ channels: - conda-forge - bioconda dependencies: - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 - bioconda::longphase=2.1.1 diff --git a/modules/nf-core/longphase/modcall/main.nf b/modules/nf-core/longphase/modcall/main.nf index 025ca6bbb9d2..28f8b746348b 100644 --- a/modules/nf-core/longphase/modcall/main.nf +++ b/modules/nf-core/longphase/modcall/main.nf @@ -3,9 +3,11 @@ process LONGPHASE_MODCALL { label 'process_medium' conda "${moduleDir}/environment.yml" - container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container -? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8d/8df742ea6593a33f7452d3e859896a7008db93d4f8d90e168b7154c0f8029980/data' -: 'community.wave.seqera.io/library/longphase:2.1.1--6d58bf051d402041' }" + + container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/83/83fce1d397cf71705cc096fc0e0e52f7013bdd471ef68ee53ae765688e5c439c/data': + 'community.wave.seqera.io/library/longphase_samtools:8c61296cae7a5fc0' }" + input: tuple val(meta), path(bam), path(bai), path(snvs) diff --git a/modules/nf-core/longphase/modcall/tests/main.nf.test.snap b/modules/nf-core/longphase/modcall/tests/main.nf.test.snap index 73862992c0ee..3d5a299ab852 100644 --- a/modules/nf-core/longphase/modcall/tests/main.nf.test.snap +++ b/modules/nf-core/longphase/modcall/tests/main.nf.test.snap @@ -14,12 +14,12 @@ [ "LONGPHASE_MODCALL", "longphase", - "LongPhase Ver 2.1.1\nUsage: longphase [options]\n phase run phasing algorithm.\n haplotag tag reads by haplotype.\n modcall convert bam file to modification vcf file.\n compare compare two phased VCF files." + "Version: 2.0.1 \nUsage: main [options]\n phase run phasing algorithm.\n haplotag tag reads by haplotype.\n modcall convert bam file to modification vcf file." ] ] } ], - "timestamp": "2026-10-18T19:48:41.216951088", + "timestamp": "2026-10-18T20:34:55.285812705", "meta": { "nf-test": "0.9.5", "nextflow": "26.04.7" @@ -33,19 +33,19 @@ { "id": "test" }, - "test.vcf.gz:md5,aba6746a5bdcf48cf0aa7eae81a8c58f" + "test.vcf.gz:md5,30fb59acf69d280c5025ccad3aad156a" ] ], "versions_longphase": [ [ "LONGPHASE_MODCALL", "longphase", - "LongPhase Ver 2.1.1\nUsage: longphase [options]\n phase run phasing algorithm.\n haplotag tag reads by haplotype.\n modcall convert bam file to modification vcf file.\n compare compare two phased VCF files." + "Version: 2.0.1 \nUsage: main [options]\n phase run phasing algorithm.\n haplotag tag reads by haplotype.\n modcall convert bam file to modification vcf file." ] ] } ], - "timestamp": "2026-10-18T19:48:18.149494652", + "timestamp": "2026-10-18T20:34:44.037647173", "meta": { "nf-test": "0.9.5", "nextflow": "26.04.7" @@ -66,12 +66,12 @@ [ "LONGPHASE_MODCALL", "longphase", - "LongPhase Ver 2.1.1\nUsage: longphase [options]\n phase run phasing algorithm.\n haplotag tag reads by haplotype.\n modcall convert bam file to modification vcf file.\n compare compare two phased VCF files." + "Version: 2.0.1 \nUsage: main [options]\n phase run phasing algorithm.\n haplotag tag reads by haplotype.\n modcall convert bam file to modification vcf file." ] ] } ], - "timestamp": "2026-10-18T19:48:33.521871701", + "timestamp": "2026-10-18T20:34:51.436511926", "meta": { "nf-test": "0.9.5", "nextflow": "26.04.7" @@ -85,19 +85,19 @@ { "id": "test" }, - "test.vcf.gz:md5,3f23a9e3d04c01c3b88e03abc56b0a5c" + "test.vcf.gz:md5,dfadecd7ed60461ec3eaa42cfbafb8f7" ] ], "versions_longphase": [ [ "LONGPHASE_MODCALL", "longphase", - "LongPhase Ver 2.1.1\nUsage: longphase [options]\n phase run phasing algorithm.\n haplotag tag reads by haplotype.\n modcall convert bam file to modification vcf file.\n compare compare two phased VCF files." + "Version: 2.0.1 \nUsage: main [options]\n phase run phasing algorithm.\n haplotag tag reads by haplotype.\n modcall convert bam file to modification vcf file." ] ] } ], - "timestamp": "2026-10-18T19:48:25.778926032", + "timestamp": "2026-10-18T20:34:47.595910246", "meta": { "nf-test": "0.9.5", "nextflow": "26.04.7" From d34d8df521141a75af570b6f078fe12462baafb8 Mon Sep 17 00:00:00 2001 From: Dylan House Date: Sat, 24 Oct 2026 19:40:23 +0000 Subject: [PATCH 03/23] Update modules/nf-core/longphase/modcall/main.nf Co-authored-by: Evangelos Karatzas <32259775+vagkaratzas@users.noreply.github.com> --- modules/nf-core/longphase/modcall/main.nf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/nf-core/longphase/modcall/main.nf b/modules/nf-core/longphase/modcall/main.nf index 28f8b746348b..47031de2e6d4 100644 --- a/modules/nf-core/longphase/modcall/main.nf +++ b/modules/nf-core/longphase/modcall/main.nf @@ -15,7 +15,8 @@ process LONGPHASE_MODCALL { output: tuple val(meta), path("${prefix}.vcf.gz"), emit: vcf - tuple val("${task.process}"), val('longphase'), eval("longphase --version"), topic: versions, emit: versions_longphase + tuple val("${task.process}"), val('longphase'), eval("longphase --version | head -n 1 | sed 's/Version: //'"), topic: versions, emit: versions_longphase + tuple val("${task.process}"), val('htslib'), eval("bgzip --version | sed '1!d;s/.* //'"), topic: versions, emit: versions_htslib when: task.ext.when == null || task.ext.when From 6e35a820faa4ffad87a70c26f30c5f9ce4a8367b Mon Sep 17 00:00:00 2001 From: Dylan House Date: Sat, 24 Oct 2026 19:40:38 +0000 Subject: [PATCH 04/23] Update modules/nf-core/longphase/modcall/meta.yml Co-authored-by: Evangelos Karatzas <32259775+vagkaratzas@users.noreply.github.com> --- modules/nf-core/longphase/modcall/meta.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/nf-core/longphase/modcall/meta.yml b/modules/nf-core/longphase/modcall/meta.yml index 01563210f04f..06a510d534ab 100644 --- a/modules/nf-core/longphase/modcall/meta.yml +++ b/modules/nf-core/longphase/modcall/meta.yml @@ -2,8 +2,10 @@ name: "longphase_modcall" description: write your description here keywords: - modcall + - methylation + - epigenomics - long-read - - genomics + - vcf tools: - "longphase": description: "LongPhase is an ultra-fast program for simultaneously co-phasing SNPs, small indels, large SVs, and (5mC) modifications for Nanopore and PacBio platforms." From 61b98b32742814f991d05a5b25c3346142323e56 Mon Sep 17 00:00:00 2001 From: Dylan House Date: Sat, 24 Oct 2026 19:40:47 +0000 Subject: [PATCH 05/23] Update modules/nf-core/longphase/modcall/meta.yml Co-authored-by: Evangelos Karatzas <32259775+vagkaratzas@users.noreply.github.com> --- modules/nf-core/longphase/modcall/meta.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/nf-core/longphase/modcall/meta.yml b/modules/nf-core/longphase/modcall/meta.yml index 06a510d534ab..2669f67e328f 100644 --- a/modules/nf-core/longphase/modcall/meta.yml +++ b/modules/nf-core/longphase/modcall/meta.yml @@ -16,6 +16,7 @@ tools: licence: - "GPL v3" identifier: "" + args_id: "$args" input: - - meta: From 38a69b28d2d91f2eeef22f65e76fb351116f9512 Mon Sep 17 00:00:00 2001 From: Dylan House Date: Sat, 24 Oct 2026 19:41:06 +0000 Subject: [PATCH 06/23] Update modules/nf-core/longphase/modcall/tests/main.nf.test Co-authored-by: Evangelos Karatzas <32259775+vagkaratzas@users.noreply.github.com> --- modules/nf-core/longphase/modcall/tests/main.nf.test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nf-core/longphase/modcall/tests/main.nf.test b/modules/nf-core/longphase/modcall/tests/main.nf.test index 40f8731ec61c..7b3c913e5fe4 100644 --- a/modules/nf-core/longphase/modcall/tests/main.nf.test +++ b/modules/nf-core/longphase/modcall/tests/main.nf.test @@ -10,7 +10,7 @@ nextflow_process { tag "longphase" tag "longphase/modcall" - test("[bam, bai, snps], [fasta, fai]") { + test("homo_sapiens - [ bam, bai, vcf ], [ fasta, fai ] - vcf") { when { process { From 67c173dd787c0a6454b50fe34cc2d0e0b7d534fe Mon Sep 17 00:00:00 2001 From: Dylan House Date: Sat, 24 Oct 2026 19:41:22 +0000 Subject: [PATCH 07/23] Update modules/nf-core/longphase/modcall/tests/main.nf.test Co-authored-by: Evangelos Karatzas <32259775+vagkaratzas@users.noreply.github.com> --- modules/nf-core/longphase/modcall/tests/main.nf.test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nf-core/longphase/modcall/tests/main.nf.test b/modules/nf-core/longphase/modcall/tests/main.nf.test index 7b3c913e5fe4..e18842e99df9 100644 --- a/modules/nf-core/longphase/modcall/tests/main.nf.test +++ b/modules/nf-core/longphase/modcall/tests/main.nf.test @@ -39,7 +39,7 @@ nextflow_process { } - test("[bam, bai, []], [fasta, fai]") { + test("homo_sapiens - [ bam, bai, [] ], [ fasta, fai ] - vcf") { when { process { From 3bc50a2fa8e27501299fbf8a7646abde8bd57f9d Mon Sep 17 00:00:00 2001 From: Dylan House Date: Sat, 24 Oct 2026 19:41:34 +0000 Subject: [PATCH 08/23] Update modules/nf-core/longphase/modcall/tests/main.nf.test Co-authored-by: Evangelos Karatzas <32259775+vagkaratzas@users.noreply.github.com> --- modules/nf-core/longphase/modcall/tests/main.nf.test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nf-core/longphase/modcall/tests/main.nf.test b/modules/nf-core/longphase/modcall/tests/main.nf.test index e18842e99df9..22219aceedff 100644 --- a/modules/nf-core/longphase/modcall/tests/main.nf.test +++ b/modules/nf-core/longphase/modcall/tests/main.nf.test @@ -70,7 +70,7 @@ nextflow_process { - test("[bam,bai,snps],[fasta,fai] - stub") { + test("homo_sapiens - [ bam, bai, vcf ], [ fasta, fai ] - vcf - stub") { options "-stub" From 18274ca4a5f45f5d0f2b86812f2614b04af86834 Mon Sep 17 00:00:00 2001 From: Dylan House Date: Sat, 24 Oct 2026 19:41:47 +0000 Subject: [PATCH 09/23] Update modules/nf-core/longphase/modcall/tests/main.nf.test Co-authored-by: Evangelos Karatzas <32259775+vagkaratzas@users.noreply.github.com> --- modules/nf-core/longphase/modcall/tests/main.nf.test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nf-core/longphase/modcall/tests/main.nf.test b/modules/nf-core/longphase/modcall/tests/main.nf.test index 22219aceedff..1e0ecd901155 100644 --- a/modules/nf-core/longphase/modcall/tests/main.nf.test +++ b/modules/nf-core/longphase/modcall/tests/main.nf.test @@ -100,7 +100,7 @@ nextflow_process { } } - test("[bam,bai,[]],[fasta,fai] - stub") { + test("homo_sapiens - [ bam, bai, [] ], [ fasta, fai ] - vcf - stub") { options "-stub" From feec33533f26a8f5b0c69fb6efed2a909a1d6b17 Mon Sep 17 00:00:00 2001 From: Dylan House Date: Sat, 24 Oct 2026 19:42:07 +0000 Subject: [PATCH 10/23] Update modules/nf-core/longphase/modcall/tests/main.nf.test Co-authored-by: Evangelos Karatzas <32259775+vagkaratzas@users.noreply.github.com> --- modules/nf-core/longphase/modcall/tests/main.nf.test | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/modules/nf-core/longphase/modcall/tests/main.nf.test b/modules/nf-core/longphase/modcall/tests/main.nf.test index 1e0ecd901155..3568bd70f6af 100644 --- a/modules/nf-core/longphase/modcall/tests/main.nf.test +++ b/modules/nf-core/longphase/modcall/tests/main.nf.test @@ -31,11 +31,10 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, { assert snapshot(sanitizeOutput(process.out)).match() } ) - } } From 9b258a60745f99a07104c3591ba5cdd7b83f6866 Mon Sep 17 00:00:00 2001 From: Dylan House Date: Sat, 24 Oct 2026 19:42:57 +0000 Subject: [PATCH 11/23] Update modules/nf-core/longphase/modcall/meta.yml Co-authored-by: Evangelos Karatzas <32259775+vagkaratzas@users.noreply.github.com> --- modules/nf-core/longphase/modcall/meta.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nf-core/longphase/modcall/meta.yml b/modules/nf-core/longphase/modcall/meta.yml index 2669f67e328f..56fbbbc1faaa 100644 --- a/modules/nf-core/longphase/modcall/meta.yml +++ b/modules/nf-core/longphase/modcall/meta.yml @@ -41,7 +41,7 @@ input: Optional VCF file containing SNVs, passed to modcall with --snp-file pattern: "*.{vcf,vcf.gz}" ontologies: - - edam: "http://edamontology.org/format_3016" + - edam: "http://edamontology.org/format_3016" # VCF - - meta2: type: map description: | From 64f59250b98d5d1f7754c1419f9ea419f20ebb48 Mon Sep 17 00:00:00 2001 From: Dylan House Date: Sat, 24 Oct 2026 19:43:29 +0000 Subject: [PATCH 12/23] Update modules/nf-core/longphase/modcall/meta.yml Co-authored-by: Evangelos Karatzas <32259775+vagkaratzas@users.noreply.github.com> --- modules/nf-core/longphase/modcall/meta.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/nf-core/longphase/modcall/meta.yml b/modules/nf-core/longphase/modcall/meta.yml index 56fbbbc1faaa..67d637fc7646 100644 --- a/modules/nf-core/longphase/modcall/meta.yml +++ b/modules/nf-core/longphase/modcall/meta.yml @@ -51,7 +51,8 @@ input: type: file description: Reference fasta file pattern: "*.fasta" - ontologies: [] + ontologies: + - edam: "http://edamontology.org/format_1929" # FASTA - fai: type: file description: Indexed reference file From 1840359e259a6612b41e342ed80151e8d1ee68ab Mon Sep 17 00:00:00 2001 From: Dylan House Date: Sat, 24 Oct 2026 19:43:48 +0000 Subject: [PATCH 13/23] Update modules/nf-core/longphase/modcall/meta.yml Co-authored-by: Evangelos Karatzas <32259775+vagkaratzas@users.noreply.github.com> --- modules/nf-core/longphase/modcall/meta.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/nf-core/longphase/modcall/meta.yml b/modules/nf-core/longphase/modcall/meta.yml index 67d637fc7646..2d6ad6f602e1 100644 --- a/modules/nf-core/longphase/modcall/meta.yml +++ b/modules/nf-core/longphase/modcall/meta.yml @@ -70,6 +70,7 @@ output: description: Compressed VCF file with allele-specific modifications. pattern: "*.vcf.gz" ontologies: + - edam: "http://edamontology.org/format_3016" # VCF - edam: "http://edamontology.org/format_3989" # GZIP format versions_longphase: - - "${task.process}": From 60c554c786558249e32a7f62756ae4285fbf94b6 Mon Sep 17 00:00:00 2001 From: Dylan House Date: Sat, 24 Oct 2026 22:06:58 +0100 Subject: [PATCH 14/23] Regenerated test with new conda to match update. Added EDAM tags for .bai. No valid EDAM tag for .fai. Linted module. --- ... => linux_amd64-bd-3418df83ebc1fb9a_1.txt} | 40 +++++++++-- ... => linux_arm64-bd-af28edaa0ad32c04_1.txt} | 38 +++++++++-- modules/nf-core/longphase/modcall/main.nf | 11 +-- modules/nf-core/longphase/modcall/meta.yml | 68 ++++++++++++------- .../longphase/modcall/tests/main.nf.test | 10 +-- .../longphase/modcall/tests/main.nf.test.snap | 66 ++++++++++++------ 6 files changed, 166 insertions(+), 67 deletions(-) rename modules/nf-core/longphase/modcall/.conda-lock/{linux_amd64-bd-6d58bf051d402041_1.txt => linux_amd64-bd-3418df83ebc1fb9a_1.txt} (90%) rename modules/nf-core/longphase/modcall/.conda-lock/{linux_arm64-bd-810c5e520ba00a6c_1.txt => linux_arm64-bd-af28edaa0ad32c04_1.txt} (90%) diff --git a/modules/nf-core/longphase/modcall/.conda-lock/linux_amd64-bd-6d58bf051d402041_1.txt b/modules/nf-core/longphase/modcall/.conda-lock/linux_amd64-bd-3418df83ebc1fb9a_1.txt similarity index 90% rename from modules/nf-core/longphase/modcall/.conda-lock/linux_amd64-bd-6d58bf051d402041_1.txt rename to modules/nf-core/longphase/modcall/.conda-lock/linux_amd64-bd-3418df83ebc1fb9a_1.txt index 30d2e7e2570b..5cace32d8ebc 100644 --- a/modules/nf-core/longphase/modcall/.conda-lock/linux_amd64-bd-6d58bf051d402041_1.txt +++ b/modules/nf-core/longphase/modcall/.conda-lock/linux_amd64-bd-3418df83ebc1fb9a_1.txt @@ -13,11 +13,13 @@ linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_10.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.34.8-hebe6cf0_2.conda -- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.18-hbd8a1cb_0.conda +- conda: https://conda.anaconda.org/bioconda/linux-64/htslib-1.24-ha79157c_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-py310h44b86e0_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-h7cc23a3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.22.2-hbc21106_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.23.0-ha042cf0_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.26-h351257e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20260512-pl5321h373387f_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h280c20c_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-16.2.0-ha9f2e26_7.conda @@ -68,14 +70,30 @@ license: MIT license_family: MIT size: 228700 timestamp: 1787169971173 -- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda -sha256: 0a0544cf95f64394fe4959286f5c71f5444ad58feb0602e53becb27448d24da6 -md5: 0f51e2391ade309db462a55611263e9c +- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.18-hbd8a1cb_0.conda +sha256: d65aa0c8990f34e1e86e6b505c8a149fea6cfbfcccef087a77c0bcb0b4fbe159 +md5: f9f6a9cf041f31438b034dac016e6429 depends: - __unix license: ISC -size: 131780 -timestamp: 1784754889428 +size: 129191 +timestamp: 1792347285941 +- conda: https://conda.anaconda.org/bioconda/linux-64/htslib-1.24-ha79157c_0.conda +sha256: 97e0f0b8700f56b1ade3034f81070ede705fce3ef9a1b5f15e79e3eb9997ac17 +md5: 232775112c6fea38e9e7c25d2a58d7d2 +depends: +- __glibc >=2.17,<3.0.a0 +- bzip2 >=1.0.8,<2.0a0 +- libcurl >=8.21.0,<9.0a0 +- libdeflate >=1.25,<1.27.0a0 +- libgcc >=14 +- liblzma >=5.8.3,<6.0a0 +- libzlib >=1.3.2,<2.0a0 +- openssl >=3.5.7,<4.0a0 +license: MIT +license_family: MIT +size: 1166222 +timestamp: 1783611817902 - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-py310h44b86e0_2.conda sha256: 9f07834f0c546ab14d885ce0366285f61f44e326c0edd1fc63b8294e113ae432 md5: 72a381cbad04f24b1c2a43ef707f45b4 @@ -128,6 +146,16 @@ license: curl license_family: MIT size: 505683 timestamp: 1791990900844 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.26-h351257e_0.conda +sha256: f437f68abb1fa1dededd082a0c2800bec40495e01cf9ec46f4e693e34d60b644 +md5: d0c17fc12939a990f0865b7a14b49cfe +depends: +- __glibc >=2.17,<3.0.a0 +- libgcc >=15 +license: MIT +license_family: MIT +size: 74338 +timestamp: 1787442593524 - conda: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20260512-pl5321h373387f_0.conda sha256: 45301f14f4eb66da57cfaf2d265f3eeee73f8b07e99614ee3afc5b26eea91126 md5: 27dbd7e2984b8fe48e069379636ccfdd diff --git a/modules/nf-core/longphase/modcall/.conda-lock/linux_arm64-bd-810c5e520ba00a6c_1.txt b/modules/nf-core/longphase/modcall/.conda-lock/linux_arm64-bd-af28edaa0ad32c04_1.txt similarity index 90% rename from modules/nf-core/longphase/modcall/.conda-lock/linux_arm64-bd-810c5e520ba00a6c_1.txt rename to modules/nf-core/longphase/modcall/.conda-lock/linux_arm64-bd-af28edaa0ad32c04_1.txt index daf1e681df69..3443ca41bc96 100644 --- a/modules/nf-core/longphase/modcall/.conda-lock/linux_arm64-bd-810c5e520ba00a6c_1.txt +++ b/modules/nf-core/longphase/modcall/.conda-lock/linux_arm64-bd-af28edaa0ad32c04_1.txt @@ -13,11 +13,13 @@ linux-aarch64: - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_10.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/c-ares-1.34.8-h29ee22c_2.conda -- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda +- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.18-hbd8a1cb_0.conda +- conda: https://conda.anaconda.org/bioconda/linux-aarch64/htslib-1.24-h190289e_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-py311h3512406_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/keyutils-1.6.3-h5bc82ec_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/krb5-1.22.2-h095d8e5_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libcurl-8.23.0-h86273da_0.conda +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdeflate-1.25-hfa851ae_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libedit-3.1.20260512-pl5321hc48eb74_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libev-4.33-h80f16a2_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-16.2.0-h205dda4_7.conda @@ -65,14 +67,29 @@ license: MIT license_family: MIT size: 241210 timestamp: 1787169968125 -- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda -sha256: 0a0544cf95f64394fe4959286f5c71f5444ad58feb0602e53becb27448d24da6 -md5: 0f51e2391ade309db462a55611263e9c +- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.10.18-hbd8a1cb_0.conda +sha256: d65aa0c8990f34e1e86e6b505c8a149fea6cfbfcccef087a77c0bcb0b4fbe159 +md5: f9f6a9cf041f31438b034dac016e6429 depends: - __unix license: ISC -size: 131780 -timestamp: 1784754889428 +size: 129191 +timestamp: 1792347285941 +- conda: https://conda.anaconda.org/bioconda/linux-aarch64/htslib-1.24-h190289e_0.conda +sha256: 47c8da1a9ce9b869317cc10e21a398ec06ff7c70c4d3225adada9b80cf545763 +md5: ea768dafa6258f2945f67dc1861543e5 +depends: +- bzip2 >=1.0.8,<2.0a0 +- libcurl >=8.21.0,<9.0a0 +- libdeflate >=1.25,<1.26.0a0 +- libgcc >=14 +- liblzma >=5.8.3,<6.0a0 +- libzlib >=1.3.2,<2.0a0 +- openssl >=3.5.7,<4.0a0 +license: MIT +license_family: MIT +size: 1365711 +timestamp: 1783611529314 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/icu-78.3-py311h3512406_2.conda sha256: 54d921defd947adb58a90e10203d3bfe6c1f209f5f1a1ad2c6a9f7617f2fb59e md5: b35bbb1b957440ed742f35fb96eb7f1c @@ -121,6 +138,15 @@ license: curl license_family: MIT size: 529565 timestamp: 1791990806492 +- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libdeflate-1.25-hfa851ae_1.conda +sha256: 4cb3da1d4ce7540604219d2a016253777da66c1a710c41557bc708aae7f54a75 +md5: 8cdf7f7e4908c9b2cf50c58966f2ff64 +depends: +- libgcc >=14 +license: MIT +license_family: MIT +size: 71628 +timestamp: 1785908730449 - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libedit-3.1.20260512-pl5321hc48eb74_0.conda sha256: 58fd637d0219016bb69edf2973b089975de283e8a38149d69ef586b8fc4ad90b md5: 3ffb447961508502fc81e063ca2071cb diff --git a/modules/nf-core/longphase/modcall/main.nf b/modules/nf-core/longphase/modcall/main.nf index 47031de2e6d4..33b5a6a711f6 100644 --- a/modules/nf-core/longphase/modcall/main.nf +++ b/modules/nf-core/longphase/modcall/main.nf @@ -3,10 +3,9 @@ process LONGPHASE_MODCALL { label 'process_medium' conda "${moduleDir}/environment.yml" - - container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? - 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/83/83fce1d397cf71705cc096fc0e0e52f7013bdd471ef68ee53ae765688e5c439c/data': - 'community.wave.seqera.io/library/longphase_samtools:8c61296cae7a5fc0' }" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/a4/a4c81218238ecde517d907a53f2d54958779efdafd3aafd8d6948e2e678b5a86/data' + : 'community.wave.seqera.io/library/htslib_longphase:3418df83ebc1fb9a'}" input: @@ -47,8 +46,4 @@ process LONGPHASE_MODCALL { """ echo "" | gzip > ${prefix}.vcf.gz """ - - - - } diff --git a/modules/nf-core/longphase/modcall/meta.yml b/modules/nf-core/longphase/modcall/meta.yml index 2d6ad6f602e1..8194c8e437e2 100644 --- a/modules/nf-core/longphase/modcall/meta.yml +++ b/modules/nf-core/longphase/modcall/meta.yml @@ -1,5 +1,5 @@ name: "longphase_modcall" -description: write your description here +description: Call allele-specific modifications from a long-read BAM with MM/ML tags. keywords: - modcall - methylation @@ -34,7 +34,8 @@ input: type: file description: Indexed BAM file pattern: "*.bai" - ontologies: [] + ontologies: + - edam: "http://edamontology.org/format_3327" - snvs: type: file description: | @@ -65,7 +66,7 @@ output: description: | Groovy Map containing sample information e.g. `[ id:'sample1' ]` - - "${prefix}.vcf.gz": + - ${prefix}.vcf.gz: type: file description: Compressed VCF file with allele-specific modifications. pattern: "*.vcf.gz" @@ -73,25 +74,46 @@ output: - edam: "http://edamontology.org/format_3016" # VCF - edam: "http://edamontology.org/format_3989" # GZIP format versions_longphase: - - - "${task.process}": + - - ${task.process}: + type: string + description: The name of the process + - longphase: + type: string + description: The name of the tool + - "longphase --version | head -n 1 | sed 's/Version: //'": + type: eval + description: The expression to obtain the version of the tool + + versions_htslib: + - - ${task.process}: type: string description: The name of the process - - "longphase": + - htslib: type: string description: The name of the tool - - "longphase --version": + - bgzip --version | sed '1!d;s/.* //': type: eval description: The expression to obtain the version of the tool topics: versions: - - - "${task.process}": + - - ${task.process}: + type: string + description: The name of the process + - longphase: + type: string + description: The name of the tool + - "longphase --version | head -n 1 | sed 's/Version: //'": + type: eval + description: The expression to obtain the version of the tool + + - - ${task.process}: type: string description: The name of the process - - "longphase": + - htslib: type: string description: The name of the tool - - "longphase --version": + - bgzip --version | sed '1!d;s/.* //': type: eval description: The expression to obtain the version of the tool @@ -102,24 +124,24 @@ maintainers: containers: docker: linux/arm64: - name: community.wave.seqera.io/library/longphase:2.1.1--810c5e520ba00a6c - build_id: bd-810c5e520ba00a6c_1 - scan_id: sc-c3e8060dd8c03f9e_1 + name: community.wave.seqera.io/library/htslib_longphase:af28edaa0ad32c04 + build_id: bd-af28edaa0ad32c04_1 + scan_id: sc-1674b664ec9df99c_1 linux/amd64: - name: community.wave.seqera.io/library/longphase:2.1.1--6d58bf051d402041 - build_id: bd-6d58bf051d402041_1 - scan_id: sc-9ed5c4c0a073d4a3_1 + name: community.wave.seqera.io/library/htslib_longphase:3418df83ebc1fb9a + build_id: bd-3418df83ebc1fb9a_1 + scan_id: sc-433dba9124c158e8_1 singularity: linux/amd64: - name: oras://community.wave.seqera.io/library/longphase:2.1.1--0430abb4a30e4704 - build_id: bd-0430abb4a30e4704_1 - https: https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8d/8df742ea6593a33f7452d3e859896a7008db93d4f8d90e168b7154c0f8029980/data + name: oras://community.wave.seqera.io/library/htslib_longphase:6b715be86adb1018 + build_id: bd-6b715be86adb1018_1 + https: https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/a4/a4c81218238ecde517d907a53f2d54958779efdafd3aafd8d6948e2e678b5a86/data linux/arm64: - name: oras://community.wave.seqera.io/library/longphase:2.1.1--4fdf6b4cffbdd8f8 - build_id: bd-4fdf6b4cffbdd8f8_1 - https: https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/6a/6afa575c67010ba62318abb06b119bc8c88743bc08d6b7772374b45750b37595/data + name: oras://community.wave.seqera.io/library/htslib_longphase:2a80e3b482f47b34 + build_id: bd-2a80e3b482f47b34_1 + https: https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/76/760ff81d5219ea953cdaa115ed70316afe201715c6e25fc8cc26c3d7cee57e1f/data conda: linux/amd64: - lock_file: modules/nf-core/longphase/modcall/.conda-lock/linux_amd64-bd-6d58bf051d402041_1.txt + lock_file: modules/nf-core/longphase/modcall/.conda-lock/linux_amd64-bd-3418df83ebc1fb9a_1.txt linux/arm64: - lock_file: modules/nf-core/longphase/modcall/.conda-lock/linux_arm64-bd-810c5e520ba00a6c_1.txt + lock_file: modules/nf-core/longphase/modcall/.conda-lock/linux_arm64-bd-af28edaa0ad32c04_1.txt diff --git a/modules/nf-core/longphase/modcall/tests/main.nf.test b/modules/nf-core/longphase/modcall/tests/main.nf.test index 3568bd70f6af..91770f10a815 100644 --- a/modules/nf-core/longphase/modcall/tests/main.nf.test +++ b/modules/nf-core/longphase/modcall/tests/main.nf.test @@ -35,7 +35,8 @@ nextflow_process { assertAll( { assert snapshot(sanitizeOutput(process.out)).match() } ) - } + } + } test("homo_sapiens - [ bam, bai, [] ], [ fasta, fai ] - vcf") { @@ -59,8 +60,8 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, { assert snapshot(sanitizeOutput(process.out)).match() } ) } @@ -92,8 +93,8 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, { assert snapshot(sanitizeOutput(process.out)).match() } ) } @@ -122,12 +123,11 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, { assert snapshot(sanitizeOutput(process.out)).match() } ) } - } } diff --git a/modules/nf-core/longphase/modcall/tests/main.nf.test.snap b/modules/nf-core/longphase/modcall/tests/main.nf.test.snap index 3d5a299ab852..560622fe090a 100644 --- a/modules/nf-core/longphase/modcall/tests/main.nf.test.snap +++ b/modules/nf-core/longphase/modcall/tests/main.nf.test.snap @@ -1,5 +1,5 @@ { - "[bam,bai,[]],[fasta,fai] - stub": { + "homo_sapiens - [ bam, bai, [] ], [ fasta, fai ] - vcf - stub": { "content": [ { "vcf": [ @@ -10,22 +10,29 @@ "test.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" ] ], + "versions_htslib": [ + [ + "LONGPHASE_MODCALL", + "htslib", + "1.24" + ] + ], "versions_longphase": [ [ "LONGPHASE_MODCALL", "longphase", - "Version: 2.0.1 \nUsage: main [options]\n phase run phasing algorithm.\n haplotag tag reads by haplotype.\n modcall convert bam file to modification vcf file." + "LongPhase Ver 2.1.1" ] ] } ], - "timestamp": "2026-10-18T20:34:55.285812705", + "timestamp": "2026-10-24T21:49:39.669480917", "meta": { "nf-test": "0.9.5", - "nextflow": "26.04.7" + "nextflow": "26.10.3" } }, - "[bam, bai, snps], [fasta, fai]": { + "homo_sapiens - [ bam, bai, vcf ], [ fasta, fai ] - vcf": { "content": [ { "vcf": [ @@ -33,25 +40,32 @@ { "id": "test" }, - "test.vcf.gz:md5,30fb59acf69d280c5025ccad3aad156a" + "test.vcf.gz:md5,c4f0bcb0fab0daf7e3c3ad8731d594ab" + ] + ], + "versions_htslib": [ + [ + "LONGPHASE_MODCALL", + "htslib", + "1.24" ] ], "versions_longphase": [ [ "LONGPHASE_MODCALL", "longphase", - "Version: 2.0.1 \nUsage: main [options]\n phase run phasing algorithm.\n haplotag tag reads by haplotype.\n modcall convert bam file to modification vcf file." + "LongPhase Ver 2.1.1" ] ] } ], - "timestamp": "2026-10-18T20:34:44.037647173", + "timestamp": "2026-10-24T21:49:25.28501158", "meta": { "nf-test": "0.9.5", - "nextflow": "26.04.7" + "nextflow": "26.10.3" } }, - "[bam,bai,snps],[fasta,fai] - stub": { + "homo_sapiens - [ bam, bai, [] ], [ fasta, fai ] - vcf": { "content": [ { "vcf": [ @@ -59,25 +73,32 @@ { "id": "test" }, - "test.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + "test.vcf.gz:md5,b57ad648839f099e8ee7833da5435211" + ] + ], + "versions_htslib": [ + [ + "LONGPHASE_MODCALL", + "htslib", + "1.24" ] ], "versions_longphase": [ [ "LONGPHASE_MODCALL", "longphase", - "Version: 2.0.1 \nUsage: main [options]\n phase run phasing algorithm.\n haplotag tag reads by haplotype.\n modcall convert bam file to modification vcf file." + "LongPhase Ver 2.1.1" ] ] } ], - "timestamp": "2026-10-18T20:34:51.436511926", + "timestamp": "2026-10-24T21:49:30.05973453", "meta": { "nf-test": "0.9.5", - "nextflow": "26.04.7" + "nextflow": "26.10.3" } }, - "[bam, bai, []], [fasta, fai]": { + "homo_sapiens - [ bam, bai, vcf ], [ fasta, fai ] - vcf - stub": { "content": [ { "vcf": [ @@ -85,22 +106,29 @@ { "id": "test" }, - "test.vcf.gz:md5,dfadecd7ed60461ec3eaa42cfbafb8f7" + "test.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions_htslib": [ + [ + "LONGPHASE_MODCALL", + "htslib", + "1.24" ] ], "versions_longphase": [ [ "LONGPHASE_MODCALL", "longphase", - "Version: 2.0.1 \nUsage: main [options]\n phase run phasing algorithm.\n haplotag tag reads by haplotype.\n modcall convert bam file to modification vcf file." + "LongPhase Ver 2.1.1" ] ] } ], - "timestamp": "2026-10-18T20:34:47.595910246", + "timestamp": "2026-10-24T21:49:35.04881219", "meta": { "nf-test": "0.9.5", - "nextflow": "26.04.7" + "nextflow": "26.10.3" } } } \ No newline at end of file From cfd6e989868a936c347b83ae94cdd50ceaf9b2d9 Mon Sep 17 00:00:00 2001 From: Dylan House Date: Mon, 26 Oct 2026 10:08:26 +0000 Subject: [PATCH 15/23] Regenerated snapshot on cluster to run with minimum resource requirements --- .../longphase/modcall/tests/main.nf.test.snap | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/modules/nf-core/longphase/modcall/tests/main.nf.test.snap b/modules/nf-core/longphase/modcall/tests/main.nf.test.snap index 560622fe090a..1e22d04fe413 100644 --- a/modules/nf-core/longphase/modcall/tests/main.nf.test.snap +++ b/modules/nf-core/longphase/modcall/tests/main.nf.test.snap @@ -26,10 +26,10 @@ ] } ], - "timestamp": "2026-10-24T21:49:39.669480917", + "timestamp": "2026-10-26T09:57:07.743948583", "meta": { "nf-test": "0.9.5", - "nextflow": "26.10.3" + "nextflow": "26.04.6" } }, "homo_sapiens - [ bam, bai, vcf ], [ fasta, fai ] - vcf": { @@ -40,7 +40,7 @@ { "id": "test" }, - "test.vcf.gz:md5,c4f0bcb0fab0daf7e3c3ad8731d594ab" + "test.vcf.gz:md5,aba6746a5bdcf48cf0aa7eae81a8c58f" ] ], "versions_htslib": [ @@ -59,10 +59,10 @@ ] } ], - "timestamp": "2026-10-24T21:49:25.28501158", + "timestamp": "2026-10-26T09:56:54.777928993", "meta": { "nf-test": "0.9.5", - "nextflow": "26.10.3" + "nextflow": "26.04.6" } }, "homo_sapiens - [ bam, bai, [] ], [ fasta, fai ] - vcf": { @@ -73,7 +73,7 @@ { "id": "test" }, - "test.vcf.gz:md5,b57ad648839f099e8ee7833da5435211" + "test.vcf.gz:md5,3f23a9e3d04c01c3b88e03abc56b0a5c" ] ], "versions_htslib": [ @@ -92,10 +92,10 @@ ] } ], - "timestamp": "2026-10-24T21:49:30.05973453", + "timestamp": "2026-10-26T09:56:58.9789003", "meta": { "nf-test": "0.9.5", - "nextflow": "26.10.3" + "nextflow": "26.04.6" } }, "homo_sapiens - [ bam, bai, vcf ], [ fasta, fai ] - vcf - stub": { @@ -125,10 +125,10 @@ ] } ], - "timestamp": "2026-10-24T21:49:35.04881219", + "timestamp": "2026-10-26T09:57:03.515923036", "meta": { "nf-test": "0.9.5", - "nextflow": "26.10.3" + "nextflow": "26.04.6" } } } \ No newline at end of file From 8e7dc15dae7fb7d60d0052289d88133a7ffdfc0b Mon Sep 17 00:00:00 2001 From: Dylan House Date: Tue, 27 Oct 2026 09:10:55 +0000 Subject: [PATCH 16/23] Update modules/nf-core/longphase/modcall/main.nf Co-authored-by: Evangelos Karatzas <32259775+vagkaratzas@users.noreply.github.com> --- modules/nf-core/longphase/modcall/main.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nf-core/longphase/modcall/main.nf b/modules/nf-core/longphase/modcall/main.nf index 33b5a6a711f6..5a060e7f6013 100644 --- a/modules/nf-core/longphase/modcall/main.nf +++ b/modules/nf-core/longphase/modcall/main.nf @@ -24,7 +24,7 @@ process LONGPHASE_MODCALL { def args = task.ext.args ?: '' def args2 = task.ext.args2 ?: '' def snv_file = snvs ? "--snp-file ${snvs}" : '' - prefix = task.ext.prefix ?: "${meta.id}" + prefix = task.ext.prefix ?: "${meta.id}_modcall" """ longphase \\ modcall \\ From 63eae354b56db6a04f6f5d7587b4b7054d34c58e Mon Sep 17 00:00:00 2001 From: Dylan House Date: Tue, 27 Oct 2026 09:11:09 +0000 Subject: [PATCH 17/23] Update modules/nf-core/longphase/modcall/meta.yml Co-authored-by: Evangelos Karatzas <32259775+vagkaratzas@users.noreply.github.com> --- modules/nf-core/longphase/modcall/meta.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nf-core/longphase/modcall/meta.yml b/modules/nf-core/longphase/modcall/meta.yml index 8194c8e437e2..731afb53c983 100644 --- a/modules/nf-core/longphase/modcall/meta.yml +++ b/modules/nf-core/longphase/modcall/meta.yml @@ -35,7 +35,7 @@ input: description: Indexed BAM file pattern: "*.bai" ontologies: - - edam: "http://edamontology.org/format_3327" + - edam: "http://edamontology.org/format_3327" # BAI - snvs: type: file description: | From 63c7b0e46e33275943126e2e37d63f981f781bde Mon Sep 17 00:00:00 2001 From: Dylan House Date: Tue, 27 Oct 2026 09:11:45 +0000 Subject: [PATCH 18/23] Update modules/nf-core/longphase/modcall/main.nf Co-authored-by: Evangelos Karatzas <32259775+vagkaratzas@users.noreply.github.com> --- modules/nf-core/longphase/modcall/main.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nf-core/longphase/modcall/main.nf b/modules/nf-core/longphase/modcall/main.nf index 5a060e7f6013..4216c2c06fa6 100644 --- a/modules/nf-core/longphase/modcall/main.nf +++ b/modules/nf-core/longphase/modcall/main.nf @@ -14,7 +14,7 @@ process LONGPHASE_MODCALL { output: tuple val(meta), path("${prefix}.vcf.gz"), emit: vcf - tuple val("${task.process}"), val('longphase'), eval("longphase --version | head -n 1 | sed 's/Version: //'"), topic: versions, emit: versions_longphase + tuple val("${task.process}"), val('longphase'), eval("longphase --version | head -n 1 | sed 's/.*Ver //'"), topic: versions, emit: versions_longphase tuple val("${task.process}"), val('htslib'), eval("bgzip --version | sed '1!d;s/.* //'"), topic: versions, emit: versions_htslib when: From 2867b541bb37989baf5bb5cebcd787d72581c9f0 Mon Sep 17 00:00:00 2001 From: Dylan House Date: Tue, 27 Oct 2026 09:39:06 +0000 Subject: [PATCH 19/23] regenerated snapshot --- .../longphase/modcall/tests/main.nf.test.snap | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/modules/nf-core/longphase/modcall/tests/main.nf.test.snap b/modules/nf-core/longphase/modcall/tests/main.nf.test.snap index 1e22d04fe413..9e69e135bc59 100644 --- a/modules/nf-core/longphase/modcall/tests/main.nf.test.snap +++ b/modules/nf-core/longphase/modcall/tests/main.nf.test.snap @@ -21,12 +21,12 @@ [ "LONGPHASE_MODCALL", "longphase", - "LongPhase Ver 2.1.1" + "2.1.1" ] ] } ], - "timestamp": "2026-10-26T09:57:07.743948583", + "timestamp": "2026-10-27T09:34:48.694909055", "meta": { "nf-test": "0.9.5", "nextflow": "26.04.6" @@ -40,7 +40,7 @@ { "id": "test" }, - "test.vcf.gz:md5,aba6746a5bdcf48cf0aa7eae81a8c58f" + "test_modcall.vcf.gz:md5,93618ef86c2c41ef1f054bbd4e6991a0" ] ], "versions_htslib": [ @@ -54,12 +54,12 @@ [ "LONGPHASE_MODCALL", "longphase", - "LongPhase Ver 2.1.1" + "2.1.1" ] ] } ], - "timestamp": "2026-10-26T09:56:54.777928993", + "timestamp": "2026-10-27T09:34:34.709852077", "meta": { "nf-test": "0.9.5", "nextflow": "26.04.6" @@ -73,7 +73,7 @@ { "id": "test" }, - "test.vcf.gz:md5,3f23a9e3d04c01c3b88e03abc56b0a5c" + "test_modcall.vcf.gz:md5,cead5445d8c570a40c5a79c6935dabcc" ] ], "versions_htslib": [ @@ -87,12 +87,12 @@ [ "LONGPHASE_MODCALL", "longphase", - "LongPhase Ver 2.1.1" + "2.1.1" ] ] } ], - "timestamp": "2026-10-26T09:56:58.9789003", + "timestamp": "2026-10-27T09:34:39.374138736", "meta": { "nf-test": "0.9.5", "nextflow": "26.04.6" @@ -120,12 +120,12 @@ [ "LONGPHASE_MODCALL", "longphase", - "LongPhase Ver 2.1.1" + "2.1.1" ] ] } ], - "timestamp": "2026-10-26T09:57:03.515923036", + "timestamp": "2026-10-27T09:34:44.075908367", "meta": { "nf-test": "0.9.5", "nextflow": "26.04.6" From 22ea2d7fcde982e204d2caad54a26796ee6e37f9 Mon Sep 17 00:00:00 2001 From: Dylan House Date: Tue, 27 Oct 2026 09:43:59 +0000 Subject: [PATCH 20/23] fixed meta.yml with nf-core modules lint --fix --- modules/nf-core/longphase/modcall/meta.yml | 200 ++++++++++----------- 1 file changed, 100 insertions(+), 100 deletions(-) diff --git a/modules/nf-core/longphase/modcall/meta.yml b/modules/nf-core/longphase/modcall/meta.yml index 731afb53c983..c76fc2f5bee0 100644 --- a/modules/nf-core/longphase/modcall/meta.yml +++ b/modules/nf-core/longphase/modcall/meta.yml @@ -1,126 +1,126 @@ name: "longphase_modcall" description: Call allele-specific modifications from a long-read BAM with MM/ML tags. keywords: - - modcall - - methylation - - epigenomics - - long-read - - vcf +- modcall +- methylation +- epigenomics +- long-read +- vcf tools: - - "longphase": - description: "LongPhase is an ultra-fast program for simultaneously co-phasing SNPs, small indels, large SVs, and (5mC) modifications for Nanopore and PacBio platforms." - homepage: "https://github.com/twolinin/longphase/blob/v2.1.1/README.md" - documentation: "https://github.com/twolinin/longphase/blob/v2.1.1/README.md" - tool_dev_url: "https://github.com/twolinin/longphase" - doi: "10.1093/bioinformatics/btac058" - licence: - - "GPL v3" - identifier: "" - args_id: "$args" +- "longphase": + description: "LongPhase is an ultra-fast program for simultaneously co-phasing SNPs, small indels, large SVs, and (5mC) modifications for Nanopore and PacBio platforms." + homepage: "https://github.com/twolinin/longphase/blob/v2.1.1/README.md" + documentation: "https://github.com/twolinin/longphase/blob/v2.1.1/README.md" + tool_dev_url: "https://github.com/twolinin/longphase" + doi: "10.1093/bioinformatics/btac058" + licence: + - "GPL v3" + identifier: "" + args_id: "$args" input: +- - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'sample1' ]` + - bam: + type: file + description: Sorted BAM file with modifications stored using MM, and ML tags. + pattern: "*.bam" + ontologies: + - edam: "http://edamontology.org/format_2572" # BAM + - bai: + type: file + description: Indexed BAM file + pattern: "*.bai" + ontologies: + - edam: "http://edamontology.org/format_3327" # BAI + - snvs: + type: file + description: | + Optional VCF file containing SNVs, passed to modcall with --snp-file + pattern: "*.{vcf,vcf.gz}" + ontologies: + - edam: "http://edamontology.org/format_3016" # VCF +- - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. `[ id:'hg38' ]` + - fasta: + type: file + description: Reference fasta file + pattern: "*.fasta" + ontologies: + - edam: "http://edamontology.org/format_1929" # FASTA + - fai: + type: file + description: Indexed reference file + pattern: "*.fai" + ontologies: [] +output: + vcf: - - meta: type: map description: | Groovy Map containing sample information e.g. `[ id:'sample1' ]` - - bam: - type: file - description: Sorted BAM file with modifications stored using MM, and ML tags. - pattern: "*.bam" - ontologies: - - edam: "http://edamontology.org/format_2572" # BAM - - bai: - type: file - description: Indexed BAM file - pattern: "*.bai" - ontologies: - - edam: "http://edamontology.org/format_3327" # BAI - - snvs: - type: file - description: | - Optional VCF file containing SNVs, passed to modcall with --snp-file - pattern: "*.{vcf,vcf.gz}" - ontologies: - - edam: "http://edamontology.org/format_3016" # VCF - - - meta2: - type: map - description: | - Groovy Map containing reference information - e.g. `[ id:'hg38' ]` - - fasta: + - ${prefix}.vcf.gz: type: file - description: Reference fasta file - pattern: "*.fasta" + description: Compressed VCF file with allele-specific modifications. + pattern: "*.vcf.gz" ontologies: - - edam: "http://edamontology.org/format_1929" # FASTA - - fai: - type: file - description: Indexed reference file - pattern: "*.fai" - ontologies: [] -output: - vcf: - - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. `[ id:'sample1' ]` - - ${prefix}.vcf.gz: - type: file - description: Compressed VCF file with allele-specific modifications. - pattern: "*.vcf.gz" - ontologies: - - edam: "http://edamontology.org/format_3016" # VCF - - edam: "http://edamontology.org/format_3989" # GZIP format + - edam: "http://edamontology.org/format_3016" # VCF + - edam: "http://edamontology.org/format_3989" # GZIP format versions_longphase: - - - ${task.process}: - type: string - description: The name of the process - - longphase: - type: string - description: The name of the tool - - "longphase --version | head -n 1 | sed 's/Version: //'": - type: eval - description: The expression to obtain the version of the tool + - - ${task.process}: + type: string + description: The name of the process + - longphase: + type: string + description: The name of the tool + - longphase --version | head -n 1 | sed 's/.*Ver //': + type: eval + description: The expression to obtain the version of the tool versions_htslib: - - - ${task.process}: - type: string - description: The name of the process - - htslib: - type: string - description: The name of the tool - - bgzip --version | sed '1!d;s/.* //': - type: eval - description: The expression to obtain the version of the tool + - - ${task.process}: + type: string + description: The name of the process + - htslib: + type: string + description: The name of the tool + - bgzip --version | sed '1!d;s/.* //': + type: eval + description: The expression to obtain the version of the tool topics: versions: - - - ${task.process}: - type: string - description: The name of the process - - longphase: - type: string - description: The name of the tool - - "longphase --version | head -n 1 | sed 's/Version: //'": - type: eval - description: The expression to obtain the version of the tool + - - ${task.process}: + type: string + description: The name of the process + - longphase: + type: string + description: The name of the tool + - longphase --version | head -n 1 | sed 's/.*Ver //': + type: eval + description: The expression to obtain the version of the tool - - - ${task.process}: - type: string - description: The name of the process - - htslib: - type: string - description: The name of the tool - - bgzip --version | sed '1!d;s/.* //': - type: eval - description: The expression to obtain the version of the tool + - - ${task.process}: + type: string + description: The name of the process + - htslib: + type: string + description: The name of the tool + - bgzip --version | sed '1!d;s/.* //': + type: eval + description: The expression to obtain the version of the tool authors: - - "@DylanMHouse" +- "@DylanMHouse" maintainers: - - "@DylanMHouse" +- "@DylanMHouse" containers: docker: linux/arm64: From b85a2e4f90f270fb36f62cb67bbe14c5af43bb1c Mon Sep 17 00:00:00 2001 From: Dylan House Date: Tue, 27 Oct 2026 10:06:37 +0000 Subject: [PATCH 21/23] lint again on main machine to prevent hooks from failing? --- modules/nf-core/longphase/modcall/meta.yml | 200 ++++++++++----------- 1 file changed, 100 insertions(+), 100 deletions(-) diff --git a/modules/nf-core/longphase/modcall/meta.yml b/modules/nf-core/longphase/modcall/meta.yml index c76fc2f5bee0..199190fa1908 100644 --- a/modules/nf-core/longphase/modcall/meta.yml +++ b/modules/nf-core/longphase/modcall/meta.yml @@ -1,126 +1,126 @@ name: "longphase_modcall" description: Call allele-specific modifications from a long-read BAM with MM/ML tags. keywords: -- modcall -- methylation -- epigenomics -- long-read -- vcf + - modcall + - methylation + - epigenomics + - long-read + - vcf tools: -- "longphase": - description: "LongPhase is an ultra-fast program for simultaneously co-phasing SNPs, small indels, large SVs, and (5mC) modifications for Nanopore and PacBio platforms." - homepage: "https://github.com/twolinin/longphase/blob/v2.1.1/README.md" - documentation: "https://github.com/twolinin/longphase/blob/v2.1.1/README.md" - tool_dev_url: "https://github.com/twolinin/longphase" - doi: "10.1093/bioinformatics/btac058" - licence: - - "GPL v3" - identifier: "" - args_id: "$args" + - "longphase": + description: "LongPhase is an ultra-fast program for simultaneously co-phasing SNPs, small indels, large SVs, and (5mC) modifications for Nanopore and PacBio platforms." + homepage: "https://github.com/twolinin/longphase/blob/v2.1.1/README.md" + documentation: "https://github.com/twolinin/longphase/blob/v2.1.1/README.md" + tool_dev_url: "https://github.com/twolinin/longphase" + doi: "10.1093/bioinformatics/btac058" + licence: + - "GPL v3" + identifier: "" + args_id: "$args" input: -- - meta: - type: map - description: | - Groovy Map containing sample information - e.g. `[ id:'sample1' ]` - - bam: - type: file - description: Sorted BAM file with modifications stored using MM, and ML tags. - pattern: "*.bam" - ontologies: - - edam: "http://edamontology.org/format_2572" # BAM - - bai: - type: file - description: Indexed BAM file - pattern: "*.bai" - ontologies: - - edam: "http://edamontology.org/format_3327" # BAI - - snvs: - type: file - description: | - Optional VCF file containing SNVs, passed to modcall with --snp-file - pattern: "*.{vcf,vcf.gz}" - ontologies: - - edam: "http://edamontology.org/format_3016" # VCF -- - meta2: - type: map - description: | - Groovy Map containing reference information - e.g. `[ id:'hg38' ]` - - fasta: - type: file - description: Reference fasta file - pattern: "*.fasta" - ontologies: - - edam: "http://edamontology.org/format_1929" # FASTA - - fai: - type: file - description: Indexed reference file - pattern: "*.fai" - ontologies: [] -output: - vcf: - - meta: type: map description: | Groovy Map containing sample information e.g. `[ id:'sample1' ]` - - ${prefix}.vcf.gz: + - bam: + type: file + description: Sorted BAM file with modifications stored using MM, and ML tags. + pattern: "*.bam" + ontologies: + - edam: "http://edamontology.org/format_2572" # BAM + - bai: + type: file + description: Indexed BAM file + pattern: "*.bai" + ontologies: + - edam: "http://edamontology.org/format_3327" # BAI + - snvs: + type: file + description: | + Optional VCF file containing SNVs, passed to modcall with --snp-file + pattern: "*.{vcf,vcf.gz}" + ontologies: + - edam: "http://edamontology.org/format_3016" # VCF + - - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. `[ id:'hg38' ]` + - fasta: type: file - description: Compressed VCF file with allele-specific modifications. - pattern: "*.vcf.gz" + description: Reference fasta file + pattern: "*.fasta" ontologies: - - edam: "http://edamontology.org/format_3016" # VCF - - edam: "http://edamontology.org/format_3989" # GZIP format + - edam: "http://edamontology.org/format_1929" # FASTA + - fai: + type: file + description: Indexed reference file + pattern: "*.fai" + ontologies: [] +output: + vcf: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'sample1' ]` + - ${prefix}.vcf.gz: + type: file + description: Compressed VCF file with allele-specific modifications. + pattern: "*.vcf.gz" + ontologies: + - edam: "http://edamontology.org/format_3016" # VCF + - edam: "http://edamontology.org/format_3989" # GZIP format versions_longphase: - - - ${task.process}: - type: string - description: The name of the process - - longphase: - type: string - description: The name of the tool - - longphase --version | head -n 1 | sed 's/.*Ver //': - type: eval - description: The expression to obtain the version of the tool + - - ${task.process}: + type: string + description: The name of the process + - longphase: + type: string + description: The name of the tool + - longphase --version | head -n 1 | sed 's/.*Ver //': + type: eval + description: The expression to obtain the version of the tool versions_htslib: - - - ${task.process}: - type: string - description: The name of the process - - htslib: - type: string - description: The name of the tool - - bgzip --version | sed '1!d;s/.* //': - type: eval - description: The expression to obtain the version of the tool + - - ${task.process}: + type: string + description: The name of the process + - htslib: + type: string + description: The name of the tool + - bgzip --version | sed '1!d;s/.* //': + type: eval + description: The expression to obtain the version of the tool topics: versions: - - - ${task.process}: - type: string - description: The name of the process - - longphase: - type: string - description: The name of the tool - - longphase --version | head -n 1 | sed 's/.*Ver //': - type: eval - description: The expression to obtain the version of the tool + - - ${task.process}: + type: string + description: The name of the process + - longphase: + type: string + description: The name of the tool + - longphase --version | head -n 1 | sed 's/.*Ver //': + type: eval + description: The expression to obtain the version of the tool - - - ${task.process}: - type: string - description: The name of the process - - htslib: - type: string - description: The name of the tool - - bgzip --version | sed '1!d;s/.* //': - type: eval - description: The expression to obtain the version of the tool + - - ${task.process}: + type: string + description: The name of the process + - htslib: + type: string + description: The name of the tool + - bgzip --version | sed '1!d;s/.* //': + type: eval + description: The expression to obtain the version of the tool authors: -- "@DylanMHouse" + - "@DylanMHouse" maintainers: -- "@DylanMHouse" + - "@DylanMHouse" containers: docker: linux/arm64: From 01fa40eac7869612d33f3703e6a81e851bd684d4 Mon Sep 17 00:00:00 2001 From: Dylan House Date: Tue, 27 Oct 2026 15:35:59 +0000 Subject: [PATCH 22/23] Update modules/nf-core/longphase/modcall/main.nf Co-authored-by: Evangelos Karatzas <32259775+vagkaratzas@users.noreply.github.com> --- modules/nf-core/longphase/modcall/main.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nf-core/longphase/modcall/main.nf b/modules/nf-core/longphase/modcall/main.nf index 4216c2c06fa6..2c7a297a5ce4 100644 --- a/modules/nf-core/longphase/modcall/main.nf +++ b/modules/nf-core/longphase/modcall/main.nf @@ -42,7 +42,7 @@ process LONGPHASE_MODCALL { """ stub: - prefix = task.ext.prefix ?: "${meta.id}" + prefix = task.ext.prefix ?: "${meta.id}_modcall" """ echo "" | gzip > ${prefix}.vcf.gz """ From b3a8059f4d1cfbcf5a2690f658d026a08d64e7c6 Mon Sep 17 00:00:00 2001 From: Dylan House Date: Tue, 27 Oct 2026 15:51:52 +0000 Subject: [PATCH 23/23] regenerated snap for the final time (I hope >:D) --- .../longphase/modcall/tests/main.nf.test.snap | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/nf-core/longphase/modcall/tests/main.nf.test.snap b/modules/nf-core/longphase/modcall/tests/main.nf.test.snap index 9e69e135bc59..9f32331c335d 100644 --- a/modules/nf-core/longphase/modcall/tests/main.nf.test.snap +++ b/modules/nf-core/longphase/modcall/tests/main.nf.test.snap @@ -7,7 +7,7 @@ { "id": "test" }, - "test.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + "test_modcall.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" ] ], "versions_htslib": [ @@ -26,7 +26,7 @@ ] } ], - "timestamp": "2026-10-27T09:34:48.694909055", + "timestamp": "2026-10-27T15:50:03.451972419", "meta": { "nf-test": "0.9.5", "nextflow": "26.04.6" @@ -59,7 +59,7 @@ ] } ], - "timestamp": "2026-10-27T09:34:34.709852077", + "timestamp": "2026-10-27T15:49:48.391144375", "meta": { "nf-test": "0.9.5", "nextflow": "26.04.6" @@ -92,7 +92,7 @@ ] } ], - "timestamp": "2026-10-27T09:34:39.374138736", + "timestamp": "2026-10-27T15:49:53.316036136", "meta": { "nf-test": "0.9.5", "nextflow": "26.04.6" @@ -106,7 +106,7 @@ { "id": "test" }, - "test.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + "test_modcall.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" ] ], "versions_htslib": [ @@ -125,7 +125,7 @@ ] } ], - "timestamp": "2026-10-27T09:34:44.075908367", + "timestamp": "2026-10-27T15:49:58.453988349", "meta": { "nf-test": "0.9.5", "nextflow": "26.04.6"