File: filter-pysam.py

package info (click to toggle)
cyvcf2 0.32.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,516 kB
  • sloc: python: 1,646; ansic: 240; makefile: 228; sh: 91
file content (16 lines) | stat: -rw-r--r-- 358 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import sys
from pysam import VariantFile

vcf = VariantFile(sys.argv[1])
n = 0

for v in vcf:
    if len(v.alts) > 1: continue
    if v.qual < 20: continue
    gts = [s['GT'] for s in v.samples.values()]
    an = sum(len(gt) for gt in gts)
    ac = sum(sum(gt) for gt in gts)
    aaf = (float(ac) / float(an))
    if aaf > 0.05: continue
    n += 1
print(n)