1 # Copyright (C) The Lightning Authors. All rights reserved.
3 # SPDX-License-Identifier: AGPL-3.0
14 parser = argparse.ArgumentParser(prog="filter-gvcf", description="Filter a \
15 gVCF with a user-set quality threshold.")
16 parser.add_argument("-k", "--keepGQdot", help="Keeps the variant when GQ \
17 is '.'", action="store_true")
18 parser.add_argument("quality_threshold", metavar="QUALITY", help="Quality \
20 parser.add_argument("gvcf", metavar="GVCF", nargs='?',
21 type=argparse.FileType('r'), default=sys.stdin, help="\
22 Input gVCF to filter from stdin")
24 args = parser.parse_args()
25 keepGQdot = args.keepGQdot
26 quality_threshold = args.quality_threshold
32 # retain header and info lines
39 fields = line.split('\t')
44 FORMAT_fields = fields[8].split(":")
45 sample_fields = fields[9].split(":")
47 # filter quality scores below the threshold
49 GQ_index = FORMAT_fields.index('GQ')
50 GQ = sample_fields[GQ_index]
52 if quality_threshold <= int(GQ):
54 elif GQ == "." and keepGQdot:
59 if __name__ == '__main__':