changeset 0:201984e0cab2 draft

Uploaded
author greg
date Fri, 13 Oct 2023 14:20:19 +0000
parents
children 1013b32b325a
files .shed.yml cfsan_snp_pipeline_merge_sites.xml macros.xml snp_wind.py test-data/input1.vcf test-data/input2.vcf test-data/input3.vcf test-data/input4.vcf test-data/output.tabular
diffstat 9 files changed, 573 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.shed.yml	Fri Oct 13 14:20:19 2023 +0000
@@ -0,0 +1,11 @@
+name: cfsan_snp_pipeline_merge_sites
+owner: greg
+description: Combine the SNP positions across all samples into a single unified SNP list
+  file identifying the positions and sample names where SNPs were called.
+long_description:  Combine the SNP positions across all samples into a single unified SNP list
+file identifying the positions and sample names where SNPs were called.
+categories: 
+- Metagenomics
+remote_repository_url: https://github.com/gregvonkuster/galaxy_tools/tree/master/snp_pipeline/cfsan_snp_pipeline_merge_sites
+homepage_url: https://github.com/gregvonkuster/galaxy_tools
+type: unrestricted
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cfsan_snp_pipeline_merge_sites.xml	Fri Oct 13 14:20:19 2023 +0000
@@ -0,0 +1,59 @@
+<tool id="cfsan_snp_pipeline_merge_sites" name="CFSAN SNP Pipeline: merge sites" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
+    <description>from multiple samples</description>
+    <macros>
+        <import>macros.xml</import>
+    </macros>
+    <expand macro="requirements"/>
+    <command detect_errors="exit_code"><![CDATA[
+python '$__tool_directory__/snp_wind.py' ./
+#if str($input_type_cond.input_type) == 'single':
+    -n '$input_vcf.element_identifier'
+    -f '$input_vcf'
+#else:
+    #for $input_vcf in $input_vcf_collection
+        -n '$input_vcf.element_identifier'
+        -f '$input_vcf'
+    #end for
+#end if
+-p 'var.fit.vcf' > ./file
+&& cfsan_snp_pipeline merge_sites -v 4 -n 'var.fit.vcf' ./file ./filtered_snps -o '$output'
+    ]]></command>
+    <inputs>
+        <expand macro="input_type_cond"/>
+    </inputs>
+    <outputs>
+        <data name="output" format="tabular"/>
+    </outputs>
+    <tests>
+        <test>
+            <param name="input_type" value="collection"/>
+            <param name="input_vcf_collection">
+                <collection type="list">
+                    <element name="input1" value="input1.vcf" ftype="vcf"/>
+                    <element name="input2" value="input2.vcf" ftype="vcf"/>
+                    <element name="input3" value="input3.vcf" ftype="vcf"/>
+                    <element name="input4" value="input4.vcf" ftype="vcf"/>
+                </collection>
+            </param>
+            <output name="output" value="output.tabular"/>
+        </test>
+    </tests>
+    <help><![CDATA[
+**What it does**
+
+Combine the SNP positions across all samples into a single unified SNP list
+file identifing the positions and sample names where SNPs were called.
+
+**Optional parameters**
+
+ * **force** - Force processing even when result file already exists and is newer than inputs (default: False)
+ * **vcfname** - File name of the VCF files which must exist in each of the sample directories (default: var.flt.vcf)
+ * **maxsnps** - Exclude samples having more than this maximum allowed number of SNPs. Set to -1 to disable this function (default: -1)
+
+**More information**
+
+CFSAN SNP Pipeline `merge sites documentation <https://snp-pipeline.readthedocs.io/en/latest/cmd_ref.html#merge-sites>`_
+    ]]></help>
+    <expand macro="citations"/>
+</tool>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml	Fri Oct 13 14:20:19 2023 +0000
@@ -0,0 +1,31 @@
+<macros>
+    <token name="@TOOL_VERSION@">2.2.1</token>
+    <token name="@VERSION_SUFFIX@">0</token>
+    <token name="@PROFILE@">21.01</token>
+    <xml name="requirements">
+        <requirements>
+            <requirement type="package" version="@TOOL_VERSION@">snp-pipeline</requirement>
+            <requirement type="package" version="3.6.8">python</requirement>
+        </requirements>
+    </xml>
+    <xml name="input_type_cond">
+        <conditional name="input_type_cond">
+            <param name="input_type" type="select" label="Choose the category for the files to be analyzed">
+                <option value="single" selected="true">Single files</option>
+                <option value="collection">Collection of files</option>
+            </param>
+            <when value="single">
+                <param name="input_vcf" type="data" format="vcf" label="VCF file"/>
+            </when>
+            <when value="collection">
+                <param name="input_vcf_collection" type="data_collection" format="vcf" collection_type="list" label="Collection of VCF files"/>
+            </when>
+        </conditional>
+    </xml>
+    <xml name="citations">
+        <citations>
+            <citation type="doi">10.7717/peerj-cs.20</citation>
+        </citations>
+    </xml>
+</macros>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/snp_wind.py	Fri Oct 13 14:20:19 2023 +0000
@@ -0,0 +1,42 @@
+#!/usr/bin/env python
+
+import argparse
+import os
+from os.path import join as j
+from itertools import zip_longest
+
+
+def setup(base_dir, names=[], fwds=[], revs=[], extension='vcf', pattern="{name}.{orient}.{ext}"):
+    if fwds and revs and names and len(fwds) != len(revs) != len(names):
+        raise ValueError('number of forward reads must equal number of reverse reads and names')
+    elif len(fwds) != len(names) or not fwds or not names:
+        raise ValueError('number of forward reads must equal number of names')
+    with open(j(base_dir, 'snp-unwind.sh'), 'w') as unwind:
+        for i, (name, fwd, rev) in enumerate(zip_longest(names, fwds, revs)):
+            dir = j(base_dir, str(i))
+            sample_dir = j(dir, name)
+            os.makedirs(sample_dir)
+            target_f = j(sample_dir, pattern.format(name=name, orient=1, ext=extension))
+            if rev:
+                target_r = j(sample_dir, pattern.format(name=name, orient=2, ext=extension))
+            os.symlink(fwd, target_f)
+            if rev:
+                os.symlink(rev, target_r)
+            print(sample_dir)
+            if rev:
+                unwind.write('unlink {}\n'.format(target_r))
+            unwind.write('unlink {}\n'.format(target_f))
+            unwind.write('rmdir {}\n'.format(sample_dir))
+        unwind.write('rmdir {}\n'.format(dir))
+
+
+if __name__ == '__main__':
+    parser = argparse.ArgumentParser(description="set up vcf symlink directories for snp-pipeline")
+    parser.add_argument('base_dir')
+    parser.add_argument('-n', dest='names', type=str, action='append', default=[])
+    parser.add_argument('-f', dest='fwds', type=str, action='append', default=[])
+    parser.add_argument('-r', dest='revs', type=str, action='append', default=[])
+    parser.add_argument('-e', dest='extension', default='vcf')
+    parser.add_argument('-p', dest='pattern', default='{name}.{orient}.{ext}')
+    params = parser.parse_args()
+    setup(**vars(params))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/input1.vcf	Fri Oct 13 14:20:19 2023 +0000
@@ -0,0 +1,71 @@
+##fileformat=VCFv4.1
+##source=VarScan2
+##INFO=<ID=ADP,Number=1,Type=Integer,Description="Average per-sample depth of bases with Phred score >= 15">
+##INFO=<ID=WT,Number=1,Type=Integer,Description="Number of samples called reference (wild-type)">
+##INFO=<ID=HET,Number=1,Type=Integer,Description="Number of samples called heterozygous-variant">
+##INFO=<ID=HOM,Number=1,Type=Integer,Description="Number of samples called homozygous-variant">
+##INFO=<ID=NC,Number=1,Type=Integer,Description="Number of samples not called">
+##FILTER=<ID=str10,Description="Less than 10% or more than 90% of variant supporting reads on one strand">
+##FILTER=<ID=indelError,Description="Likely artifact due to indel reads at this position">
+##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
+##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality">
+##FORMAT=<ID=SDP,Number=1,Type=Integer,Description="Raw Read Depth as reported by SAMtools">
+##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Quality Read Depth of bases with Phred score >= 15">
+##FORMAT=<ID=RD,Number=1,Type=Integer,Description="Depth of reference-supporting bases (reads1)">
+##FORMAT=<ID=AD,Number=1,Type=Integer,Description="Depth of variant-supporting bases (reads2)">
+##FORMAT=<ID=FREQ,Number=1,Type=String,Description="Variant allele frequency">
+##FORMAT=<ID=PVAL,Number=1,Type=String,Description="P-value from Fisher's Exact Test">
+##FORMAT=<ID=RBQ,Number=1,Type=Integer,Description="Average quality of reference-supporting bases (qual1)">
+##FORMAT=<ID=ABQ,Number=1,Type=Integer,Description="Average quality of variant-supporting bases (qual2)">
+##FORMAT=<ID=RDF,Number=1,Type=Integer,Description="Depth of reference-supporting bases on forward strand (reads1plus)">
+##FORMAT=<ID=RDR,Number=1,Type=Integer,Description="Depth of reference-supporting bases on reverse strand (reads1minus)">
+##FORMAT=<ID=ADF,Number=1,Type=Integer,Description="Depth of variant-supporting bases on forward strand (reads2plus)">
+##FORMAT=<ID=ADR,Number=1,Type=Integer,Description="Depth of variant-supporting bases on reverse strand (reads2minus)">
+#CHROM	POS	ID	REF	ALT	QUAL	FILTER	INFO	FORMAT	Sample1
+gi|9626243|ref|NC_001416.1|	403	.	G	A	.	PASS	ADP=26;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:146:27:26:0:26:100%:2.0165E-15:0:31:0:0:12:14
+gi|9626243|ref|NC_001416.1|	753	.	G	A	.	PASS	ADP=24;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:129:25:24:0:23:100%:1.2146E-13:0:27:0:0:15:8
+gi|9626243|ref|NC_001416.1|	1079	.	T	C	.	PASS	ADP=25;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:135:26:25:0:24:100%:3.101E-14:0:26:0:0:9:15
+gi|9626243|ref|NC_001416.1|	1540	.	A	G	.	PASS	ADP=22;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:123:24:22:0:22:100%:4.7526E-13:0:24:0:0:13:9
+gi|9626243|ref|NC_001416.1|	1804	.	G	C	.	PASS	ADP=23;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:129:23:23:0:23:100%:1.2146E-13:0:28:0:0:11:12
+gi|9626243|ref|NC_001416.1|	2123	.	G	C	.	PASS	ADP=23;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:129:24:23:0:23:100%:1.2146E-13:0:27:0:0:10:13
+gi|9626243|ref|NC_001416.1|	3351	.	C	G	.	PASS	ADP=22;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:123:24:22:0:22:100%:4.7526E-13:0:28:0:0:10:12
+gi|9626243|ref|NC_001416.1|	3656	.	T	G	.	PASS	ADP=23;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:129:25:23:0:23:100%:1.2146E-13:0:25:0:0:12:11
+gi|9626243|ref|NC_001416.1|	4977	.	G	A	.	PASS	ADP=22;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:123:25:22:0:22:100%:4.7526E-13:0:27:0:0:10:12
+gi|9626243|ref|NC_001416.1|	5482	.	G	A	.	PASS	ADP=17;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:93:18:17:0:17:100%:4.2852E-10:0:28:0:0:8:9
+gi|9626243|ref|NC_001416.1|	5516	.	T	A	.	PASS	ADP=13;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:70:16:13:0:13:100%:9.6148E-8:0:23:0:0:7:6
+gi|9626243|ref|NC_001416.1|	5800	.	G	A	.	PASS	ADP=13;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:70:19:13:0:13:100%:9.6148E-8:0:26:0:0:4:9
+gi|9626243|ref|NC_001416.1|	6824	.	A	C	.	PASS	ADP=18;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:99:19:18:0:18:100%:1.1019E-10:0:26:0:0:10:8
+gi|9626243|ref|NC_001416.1|	7897	.	G	A	.	PASS	ADP=23;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:129:26:23:0:23:100%:1.2146E-13:0:25:0:0:11:12
+gi|9626243|ref|NC_001416.1|	9175	.	A	G	.	PASS	ADP=22;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:123:22:22:0:22:100%:4.7526E-13:0:28:0:0:8:14
+gi|9626243|ref|NC_001416.1|	12717	.	G	C	.	PASS	ADP=25;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:135:29:25:0:24:100%:3.101E-14:0:28:0:0:10:14
+gi|9626243|ref|NC_001416.1|	12795	.	C	T	.	PASS	ADP=26;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:146:27:26:0:26:100%:2.0165E-15:0:29:0:0:16:10
+gi|9626243|ref|NC_001416.1|	12959	.	T	G	.	PASS	ADP=21;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:117:22:21:0:21:100%:1.8578E-12:0:25:0:0:13:8
+gi|9626243|ref|NC_001416.1|	16654	.	C	G	.	PASS	ADP=23;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:129:24:23:0:23:100%:1.2146E-13:0:26:0:0:14:9
+gi|9626243|ref|NC_001416.1|	16715	.	T	G	.	PASS	ADP=18;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:99:19:18:0:18:100%:1.1019E-10:0:25:0:0:8:10
+gi|9626243|ref|NC_001416.1|	18598	.	C	G	.	PASS	ADP=22;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:123:25:22:0:22:100%:4.7526E-13:0:24:0:0:12:10
+gi|9626243|ref|NC_001416.1|	19469	.	G	T	.	PASS	ADP=18;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:99:21:18:0:18:100%:1.1019E-10:0:28:0:0:11:7
+gi|9626243|ref|NC_001416.1|	20099	.	C	T	.	PASS	ADP=28;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:158:28:28:0:28:100%:1.3074E-16:0:29:0:0:14:14
+gi|9626243|ref|NC_001416.1|	21110	.	T	G	.	PASS	ADP=16;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:87:18:16:0:16:100%:1.6637E-9:0:26:0:0:5:11
+gi|9626243|ref|NC_001416.1|	23362	.	T	A	.	PASS	ADP=11;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:58:14:11:0:11:100%:1.4176E-6:0:26:0:0:3:8
+gi|9626243|ref|NC_001416.1|	24319	.	G	T	.	PASS	ADP=18;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:99:19:18:0:18:100%:1.1019E-10:0:26:0:0:7:11
+gi|9626243|ref|NC_001416.1|	24766	.	G	A	.	PASS	ADP=17;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:93:19:17:0:17:100%:4.2852E-10:0:24:0:0:6:11
+gi|9626243|ref|NC_001416.1|	27790	.	A	C	.	PASS	ADP=18;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:93:20:18:0:17:100%:4.2852E-10:0:26:0:0:6:11
+gi|9626243|ref|NC_001416.1|	29891	.	G	C	.	PASS	ADP=20;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:111:21:20:0:20:100%:7.2544E-12:0:26:0:0:9:11
+gi|9626243|ref|NC_001416.1|	31551	.	A	G	.	PASS	ADP=15;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:81:16:15:0:15:100%:6.4467E-9:0:25:0:0:7:8
+gi|9626243|ref|NC_001416.1|	32086	.	T	A	.	PASS	ADP=15;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:69:17:15:1:14:93.33%:1.0315E-7:33:28:1:0:7:7
+gi|9626243|ref|NC_001416.1|	33000	.	C	T	.	PASS	ADP=17;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:93:18:17:0:17:100%:4.2852E-10:0:26:0:0:7:10
+gi|9626243|ref|NC_001416.1|	33591	.	T	G	.	PASS	ADP=30;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:170:30:30:0:30:100%:8.4556E-18:0:26:0:0:16:14
+gi|9626243|ref|NC_001416.1|	34370	.	A	G	.	PASS	ADP=22;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:117:23:22:0:21:100%:1.8578E-12:0:26:0:0:10:11
+gi|9626243|ref|NC_001416.1|	34812	.	A	C	.	PASS	ADP=16;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:81:16:16:0:15:100%:6.4467E-9:0:26:0:0:11:4
+gi|9626243|ref|NC_001416.1|	34920	.	T	C	.	PASS	ADP=15;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:81:16:15:0:15:100%:6.4467E-9:0:23:0:0:9:6
+gi|9626243|ref|NC_001416.1|	35148	.	C	A	.	PASS	ADP=16;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:87:16:16:0:16:100%:1.6637E-9:0:26:0:0:10:6
+gi|9626243|ref|NC_001416.1|	36010	.	C	T	.	PASS	ADP=9;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:46:9:9:0:9:100%:2.0568E-5:0:26:0:0:0:9
+gi|9626243|ref|NC_001416.1|	37208	.	G	C	.	PASS	ADP=19;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:105:19:19:0:19:100%:2.8292E-11:0:29:0:0:8:11
+gi|9626243|ref|NC_001416.1|	38165	.	T	C	.	PASS	ADP=27;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:152:29:27:0:27:100%:5.1363E-16:0:23:0:0:17:10
+gi|9626243|ref|NC_001416.1|	39485	.	A	C	.	PASS	ADP=20;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:111:20:20:0:20:100%:7.2544E-12:0:29:0:0:10:10
+gi|9626243|ref|NC_001416.1|	40457	.	T	C	.	PASS	ADP=27;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:138:28:27:1:26:96.3%:1.4382E-14:24:25:1:0:11:15
+gi|9626243|ref|NC_001416.1|	42439	.	A	C	.	PASS	ADP=24;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:135:28:24:0:24:100%:3.101E-14:0:26:0:0:16:8
+gi|9626243|ref|NC_001416.1|	43306	.	T	G	.	PASS	ADP=32;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:176:33:32:0:31:100%:2.1486E-18:0:27:0:0:11:20
+gi|9626243|ref|NC_001416.1|	46237	.	G	A	.	PASS	ADP=27;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:152:27:27:0:27:100%:5.1363E-16:0:26:0:0:12:15
+gi|9626243|ref|NC_001416.1|	47893	.	G	A	.	PASS	ADP=23;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:129:28:23:0:23:100%:1.2146E-13:0:25:0:0:12:11
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/input2.vcf	Fri Oct 13 14:20:19 2023 +0000
@@ -0,0 +1,69 @@
+##fileformat=VCFv4.1
+##source=VarScan2
+##INFO=<ID=ADP,Number=1,Type=Integer,Description="Average per-sample depth of bases with Phred score >= 15">
+##INFO=<ID=WT,Number=1,Type=Integer,Description="Number of samples called reference (wild-type)">
+##INFO=<ID=HET,Number=1,Type=Integer,Description="Number of samples called heterozygous-variant">
+##INFO=<ID=HOM,Number=1,Type=Integer,Description="Number of samples called homozygous-variant">
+##INFO=<ID=NC,Number=1,Type=Integer,Description="Number of samples not called">
+##FILTER=<ID=str10,Description="Less than 10% or more than 90% of variant supporting reads on one strand">
+##FILTER=<ID=indelError,Description="Likely artifact due to indel reads at this position">
+##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
+##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality">
+##FORMAT=<ID=SDP,Number=1,Type=Integer,Description="Raw Read Depth as reported by SAMtools">
+##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Quality Read Depth of bases with Phred score >= 15">
+##FORMAT=<ID=RD,Number=1,Type=Integer,Description="Depth of reference-supporting bases (reads1)">
+##FORMAT=<ID=AD,Number=1,Type=Integer,Description="Depth of variant-supporting bases (reads2)">
+##FORMAT=<ID=FREQ,Number=1,Type=String,Description="Variant allele frequency">
+##FORMAT=<ID=PVAL,Number=1,Type=String,Description="P-value from Fisher's Exact Test">
+##FORMAT=<ID=RBQ,Number=1,Type=Integer,Description="Average quality of reference-supporting bases (qual1)">
+##FORMAT=<ID=ABQ,Number=1,Type=Integer,Description="Average quality of variant-supporting bases (qual2)">
+##FORMAT=<ID=RDF,Number=1,Type=Integer,Description="Depth of reference-supporting bases on forward strand (reads1plus)">
+##FORMAT=<ID=RDR,Number=1,Type=Integer,Description="Depth of reference-supporting bases on reverse strand (reads1minus)">
+##FORMAT=<ID=ADF,Number=1,Type=Integer,Description="Depth of variant-supporting bases on forward strand (reads2plus)">
+##FORMAT=<ID=ADR,Number=1,Type=Integer,Description="Depth of variant-supporting bases on reverse strand (reads2minus)">
+#CHROM	POS	ID	REF	ALT	QUAL	FILTER	INFO	FORMAT	Sample1
+gi|9626243|ref|NC_001416.1|	2599	.	C	A	.	PASS	ADP=24;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:135:25:24:0:24:100%:3.101E-14:0:26:0:0:8:16
+gi|9626243|ref|NC_001416.1|	3678	.	C	T	.	PASS	ADP=16;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:75:19:16:1:15:93.75%:2.8282E-8:17:26:1:0:8:7
+gi|9626243|ref|NC_001416.1|	5142	.	C	G	.	PASS	ADP=17;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:93:18:17:0:17:100%:4.2852E-10:0:27:0:0:4:13
+gi|9626243|ref|NC_001416.1|	5336	.	G	T	.	PASS	ADP=8;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:41:8:8:0:8:100%:7.77E-5:0:31:0:0:1:7
+gi|9626243|ref|NC_001416.1|	5994	.	A	T	.	PASS	ADP=21;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:117:21:21:0:21:100%:1.8578E-12:0:24:0:0:10:11
+gi|9626243|ref|NC_001416.1|	6535	.	C	A	.	PASS	ADP=19;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:99:22:19:0:18:100%:1.1019E-10:0:27:0:0:6:12
+gi|9626243|ref|NC_001416.1|	7424	.	G	T	.	PASS	ADP=21;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:117:25:21:0:21:100%:1.8578E-12:0:26:0:0:13:8
+gi|9626243|ref|NC_001416.1|	10127	.	G	A	.	PASS	ADP=26;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:146:32:26:0:26:100%:2.0165E-15:0:26:0:0:14:12
+gi|9626243|ref|NC_001416.1|	11782	.	A	G	.	PASS	ADP=16;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:87:17:16:0:16:100%:1.6637E-9:0:28:0:0:7:9
+gi|9626243|ref|NC_001416.1|	13264	.	C	T	.	PASS	ADP=22;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:123:23:22:0:22:100%:4.7526E-13:0:26:0:0:14:8
+gi|9626243|ref|NC_001416.1|	13542	.	C	G	.	PASS	ADP=23;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:123:26:23:0:22:95.65%:4.7526E-13:0:29:0:0:14:8
+gi|9626243|ref|NC_001416.1|	13952	.	G	C	.	PASS	ADP=31;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:176:33:31:0:31:100%:2.1486E-18:0:26:0:0:13:18
+gi|9626243|ref|NC_001416.1|	15715	.	G	C	.	PASS	ADP=21;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:117:24:21:0:21:100%:1.8578E-12:0:28:0:0:15:6
+gi|9626243|ref|NC_001416.1|	15967	.	A	T	.	PASS	ADP=24;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:129:28:24:0:23:100%:1.2146E-13:0:24:0:0:13:10
+gi|9626243|ref|NC_001416.1|	17142	.	G	A	.	PASS	ADP=23;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:129:27:23:0:23:100%:1.2146E-13:0:29:0:0:12:11
+gi|9626243|ref|NC_001416.1|	17311	.	G	C	.	PASS	ADP=33;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:188:35:33:0:33:100%:1.3852E-19:0:26:0:0:14:19
+gi|9626243|ref|NC_001416.1|	17854	.	G	T	.	PASS	ADP=19;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:105:20:19:0:19:100%:2.8292E-11:0:26:0:0:5:14
+gi|9626243|ref|NC_001416.1|	18420	.	G	T	.	PASS	ADP=17;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:93:18:17:0:17:100%:4.2852E-10:0:26:0:0:9:8
+gi|9626243|ref|NC_001416.1|	18652	.	G	T	.	PASS	ADP=23;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:129:25:23:0:23:100%:1.2146E-13:0:25:0:0:13:10
+gi|9626243|ref|NC_001416.1|	19208	.	A	C	.	PASS	ADP=16;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:87:17:16:0:16:100%:1.6637E-9:0:26:0:0:8:8
+gi|9626243|ref|NC_001416.1|	20367	.	G	C	.	PASS	ADP=30;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:170:32:30:0:30:100%:8.4556E-18:0:27:0:0:19:11
+gi|9626243|ref|NC_001416.1|	21320	.	T	C	.	PASS	ADP=23;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:129:25:23:0:23:100%:1.2146E-13:0:29:0:0:11:12
+gi|9626243|ref|NC_001416.1|	22220	.	A	C	.	PASS	ADP=27;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:152:28:27:0:27:100%:5.1363E-16:0:23:0:0:17:10
+gi|9626243|ref|NC_001416.1|	22747	.	G	A	.	PASS	ADP=18;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:99:19:18:0:18:100%:1.1019E-10:0:28:0:0:6:12
+gi|9626243|ref|NC_001416.1|	23457	.	A	C	.	PASS	ADP=19;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:99:20:19:0:18:100%:1.1019E-10:0:27:0:0:11:7
+gi|9626243|ref|NC_001416.1|	25005	.	A	C	.	PASS	ADP=11;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:58:12:11:0:11:100%:1.4176E-6:0:26:0:0:5:6
+gi|9626243|ref|NC_001416.1|	25158	.	A	C	.	PASS	ADP=20;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:111:22:20:0:20:100%:7.2544E-12:0:27:0:0:10:10
+gi|9626243|ref|NC_001416.1|	25645	.	C	G	.	PASS	ADP=24;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:135:26:24:0:24:100%:3.101E-14:0:26:0:0:10:14
+gi|9626243|ref|NC_001416.1|	26173	.	G	C	.	PASS	ADP=21;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:117:21:21:0:21:100%:1.8578E-12:0:26:0:0:10:11
+gi|9626243|ref|NC_001416.1|	27661	.	T	C	.	PASS	ADP=23;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:123:25:23:0:22:100%:4.7526E-13:0:28:0:0:14:8
+gi|9626243|ref|NC_001416.1|	28045	.	G	T	.	PASS	ADP=25;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:141:25:25:0:25:100%:7.9107E-15:0:29:0:0:13:12
+gi|9626243|ref|NC_001416.1|	28362	.	T	C	.	PASS	ADP=20;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:111:22:20:0:20:100%:7.2544E-12:0:24:0:0:12:8
+gi|9626243|ref|NC_001416.1|	29411	.	T	C	.	PASS	ADP=28;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:158:31:28:0:28:100%:1.3074E-16:0:28:0:0:13:15
+gi|9626243|ref|NC_001416.1|	30125	.	A	G	.	PASS	ADP=21;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:117:21:21:0:21:100%:1.8578E-12:0:29:0:0:11:10
+gi|9626243|ref|NC_001416.1|	34137	.	T	G	.	PASS	ADP=33;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:182:34:33:0:32:100%:5.4567E-19:0:25:0:0:17:15
+gi|9626243|ref|NC_001416.1|	35907	.	G	T	.	PASS	ADP=31;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:164:32:31:0:29:100%:3.3259E-17:0:27:0:0:18:11
+gi|9626243|ref|NC_001416.1|	38575	.	A	C	.	PASS	ADP=21;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:117:21:21:0:21:100%:1.8578E-12:0:28:0:0:10:11
+gi|9626243|ref|NC_001416.1|	39206	.	T	C	.	PASS	ADP=18;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:93:20:18:0:17:100%:4.2852E-10:0:24:0:0:7:10
+gi|9626243|ref|NC_001416.1|	39484	.	C	A	.	PASS	ADP=18;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:99:20:18:0:18:100%:1.1019E-10:0:24:0:0:11:7
+gi|9626243|ref|NC_001416.1|	43470	.	G	T	.	PASS	ADP=21;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:117:25:21:0:21:100%:1.8578E-12:0:29:0:0:12:9
+gi|9626243|ref|NC_001416.1|	44134	.	T	C	.	PASS	ADP=21;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:111:22:21:0:20:100%:7.2544E-12:0:25:0:0:12:8
+gi|9626243|ref|NC_001416.1|	44413	.	G	T	.	PASS	ADP=31;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:176:32:31:0:31:100%:2.1486E-18:0:26:0:0:13:18
+gi|9626243|ref|NC_001416.1|	45364	.	A	C	.	PASS	ADP=27;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:141:27:27:0:25:96.15%:7.9107E-15:0:27:0:0:16:9
+gi|9626243|ref|NC_001416.1|	47425	.	T	C	.	PASS	ADP=18;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:93:19:18:0:17:100%:4.2852E-10:0:26:0:0:11:6
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/input3.vcf	Fri Oct 13 14:20:19 2023 +0000
@@ -0,0 +1,63 @@
+##fileformat=VCFv4.1
+##source=VarScan2
+##INFO=<ID=ADP,Number=1,Type=Integer,Description="Average per-sample depth of bases with Phred score >= 15">
+##INFO=<ID=WT,Number=1,Type=Integer,Description="Number of samples called reference (wild-type)">
+##INFO=<ID=HET,Number=1,Type=Integer,Description="Number of samples called heterozygous-variant">
+##INFO=<ID=HOM,Number=1,Type=Integer,Description="Number of samples called homozygous-variant">
+##INFO=<ID=NC,Number=1,Type=Integer,Description="Number of samples not called">
+##FILTER=<ID=str10,Description="Less than 10% or more than 90% of variant supporting reads on one strand">
+##FILTER=<ID=indelError,Description="Likely artifact due to indel reads at this position">
+##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
+##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality">
+##FORMAT=<ID=SDP,Number=1,Type=Integer,Description="Raw Read Depth as reported by SAMtools">
+##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Quality Read Depth of bases with Phred score >= 15">
+##FORMAT=<ID=RD,Number=1,Type=Integer,Description="Depth of reference-supporting bases (reads1)">
+##FORMAT=<ID=AD,Number=1,Type=Integer,Description="Depth of variant-supporting bases (reads2)">
+##FORMAT=<ID=FREQ,Number=1,Type=String,Description="Variant allele frequency">
+##FORMAT=<ID=PVAL,Number=1,Type=String,Description="P-value from Fisher's Exact Test">
+##FORMAT=<ID=RBQ,Number=1,Type=Integer,Description="Average quality of reference-supporting bases (qual1)">
+##FORMAT=<ID=ABQ,Number=1,Type=Integer,Description="Average quality of variant-supporting bases (qual2)">
+##FORMAT=<ID=RDF,Number=1,Type=Integer,Description="Depth of reference-supporting bases on forward strand (reads1plus)">
+##FORMAT=<ID=RDR,Number=1,Type=Integer,Description="Depth of reference-supporting bases on reverse strand (reads1minus)">
+##FORMAT=<ID=ADF,Number=1,Type=Integer,Description="Depth of variant-supporting bases on forward strand (reads2plus)">
+##FORMAT=<ID=ADR,Number=1,Type=Integer,Description="Depth of variant-supporting bases on reverse strand (reads2minus)">
+#CHROM	POS	ID	REF	ALT	QUAL	FILTER	INFO	FORMAT	Sample1
+gi|9626243|ref|NC_001416.1|	2439	.	C	T	.	PASS	ADP=14;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:76:16:14:0:14:100%:2.4927E-8:0:26:0:0:6:8
+gi|9626243|ref|NC_001416.1|	3648	.	C	T	.	PASS	ADP=24;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:129:28:24:0:23:100%:1.2146E-13:0:26:0:0:12:11
+gi|9626243|ref|NC_001416.1|	5462	.	C	T	.	PASS	ADP=21;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:105:24:21:0:19:100%:2.8292E-11:0:25:0:0:16:3
+gi|9626243|ref|NC_001416.1|	7668	.	A	C	.	PASS	ADP=15;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:81:17:15:0:15:100%:6.4467E-9:0:26:0:0:5:10
+gi|9626243|ref|NC_001416.1|	8420	.	T	C	.	PASS	ADP=31;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:176:32:31:0:31:100%:2.1486E-18:0:26:0:0:21:10
+gi|9626243|ref|NC_001416.1|	9919	.	A	G	.	PASS	ADP=23;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:129:24:23:0:23:100%:1.2146E-13:0:28:0:0:14:9
+gi|9626243|ref|NC_001416.1|	10264	.	G	T	.	PASS	ADP=21;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:117:24:21:0:21:100%:1.8578E-12:0:26:0:0:9:12
+gi|9626243|ref|NC_001416.1|	11066	.	G	C	.	PASS	ADP=18;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:99:20:18:0:18:100%:1.1019E-10:0:25:0:0:6:12
+gi|9626243|ref|NC_001416.1|	12070	.	C	T	.	PASS	ADP=10;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:52:11:10:0:10:100%:5.4125E-6:0:22:0:0:7:3
+gi|9626243|ref|NC_001416.1|	12970	.	A	G	.	PASS	ADP=24;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:135:26:24:0:24:100%:3.101E-14:0:25:0:0:13:11
+gi|9626243|ref|NC_001416.1|	13107	.	C	A	.	PASS	ADP=12;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:64:16:12:0:12:100%:3.698E-7:0:24:0:0:7:5
+gi|9626243|ref|NC_001416.1|	13971	.	G	C	.	PASS	ADP=25;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:141:27:25:0:25:100%:7.9107E-15:0:27:0:0:12:13
+gi|9626243|ref|NC_001416.1|	15384	.	T	G	.	PASS	ADP=23;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:129:24:23:0:23:100%:1.2146E-13:0:26:0:0:15:8
+gi|9626243|ref|NC_001416.1|	16070	.	C	A	.	PASS	ADP=18;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:93:22:18:0:17:94.44%:4.2852E-10:0:25:0:0:13:4
+gi|9626243|ref|NC_001416.1|	18151	.	A	T	.	PASS	ADP=21;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:117:22:21:0:21:100%:1.8578E-12:0:26:0:0:10:11
+gi|9626243|ref|NC_001416.1|	18989	.	G	T	.	PASS	ADP=29;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:164:30:29:0:29:100%:3.3259E-17:0:28:0:0:13:16
+gi|9626243|ref|NC_001416.1|	19448	.	C	A	.	PASS	ADP=19;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:92:20:19:1:18:94.74%:5.6585E-10:28:26:1:0:7:11
+gi|9626243|ref|NC_001416.1|	20079	.	C	G	.	PASS	ADP=34;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:194:36:34:0:34:100%:3.5146E-20:0:25:0:0:18:16
+gi|9626243|ref|NC_001416.1|	20289	.	T	A	.	PASS	ADP=21;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:117:23:21:0:21:100%:1.8578E-12:0:27:0:0:6:15
+gi|9626243|ref|NC_001416.1|	21653	.	G	C	.	PASS	ADP=20;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:111:22:20:0:20:100%:7.2544E-12:0:29:0:0:14:6
+gi|9626243|ref|NC_001416.1|	24930	.	A	C	.	PASS	ADP=23;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:129:26:23:0:23:100%:1.2146E-13:0:28:0:0:11:12
+gi|9626243|ref|NC_001416.1|	26728	.	A	T	.	PASS	ADP=24;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:135:25:24:0:24:100%:3.101E-14:0:26:0:0:12:12
+gi|9626243|ref|NC_001416.1|	27412	.	C	G	.	PASS	ADP=13;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:70:15:13:0:13:100%:9.6148E-8:0:25:0:0:5:8
+gi|9626243|ref|NC_001416.1|	27834	.	C	A	.	PASS	ADP=15;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:76:16:15:0:14:100%:2.4927E-8:0:23:0:0:9:5
+gi|9626243|ref|NC_001416.1|	29435	.	T	A	.	PASS	ADP=13;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:70:18:13:0:13:100%:9.6148E-8:0:28:0:0:6:7
+gi|9626243|ref|NC_001416.1|	30757	.	T	A	.	PASS	ADP=20;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:111:24:20:0:20:100%:7.2544E-12:0:28:0:0:7:13
+gi|9626243|ref|NC_001416.1|	30890	.	G	A	.	PASS	ADP=17;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:87:18:17:0:16:100%:1.6637E-9:0:26:0:0:7:9
+gi|9626243|ref|NC_001416.1|	31328	.	G	C	.	PASS	ADP=20;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:111:21:20:0:20:100%:7.2544E-12:0:27:0:0:9:11
+gi|9626243|ref|NC_001416.1|	32660	.	C	A	.	PASS	ADP=16;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:87:17:16:0:16:100%:1.6637E-9:0:25:0:0:10:6
+gi|9626243|ref|NC_001416.1|	33865	.	T	G	.	PASS	ADP=26;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:146:28:26:0:26:100%:2.0165E-15:0:27:0:0:13:13
+gi|9626243|ref|NC_001416.1|	35802	.	G	C	.	PASS	ADP=25;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:141:28:25:0:25:100%:7.9107E-15:0:24:0:0:11:14
+gi|9626243|ref|NC_001416.1|	36169	.	G	C	.	PASS	ADP=13;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:70:15:13:0:13:100%:9.6148E-8:0:26:0:0:4:9
+gi|9626243|ref|NC_001416.1|	37519	.	G	C	.	PASS	ADP=13;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:70:13:13:0:13:100%:9.6148E-8:0:30:0:0:6:7
+gi|9626243|ref|NC_001416.1|	37898	.	C	G	.	PASS	ADP=24;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:135:27:24:0:24:100%:3.101E-14:0:26:0:0:8:16
+gi|9626243|ref|NC_001416.1|	38073	.	A	C	.	PASS	ADP=24;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:129:25:24:0:23:100%:1.2146E-13:0:25:0:0:17:6
+gi|9626243|ref|NC_001416.1|	39003	.	T	C	.	PASS	ADP=16;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:87:17:16:0:16:100%:1.6637E-9:0:25:0:0:8:8
+gi|9626243|ref|NC_001416.1|	41448	.	A	G	.	PASS	ADP=19;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:105:21:19:0:19:100%:2.8292E-11:0:23:0:0:7:12
+gi|9626243|ref|NC_001416.1|	46842	.	G	C	.	PASS	ADP=26;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:141:28:26:0:25:100%:7.9107E-15:0:26:0:0:16:9
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/input4.vcf	Fri Oct 13 14:20:19 2023 +0000
@@ -0,0 +1,62 @@
+##fileformat=VCFv4.1
+##source=VarScan2
+##INFO=<ID=ADP,Number=1,Type=Integer,Description="Average per-sample depth of bases with Phred score >= 15">
+##INFO=<ID=WT,Number=1,Type=Integer,Description="Number of samples called reference (wild-type)">
+##INFO=<ID=HET,Number=1,Type=Integer,Description="Number of samples called heterozygous-variant">
+##INFO=<ID=HOM,Number=1,Type=Integer,Description="Number of samples called homozygous-variant">
+##INFO=<ID=NC,Number=1,Type=Integer,Description="Number of samples not called">
+##FILTER=<ID=str10,Description="Less than 10% or more than 90% of variant supporting reads on one strand">
+##FILTER=<ID=indelError,Description="Likely artifact due to indel reads at this position">
+##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
+##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality">
+##FORMAT=<ID=SDP,Number=1,Type=Integer,Description="Raw Read Depth as reported by SAMtools">
+##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Quality Read Depth of bases with Phred score >= 15">
+##FORMAT=<ID=RD,Number=1,Type=Integer,Description="Depth of reference-supporting bases (reads1)">
+##FORMAT=<ID=AD,Number=1,Type=Integer,Description="Depth of variant-supporting bases (reads2)">
+##FORMAT=<ID=FREQ,Number=1,Type=String,Description="Variant allele frequency">
+##FORMAT=<ID=PVAL,Number=1,Type=String,Description="P-value from Fisher's Exact Test">
+##FORMAT=<ID=RBQ,Number=1,Type=Integer,Description="Average quality of reference-supporting bases (qual1)">
+##FORMAT=<ID=ABQ,Number=1,Type=Integer,Description="Average quality of variant-supporting bases (qual2)">
+##FORMAT=<ID=RDF,Number=1,Type=Integer,Description="Depth of reference-supporting bases on forward strand (reads1plus)">
+##FORMAT=<ID=RDR,Number=1,Type=Integer,Description="Depth of reference-supporting bases on reverse strand (reads1minus)">
+##FORMAT=<ID=ADF,Number=1,Type=Integer,Description="Depth of variant-supporting bases on forward strand (reads2plus)">
+##FORMAT=<ID=ADR,Number=1,Type=Integer,Description="Depth of variant-supporting bases on reverse strand (reads2minus)">
+#CHROM	POS	ID	REF	ALT	QUAL	FILTER	INFO	FORMAT	Sample1
+gi|9626243|ref|NC_001416.1|	550	.	G	A	.	PASS	ADP=23;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:129:26:23:0:23:100%:1.2146E-13:0:27:0:0:14:9
+gi|9626243|ref|NC_001416.1|	586	.	C	G	.	PASS	ADP=25;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:129:27:25:0:23:100%:1.2146E-13:0:27:0:0:16:7
+gi|9626243|ref|NC_001416.1|	1019	.	C	T	.	PASS	ADP=20;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:111:22:20:0:20:100%:7.2544E-12:0:25:0:0:7:13
+gi|9626243|ref|NC_001416.1|	1620	.	G	A	.	PASS	ADP=17;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:93:19:17:0:17:100%:4.2852E-10:0:26:0:0:7:10
+gi|9626243|ref|NC_001416.1|	1650	.	G	C	.	PASS	ADP=25;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:141:26:25:0:25:100%:7.9107E-15:0:26:0:0:10:15
+gi|9626243|ref|NC_001416.1|	1788	.	A	T	.	PASS	ADP=16;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:87:16:16:0:16:100%:1.6637E-9:0:26:0:0:9:7
+gi|9626243|ref|NC_001416.1|	2452	.	A	T	.	PASS	ADP=21;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:103:23:21:1:20:95.24%:4.0873E-11:33:27:1:0:13:7
+gi|9626243|ref|NC_001416.1|	3063	.	G	A	.	PASS	ADP=20;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:105:22:20:0:19:100%:2.8292E-11:0:28:0:0:9:10
+gi|9626243|ref|NC_001416.1|	5818	.	G	T	.	PASS	ADP=22;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:117:23:22:0:21:95.45%:1.8578E-12:0:25:0:0:10:11
+gi|9626243|ref|NC_001416.1|	6296	.	T	A	.	PASS	ADP=24;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:129:26:24:0:23:100%:1.2146E-13:0:28:0:0:12:11
+gi|9626243|ref|NC_001416.1|	8938	.	T	A	.	PASS	ADP=29;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:164:29:29:0:29:100%:3.3259E-17:0:23:0:0:17:12
+gi|9626243|ref|NC_001416.1|	9234	.	C	T	.	PASS	ADP=19;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:105:21:19:0:19:100%:2.8292E-11:0:26:0:0:9:10
+gi|9626243|ref|NC_001416.1|	10421	.	G	T	.	PASS	ADP=17;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:93:18:17:0:17:100%:4.2852E-10:0:28:0:0:7:10
+gi|9626243|ref|NC_001416.1|	10568	.	C	T	.	PASS	ADP=20;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:111:21:20:0:20:100%:7.2544E-12:0:28:0:0:10:10
+gi|9626243|ref|NC_001416.1|	11128	.	T	A	.	PASS	ADP=24;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:135:25:24:0:24:100%:3.101E-14:0:28:0:0:10:14
+gi|9626243|ref|NC_001416.1|	12876	.	G	C	.	PASS	ADP=18;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:99:19:18:0:18:100%:1.1019E-10:0:26:0:0:7:11
+gi|9626243|ref|NC_001416.1|	13647	.	C	T	.	PASS	ADP=15;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:81:17:15:0:15:100%:6.4467E-9:0:26:0:0:9:6
+gi|9626243|ref|NC_001416.1|	18188	.	T	C	.	PASS	ADP=25;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:141:31:25:0:25:100%:7.9107E-15:0:23:0:0:14:11
+gi|9626243|ref|NC_001416.1|	18210	.	C	G	.	PASS	ADP=27;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:152:29:27:0:27:100%:5.1363E-16:0:24:0:0:14:13
+gi|9626243|ref|NC_001416.1|	22357	.	G	A	.	PASS	ADP=21;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:117:21:21:0:21:100%:1.8578E-12:0:25:0:0:11:10
+gi|9626243|ref|NC_001416.1|	24043	.	C	A	.	PASS	ADP=15;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:81:15:15:0:15:100%:6.4467E-9:0:27:0:0:7:8
+gi|9626243|ref|NC_001416.1|	26972	.	A	T	.	PASS	ADP=21;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:103:22:21:1:20:95.24%:4.0873E-11:35:26:1:0:11:9
+gi|9626243|ref|NC_001416.1|	27539	.	A	C	.	PASS	ADP=11;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:58:11:11:0:11:100%:1.4176E-6:0:30:0:0:5:6
+gi|9626243|ref|NC_001416.1|	27722	.	C	A	.	PASS	ADP=25;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:141:26:25:0:25:100%:7.9107E-15:0:24:0:0:15:10
+gi|9626243|ref|NC_001416.1|	27825	.	A	G	.	PASS	ADP=20;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:111:22:20:0:20:100%:7.2544E-12:0:27:0:0:13:7
+gi|9626243|ref|NC_001416.1|	29265	.	T	C	.	PASS	ADP=24;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:129:28:24:0:23:100%:1.2146E-13:0:26:0:0:7:16
+gi|9626243|ref|NC_001416.1|	31363	.	C	G	.	PASS	ADP=8;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:41:9:8:0:8:100%:7.77E-5:0:27:0:0:7:1
+gi|9626243|ref|NC_001416.1|	33612	.	C	A	.	PASS	ADP=18;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:93:19:18:0:17:100%:4.2852E-10:0:25:0:0:7:10
+gi|9626243|ref|NC_001416.1|	36642	.	T	C	.	PASS	ADP=15;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:81:17:15:0:15:100%:6.4467E-9:0:28:0:0:2:13
+gi|9626243|ref|NC_001416.1|	37387	.	A	T	.	PASS	ADP=14;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:76:15:14:0:14:100%:2.4927E-8:0:27:0:0:7:7
+gi|9626243|ref|NC_001416.1|	40835	.	T	C	.	PASS	ADP=21;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:117:25:21:0:21:100%:1.8578E-12:0:27:0:0:14:7
+gi|9626243|ref|NC_001416.1|	40984	.	A	G	.	PASS	ADP=22;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:117:22:22:0:21:100%:1.8578E-12:0:24:0:0:12:9
+gi|9626243|ref|NC_001416.1|	41064	.	T	G	.	PASS	ADP=19;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:99:22:19:0:18:94.74%:1.1019E-10:0:25:0:0:7:11
+gi|9626243|ref|NC_001416.1|	41954	.	T	C	.	PASS	ADP=22;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:123:23:22:0:22:100%:4.7526E-13:0:27:0:0:10:12
+gi|9626243|ref|NC_001416.1|	44201	.	G	C	.	PASS	ADP=22;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:117:25:22:0:21:100%:1.8578E-12:0:27:0:0:14:7
+gi|9626243|ref|NC_001416.1|	45409	.	C	G	.	PASS	ADP=21;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:117:21:21:0:21:100%:1.8578E-12:0:26:0:0:8:13
+gi|9626243|ref|NC_001416.1|	46283	.	C	G	.	PASS	ADP=20;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:111:22:20:0:20:100%:7.2544E-12:0:28:0:0:10:10
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.tabular	Fri Oct 13 14:20:19 2023 +0000
@@ -0,0 +1,165 @@
+gi|9626243|ref|NC_001416.1|	403	1	input1
+gi|9626243|ref|NC_001416.1|	550	1	input4
+gi|9626243|ref|NC_001416.1|	586	1	input4
+gi|9626243|ref|NC_001416.1|	753	1	input1
+gi|9626243|ref|NC_001416.1|	1019	1	input4
+gi|9626243|ref|NC_001416.1|	1079	1	input1
+gi|9626243|ref|NC_001416.1|	1540	1	input1
+gi|9626243|ref|NC_001416.1|	1620	1	input4
+gi|9626243|ref|NC_001416.1|	1650	1	input4
+gi|9626243|ref|NC_001416.1|	1788	1	input4
+gi|9626243|ref|NC_001416.1|	1804	1	input1
+gi|9626243|ref|NC_001416.1|	2123	1	input1
+gi|9626243|ref|NC_001416.1|	2439	1	input3
+gi|9626243|ref|NC_001416.1|	2452	1	input4
+gi|9626243|ref|NC_001416.1|	2599	1	input2
+gi|9626243|ref|NC_001416.1|	3063	1	input4
+gi|9626243|ref|NC_001416.1|	3351	1	input1
+gi|9626243|ref|NC_001416.1|	3648	1	input3
+gi|9626243|ref|NC_001416.1|	3656	1	input1
+gi|9626243|ref|NC_001416.1|	3678	1	input2
+gi|9626243|ref|NC_001416.1|	4977	1	input1
+gi|9626243|ref|NC_001416.1|	5142	1	input2
+gi|9626243|ref|NC_001416.1|	5336	1	input2
+gi|9626243|ref|NC_001416.1|	5462	1	input3
+gi|9626243|ref|NC_001416.1|	5482	1	input1
+gi|9626243|ref|NC_001416.1|	5516	1	input1
+gi|9626243|ref|NC_001416.1|	5800	1	input1
+gi|9626243|ref|NC_001416.1|	5818	1	input4
+gi|9626243|ref|NC_001416.1|	5994	1	input2
+gi|9626243|ref|NC_001416.1|	6296	1	input4
+gi|9626243|ref|NC_001416.1|	6535	1	input2
+gi|9626243|ref|NC_001416.1|	6824	1	input1
+gi|9626243|ref|NC_001416.1|	7424	1	input2
+gi|9626243|ref|NC_001416.1|	7668	1	input3
+gi|9626243|ref|NC_001416.1|	7897	1	input1
+gi|9626243|ref|NC_001416.1|	8420	1	input3
+gi|9626243|ref|NC_001416.1|	8938	1	input4
+gi|9626243|ref|NC_001416.1|	9175	1	input1
+gi|9626243|ref|NC_001416.1|	9234	1	input4
+gi|9626243|ref|NC_001416.1|	9919	1	input3
+gi|9626243|ref|NC_001416.1|	10127	1	input2
+gi|9626243|ref|NC_001416.1|	10264	1	input3
+gi|9626243|ref|NC_001416.1|	10421	1	input4
+gi|9626243|ref|NC_001416.1|	10568	1	input4
+gi|9626243|ref|NC_001416.1|	11066	1	input3
+gi|9626243|ref|NC_001416.1|	11128	1	input4
+gi|9626243|ref|NC_001416.1|	11782	1	input2
+gi|9626243|ref|NC_001416.1|	12070	1	input3
+gi|9626243|ref|NC_001416.1|	12717	1	input1
+gi|9626243|ref|NC_001416.1|	12795	1	input1
+gi|9626243|ref|NC_001416.1|	12876	1	input4
+gi|9626243|ref|NC_001416.1|	12959	1	input1
+gi|9626243|ref|NC_001416.1|	12970	1	input3
+gi|9626243|ref|NC_001416.1|	13107	1	input3
+gi|9626243|ref|NC_001416.1|	13264	1	input2
+gi|9626243|ref|NC_001416.1|	13542	1	input2
+gi|9626243|ref|NC_001416.1|	13647	1	input4
+gi|9626243|ref|NC_001416.1|	13952	1	input2
+gi|9626243|ref|NC_001416.1|	13971	1	input3
+gi|9626243|ref|NC_001416.1|	15384	1	input3
+gi|9626243|ref|NC_001416.1|	15715	1	input2
+gi|9626243|ref|NC_001416.1|	15967	1	input2
+gi|9626243|ref|NC_001416.1|	16070	1	input3
+gi|9626243|ref|NC_001416.1|	16654	1	input1
+gi|9626243|ref|NC_001416.1|	16715	1	input1
+gi|9626243|ref|NC_001416.1|	17142	1	input2
+gi|9626243|ref|NC_001416.1|	17311	1	input2
+gi|9626243|ref|NC_001416.1|	17854	1	input2
+gi|9626243|ref|NC_001416.1|	18151	1	input3
+gi|9626243|ref|NC_001416.1|	18188	1	input4
+gi|9626243|ref|NC_001416.1|	18210	1	input4
+gi|9626243|ref|NC_001416.1|	18420	1	input2
+gi|9626243|ref|NC_001416.1|	18598	1	input1
+gi|9626243|ref|NC_001416.1|	18652	1	input2
+gi|9626243|ref|NC_001416.1|	18989	1	input3
+gi|9626243|ref|NC_001416.1|	19208	1	input2
+gi|9626243|ref|NC_001416.1|	19448	1	input3
+gi|9626243|ref|NC_001416.1|	19469	1	input1
+gi|9626243|ref|NC_001416.1|	20079	1	input3
+gi|9626243|ref|NC_001416.1|	20099	1	input1
+gi|9626243|ref|NC_001416.1|	20289	1	input3
+gi|9626243|ref|NC_001416.1|	20367	1	input2
+gi|9626243|ref|NC_001416.1|	21110	1	input1
+gi|9626243|ref|NC_001416.1|	21320	1	input2
+gi|9626243|ref|NC_001416.1|	21653	1	input3
+gi|9626243|ref|NC_001416.1|	22220	1	input2
+gi|9626243|ref|NC_001416.1|	22357	1	input4
+gi|9626243|ref|NC_001416.1|	22747	1	input2
+gi|9626243|ref|NC_001416.1|	23362	1	input1
+gi|9626243|ref|NC_001416.1|	23457	1	input2
+gi|9626243|ref|NC_001416.1|	24043	1	input4
+gi|9626243|ref|NC_001416.1|	24319	1	input1
+gi|9626243|ref|NC_001416.1|	24766	1	input1
+gi|9626243|ref|NC_001416.1|	24930	1	input3
+gi|9626243|ref|NC_001416.1|	25005	1	input2
+gi|9626243|ref|NC_001416.1|	25158	1	input2
+gi|9626243|ref|NC_001416.1|	25645	1	input2
+gi|9626243|ref|NC_001416.1|	26173	1	input2
+gi|9626243|ref|NC_001416.1|	26728	1	input3
+gi|9626243|ref|NC_001416.1|	26972	1	input4
+gi|9626243|ref|NC_001416.1|	27412	1	input3
+gi|9626243|ref|NC_001416.1|	27539	1	input4
+gi|9626243|ref|NC_001416.1|	27661	1	input2
+gi|9626243|ref|NC_001416.1|	27722	1	input4
+gi|9626243|ref|NC_001416.1|	27790	1	input1
+gi|9626243|ref|NC_001416.1|	27825	1	input4
+gi|9626243|ref|NC_001416.1|	27834	1	input3
+gi|9626243|ref|NC_001416.1|	28045	1	input2
+gi|9626243|ref|NC_001416.1|	28362	1	input2
+gi|9626243|ref|NC_001416.1|	29265	1	input4
+gi|9626243|ref|NC_001416.1|	29411	1	input2
+gi|9626243|ref|NC_001416.1|	29435	1	input3
+gi|9626243|ref|NC_001416.1|	29891	1	input1
+gi|9626243|ref|NC_001416.1|	30125	1	input2
+gi|9626243|ref|NC_001416.1|	30757	1	input3
+gi|9626243|ref|NC_001416.1|	30890	1	input3
+gi|9626243|ref|NC_001416.1|	31328	1	input3
+gi|9626243|ref|NC_001416.1|	31363	1	input4
+gi|9626243|ref|NC_001416.1|	31551	1	input1
+gi|9626243|ref|NC_001416.1|	32086	1	input1
+gi|9626243|ref|NC_001416.1|	32660	1	input3
+gi|9626243|ref|NC_001416.1|	33000	1	input1
+gi|9626243|ref|NC_001416.1|	33591	1	input1
+gi|9626243|ref|NC_001416.1|	33612	1	input4
+gi|9626243|ref|NC_001416.1|	33865	1	input3
+gi|9626243|ref|NC_001416.1|	34137	1	input2
+gi|9626243|ref|NC_001416.1|	34370	1	input1
+gi|9626243|ref|NC_001416.1|	34812	1	input1
+gi|9626243|ref|NC_001416.1|	34920	1	input1
+gi|9626243|ref|NC_001416.1|	35148	1	input1
+gi|9626243|ref|NC_001416.1|	35802	1	input3
+gi|9626243|ref|NC_001416.1|	35907	1	input2
+gi|9626243|ref|NC_001416.1|	36010	1	input1
+gi|9626243|ref|NC_001416.1|	36169	1	input3
+gi|9626243|ref|NC_001416.1|	36642	1	input4
+gi|9626243|ref|NC_001416.1|	37208	1	input1
+gi|9626243|ref|NC_001416.1|	37387	1	input4
+gi|9626243|ref|NC_001416.1|	37519	1	input3
+gi|9626243|ref|NC_001416.1|	37898	1	input3
+gi|9626243|ref|NC_001416.1|	38073	1	input3
+gi|9626243|ref|NC_001416.1|	38165	1	input1
+gi|9626243|ref|NC_001416.1|	38575	1	input2
+gi|9626243|ref|NC_001416.1|	39003	1	input3
+gi|9626243|ref|NC_001416.1|	39206	1	input2
+gi|9626243|ref|NC_001416.1|	39484	1	input2
+gi|9626243|ref|NC_001416.1|	39485	1	input1
+gi|9626243|ref|NC_001416.1|	40457	1	input1
+gi|9626243|ref|NC_001416.1|	40835	1	input4
+gi|9626243|ref|NC_001416.1|	40984	1	input4
+gi|9626243|ref|NC_001416.1|	41064	1	input4
+gi|9626243|ref|NC_001416.1|	41448	1	input3
+gi|9626243|ref|NC_001416.1|	41954	1	input4
+gi|9626243|ref|NC_001416.1|	42439	1	input1
+gi|9626243|ref|NC_001416.1|	43306	1	input1
+gi|9626243|ref|NC_001416.1|	43470	1	input2
+gi|9626243|ref|NC_001416.1|	44134	1	input2
+gi|9626243|ref|NC_001416.1|	44201	1	input4
+gi|9626243|ref|NC_001416.1|	44413	1	input2
+gi|9626243|ref|NC_001416.1|	45364	1	input2
+gi|9626243|ref|NC_001416.1|	45409	1	input4
+gi|9626243|ref|NC_001416.1|	46237	1	input1
+gi|9626243|ref|NC_001416.1|	46283	1	input4
+gi|9626243|ref|NC_001416.1|	46842	1	input3
+gi|9626243|ref|NC_001416.1|	47425	1	input2
+gi|9626243|ref|NC_001416.1|	47893	1	input1