MuGen
Multitrait genetics
|
Relationship matrix regression. More...
#include <MuGen.h>
Public Member Functions | |
BetaGrpPC () | |
Default constructor. | |
BetaGrpPC (const Grp &rsp, const string &predFlNam, const string &evFlNam, const size_t &Npred, RanIndex &up, const int &nThr) | |
Constructor with a prior index. More... | |
BetaGrpPC (const Grp &rsp, const string &predFlNam, const string &evFlNam, const size_t &Npred, RanIndex &low, RanIndex &up, const int &nThr) | |
Constructor with a prior index and replication. More... | |
BetaGrpPC (const Grp &rsp, const string &predFlNam, const string &evFlNam, const size_t &Npred, RanIndex &up, const string &outFlNam, const int &nThr) | |
Constructor with a prior index, replication and output file name. More... | |
BetaGrpPC (const Grp &rsp, const string &predFlNam, const string &evFlNam, const size_t &Npred, RanIndex &low, RanIndex &up, const string &outFlNam, const int &nThr) | |
Constructor with a prior index and replication. More... | |
virtual | ~BetaGrpPC () |
Destructor. | |
BetaGrpPC (const BetaGrpPC &mG) | |
Copy constructor. More... | |
BetaGrpPC & | operator= (const BetaGrpPC &mG) |
Assignment operator. More... | |
Public Member Functions inherited from BetaGrpFt | |
BetaGrpFt () | |
Default constructor. | |
BetaGrpFt (const Grp &rsp, const string &predFlNam, const size_t &Npred, const int &nThr) | |
Simple constructor. More... | |
BetaGrpFt (const Grp &rsp, const string &predFlNam, const size_t &Npred, RanIndex &up, const int &nThr) | |
Simple constructor with a prior index. More... | |
BetaGrpFt (const Grp &rsp, const string &predFlNam, const size_t &Npred, RanIndex &low, RanIndex &up, const int &nThr) | |
Simple constructor with a prior index and replication. More... | |
BetaGrpFt (const Grp &rsp, const string &predFlNam, const size_t &Npred, const string &outFlNam, const int &nThr) | |
Simple constructor with output file name. More... | |
BetaGrpFt (const Grp &rsp, const string &predFlNam, const size_t &Npred, RanIndex &up, const string &outFlNam, const int &nThr) | |
Simple constructor with a prior index and output file name. More... | |
BetaGrpFt (const Grp &rsp, const string &predFlNam, const size_t &Npred, RanIndex &low, RanIndex &up, const string &outFlNam, const int &nThr) | |
Simple constructor with a prior index, replication and output file name. More... | |
BetaGrpFt (const Grp &rsp, const string &predFlNam, const size_t &Npred, const double &absLab, const int &nThr) | |
Missing data constructor. More... | |
BetaGrpFt (const Grp &rsp, const string &predFlNam, const size_t &Npred, const double &absLab, RanIndex &up, const int &nThr) | |
Missing data constructor with a prior index. More... | |
BetaGrpFt (const Grp &rsp, const string &predFlNam, const size_t &Npred, const double &absLab, RanIndex &low, RanIndex &up, const int &nThr) | |
Missing data constructor with a prior index and replication. More... | |
BetaGrpFt (const Grp &rsp, const string &predFlNam, const size_t &Npred, const double &absLab, const string &outFlNam, const int &nThr) | |
Missing data constructor with output file name. More... | |
BetaGrpFt (const Grp &rsp, const string &predFlNam, const size_t &Npred, const double &absLab, RanIndex &up, const string &outFlNam, const int &nThr) | |
Missing data constructor with a prior index and output file name. More... | |
BetaGrpFt (const Grp &rsp, const string &predFlNam, const size_t &Npred, const double &absLab, RanIndex &low, RanIndex &up, const string &outFlNam, const int &nThr) | |
Missing data constructor with a prior index, replication and output file name. More... | |
BetaGrpFt (const Grp &rsp, const SigmaI &SigI, const string &predFlNam, const size_t &Npred, const double &Nmul, const double &rSqMax, RanIndex &up, const string &outFlNam, const int &nThr) | |
Selection constructor. More... | |
BetaGrpFt (const Grp &rsp, const SigmaI &SigI, const string &predFlNam, const size_t &Npred, const double &Nmul, const double &rSqMax, RanIndex &low, RanIndex &up, const string &outFlNam, const int &nThr) | |
Selection constructor with replication. More... | |
BetaGrpFt (const Grp &rsp, const SigmaI &SigI, const string &predFlNam, const size_t &Npred, const double &Nmul, const double &rSqMax, const double &absLab, RanIndex &up, const string &outFlNam, const int &nThr) | |
Selection constructor with missing predictor data. More... | |
BetaGrpFt (const Grp &rsp, const SigmaI &SigI, const string &predFlNam, const size_t &Npred, const double &Nmul, const double &rSqMax, const double &absLab, RanIndex &low, RanIndex &up, const string &outFlNam, const int &nThr) | |
Selection constructor with missing predictor data and replication. More... | |
virtual | ~BetaGrpFt () |
Destructor. | |
BetaGrpFt (const BetaGrpFt &mG) | |
Copy constructor. More... | |
BetaGrpFt & | operator= (const BetaGrpFt &mG) |
Assignment operator. More... | |
virtual const gsl_matrix * | fMat () const |
Access to the fitted value matrix. More... | |
void | save (const SigmaI &SigI) |
Store samples. More... | |
void | dump () |
Dump to a file. More... | |
double | lnOddsRat (const Grp &y, const SigmaI &SigI, const size_t i) const |
Log-odds ratio. More... | |
void | update (const Grp &dat, const SigmaI &SigIm) |
Gaussian likelihood, improper prior. More... | |
void | update (const Grp &dat, const Qgrp &q, const SigmaI &SigIm) |
Student- \(t\) likelihood, improper prior. More... | |
virtual void | update (const Grp &dat, const SigmaI &SigIm, const SigmaI &SigIp) |
Gaussian likelihood, 0-mean Gaussian prior. More... | |
virtual void | update (const Grp &dat, const Qgrp &q, const SigmaI &SigIm, const SigmaI &SigIp) |
Student- \(t\) likelihood, 0-mean Gaussian prior. More... | |
virtual void | update (const Grp &dat, const SigmaI &SigIm, const Qgrp &qPr, const SigmaI &SigIp) |
Gaussian likelihood, 0-mean Student- \(t\) prior. More... | |
virtual void | update (const Grp &dat, const Qgrp &q, const SigmaI &SigIm, const Qgrp &qPr, const SigmaI &SigIp) |
Student- \(t\) likelihood, 0-mean Student- \(t\) prior. More... | |
virtual void | update (const Grp &dat, const SigmaI &SigIm, const Grp &muPr, const SigmaI &SigIp) |
Gaussian likelihood, non-zero mean Gaussian prior. More... | |
virtual void | update (const Grp &dat, const Qgrp &q, const SigmaI &SigIm, const Grp &muPr, const SigmaI &SigIp) |
Student- \(t\) likelihood, non-zero mean Gaussian prior. More... | |
virtual void | update (const Grp &dat, const SigmaI &SigIm, const Grp &muPr, const Qgrp &qPr, const SigmaI &SigIp) |
Gaussian likelihood, non-zero mean Student- \(t\) prior. More... | |
virtual void | update (const Grp &dat, const Qgrp &q, const SigmaI &SigIm, const Grp &muPr, const Qgrp &qPr, const SigmaI &SigIp) |
Student- \(t\) likelihood, non-zero mean Student- \(t\) prior. More... | |
Public Member Functions inherited from Grp | |
virtual | ~Grp () |
Destructor. | |
virtual void | save () |
Save to pre-specified file. More... | |
virtual void | save (const string &outFlNam) |
Save to file. More... | |
virtual void | save (const string &outMuFlNam, const string &outSigFlNam, const SigmaI &SigI) |
Joint save. More... | |
virtual void | save (const Grp &y, const SigmaI &SigI) |
Save with data and inverse-covariance. More... | |
void | mhlSave (const string &outFlNam, const SigmaI SigI) |
Save Mahalanobis distance. More... | |
const vector< MVnorm * > & | dataVec () const |
Get vector of row pointers. More... | |
virtual const gsl_matrix * | dMat () const |
Access the value matrix. More... | |
const size_t | Ndata () const |
Get number of rows. More... | |
const size_t | phenD () const |
Get number of traits. More... | |
const MVnorm * | operator[] (const size_t i) const |
Subscript operator. More... | |
MVnorm * | operator[] (const size_t i) |
Subscript operator. More... | |
virtual MuGrp | mean (RanIndex &grp) |
Group mean. More... | |
virtual const MuGrp | mean (RanIndex &grp) const |
Group mean. More... | |
virtual MuGrp | mean (RanIndex &grp, const Qgrp &q) |
Group weighted mean. More... | |
virtual const MuGrp | mean (RanIndex &grp, const Qgrp &q) const |
Group weighted mean. More... | |
void | center () |
Center the value matrix. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from BetaGrpFt | |
virtual void | _updateFitted () |
Update fitted values. | |
void | _rankPred (const gsl_matrix *y, const SigmaI &SigI, gsl_vector *XtX, gsl_permutation *prm) |
Rank predictors. More... | |
void | _rankPred (const gsl_matrix *y, const SigmaI &SigI, const double &absLab, gsl_vector *XtX, gsl_permutation *prm) |
Rank predictors with missing data. More... | |
void | _ldToss (const gsl_vector *var, const gsl_permutation *prm, const double &rSqMax, const size_t &Npck, vector< vector< size_t > > &idx, vector< vector< size_t > > &rLd, gsl_matrix *Xpck) |
Testing candidates for correlation. More... | |
virtual double | _MGkernel (const Grp &dat, const SigmaI &SigI) const |
Gaussian kernel. More... | |
virtual double | _MGkernel (const Grp &dat, const SigmaI &SigI, const size_t &prInd) const |
Gaussian kernel dropping one predictor. More... | |
Protected Member Functions inherited from Grp | |
Grp () | |
Protected Attributes inherited from BetaGrpFt | |
vector< vector< double > > | _fittedEach |
Partial fitted value matrices. More... | |
gsl_matrix * | _fittedAll |
Matrix of fitted values. More... | |
gsl_matrix * | _valueSum |
Sample storage matrix. More... | |
gsl_matrix * | _Xmat |
Predictor matrix. More... | |
int | _nThr |
Number of threads. | |
double | _numSaves |
Number of saves. More... | |
Protected Attributes inherited from Grp | |
vector< MVnorm * > | _theta |
Vector of pointers to value rows. More... | |
gsl_matrix * | _valueMat |
Value matrix. More... | |
RanIndex * | _lowLevel |
Lower level index. More... | |
RanIndex * | _upLevel |
Upper level index. More... | |
vector< gsl_rng * > | _rV |
Vector of PNG pointers. More... | |
string | _outFlNam |
Name of the output file. | |
Relationship matrix regression.
Implements regression models with principal components of a relationship matrix as predictors. Only principal vectors with non-zero eigenvalues are used. If the likelihood and the prior are Gaussian, and the prior mean is zero, this is equivalent to the "mixed model" in packages like EMMA and TASSEL. Because the PC vectors are orthonormal there are some speed-ups in initialization. The updates are handled by the same internal row classes as in BetaGrpFt.
BetaGrpPC::BetaGrpPC | ( | const Grp & | rsp, |
const string & | predFlNam, | ||
const string & | evFlNam, | ||
const size_t & | Npred, | ||
RanIndex & | up, | ||
const int & | nThr | ||
) |
Constructor with a prior index.
Reads principal vectors and eigen-values from files. Number of rows of the predictor is equal to the number of rows in the response (no replication).
[in] | Grp& | data for initialization |
[in] | string& | PC vector file name |
[in] | string& | eigen-value file name |
[in] | size_t& | number of predictors |
[in] | RanIndex& | prior index |
[in] | int& | number of threads |
BetaGrpPC::BetaGrpPC | ( | const Grp & | rsp, |
const string & | predFlNam, | ||
const string & | evFlNam, | ||
const size_t & | Npred, | ||
RanIndex & | low, | ||
RanIndex & | up, | ||
const int & | nThr | ||
) |
Constructor with a prior index and replication.
Reads principal vectors and eigen-values from files. Number of rows of the predictor is equal to the number of groups in the lower (data) index. The number of rows in the response is equal to the number of elements in the low index.
[in] | Grp& | data for initialization |
[in] | string& | PC vector file name |
[in] | string& | eigen-value file name |
[in] | size_t& | number of predictors |
[in] | RanIndex& | lower-level (replicate) index |
[in] | RanIndex& | prior index |
[in] | int& | number of threads |
BetaGrpPC::BetaGrpPC | ( | const Grp & | rsp, |
const string & | predFlNam, | ||
const string & | evFlNam, | ||
const size_t & | Npred, | ||
RanIndex & | up, | ||
const string & | outFlNam, | ||
const int & | nThr | ||
) |
Constructor with a prior index, replication and output file name.
Reads principal vectors and eigen-values from files. Number of rows of the predictor is equal to the number of groups in the lower (data) index. The number of rows in the response is equal to the number of elements in the low index.
[in] | Grp& | data for initialization |
[in] | string& | PC vector file name |
[in] | string& | eigen-value file name |
[in] | size_t& | number of predictors |
[in] | RanIndex& | lower-level (replicate) index |
[in] | RanIndex& | prior index |
[in] | string& | output file name |
[in] | int& | number of threads |
BetaGrpPC::BetaGrpPC | ( | const Grp & | rsp, |
const string & | predFlNam, | ||
const string & | evFlNam, | ||
const size_t & | Npred, | ||
RanIndex & | low, | ||
RanIndex & | up, | ||
const string & | outFlNam, | ||
const int & | nThr | ||
) |
Constructor with a prior index and replication.
Reads principal vectors and eigen-values from files. Number of rows of the predictor is equal to the number of groups in the lower (data) index. The number of rows in the response is equal to the number of elements in the low index.
[in] | Grp& | data for initialization |
[in] | string& | PC vector file name |
[in] | string& | eigen-value file name |
[in] | size_t& | number of predictors |
[in] | RanIndex& | lower-level (replicate) index |
[in] | RanIndex& | prior index |
[in] | string& | output file name |
[in] | int& | number of threads |
BetaGrpPC::BetaGrpPC | ( | const BetaGrpPC & | mG | ) |
Copy constructor.
[in] | BetaGrpPC& | object to be copied |