pub fn process_vcf(
file: &Path,
reference_path: &Path,
chr: String,
region: ZeroBasedHalfOpen,
min_gq: u16,
mask_regions: Option<Arc<HashMap<String, Vec<(i64, i64)>>>>,
allow_regions: Option<Arc<HashMap<String, Vec<(i64, i64)>>>>,
position_allele_map: Arc<Mutex<HashMap<i64, (char, char)>>>,
) -> Result<(Vec<Variant>, Vec<usize>, Vec<String>, i64, MissingDataInfo, FilteringStats), VcfError>