58 lines
1.2 KiB
Python
58 lines
1.2 KiB
Python
#!/usr/bin/env python3
|
|
|
|
import os
|
|
import sys
|
|
import subprocess
|
|
import math
|
|
from sv_modules import *
|
|
|
|
|
|
print("--------------------------------------------\n")
|
|
|
|
print("DPYD Variant Analysis with StellarPGx\n")
|
|
|
|
print("--------------------------------------------\n")
|
|
|
|
|
|
infile = sys.argv[1]
|
|
cov_file = sys.argv[2]
|
|
|
|
|
|
def get_core_variants(infile, cn):
|
|
core_vars = []
|
|
for line in open(infile, "r"):
|
|
line = line.strip()
|
|
core_vars.append(line)
|
|
core_vars = ";".join(sorted(core_vars))
|
|
|
|
if int(cn) == 1:
|
|
core_vars = core_vars.replace("~0/1", "~1/1")
|
|
|
|
if os.stat(infile).st_size == 0:
|
|
core_vars = "No core SNVs detected; haplotypes equivalent to GRCh38 content"
|
|
|
|
return core_vars
|
|
|
|
|
|
|
|
cn = get_total_CN(cov_file)[0]
|
|
|
|
exon_cov = get_total_CN(cov_file)[3]
|
|
av_ctrl_cov = get_total_CN(cov_file)[2]
|
|
|
|
print("Initially computed Copy Number = {}".format(cn))
|
|
|
|
|
|
for i in range(1, len(exon_cov)):
|
|
|
|
if exon_cov[i-1]/av_ctrl_cov < 0.45 :
|
|
print ('Check exon {} for potential deletion if using high coverage WGS'.format(str(i)))
|
|
else:
|
|
pass
|
|
|
|
supp_core_vars = get_core_variants(infile, cn)
|
|
|
|
print("\nSample core variants:")
|
|
print(supp_core_vars)
|
|
|