Skip to content

Conversation

@jfgrimm
Copy link
Member

@jfgrimm jfgrimm commented Nov 27, 2025

currently, it links the bundled HTSlib. This patches the configure/makefile to pick up the easybuild HTSlib, and also drops the foss/2023a version to GCC (since it doesn't use mpi or blas)

(created using eb --new-pr)

@jfgrimm jfgrimm added the update label Nov 27, 2025
@github-actions github-actions bot added 2023a 2024a issues & PRs related to 2024a common toolchains change labels Nov 27, 2025
@github-actions
Copy link

Updated software Stacks-2.68-GCC-12.3.0.eb

Diff against Stacks-2.68-GCC-13.3.0.eb

easybuild/easyconfigs/s/Stacks/Stacks-2.68-GCC-13.3.0.eb

diff --git a/easybuild/easyconfigs/s/Stacks/Stacks-2.68-GCC-13.3.0.eb b/easybuild/easyconfigs/s/Stacks/Stacks-2.68-GCC-12.3.0.eb
index d8ef240f28..417ced6d8a 100644
--- a/easybuild/easyconfigs/s/Stacks/Stacks-2.68-GCC-13.3.0.eb
+++ b/easybuild/easyconfigs/s/Stacks/Stacks-2.68-GCC-12.3.0.eb
@@ -9,7 +9,7 @@ description = """Stacks is a software pipeline for building loci from short-read
  for the purpose of building genetic maps and conducting population genomics and phylogeography.
 """
 
-toolchain = {'name': 'GCC', 'version': '13.3.0'}
+toolchain = {'name': 'GCC', 'version': '12.3.0'}
 
 source_urls = ['https://catchenlab.life.illinois.edu/stacks/source/']
 sources = [SOURCELOWER_TAR_GZ]
@@ -20,12 +20,12 @@ checksums = [
 ]
 
 builddependencies = [
-    ('Autotools', '20231222'),
+    ('Autotools', '20220317'),
 ]
 
 dependencies = [
-    ('zlib', '1.3.1'),
-    ('HTSlib', '1.21'),
+    ('zlib', '1.2.13'),
+    ('HTSlib', '1.18'),
 ]
 
 preconfigopts = 'autoreconf -if && '
Diff against Stacks-2.62-foss-2022a.eb

easybuild/easyconfigs/s/Stacks/Stacks-2.62-foss-2022a.eb

diff --git a/easybuild/easyconfigs/s/Stacks/Stacks-2.62-foss-2022a.eb b/easybuild/easyconfigs/s/Stacks/Stacks-2.68-GCC-12.3.0.eb
index 9f30e27f06..417ced6d8a 100644
--- a/easybuild/easyconfigs/s/Stacks/Stacks-2.62-foss-2022a.eb
+++ b/easybuild/easyconfigs/s/Stacks/Stacks-2.68-GCC-12.3.0.eb
@@ -1,7 +1,7 @@
 easyblock = 'ConfigureMake'
 
 name = 'Stacks'
-version = '2.62'
+version = '2.68'
 
 homepage = 'https://catchenlab.life.illinois.edu/stacks/'
 description = """Stacks is a software pipeline for building loci from short-read sequences, such as those generated on
@@ -9,21 +9,35 @@ description = """Stacks is a software pipeline for building loci from short-read
  for the purpose of building genetic maps and conducting population genomics and phylogeography.
 """
 
-toolchain = {'name': 'foss', 'version': '2022a'}
+toolchain = {'name': 'GCC', 'version': '12.3.0'}
 
 source_urls = ['https://catchenlab.life.illinois.edu/stacks/source/']
 sources = [SOURCELOWER_TAR_GZ]
-checksums = ['eee85054b0bf0043c03d4766dfebc00682301b8ba1372fc49e08ecad98d3d13b']
+patches = ['%(name)s-2.68_use-external-htslib.patch']
+checksums = [
+    {'stacks-2.68.tar.gz': '9dc51ea356d60eb4557b0b2d1a8854aafae492aed87f974e0249cc09aa5e7650'},
+    {'Stacks-2.68_use-external-htslib.patch': '20d77e39719107a47e6e9620490c1210a338e3503e79b4e4122518e8404f976e'},
+]
+
+builddependencies = [
+    ('Autotools', '20220317'),
+]
 
 dependencies = [
-    ('zlib', '1.2.12'),
+    ('zlib', '1.2.13'),
+    ('HTSlib', '1.18'),
 ]
 
+preconfigopts = 'autoreconf -if && '
+configopts = '--with-htslib="$EBROOTHTSLIB"'
+
 sanity_check_paths = {
-    'files': ['bin/clone_filter', 'bin/cstacks', 'bin/gstacks', 'bin/kmer_filter', 'bin/phasedstacks',
-              'bin/populations', 'bin/process_radtags', 'bin/process_shortreads', 'bin/sstacks',
-              'bin/tsv2bam', 'bin/ustacks'],
+    'files': [f'bin/{x}' for x in ['clone_filter', 'cstacks', 'gstacks', 'kmer_filter', 'phasedstacks',
+                                   'populations', 'process_radtags', 'process_shortreads', 'sstacks',
+                                   'tsv2bam', 'ustacks']],
     'dirs': [],
 }
 
+sanity_check_commands = ["ustacks -h 2>&1 | grep -q 'ustacks %(version)s'"]
+
 moduleclass = 'bio'

Copy link
Contributor

@Micket Micket left a comment

Choose a reason for hiding this comment

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

lgtm

@Micket Micket added this to the next release (5.2.0?) milestone Nov 28, 2025
@Micket
Copy link
Contributor

Micket commented Nov 28, 2025

@boegelbot please test @ jsc-zen3

@boegelbot
Copy link
Collaborator

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

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

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

Test results coming soon (I hope)...

Details

- notification for comment with ID 3588799409 processed

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

@boegelbot
Copy link
Collaborator

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

@jfgrimm
Copy link
Member Author

jfgrimm commented Nov 28, 2025

Test report by @jfgrimm
SUCCESS
Build succeeded for 2 out of 2 (total: 1 min 45 secs) (2 easyconfigs in total)
node001.viking2.yor.alces.network - Linux Rocky Linux 8.10, x86_64, AMD EPYC 7643 48-Core Processor, Python 3.6.8
See https://gist.github.com/jfgrimm/fe98a5ceb740df0d7f880cd74cb07da7 for a full test report.

@boegel boegel changed the title avoid using bundled HTSlib in Stacks 2.68 avoid using bundled HTSlib in Stacks 2.68 + move to GCC toolchain Nov 29, 2025
@boegel boegel added the bug fix label Nov 29, 2025
@boegel
Copy link
Member

boegel commented Nov 29, 2025

Test report by @boegel
SUCCESS
Build succeeded for 2 out of 2 (total: 1 min 23 secs) (2 easyconfigs in total)
node4213.shinx.os - Linux RHEL 9.6, x86_64, AMD EPYC 9654 96-Core Processor (zen4), Python 3.9.21
See https://gist.github.com/boegel/98e8f19e3065f3277fd056cd02dff8f7 for a full test report.

@boegel
Copy link
Member

boegel commented Nov 29, 2025

Going in, thanks @jfgrimm!

@boegel boegel merged commit 9531218 into easybuilders:develop Nov 29, 2025
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2023a 2024a issues & PRs related to 2024a common toolchains bug fix change enhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants