Minimac4
Loading...
Searching...
No Matches
imputation.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <cstdio>
4#include <iostream>
5#include <ctime>
6#include <unistd.h>
7#include <fstream>
8#include <ostream>
9
10#include "prog_args.hpp"
11#include "input_prep.hpp"
13#include "recombination.hpp"
14#include "dosage_writer.hpp"
15
16#include <savvy/reader.hpp>
17#include <savvy/writer.hpp>
18#include <omp.hpp>
19
33{
34 private:
38 long total_input_time_ = 0;
39
43 long total_output_time_ = 0;
44
48 long total_impute_time_ = 0;
49 private:
55 double record_input_time(double diff) { total_input_time_ += diff; return diff; }
56
62 double record_output_time(double diff) { total_output_time_ += diff; return diff; }
63
69 double record_impute_time(double diff) { total_impute_time_ += diff; return diff; }
70 public:
75 long total_input_time() const { return total_input_time_; }
76
81 long total_output_time() const { return total_output_time_; }
82
87 long total_impute_time() const { return total_impute_time_; }
88
122 bool impute_chunk(const savvy::region& impute_region, const prog_args& args, omp::internal::thread_pool2& tpool, dosage_writer& output);
123};
Handles writing genotype and dosage data to VCF/BCF/SAV files.
Definition dosage_writer.hpp:25
Class responsible for managing genotype imputation statistics and timing.
Definition imputation.hpp:33
bool impute_chunk(const savvy::region &impute_region, const prog_args &args, omp::internal::thread_pool2 &tpool, dosage_writer &output)
Perform genotype imputation for a given genomic region.
Definition imputation.cpp:3
long total_input_time() const
Get the total accumulated input time.
Definition imputation.hpp:75
long total_output_time() const
Get the total accumulated output time.
Definition imputation.hpp:81
long total_impute_time() const
Get the total accumulated imputation time.
Definition imputation.hpp:87
Stores and manages program arguments for Minimac4.
Definition prog_args.hpp:23