#ifndef __HFESTIMATOR_H_ #define __HFESTIMATOR_H_ #include #include "genotype.h" #include "family.h" class HFEstimator{ private: map hap_freq_table; // record haplotype frequencies map, double> geno_freq_table; int loci_num; int sample_size; double effect_size; // sum of all weights vector & fam_list; vector & geno_list; // unique observed genotype public: HFEstimator(vector & fam_list, vector & geno_list, map & hap_list, int size); void init_freq_table(); void reset_freq_table(map & hap_freq); void show_incom_geno_freq(); void show_hap_freq(); void show_geno_freq(); void update_hap_freq(); void update_geno_freq(); const map & get_hap_freq(){ return hap_freq_table; } void EM_Iteration(int index); int get_loci_num(){ return loci_num; } int get_sample_size(){ return sample_size; } ~HFEstimator(); }; #endif