Example #1
0
int main()
{

  RNG rng;
  gsl_rng* gslr = rng.get(10086);
  string mafFile("Boyko2008European1p5k.maf");
  string selFile("Boyko2008European1p5k.sel");
  string posFile("Boyko2008European1p5k.pos");
  vector2F mafDat;
  vector2F selDat;
  vector2UI posDat;

  scan_vector2F(selFile, selDat);
  scan_vector2F(mafFile, mafDat);
  scan_vector2UI(posFile, posDat);

  UINT dataIdx = gsl_rng_uniform_int(gslr, mafDat.size());
  vector<double>& mafs =  mafDat[dataIdx];
  vector<double>& selcoefs = selDat[dataIdx];
  vector<UINT>& positions = posDat[dataIdx];
  vector2F genoFreqs(mafs.size());

  for (UINT i = 0; i != mafs.size(); ++i) {
    genoFreqs[i].push_back( (1 - mafs[i]) * (1 - mafs[i]) );
    genoFreqs[i].push_back( mafs[i] * mafs[i] );
  }

  //! population attributable risk model
  vector<double> pars(2);
  pars[0] = 0.05;
  pars[1] = 0.0;
  bool isParConst = true;
  char sMoi[] = "A"; 
  char* moi = sMoi;
  vector<double> pedInfos(6, 0.0);
  
  gwPerson person;
  person.debug(9); 
  person = gwPerson (pedInfos, mafs, selcoefs, positions);
  person.setVerbose(1);
  person.debug(9);

  cout << "BEGIN PAR models tests" << endl;
  person.updatePhenotype(2.0);
  person.updateGenotypeFreqs(pars, isParConst, moi); 
  person.debug(1);
  person.debug(2);
  person.updateGenotypeFreqs(genoFreqs);
//  person.updateGenotypeFreqs(pars, false, moi); 
//  person.debug(1);
//  person.debug(2);

    return 0;
}