Skip to content

Create a Nextflow profile and workflow configuration for CCAM HPC#4

Open
AlexPatrie wants to merge 236 commits intomasterfrom
ccam-nextflow
Open

Create a Nextflow profile and workflow configuration for CCAM HPC#4
AlexPatrie wants to merge 236 commits intomasterfrom
ccam-nextflow

Conversation

@AlexPatrie
Copy link

@AlexPatrie AlexPatrie commented Dec 4, 2025

NOTE(please read first):

This PR may be expected to be open indefinitely, or at least as long as it takes to reconcile content between this branch, the fork's master and/or the origin's master. The final SMS deployment (non-"academic" API) must replicate this PR/branch in the secure vEcoli repo. (Not yet done).

What does this PR do?:

  • feat: adds a ccam Nextflow profile in runscripts/nextflow/config.template
  • feat: adds corresponding HPC-level SLURM configuration logic in runscripts/workflow.py
  • feat: creates a base JSON configuration for SMS multiseed-multigeneration jobs in configs/sms_ccam.json
  • chore: adds textwrap.dedent wrapping to existing SLURM script generation string blocks for clarity
  • feat: merges messages branch
  • feat: merges data-transformers branch (which itself has been merged into messages)

Shu-Feather and others added 30 commits June 25, 2025 03:08
GCSFS schedules future, which does not work in atexit callbacks, so we revert back to PyArrow. Additionally, we now use os._exit to explicitly set an exit code of 1 when an exception is raised during finalization because Python ignores exceptions in atexit callbacks by default.
Exceptions in atexit hooks are ignored and not reflected in the final exit code. Additionally, new futures cannot be scheduled in atexit hooks (after interpreter shutdown) so asyncio does not work.
AlexPatrie and others added 27 commits December 4, 2025 19:47
T2D spot VMs only available in standard sizes so retries would need to bump memory and CPU together, which is wasteful
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants