Skip to content

Commit 860ce2a

Browse files
committed
Retain qual scores for dragen/dragen cnv standardization
1 parent 87ac9f4 commit 860ce2a

File tree

3 files changed

+39
-0
lines changed

3 files changed

+39
-0
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import gzip
2+
import sys
3+
4+
# Input and output files
5+
in_vcf = "/Users/kjaising/Downloads/cluster_batch.dragen.fmt.vcf.gz"
6+
out_vcf = "/Users/kjaising/Downloads/cluster_batch.dragen.gq.fmt.vcf.gz"
7+
8+
# Default GQ value to use
9+
DEFAULT_GQ = "999"
10+
11+
with gzip.open(in_vcf, 'rt') as f_in, gzip.open(out_vcf, 'wt') as f_out:
12+
for line in f_in:
13+
if line.startswith('#'):
14+
if line.startswith('#CHROM'):
15+
f_out.write('##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality">\n')
16+
f_out.write(line)
17+
else:
18+
fields = line.strip().split('\t')
19+
format_idx = 8
20+
format_fields = fields[format_idx].split(':')
21+
22+
if 'GQ' not in format_fields:
23+
format_fields.insert(1, 'GQ')
24+
fields[format_idx] = ':'.join(format_fields)
25+
26+
for i in range(9, len(fields)):
27+
sample_values = fields[i].split(':')
28+
sample_values.insert(1, DEFAULT_GQ)
29+
fields[i] = ':'.join(sample_values)
30+
31+
f_out.write('\t'.join(fields) + '\n')
32+
33+
print(f"Created new VCF with GQ fields at: {out_vcf}")

src/svtk/svtk/standardize/std_dragen.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,9 @@ def standardize_info(self, std_rec, raw_rec):
146146
# Define ALGORITHMS
147147
std_rec.info['ALGORITHMS'] = ['dragen']
148148

149+
# Retain QUAL score
150+
std_rec.qual = raw_rec.qual
151+
149152
return std_rec
150153

151154
def standardize_alts(self, std_rec, raw_rec):

src/svtk/svtk/standardize/std_dragen_cnv.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,9 @@ def standardize_info(self, std_rec, raw_rec):
6969
# Define ALGORITHMS
7070
std_rec.info['ALGORITHMS'] = ['depth']
7171

72+
# Retain QUAL score
73+
std_rec.qual = raw_rec.qual
74+
7275
return std_rec
7376

7477
def standardize_alts(self, std_rec, raw_rec):

0 commit comments

Comments
 (0)