annotate span_wrapper.py @ 0:1f0c4f0a9c3b draft

Initial version of SPAN for ToolShed
author jetbrains
date Thu, 15 Nov 2018 11:04:49 -0500
parents
children 5b99943c4627
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
1 #!/usr/bin/env python
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
2
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
3 import os
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
4 import sys
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
5 import subprocess
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
6 argv = sys.argv[1:]
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
7 print 'Arguments {0}'.format(argv)
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
8
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
9 SPAN_JAR = os.environ.get("SPAN_JAR")
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
10 # span.jar from Docker container
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
11 # SPAN_JAR = "/root/span.jar"
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
12 print 'Using SPAN Peak Analyzer distributive file {0}'.format(SPAN_JAR)
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
13
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
14 # #if $action.action_selector
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
15 # #if str($control.control_selector) == "with_control"
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
16 # span_wrapper.py model with_control "${genome}" "${treatment_file}" "${bin}" "${action.model_file}" "${control.control_file}"
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
17 # #else
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
18 # span_wrapper.py model without_control "${genome}" "${treatment_file}" "${bin}" "${action.model_file}"
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
19 # #end if
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
20 # #else
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
21 # #if $control.control_selector
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
22 # span_wrapper.py peaks with_control "${genome}" "${treatment_file}" "${bin}" "${action.model_file}" "${control.control_file}" "${fdr}" "${gap}" "${action.peaks_file}"
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
23 # #else
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
24 # span_wrapper.py peaks without_control "${genome}" "${treatment_file}" "${bin}" "${action.model_file}" "${fdr}" "${gap}" "${action.peaks_file}"
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
25 # #end if
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
26 # #end if
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
27
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
28 # See http://artyomovlab.wustl.edu/aging/span.html for command line options
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
29 action = argv[0]
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
30 control = argv[1]
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
31 if action == 'model':
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
32 if control == 'with_control':
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
33 (chrom_sizes, treatment_file, bin, model_file, control_file) = argv[2:]
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
34 cmd = 'java -jar {} analyze --chrom.sizes {} --treatment {} --control {} --bin {}'.format(
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
35 SPAN_JAR, chrom_sizes, treatment_file, control_file, bin
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
36 )
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
37 print "MODEL FILE" + model_file
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
38 elif control == 'without_control':
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
39 (chrom_sizes, treatment_file, bin, model_file) = argv[2:]
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
40 cmd = 'java -jar {} analyze --chrom.sizes {} --treatment {} --bin {}'.format(
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
41 SPAN_JAR, argv[2], argv[3], argv[4]
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
42 )
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
43 print "MODEL FILE" + model_file
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
44 else:
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
45 raise Exception("Unknown control option {}".format(control))
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
46
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
47 elif action == "peaks":
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
48 if control == 'with_control':
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
49 (chrom_sizes, treatment_file, bin, model_file, control_file, fdr, gap, peaks_file) = argv[2:]
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
50 cmd = 'java -jar {} analyze --chrom.sizes {} --treatment {} --control {} --bin {} --fdr {} --gap {} --peaks {}'.format(
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
51 SPAN_JAR, chrom_sizes, treatment_file, control_file, bin, fdr, gap, peaks_file
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
52 )
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
53 print "MODEL FILE" + model_file
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
54 elif control == 'without_control':
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
55 (chrom_sizes, treatment_file, bin, model_file, fdr, gap, peaks_file) = argv[2:]
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
56 cmd = 'java -jar {} analyze --chrom.sizes {} --treatment {} --bin {} --fdr {} --gap {} --peaks {}'.format(
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
57 SPAN_JAR, chrom_sizes, treatment_file, bin, fdr, gap, peaks_file
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
58 )
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
59 print "MODEL FILE" + model_file
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
60 else:
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
61 raise Exception("Unknown control option {}".format(control))
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
62 else:
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
63 raise Exception("Unknown action command {}".format(action))
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
64
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
65
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
66 print 'Launching SPAN: {0}'.format(cmd)
1f0c4f0a9c3b Initial version of SPAN for ToolShed
jetbrains
parents:
diff changeset
67 subprocess.check_call(cmd, cwd=None, shell=True)