Provided by: snakemake_7.32.4-7_all 

NAME
snakemake - a Python based language and execution environment for GNU Makelike workflows
DESCRIPTION
usage: snakemake [-h] [--snakefile FILE] [--gui [PORT]] [--cores [N]]
[--resources [NAME=INT [NAME=INT ...]]] [--config [KEY=VALUE [KEY=VALUE ...]]] [--configfile
FILE] [--list] [--list-target-rules] [--directory DIR] [--dryrun] [--printshellcmds] [--dag]
[--rulegraph] [--d3dag] [--summary] [--detailed-summary] [--touch] [--keep-going] [--force]
[--forceall] [--forcerun TARGET [TARGET ...]] [--prioritize TARGET [TARGET ...]]
[--allow-ambiguity] [--cluster CMD | --cluster-sync CMD | --drmaa [ARGS]] [--cluster-config FILE]
[--immediate-submit] [--jobscript SCRIPT] [--jobname NAME] [--reason] [--stats FILE] [--nocolor]
[--quiet] [--nolock] [--unlock] [--cleanup-metadata [FILE [FILE ...]]] [--rerun-incomplete]
[--ignore-incomplete] [--list-version-changes] [--list-code-changes] [--list-input-changes]
[--list-params-changes] [--latency-wait SECONDS] [--wait-for-files [FILE [FILE ...]]]
[--benchmark-repeats N] [--notemp] [--keep-target-files] [--allowed-rules ALLOWED_RULES
[ALLOWED_RULES ...]] [--timestamp] [--greediness GREEDINESS] [--print-compilation]
[--overwrite-shellcmd OVERWRITE_SHELLCMD] [--verbose] [--debug] [--profile FILE]
[--bash-completion] [--version] [target [target ...]]
positional arguments:
target Targets to build. May be rules or files.
optional arguments:
-h, --help
show this help message and exit
--snakefile FILE, -s FILE
The workflow definition in a snakefile.
--gui [PORT]
Serve an HTML based user interface to the given port (default: 8000). If possible, a browser
window is opened.
--cores [N], --jobs [N], -j [N]
Use at most N cores in parallel (default: 1). If N is omitted, the limit is set to the number of
available cores.
--resources [NAME=INT [NAME=INT ...]], --res [NAME=INT [NAME=INT ...]]
Define additional resources that shall constrain the scheduling analogously to threads (see
above). A resource is defined as a name and an integer value. E.g. --resources gpu=1. Rules can
use resources by defining the resource keyword, e.g. resources: gpu=1. If now two rules require 1
of the resource 'gpu' they won't be run in parallel by the scheduler.
--config [KEY=VALUE [KEY=VALUE ...]]
Set or overwrite values in the workflow config object. The workflow config object is accessible
as variable config inside the workflow. Default values can be set by providing a JSON file (see
Documentation).
--configfile FILE
Specify or overwrite the config file of the workflow (see the docs). Values specified in JSON or
YAML format are available in the global config dictionary inside the workflow.
--list, -l
Show available rules in given Snakefile.
--list-target-rules, --lt
Show available target rules in given Snakefile.
--directory DIR, -d DIR
Specify working directory (relative paths in the snakefile will use this as their origin).
--dryrun, -n
Do not execute anything.
--printshellcmds, -p
Print out the shell commands that will be executed.
--dag Do not execute anything and print the directed acyclic graph of jobs in the dot language.
Recommended use on Unix systems: snakemake --dag | dot | display
--rulegraph
Do not execute anything and print the dependency graph of rules in the dot language. This will be
less crowded than above DAG of jobs, but also show less information. Note that each rule is
displayed once, hence the displayed graph will be cyclic if a rule appears in several steps of the
workflow. Use this if above option leads to a DAG that is too large. Recommended use on Unix
systems: snakemake --rulegraph | dot | display
--d3dag
Print the DAG in D3.js compatible JSON format.
--summary, -S
Print a summary of all files created by the workflow. The has the following columns: filename,
modification time, rule version, status, plan. Thereby rule version contains the versionthe file
was created with (see the version keyword of rules), and status denotes whether the file is
missing, its input files are newer or if version or implementation of the rule changed since file
creation. Finally the last column denotes whether the file will be updated or created during the
next workflow execution.
--detailed-summary, -D
Print a summary of all files created by the workflow. The has the following columns: filename,
modification time, rule version, input file(s), shell command, status, plan. Thereby rule version
contains the versionthe file was created with (see the version keyword of rules), and status
denotes whether the file is missing, its input files are newer or if version or implementation of
the rule changed since file creation. The input file and shell command columns are
selfexplanatory. Finally the last column denotes whether the file will be updated or created
during the next workflow execution.
--touch, -t
Touch output files (mark them up to date without really changing them) instead of running their
commands. This is used to pretend that the rules were executed, in order to fool future
invocations of snakemake. Fails if a file does not yet exist.
--keep-going, -k
Go on with independent jobs if a job fails.
--force, -f
Force the execution of the selected target or the first rule regardless of already created output.
--forceall, -F
Force the execution of the selected (or the first) rule and all rules it is dependent on
regardless of already created output.
--forcerun TARGET [TARGET ...], -R TARGET [TARGET ...]
Force the re-execution or creation of the given rules or files. Use this option if you changed a
rule and want to have all its output in your workflow updated.
--prioritize TARGET [TARGET ...], -P TARGET [TARGET ...]
Tell the scheduler to assign creation of given targets (and all their dependencies) highest
priority. (EXPERIMENTAL)
--allow-ambiguity, -a
Don't check for ambiguous rules and simply use the first if several can produce the same file.
This allows the user to prioritize rules by their order in the snakefile.
--cluster CMD, -c CMD
Execute snakemake rules with the given submit command, e.g. qsub. Snakemake compiles jobs into
scripts that are submitted to the cluster with the given command, once all input files for a
particular job are present. The submit command can be decorated to make it aware of certain job
properties (input, output, params, wildcards, log, threads and dependencies (see the argument
below)), e.g.: $ snakemake --cluster 'qsub -pe threaded {threads}'.
--cluster-sync CMD
cluster submission command will block, returning the remote exitstatus upon remote termination
(for example, this should be usedif the cluster command is 'qsub -sync y' (SGE)
--drmaa [ARGS]
Execute snakemake on a cluster accessed via DRMAA, Snakemake compiles jobs into scripts that are
submitted to the cluster with the given command, once all input files for a particular job are
present. ARGS can be used to specify options of the underlying cluster system, thereby using the
job properties input, output, params, wildcards, log, threads and dependencies, e.g.: --drmaa '
-pe threaded {threads}'. Note that ARGS must be given in quotes and with a leading whitespace.
--cluster-config FILE, -u FILE
A JSON or YAML file that defines the wildcards used in 'cluster'for specific rules, instead of
having them specified in the Snakefile.For example, for rule 'job' you may define: { 'job' : {
'time' : '24:00:00' } } to specify the time for rule 'job'.
--immediate-submit, --is
Immediately submit all jobs to the cluster instead of waiting for present input files. This will
fail, unless you make the cluster aware of job dependencies, e.g. via: $ snakemake --cluster
'sbatch --dependency {dependencies}. Assuming that your submit script (here sbatch) outputs the
generated job id to the first stdout line, {dependencies} will be filled with space separated job
ids this job depends on.
--jobscript SCRIPT, --js SCRIPT
Provide a custom job script for submission to the cluster. The default script resides as
'jobscript.sh' in the installation directory.
--jobname NAME, --jn NAME
Provide a custom name for the jobscript that is submitted to the cluster (see --cluster). NAME is
"snakejob.{rulename}.{jobid}.sh" per default. The wildcard {jobid} has to be present in the name.
--reason, -r
Print the reason for each executed rule.
--stats FILE
Write stats about Snakefile execution in JSON format to the given file.
--nocolor
Do not use a colored output.
--quiet, -q
Do not output any progress or rule information.
--nolock
Do not lock the working directory
--unlock
Remove a lock on the working directory.
--cleanup-metadata [FILE [FILE ...]], --cm [FILE [FILE ...]]
Cleanup the metadata of given files. That means that snakemake removes any tracked version info,
and any marks that files are incomplete.
--rerun-incomplete, --ri
Re-run all jobs the output of which is recognized as incomplete.
--ignore-incomplete, --ii
Ignore any incomplete jobs.
--list-version-changes, --lv
List all output files that have been created with a different version (as determined by the
version keyword).
--list-code-changes, --lc
List all output files for which the rule body (run or shell) have changed in the Snakefile.
--list-input-changes, --li
List all output files for which the defined input files have changed in the Snakefile (e.g. new
input files were added in the rule definition or files were renamed). For listing input file
modification in the filesystem, use --summary.
--list-params-changes, --lp
List all output files for which the defined params have changed in the Snakefile.
--latency-wait SECONDS, --output-wait SECONDS, -w SECONDS
Wait given seconds if an output file of a job is not present after the job finished. This helps if
your filesystem suffers from latency (default 5).
--wait-for-files [FILE [FILE ...]]
Wait --latency-wait seconds for these files to be present before executing the workflow. This
option is used internally to handle filesystem latency in cluster environments.
--benchmark-repeats N
Repeat a job N times if marked for benchmarking (default 1).
--notemp, --nt
Ignore temp() declarations. This is useful when running only a part of the workflow, since temp()
would lead to deletion of probably needed files by other parts of the workflow.
--keep-target-files
Do not adjust the paths of given target files relative to the working directory.
--allowed-rules ALLOWED_RULES [ALLOWED_RULES ...]
Only use given rules. If omitted, all rules in Snakefile are used.
--timestamp, -T
Add a timestamp to all logging output
--greediness GREEDINESS
Set the greediness of scheduling. This value between 0 and 1 determines how careful jobs are
selected for execution. The default value (1.0) provides the best speed and still acceptable
scheduling quality.
--print-compilation
Print the python representation of the workflow.
--overwrite-shellcmd OVERWRITE_SHELLCMD
Provide a shell command that shall be executed instead of those given in the workflow. This is for
debugging purposes only.
--verbose
Print debugging output.
--debug
Allow one to debug rules with e.g. PDB. This flag allows to set breakpoints in run blocks.
--profile FILE
Profile Snakemake and write the output to FILE. This requires yappi to be installed.
--bash-completion
Output code to register bash completion for snakemake. Put the following in your .bashrc
(including the accents): `snakemake --bash-completion` or issue it in an open terminal session.
--version, -v
show program's version number and exit
snakemake 3.4.1 September 2015 SNAKEMAKE(1)