From 943e970c9cbc184dcca679fbe455f48c32242cdc Mon Sep 17 00:00:00 2001
From: xiangzhou
Date: Mon, 23 May 2016 17:05:35 -0400
Subject: version 0.95alpha
---
src/vc.h | 41 +++++++++++++++++++++++++++++++++++++----
1 file changed, 37 insertions(+), 4 deletions(-)
(limited to 'src/vc.h')
diff --git a/src/vc.h b/src/vc.h
index f34d72e..d4a9779 100644
--- a/src/vc.h
+++ b/src/vc.h
@@ -16,7 +16,7 @@
along with this program. If not, see .
*/
-#ifndef __VC_H__
+#ifndef __VC_H__
#define __VC_H__
#include "gsl/gsl_vector.h"
@@ -38,7 +38,7 @@ using namespace std;
class VC_PARAM
{
-public:
+public:
const gsl_matrix *K;
const gsl_matrix *W;
const gsl_vector *y;
@@ -47,18 +47,34 @@ public:
gsl_matrix *KPy_mat;
gsl_matrix *PKPy_mat;
gsl_matrix *Hessian;
+ bool noconstrain;
};
+
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 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 v_sigma2;
vector v_se_sigma2;
vector v_pve;
@@ -67,16 +83,33 @@ public:
vector v_beta;
vector 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 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 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 &v_pve, vector &v_se_pve, double &pve_total, double &se_pve_total, vector &v_sigma2, vector &v_se_sigma2, vector &v_enrich, vector &v_se_enrich);
+
+
+bool BimbamXwz (const string &file_geno, const int display_pace, vector &indicator_idv, vector &indicator_snp, const vector &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 &indicator_idv, vector &indicator_snp, const vector &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 &indicator_idv, vector > &mindicator_snp, const vector &vec_cat, const gsl_vector *w, const gsl_vector *z, gsl_matrix *XWz);
+
+bool BimbamXtXwz (const string &file_geno, const int display_pace, vector &indicator_idv, vector &indicator_snp, const gsl_matrix *XWz, size_t ns_test, gsl_matrix *XtXWz);
+bool PlinkXtXwz (const string &file_bed, const int display_pace, vector &indicator_idv, vector &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 &indicator_idv, vector > &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 &vec_cat, const vector &v_pve, vector &v_se_pve, double &pve_total, double &se_pve_total, vector &v_sigma2, vector &v_se_sigma2, vector &v_enrich, vector &v_se_enrich);
+
#endif
--
cgit v1.2.3