annotate filter_vcf.py @ 3:d0afc9c121a5 draft default tip

Uploaded
author ulfschaefer
date Thu, 03 Dec 2015 06:05:14 -0500
parents 505a9f1dd8e0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
1 #!/usr/bin/env python
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
2 '''Simple VCF parser using custom filters.
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
3
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
4 Created on 6 Oct 2015
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
5
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
6 @author: alex
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
7 '''
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
8 import argparse
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
9
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
10 from phe.variant import VariantSet
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
11
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
12
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
13 def get_args():
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
14
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
15 args = argparse.ArgumentParser()
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
16
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
17 args.add_argument("--vcf", "-v", required=True, help="VCF file to (re)filter.")
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
18 args.add_argument("--filters", "-f", required=True, help="Filter(s) to apply as key:threshold pairs, separated by comma.")
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
19 args.add_argument("--output", "-o", required=True, help="Location for filtered VCF to be written.")
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
20
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
21 return args.parse_args()
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
22
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
23
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
24 def main():
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
25 args = get_args()
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
26
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
27 var_set = VariantSet(args.vcf, filters=args.filters)
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
28
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
29 var_set.filter_variants()
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
30
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
31 var_set.serialise(args.output)
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
32
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
33 if __name__ == '__main__':
505a9f1dd8e0 Uploaded
ulfschaefer
parents:
diff changeset
34 exit(main())