annotate vcfPytools.py @ 0:da1a6f33b504 draft default tip

Imported from capsule None
author devteam
date Mon, 27 Jan 2014 09:29:09 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
1 #!/usr/bin/python
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
2
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
3 import os.path
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
4 import sys
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
5
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
6 __author__ = "alistair ward"
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
7 __version__ = "version 0.26"
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
8 __date__ = "february 2011"
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
9
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
10 def main():
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
11 usage = "Usage: vcfPytools.py [tool] [options]\n\n" + \
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
12 "Available tools:\n" + \
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
13 " annotate:\n\tAnnotate the vcf file with membership in other vcf files.\n" + \
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
14 " extract:\n\tExtract vcf records from a region.\n" + \
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
15 " filter:\n\tFilter the vcf file.\n" + \
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
16 " intersect:\n\tGenerate the intersection of two vcf files.\n" + \
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
17 " merge:\n\tMerge a list of vcf files.\n" + \
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
18 " multi:\n\tFind the intersections and unique fractions of multiple vcf files.\n" + \
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
19 " sort:\n\tSort a vcf file.\n" + \
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
20 " stats:\n\tGenerate statistics from a vcf file.\n" + \
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
21 " union:\n\tGenerate the union of two vcf files.\n" + \
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
22 " unique:\n\tGenerate the unique fraction from two vcf files.\n" + \
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
23 " validate:\n\tValidate the input vcf file.\n\n" + \
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
24 "vcfPytools.py [tool] --help for information on a specific tool."
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
25
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
26 # Determine the requested tool.
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
27
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
28 if len(sys.argv) > 1:
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
29 tool = sys.argv[1]
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
30 else:
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
31 print >> sys.stderr, usage
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
32 exit(1)
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
33
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
34 if tool == "annotate":
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
35 import annotate
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
36 success = annotate.main()
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
37 elif tool == "extract":
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
38 import extract
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
39 success = extract.main()
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
40 elif tool == "filter":
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
41 import filter
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
42 success = filter.main()
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
43 elif tool == "intersect":
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
44 import intersect
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
45 success = intersect.main()
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
46 elif tool == "multi":
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
47 import multi
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
48 success = multi.main()
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
49 elif tool == "merge":
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
50 import merge
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
51 success = merge.main()
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
52 elif tool == "sort":
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
53 import sort
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
54 success = sort.main()
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
55 elif tool == "stats":
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
56 import stats
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
57 success = stats.main()
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
58 elif tool == "union":
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
59 import union
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
60 success = union.main()
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
61 elif tool == "unique":
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
62 import unique
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
63 success = unique.main()
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
64 elif tool == "test":
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
65 import test
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
66 success = test.main()
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
67 elif tool == "validate":
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
68 import validate
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
69 success = validate.main()
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
70 elif tool == "--help" or tool == "-h" or tool == "?":
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
71 print >> sys.stderr, usage
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
72 else:
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
73 print >> sys.stderr, "Unknown tool: ",tool
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
74 print >> sys.stderr, "\n", usage
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
75 exit(1)
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
76
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
77 # If program completed properly, terminate.
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
78
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
79 if success == 0: exit(0)
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
80
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
81 if __name__ == "__main__":
da1a6f33b504 Imported from capsule None
devteam
parents:
diff changeset
82 main()