Katzlab dd76ab1d12 Added PTL2 Scripts
These are PTL2 files from Auden 2/9
2023-02-14 11:20:52 -05:00

178 lines
4.1 KiB
C++

// $Id: C_evalParamUSSRV.h 1915 2007-04-04 15:56:24Z privmane $
#ifndef ___C_EVAL_PARAM_USSRV
#define ___C_EVAL_PARAM_USSRV
#include "definitions.h"
#include "likelihoodComputation.h"
#include "likelihoodComputation2USSRV.h"
#include "sequenceContainer.h"
#include "stochasticProcess.h"
#include "gammaDistribution.h"
#include "tree.h"
#include "replacementModelSSRV.h"
#include "tamura92.h"
#include "stochasticProcessSSRV.h"
#include "ussrvModel.h"
#include "logFile.h"
// *********************
// * USSRV *
// *********************
class C_evalParamUSSRV {
public:
C_evalParamUSSRV(const tree& et,
const sequenceContainer& sc,
const sequenceContainer& baseSc,
ussrvModel* pModel,
const Vdouble* weights = NULL)
: _et(et),_sc(sc),_baseSc(baseSc),_pModel(pModel),_weights(weights){}
MDOUBLE operator() (MDOUBLE param) ;
virtual ~C_evalParamUSSRV(){}
protected:
const tree& _et;
const sequenceContainer& _sc;
const sequenceContainer& _baseSc;
ussrvModel* _pModel;
const Vdouble * _weights;
protected:
virtual void setParam(MDOUBLE param) = 0;
virtual void print(MDOUBLE param,MDOUBLE res) =0;
};
class C_evalAlphaUSSRV : public C_evalParamUSSRV {
public:
C_evalAlphaUSSRV(const tree& et,
const sequenceContainer& sc,
const sequenceContainer& baseSc,
ussrvModel* pModel,
const Vdouble *weights = NULL)
: C_evalParamUSSRV(et,sc,baseSc,pModel,weights)
{}
protected:
virtual void setParam(MDOUBLE alpha);
virtual void print(MDOUBLE alpha,MDOUBLE res);
};
class C_evalNuUSSRV : public C_evalParamUSSRV{
public:
C_evalNuUSSRV( const tree& et,
const sequenceContainer& sc,
const sequenceContainer& baseSc,
ussrvModel* pModel,
const Vdouble * weights = NULL)
: C_evalParamUSSRV(et,sc,baseSc,pModel,weights){}
protected:
virtual void setParam(MDOUBLE Nu);
virtual void print(MDOUBLE nu,MDOUBLE res);
};
class C_evalFUSSRV : public C_evalParamUSSRV{
public:
C_evalFUSSRV( const tree& et,
const sequenceContainer& sc,
const sequenceContainer& baseSc,
ussrvModel* pModel,
const Vdouble * weights = NULL)
: C_evalParamUSSRV(et,sc,baseSc,pModel,weights){}
protected:
virtual void setParam(MDOUBLE F);
virtual void print(MDOUBLE f,MDOUBLE res);
};
// *********************
// * SSRV *
// *********************
class C_evalParamSSRV {
public:
C_evalParamSSRV(const tree& et,
const sequenceContainer& sc,
stochasticProcessSSRV& ssrvSp,
const Vdouble* weights = NULL)
: _et(et),_sc(sc),_ssrvSp(ssrvSp),_weights(weights){}
MDOUBLE operator() (MDOUBLE param) ;
virtual ~C_evalParamSSRV(){}
protected:
const tree& _et;
const sequenceContainer& _sc;
stochasticProcessSSRV& _ssrvSp;
const Vdouble * _weights;
protected:
virtual void setParam(MDOUBLE param) = 0;
virtual void print(MDOUBLE param,MDOUBLE res) =0;
};
class C_evalAlphaSSRV : public C_evalParamSSRV {
public:
C_evalAlphaSSRV(const tree& et,
const sequenceContainer& sc,
stochasticProcessSSRV& ssrvSp,
const Vdouble *weights = NULL)
: C_evalParamSSRV(et,sc,ssrvSp,weights)
{}
protected:
virtual void setParam(MDOUBLE alpha);
virtual void print(MDOUBLE alpha,MDOUBLE res);
};
class C_evalNuSSRV : public C_evalParamSSRV{
public:
C_evalNuSSRV( const tree& et,
const sequenceContainer& sc,
stochasticProcessSSRV& ssrvSp,
const Vdouble * weights = NULL)
: C_evalParamSSRV(et,sc,ssrvSp,weights){}
protected:
virtual void setParam(MDOUBLE Nu);
virtual void print(MDOUBLE nu,MDOUBLE res);
};
class C_evalTrTvSSRV : public C_evalParamSSRV{
public:
C_evalTrTvSSRV(const tree& et,
const sequenceContainer& sc,
stochasticProcessSSRV& ssrvSp,
const Vdouble * weights = NULL)
: C_evalParamSSRV(et,sc,ssrvSp,weights){}
protected:
virtual void setParam(MDOUBLE TrTv);
virtual void print(MDOUBLE TrTv,MDOUBLE res);
};
class C_evalThetaSSRV : public C_evalParamSSRV{
public:
C_evalThetaSSRV(const tree& et,
const sequenceContainer& sc,
stochasticProcessSSRV& ssrvSp,
const Vdouble * weights = NULL)
: C_evalParamSSRV(et,sc,ssrvSp,weights){}
protected:
virtual void setParam(MDOUBLE Theta);
virtual void print(MDOUBLE Theta,MDOUBLE res);
};
#endif