Snakemake cookiecutter profile for running jobs on qsub cluster without synchronization. Derived from jaicher/snakemake-sync-bq-sub. Deploy using cookiecutter (easily installed using conda or pip) by running:
# make sure configuration directory snakemake looks for profiles in exists
mkdir -p ~/.config/snakemake
# use cookiecutter to create a profile in the config directory
cookiecutter --output-dir ~/.config/snakemake gh:jaicher/snakemake-qsub
This command will prompt for parameters to set. It will ask to change default snakemake parameters, log directories. It will ask for a default queue for job submissions (if left empty, by default it will not add a flag for the queue). It will finally ask what the desired profile name is.
Once complete, this will allow you to run Snakemake with the cluster
configuration using the --profile
flag. For example, if the profile name
was cluster-qsub
, then you can run:
snakemake --profile cluster-qsub {...}
Individual snakemake rules can have the following parameters specified in the Snakemake file:
threads
: the number of threads needed for the job. If not specified, assumed to be 1.resources
mem_mb
: the memory required for the rule in megabytes, which will be requested if present
A cluster configuration can be provided to specify additional information:
mem_mb
: the memory that will be requested for the rule in megabytes. Overriden byresources.mem_mb
. If neither provided, use a default value (in cookiecutter configuration).runtime
: the maximum amount of time the job will be allowed to run for in minutesqueue
: override the default queue for this job.logdir
: override the default cluster log directory for this job.output
: override the default name of stdout logfileerror
: override the default name of stderr logfilejobname
: override the default name of the job