From 0f6a001f2a6450a837476f9719a28235f2e95d50 Mon Sep 17 00:00:00 2001 From: Kyle Meyer Date: Sun, 28 Feb 2016 03:37:28 -0500 Subject: Add snakemake-file-targets script --- snakemake-file-targets | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100755 snakemake-file-targets (limited to 'snakemake-file-targets') diff --git a/snakemake-file-targets b/snakemake-file-targets new file mode 100755 index 0000000..12dca78 --- /dev/null +++ b/snakemake-file-targets @@ -0,0 +1,25 @@ +#!/usr/bin/env python3 +"""Print all concrete file targets. + +Usage: snakemake-file-targets [SNAKEFILE] +""" +import sys +from snakemake.workflow import Workflow + +if len(sys.argv) == 1: + snakefile = "Snakefile" +elif len(sys.argv) == 2 and sys.argv[1] not in ["-h", "--help"]: + snakefile = sys.argv[1] +else: + sys.exit(__doc__) + +workflow = Workflow(snakefile=snakefile, snakemakepath="snakemake") +workflow.include(snakefile) + +for rule in workflow.rules: + for fname in rule.output: + if not callable(fname) and not fname.contains_wildcard(): + try: + print(fname) + except BrokenPipeError: + sys.exit(0) -- cgit v1.2.3