diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..de186e4282a594910fc66d2efdc374fd661c00fe
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,46 @@
+variables:
+  GIT_SUBMODULE_STRATEGY: recursive
+
+.before_script_anchor: &before_script_anchor
+  before_script:
+    - pip3 install pytest-workflow
+
+.slurm_before_script_anchor: &slurm_before_script_anchor
+  before_script:
+    - export BASETEMP=$RUN_BASE_DIR/$CI_COMMIT_REF_NAME/$CI_JOB_ID
+    - source ${CONDA_SH}
+    - conda activate vcf-to-varda
+    - export PATH=${PATH}:${SINGULARITY_PATH}
+    - echo $BASETEMP
+
+stages:
+  - sanity
+  - dry-run
+  - integration
+
+test-sanity:
+  <<: *before_script_anchor
+  script:
+    - pytest --keep-workflow-wd-on-fail --tag sanity
+  image: lumc/singularity-snakemake:3.5.2-5.15.0
+  tags:
+    - docker
+  stage: sanity
+
+test-dry-run:
+  <<: *before_script_anchor
+  script:
+    - pytest --keep-workflow-wd-on-fail --tag dry-run
+  image: lumc/singularity-snakemake:3.5.2-5.15.0
+  tags:
+    - docker
+  stage: dry-run
+
+test-integration:
+  <<: *slurm_before_script_anchor
+  script:
+    - pytest --keep-workflow-wd-on-fail --basetemp ${BASETEMP} --tag integration
+  image: lumc/singularity-snakemake:3.5.2-5.15.0
+  tags:
+    - slurm
+  stage: integration
diff --git a/test/config/config-GIAB-chrM.json b/test/config/config-GIAB-chrM.json
new file mode 100644
index 0000000000000000000000000000000000000000..79ed005b70a38522a41d689f59015da7ca2f3fe0
--- /dev/null
+++ b/test/config/config-GIAB-chrM.json
@@ -0,0 +1,9 @@
+{
+  "samples": {
+    "16699289": {
+      "disease_code": "TEST",
+      "gvcf": "test/data/16699289_chrM.g.vcf",
+      "vcf": "test/data/16699289_chrM.vcf"
+    }
+  }
+}
diff --git a/test/data/16699289_chrM.g.vcf b/test/data/16699289_chrM.g.vcf
new file mode 100644
index 0000000000000000000000000000000000000000..b5927f6e36a6bf558968bde41c8c8ea64134ea5a
--- /dev/null
+++ b/test/data/16699289_chrM.g.vcf
@@ -0,0 +1,133 @@
+##fileformat=VCFv4.2
+##ALT=<ID=NON_REF,Description="Represents any possible alternative allele at this location">
+##FILTER=<ID=LowQual,Description="Low quality">
+##FORMAT=<ID=AD,Number=R,Type=Integer,Description="Allelic depths for the ref and alt alleles in the order listed">
+##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Approximate read depth (reads with MQ=255 or with bad mates are filtered)">
+##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality">
+##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
+##FORMAT=<ID=MIN_DP,Number=1,Type=Integer,Description="Minimum DP observed within the GVCF block">
+##FORMAT=<ID=PGT,Number=1,Type=String,Description="Physical phasing haplotype information, describing how the alternate alleles are phased in relation to one another">
+##FORMAT=<ID=PID,Number=1,Type=String,Description="Physical phasing ID information, where each unique ID within a given sample (but not across samples) connects records within a phasing group">
+##FORMAT=<ID=PL,Number=G,Type=Integer,Description="Normalized, Phred-scaled likelihoods for genotypes as defined in the VCF specification">
+##FORMAT=<ID=SB,Number=4,Type=Integer,Description="Per-sample component statistics which comprise the Fisher's Exact Test to detect strand bias.">
+##INFO=<ID=BaseQRankSum,Number=1,Type=Float,Description="Z-score from Wilcoxon rank sum test of Alt Vs. Ref base qualities">
+##INFO=<ID=ClippingRankSum,Number=1,Type=Float,Description="Z-score From Wilcoxon rank sum test of Alt vs. Ref number of hard clipped bases">
+##INFO=<ID=DB,Number=0,Type=Flag,Description="dbSNP Membership">
+##INFO=<ID=DP,Number=1,Type=Integer,Description="Approximate read depth; some reads may have been filtered">
+##INFO=<ID=DS,Number=0,Type=Flag,Description="Were any of the samples downsampled?">
+##INFO=<ID=END,Number=1,Type=Integer,Description="Stop position of the interval">
+##INFO=<ID=ExcessHet,Number=1,Type=Float,Description="Phred-scaled p-value for exact test of excess heterozygosity">
+##INFO=<ID=HaplotypeScore,Number=1,Type=Float,Description="Consistency of the site with at most two segregating haplotypes">
+##INFO=<ID=InbreedingCoeff,Number=1,Type=Float,Description="Inbreeding coefficient as estimated from the genotype likelihoods per-sample when compared against the Hardy-Weinberg expectation">
+##INFO=<ID=MLEAC,Number=A,Type=Integer,Description="Maximum likelihood expectation (MLE) for the allele counts (not necessarily the same as the AC), for each ALT allele, in the same order as listed">
+##INFO=<ID=MLEAF,Number=A,Type=Float,Description="Maximum likelihood expectation (MLE) for the allele frequency (not necessarily the same as the AF), for each ALT allele, in the same order as listed">
+##INFO=<ID=MQ,Number=1,Type=Float,Description="RMS Mapping Quality">
+##INFO=<ID=MQRankSum,Number=1,Type=Float,Description="Z-score From Wilcoxon rank sum test of Alt vs. Ref read mapping qualities">
+##INFO=<ID=RAW_MQ,Number=1,Type=Float,Description="Raw data for RMS Mapping Quality">
+##INFO=<ID=ReadPosRankSum,Number=1,Type=Float,Description="Z-score from Wilcoxon rank sum test of Alt vs. Ref read position bias">
+##contig=<ID=chrM,length=16571,assembly=hg19>
+#CHROM	POS	ID	REF	ALT	QUAL	FILTER	INFO	FORMAT	16699289
+chrM	1	.	G	<NON_REF>	.	.	END=72	GT:DP:GQ:MIN_DP:PL	0/0:96:99:54:0,120,1800
+chrM	73	.	G	A,<NON_REF>	4062.77	.	DP=131;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=444604.00	GT:AD:DP:GQ:PL:SB	1/1:0,126,0:126:99:4091,378,0,4091,378,4091:0,0,66,60
+chrM	74	.	T	<NON_REF>	.	.	END=149	GT:DP:GQ:MIN_DP:PL	0/0:136:99:123:0,120,1800
+chrM	150	.	T	C,<NON_REF>	5149.77	.	DP=130;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=468000.00	GT:AD:DP:GQ:PGT:PID:PL:SB	1/1:0,117,0:117:99:0|1:150_T_C:5178,352,0,5178,352,5178:0,0,58,59
+chrM	151	.	C	<NON_REF>	.	.	END=151	GT:DP:GQ:MIN_DP:PL	0/0:122:99:122:0,120,1800
+chrM	152	rs117135796	T	C,<NON_REF>	5149.77	.	DB;DP=126;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=453600.00	GT:AD:DP:GQ:PGT:PID:PL:SB	1/1:0,113,0:113:99:0|1:150_T_C:5178,352,0,5178,352,5178:0,0,57,56
+chrM	153	.	A	<NON_REF>	.	.	END=194	GT:DP:GQ:MIN_DP:PL	0/0:101:99:93:0,120,1800
+chrM	195	.	C	T,<NON_REF>	2959.77	.	DP=98;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=352800.00	GT:AD:DP:GQ:PL:SB	1/1:0,82,0:82:99:2988,246,0,2988,246,2988:0,0,36,46
+chrM	196	.	T	<NON_REF>	.	.	END=301	GT:DP:GQ:MIN_DP:PL	0/0:80:99:47:0,114,1401
+chrM	302	.	A	<NON_REF>	.	.	END=303	GT:DP:GQ:MIN_DP:PL	0/0:50:85:49:0,85,1355
+chrM	304	.	C	<NON_REF>	.	.	END=310	GT:DP:GQ:MIN_DP:PL	0/0:53:99:51:0,108,1620
+chrM	311	.	T	<NON_REF>	.	.	END=311	GT:DP:GQ:MIN_DP:PL	0/0:42:97:42:0,97,1515
+chrM	312	.	C	<NON_REF>	.	.	END=409	GT:DP:GQ:MIN_DP:PL	0/0:75:99:47:0,103,1765
+chrM	410	.	A	T,<NON_REF>	3234.77	.	DP=101;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=361330.00	GT:AD:DP:GQ:PL:SB	1/1:0,99,0:99:99:3263,296,0,3263,296,3263:0,0,43,56
+chrM	411	.	G	<NON_REF>	.	.	END=2260	GT:DP:GQ:MIN_DP:PL	0/0:117:99:57:0,120,1800
+chrM	2261	.	C	T,<NON_REF>	2900.77	.	DP=97;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=349200.00	GT:AD:DP:GQ:PL:SB	1/1:0,93,0:93:99:2929,276,0,2929,276,2929:0,0,52,41
+chrM	2262	.	A	<NON_REF>	.	.	END=2353	GT:DP:GQ:MIN_DP:PL	0/0:105:99:88:0,120,1800
+chrM	2354	.	C	T,<NON_REF>	3755.77	.	DP=117;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=421200.00	GT:AD:DP:GQ:PL:SB	1/1:0,114,0:114:99:3784,341,0,3784,341,3784:0,0,66,48
+chrM	2355	.	A	<NON_REF>	.	.	END=2484	GT:DP:GQ:MIN_DP:PL	0/0:117:99:104:0,120,1800
+chrM	2485	.	C	T,<NON_REF>	4129.77	.	DP=121;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=435600.00	GT:AD:DP:GQ:PL:SB	1/1:0,121,0:121:99:4158,362,0,4158,362,4158:0,0,68,53
+chrM	2486	.	C	<NON_REF>	.	.	END=2707	GT:DP:GQ:MIN_DP:PL	0/0:143:99:116:0,120,1800
+chrM	2708	.	G	A,<NON_REF>	4474.77	.	DP=127;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=454834.00	GT:AD:DP:GQ:PL:SB	1/1:0,127,0:127:99:4503,381,0,4503,381,4503:0,0,61,66
+chrM	2709	.	A	<NON_REF>	.	.	END=3578	GT:DP:GQ:MIN_DP:PL	0/0:120:99:82:0,120,1800
+chrM	3579	.	T	<NON_REF>	.	.	END=3579	GT:DP:GQ:MIN_DP:PL	0/0:104:0:104:0,0,2184
+chrM	3580	.	A	<NON_REF>	.	.	END=3590	GT:DP:GQ:MIN_DP:PL	0/0:140:99:130:0,120,1800
+chrM	3591	.	T	<NON_REF>	.	.	END=3591	GT:DP:GQ:MIN_DP:PL	0/0:97:84:97:0,84,2695
+chrM	3592	.	G	<NON_REF>	.	.	END=4745	GT:DP:GQ:MIN_DP:PL	0/0:109:99:57:0,120,1800
+chrM	4746	.	A	G,<NON_REF>	2693.77	.	DP=82;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=172445.00	GT:AD:DP:GQ:PL:SB	1/1:0,81,0:81:99:2722,242,0,2722,242,2722:0,0,40,41
+chrM	4747	.	T	<NON_REF>	.	.	END=5580	GT:DP:GQ:MIN_DP:PL	0/0:123:99:74:0,120,1800
+chrM	5581	.	C	T,<NON_REF>	3091.77	.	DP=96;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=213064.00	GT:AD:DP:GQ:PL:SB	1/1:0,95,0:95:99:3120,285,0,3120,285,3120:0,0,53,42
+chrM	5582	.	A	<NON_REF>	.	.	END=7028	GT:DP:GQ:MIN_DP:PL	0/0:144:99:64:0,104,1800
+chrM	7029	.	T	C,<NON_REF>	3034.77	.	DP=94;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=161816.00	GT:AD:DP:GQ:PL:SB	1/1:0,94,0:94:99:3063,282,0,3063,282,3063:0,0,47,47
+chrM	7030	.	C	<NON_REF>	.	.	END=7337	GT:DP:GQ:MIN_DP:PL	0/0:123:99:81:0,120,1800
+chrM	7338	.	G	A,<NON_REF>	3647.77	.	DP=111;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=282778.00	GT:AD:DP:GQ:PL:SB	1/1:0,111,0:111:99:3676,333,0,3676,333,3676:0,0,51,60
+chrM	7339	.	A	<NON_REF>	.	.	END=8701	GT:DP:GQ:MIN_DP:PL	0/0:150:99:83:0,120,1800
+chrM	8702	.	G	A,<NON_REF>	55738.77	.	BaseQRankSum=-2.533;ClippingRankSum=0.000;DP=1455;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;MQRankSum=-0.857;RAW_MQ=4888503.00;ReadPosRankSum=-1.220	GT:AD:DP:GQ:PL:SB	1/1:3,1444,0:1447:99:55767,4213,0,55776,4330,55893:3,0,1352,92
+chrM	8703	.	C	<NON_REF>	.	.	END=9377	GT:DP:GQ:MIN_DP:PL	0/0:1504:99:438:0,120,1800
+chrM	9378	.	G	A,<NON_REF>	15302.77	.	BaseQRankSum=1.903;ClippingRankSum=0.000;DP=430;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;MQRankSum=-1.678;RAW_MQ=1088513.00;ReadPosRankSum=-0.842	GT:AD:DP:GQ:PL:SB	1/1:2,425,0:427:99:15331,1231,0,15337,1275,15380:1,1,114,311
+chrM	9379	.	T	<NON_REF>	.	.	END=9540	GT:DP:GQ:MIN_DP:PL	0/0:319:99:256:0,120,1800
+chrM	9541	.	C	T,<NON_REF>	7951.77	.	BaseQRankSum=-1.006;ClippingRankSum=0.000;DP=242;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;MQRankSum=0.000;RAW_MQ=869449.00;ReadPosRankSum=1.484	GT:AD:DP:GQ:PL:SB	1/1:1,238,0:239:99:7980,670,0,7983,708,8021:0,1,68,170
+chrM	9542	.	T	<NON_REF>	.	.	END=10398	GT:DP:GQ:MIN_DP:PL	0/0:121:99:81:0,120,1800
+chrM	10399	.	G	A,<NON_REF>	2937.77	.	DP=93;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=334800.00	GT:AD:DP:GQ:PL:SB	1/1:0,92,0:92:99:2966,275,0,2966,275,2966:0,0,51,41
+chrM	10400	.	C	<NON_REF>	.	.	END=10819	GT:DP:GQ:MIN_DP:PL	0/0:120:99:80:0,120,1800
+chrM	10820	.	G	A,<NON_REF>	3446.77	.	DP=114;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=401514.00	GT:AD:DP:GQ:PL:SB	1/1:0,111,0:111:99:3475,331,0,3475,331,3475:0,0,63,48
+chrM	10821	.	C	<NON_REF>	.	.	END=10873	GT:DP:GQ:MIN_DP:PL	0/0:110:99:99:0,120,1800
+chrM	10874	.	C	T,<NON_REF>	3100.77	.	DP=100;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=357320.00	GT:AD:DP:GQ:PL:SB	1/1:0,98,0:98:99:3129,292,0,3129,292,3129:0,0,48,50
+chrM	10875	.	C	<NON_REF>	.	.	END=11017	GT:DP:GQ:MIN_DP:PL	0/0:93:99:78:0,120,1800
+chrM	11018	.	C	T,<NON_REF>	2952.77	.	DP=90;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=316771.00	GT:AD:DP:GQ:PL:SB	1/1:0,89,0:89:99:2981,265,0,2981,265,2981:0,0,45,44
+chrM	11019	.	G	<NON_REF>	.	.	END=11719	GT:DP:GQ:MIN_DP:PL	0/0:142:99:91:0,120,1800
+chrM	11720	.	A	G,<NON_REF>	5996.77	.	DP=133;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=442009.00	GT:AD:DP:GQ:PGT:PID:PL:SB	1/1:0,133,0:133:99:0|1:11720_A_G:6025,412,0,6025,412,6025:0,0,68,65
+chrM	11721	.	C	<NON_REF>	.	.	END=11722	GT:DP:GQ:MIN_DP:PL	0/0:135:99:134:0,120,1800
+chrM	11723	.	C	T,<NON_REF>	5947.77	.	DP=132;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=438409.00	GT:AD:DP:GQ:PGT:PID:PL:SB	1/1:0,132,0:132:99:0|1:11720_A_G:5976,406,0,5976,406,5976:0,0,66,66
+chrM	11724	.	A	<NON_REF>	.	.	END=12705	GT:DP:GQ:MIN_DP:PL	0/0:111:99:73:0,120,1800
+chrM	12706	.	T	C,<NON_REF>	3690.77	.	DP=124;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=446400.00	GT:AD:DP:GQ:PL:SB	1/1:0,115,0:115:99:3719,343,0,3719,343,3719:0,0,62,53
+chrM	12707	.	T	<NON_REF>	.	.	END=12850	GT:DP:GQ:MIN_DP:PL	0/0:126:99:118:0,120,1800
+chrM	12851	.	G	A,<NON_REF>	3972.77	.	DP=128;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=460800.00	GT:AD:DP:GQ:PL:SB	1/1:0,128,0:128:99:4001,380,0,4001,380,4001:0,0,74,54
+chrM	12852	.	T	<NON_REF>	.	.	END=13326	GT:DP:GQ:MIN_DP:PL	0/0:148:99:120:0,120,1800
+chrM	13327	.	T	C,<NON_REF>	5000.77	.	DP=150;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=535069.00	GT:AD:DP:GQ:PL:SB	1/1:0,148,0:148:99:5029,445,0,5029,445,5029:0,0,66,82
+chrM	13328	.	A	<NON_REF>	.	.	END=13680	GT:DP:GQ:MIN_DP:PL	0/0:121:99:104:0,120,1800
+chrM	13681	.	C	T,<NON_REF>	3752.77	.	DP=123;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=442800.00	GT:AD:DP:GQ:PL:SB	1/1:0,121,0:121:99:3781,361,0,3781,361,3781:0,0,67,54
+chrM	13682	.	A	<NON_REF>	.	.	END=14212	GT:DP:GQ:MIN_DP:PL	0/0:100:99:75:0,120,1800
+chrM	14213	.	C	T,<NON_REF>	2504.77	.	DP=81;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=288097.00	GT:AD:DP:GQ:PL:SB	1/1:0,77,0:77:99:2533,231,0,2533,231,2533:0,0,39,38
+chrM	14214	.	A	<NON_REF>	.	.	END=14580	GT:DP:GQ:MIN_DP:PL	0/0:126:99:81:0,120,1800
+chrM	14581	.	G	A,<NON_REF>	2819.77	.	DP=90;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=323649.00	GT:AD:DP:GQ:PL:SB	1/1:0,88,0:88:99:2848,262,0,2848,262,2848:0,0,43,45
+chrM	14582	.	T	<NON_REF>	.	.	END=14766	GT:DP:GQ:MIN_DP:PL	0/0:77:99:66:0,120,1800
+chrM	14767	.	T	C,<NON_REF>	2914.77	.	DP=93;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=326448.00	GT:AD:DP:GQ:PL:SB	1/1:0,88,0:88:99:2943,264,0,2943,264,2943:0,0,54,34
+chrM	14768	.	T	<NON_REF>	.	.	END=14831	GT:DP:GQ:MIN_DP:PL	0/0:94:99:87:0,120,1800
+chrM	14832	.	G	A,<NON_REF>	3447.77	.	DP=111;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=397296.00	GT:AD:DP:GQ:PL:SB	1/1:0,108,0:108:99:3476,323,0,3476,323,3476:0,0,63,45
+chrM	14833	.	C	<NON_REF>	.	.	END=14872	GT:DP:GQ:MIN_DP:PL	0/0:119:99:113:0,120,1800
+chrM	14873	.	C	T,<NON_REF>	3719.77	.	DP=120;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=432000.00	GT:AD:DP:GQ:PL:SB	1/1:0,120,0:120:99:3748,358,0,3748,358,3748:0,0,64,56
+chrM	14874	.	C	<NON_REF>	.	.	END=14905	GT:DP:GQ:MIN_DP:PL	0/0:127:99:118:0,120,1800
+chrM	14906	.	A	G,<NON_REF>	4327.77	.	DP=127;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=452900.00	GT:AD:DP:GQ:PL:SB	1/1:0,127,0:127:99:4356,381,0,4356,381,4356:0,0,71,56
+chrM	14907	.	C	<NON_REF>	.	.	END=15301	GT:DP:GQ:MIN_DP:PL	0/0:113:99:90:0,120,1800
+chrM	15302	.	A	G,<NON_REF>	3502.77	.	DP=105;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=378000.00	GT:AD:DP:GQ:PL:SB	1/1:0,102,0:102:99:3531,306,0,3531,306,3531:0,0,48,54
+chrM	15303	.	C	<NON_REF>	.	.	END=15932	GT:DP:GQ:MIN_DP:PL	0/0:103:99:84:0,120,1800
+chrM	15933	.	C	T,<NON_REF>	3115.77	.	DP=97;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=349200.00	GT:AD:DP:GQ:PL:SB	1/1:0,94,0:94:99:3144,282,0,3144,282,3144:0,0,47,47
+chrM	15934	.	G	<NON_REF>	.	.	END=16023	GT:DP:GQ:MIN_DP:PL	0/0:100:99:94:0,120,1800
+chrM	16024	.	G	A,<NON_REF>	1312.77	.	BaseQRankSum=-2.823;ClippingRankSum=0.000;DP=111;ExcessHet=3.0103;MLEAC=1,0;MLEAF=0.500,0.00;MQRankSum=0.000;RAW_MQ=399600.00;ReadPosRankSum=0.794	GT:AD:DP:GQ:PL:SB	0/1:55,53,0:108:99:1341,0,1621,1506,1779,3285:32,23,23,30
+chrM	16025	.	T	<NON_REF>	.	.	END=16161	GT:DP:GQ:MIN_DP:PL	0/0:100:99:92:0,102,1530
+chrM	16162	.	T	<NON_REF>	.	.	END=16162	GT:DP:GQ:MIN_DP:PL	0/0:109:87:109:0,87,1305
+chrM	16163	.	A	<NON_REF>	.	.	END=16165	GT:DP:GQ:MIN_DP:PL	0/0:111:75:111:0,75,1125
+chrM	16166	.	A	<NON_REF>	.	.	END=16167	GT:DP:GQ:MIN_DP:PL	0/0:111:69:111:0,69,1035
+chrM	16168	.	C	<NON_REF>	.	.	END=16169	GT:DP:GQ:MIN_DP:PL	0/0:112:51:111:0,51,765
+chrM	16170	.	C	<NON_REF>	.	.	END=16170	GT:DP:GQ:MIN_DP:PL	0/0:114:45:114:0,45,675
+chrM	16171	.	A	<NON_REF>	.	.	END=16172	GT:DP:GQ:MIN_DP:PL	0/0:115:42:114:0,42,630
+chrM	16173	.	C	T,<NON_REF>	5037.77	.	DP=116;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=415798.00	GT:AD:DP:GQ:PGT:PID:PL:SB	1/1:0,109,0:109:99:0|1:16173_C_T:5066,343,0,5066,343,5066:0,0,54,55
+chrM	16174	.	C	<NON_REF>	.	.	END=16174	GT:DP:GQ:MIN_DP:PL	0/0:119:42:119:0,42,630
+chrM	16175	.	C	<NON_REF>	.	.	END=16175	GT:DP:GQ:MIN_DP:PL	0/0:120:33:120:0,33,495
+chrM	16176	.	A	<NON_REF>	.	.	END=16178	GT:DP:GQ:MIN_DP:PL	0/0:119:27:114:0,27,405
+chrM	16179	.	T	<NON_REF>	.	.	END=16179	GT:DP:GQ:MIN_DP:PL	0/0:116:24:116:0,24,360
+chrM	16180	.	C	<NON_REF>	.	.	END=16180	GT:DP:GQ:MIN_DP:PL	0/0:119:15:119:0,15,225
+chrM	16181	.	A	<NON_REF>	.	.	END=16182	GT:DP:GQ:MIN_DP:PL	0/0:119:3:119:0,3,45
+chrM	16183	.	AC	A,<NON_REF>	5020.73	.	DP=120;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=430198.00	GT:AD:DP:GQ:PGT:PID:PL:SB	1/1:0,113,0:113:99:0|1:16173_C_T:5058,340,0,5058,340,5058:0,0,56,57
+chrM	16185	.	C	A,<NON_REF>	5029.77	.	DP=119;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=426598.00	GT:AD:DP:GQ:PGT:PID:PL:SB	1/1:0,112,0:112:99:0|1:16173_C_T:5058,340,0,5058,340,5058:0,0,56,56
+chrM	16186	.	C	<NON_REF>	.	.	END=16190	GT:DP:GQ:MIN_DP:PL	0/0:113:99:112:0,120,1800
+chrM	16191	.	C	T,<NON_REF>	4831.77	.	DP=115;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=412198.00	GT:AD:DP:GQ:PGT:PID:PL:SB	1/1:0,108,0:108:99:0|1:16173_C_T:4860,328,0,4860,328,4860:0,0,56,52
+chrM	16192	.	C	<NON_REF>	.	.	END=16224	GT:DP:GQ:MIN_DP:PL	0/0:116:99:110:0,120,1800
+chrM	16225	.	T	C,<NON_REF>	3434.77	.	DP=117;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=419398.00	GT:AD:DP:GQ:PL:SB	1/1:0,110,0:110:99:3463,329,0,3463,329,3463:0,0,58,52
+chrM	16226	.	T	<NON_REF>	.	.	END=16321	GT:DP:GQ:MIN_DP:PL	0/0:117:99:107:0,120,1800
+chrM	16322	.	T	C,<NON_REF>	3589.77	.	DP=118;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;RAW_MQ=424800.00	GT:AD:DP:GQ:PL:SB	1/1:0,114,0:114:99:3618,340,0,3618,340,3618:0,0,56,58
+chrM	16323	.	C	<NON_REF>	.	.	END=16520	GT:DP:GQ:MIN_DP:PL	0/0:126:99:107:0,120,1800
+chrM	16521	.	C	T,<NON_REF>	4251.77	.	BaseQRankSum=1.212;ClippingRankSum=0.000;DP=149;ExcessHet=3.0103;MLEAC=2,0;MLEAF=1.00,0.00;MQRankSum=0.000;RAW_MQ=536400.00;ReadPosRankSum=3.064	GT:AD:DP:GQ:PL:SB	1/1:2,138,0:140:99:4280,371,0,4286,414,4330:1,1,71,67
+chrM	16522	.	C	<NON_REF>	.	.	END=16561	GT:DP:GQ:MIN_DP:PL	0/0:134:99:108:0,120,1800
+chrM	16562	.	C	<NON_REF>	.	.	END=16571	GT:DP:GQ:MIN_DP:PL	0/0:101:0:97:0,0,0
diff --git a/test/data/16699289_chrM.vcf b/test/data/16699289_chrM.vcf
new file mode 100644
index 0000000000000000000000000000000000000000..adb4c0fb547f638db8625390e38cb48b55b7e996
--- /dev/null
+++ b/test/data/16699289_chrM.vcf
@@ -0,0 +1,78 @@
+##fileformat=VCFv4.2
+##ALT=<ID=NON_REF,Description="Represents any possible alternative allele at this location">
+##FILTER=<ID=LowQual,Description="Low quality">
+##FORMAT=<ID=AD,Number=R,Type=Integer,Description="Allelic depths for the ref and alt alleles in the order listed">
+##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Approximate read depth (reads with MQ=255 or with bad mates are filtered)">
+##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality">
+##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
+##FORMAT=<ID=MIN_DP,Number=1,Type=Integer,Description="Minimum DP observed within the GVCF block">
+##FORMAT=<ID=PGT,Number=1,Type=String,Description="Physical phasing haplotype information, describing how the alternate alleles are phased in relation to one another">
+##FORMAT=<ID=PID,Number=1,Type=String,Description="Physical phasing ID information, where each unique ID within a given sample (but not across samples) connects records within a phasing group">
+##FORMAT=<ID=PL,Number=G,Type=Integer,Description="Normalized, Phred-scaled likelihoods for genotypes as defined in the VCF specification">
+##FORMAT=<ID=RGQ,Number=1,Type=Integer,Description="Unconditional reference genotype confidence, encoded as a phred quality -10*log10 p(genotype call is wrong)">
+##FORMAT=<ID=SB,Number=4,Type=Integer,Description="Per-sample component statistics which comprise the Fisher's Exact Test to detect strand bias.">
+##INFO=<ID=AC,Number=A,Type=Integer,Description="Allele count in genotypes, for each ALT allele, in the same order as listed">
+##INFO=<ID=AF,Number=A,Type=Float,Description="Allele Frequency, for each ALT allele, in the same order as listed">
+##INFO=<ID=AN,Number=1,Type=Integer,Description="Total number of alleles in called genotypes">
+##INFO=<ID=BaseQRankSum,Number=1,Type=Float,Description="Z-score from Wilcoxon rank sum test of Alt Vs. Ref base qualities">
+##INFO=<ID=ClippingRankSum,Number=1,Type=Float,Description="Z-score From Wilcoxon rank sum test of Alt vs. Ref number of hard clipped bases">
+##INFO=<ID=DB,Number=0,Type=Flag,Description="dbSNP Membership">
+##INFO=<ID=DP,Number=1,Type=Integer,Description="Approximate read depth; some reads may have been filtered">
+##INFO=<ID=DS,Number=0,Type=Flag,Description="Were any of the samples downsampled?">
+##INFO=<ID=END,Number=1,Type=Integer,Description="Stop position of the interval">
+##INFO=<ID=ExcessHet,Number=1,Type=Float,Description="Phred-scaled p-value for exact test of excess heterozygosity">
+##INFO=<ID=FS,Number=1,Type=Float,Description="Phred-scaled p-value using Fisher's exact test to detect strand bias">
+##INFO=<ID=HaplotypeScore,Number=1,Type=Float,Description="Consistency of the site with at most two segregating haplotypes">
+##INFO=<ID=InbreedingCoeff,Number=1,Type=Float,Description="Inbreeding coefficient as estimated from the genotype likelihoods per-sample when compared against the Hardy-Weinberg expectation">
+##INFO=<ID=MLEAC,Number=A,Type=Integer,Description="Maximum likelihood expectation (MLE) for the allele counts (not necessarily the same as the AC), for each ALT allele, in the same order as listed">
+##INFO=<ID=MLEAF,Number=A,Type=Float,Description="Maximum likelihood expectation (MLE) for the allele frequency (not necessarily the same as the AF), for each ALT allele, in the same order as listed">
+##INFO=<ID=MQ,Number=1,Type=Float,Description="RMS Mapping Quality">
+##INFO=<ID=MQRankSum,Number=1,Type=Float,Description="Z-score From Wilcoxon rank sum test of Alt vs. Ref read mapping qualities">
+##INFO=<ID=QD,Number=1,Type=Float,Description="Variant Confidence/Quality by Depth">
+##INFO=<ID=RAW_MQ,Number=1,Type=Float,Description="Raw data for RMS Mapping Quality">
+##INFO=<ID=ReadPosRankSum,Number=1,Type=Float,Description="Z-score from Wilcoxon rank sum test of Alt vs. Ref read position bias">
+##INFO=<ID=SOR,Number=1,Type=Float,Description="Symmetric Odds Ratio of 2x2 contingency table to detect strand bias">
+##contig=<ID=chrM,length=16571,assembly=hg19>
+#CHROM	POS	ID	REF	ALT	QUAL	FILTER	INFO	FORMAT	16699289
+chrM	73	.	G	A	4062.77	.	AC=2;AF=1.00;AN=2;DP=131;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=58.26;QD=32.24;SOR=0.791	GT:AD:DP:GQ:PL	1/1:0,126:126:99:4091,378,0
+chrM	150	.	T	C	5149.77	.	AC=2;AF=1.00;AN=2;DP=130;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=60.00;QD=34.24;SOR=0.710	GT:AD:DP:GQ:PGT:PID:PL	1/1:0,117:117:99:1|1:150_T_C:5178,352,0
+chrM	152	.	T	C	5149.77	.	AC=2;AF=1.00;AN=2;DP=126;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=60.00;QD=30.63;SOR=0.711	GT:AD:DP:GQ:PGT:PID:PL	1/1:0,113:113:99:1|1:150_T_C:5178,352,0
+chrM	195	.	C	T	2959.77	.	AC=2;AF=1.00;AN=2;DP=98;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=60.00;QD=29.09;SOR=0.961	GT:AD:DP:GQ:PL	1/1:0,82:82:99:2988,246,0
+chrM	410	.	A	T	3233.06	.	AC=2;AF=1.00;AN=2;DP=101;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=59.81;QD=32.66;SOR=0.985	GT:AD:DP:GQ:PL	1/1:0,99:99:99:3263,296,0
+chrM	2261	.	C	T	2900.77	.	AC=2;AF=1.00;AN=2;DP=97;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=60.00;QD=31.19;SOR=0.953	GT:AD:DP:GQ:PL	1/1:0,93:93:99:2929,276,0
+chrM	2354	.	C	T	3755.77	.	AC=2;AF=1.00;AN=2;DP=117;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=60.00;QD=32.95;SOR=1.054	GT:AD:DP:GQ:PL	1/1:0,114:114:99:3784,341,0
+chrM	2485	.	C	T	4129.77	.	AC=2;AF=1.00;AN=2;DP=121;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=60.00;QD=34.13;SOR=0.968	GT:AD:DP:GQ:PL	1/1:0,121:121:99:4158,362,0
+chrM	2708	.	G	A	4474.77	.	AC=2;AF=1.00;AN=2;DP=127;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=59.84;QD=32.93;SOR=0.774	GT:AD:DP:GQ:PL	1/1:0,127:127:99:4503,381,0
+chrM	4746	.	A	G	2693.77	.	AC=2;AF=1.00;AN=2;DP=82;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=45.86;QD=33.26;SOR=0.718	GT:AD:DP:GQ:PL	1/1:0,81:81:99:2722,242,0
+chrM	5581	.	C	T	3091.77	.	AC=2;AF=1.00;AN=2;DP=96;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=47.11;QD=32.54;SOR=0.947	GT:AD:DP:GQ:PL	1/1:0,95:95:99:3120,285,0
+chrM	7029	.	T	C	3034.77	.	AC=2;AF=1.00;AN=2;DP=94;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=41.49;QD=32.28;SOR=0.693	GT:AD:DP:GQ:PL	1/1:0,94:94:99:3063,282,0
+chrM	7338	.	G	A	3647.77	.	AC=2;AF=1.00;AN=2;DP=111;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=50.47;QD=32.86;SOR=0.865	GT:AD:DP:GQ:PL	1/1:0,111:111:99:3676,333,0
+chrM	8702	.	G	A	55738.77	.	AC=2;AF=1.00;AN=2;BaseQRankSum=-2.533e+00;ClippingRankSum=0.00;DP=1455;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=57.96;MQRankSum=-8.570e-01;QD=30.83;ReadPosRankSum=-1.220e+00;SOR=2.655	GT:AD:DP:GQ:PL	1/1:3,1444:1447:99:55767,4213,0
+chrM	9378	.	G	A	15302.77	.	AC=2;AF=1.00;AN=2;BaseQRankSum=1.90;ClippingRankSum=0.00;DP=430;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=50.31;MQRankSum=-1.678e+00;QD=29.67;ReadPosRankSum=-8.420e-01;SOR=2.124	GT:AD:DP:GQ:PL	1/1:2,425:427:99:15331,1231,0
+chrM	9541	.	C	T	7951.77	.	AC=2;AF=1.00;AN=2;BaseQRankSum=-1.006e+00;ClippingRankSum=0.00;DP=242;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=59.94;MQRankSum=0.00;QD=33.27;ReadPosRankSum=1.48;SOR=0.930	GT:AD:DP:GQ:PL	1/1:1,238:239:99:7980,670,0
+chrM	10399	.	G	A	2937.77	.	AC=2;AF=1.00;AN=2;DP=93;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=60.00;QD=31.93;SOR=0.929	GT:AD:DP:GQ:PL	1/1:0,92:92:99:2966,275,0
+chrM	10820	.	G	A	3446.77	.	AC=2;AF=1.00;AN=2;DP=114;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=59.35;QD=31.05;SOR=0.995	GT:AD:DP:GQ:PL	1/1:0,111:111:99:3475,331,0
+chrM	10874	.	C	T	3100.77	.	AC=2;AF=1.00;AN=2;DP=100;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=59.78;QD=31.64;SOR=0.734	GT:AD:DP:GQ:PL	1/1:0,98:98:99:3129,292,0
+chrM	11018	.	C	T	2952.77	.	AC=2;AF=1.00;AN=2;DP=90;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=59.33;QD=33.18;SOR=0.715	GT:AD:DP:GQ:PL	1/1:0,89:89:99:2981,265,0
+chrM	11720	.	A	G	5996.77	.	AC=2;AF=1.00;AN=2;DP=133;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=57.65;QD=34.04;SOR=0.739	GT:AD:DP:GQ:PGT:PID:PL	1/1:0,133:133:99:1|1:11720_A_G:6025,412,0
+chrM	11723	.	C	T	5947.77	.	AC=2;AF=1.00;AN=2;DP=132;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=57.63;QD=32.42;SOR=0.693	GT:AD:DP:GQ:PGT:PID:PL	1/1:0,132:132:99:1|1:11720_A_G:5976,406,0
+chrM	12706	.	T	C	3690.77	.	AC=2;AF=1.00;AN=2;DP=124;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=60.00;QD=32.09;SOR=0.859	GT:AD:DP:GQ:PL	1/1:0,115:115:99:3719,343,0
+chrM	12851	.	G	A	3972.77	.	AC=2;AF=1.00;AN=2;DP=128;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=60.00;QD=31.04;SOR=1.051	GT:AD:DP:GQ:PL	1/1:0,128:128:99:4001,380,0
+chrM	13327	.	T	C	5000.77	.	AC=2;AF=1.00;AN=2;DP=150;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=59.73;QD=33.79;SOR=0.930	GT:AD:DP:GQ:PL	1/1:0,148:148:99:5029,445,0
+chrM	13681	.	C	T	3752.77	.	AC=2;AF=1.00;AN=2;DP=123;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=60.00;QD=31.01;SOR=0.928	GT:AD:DP:GQ:PL	1/1:0,121:121:99:3781,361,0
+chrM	14213	.	C	T	2504.77	.	AC=2;AF=1.00;AN=2;DP=81;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=59.64;QD=32.53;SOR=0.719	GT:AD:DP:GQ:PL	1/1:0,77:77:99:2533,231,0
+chrM	14581	.	G	A	2819.77	.	AC=2;AF=1.00;AN=2;DP=90;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=59.97;QD=32.04;SOR=0.739	GT:AD:DP:GQ:PL	1/1:0,88:88:99:2848,262,0
+chrM	14767	.	T	C	2914.77	.	AC=2;AF=1.00;AN=2;DP=93;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=59.25;QD=33.12;SOR=1.244	GT:AD:DP:GQ:PL	1/1:0,88:88:99:2943,264,0
+chrM	14832	.	G	A	3447.77	.	AC=2;AF=1.00;AN=2;DP=111;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=59.83;QD=31.92;SOR=1.077	GT:AD:DP:GQ:PL	1/1:0,108:108:99:3476,323,0
+chrM	14873	.	C	T	3719.77	.	AC=2;AF=1.00;AN=2;DP=120;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=60.00;QD=31.00;SOR=0.833	GT:AD:DP:GQ:PL	1/1:0,120:120:99:3748,358,0
+chrM	14906	.	A	G	4327.77	.	AC=2;AF=1.00;AN=2;DP=127;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=59.72;QD=34.08;SOR=0.954	GT:AD:DP:GQ:PL	1/1:0,127:127:99:4356,381,0
+chrM	15302	.	A	G	3502.77	.	AC=2;AF=1.00;AN=2;DP=105;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=60.00;QD=34.34;SOR=0.815	GT:AD:DP:GQ:PL	1/1:0,102:102:99:3531,306,0
+chrM	15933	.	C	T	3115.77	.	AC=2;AF=1.00;AN=2;DP=97;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=60.00;QD=33.15;SOR=0.693	GT:AD:DP:GQ:PL	1/1:0,94:94:99:3144,282,0
+chrM	16024	.	G	A	1312.77	.	AC=1;AF=0.500;AN=2;BaseQRankSum=-2.823e+00;ClippingRankSum=0.00;DP=111;ExcessHet=3.0103;FS=7.507;MLEAC=1;MLEAF=0.500;MQ=60.00;MQRankSum=0.00;QD=12.16;ReadPosRankSum=0.794;SOR=0.787	GT:AD:DP:GQ:PL	0/1:55,53:108:99:1341,0,1621
+chrM	16173	.	C	T	5037.77	.	AC=2;AF=1.00;AN=2;DP=116;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=59.87;QD=37.76;SOR=0.711	GT:AD:DP:GQ:PGT:PID:PL	1/1:0,109:109:99:1|1:16173_C_T:5066,343,0
+chrM	16183	.	AC	A	5020.73	.	AC=2;AF=1.00;AN=2;DP=120;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=59.87;QD=27.64;SOR=0.711	GT:AD:DP:GQ:PGT:PID:PL	1/1:0,113:113:99:1|1:16173_C_T:5058,340,0
+chrM	16185	.	C	A	5029.77	.	AC=2;AF=1.00;AN=2;DP=119;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=59.87;QD=29.43;SOR=0.693	GT:AD:DP:GQ:PGT:PID:PL	1/1:0,112:112:99:1|1:16173_C_T:5058,340,0
+chrM	16191	.	C	T	4831.77	.	AC=2;AF=1.00;AN=2;DP=115;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=59.87;QD=30.09;SOR=0.769	GT:AD:DP:GQ:PGT:PID:PL	1/1:0,108:108:99:1|1:16173_C_T:4860,328,0
+chrM	16225	.	T	C	3434.77	.	AC=2;AF=1.00;AN=2;DP=117;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=59.87;QD=31.23;SOR=0.806	GT:AD:DP:GQ:PL	1/1:0,110:110:99:3463,329,0
+chrM	16322	.	T	C	3589.77	.	AC=2;AF=1.00;AN=2;DP=118;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=60.00;QD=31.49;SOR=0.728	GT:AD:DP:GQ:PL	1/1:0,114:114:99:3618,340,0
+chrM	16521	.	C	T	4251.77	.	AC=2;AF=1.00;AN=2;BaseQRankSum=1.21;ClippingRankSum=0.00;DP=149;ExcessHet=3.0103;FS=0.000;MLEAC=2;MLEAF=1.00;MQ=60.00;MQRankSum=0.00;QD=30.37;ReadPosRankSum=3.06;SOR=0.752	GT:AD:DP:GQ:PL	1/1:2,138:140:99:4280,371,0
diff --git a/test/test-dry-run.yml b/test/test-dry-run.yml
new file mode 100644
index 0000000000000000000000000000000000000000..8c4327821eb92aa76e7569db79f4b4d41966f108
--- /dev/null
+++ b/test/test-dry-run.yml
@@ -0,0 +1,11 @@
+- name: test-dry-run-GIAB-chrM
+  tags:
+    - dry-run
+  command: >
+    snakemake -n
+    --configfile test/config/config-GIAB-chrM.json
+    --use-singularity
+  stdout:
+    contains: 
+      - "Job counts:"
+
diff --git a/test/test-integration.yml b/test/test-integration.yml
new file mode 100644
index 0000000000000000000000000000000000000000..b4af988d67256ae33b1f80d0f3e58e4f79c92931
--- /dev/null
+++ b/test/test-integration.yml
@@ -0,0 +1,14 @@
+- name: test-integration-GIAB-chrM
+  tags:
+    - integration
+  command: >
+    snakemake
+    --configfile test/config/config-GIAB-chrM.json
+    --use-singularity
+    --singularity-args ' --containall --bind /tmp'
+    --cores 1
+    16699289_coverage.varda 16699289_variants.varda
+  files:
+    - path: 16699289_coverage.varda 
+    - path: 16699289_variants.varda
+
diff --git a/test/test-sanity.yml b/test/test-sanity.yml
new file mode 100644
index 0000000000000000000000000000000000000000..b7428cdc566f4fc8c31b0a4e5fc51321752449bd
--- /dev/null
+++ b/test/test-sanity.yml
@@ -0,0 +1,14 @@
+- name: test-sanity-singularity
+  tags:
+    - sanity
+  command: >
+    singularity --version
+  stdout:
+    contains:
+      - "singularity version 3"
+
+- name: test-sanity-snakemake
+  tags:
+    - sanity
+  command: >
+    snakemake --version