Skip to content

Update htcondor instructions#459

Draft
jhiemstrawisc wants to merge 7 commits into
Reed-CompBio:mainfrom
jhiemstrawisc:update-htcondor-instructions
Draft

Update htcondor instructions#459
jhiemstrawisc wants to merge 7 commits into
Reed-CompBio:mainfrom
jhiemstrawisc:update-htcondor-instructions

Conversation

@jhiemstrawisc
Copy link
Copy Markdown
Collaborator

This largely reformats the directory structure needed to run SPRAS workflows with HTCondor. In particular, it moves a lot of the helper code/submit files out of docker-wrappers/SPRAS/ into a top-level htcondor/ directory. I can do this now that the HTCondor executor has matured significantly, and can handle all the paths as they're configured in this diff.

To run a test SPRAS workflow, try following along with the instructions in docs/htcondor.rst. If anything is confusing, or you get hung up on any of the steps, let's discuss what I can do to make things more clear.

@jhiemstrawisc jhiemstrawisc requested a review from agitter January 23, 2026 21:56
@read-the-docs-community
Copy link
Copy Markdown

read-the-docs-community Bot commented Jan 23, 2026

Documentation build overview

📚 spras | 🛠️ Build #33043237 | 📁 Comparing 9aa43b8 against latest (d990664)

  🔍 Preview build  

2 files changed
± htcondor.html
± fordevs/spras.html

Copy link
Copy Markdown
Collaborator

@tristan-f-r tristan-f-r left a comment

Choose a reason for hiding this comment

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

[I'll have to restore my HTCondor access to follow this.]

Comment thread htcondor/spras_profile/config.yaml
Comment thread docs/htcondor.rst Outdated
Comment thread run_htcondor.sh Outdated
Copy link
Copy Markdown
Collaborator

@tristan-f-r tristan-f-r left a comment

Choose a reason for hiding this comment

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

Some code nitpicks

Comment thread htcondor/snakemake_long.py Outdated
Comment thread htcondor/snakemake_long.py Outdated
@tristan-f-r tristan-f-r added the documentation Improvements or additions to documentation label Jan 24, 2026
Copy link
Copy Markdown
Collaborator

@agitter agitter left a comment

Choose a reason for hiding this comment

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

I'm testing the Snakemake long execution mode. The first time my jobs went on hold because I put my spras-v0.6.0.sif file in the htcondor/ directory instead of the root directory. That should have been obvious based on the comment in the .yaml file.

On the second attempt my jobs went on hold with

Transfer output files failure at execution point slot1_24@e2591.chtc.wisc.edu while sending files to access point ap2001. Details: 1 total failures: first failure: reading from file /var/lib/condor/execute/slot1/dir_3699332/scratch/output: (errno 2) No such file or directory

Comment thread docs/htcondor.rst Outdated
Comment thread docs/htcondor.rst Outdated
Comment thread docs/htcondor.rst Outdated
Comment thread docs/htcondor.rst Outdated
Comment thread htcondor/spras.sub Outdated
Comment thread htcondor/spras.sub
log = logs/spras_$(Cluster)_$(Process).log
output = logs/spras_$(Cluster)_$(Process).out
error = logs/spras_$(Cluster)_$(Process).err
log = htcondor/logs/spras_$(Cluster)_$(Process).log
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Do we want on per cluster or one per cluster_process pair?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I think one per cluster/process is the right way to go. In theory, one could still queue N>1.

@jhiemstrawisc
Copy link
Copy Markdown
Collaborator Author

I converted this to a draft because these docs will depend on the explicit sif transfer PR, and I haven't yet tested everything here in that paradigm.

@jhiemstrawisc
Copy link
Copy Markdown
Collaborator Author

Also, apologies for the poor git etiquette in the last commit that rolled too many things into one diff (including running an rst formatter). I think some of the updates are sufficiently large that the whole file should more or less be re-assessed as a fresh document.

@jhiemstrawisc jhiemstrawisc force-pushed the update-htcondor-instructions branch from 178a93e to fe7fbbc Compare April 8, 2026 21:17
@github-actions github-actions Bot added the merge-conflict This PR has merge conflicts. label Apr 17, 2026
jhiemstrawisc and others added 6 commits June 8, 2026 10:25
…gging

I was tired of hacking around wanting verbose logging in the HTCondor
Snakemake executor, so I added some plumbing to pass Snakemake's
'--verbose' flag through 'snakemake_long.py' to snakemake itself.

Additionally, I added '--env-manager' so I could run things with my
preferred mamba env instead of conda (which is too slow to rebuild).
The executor has matured quite a bit since these instructions were
first drafted, and it's my hope that these changes remove a lot of
the headache for running jobs.

Now, you can edit config files in `config/` and use the `input/`
directory directly. Workflows should be submitted directly from the
repository root.
Co-authored-by: Tristan F.-R. <pub.tristanf@gmail.com>
@jhiemstrawisc jhiemstrawisc force-pushed the update-htcondor-instructions branch from fe7fbbc to ceea753 Compare June 8, 2026 15:46
@github-actions github-actions Bot removed the merge-conflict This PR has merge conflicts. label Jun 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants