GithubHelp home page GithubHelp logo

htcondor's Introduction

HTCondor Snakemake profile

This profile configures Snakemake to submit jobs to a HTCondor cluster.

Prerequisites

The profile makes use of the HTCondor python bindings (and snakemake-executor-plugin-cluster-generic for snakemake > 8) which can be installed with

pip install --user htcondor snakemake-executor-plugin-cluster-generic 

or using Anaconda with

conda install -c conda-forge -c bioconda python-htcondor snakemake-executor-plugin-cluster-generic

Deploy profile

To deploy this profile run

mkdir -p ~/.config/snakemake
cd ~/.config/snakemake
cookiecutter https://github.com/Snakemake-Profiles/htcondor.git

You will be asked for the name of the profile and for a path where the HTCondor logs will be stored. The logs will be used to update the status of submitted jobs (as recommended in the documentation of the HTCondor Python bindings).

Then, you can run Snakemake with

snakemake --profile htcondor ...

so that jobs are submitted to the cluster. If Snakemake is killed and restarted afterwards, it will automatically resume still running jobs.

Tests

The tests are heavily inspired by the tests for the slurm snakemake profile. They can be run from the base directory by

pytest

Because the tests will try to submit jobs they need to be started from a HTCondor submit node. To run the tests from non-cluster machines or from github CI the HTCondor/mini docker container can be started by:

DOCKER_COMPOSE=tests/docker-compose.yaml ./tests/deploystack.sh

Migration to snakemake v8

If using snakemake version 8 or higher, refer to the migration guide. For this profile, use config.v8+.yaml instead of config.yaml

htcondor's People

Contributors

jheuel avatar johanneskoester avatar dericy avatar joshkarpel avatar agitter avatar evodify avatar olantwin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.