# HG changeset patch
# User iuc
# Date 1658584161 0
# Node ID 3b6cd808649840fcdc53ab9ea0158ae8cc2f296f
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/bcftools commit c45135e52ae5039e09272ac6f504d0ceb574aa70
diff -r 000000000000 -r 3b6cd8086498 README.md
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/README.md Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,68 @@
+# bcftools (v1.3)
+
+Copied from branch bcftools1.2:
+
+This aims to be a "faithful" rendering of the bcftool suite. I.e. options are
+presented essentially as closely to the command line version as is useful.
+
+This may not appeal to all, if you'd like to see smaller and more dedicated
+tools (e.g. "intersect", "union" and "complement" being separate tools instead
+of all of them included in the "isec" tool,) please feel free to file an issue.
+
+Updated for bcftools v1.3
+
+This was extended from the bcftools1.2 branch then greatly hand edited to
+group params and manage param innteractions.
+
+In the macros.xml there are macros and tokens to handle file input and output.
+These use the datatypes currently available in galaxy: Vcf and Bcf
+The macros take care of bgzip and indexing of inputs.
+
+The convert command was split into 2 tools, "convert to vcf" and "convert from vcf"
+
+## TODO:
+
+- stats needs a matplotlib tool dependency and pdflatex for generating a pdf of plots
+- cnv needs a matplotlib tool dependency for generating images, then a means to consolidate those.
+- cnv needs an input.vcf for testing, runs with bcftools cnv -s "HG00101" -o 'HG00101/' -p 5 mpileup.vcf
+- roh needs a more useful input.vcf for testing
+- plugin color chrs
+- plugin frameshifts
+
+## Status
+
+The wrappers were automatically generated in bulk. That doesn't get them 100%
+of the way there (e.g. meaningful test cases), so the rest of the process is a
+bit slower.
+
+- [x] annotate
+- [x] call
+- [ ] cnv (needs real test data, needs plotting)
+- [x] concat
+- [x] consensus
+- [x] convert from vcf
+- [x] convert to vcf
+- [x] filter
+- [x] gtcheck
+- [x] isec
+- [x] merge
+- [x] norm
+- [x] query
+- [x] query list samples
+- [x] reheader
+- [x] roh
+- [x] stats (needs plotting)
+- [x] view
+- [ ] +color chrs
+- [x] +counts
+- [x] +dosage
+- [x] +fill an ac
+- [x] +fill tags
+- [x] +fixploidy
+- [ ] +frameshifts
+- [x] +impute info
+- [x] +mendelian
+- [x] +missing2ref
+- [x] +setgt
+- [x] +tag2tag
+- [x] +vcf2sex
diff -r 000000000000 -r 3b6cd8086498 bcftools_plugin_split_vep.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/bcftools_plugin_split_vep.xml Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,112 @@
+
+
+ plugin Extracts fields from structured annotations such as INFO/CSQ
+
+ split-vep
+ split_vep
+ macros.xml
+
+
+
+
+ '$output_file'
+]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 000000000000 -r 3b6cd8086498 macros.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,723 @@
+
+ 1.10
+
+
+ bcftools
+
+
+
+
+ bcftools
+ htslib
+
+
+
+
+ samtools
+
+
+ matplotlib
+
+
+ bcftools 2>&1 | grep 'Version:'
+
+
+
+
+ 10.1093/bioinformatics/btp352
+
+
+
+ https://github.com/samtools/bcftools/wiki
+ http://samtools.github.io/bcftools/bcftools.html
+
+ --threads \${GALAXY_SLOTS:-4}
+
+
+
+
+
+
+
+
+ $input_vcf &&
+ bcftools index $input_vcf &&
+#elif $input_file.is_of_type('vcf_bgzip')
+ ln -s '$input_file' $input_vcf &&
+ #if $input_file.metadata.tabix_index:
+ ln -s '${input_file.metadata.tabix_index}' ${input_vcf}.tbi &&
+ #else
+ bcftools index $input_vcf &&
+ #end if
+#elif $input_file.is_of_type('bcf')
+ #set $input_vcf = 'input.bcf'
+ ln -s '$input_file' $input_vcf &&
+ #if $input_file.metadata.bcf_index:
+ ln -s '${input_file.metadata.bcf_index}' ${input_vcf}.csi &&
+ #else
+ bcftools index $input_vcf &&
+ #end if
+#end if
+]]>
+
+
+$input_vcf
+
+
+
+
+
+
+ $input_vcf &&
+ bcftools index $input_vcf &&
+ #elif $input_file.is_of_type('vcf_bgzip')
+ ln -s '$input_file' $input_vcf &&
+ #if $input_file.metadata.tabix_index:
+ ln -s '${input_file.metadata.tabix_index}' ${input_vcf}.tbi &&
+ #else
+ bcftools index $input_vcf &&
+ #end if
+ #elif $input_file.is_of_type('bcf')
+ #set $input_vcf = 'input' + str($i) + '.bcf.gz'
+ ln -s '$input_file' $input_vcf &&
+ #if $input_file.metadata.bcf_index:
+ ln -s '${input_file.metadata.bcf_index}' ${input_vcf}.csi &&
+ #else
+ bcftools index $input_vcf &&
+ #end if
+ #end if
+ echo '$input_vcf' >> $vcfs_list_file &&
+ $input_vcfs.append($input_vcf)
+#end for
+]]>
+
+
+#echo ' '.join($input_vcfs)#
+
+
+$vcfs_list_file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#if $input_fa_ref is not None:
+ --fasta-ref $input_fa_ref
+#elif 'fasta_ref' in $section and $section.fasta_ref:
+ --fasta-ref '${section.fasta_ref}'
+#end if
+
+
+
+
+
+
+
+
+
+
+#if 'AF_file' in $section and $section.AF_file:
+ --AF-file '${section.AF_file}'
+#end if
+
+
+
+
+
+
+#if 'estimate_AF' in $section and $section.estimate_AF:
+ --estimate-AF "${section.estimate_AF}"
+#end if
+
+
+
+
+
+
+ $exons_path &&
+ tabix -s 1 -b 2 -e 3 $exons_path &&
+#end if
+]]>
+
+
+#if 'exons_file' in $section and $section.exons_file:
+ --exons $exons_path
+#end if
+
+
+
+
+
+
+#if 'ploidy_file' in $section and $section.ploidy_file:
+ --ploidy "${section.ploidy_file}"
+#end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#if $section.collapse:
+ --collapse ${section.collapse}
+#end if
+
+
+
+
+ ^([^ \t\n\r\f\v,]+(,[^ \t\n\r\f\v,]+)*)?$
+
+
+
+#if $section.apply_filters:
+ --apply-filters '${section.apply_filters}'
+#end if
+
+
+
+
+
+
+
+
+
+
+#if str($output_type) != "__none__":
+ --output-type '${output_type}'
+#end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ value.strip()
+
+
+ not value or value.isdigit()
+
+
+ not value or value.isdigit()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $targets_path &&
+ tabix -s 1 -b 2 -e 2 $targets_path &&
+ #end if
+#elif $tgts_sec.targets_file:
+ #set $targets_path = 'targets_file.tab.gz'
+ bgzip -c "$section.targets_file" > $targets_path &&
+ tabix -s 1 -b 2 -e 2 $targets_path &&
+#end if
+]]>
+
+
+
+
+
+
+
+
+ ^(\w+(,\w+)*)?$
+
+
+
+
+
+
+#set $samples_defined = False
+#if str($section.samples) != '':
+ #set $samples_defined = True
+ --samples '${section.invert_samples}${section.samples}'
+#end if
+#if $section.samples_file:
+ #set $samples_defined = True
+ --samples-file "${section.invert_samples_file}${section.samples_file}"
+#end if
+
+
+
+
+
+
+#if $section.sample:
+ --sample '${section.sample}'
+#end if
+
+
+
+ "'" not in value and value[-1] != "\\"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#if $section.include:
+ --include '${section.include}'
+#end if
+
+
+
+
+
+
+
+
+#if $section.exclude:
+ --exclude '${section.exclude}'
+#end if
+
+
+
+
+ ^([^,]+(,[^,]+)*)?$
+
+
+
+#if $section.columns != '':
+ --columns '${section.columns}'
+#end if
+
+
+
+
+
+
+
+
+
+
+${section.vcf_ids}
+
+
+
+ BCF conversion.
+
+This Galaxy tool recommends using the compressed BCF format
+as piping is not implemented, and uncompressed data would
+use unnecessary amounts of space.
+ ]]>
+
+
+ als.tsv.gz && tabix -s1 -b2 -e2 als.tsv.gz
+ ]]>
+
+
+
+
+
+Collapse
+--------
+
+Controls how to treat records with duplicate positions and defines compatible
+records across multiple input files. Here by "compatible" we mean records which
+should be considered as identical by the tools. For example, when performing
+line intersections, the desire may be to consider as identical all sites with
+matching positions (bcftools isec -c all), or only sites with matching variant
+type (bcftools isec -c snps -c indels), or only sites with all alleles
+identical (bcftools isec -c none).
+
+
++------------+----------------------------------------------------------------+
+| Flag value | Result |
++============+================================================================+
+| none | only records with identical REF and ALT alleles are compatible |
++------------+----------------------------------------------------------------+
+| some | only records where some subset of ALT alleles match are |
+| | compatible |
++------------+----------------------------------------------------------------+
+| all | all records are compatible, regardless of whether the ALT |
+| | alleles match or not. In the case of records with the same |
+| | position, only the first wil lbe considered and appear on |
+| | output. |
++------------+----------------------------------------------------------------+
+| snps | any SNP records are compatible, regardless of whether the ALT |
+| | alleles match or not. For duplicate positions, only the first |
+| | SNP record will be considered and appear on output. |
++------------+----------------------------------------------------------------+
+| indels | all indel records are compatible, regardless of whether the |
+| | REF and ALT alleles match or not. For duplicate positions, |
+| | only the first indel record will be considered and appear on |
+| | output. |
++------------+----------------------------------------------------------------+
+| both | abbreviation of "-c indels -c snps" |
++------------+----------------------------------------------------------------+
+| id | only records with identical ID column are compatible. |
+| | Supportedby bcftools merge only. |
++------------+----------------------------------------------------------------+
+
+
+
+ , >=, <=, <, !=
+
+- regex operators "~" and its negation "!~"
+
+ ::
+
+ INFO/HAYSTACK ~ "needle"
+
+- parentheses
+
+ ::
+
+ (, )
+
+- logical operators
+
+ ::
+
+ && (same as &), ||, |
+
+- INFO tags, FORMAT tags, column names
+
+ ::
+
+ INFO/DP or DP
+ FORMAT/DV, FMT/DV, or DV
+ FILTER, QUAL, ID, REF, ALT[0]
+
+- 1 (or 0) to test the presence (or absence) of a flag
+
+ ::
+
+ FlagA=1 && FlagB=0
+
+- "." to test missing values
+
+ ::
+
+ DP=".", DP!=".", ALT="."
+
+- missing genotypes can be matched regardless of phase and ploidy (".|.", "./.", ".") using this expression
+
+ ::
+
+ GT="."
+
+- TYPE for variant type in REF,ALT columns (indel,snp,mnp,ref,other)
+
+ ::
+
+ TYPE="indel" | TYPE="snp"
+
+- array subscripts, "*" for any field
+
+ ::
+
+ (DP4[0]+DP4[1])/(DP4[2]+DP4[3]) > 0.3
+ DP4[*] == 0
+ CSQ[*] ~ "missense_variant.*deleterious"
+
+- function on FORMAT tags (over samples) and INFO tags (over vector fields)
+
+ ::
+
+ MAX, MIN, AVG, SUM, STRLEN, ABS
+
+- variables calculated on the fly if not present: number of alternate alleles; number of samples; count of alternate alleles; minor allele count (similar to AC but is always smaller than 0.5); frequency of alternate alleles (AF=AC/AN); frequency of minor alleles (MAF=MAC/AN); number of alleles in called genotypes
+
+ ::
+
+ N_ALT, N_SAMPLES, AC, MAC, AF, MAF, AN
+
+**Notes:**
+
+- String comparisons and regular expressions are case-insensitive
+- If the subscript "*" is used in regular expression search, the whole field
+ is treated as one string. For example, the regex ``STR[*]~"B,C"`` will be
+ true for the string vector INFO/STR=AB,CD.
+- Variables and function names are case-insensitive, but not tag names. For
+ example, "qual" can be used instead of "QUAL", "strlen()" instead of
+ "STRLEN()" , but not "dp" instead of "DP".
+
+**Examples:**
+
+ ::
+
+ MIN(DV)>5
+ MIN(DV/DP)>0.3
+ MIN(DP)>10 & MIN(DV)>3
+ FMT/DP>10 & FMT/GQ>10 .. both conditions must be satisfied within one sample
+ FMT/DP>10 && FMT/GQ>10 .. the conditions can be satisfied in different samples
+ QUAL>10 | FMT/GQ>10 .. selects only GQ>10 samples
+ QUAL>10 || FMT/GQ>10 .. selects all samples at QUAL>10 sites
+ TYPE="snp" && QUAL>=10 && (DP4[2]+DP4[3] > 2)
+ MIN(DP)>35 && AVG(GQ)>50
+ ID=@file .. selects lines with ID present in the file
+ ID!=@~/file .. skip lines with ID present in the ~/file
+ MAF[0]<0.05 .. select rare variants at 5% cutoff
+ ]]>
+
diff -r 000000000000 -r 3b6cd8086498 test-data/23andme.fa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/23andme.fa Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,14 @@
+>1
+CACGTNACGGCTGAAGTCCAAGGTAC
+CGTATCGAGTTCACAGTCGATAGCTC
+GATCGATAGCATCGCTAGCNNNACTA
+CGATCGATCGCTCTCCGTAACACTCA
+AAAACGATCGATCGACTGCTCTTTAG
+CGATGACTTTAGGGGAAAAA
+>2
+CGCTCAGCCGTACAGCCGAGCAGGAC
+ACGCTATTTTAGATCGACTGGCTNNG
+CGCTAGCTACGCTTTAGCACGAGAA
+>Y
+NNNGCATACGTGTCCATCACGATGAT
+AGCGATGATCGATC
diff -r 000000000000 -r 3b6cd8086498 test-data/annotate.hdr
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annotate.hdr Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,4 @@
+##INFO=
+##INFO=
+##INFO=
+##INFO=
diff -r 000000000000 -r 3b6cd8086498 test-data/annotate.tab
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annotate.tab Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,18 @@
+3 3212016 CTT C,CT indel_3212016 . . . 1
+4 3258448 TACACACAC T indel_3258448 . . . 1
+4 4000000 T C id1 . . . 1
+4 4000001 T C,A id2 . . . 1
+2 3199812 G GTT,GT indel_3199812 . . . 1
+1 3000150 C CT indel_3000150 . . . 1
+1 3000150 C T snp_3000150 999 1,2 1e-10,2e-10 .
+1 3000151 C T snp_3000151 999 1 2e-10 .
+1 3062915 G T,C snp_3062915 999 1 2e-10 .
+1 3062915 GTTT G indel_3062915 . . . 1
+1 3106154 A C snp_3106154 999 1 2e-10 .
+1 3106154 C CT indel_3106154 . . . 1
+1 3106154 CAAA C indel_3106154 . . . 1
+1 3157410 GA G indel_3157410 . . . 1
+1 3162006 GAA G indel_3162006 . . . 1
+1 3177144 G . ref_3177144 999 1 2e-10 .
+1 3177144 G T snp_3177144 999 1 2e-10 0
+1 3184885 TAAAA TA,T indel_3184885 . . . 1
diff -r 000000000000 -r 3b6cd8086498 test-data/annotate.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annotate.vcf Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,39 @@
+##fileformat=VCFv4.1
+##INFO=
+##FORMAT=
+##INFO=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FILTER=
+##FILTER=
+##contig=
+##contig=
+##contig=
+##contig=
+##test=
+##reference=file:///lustre/scratch105/projects/g1k/ref/main_project/human_g1k_v37.fasta
+##readme=AAAAAA
+##readme=BBBBBB
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT A B
+1 3000150 . C T 59.2 PASS AN=4;AC=2 GT:GQ 0/1:245 0/1:245
+1 3000151 . C T 59.2 PASS AN=4;AC=2 GT:DP:GQ 0/1:32:245 0/1:32:245
+1 3062915 id3D GTTT G 12.9 q10 DP4=1,2,3,4;AN=4;AC=2;INDEL;STR=test GT:GQ:DP:GL 0/1:409:35:-20,-5,-20 0/1:409:35:-20,-5,-20
+1 3062915 idSNP G T,C 12.6 test TEST=5;DP4=1,2,3,4;AN=3;AC=1,1 GT:TT:GQ:DP:GL 0/1:0,1:409:35:-20,-5,-20,-20,-5,-20 2:0,1:409:35:-20,-5,-20
+1 3106154 . CAAA C 342 PASS AN=4;AC=2 GT:GQ:DP 0/1:245:32 0/1:245:32
+1 3106154 . C CT 59.2 PASS AN=4;AC=2 GT:GQ:DP 0/1:245:32 0/1:245:32
+1 3157410 . GA G 90.6 q10 AN=4;AC=4 GT:GQ:DP 1/1:21:21 1/1:21:21
+1 3162006 . GAA G 60.2 PASS AN=4;AC=2 GT:GQ:DP 0/1:212:22 0/1:212:22
+1 3177144 . G T 45 PASS AN=4;AC=2 GT:GQ:DP 0/0:150:30 1/1:150:30
+1 3177144 . G . 45 PASS AN=4;AC=0 GT:GQ:DP 0/0:150:30 0/0:150:30
+1 3184885 . TAAAA TA,T 61.5 PASS AN=4;AC=2,2 GT:GQ:DP 1/2:12:10 1/2:12:10
+2 3199812 . G GTT,GT 82.7 PASS AN=4;AC=2,2 GT:GQ:DP 1/2:322:26 1/2:322:26
+3 3212016 . CTT C,CT 79 PASS AN=4;AC=2,2 GT:GQ:DP 1/2:91:26 1/2:91:26
+4 3258448 . TACACACAC T 59.9 PASS AN=4;AC=2 GT:GQ:DP 0/1:325:31 0/1:325:31
+4 4000000 . T A,C 59.9 PASS AN=4;AC=2 GT:GQ:DP 0/1:325:31 0/1:325:31
+4 4000001 . T A 59.9 PASS AN=4;AC=2 GT:GQ:DP 0/1:325:31 0/1:325:31
diff -r 000000000000 -r 3b6cd8086498 test-data/annotate2.tab
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annotate2.tab Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,2 @@
+2 3000000 3199812 region_3000000_3199812
+1 3000150 3106154 region_3000150_3106154
diff -r 000000000000 -r 3b6cd8086498 test-data/annotate2.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annotate2.vcf Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,17 @@
+##fileformat=VCFv4.1
+##contig=
+##reference=file:///lustre/scratch105/projects/g1k/ref/main_project/human_g1k_v37.fasta
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FILTER=
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT A B C
+1 3000001 xx C T 11 PASS FLAG;IINT=11;IFLT=1.1;ISTR=xxx GT:FINT:FFLT:FSTR 0/0:11:1.1:xxx 0/0:11:1.1:x 0/0:11:1.1:x
+1 3000002 . C T . . . GT . . .
+1 3000003 xx C T 11 q11 FLAG;IINT=.;IFLT=.;ISTR=. GT:FINT:FFLT:FSTR 0/0:.:.:. 0/0:.:.:. 0/0:.:.:.
+1 3000004 xx C T 11 q11 FLAG;IINT=11;IFLT=1.1;ISTR=xxx GT:FINT:FFLT:FSTR 0/0:11:1.1:x 0/0:11:1.1:xxx 0/0:11:1.1:xxx
diff -r 000000000000 -r 3b6cd8086498 test-data/annotate3.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annotate3.vcf Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,21 @@
+##fileformat=VCFv4.1
+##FILTER=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##FILTER=
+##FILTER=
+##FILTER=
+##FILTER=
+##contig=
+##reference=file:///lustre/scratch105/projects/g1k/ref/main_project/human_g1k_v37.fasta
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT A B
+1 3000000 id C . 20 . AA=1;BB=2;X=3;Y=4 GT:X:PL:Y:AA 0/1:1:2:3:1 0/1:1:2:3:1
+1 3000001 id C . 20 PASS AA=1;BB=2;X=3;Y=4 GT:X:PL:Y:AA 0/1:1:2:3:1 0/1:1:2:3:1
+1 3000002 id C . 20 fltY;fltA;fltB;fltX BB=2;X=3;Y=4;AA=1 GT:Y:X:PL:AA 0/1:3:1:2:1 0/1:3:1:2:1
diff -r 000000000000 -r 3b6cd8086498 test-data/annots.bcf
Binary file test-data/annots.bcf has changed
diff -r 000000000000 -r 3b6cd8086498 test-data/annots.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annots.vcf Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,37 @@
+##fileformat=VCFv4.1
+##INFO=
+##FORMAT=
+##INFO=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FILTER=
+##FILTER=
+##contig=
+##contig=
+##contig=
+##contig=
+##test=
+##reference=file:///lustre/scratch105/projects/g1k/ref/main_project/human_g1k_v37.fasta
+##readme=AAAAAA
+##readme=BBBBBB
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT A B
+1 3000150 id1 C T 99 PASS STR=id1;AN=4;AC=0 GT:GQ 0|0:999 0|0:999
+1 3000151 id2 C T 99 PASS STR=id2;AN=4;AC=0 GT:DP:GQ 0|0:99:999 0|0:99:999
+1 3062915 idIndel GTTT G 99 PASS DP4=1,2,3,4;AN=4;AC=0;INDEL;STR=testIndel GT:GQ:DP:GL 0|0:999:99:-99,-9,-99 0|0:999:99:-99,-9,-99
+1 3062915 idSNP G T,C 99 PASS STR=testSNP;TEST=5;DP4=1,2,3,4;AN=3;AC=0,0 GT:TT:GQ:DP:GL 0|0:9,9:999:99:-99,-9,-99,-99,-9,-99 0:9,9:999:99:-99,-9,-99
+1 3106154 id4 CAAA C 99 PASS STR=id4;AN=4;AC=0 GT:GQ:DP 0|0:999:99 0|0:999:99
+1 3106154 id5 C CT 99 PASS STR=id5;AN=4;AC=0 GT:GQ:DP 0|0:999:99 0|0:999:99
+1 3157410 id6 GA GC,G 99 PASS STR=id6;AN=4;AC=0 GT:GQ:DP 0|0:99:99 0|0:99:99
+1 3162006 id7 GAA GG 99 PASS STR=id7;AN=4;AC=0 GT:GQ:DP 0|0:999:99 0|0:999:99
+1 3177144 id8 G T 99 PASS STR=id8;AN=4;AC=0 GT:GQ:DP 0|0:999:99 0|0:999:99
+1 3177144 id9 G . 99 PASS STR=id9;AN=4;AC=0 GT:GQ:DP 0|0:999:99 0|0:999:99
+1 3184885 id10 TAAAA TA,T 99 PASS STR=id10;AN=4;AC=0,0 GT:GQ:DP 0|0:99:99 0|0:99:99
+2 3199812 id11 G GTT,GT 99 PASS STR=id11;AN=4;AC=0,0 GT:GQ:DP 0|0:999:99 0|0:999:99
+3 3212016 id12 CTT C,CT 99 PASS STR=id12;AN=4;AC=0,0 GT:GQ:DP 0|0:99:99 0|0:99:99
+4 3258448 id13 TACACACAC T 99 PASS STR=id13;AN=4;AC=0 GT:GQ:DP 0|0:999:99 0|0:999:99
diff -r 000000000000 -r 3b6cd8086498 test-data/annots2.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/annots2.vcf Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,17 @@
+##fileformat=VCFv4.1
+##FILTER=
+##contig=
+##reference=file:///lustre/scratch105/projects/g1k/ref/main_project/human_g1k_v37.fasta
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT B A
+1 3000001 . C T . . . GT . .
+1 3000002 id C T 99 q99 FLAG;IINT=88,99;IFLT=8.8,9.9;ISTR=888,999 GT:FINT:FFLT:FSTR 1|1:88,99:8.8,9.9:888,999 0|1:77:7.7:77
+1 3000003 id C T 99 q99 FLAG;IINT=88,99;IFLT=8.8,9.9;ISTR=888,999 GT:FINT:FFLT:FSTR 1|1:88,99:8.8,9.9:888,999 0|1:77:7.7:77
+1 3000004 id C T 99 q99 FLAG;IINT=88,99;IFLT=8.8,9.9;ISTR=888,999 GT:FINT:FFLT:FSTR 1|1:88,99:8.8,9.9:888,999 0|1:77:7.7:77
diff -r 000000000000 -r 3b6cd8086498 test-data/check.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/check.vcf Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,38 @@
+##fileformat=VCFv4.1
+##INFO=
+##FORMAT=
+##INFO=
+##INFO=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FILTER=
+##FILTER=
+##contig=
+##contig=
+##contig=
+##reference=file:///lustre/scratch105/projects/g1k/ref/main_project/human_g1k_v37.fasta
+##readme=AAAAAA
+##readme=BBBBBB
+##INFO=
+##INFO=
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT A B
+1 3062915 id3D GTTT G 12.9 q10 DP4=1,2,3,4;AN=4;AC=2 GT:GQ:DP:GL 0/1:409:35:-20,-5,-20 0/1:409:35:-20,-5,-20
+1 3062915 idSNP G T,C 12.6 test TEST=5;DP4=1,2,3,4;AN=4;AC=1,1 GT:TT:GQ:DP:GL 0/1:0,1:409:35:-20,-5,-20,-20,-5,-20 0/2:0,1:409:35:-20,-5,-20,-20,-5,-20
+1 3106154 . CAAA C 342 PASS AN=4;AC=2 GT:GQ:DP 0/1:245:32 0/1:245:32
+1 3106154 . G A 59.2 PASS AN=4;AC=1 GT:GQ:DP 0/1:245:32 0/0:245:32
+1 3157410 . G A 90.6 q10 AN=4;AC=4 GT:GQ:DP 1/1:21:21 1/1:21:21
+1 3162006 . G A 60.2 PASS AN=4;AC=3 GT:GQ:DP 1/1:212:22 0/1:212:22
+1 3177144 . GT G 45 PASS AN=4;AC=2 GT:GQ:DP 0/1:150:30 0/1:150:30
+1 3184885 . TAAAA TA,T 61.5 PASS AN=4;AC=2,2 GT:GQ:DP 1/2:12:10 1/2:12:10
+2 3199812 . G GTT,GT 82.7 PASS AN=4;AC=2,2 GT:GQ:DP 1/2:322:26 1/2:322:26
+3 3212016 . CTT C,CT 79 PASS AN=4;AC=2,2 GT:GQ:DP 1/2:91:26 1/2:91:26
+4 3258448 . TACACACAC T 59.9 PASS DP=62;AN=4;AC=2 GT:GQ:DP 0/1:325:31 0/1:325:31
+4 3258449 . GCAAA GA,G 59.9 PASS DP=62;AN=4;AC=2 GT:GQ:DP 0/1:325:31 0/1:325:31
+4 3258450 . AAAAGAAAAAG A,AAAAAAG 59.9 PASS DP=60;AN=4;AC=2 GT:GQ:DP 0/1:325:31 0/1:325:31
+4 3258451 . AAA AGT 59.9 PASS AN=4;AC=2 GT:GQ:DP 0/1:325:31 0/1:325:31
+4 3258452 . AAA AGA 59.9 PASS AN=4;AC=2 GT:GQ:DP 0/1:325:31 0/1:325:31
+4 3258453 . AACA AGA 59.9 PASS AN=4;AC=2 GT:GQ:DP 0/1:325:31 0/1:325:31
+4 3258453 . ACA AAGA 59.9 PASS AN=4;AC=2 GT:GQ:DP 0/1:325:31 0/1:325:31
+4 3258454 . AACA AACA 59.9 PASS AN=4;AC=2 GT:GQ:DP 0/1:325:31 0/1:325:31
diff -r 000000000000 -r 3b6cd8086498 test-data/cnv.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cnv.vcf Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,192 @@
+##fileformat=VCFv4.2
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT test
+10 135656 rs10904561 T G . . . GT:LRR:BAF:IA:IB:GC 0/1:0.0415:0.5176:0.543:0.661:0.9477
+10 135708 rs7917054 G A . . . GT:LRR:BAF:IA:IB:GC 1/0:0.2441:0.501:0.742:0.659:0.9604
+10 178434 rs7089889 T G . . . GT:LRR:BAF:IA:IB:GC 0/1:0.1440:0.4833:0.836:0.827:0.8884
+10 188805 rs12146291 A G . . . GT:LRR:BAF:IA:IB:GC 0/1:0.2144:0.4715:0.776:0.743:0.9610
+10 203471 rs10903451 A G . . . GT:LRR:BAF:IA:IB:GC 0/0:0.4201:0.0000:0.619:0.022:0.9337
+10 252693 rs2379078 T C . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.2673:0.0068:0.806:0.081:0.9018
+10 273344 rs2448378 A C . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.7407:0.0000:0.497:0.012:0.9411
+10 279248 rs2496278 C A . . . GT:LRR:BAF:IA:IB:GC 1/0:-0.4228:0.6268:0.285:0.958:0.6772
+10 291134 rs10508201 T C . . . GT:LRR:BAF:IA:IB:GC 0/1:0.1085:0.4723:0.317:0.444:0.9106
+10 293358 exm2249181 A C . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.0097:0.0044:1.507:0.061:0.3992
+10 313504 rs4880568 C T . . . GT:LRR:BAF:IA:IB:GC 1/1:-0.5836:0.9803:0.017:0.321:0.9547
+10 317501 rs2018975 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.3392:0:1.069:0.039:0.7852
+10 323283 rs3740304 A G . . . GT:LRR:BAF:IA:IB:GC 0/1:0.1836:0.5588:1.053:1.110:0.8640
+10 326894 rs3125027 T C . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.0517:0.0005:1.300:0.026:0.8916
+10 327162 exm805022 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.1197:0:0.995:0.015:0.5328
+10 329493 rs3815985 C A . . . GT:LRR:BAF:IA:IB:GC 1/0:0.0480:0.5187:0.824:0.794:0.9109
+10 338553 rs3125031 C T . . . GT:LRR:BAF:IA:IB:GC 1/0:-0.3387:0.4696:0.777:1.004:0.7901
+10 354301 rs35198327 C T . . . GT:LRR:BAF:IA:IB:GC 1/0:-0.1338:0.4929:0.903:0.996:0.8546
+10 375475 variant.11341 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.0747:0.000199999999999978:1.132:0.012:0.4773
+10 377161 rs7070654 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:0.1388:0:0.582:0.020:0.9458
+10 387060 rs7904155 G A . . . GT:LRR:BAF:IA:IB:GC 1/1:0.0615:0.9945:0.080:1.883:0.8310
+10 390962 exm805090 G A . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.0087:9.9999999999989e-05:1.226:0.063:0.6950
+10 390983 exm805091 G A . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.3606:0:0.398:0.035:0.4585
+10 394615 exm805105 G A . . . GT:LRR:BAF:IA:IB:GC 0/0:0.0170:0:1.345:0.020:0.4108
+10 402390 exm805131 G C . . . GT:LRR:BAF:IA:IB:GC 0/0:0.0341:0.0000:1.127:0.023:0.8735
+10 403792 exm805136 G C . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.1428:0.0000:0.908:0.019:0.8483
+10 410501 exm805166 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:0.0189:0:1.162:0.050:0.4628
+10 413010 rs9787422 C T . . . GT:LRR:BAF:IA:IB:GC 1/0:0.0871:0.5334:0.908:0.961:0.8338
+10 423555 rs12245012 G A . . . GT:LRR:BAF:IA:IB:GC 0/0:0.1264:0.00149999999999995:1.658:0.040:0.8015
+10 423671 rs10904067 C T . . . GT:LRR:BAF:IA:IB:GC 1/0:-0.3622:0.5566:0.326:0.370:0.9306
+10 431161 exm2271240 C T . . . GT:LRR:BAF:IA:IB:GC 1/0:-0.0175:0.4838:0.935:1.004:0.8308
+10 435971 exm2249233 T C . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.2716:0.0000:1.217:0.042:0.3992
+10 435990 exm805214 G A . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.1427:0:1.107:0.031:0.4295
+10 453567 rs4881254 C T . . . GT:LRR:BAF:IA:IB:GC 1/0:0.1831:0.5079:1.032:1.425:0.8149
+10 462885 rs10904173 G A . . . GT:LRR:BAF:IA:IB:GC 1/0:-0.0930:0.4819:0.568:0.489:0.9332
+10 465046 exm805254 G A . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.1108:0:1.041:0.038:0.8704
+10 468599 rs12415961 T C . . . GT:LRR:BAF:IA:IB:GC 0/1:0.1647:0.5021:1.192:0.825:0.8051
+10 486935 exm805280 G C . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.1369:0.0186:0.643:0.060:0.4804
+10 487973 rs4881313 T C . . . GT:LRR:BAF:IA:IB:GC 0/1:0.0644:0.5628:0.747:0.992:0.8463
+10 521431 exm2271370 C T . . . GT:LRR:BAF:IA:IB:GC 1/1:0.0436:0.9952:0.028:1.491:0.8545
+10 521723 rs4881336 C T . . . GT:LRR:BAF:IA:IB:GC 1/1:-0.2056:1:0.055:1.228:0.8344
+10 547567 rs816599 A G . . . GT:LRR:BAF:IA:IB:GC 1/1:-0.0079:1.0000:0.023:1.101:0.9490
+10 554186 rs12251997 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:0.1537:0.00309999999999999:1.565:0.032:0.8228
+10 556129 rs10466270 A G . . . GT:LRR:BAF:IA:IB:GC 0/1:0.0014:0.5142:0.709:0.732:0.9257
+10 566379 rs11252926 C T . . . GT:LRR:BAF:IA:IB:GC 1/0:0.0211:0.5024:0.559:0.493:0.9438
+10 588406 rs10904450 A G . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.0834:0.0006:1.837:0.066:0.8107
+10 592283 rs816646 G A . . . GT:LRR:BAF:IA:IB:GC 1/0:-0.3907:0.5006:0.268:0.158:0.8540
+10 601089 rs816650 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:0.0897:0:1.053:0.009:0.9557
+10 615782 rs17221309 G A . . . GT:LRR:BAF:IA:IB:GC 0/0:0.2800:0.00319999999999998:1.764:0.035:0.7820
+10 635857 rs7069611 T C . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.0450:0.0013:0.593:0.017:0.9595
+10 669358 rs7898821 G A . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.1257:0:1.694:0.067:0.7270
+10 673037 rs816563 C T . . . GT:LRR:BAF:IA:IB:GC 1/1:0.1368:0.9065:0.167:0.495:0.4895
+10 680428 rs2124585 G A . . . GT:LRR:BAF:IA:IB:GC 1/0:-0.0590:0.5212:0.660:1.123:0.7133
+10 712617 rs17136372 A C . . . GT:LRR:BAF:IA:IB:GC 1/1:-0.0174:0.9992:0.028:0.975:0.9556
+10 738630 rs1750792 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:0.0269:0:1.575:0.025:0.8126
+10 749238 rs553326 G T . . . GT:LRR:BAF:IA:IB:GC 0/0:0.1758:0.00229999999999997:0.955:0.019:0.9300
+10 754033 rs2265090 C A . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.1347:0:1.181:0.025:0.9176
+10 757222 rs10904546 A G . . . GT:LRR:BAF:IA:IB:GC 0/0:0.3035:0.0000:1.975:0.056:0.8047
+10 766105 rs7906313 T C . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.1672:0.0116:0.960:0.062:0.9381
+10 776027 rs11253377 C T . . . GT:LRR:BAF:IA:IB:GC 1/1:-0.1474:0.9964:0.046:1.017:0.9087
+10 787896 rs1769242 T C . . . GT:LRR:BAF:IA:IB:GC 0/0:0.2049:0.0000:0.965:0.029:0.9107
+10 800213 rs2254501 G A . . . GT:LRR:BAF:IA:IB:GC 1/1:0.2422:0.9918:0.027:0.612:0.9374
+10 802445 rs1769215 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:0.0188:0.00370000000000004:0.859:0.024:0.9303
+10 803721 rs2790381 C T . . . GT:LRR:BAF:IA:IB:GC 1/1:-0.0421:0.9798:0.029:0.485:0.9700
+10 811876 rs12414585 G A . . . GT:LRR:BAF:IA:IB:GC 1/0:0.0717:0.516:0.374:0.276:0.9351
+10 813426 rs11253424 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.5256:0:0.333:0.000:0.8993
+10 815149 rs7084027 A G . . . GT:LRR:BAF:IA:IB:GC 1/1:0.3183:0.9944:0.037:1.547:0.8419
+10 820868 rs10752019 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:0.0749:0.0118:1.349:0.070:0.8882
+10 833528 exm2271241 T G . . . GT:LRR:BAF:IA:IB:GC 0/1:-0.0329:0.4896:0.569:0.681:0.9348
+10 834736 rs4881530 G A . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.0453:0.00249999999999995:1.578:0.040:0.8076
+10 836115 rs11253444 A G . . . GT:LRR:BAF:IA:IB:GC 0/1:-0.1380:0.5199:0.596:0.670:0.9248
+10 838179 rs1536337 T C . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.0534:0.0000:1.318:0.095:0.7967
+10 858022 rs9124 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.5565:0:0.715:0.012:0.9397
+10 858924 exm805329 G A . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.0866:0:0.873:0.021:0.9056
+10 859047 exm805338 C A . . . GT:LRR:BAF:IA:IB:GC 0/0:0.1868:0:0.917:0.007:0.5296
+10 860687 exm805350 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.1509:0:1.172:0.059:0.3777
+10 860726 exm805354 T C . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.0224:0.0000:2.255:0.138:0.3747
+10 860970 exm805360 A G . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.1069:0.0000:1.859:0.070:0.7352
+10 871110 exm805378 G C . . . GT:LRR:BAF:IA:IB:GC 0/0:0.0701:0.0000:1.373:0.002:0.4607
+10 871746 exm805386 G A . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.1743:0.00239999999999996:0.597:0.017:0.5312
+10 875350 exm805392 G A . . . GT:LRR:BAF:IA:IB:GC 0/0:0.1814:0:0.924:0.018:0.5191
+10 888899 exm805400 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:0.0585:0.00470000000000004:1.182:0.028:0.5116
+10 888916 exm805401 T C . . . GT:LRR:BAF:IA:IB:GC 0/0:0.1408:0.0000:1.480:0.041:0.4128
+10 894838 rs12249828 C T . . . GT:LRR:BAF:IA:IB:GC 1/0:0.2119:0.4839:1.145:1.256:0.8432
+10 903950 rs11253471 A G . . . GT:LRR:BAF:IA:IB:GC 0/1:-0.0047:0.4747:0.562:0.549:0.9470
+10 909757 exm805413 G A . . . GT:LRR:BAF:IA:IB:GC 0/0:0.0614:0:1.538:0.027:0.4097
+10 909766 exm805415 G A . . . GT:LRR:BAF:IA:IB:GC 0/0:0.0578:0:1.502:0.023:0.4128
+10 910074 exm805420 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.0503:0.0071:1.001:0.057:0.5002
+10 910081 exm805421 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.1352:0.002:1.125:0.033:0.4254
+10 927331 rs11253489 G A . . . GT:LRR:BAF:IA:IB:GC 1/0:0.0370:0.5325:0.976:1.435:0.7729
+10 931618 exm805430 G A . . . GT:LRR:BAF:IA:IB:GC 0/0:0.0474:0:1.222:0.009:0.4871
+10 931631 exm805431 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.0819:0.00390000000000001:0.827:0.023:0.5296
+11 135656 rs10904561 T G . . . GT:LRR:BAF:IA:IB:GC 0/1:0.0415:0.5176:0.543:0.661:0.9477
+11 135708 rs7917054 G A . . . GT:LRR:BAF:IA:IB:GC 1/0:0.2441:0.501:0.742:0.659:0.9604
+11 178434 rs7089889 T G . . . GT:LRR:BAF:IA:IB:GC 0/1:0.1440:0.4833:0.836:0.827:0.8884
+11 188805 rs12146291 A G . . . GT:LRR:BAF:IA:IB:GC 0/1:0.2144:0.4715:0.776:0.743:0.9610
+11 203471 rs10903451 A G . . . GT:LRR:BAF:IA:IB:GC 0/0:0.4201:0.0000:0.619:0.022:0.9337
+11 252693 rs2379078 T C . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.2673:0.0068:0.806:0.081:0.9018
+11 273344 rs2448378 A C . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.7407:0.0000:0.497:0.012:0.9411
+11 279248 rs2496278 C A . . . GT:LRR:BAF:IA:IB:GC 1/0:-0.4228:0.6268:0.285:0.958:0.6772
+11 291134 rs10508201 T C . . . GT:LRR:BAF:IA:IB:GC 0/1:0.1085:0.4723:0.317:0.444:0.9106
+11 293358 exm2249181 A C . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.0097:0.0044:1.507:0.061:0.3992
+11 313504 rs4880568 C T . . . GT:LRR:BAF:IA:IB:GC 1/1:-0.5836:0.9803:0.017:0.321:0.9547
+11 317501 rs2018975 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.3392:0:1.069:0.039:0.7852
+11 323283 rs3740304 A G . . . GT:LRR:BAF:IA:IB:GC 0/1:0.1836:0.5588:1.053:1.110:0.8640
+11 326894 rs3125027 T C . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.0517:0.0005:1.300:0.026:0.8916
+11 327162 exm805022 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.1197:0:0.995:0.015:0.5328
+11 329493 rs3815985 C A . . . GT:LRR:BAF:IA:IB:GC 1/0:0.0480:0.5187:0.824:0.794:0.9109
+11 338553 rs3125031 C T . . . GT:LRR:BAF:IA:IB:GC 1/0:-0.3387:0.4696:0.777:1.004:0.7901
+11 354301 rs35198327 C T . . . GT:LRR:BAF:IA:IB:GC 1/0:-0.1338:0.4929:0.903:0.996:0.8546
+11 375475 variant.11341 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.0747:0.000199999999999978:1.132:0.012:0.4773
+11 377161 rs7070654 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:0.1388:0:0.582:0.020:0.9458
+11 387060 rs7904155 G A . . . GT:LRR:BAF:IA:IB:GC 1/1:0.0615:0.9945:0.080:1.883:0.8310
+11 390962 exm805090 G A . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.0087:9.9999999999989e-05:1.226:0.063:0.6950
+11 390983 exm805091 G A . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.3606:0:0.398:0.035:0.4585
+11 394615 exm805105 G A . . . GT:LRR:BAF:IA:IB:GC 0/0:0.0170:0:1.345:0.020:0.4108
+11 402390 exm805131 G C . . . GT:LRR:BAF:IA:IB:GC 0/0:0.0341:0.0000:1.127:0.023:0.8735
+11 403792 exm805136 G C . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.1428:0.0000:0.908:0.019:0.8483
+11 410501 exm805166 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:0.0189:0:1.162:0.050:0.4628
+11 413010 rs9787422 C T . . . GT:LRR:BAF:IA:IB:GC 1/0:0.0871:0.5334:0.908:0.961:0.8338
+11 423555 rs12245012 G A . . . GT:LRR:BAF:IA:IB:GC 0/0:0.1264:0.00149999999999995:1.658:0.040:0.8015
+11 423671 rs10904067 C T . . . GT:LRR:BAF:IA:IB:GC 1/0:-0.3622:0.5566:0.326:0.370:0.9306
+11 431161 exm2271240 C T . . . GT:LRR:BAF:IA:IB:GC 1/0:-0.0175:0.4838:0.935:1.004:0.8308
+11 435971 exm2249233 T C . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.2716:0.0000:1.217:0.042:0.3992
+11 435990 exm805214 G A . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.1427:0:1.107:0.031:0.4295
+11 453567 rs4881254 C T . . . GT:LRR:BAF:IA:IB:GC 1/0:0.1831:0.5079:1.032:1.425:0.8149
+11 462885 rs10904173 G A . . . GT:LRR:BAF:IA:IB:GC 1/0:-0.0930:0.4819:0.568:0.489:0.9332
+11 465046 exm805254 G A . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.1108:0:1.041:0.038:0.8704
+11 468599 rs12415961 T C . . . GT:LRR:BAF:IA:IB:GC 0/1:0.1647:0.5021:1.192:0.825:0.8051
+11 486935 exm805280 G C . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.1369:0.0186:0.643:0.060:0.4804
+11 487973 rs4881313 T C . . . GT:LRR:BAF:IA:IB:GC 0/1:0.0644:0.5628:0.747:0.992:0.8463
+11 521431 exm2271370 C T . . . GT:LRR:BAF:IA:IB:GC 1/1:0.0436:0.9952:0.028:1.491:0.8545
+11 521723 rs4881336 C T . . . GT:LRR:BAF:IA:IB:GC 1/1:-0.2056:1:0.055:1.228:0.8344
+11 547567 rs816599 A G . . . GT:LRR:BAF:IA:IB:GC 1/1:-0.0079:1.0000:0.023:1.101:0.9490
+11 554186 rs12251997 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:0.1537:0.00309999999999999:1.565:0.032:0.8228
+11 556129 rs10466270 A G . . . GT:LRR:BAF:IA:IB:GC 0/1:0.0014:0.5142:0.709:0.732:0.9257
+11 566379 rs11252926 C T . . . GT:LRR:BAF:IA:IB:GC 1/0:0.0211:0.5024:0.559:0.493:0.9438
+11 588406 rs10904450 A G . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.0834:0.0006:1.837:0.066:0.8107
+11 592283 rs816646 G A . . . GT:LRR:BAF:IA:IB:GC 1/0:-0.3907:0.5006:0.268:0.158:0.8540
+11 601089 rs816650 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:0.0897:0:1.053:0.009:0.9557
+11 615782 rs17221309 G A . . . GT:LRR:BAF:IA:IB:GC 0/0:0.2800:0.00319999999999998:1.764:0.035:0.7820
+11 635857 rs7069611 T C . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.0450:0.0013:0.593:0.017:0.9595
+11 669358 rs7898821 G A . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.1257:0:1.694:0.067:0.7270
+11 673037 rs816563 C T . . . GT:LRR:BAF:IA:IB:GC 1/1:0.1368:0.9065:0.167:0.495:0.4895
+11 680428 rs2124585 G A . . . GT:LRR:BAF:IA:IB:GC 1/0:-0.0590:0.5212:0.660:1.123:0.7133
+11 712617 rs17136372 A C . . . GT:LRR:BAF:IA:IB:GC 1/1:-0.0174:0.9992:0.028:0.975:0.9556
+11 738630 rs1750792 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:0.0269:0:1.575:0.025:0.8126
+11 749238 rs553326 G T . . . GT:LRR:BAF:IA:IB:GC 0/0:0.1758:0.00229999999999997:0.955:0.019:0.9300
+11 754033 rs2265090 C A . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.1347:0:1.181:0.025:0.9176
+11 757222 rs10904546 A G . . . GT:LRR:BAF:IA:IB:GC 0/0:0.3035:0.0000:1.975:0.056:0.8047
+11 766105 rs7906313 T C . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.1672:0.0116:0.960:0.062:0.9381
+11 776027 rs11253377 C T . . . GT:LRR:BAF:IA:IB:GC 1/1:-0.1474:0.9964:0.046:1.017:0.9087
+11 787896 rs1769242 T C . . . GT:LRR:BAF:IA:IB:GC 0/0:0.2049:0.0000:0.965:0.029:0.9107
+11 800213 rs2254501 G A . . . GT:LRR:BAF:IA:IB:GC 1/1:0.2422:0.9918:0.027:0.612:0.9374
+11 802445 rs1769215 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:0.0188:0.00370000000000004:0.859:0.024:0.9303
+11 803721 rs2790381 C T . . . GT:LRR:BAF:IA:IB:GC 1/1:-0.0421:0.9798:0.029:0.485:0.9700
+11 811876 rs12414585 G A . . . GT:LRR:BAF:IA:IB:GC 1/0:0.0717:0.516:0.374:0.276:0.9351
+11 813426 rs11253424 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.5256:0:0.333:0.000:0.8993
+11 815149 rs7084027 A G . . . GT:LRR:BAF:IA:IB:GC 1/1:0.3183:0.9944:0.037:1.547:0.8419
+11 820868 rs10752019 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:0.0749:0.0118:1.349:0.070:0.8882
+11 833528 exm2271241 T G . . . GT:LRR:BAF:IA:IB:GC 0/1:-0.0329:0.4896:0.569:0.681:0.9348
+11 834736 rs4881530 G A . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.0453:0.00249999999999995:1.578:0.040:0.8076
+11 836115 rs11253444 A G . . . GT:LRR:BAF:IA:IB:GC 0/1:-0.1380:0.5199:0.596:0.670:0.9248
+11 838179 rs1536337 T C . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.0534:0.0000:1.318:0.095:0.7967
+11 858022 rs9124 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.5565:0:0.715:0.012:0.9397
+11 858924 exm805329 G A . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.0866:0:0.873:0.021:0.9056
+11 859047 exm805338 C A . . . GT:LRR:BAF:IA:IB:GC 0/0:0.1868:0:0.917:0.007:0.5296
+11 860687 exm805350 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.1509:0:1.172:0.059:0.3777
+11 860726 exm805354 T C . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.0224:0.0000:2.255:0.138:0.3747
+11 860970 exm805360 A G . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.1069:0.0000:1.859:0.070:0.7352
+11 871110 exm805378 G C . . . GT:LRR:BAF:IA:IB:GC 0/0:0.0701:0.0000:1.373:0.002:0.4607
+11 871746 exm805386 G A . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.1743:0.00239999999999996:0.597:0.017:0.5312
+11 875350 exm805392 G A . . . GT:LRR:BAF:IA:IB:GC 0/0:0.1814:0:0.924:0.018:0.5191
+11 888899 exm805400 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:0.0585:0.00470000000000004:1.182:0.028:0.5116
+11 888916 exm805401 T C . . . GT:LRR:BAF:IA:IB:GC 0/0:0.1408:0.0000:1.480:0.041:0.4128
+11 894838 rs12249828 C T . . . GT:LRR:BAF:IA:IB:GC 1/0:0.2119:0.4839:1.145:1.256:0.8432
+11 903950 rs11253471 A G . . . GT:LRR:BAF:IA:IB:GC 0/1:-0.0047:0.4747:0.562:0.549:0.9470
+11 909757 exm805413 G A . . . GT:LRR:BAF:IA:IB:GC 0/0:0.0614:0:1.538:0.027:0.4097
+11 909766 exm805415 G A . . . GT:LRR:BAF:IA:IB:GC 0/0:0.0578:0:1.502:0.023:0.4128
+11 910074 exm805420 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.0503:0.0071:1.001:0.057:0.5002
+11 910081 exm805421 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.1352:0.002:1.125:0.033:0.4254
+11 927331 rs11253489 G A . . . GT:LRR:BAF:IA:IB:GC 1/0:0.0370:0.5325:0.976:1.435:0.7729
+11 931618 exm805430 G A . . . GT:LRR:BAF:IA:IB:GC 0/0:0.0474:0:1.222:0.009:0.4871
+11 931631 exm805431 C T . . . GT:LRR:BAF:IA:IB:GC 0/0:-0.0819:0.00390000000000001:0.827:0.023:0.5296
diff -r 000000000000 -r 3b6cd8086498 test-data/cnv_baf_only.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cnv_baf_only.vcf Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,188 @@
+##fileformat=VCFv4.2
+##FORMAT=
+##FORMAT=
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT test
+10 135656 rs10904561 T G . . . GT:BAF 0/1:0.5176
+10 135708 rs7917054 G A . . . GT:BAF 1/0:0.501
+10 178434 rs7089889 T G . . . GT:BAF 0/1:0.4833
+10 188805 rs12146291 A G . . . GT:BAF 0/1:0.4715
+10 203471 rs10903451 A G . . . GT:BAF 0/0:0.0000
+10 252693 rs2379078 T C . . . GT:BAF 0/0:0.0068
+10 273344 rs2448378 A C . . . GT:BAF 0/0:0.0000
+10 279248 rs2496278 C A . . . GT:BAF 1/0:0.6268
+10 291134 rs10508201 T C . . . GT:BAF 0/1:0.4723
+10 293358 exm2249181 A C . . . GT:BAF 0/0:0.0044
+10 313504 rs4880568 C T . . . GT:BAF 1/1:0.9803
+10 317501 rs2018975 C T . . . GT:BAF 0/0:0
+10 323283 rs3740304 A G . . . GT:BAF 0/1:0.5588
+10 326894 rs3125027 T C . . . GT:BAF 0/0:0.0005
+10 327162 exm805022 C T . . . GT:BAF 0/0:0
+10 329493 rs3815985 C A . . . GT:BAF 1/0:0.5187
+10 338553 rs3125031 C T . . . GT:BAF 1/0:0.4696
+10 354301 rs35198327 C T . . . GT:BAF 1/0:0.4929
+10 375475 variant.11341 C T . . . GT:BAF 0/0:0.000199999999999978
+10 377161 rs7070654 C T . . . GT:BAF 0/0:0
+10 387060 rs7904155 G A . . . GT:BAF 1/1:0.9945
+10 390962 exm805090 G A . . . GT:BAF 0/0:9.9999999999989e-05
+10 390983 exm805091 G A . . . GT:BAF 0/0:0
+10 394615 exm805105 G A . . . GT:BAF 0/0:0
+10 402390 exm805131 G C . . . GT:BAF 0/0:0.0000
+10 403792 exm805136 G C . . . GT:BAF 0/0:0.0000
+10 410501 exm805166 C T . . . GT:BAF 0/0:0
+10 413010 rs9787422 C T . . . GT:BAF 1/0:0.5334
+10 423555 rs12245012 G A . . . GT:BAF 0/0:0.00149999999999995
+10 423671 rs10904067 C T . . . GT:BAF 1/0:0.5566
+10 431161 exm2271240 C T . . . GT:BAF 1/0:0.4838
+10 435971 exm2249233 T C . . . GT:BAF 0/0:0.0000
+10 435990 exm805214 G A . . . GT:BAF 0/0:0
+10 453567 rs4881254 C T . . . GT:BAF 1/0:0.5079
+10 462885 rs10904173 G A . . . GT:BAF 1/0:0.4819
+10 465046 exm805254 G A . . . GT:BAF 0/0:0
+10 468599 rs12415961 T C . . . GT:BAF 0/1:0.5021
+10 486935 exm805280 G C . . . GT:BAF 0/0:0.0186
+10 487973 rs4881313 T C . . . GT:BAF 0/1:0.5628
+10 521431 exm2271370 C T . . . GT:BAF 1/1:0.9952
+10 521723 rs4881336 C T . . . GT:BAF 1/1:1
+10 547567 rs816599 A G . . . GT:BAF 1/1:1.0000
+10 554186 rs12251997 C T . . . GT:BAF 0/0:0.00309999999999999
+10 556129 rs10466270 A G . . . GT:BAF 0/1:0.5142
+10 566379 rs11252926 C T . . . GT:BAF 1/0:0.5024
+10 588406 rs10904450 A G . . . GT:BAF 0/0:0.0006
+10 592283 rs816646 G A . . . GT:BAF 1/0:0.5006
+10 601089 rs816650 C T . . . GT:BAF 0/0:0
+10 615782 rs17221309 G A . . . GT:BAF 0/0:0.00319999999999998
+10 635857 rs7069611 T C . . . GT:BAF 0/0:0.0013
+10 669358 rs7898821 G A . . . GT:BAF 0/0:0
+10 673037 rs816563 C T . . . GT:BAF 1/1:0.9065
+10 680428 rs2124585 G A . . . GT:BAF 1/0:0.5212
+10 712617 rs17136372 A C . . . GT:BAF 1/1:0.9992
+10 738630 rs1750792 C T . . . GT:BAF 0/0:0
+10 749238 rs553326 G T . . . GT:BAF 0/0:0.00229999999999997
+10 754033 rs2265090 C A . . . GT:BAF 0/0:0
+10 757222 rs10904546 A G . . . GT:BAF 0/0:0.0000
+10 766105 rs7906313 T C . . . GT:BAF 0/0:0.0116
+10 776027 rs11253377 C T . . . GT:BAF 1/1:0.9964
+10 787896 rs1769242 T C . . . GT:BAF 0/0:0.0000
+10 800213 rs2254501 G A . . . GT:BAF 1/1:0.9918
+10 802445 rs1769215 C T . . . GT:BAF 0/0:0.00370000000000004
+10 803721 rs2790381 C T . . . GT:BAF 1/1:0.9798
+10 811876 rs12414585 G A . . . GT:BAF 1/0:0.516
+10 813426 rs11253424 C T . . . GT:BAF 0/0:0
+10 815149 rs7084027 A G . . . GT:BAF 1/1:0.9944
+10 820868 rs10752019 C T . . . GT:BAF 0/0:0.0118
+10 833528 exm2271241 T G . . . GT:BAF 0/1:0.4896
+10 834736 rs4881530 G A . . . GT:BAF 0/0:0.00249999999999995
+10 836115 rs11253444 A G . . . GT:BAF 0/1:0.5199
+10 838179 rs1536337 T C . . . GT:BAF 0/0:0.0000
+10 858022 rs9124 C T . . . GT:BAF 0/0:0
+10 858924 exm805329 G A . . . GT:BAF 0/0:0
+10 859047 exm805338 C A . . . GT:BAF 0/0:0
+10 860687 exm805350 C T . . . GT:BAF 0/0:0
+10 860726 exm805354 T C . . . GT:BAF 0/0:0.0000
+10 860970 exm805360 A G . . . GT:BAF 0/0:0.0000
+10 871110 exm805378 G C . . . GT:BAF 0/0:0.0000
+10 871746 exm805386 G A . . . GT:BAF 0/0:0.00239999999999996
+10 875350 exm805392 G A . . . GT:BAF 0/0:0
+10 888899 exm805400 C T . . . GT:BAF 0/0:0.00470000000000004
+10 888916 exm805401 T C . . . GT:BAF 0/0:0.0000
+10 894838 rs12249828 C T . . . GT:BAF 1/0:0.4839
+10 903950 rs11253471 A G . . . GT:BAF 0/1:0.4747
+10 909757 exm805413 G A . . . GT:BAF 0/0:0
+10 909766 exm805415 G A . . . GT:BAF 0/0:0
+10 910074 exm805420 C T . . . GT:BAF 0/0:0.0071
+10 910081 exm805421 C T . . . GT:BAF 0/0:0.002
+10 927331 rs11253489 G A . . . GT:BAF 1/0:0.5325
+10 931618 exm805430 G A . . . GT:BAF 0/0:0
+10 931631 exm805431 C T . . . GT:BAF 0/0:0.00390000000000001
+11 135656 rs10904561 T G . . . GT:BAF 0/1:0.5176
+11 135708 rs7917054 G A . . . GT:BAF 1/0:0.501
+11 178434 rs7089889 T G . . . GT:BAF 0/1:0.4833
+11 188805 rs12146291 A G . . . GT:BAF 0/1:0.4715
+11 203471 rs10903451 A G . . . GT:BAF 0/0:0.0000
+11 252693 rs2379078 T C . . . GT:BAF 0/0:0.0068
+11 273344 rs2448378 A C . . . GT:BAF 0/0:0.0000
+11 279248 rs2496278 C A . . . GT:BAF 1/0:0.6268
+11 291134 rs10508201 T C . . . GT:BAF 0/1:0.4723
+11 293358 exm2249181 A C . . . GT:BAF 0/0:0.0044
+11 313504 rs4880568 C T . . . GT:BAF 1/1:0.9803
+11 317501 rs2018975 C T . . . GT:BAF 0/0:0
+11 323283 rs3740304 A G . . . GT:BAF 0/1:0.5588
+11 326894 rs3125027 T C . . . GT:BAF 0/0:0.0005
+11 327162 exm805022 C T . . . GT:BAF 0/0:0
+11 329493 rs3815985 C A . . . GT:BAF 1/0:0.5187
+11 338553 rs3125031 C T . . . GT:BAF 1/0:0.4696
+11 354301 rs35198327 C T . . . GT:BAF 1/0:0.4929
+11 375475 variant.11341 C T . . . GT:BAF 0/0:0.000199999999999978
+11 377161 rs7070654 C T . . . GT:BAF 0/0:0
+11 387060 rs7904155 G A . . . GT:BAF 1/1:0.9945
+11 390962 exm805090 G A . . . GT:BAF 0/0:9.9999999999989e-05
+11 390983 exm805091 G A . . . GT:BAF 0/0:0
+11 394615 exm805105 G A . . . GT:BAF 0/0:0
+11 402390 exm805131 G C . . . GT:BAF 0/0:0.0000
+11 403792 exm805136 G C . . . GT:BAF 0/0:0.0000
+11 410501 exm805166 C T . . . GT:BAF 0/0:0
+11 413010 rs9787422 C T . . . GT:BAF 1/0:0.5334
+11 423555 rs12245012 G A . . . GT:BAF 0/0:0.00149999999999995
+11 423671 rs10904067 C T . . . GT:BAF 1/0:0.5566
+11 431161 exm2271240 C T . . . GT:BAF 1/0:0.4838
+11 435971 exm2249233 T C . . . GT:BAF 0/0:0.0000
+11 435990 exm805214 G A . . . GT:BAF 0/0:0
+11 453567 rs4881254 C T . . . GT:BAF 1/0:0.5079
+11 462885 rs10904173 G A . . . GT:BAF 1/0:0.4819
+11 465046 exm805254 G A . . . GT:BAF 0/0:0
+11 468599 rs12415961 T C . . . GT:BAF 0/1:0.5021
+11 486935 exm805280 G C . . . GT:BAF 0/0:0.0186
+11 487973 rs4881313 T C . . . GT:BAF 0/1:0.5628
+11 521431 exm2271370 C T . . . GT:BAF 1/1:0.9952
+11 521723 rs4881336 C T . . . GT:BAF 1/1:1
+11 547567 rs816599 A G . . . GT:BAF 1/1:1.0000
+11 554186 rs12251997 C T . . . GT:BAF 0/0:0.00309999999999999
+11 556129 rs10466270 A G . . . GT:BAF 0/1:0.5142
+11 566379 rs11252926 C T . . . GT:BAF 1/0:0.5024
+11 588406 rs10904450 A G . . . GT:BAF 0/0:0.0006
+11 592283 rs816646 G A . . . GT:BAF 1/0:0.5006
+11 601089 rs816650 C T . . . GT:BAF 0/0:0
+11 615782 rs17221309 G A . . . GT:BAF 0/0:0.00319999999999998
+11 635857 rs7069611 T C . . . GT:BAF 0/0:0.0013
+11 669358 rs7898821 G A . . . GT:BAF 0/0:0
+11 673037 rs816563 C T . . . GT:BAF 1/1:0.9065
+11 680428 rs2124585 G A . . . GT:BAF 1/0:0.5212
+11 712617 rs17136372 A C . . . GT:BAF 1/1:0.9992
+11 738630 rs1750792 C T . . . GT:BAF 0/0:0
+11 749238 rs553326 G T . . . GT:BAF 0/0:0.00229999999999997
+11 754033 rs2265090 C A . . . GT:BAF 0/0:0
+11 757222 rs10904546 A G . . . GT:BAF 0/0:0.0000
+11 766105 rs7906313 T C . . . GT:BAF 0/0:0.0116
+11 776027 rs11253377 C T . . . GT:BAF 1/1:0.9964
+11 787896 rs1769242 T C . . . GT:BAF 0/0:0.0000
+11 800213 rs2254501 G A . . . GT:BAF 1/1:0.9918
+11 802445 rs1769215 C T . . . GT:BAF 0/0:0.00370000000000004
+11 803721 rs2790381 C T . . . GT:BAF 1/1:0.9798
+11 811876 rs12414585 G A . . . GT:BAF 1/0:0.516
+11 813426 rs11253424 C T . . . GT:BAF 0/0:0
+11 815149 rs7084027 A G . . . GT:BAF 1/1:0.9944
+11 820868 rs10752019 C T . . . GT:BAF 0/0:0.0118
+11 833528 exm2271241 T G . . . GT:BAF 0/1:0.4896
+11 834736 rs4881530 G A . . . GT:BAF 0/0:0.00249999999999995
+11 836115 rs11253444 A G . . . GT:BAF 0/1:0.5199
+11 838179 rs1536337 T C . . . GT:BAF 0/0:0.0000
+11 858022 rs9124 C T . . . GT:BAF 0/0:0
+11 858924 exm805329 G A . . . GT:BAF 0/0:0
+11 859047 exm805338 C A . . . GT:BAF 0/0:0
+11 860687 exm805350 C T . . . GT:BAF 0/0:0
+11 860726 exm805354 T C . . . GT:BAF 0/0:0.0000
+11 860970 exm805360 A G . . . GT:BAF 0/0:0.0000
+11 871110 exm805378 G C . . . GT:BAF 0/0:0.0000
+11 871746 exm805386 G A . . . GT:BAF 0/0:0.00239999999999996
+11 875350 exm805392 G A . . . GT:BAF 0/0:0
+11 888899 exm805400 C T . . . GT:BAF 0/0:0.00470000000000004
+11 888916 exm805401 T C . . . GT:BAF 0/0:0.0000
+11 894838 rs12249828 C T . . . GT:BAF 1/0:0.4839
+11 903950 rs11253471 A G . . . GT:BAF 0/1:0.4747
+11 909757 exm805413 G A . . . GT:BAF 0/0:0
+11 909766 exm805415 G A . . . GT:BAF 0/0:0
+11 910074 exm805420 C T . . . GT:BAF 0/0:0.0071
+11 910081 exm805421 C T . . . GT:BAF 0/0:0.002
+11 927331 rs11253489 G A . . . GT:BAF 1/0:0.5325
+11 931618 exm805430 G A . . . GT:BAF 0/0:0
+11 931631 exm805431 C T . . . GT:BAF 0/0:0.00390000000000001
diff -r 000000000000 -r 3b6cd8086498 test-data/cnv_pairwise_summary.tab
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cnv_pairwise_summary.tab Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,6 @@
+# This file was produced by: bcftools cnv*
+# The command line was: bcftools cnv .+ test .+ test *
+#
+# RG, Regions *
+RG 10 135656 931631 2 2 21.7 92 27 92 27
+RG 11 135656 931631 2 2 21.7 92 27 92 27
diff -r 000000000000 -r 3b6cd8086498 test-data/cnv_summary.tab
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cnv_summary.tab Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,7 @@
+# RG, Regions *
+# This file was produced by: bcftools cnv*
+# The command line was: bcftools cnv *
+#
+# RG, Regions *
+RG 10 135656 931631 2 22.6 92 27
+RG 11 135656 931631 2 22.6 92 27
diff -r 000000000000 -r 3b6cd8086498 test-data/color_chrs.dat
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/color_chrs.dat Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,5 @@
+# SG, shared segment [2]Chromosome [3]Start [4]End [5]B:1 [6]B:2
+# SW, number of switches [3]Sample [4]Chromosome [5]nHets [5]nSwitches [6]switch rate
+SG 1 1 999 A:1 C:1
+SW A 1 0 0 0.000000
+SW C 1 0 0 0.000000
diff -r 000000000000 -r 3b6cd8086498 test-data/color_chrs_unrelated.dat
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/color_chrs_unrelated.dat Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,5 @@
+# SG, shared segment [2]Chromosome [3]Start [4]End [5]B:1 [6]B:2
+# SW, number of switches [3]Sample [4]Chromosome [5]nHets [5]nSwitches [6]switch rate
+SG 1 1 999 A:1 -
+SW A 1 0 0 0.000000
+SW (null) 1 0 0 0.000000
diff -r 000000000000 -r 3b6cd8086498 test-data/concat.1.a.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/concat.1.a.vcf Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,32 @@
+##fileformat=VCFv4.0
+##FILTER=
+##FILTER=
+##INFO=
+##INFO=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##contig=
+##contig=
+##samtoolsVersion=0.2.0-rc10+htslib-0.2.0-rc10
+##samtoolsCommand=samtools mpileup -t INFO/DPR -C50 -pm3 -F0.2 -d10000 -ug -r 1:1-1000000 -b mpileup.2014-07-03//lists/chr1-pooled.list -f human_g1k_v37.fasta
+##ALT=
+##bcftools_callVersion=0.2.0-rc10-2-gcd94fde+htslib-0.2.0-rc10
+##bcftools_callCommand=call -vm -f GQ -S mpileup.2014-07-03//pooled/1/1:1-1000000.samples -
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT A
+1 100 . GTTT G 1806 q10 XX=11;DP=35 GT:GQ:DP 0/1:409:35
+1 110 . C T,G 1792 Fail DP=32 GT:GQ:DP 0/1:245:32
+1 110 . CAAA C 1792 Fail DP=32 GT:GQ:DP 0/1:245:32
+1 120 . GA G 628 q10 DP=21 GT:GQ:DP 1/1:21:21
+1 130 . G T 1016 Fail DP=22 GT:GQ:DP 0/1:212:22
+1 130 . GAA GG 1016 Fail DP=22 GT:GQ:DP 0/1:212:22
+1 140 . GT G 727 PASS DP=30 GT:GQ:DP 0/1:150:30
+1 150 . TAAAA TA,T 246 Fail DP=10 GT:GQ:DP 1/2:12:10
+1 160 . TAAAA TA,T 246 Fail DP=10 GT:GQ:DP 1/2:12:10
+2 100 . GTTT G 1806 q10 DP=35 GT:GQ:DP 0/1:409:35
+2 110 . CAAA C 1792 PASS DP=32 GT:GQ:DP 0/1:245:32
+2 120 . GA G 628 q10 DP=21 GT:GQ:DP 1/1:21:21
+2 130 . GAA G 1016 PASS DP=22 GT:GQ:DP 0/1:212:22
+2 140 . GT G 727 PASS DP=30 GT:GQ:DP 0/1:150:30
+2 150 . TAAAA TA,T 246 PASS DP=10 GT:GQ:DP 1/2:12:10
+2 160 . TAAAA TA,TC,T 246 PASS DP=10 GT:GQ:DP 0/2:12:10
diff -r 000000000000 -r 3b6cd8086498 test-data/concat.1.b.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/concat.1.b.vcf Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,19 @@
+##fileformat=VCFv4.0
+##samtoolsVersion=0.2.0-rc10+htslib-0.2.0-rc10
+##samtoolsCommand=samtools mpileup -t INFO/DPR -C50 -pm3 -F0.2 -d10000 -ug -r 1:1-1000000 -b mpileup.2014-07-03//lists/chr1-pooled.list -f human_g1k_v37.fasta
+##ALT=
+##bcftools_callVersion=0.2.0-rc10-2-gcd94fde+htslib-0.2.0-rc10
+##bcftools_callCommand=call -vm -f GQ -S mpileup.2014-07-03//pooled/1/1:1-1000000.samples -
+##INFO=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FILTER=
+##contig=
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT A
+3 142 . GTTT G 1806 q10 DP=35 GT:GQ:DP 0/1:409:35
+3 152 . CAAA C 1792 PASS DP=32 GT:GQ:DP 0/1:245:32
+3 162 . GA G 628 q10 DP=21 GT:GQ:DP 1/1:21:21
+3 172 . GAA G 1016 PASS DP=22 GT:GQ:DP 0/1:212:22
+3 182 . GT G 727 PASS DP=30 GT:GQ:DP 0/1:150:30
+3 192 . TAAAA TA,T 246 PASS DP=10 GT:GQ:DP 1/2:12:10
diff -r 000000000000 -r 3b6cd8086498 test-data/concat.2.a.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/concat.2.a.vcf Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,15 @@
+##fileformat=VCFv4.0
+##INFO=
+##INFO=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FILTER=
+##contig=
+##contig=
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT A
+2 140 . A G 727 PASS DP=30 GT:GQ:DP 0/1:150:30
+2 160 . TAAAA TA,TC,T 246 PASS DP=10 GT:GQ:DP 0/2:12:10
+1 110 . C T,G 1792 Fail XX=11;DP=32 GT:GQ:DP 0/1:245:32
+1 130 . GAA GG 1016 PASS DP=22 GT:GQ:DP 0/1:212:22
+1 130 . G T 1016 PASS DP=22 GT:GQ:DP 0/1:212:22
diff -r 000000000000 -r 3b6cd8086498 test-data/concat.2.b.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/concat.2.b.vcf Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,24 @@
+##fileformat=VCFv4.0
+##INFO=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FILTER=
+##contig=
+##contig=
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT A
+1 100 . GTTT G 1806 q10 DP=35 GT:GQ:DP 0/1:409:35
+1 110 . CAAA C 1792 PASS DP=32 GT:GQ:DP 0/1:245:32
+1 120 . GA G 628 q10 DP=21 GT:GQ:DP 1/1:21:21
+1 130 . G T 1016 PASS DP=22 GT:GQ:DP 0/1:212:22
+1 130 . GAA GG 1016 PASS DP=22 GT:GQ:DP 0/1:212:22
+1 140 . GT G 727 PASS DP=30 GT:GQ:DP 0/1:150:30
+1 150 . TAAAA TA,T 246 PASS DP=10 GT:GQ:DP 1/2:12:10
+1 160 . TAAAA TA,T 246 PASS DP=10 GT:GQ:DP 1/2:12:10
+2 100 . GTTT G 1806 q10 DP=35 GT:GQ:DP 0/1:409:35
+2 110 . CAAA C 1792 PASS DP=32 GT:GQ:DP 0/1:245:32
+2 120 . GA G 628 q10 DP=21 GT:GQ:DP 1/1:21:21
+2 130 . GAA G 1016 PASS DP=22 GT:GQ:DP 0/1:212:22
+2 140 . GT G 727 PASS DP=30 GT:GQ:DP 0/1:150:30
+2 150 . TAAAA TA,T 246 PASS DP=10 GT:GQ:DP 1/2:12:10
+2 160 . TAAAA TA,TC,T 246 PASS DP=10 GT:GQ:DP 0/2:12:10
diff -r 000000000000 -r 3b6cd8086498 test-data/consensus.fa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/consensus.fa Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,20 @@
+>1:2-501
+TACCATATGTGACATATAAAAAAGAACATAACCTACGTATCAACTAAAGTGGTTGTTTGC
+AGAAAAGGAAGACTTAAAAAGAGTCAGTACTAACCTACATAATATATACAATGTTCATTA
+AATAATAAAATGAGCTCATCATACTTAGGTCATCATAAATATATCTGAAATTCACAAATA
+TTGATCAAATGGTAAAATAGACAAGTAGATTTTAATAGGTTAAACAATTACTGATTCTCT
+TGAAAGAATAAATTTAATATGAGACCTATTTCATTATAATGAACTCACAAATTAGAAACT
+TCACACTGGGGGCTGGAGAGATGGCTCAGTAGTTAAGAACACTGACTGCTCTTCTGAAGG
+TCCTGAGTTCAAATCCCAGCAACCACATGGTGACTTACAACCATCTGTAATGACATCTGA
+TGCCCTCTGGTGTGTCTGAAGACAGCTACAGTGTACTTACATAAAATAATAAATAAATCT
+TTAAAAACAAAAAAAAAGAA
+>2
+GAAGATCTTTTCCTTATTAAGGATCTGAAGCTCTGTAGATTTGTATTCTATTAAACATGG
+AGAGATTAGTGATTTTCCATATTCTTTAAGTCATTTTAGAGTAATGTGTTCTTAAGATAA
+ATCAGAAAAACAAAAACTTGTGCTTTCCTGTTTGAAAAACAAACAGCTGTGGGGAATGGT
+GTCGGGACAGCCTTTTTATAAAATTTTTCTAAATAATGTTGAGGCTTTGATACGTCAAAG
+TTATATTTCAAATGGAATCACTTAGACCTCGTTTCTGAGTGTCAATGGCCATATTGGGGA
+TTTGCTGCTGCCAATGACAGCACACCCTGGGAATGCCCCAACTACTTACTACAAAGCAGT
+GTTACATGGAGAAGATCTTCAAGAGTCTTTTTGCTAGATCTTTCCTTGGCTTTTGATGTG
+ACTCCTCTCAATAAAATCCACAGTAATATAGTGAGTGGTCTCCTGCTCCAAACCAGTATT
+TCAGACACAGTTAATCCAGAC
diff -r 000000000000 -r 3b6cd8086498 test-data/consensus.tab
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/consensus.tab Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,3 @@
+1 421 480
+2 1 60
+2 241 300
diff -r 000000000000 -r 3b6cd8086498 test-data/consensus.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/consensus.vcf Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,18 @@
+##fileformat=VCFv4.2
+##FORMAT=
+##INFO=
+##ALT=
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT NA001
+1 5 . C a . PASS . GT 0/1
+1 5 . C t . PASS . GT 0/1
+1 7 . T a . PASS . GT .
+1 10 . G a . PASS . GT 0/1
+1 12 . GACA ga . PASS . GT 0/1
+1 16 . T taaa . PASS . GT 1/1
+1 19 . A c . PASS . GT 0/1
+1 61 . C a . PASS . GT 0/1
+2 61 . AGAG aa . PASS . GT 0/1
+2 119 . AAA t . PASS . GT 0/1
+2 179 . G gacgtacgt . PASS . GT 0/1
+2 200 . A . PASS END=210 GT 1/0
+2 481 . T c,a . PASS . GT 0/2
diff -r 000000000000 -r 3b6cd8086498 test-data/convert.23andme
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/convert.23andme Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,28 @@
+# rsid chromosome position genotype
+rs001 1 2 AA
+rs002 1 10 AG
+rs003 1 14 AG
+rs004 1 24 TC
+rs005 1 44 CG
+rs006 1 53 GG
+rs007 1 60 GG
+rs008 1 62 CC
+rs009 1 75 AA
+rs010 1 80 GG
+rs011 1 89 TT
+rs012 1 96 --
+rs013 1 99 CC
+rs014 1 102 GG
+rs015 1 112 TT
+rs016 2 5 CC
+rs017 2 11 CT
+rs018 2 16 CC
+rs019 2 20 GG
+rs020 2 33 CT
+rs021 2 39 AA
+rs022 2 44 CC
+rs023 2 48 CC
+rs024 2 55 AA
+rs025 2 59 CT
+rs026 Y 12 T
+rs027 Y 20 C
diff -r 000000000000 -r 3b6cd8086498 test-data/convert.gs.gt.gen
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/convert.gs.gt.gen Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,32 @@
+X:2698560_G_A X:2698560_G_A 2698560 G A 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0
+X:2698630_A_G X:2698630_A_G 2698630 A G 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0
+X:2698758_CAA_C X:2698758_CAA_C 2698758 CAA C 1 0 0 0 1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0
+X:2698769_AAG_A X:2698769_AAG_A 2698769 AAG A 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0
+X:2698789_C_G X:2698789_C_G 2698789 C G 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0
+X:2698822_A_C X:2698822_A_C 2698822 A C 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0
+X:2698831_G_A X:2698831_G_A 2698831 G A 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0
+X:2698889_T_C X:2698889_T_C 2698889 T C 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0
+X:2698923_G_A X:2698923_G_A 2698923 G A 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0
+X:2698953_A_AGG X:2698953_A_AGG 2698953 A AGG 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0
+X:2698954_G_A X:2698954_G_A 2698954 G A 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 0
+X:2699002_C_A X:2699002_C_A 2699002 C A 1 0 0 1 0 0 0.33 0.33 0.33 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0
+X:2699025_T_C X:2699025_T_C 2699025 T C 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0
+X:2699091_G_A X:2699091_G_A 2699091 G A 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0
+X:2699187_T_C X:2699187_T_C 2699187 T C 1 0 0 1 0 0 0 1 0 1 0 0 0 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0
+X:2699188_G_C X:2699188_G_C 2699188 G C 1 0 0 1 0 0 0 1 0 1 0 0 0 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0
+X:2699189_T_C X:2699189_T_C 2699189 T C 1 0 0 1 0 0 0 1 0 1 0 0 0 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0
+X:2699217_C_T X:2699217_C_T 2699217 C T 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0
+X:2699246_C_A X:2699246_C_A 2699246 C A 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 0 1 0 1 0 0 0 1 0 1 0 0 0 1 0
+X:2699275_T_G X:2699275_T_G 2699275 T G 1 0 0 1 0 0 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 0 0 0 1 0
+X:2699350_A_T X:2699350_A_T 2699350 A T 1 0 0 1 0 0 0 1 0 1 0 0 0 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0
+X:2699360_T_C X:2699360_T_C 2699360 T C 1 0 0 1 0 0 0 1 0 1 0 0 0 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0
+X:2699450_A_C X:2699450_A_C 2699450 A C 1 0 0 1 0 0 0 1 0 1 0 0 0 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0
+X:2699507_T_C X:2699507_T_C 2699507 T C 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0
+X:2699555_C_A X:2699555_C_A 2699555 C A 1 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 1 0
+X:2699645_G_T X:2699645_G_T 2699645 G T 1 0 0 0 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 0
+X:2699676_G_A X:2699676_G_A 2699676 G A 1 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0
+X:2699728_C_T X:2699728_C_T 2699728 C T 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0
+X:2699775_C_A X:2699775_C_A 2699775 C A 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0
+X:2699898_C_CT X:2699898_C_CT 2699898 C CT 1 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0
+X:2699968_A_G X:2699968_A_G 2699968 A G 0.5 0.0 0.5 1 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0 1 0
+X:2699970_T_C X:2699970_T_C 2699970 T C 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0
diff -r 000000000000 -r 3b6cd8086498 test-data/convert.gs.gt.samples
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/convert.gs.gt.samples Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,12 @@
+ID_1 ID_2 missing
+0 0 0
+NA00001 NA00001 0
+NA00002 NA00002 0
+NA00003 NA00003 0
+NA00004 NA00004 0
+NA00005 NA00005 0
+NA00006 NA00006 0
+NA00007 NA00007 0
+NA00008 NA00008 0
+NA00009 NA00009 0
+NA00010 NA00010 0
diff -r 000000000000 -r 3b6cd8086498 test-data/convert.gvcf.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/convert.gvcf.vcf Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,105 @@
+##fileformat=VCFv4.1
+##FILTER=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##FILTER=
+##FILTER=
+##FILTER=
+##FILTER=
+##FILTER=
+##FILTER=
+##FILTER=
+##contig=
+##SnvTheta=0.001
+##IndelTheta=0.0001
+##MaxDepth_1=114.18
+##MaxDepth_10=131.73
+##MaxDepth_11=117.27
+##MaxDepth_12=116.97
+##MaxDepth_13=102.24
+##MaxDepth_14=101.55
+##MaxDepth_15=95.22
+##MaxDepth_16=111.33
+##MaxDepth_17=112.59
+##MaxDepth_18=121.86
+##MaxDepth_19=111.12
+##MaxDepth_2=121.83
+##MaxDepth_20=111.24
+##MaxDepth_21=98.43
+##MaxDepth_22=76.23
+##MaxDepth_3=120.09
+##MaxDepth_4=124.50
+##MaxDepth_5=119.82
+##MaxDepth_6=122.22
+##MaxDepth_7=120.27
+##MaxDepth_8=120.45
+##MaxDepth_9=102.48
+##MaxDepth_M=7005.66
+##MaxDepth_X=61.05
+##MaxDepth_Y=37.17
+##FILTER=
+##gvcftools_version="0.16"
+##FILTER=
+##FORMAT=
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT SAMPLE99
+22 1 . N . 0 LowGQX END=9;BLOCKAVG_min30p3a GT:GQX:DP:DPF .:.:0:0
+22 10 . C . 0 LowGQX END=20;BLOCKAVG_min30p3a GT:GQX:DP:DPF 0/0:5:2:0
+22 21 . C . 0 LowGQX END=26;BLOCKAVG_min30p3a GT:GQX:DP:DPF 0/0:10:4:0
+22 27 . C . 0 LowGQX END=42;BLOCKAVG_min30p3a GT:GQX:DP:DPF 0/0:15:6:0
+22 43 . G . 0 LowGQX END=50;BLOCKAVG_min30p3a GT:GQX:DP:DPF 0/0:21:8:0
+22 51 . C . 0 PASS END=55;BLOCKAVG_min30p3a GT:GQX:DP:DPF 0/0:30:11:0
+22 56 . G . 0 PASS END=72;BLOCKAVG_min30p3a GT:GQX:DP:DPF 0/0:42:15:0
+22 73 . T . 0 PASS END=85;BLOCKAVG_min30p3a GT:GQX:DP:DPF 0/0:54:19:0
+22 86 . G C 23 LowGQX SNVSB=0;SNVHPOL=2 GT:GQ:GQX:DP:DPF:AD 0/1:56:23:22:0:16,6
+22 87 . T . 0 PASS END=101;BLOCKAVG_min30p3a GT:GQX:DP:DPF 0/0:69:24:0
+22 102 . A . 0 PASS END=140;BLOCKAVG_min30p3a GT:GQX:DP:DPF 0/0:84:29:0
+22 141 . G . 0 PASS END=185;BLOCKAVG_min30p3a GT:GQX:DP:DPF 0/0:90:31:0
+22 186 . T . 0 PASS END=187;BLOCKAVG_min30p3a GT:GQX:DP:DPF 0/0:93:32:2
+22 188 . T . 0 PASS END=204;BLOCKAVG_min30p3a GT:GQX:DP:DPF 0/0:102:35:0
+22 205 . T . 0 PASS . GT:GQX:DP:DPF 0/0:72:36:0
+22 206 . T . 0 PASS END=231;BLOCKAVG_min30p3a GT:GQX:DP:DPF 0/0:87:30:0
+22 232 . A . 0 PASS END=249;BLOCKAVG_min30p3a GT:GQX:DP:DPF 0/0:66:23:0
+22 250 . G . 0 PASS END=257;BLOCKAVG_min30p3a GT:GQX:DP:DPF 0/0:87:30:0
+22 258 . A . 0 PASS END=269;BLOCKAVG_min30p3a GT:GQX:DP:DPF 0/0:114:39:0
+22 270 . G . 0 PASS END=279;BLOCKAVG_min30p3a GT:GQX:DP:DPF 0/0:150:51:0
+22 280 . A . 0 PASS END=314;BLOCKAVG_min30p3a GT:GQX:DP:DPF 0/0:166:63:0
+22 315 . C . 0 PASS END=316;BLOCKAVG_min30p3a GT:GQX:DP:DPF 0/0:220:74:0
+22 317 . T . 0 HighDepth END=342;BLOCKAVG_min30p3a GT:GQX:DP:DPF 0/0:229:77:0
+22 343 . T . 0 HighDepth END=377;BLOCKAVG_min30p3a GT:GQX:DP:DPF 0/0:241:81:0
+22 378 . T . 0 HighDepth END=384;BLOCKAVG_min30p3a GT:GQX:DP:DPF 0/0:200:75:0
+22 385 . G . 0 PASS END=388;BLOCKAVG_min30p3a GT:GQX:DP:DPF 0/0:217:73:0
+22 389 . C . 0 HighDepth END=390;BLOCKAVG_min30p3a GT:GQX:DP:DPF 0/0:223:75:0
+22 391 . T . 0 PASS . GT:GQX:DP:DPF 0/0:223:75:1
+22 392 . T . 0 HighDepth END=397;BLOCKAVG_min30p3a GT:GQX:DP:DPF 0/0:223:75:0
+22 398 . T . 0 PASS END=420;BLOCKAVG_min30p3a GT:GQX:DP:DPF 0/0:178:60:0
+22 421 . C . 0 PASS END=450;BLOCKAVG_min30p3a GT:GQX:DP:DPF 0/0:142:54:0
diff -r 000000000000 -r 3b6cd8086498 test-data/convert.hls.gt.hap
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/convert.hls.gt.hap Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,35 @@
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0
+0 0 0 0 ? ? 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0* 1*
+0 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1
+0 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+1 0 1 1 0 1 1 1 1 0 0 1 0 0 0 1 0 0 1 0
+0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1
+0 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1
+0 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1
+0 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 - 1 - 1 - 0 - 1 - 1 1 1 0 0 1 0 0 0 1
+0 - 1 - 0 - 0 - 0 - 0 0 0 0 0 1 0 0 0 0
+0 - 0 - 1 - 0 - 1 - 1 0 1 0 0 0 0 0 0 1
+0 - 0 - 0 - 0 - 0 - 0 0 0 0 0 0 0 0 0 0
+0 - 0 - 0 - 0 - 0 - 0 0 0 0 0 0 0 0 0 0
+0 - 0 - 1 - 0 - 1 - 1 0 1 0 0 0 0 0 0 1
+? - 0 - 0 - 1 - 0 - 0 1 0 0 0 0 0 1 1 0
+0 - 0 - 0 - 0 - 0 - 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1
diff -r 000000000000 -r 3b6cd8086498 test-data/convert.hls.gt.legend
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/convert.hls.gt.legend Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,36 @@
+id position a0 a1
+X:2698560_G_A 2698560 G A
+X:2698630_A_G 2698630 A G
+X:2698758_CAA_C 2698758 CAA C
+X:2698769_AAG_A 2698769 AAG A
+X:2698770_AG_A 2698770 AG A
+X:2698770_AG_AAGG 2698770 AG AAGG
+X:2698789_C_G 2698789 C G
+X:2698822_A_C 2698822 A C
+X:2698831_G_A 2698831 G A
+X:2698889_T_C 2698889 T C
+X:2698923_G_A 2698923 G A
+X:2698953_A_AGG 2698953 A AGG
+X:2698954_G_A 2698954 G A
+X:2699002_C_A 2699002 C A
+X:2699025_T_C 2699025 T C
+X:2699091_G_A 2699091 G A
+X:2699187_T_C 2699187 T C
+X:2699188_G_C 2699188 G C
+X:2699189_T_C 2699189 T C
+X:2699217_C_T 2699217 C T
+X:2699246_C_A 2699246 C A
+X:2699275_T_G 2699275 T G
+X:2699350_A_T 2699350 A T
+X:2699360_T_C 2699360 T C
+X:2699450_A_C 2699450 A C
+X:2699507_T_C 2699507 T C
+X:2699555_C_A 2699555 C A
+X:2699645_G_T 2699645 G T
+X:2699676_G_A 2699676 G A
+X:2699728_C_T 2699728 C T
+X:2699775_C_A 2699775 C A
+X:2699898_C_CT 2699898 C CT
+X:2699968_A_G 2699968 A G
+X:2699970_T_C 2699970 T C
+X:2699990_C__2700054 2699990 C
diff -r 000000000000 -r 3b6cd8086498 test-data/convert.hls.gt.samples
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/convert.hls.gt.samples Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,11 @@
+sample population group sex
+NA00001 NA00001 NA00001 2
+NA00002 NA00002 NA00002 2
+NA00003 NA00003 NA00003 2
+NA00004 NA00004 NA00004 2
+NA00005 NA00005 NA00005 2
+NA00006 NA00006 NA00006 2
+NA00007 NA00007 NA00007 2
+NA00008 NA00008 NA00008 2
+NA00009 NA00009 NA00009 2
+NA00010 NA00010 NA00010 2
diff -r 000000000000 -r 3b6cd8086498 test-data/convert.hs.gt.hap
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/convert.hs.gt.hap Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,35 @@
+X:2698560_G_A X:2698560_G_A 2698560 G A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+X:2698630_A_G X:2698630_A_G 2698630 A G 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+X:2698758_CAA_C X:2698758_CAA_C 2698758 CAA C 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+X:2698769_AAG_A X:2698769_AAG_A 2698769 AAG A 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0
+X:2698770_AG_A X:2698770_AG_A 2698770 AG A 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+X:2698770_AG_AAGG X:2698770_AG_AAGG 2698770 AG AAGG 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+X:2698789_C_G X:2698789_C_G 2698789 C G 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+X:2698822_A_C X:2698822_A_C 2698822 A C 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+X:2698831_G_A X:2698831_G_A 2698831 G A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+X:2698889_T_C X:2698889_T_C 2698889 T C 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+X:2698923_G_A X:2698923_G_A 2698923 G A 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0
+X:2698953_A_AGG X:2698953_A_AGG 2698953 A AGG 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+X:2698954_G_A X:2698954_G_A 2698954 G A 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0
+X:2699002_C_A X:2699002_C_A 2699002 C A 0 0 0 0 ? ? 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+X:2699025_T_C X:2699025_T_C 2699025 T C 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+X:2699091_G_A X:2699091_G_A 2699091 G A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+X:2699187_T_C X:2699187_T_C 2699187 T C 0 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0* 1*
+X:2699188_G_C X:2699188_G_C 2699188 G C 0 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1
+X:2699189_T_C X:2699189_T_C 2699189 T C 0 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1
+X:2699217_C_T X:2699217_C_T 2699217 C T 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+X:2699246_C_A X:2699246_C_A 2699246 C A 1 0 1 1 0 1 1 1 1 0 0 1 0 0 0 1 0 0 1 0
+X:2699275_T_G X:2699275_T_G 2699275 T G 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1
+X:2699350_A_T X:2699350_A_T 2699350 A T 0 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1
+X:2699360_T_C X:2699360_T_C 2699360 T C 0 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1
+X:2699450_A_C X:2699450_A_C 2699450 A C 0 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1
+X:2699507_T_C X:2699507_T_C 2699507 T C 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+X:2699555_C_A X:2699555_C_A 2699555 C A 0 - 1 - 1 - 0 - 1 - 1 1 1 0 0 1 0 0 0 1
+X:2699645_G_T X:2699645_G_T 2699645 G T 0 - 1 - 0 - 0 - 0 - 0 0 0 0 0 1 0 0 0 0
+X:2699676_G_A X:2699676_G_A 2699676 G A 0 - 0 - 1 - 0 - 1 - 1 0 1 0 0 0 0 0 0 1
+X:2699728_C_T X:2699728_C_T 2699728 C T 0 - 0 - 0 - 0 - 0 - 0 0 0 0 0 0 0 0 0 0
+X:2699775_C_A X:2699775_C_A 2699775 C A 0 - 0 - 0 - 0 - 0 - 0 0 0 0 0 0 0 0 0 0
+X:2699898_C_CT X:2699898_C_CT 2699898 C CT 0 - 0 - 1 - 0 - 1 - 1 0 1 0 0 0 0 0 0 1
+X:2699968_A_G X:2699968_A_G 2699968 A G ? - 0 - 0 - 1 - 0 - 0 1 0 0 0 0 0 1 1 0
+X:2699970_T_C X:2699970_T_C 2699970 T C 0 - 0 - 0 - 0 - 0 - 0 0 0 0 0 0 0 0 0 0
+X:2699990_C__2700054 X:2699990_C__2700054 2699990 C 0 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1
diff -r 000000000000 -r 3b6cd8086498 test-data/convert.hs.gt.samples
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/convert.hs.gt.samples Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,12 @@
+ID_1 ID_2 missing
+0 0 0
+NA00001 NA00001 0
+NA00002 NA00002 0
+NA00003 NA00003 0
+NA00004 NA00004 0
+NA00005 NA00005 0
+NA00006 NA00006 0
+NA00007 NA00007 0
+NA00008 NA00008 0
+NA00009 NA00009 0
+NA00010 NA00010 0
diff -r 000000000000 -r 3b6cd8086498 test-data/convert.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/convert.vcf Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,40 @@
+##fileformat=VCFv4.1
+##FILTER=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##contig=
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT NA00001 NA00002 NA00003 NA00004 NA00005 NA00006 NA00007 NA00008 NA00009 NA00010
+X 2698560 . G A 102 . . GT:PL:GP 0|0:0,21,177:1,0,0 0|0:0,30,206:1,0,0 0|0:0,21,177:1,0,0 0|0:0,15,132:1,0,0 0|0:0,9,90:1,0,0 0|0:0,15,114:1,0,0 0|0:0,15,118:1,0,0 0|0:0,15,133:1,0,0 0|0:0,15,144:1,0,0 0|0:0,24,191:1,0,0
+X 2698630 . A G 537 . . GT:PL:GP 0|0:0,21,186:1,0,0 0|0:0,21,176:1,0,0 0|0:0,15,106:1,0,0 0|0:0,18,127:1,0,0 0|0:0,6,62:1,0,0 0|0:0,15,146:1,0,0 0|0:0,18,141:1,0,0 0|0:0,21,173:1,0,0 0|0:0,12,119:1,0,0 0|0:0,15,145:1,0,0
+X 2698758 . CAA C 999 . . GT:PL:GP 0|0:0,6,16:0.8292,0.1708,0 0|1:0,0,0:0.0278,0.5743,0.3979 0|0:0,0,0:0.6336,0.3664,0 0|0:0,3,8:0.8611,0.1389,0 0|0:0,0,8:0.7628,0.2372,0 0|0:0,9,18:1,0,0 0|0:0,9,23:1,0,0 0|0:0,9,15:0.9855,0.0145,0 0|0:0,6,10:1,0,0 0|0:0,21,33:1,0,0
+X 2698769 . AAG A 999 . . GT:PL:GP 1|0:17,0,7:0.0069,0.9931,0 1|1:0,0,0:0.0004,0.0892,0.9104 0|1:17,3,0:0.0045,0.9954,0.0001 1|0:11,0,2:0.0085,0.9915,0 1|0:11,0,15:0.0003,0.9997,0 0|0:0,15,40:1,0,0 0|0:0,9,23:1,0,0 0|0:0,15,25:0.8474,0.1526,0 0|0:0,15,34:1,0,0 0|0:0,33,56:1,0,0
+X 2698770 . AG A,AAGG 999 . . GT:PL:GP 0|0:0,12,103,12,103,103:0.925,0.0717,0,0.0033,0,0 0|1:0,3,21,3,21,21:0.4944,0.368,0.0018,0.1343,0.0013,0.0002 0|0:0,0,0,0,0,0:0.5458,0.4085,0,0.0457,0,0 0|0:0,3,36,3,36,36:0.8126,0.1758,0,0.0116,0,0 1|0:37,0,86,49,92,130:0,1,0,0,0,0 0|0:0,15,125,15,125,125:1,0,0,0,0,0 0|0:0,9,105,9,105,105:1,0,0,0,0,0 0|0:0,15,109,15,109,109:0.9964,0.0034,0,0.0002,0,0 0|0:0,15,137,15,137,137:1,0,0,0,0,0 0|0:0,33,215,33,215,215:1,0,0,0,0,0
+X 2698789 . C G 153 . . GT:PL:GP 0|0:0,21,152:1,0,0 0|0:0,21,131:1,0,0 0|0:0,12,113:1,0,0 0|0:0,12,104:1,0,0 0|0:0,21,137:1,0,0 0|0:0,15,118:0.9999,0.0001,0 0|0:0,15,111:1,0,0 0|0:0,24,152:1,0,0 0|0:0,18,147:1,0,0 0|0:0,33,183:1,0,0
+X 2698822 . A C 85.2 . . GT:PL:GP 0|0:0,21,167:1,0,0 0|0:0,21,171:1,0,0 0|0:0,21,158:1,0,0 0|0:0,18,154:1,0,0 0|0:0,15,135:1,0,0 0|0:0,15,132:1,0,0 0|0:0,21,168:1,0,0 0|0:0,21,175:1,0,0 0|0:0,15,142:1,0,0 0|0:0,21,172:1,0,0
+X 2698831 . G A 303 . . GT:PL:GP 0|0:0,15,129:1,0,0 0|0:0,27,179:1,0,0 0|0:0,24,196:1,0,0 0|0:0,21,158:1,0,0 0|0:0,18,154:1,0,0 0|0:0,12,112:1,0,0 0|0:0,24,162:1,0,0 0|0:0,21,168:1,0,0 0|0:0,9,95:1,0,0 0|0:0,21,164:1,0,0
+X 2698889 . T C 74.4 . . GT:PL:GP 0|0:0,27,193:1,0,0 0|0:0,45,255:1,0,0 0|0:0,21,190:1,0,0 0|0:0,36,254:1,0,0 0|0:0,30,226:1,0,0 0|0:0,36,253:1,0,0 0|0:0,18,156:1,0,0 0|0:0,9,87:1,0,0 0|0:0,9,98:1,0,0 0|0:0,24,205:1,0,0
+X 2698923 . G A 999 . . GT:PL:GP 1|0:62,0,133:0,1,0 0|1:164,0,91:0,1,0 0|1:35,0,73:0,1,0 1|0:91,0,108:0,1,0 1|0:67,0,71:0,1,0 0|0:0,30,187:1,0,0 0|0:0,9,73:1,0,0 0|0:0,12,99:1,0,0 0|0:0,18,153:1,0,0 0|0:0,18,138:1,0,0
+X 2698953 . A AGG 267 . . GT:PL:GP 0|0:0,27,111:1,0,0 0|0:0,33,124:1,0,0 0|0:0,12,62:1,0,0 0|0:0,15,86:1,0,0 0|0:0,12,58:1,0,0 0|0:0,15,69:1,0,0 0|0:0,6,34:1,0,0 0|0:0,18,83:1,0,0 0|0:0,18,80:1,0,0 0|0:0,15,74:1,0,0
+X 2698954 . G A 999 . . GT:PL:GP 1|0:69,0,139:0,1,0 1|1:199,24,0:0,0,1 0|1:15,0,82:0,1,0 1|0:32,0,76:0,1,0 1|0:16,0,80:0,1,0 0|0:0,15,131:1,0,0 0|0:0,6,58:1,0,0 0|1:99,0,39:0,1,0 0|0:0,18,163:1,0,0 0|0:0,15,136:1,0,0
+X 2699002 . C A 65.1 . . GT:PL:GP 0|0:0,18,144:1,0,0 0|0:0,12,115:1,0,0 .|.:0,12,120:1,0,0 0|0:0,15,131:1,0,0 0|0:0,6,29:1,0,0 0|0:0,9,95:1,0,0 0|0:0,9,79:1,0,0 0|0:0,24,188:1,0,0 0|0:0,15,124:1,0,0 0|0:0,9,93:1,0,0
+X 2699025 . T C 44.9 . . GT:PL:GP 0|0:0,24,189:1,0,0 0|0:0,12,98:1,0,0 0|0:0,15,130:1,0,0 0|0:0,15,113:1,0,0 0|0:0,6,63:1,0,0 0|0:0,24,198:1,0,0 0|0:0,12,92:1,0,0 0|0:0,24,197:1,0,0 0|0:0,9,97:1,0,0 0|0:0,12,108:1,0,0
+X 2699091 . G A 45 . . GT:PL:GP 0|0:0,18,162:1,0,0 0|0:0,21,153:1,0,0 0|0:0,12,101:1,0,0 0|0:0,12,97:1,0,0 0|0:0,24,188:1,0,0 0|0:0,24,194:1,0,0 0|0:0,15,127:1,0,0 0|0:0,21,169:1,0,0 0|0:0,15,129:1,0,0 0|0:0,21,171:1,0,0
+X 2699187 . T C 999 . . GT:PL:GP 0|0:0,24,200:1,0,0 0|0:0,24,191:1,0,0 1|0:48,0,85:0,1,0 0|0:0,15,145:1,0,0 0|1:58,0,45:0,1,0 1|0:61,0,50:0,1,0 1|0:22,0,51:0,1,0 0|0:0,27,211:1,0,0 0|0:0,9,96:0.9999,0.0001,0 0/1:23,0,160:0,1,0
+X 2699188 . G C 999 . . GT:PL:GP 0|0:0,24,194:1,0,0 0|0:0,24,167:1,0,0 1|0:48,0,78:0,1,0 0|0:0,15,131:1,0,0 0|1:63,0,40:0,1,0 1|0:50,0,44:0,1,0 1|0:22,0,48:0,1,0 0|0:0,27,212:1,0,0 0|0:0,9,87:0.9999,0.0001,0 0|1:23,0,154:0,1,0
+X 2699189 . T C 999 . . GT:PL:GP 0|0:0,24,199:1,0,0 0|0:0,24,176:1,0,0 1|0:44,0,87:0,1,0 0|0:0,15,136:1,0,0 0|1:62,0,46:0,1,0 1|0:61,0,46:0,1,0 1|0:22,0,49:0,1,0 0|0:0,27,212:1,0,0 0|0:0,9,93:0.9999,0.0001,0 0|1:23,0,164:0,1,0
+X 2699217 . C T 60.3 . . GT:PL:GP 0|0:0,18,158:1,0,0 0|0:0,18,119:1,0,0 0|0:0,21,152:1,0,0 0|0:0,21,162:1,0,0 0|0:0,12,102:1,0,0 0|0:0,18,144:1,0,0 0|0:0,12,108:1,0,0 0|0:0,18,146:1,0,0 0|0:0,12,98:1,0,0 0|0:0,18,155:1,0,0
+X 2699246 . C A 999 . . GT:PL:GP 1|0:128,0,15:0,0.9998,0.0002 1|1:147,21,0:0,0.0001,0.9999 0|1:130,0,5:0,0.9977,0.0023 1|1:237,33,0:0,0,1 1|0:45,0,75:0,1,0 0|1:145,0,49:0,1,0 0|0:0,15,109:1,0,0 0|1:13,0,63:0.0002,0.9998,0 0|0:0,30,178:0.9953,0.0047,0 1|0:120,0,57:0,1,0
+X 2699275 . T G 999 . . GT:PL:GP 0|0:0,18,165:0.9998,0.0002,0 0|0:0,18,152:1,0,0 1|0:0,9,95:0.0023,0.9977,0 0|0:0,33,239:1,0,0 0|1:125,0,40:0,1,0 1|1:205,27,0:0,0,1 1|0:69,0,43:0,1,0 0|0:0,15,139:1,0,0 0|0:0,30,219:1,0,0 0|1:96,0,54:0,1,0
+X 2699350 . A T 999 . . GT:PL:GP 0|0:0,27,206:1,0,0 0|0:0,15,139:1,0,0 1|0:54,0,25:0,1,0 0|0:0,12,117:0.9996,0.0004,0 0|1:79,0,73:0,1,0 1|0:48,0,82:0,1,0 1|0:68,0,45:0,1,0 0|0:0,30,216:1,0,0 0|0:0,27,224:1,0,0 0|1:48,0,80:0,1,0
+X 2699360 . T C 999 . . GT:PL:GP 0|0:0,21,184:1,0,0 0|0:0,15,133:1,0,0 1|0:53,0,21:0,1,0 0|0:0,12,114:0.9996,0.0004,0 0|1:20,0,66:0,1,0 1|0:40,0,93:0,1,0 1|0:52,0,66:0,1,0 0|0:0,30,220:1,0,0 0|0:0,21,191:1,0,0 0|1:20,0,83:0,1,0
+X 2699450 . A C 999 . . GT:PL:GP 0|0:0,12,124:1,0,0 0|0:0,6,55:0.9976,0.0024,0 1|0:99,0,42:0,1,0 0|0:0,21,186:0.9999,0.0001,0 0|1:64,0,100:0,1,0 1|0:38,0,177:0,1,0 1|0:16,0,103:0,1,0 0|0:0,24,202:1,0,0 0|0:0,12,119:1,0,0 0|1:75,0,115:0,1,0
+X 2699507 . T C 195 . . GT:PL:GP 0|0:0,15,133:1,0,0 0|0:0,12,122:1,0,0 0|0:0,6,60:1,0,0 0|0:0,18,123:1,0,0 0|0:0,15,145:1,0,0 0|0:0,21,173:1,0,0 0|0:0,21,178:1,0,0 0|0:0,24,200:1,0,0 0|0:0,12,125:1,0,0 0|0:0,24,189:1,0,0
+X 2699555 . C A 999 . . GT:PL:GP 0:0,156:1,0 1:58,19:0,1 1:51,0:0,1 0:0,91:1,0 1:89,0:0,1 1|1:132,15,0:0,0,1 1|0:99,0,68:0,1,0 0|1:101,0,101:0,1,0 0|0:0,18,161:0.9998,0.0002,0 0|1:118,0,72:0,1,0
+X 2699645 . G T 999 . . GT:PL:GP 0:0,95:1,0 1:49,0:0,1 0:0,58:1,0 0:0,64:1,0 0:0,113:1,0 0|0:0,18,158:1,0,0 0|0:0,18,146:1,0,0 0|1:68,0,136:0,1,0 0|0:0,30,210:1,0,0 0|0:0,27,186:1,0,0
+X 2699676 . G A 999 . . GT:PL:GP 0:0,84:1,0 0:0,87:1,0 1:35,0:0,1 0:0,28:1,0 1:114,0:0,1 1|0:99,0,72:0,1,0 1|0:48,0,89:0,1,0 0|0:0,18,155:1,0,0 0|0:0,24,191:1,0,0 0|1:99,0,61:0,1,0
+X 2699728 . C T 69.7 . . GT:PL:GP 0:0,58:1,0 0:0,64:1,0 0:0,33:1,0 0:0,69:1,0 0:0,81:1,0 0|0:0,27,183:1,0,0 0|0:0,45,220:1,0,0 0|0:0,30,161:1,0,0 0|0:0,15,110:1,0,0 0|0:0,21,156:1,0,0
+X 2699775 . C A 71.1 . . GT:PL:GP 0:0,62:1,0 0:0,101:1,0 0:0,130:1,0 0:0,141:1,0 0:0,54:1,0 0|0:0,30,203:1,0,0 0|0:0,39,208:1,0,0 0|0:0,30,177:1,0,0 0|0:0,18,132:1,0,0 0|0:0,15,103:1,0,0
+X 2699898 . C CT 999 . . GT:PL:GP 0:0,32:1,0 0:0,11:1,0 1:11,0:0,1 0:0,11:1,0 1:31,0:0,1 1|0:11,0,24:0.0438,0.9562,0 1|0:8,0,17:0,1,0 0|0:0,33,72:1,0,0 0|0:0,27,69:1,0,0 0|1:11,4,12:0.0003,0.9997,0
+X 2699968 . A G 999 . . GT:PL:GP .:0,84:1,0 0:0,32:1,0 0:0,57:1,0 1:131,0:0,1 0:0,66:1,0 0|1:89,0,44:0,1,0 0|0:0,18,157:1,0,0 0|0:0,45,255:1,0,0 0|1:75,0,109:0,1,0 1|0:98,0,62:0,1,0
+X 2699970 . T C 55.3 . . GT:PL:GP 0:0,68:1,0 0:0,34:1,0 0:0,32:1,0 0:0,162:1,0 0:0,63:1,0 0|0:0,15,149:1,0,0 0|0:0,21,181:1,0,0 0|0:0,45,255:1,0,0 0|0:0,27,207:1,0,0 0|0:0,24,196:1,0,0
diff -r 000000000000 -r 3b6cd8086498 test-data/csq.fa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/csq.fa Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,34 @@
+>1
+ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
+ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
+ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
+ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
+ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
+ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
+ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
+ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
+ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
+ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
+>2
+ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
+ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
+ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
+ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
+ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
+ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
+ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
+ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
+ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
+ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
+>3
+ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
+ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
+ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
+ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
+ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
+ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
+ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
+ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
+ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
+ACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGTACGT
+
diff -r 000000000000 -r 3b6cd8086498 test-data/csq.gff3
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/csq.gff3 Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,40 @@
+##gff-version 3
+#! This file shows which fields are used and required by `bcftools +csq`. It is a trimmed version
+#! of the GFF3 format, see an example of the full format here
+#! ftp://ftp.ensembl.org/pub/grch37/release-84/gff3/homo_sapiens/
+#!
+###
+1 . gene 90 200 . + . ID=gene:ENSG00000000001;Name=XYZ;biotype=protein_coding
+1 . transcript 90 200 . + . ID=transcript:ENST00000000001;Parent=gene:ENSG00000000001;biotype=protein_coding
+1 . exon 90 110 . + . Parent=transcript:ENST00000000001
+1 . five_prime_UTR 90 98 . + . Parent=transcript:ENST00000000001
+1 . CDS 99 110 . + 1 Parent=transcript:ENST00000000001
+1 . exon 120 130 . + . Parent=transcript:ENST00000000001
+1 . CDS 120 130 . + 1 Parent=transcript:ENST00000000001
+1 . exon 140 150 . + . Parent=transcript:ENST00000000001
+1 . CDS 140 150 . + 2 Parent=transcript:ENST00000000001
+1 . exon 160 200 . + . Parent=transcript:ENST00000000001
+1 . CDS 160 171 . + 0 Parent=transcript:ENST00000000001
+1 . three_prime_UTR 172 200 . + . Parent=transcript:ENST00000000001
+2 . gene 80 200 . - . ID=gene:ENSG00000000002;Name=ABC;biotype=protein_coding
+2 . transcript 80 200 . - . ID=transcript:ENST00000000002;Parent=gene:ENSG00000000002;biotype=protein_coding
+2 . exon 80 110 . - . Parent=transcript:ENST00000000002
+2 . three_prime_UTR 80 98 . - . Parent=transcript:ENST00000000002
+2 . CDS 99 110 . - 0 Parent=transcript:ENST00000000002
+2 . exon 120 130 . - . Parent=transcript:ENST00000000002
+2 . CDS 120 130 . - 2 Parent=transcript:ENST00000000002
+2 . exon 140 150 . - . Parent=transcript:ENST00000000002
+2 . CDS 140 150 . - 1 Parent=transcript:ENST00000000002
+2 . exon 160 200 . - . Parent=transcript:ENST00000000002
+2 . CDS 160 171 . - 1 Parent=transcript:ENST00000000002
+2 . five_prime_UTR 172 200 . - . Parent=transcript:ENST00000000002
+3 . lincRNA_gene 20 50 . - . ID=gene:ENSG00000000004;Name=mir-007;biotype=lincRNA
+3 . lincRNA 20 50 . - . ID=transcript:ENSG00000000004;Parent=gene:ENSG00000000004;biotype=lincRNA
+3 . gene 100 200 . - . ID=gene:ENSG00000000003;Name=QWRTY;biotype=protein_coding
+3 . transcript 100 200 . - . ID=transcript:ENST00000000003;Parent=gene:ENSG00000000003;biotype=protein_coding
+3 . exon 100 110 . - . Parent=transcript:ENST00000000003
+3 . three_prime_UTR 100 105 . - . Parent=transcript:ENST00000000003
+3 . CDS 106 110 . - 0 Parent=transcript:ENST00000000003
+3 . exon 160 200 . - . Parent=transcript:ENST00000000003
+3 . CDS 160 171 . - 0 Parent=transcript:ENST00000000003
+3 . five_prime_UTR 172 200 . - . Parent=transcript:ENST00000000003
diff -r 000000000000 -r 3b6cd8086498 test-data/csq.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/csq.vcf Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,40 @@
+##fileformat=VCFv4.2
+##FORMAT=
+##INFO=
+##contig=
+##contig=
+##contig=
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT SmplAAA SmplBBB
+1 90 . C T . . EXP=5_prime_utr|XYZ|ENST00000000001|protein_coding GT 1|0 1|1
+1 102 . C T 1 . EXP=synonymous|XYZ|ENST00000000001|protein_coding|+|1Y|102C>T GT 1|0 1|0
+1 103 . G A 1 . EXP=missense|XYZ|ENST00000000001|protein_coding|+|2V>2I|103G>A GT 1|0 0|0
+1 103 . G C 1 . EXP=missense|XYZ|ENST00000000001|protein_coding|+|2V>2L|103G>C GT 0|0 1|0
+1 107 . G A 1 . EXP=missense|XYZ|ENST00000000001|protein_coding|+|3R>3Q|107G>A+108T>A GT 1|0 1|0
+1 108 . T A 1 . EXP=splice_region|XYZ|ENST00000000001|protein_coding,@107 GT 1|0 1|0
+1 121 . ACG A . . EXP=inframe_deletion|XYZ|ENST00000000001|protein_coding|+|5TY>5I|121ACG>A+124TA>T,splice_region|XYZ|ENST00000000001|protein_coding GT 1|0 1|0
+1 124 . TA T . . EXP=@121 GT 1|0 1|0
+1 128 . T C 1 . EXP=missense|XYZ|ENST00000000001|protein_coding|+|7V>6A|128T>C+129A>C,splice_region|XYZ|ENST00000000001|protein_coding GT 1|0 0/0
+1 129 . A C 1 . EXP=splice_region|XYZ|ENST00000000001|protein_coding,@128 GT 1|0 0/0
+1 140 . TA AACG . . EXP=inframe_insertion|XYZ|ENST00000000001|protein_coding|+|8LR>7QRR|140TA>AACG+142C>CC,splice_region|XYZ|ENST00000000001|protein_coding GT 1|0 0|0
+1 142 . C CC . . EXP=splice_region|XYZ|ENST00000000001|protein_coding,@140 GT 1|0 0|0
+1 145 . AC TA . . EXP=stop_gained|XYZ|ENST00000000001|protein_coding|+|10T>10*|145AC>TA GT 1|0 0|0
+1 160 . TA T . . EXP=*frameshift|XYZ|ENST00000000001|protein_coding|+|12YVRT>12SYV|160TA>T,splice_region|XYZ|ENST00000000001|protein_coding GT 1|0 0|0
+1 190 . C T . . EXP=3_prime_utr|XYZ|ENST00000000001|protein_coding GT 1|0 0|0
+2 97 . A C . . EXP=3_prime_utr|ABC|ENST00000000002|protein_coding GT 1|0 0|0
+2 105 . AC A . . EXP=@121 GT 1|0 0|0
+2 121 . AC A . . EXP=frameshift|ABC|ENST00000000002|protein_coding|-|11VVRTY>11*|105AC>A+121AC>A,splice_region|ABC|ENST00000000002|protein_coding GT 1|0 0|0
+2 126 . C CTT . . EXP=@127 GT 1|0 0|0
+2 127 . G GG . . EXP=inframe_insertion|ABC|ENST00000000002|protein_coding|-|9T>8TK|126C>CTT+127G>GG GT 1|0 0|0
+2 144 . TAC T . . EXP=@148 GT 1|0 0|0
+2 148 . TA T . . EXP=inframe_deletion|ABC|ENST00000000002|protein_coding|-|5YV>5T|144TAC>T+148TA>T,splice_region|ABC|ENST00000000002|protein_coding GT 1|0 0|0
+2 164 . T G . . EXP=missense|ABC|ENST00000000002|protein_coding|-|3T>3P|164T>G GT 1|0 0|0
+2 165 . A C . . EXP=synonymous|ABC|ENST00000000002|protein_coding|-|2R|165A>C GT 1|0 0|0
+2 169 . A G . . EXP=@170 GT 1|0 0|0
+2 170 . C T . . EXP=missense|ABC|ENST00000000002|protein_coding|-|1V>1T|169A>G+170C>T GT 1|0 0|0
+2 199 . G T . . EXP=5_prime_utr|ABC|ENST00000000002|protein_coding GT 1|0 0|0
+3 20 . T A . . EXP=non_coding|mir-007||lincRNA GT 1|0 0|0
+3 109 . ACGTACGT A 1 . EXP=splice_acceptor|QWRTY|ENST00000000003|protein_coding GT 1|0 0|0
+3 113 . A T . . EXP=splice_region|QWRTY|ENST00000000003|protein_coding GT 1|0 0|0
+3 120 . T A . . EXP=intron|QWRTY||protein_coding GT 1|0 0|0
+3 152 . T A . . EXP=splice_region|QWRTY|ENST00000000003|protein_coding GT 1|0 0|0
+3 159 . G A . . EXP=splice_donor|QWRTY|ENST00000000003|protein_coding GT 1|0 0|0
diff -r 000000000000 -r 3b6cd8086498 test-data/fasta_indexes.loc
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fasta_indexes.loc Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,6 @@
+23andme ? test genome ${__HERE__}/test-cache/23andme.fa
+consensus ? test genome ${__HERE__}/test-cache/consensus.fa
+csq ? test genome ${__HERE__}/test-cache/csq.fa
+gvcf ? test genome ${__HERE__}/test-cache/gvcf.fa
+mpileup ? test genome ${__HERE__}/test-cache/mpileup.ref.fa
+norm ? test genome ${__HERE__}/test-cache/norm.fa
diff -r 000000000000 -r 3b6cd8086498 test-data/filter.1.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/filter.1.vcf Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,33 @@
+##fileformat=VCFv4.1
+##INFO=
+##INFO=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FILTER=
+##test=
+##reference=file:///lustre/scratch105/projects/g1k/ref/main_project/human_g1k_v37.fasta
+##contig=
+##contig=
+##INFO=
+##INFO=
+##readme=AAAAAA
+##readme=BBBBBB
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT A
+1 1000 . G A 1806 . DP=35;DP4=1,2,3,4;AN=2;AC=1 GT:GQ:DP:GL 0/1:409:35:-20,-5,-20
+1 1001 . G A 1806 . DP=35;DP4=1,2,3,4;AN=2;AC=1 GT:GQ:DP:GL 0/1:409:35:-20,-5,-20
+1 1003 . GT G 1806 . DP=35;DP4=1,2,3,4;AN=2;AC=1 GT:GQ:DP:GL 0/1:409:35:-20,-5,-20
+1 1006 . G A 1806 . DP=35;DP4=1,2,3,4;AN=2;AC=1 GT:GQ:DP:GL 0/1:409:35:-20,-5,-20
+1 1007 . G A 1806 . DP=35;DP4=1,2,3,4;AN=2;AC=1 GT:GQ:DP:GL 0/1:409:35:-20,-5,-20
+1 2000 . T C 1806 . DP=35;DP4=1,2,3,4;AN=2;AC=1 GT:GQ:DP:GL 0/1:409:35:-20,-5,-20
+1 2001 . T C 1806 . DP=35;DP4=1,2,3,4;AN=2;AC=1 GT:GQ:DP:GL 0/1:409:35:-20,-5,-20
+1 2003 . T TC 1806 . DP=35;DP4=1,2,3,4;AN=2;AC=1 GT:GQ:DP:GL 0/1:409:35:-20,-5,-20
+1 2005 . T C 1806 . DP=35;DP4=1,2,3,4;AN=2;AC=1 GT:GQ:DP:GL 0/1:409:35:-20,-5,-20
+1 2006 . T C 1806 . DP=35;DP4=1,2,3,4;AN=2;AC=1 GT:GQ:DP:GL 0/1:409:35:-20,-5,-20
+2 1001 . GT G 1806 . DP=35;DP4=1,2,3,4;AN=2;AC=1 GT:GQ:DP:GL 0/1:409:35:-20,-5,-20
+2 1004 . GT G 1806 . DP=35;DP4=1,2,3,4;AN=2;AC=1 GT:GQ:DP:GL 0/1:409:35:-20,-5,-20
+2 1008 . GT G 1806 . DP=35;DP4=1,2,3,4;AN=2;AC=1 GT:GQ:DP:GL 0/1:409:35:-20,-5,-20
+2 2001 . A AT 1806 . DP=35;DP4=1,2,3,4;AN=2;AC=1 GT:GQ:DP:GL 0/1:409:35:-20,-5,-20
+2 2003 . A AT 1806 . DP=35;DP4=1,2,3,4;AN=2;AC=1 GT:GQ:DP:GL 0/1:409:35:-20,-5,-20
+2 2006 . A AT 1806 . DP=35;DP4=1,2,3,4;AN=2;AC=1 GT:GQ:DP:GL 0/1:409:35:-20,-5,-20
diff -r 000000000000 -r 3b6cd8086498 test-data/filter.2.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/filter.2.vcf Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,36 @@
+##fileformat=VCFv4.1
+##INFO=
+##FORMAT=
+##INFO=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FILTER=
+##FILTER=
+##contig=
+##contig=
+##contig=
+##contig=
+##reference=file:///lustre/scratch105/projects/g1k/ref/main_project/human_g1k_v37.fasta
+##readme=AAAAAA
+##readme=BBBBBB
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT A B
+1 3000150 . C T 59.2 PASS AN=4;AC=2 GT:GQ 0/1:245 0/1:245
+1 3000151 . C T 59.2 PASS AN=4;AC=2 GT:DP:GQ 0/1:32:245 0/1:32:245
+1 3062915 id3D GTTT G 12.9 q10 DP4=1,2,3,4;AN=4;AC=2;INDEL;STR=test GT:GQ:DP:GL 0/1:25:35:-20,-5,-20 0/1:45:11:-20,-5,-20
+1 3062915 idSNP G T,C 12.6 test TEST=5;DP4=1,2,3,4;AN=3;AC=1,1 GT:TT:GQ:DP:GL 0/1:0,1:409:35:-20,-5,-20,-20,-5,-20 2:0,1:409:35:-20,-5,-20
+1 3106154 . CAAA C 342 PASS AN=4;AC=2 GT:GQ:DP 0/1:245:32 0/1:25:300
+1 3106154 . C CT 59.2 PASS AN=4;AC=2 GT:GQ:DP 0/1:25:12 0/1:245:310
+1 3157410 . GA G 90.6 q10 AN=4;AC=4 GT:GQ:DP 1/1:21:21 1/1:21:21
+1 3162006 . GAA G 60.2 PASS AN=4;AC=2 GT:GQ:DP 0/1:212:22 0/1:212:22
+1 3177144 . G T 45 PASS AN=4;AC=2 GT:GQ:DP 0/0:150:30 1/1:150:30
+1 3177144 . G . 45 PASS AN=4;AC=0 GT:GQ:DP 0/0:150:30 0/0:150:30
+1 3184885 . TAAAA TA,T 61.5 PASS AN=4;AC=2,2 GT:GQ:DP 1/2:12:10 1/2:12:20
+2 3199812 . G GTT,GT 82.7 PASS AN=4;AC=2,2 GT:GQ:DP 1/2:322:20 1/2:322:10
+3 3212016 . CTT C,CT 79 PASS AN=4;AC=2,2 GT:GQ:DP 1/2:91:26 1/2:91:26
+4 3258448 . TACACACAC T 59.9 PASS AN=4;AC=2 GT 0/1 0/1
diff -r 000000000000 -r 3b6cd8086498 test-data/filter.3.vcf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/filter.3.vcf Sat Jul 23 13:49:21 2022 +0000
@@ -0,0 +1,42 @@
+##fileformat=VCFv4.2
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##INFO=
+##SAMPLE=\") quoting nonsense where double brackets would do just fine",softwareName=,softwareVer=<119,65>,softwareParam=<.>,MetadataResource=http://somewhere.com/path>
+##INFO=
+##INFO=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FORMAT=
+##FILTER=
+##contig=