From 7762722f264adc402ea3b0f21923b18f072253ba Mon Sep 17 00:00:00 2001 From: xiangzhou Date: Mon, 22 Sep 2014 11:06:02 -0400 Subject: version 0.95alpha --- src/prdt.h | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 src/prdt.h (limited to 'src/prdt.h') diff --git a/src/prdt.h b/src/prdt.h new file mode 100644 index 0000000..8af2cee --- /dev/null +++ b/src/prdt.h @@ -0,0 +1,81 @@ +/* + Genome-wide Efficient Mixed Model Association (GEMMA) + Copyright (C) 2011 Xiang Zhou + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifndef __PRDT_H__ +#define __PRDT_H__ + + +#include +#include +#include +#include "gsl/gsl_vector.h" +#include "gsl/gsl_matrix.h" + +#ifdef FORCE_FLOAT +#include "param_float.h" +#else +#include "param.h" +#endif + +using namespace std; + +class PRDT { + +public: + // IO related parameters + size_t a_mode; + size_t d_pace; + + string file_bfile; + string file_geno; + string file_out; + string path_out; + + vector > indicator_pheno; + vector indicator_cvt; + vector indicator_idv; + vector snpInfo; + map mapRS2est; + + size_t n_ph; + size_t np_obs, np_miss; + size_t ns_total; + size_t ns_test; + + double time_eigen; + + // Main functions + void CopyFromParam (PARAM &cPar); + void CopyToParam (PARAM &cPar); + void WriteFiles (gsl_vector *y_prdt); + void WriteFiles (gsl_matrix *Y_full); + void AddBV (gsl_matrix *G, const gsl_vector *u_hat, gsl_vector *y_prdt); + void AnalyzeBimbam (gsl_vector *y_prdt); + void AnalyzePlink (gsl_vector *y_prdt); + void MvnormPrdt (const gsl_matrix *Y_hat, const gsl_matrix *H, gsl_matrix *Y_full); +}; + + +#endif + + + + + + + -- cgit v1.2.3