blob: 6fdbad5135ed7f3ce325ea2d57bd894acd34150b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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)
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)
|