about summary refs log tree commit diff
path: root/src/vc.h
diff options
context:
space:
mode:
authorPeter Carbonetto2017-08-07 13:23:44 -0500
committerPeter Carbonetto2017-08-07 13:23:44 -0500
commitecc5c0b5b11cbc2501b60d6d4e9a9b3e8f270d02 (patch)
treeb27cd975b19b85e75255cacf1c3d771266c56a10 /src/vc.h
parent8be2ce433c015d8c6776d270537d645c7e761bdf (diff)
parent7360d14216400b8f12fbfda03ac2f4827b102711 (diff)
downloadpangemma-ecc5c0b5b11cbc2501b60d6d4e9a9b3e8f270d02.tar.gz
Merge branch 'master' of github.com:genetics-statistics/GEMMA
Diffstat (limited to 'src/vc.h')
-rw-r--r--src/vc.h182
1 files changed, 90 insertions, 92 deletions
diff --git a/src/vc.h b/src/vc.h
index 43c6979..49397bb 100644
--- a/src/vc.h
+++ b/src/vc.h
@@ -19,117 +19,115 @@
 #ifndef __VC_H__
 #define __VC_H__
 
-#include "gsl/gsl_vector.h"
 #include "gsl/gsl_matrix.h"
-#include "param.h"
+#include "gsl/gsl_vector.h"
 #include "io.h"
+#include "param.h"
 
 using namespace std;
 
 class VC_PARAM {
 
 public:
-	const gsl_matrix *K;
-	const gsl_matrix *W;
-	const gsl_vector *y;
-	gsl_matrix *P;
-	gsl_vector *Py;
-	gsl_matrix *KPy_mat;
-	gsl_matrix *PKPy_mat;
-	gsl_matrix *Hessian;
-	bool noconstrain;
+  const gsl_matrix *K;
+  const gsl_matrix *W;
+  const gsl_vector *y;
+  gsl_matrix *P;
+  gsl_vector *Py;
+  gsl_matrix *KPy_mat;
+  gsl_matrix *PKPy_mat;
+  gsl_matrix *Hessian;
+  bool noconstrain;
 };
 
+// Methods for variant component (VC) estimation
+
 class VC {
 
 public:
   // IO-related parameters
   size_t a_mode;
-	string file_cat;
-	string file_beta;
-	string file_cor;
-	string file_mq;
-	string file_ms;
-
-	string file_out;
-	string path_out;
-
-	set<string> setSnps;
-
-	size_t ni_total_ref, ns_total_ref, ns_pair;
-	size_t ni_total, ns_total, ns_test;
-	size_t n_vc;
-
-	double pve_total, se_pve_total;
-	vector<double> v_sigma2;
-	vector<double> v_se_sigma2;
-	vector<double> v_pve;
-	vector<double> v_se_pve;
-	vector<double> v_traceG;
-	vector<double> v_beta;
-	vector<double> v_se_beta;
-
-	size_t crt;
-	double window_cm, window_bp, window_ns;
-
-	double time_UtX;
-	double time_opt;
-
-	// 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);
+  string file_cat;
+  string file_beta;
+  string file_cor;
+  string file_mq;
+  string file_ms;
+
+  string file_out;
+  string path_out;
+
+  set<string> setSnps;
+
+  size_t ni_total_ref, ns_total_ref, ns_pair;
+  size_t ni_total, ns_total, ns_test;
+  size_t n_vc;
+
+  double pve_total, se_pve_total;
+  vector<double> v_sigma2;
+  vector<double> v_se_sigma2;
+  vector<double> v_pve;
+  vector<double> v_se_pve;
+  vector<double> v_traceG;
+  vector<double> v_beta;
+  vector<double> v_se_beta;
+
+  size_t crt;
+  double window_cm, window_bp, window_ns;
+
+  double time_UtX;
+  double time_opt;
+
+  // 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 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);
+              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);
+              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