aboutsummaryrefslogtreecommitdiff
path: root/src/vc.h
diff options
context:
space:
mode:
authorPeter Carbonetto2017-06-08 06:37:23 -0500
committerPeter Carbonetto2017-06-08 06:37:23 -0500
commit898770748aa87ad89a5ca10282141fae7f4cbbd5 (patch)
tree576a896936329ab29d09ea2da860ebefee420560 /src/vc.h
parent93a7a2adb03f61e80badf6a5004fa4850dbb7d48 (diff)
downloadpangemma-898770748aa87ad89a5ca10282141fae7f4cbbd5.tar.gz
Removed FORCE_FLOAT from vc.h, logistic.h.
Diffstat (limited to 'src/vc.h')
-rw-r--r--src/vc.h95
1 files changed, 57 insertions, 38 deletions
diff --git a/src/vc.h b/src/vc.h
index 3358433..43c6979 100644
--- a/src/vc.h
+++ b/src/vc.h
@@ -1,6 +1,6 @@
/*
- Genome-wide Efficient Mixed Model Association (GEMMA)
- Copyright (C) 2011 Xiang Zhou
+ Genome-wide Efficient Mixed Model Association (GEMMA)
+ Copyright (C) 2011-2017, 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
@@ -13,7 +13,7 @@
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 <http://www.gnu.org/licenses/>.
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __VC_H__
@@ -21,22 +21,12 @@
#include "gsl/gsl_vector.h"
#include "gsl/gsl_matrix.h"
-
-
-#ifdef FORCE_FLOAT
-#include "param_float.h"
-#include "io_float.h"
-#else
#include "param.h"
#include "io.h"
-#endif
using namespace std;
-
-
-class VC_PARAM
-{
+class VC_PARAM {
public:
const gsl_matrix *K;
@@ -50,14 +40,10 @@ public:
bool noconstrain;
};
-
-
-
-
class VC {
public:
- // IO related parameters
+ // IO-related parameters
size_t a_mode;
string file_cat;
string file_beta;
@@ -89,28 +75,61 @@ public:
double time_UtX;
double time_opt;
- // Main functions
+ // Main functions.
void CopyFromParam (PARAM &cPar);
void CopyToParam (PARAM &cPar);
- void WriteFile_qs (const gsl_vector *s_vec, const gsl_vector *q_vec, const gsl_vector *qvar_vec, const gsl_matrix *S_mat, const gsl_matrix *Svar_mat);
- void CalcVChe (const gsl_matrix *K, const gsl_matrix *W, const gsl_vector *y);
- void CalcVCreml (const bool noconstrain, const gsl_matrix *K, const gsl_matrix *W, const gsl_vector *y);
- void CalcVCacl (const gsl_matrix *K, const gsl_matrix *W, const gsl_vector *y);
+ void WriteFile_qs (const gsl_vector *s_vec, const gsl_vector *q_vec,
+ const gsl_vector *qvar_vec, const gsl_matrix *S_mat,
+ const gsl_matrix *Svar_mat);
+ void CalcVChe (const gsl_matrix *K, const gsl_matrix *W,
+ const gsl_vector *y);
+ void CalcVCreml (const bool noconstrain, const gsl_matrix *K,
+ const gsl_matrix *W, const gsl_vector *y);
+ void CalcVCacl (const gsl_matrix *K, const gsl_matrix *W,
+ const gsl_vector *y);
};
-void CalcVCss(const gsl_matrix *Vq, const gsl_matrix *S_mat, const gsl_matrix *Svar_mat, const gsl_vector *q_vec, const gsl_vector *s_vec, const double df, vector<double> &v_pve, vector<double> &v_se_pve, double &pve_total, double &se_pve_total, vector<double> &v_sigma2, vector<double> &v_se_sigma2, vector<double> &v_enrich, vector<double> &v_se_enrich);
-
-
-bool BimbamXwz (const string &file_geno, const int display_pace, vector<int> &indicator_idv, vector<int> &indicator_snp, const vector<size_t> &vec_cat, const gsl_vector *w, const gsl_vector *z, size_t ns_test, gsl_matrix *XWz);
-bool PlinkXwz (const string &file_bed, const int display_pace, vector<int> &indicator_idv, vector<int> &indicator_snp, const vector<size_t> &vec_cat, const gsl_vector *w, const gsl_vector *z, size_t ns_test, gsl_matrix *XWz);
-bool MFILEXwz (const size_t mfile_mode, const string &file_mfile, const int display_pace, vector<int> &indicator_idv, vector<vector<int> > &mindicator_snp, const vector<size_t> &vec_cat, const gsl_vector *w, const gsl_vector *z, gsl_matrix *XWz);
-
-bool BimbamXtXwz (const string &file_geno, const int display_pace, vector<int> &indicator_idv, vector<int> &indicator_snp, const gsl_matrix *XWz, size_t ns_test, gsl_matrix *XtXWz);
-bool PlinkXtXwz (const string &file_bed, const int display_pace, vector<int> &indicator_idv, vector<int> &indicator_snp, const gsl_matrix *XWz, size_t ns_test, gsl_matrix *XtXWz);
-bool MFILEXtXwz (const size_t mfile_mode, const string &file_mfile, const int display_pace, vector<int> &indicator_idv, vector<vector<int> > &mindicator_snp, const gsl_matrix *XWz, gsl_matrix *XtXWz);
-
-void CalcCIss(const gsl_matrix *Xz, const gsl_matrix *XWz, const gsl_matrix *XtXWz, const gsl_matrix *S_mat, const gsl_matrix *Svar_mat, const gsl_vector *w, const gsl_vector *z, const gsl_vector *s_vec, const vector<size_t> &vec_cat, const vector<double> &v_pve, vector<double> &v_se_pve, double &pve_total, double &se_pve_total, vector<double> &v_sigma2, vector<double> &v_se_sigma2, vector<double> &v_enrich, vector<double> &v_se_enrich);
+void CalcVCss(const gsl_matrix *Vq, const gsl_matrix *S_mat,
+ const gsl_matrix *Svar_mat, const gsl_vector *q_vec,
+ const gsl_vector *s_vec, const double df, vector<double> &v_pve,
+ vector<double> &v_se_pve, double &pve_total,
+ double &se_pve_total, vector<double> &v_sigma2,
+ vector<double> &v_se_sigma2, vector<double> &v_enrich,
+ vector<double> &v_se_enrich);
+
+bool BimbamXwz (const string &file_geno, const int display_pace,
+ vector<int> &indicator_idv, vector<int> &indicator_snp,
+ const vector<size_t> &vec_cat, const gsl_vector *w,
+ const gsl_vector *z, size_t ns_test, gsl_matrix *XWz);
+bool PlinkXwz (const string &file_bed, const int display_pace,
+ vector<int> &indicator_idv, vector<int> &indicator_snp,
+ const vector<size_t> &vec_cat, const gsl_vector *w,
+ const gsl_vector *z, size_t ns_test, gsl_matrix *XWz);
+bool MFILEXwz (const size_t mfile_mode, const string &file_mfile,
+ const int display_pace, vector<int> &indicator_idv,
+ vector<vector<int> > &mindicator_snp,
+ const vector<size_t> &vec_cat, const gsl_vector *w,
+ const gsl_vector *z, gsl_matrix *XWz);
+
+bool BimbamXtXwz (const string &file_geno, const int display_pace,
+ vector<int> &indicator_idv, vector<int> &indicator_snp,
+ const gsl_matrix *XWz, size_t ns_test, gsl_matrix *XtXWz);
+bool PlinkXtXwz (const string &file_bed, const int display_pace,
+ vector<int> &indicator_idv, vector<int> &indicator_snp,
+ const gsl_matrix *XWz, size_t ns_test, gsl_matrix *XtXWz);
+bool MFILEXtXwz (const size_t mfile_mode, const string &file_mfile,
+ const int display_pace, vector<int> &indicator_idv,
+ vector<vector<int> > &mindicator_snp, const gsl_matrix *XWz,
+ gsl_matrix *XtXWz);
+
+void CalcCIss(const gsl_matrix *Xz, const gsl_matrix *XWz,
+ const gsl_matrix *XtXWz, const gsl_matrix *S_mat,
+ const gsl_matrix *Svar_mat, const gsl_vector *w,
+ const gsl_vector *z, const gsl_vector *s_vec,
+ const vector<size_t> &vec_cat, const vector<double> &v_pve,
+ vector<double> &v_se_pve, double &pve_total,
+ double &se_pve_total, vector<double> &v_sigma2,
+ vector<double> &v_se_sigma2, vector<double> &v_enrich,
+ vector<double> &v_se_enrich);
#endif
-
-