/usr/include/libphylo/siteSpecificRate.h is in rate4site 3.0.0-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 | // $Id: siteSpecificRate.h 9961 2011-10-23 23:27:03Z cohenofi $
#ifndef ___SITE_SPECIFIC_RATE
#define ___SITE_SPECIFIC_RATE
#include "definitions.h"
#include "tree.h"
#include "sequenceContainer.h"
#include "stochasticProcess.h"
#include "multipleStochasticProcess.h"
#include "computePijComponent.h"
#include "unObservableData.h"
// the function returns the total log-likelihood of the rates.
// it is used for computing the rates, when there is one tree common to
// all positions and 1 stochastic process common to all position.
MDOUBLE computeML_siteSpecificRate(Vdouble & ratesV,
Vdouble & likelihoodsV,
const sequenceContainer& sd,
const stochasticProcess& sp,
const tree& et,
const MDOUBLE maxRate=20.0f,
const MDOUBLE tol=0.0001f);
// this function is the same as the one above, but here, each site can have its
//own tree, or its own stochastic process.
//etVec: a vector of possible trees.
//spVec: a vector of possible stochastic processes.
//treeAttributesVec: defines which tree is assigned to a specific position.
//NOTE: the possible attributes are 1,2..., so that the tree for position i
//is etVec[treeAttributesVec[i]-1]
//The same is true for the stochastic process atributes vector.
MDOUBLE computeML_siteSpecificRate(Vdouble & ratesV,
Vdouble & likelihoodsV,
const Vint& spAttributesVec,
const Vint& treeAttributesVec,
const vector<tree> & etVec,
const vector<const stochasticProcess *> & spVec,
const sequenceContainer& sc,
const MDOUBLE maxRate,
const MDOUBLE tol);
// this function is the same as the one above, but here,
// there are only tree attributes.
MDOUBLE computeML_siteSpecificRate(Vdouble & ratesV,
Vdouble & likelihoodsV,
const Vint& treeAttributesVec,
const vector<tree> & etVec,
const stochasticProcess& sp,
const sequenceContainer& sc,
const MDOUBLE maxRate,
const MDOUBLE tol);
// this function is the same as the one above, but here,
// there are only stochastic process attributes.
MDOUBLE computeML_siteSpecificRate(Vdouble & ratesV,
Vdouble & likelihoodsV,
const Vint& spAttributesVec,
const tree & et,
const vector<const stochasticProcess* > & spVec,
const sequenceContainer& sc,
const MDOUBLE maxRate,
const MDOUBLE tol);
void computeML_siteSpecificRate(int pos,
const sequenceContainer& sc,
const stochasticProcess& sp,
const tree &et,
MDOUBLE& bestRate,
MDOUBLE& posL,
const MDOUBLE maxRate,
const MDOUBLE tol);
// BAYESIAN PART
// 1 sequence container, 1 tree, 1 position
void computeEB_EXP_siteSpecificRate(int pos,
const sequenceContainer& sc,
const stochasticProcess& sp,
const computePijGam& cpg,
const tree &et,
MDOUBLE& bestRate,
MDOUBLE & stdRate,
MDOUBLE & lowerConf,
MDOUBLE & upperConf,
const MDOUBLE alphaConf,
VVdouble* LpostPerCat=NULL,
unObservableData* unObservableData_p=NULL);
// 1 stochastic process, 1 tree, all positions
void computeEB_EXP_siteSpecificRate(Vdouble & ratesV,
Vdouble & stdV,
Vdouble & lowerBoundV,
Vdouble & upperBoundV,
const sequenceContainer& sc,
const stochasticProcess& sp,
const tree& et,
const MDOUBLE alphaConf,
VVdouble* LpostPerCat=NULL,
unObservableData* unObservableData_p=NULL);
// many stochastic process, many tree, all positions
void computeEB_EXP_siteSpecificRate(Vdouble & ratesV,
Vdouble & stdV,
Vdouble & lowerBoundV,
Vdouble & upperBoundV,
const Vint& spAttributesVec,
const Vint& treeAttributesVec,
const sequenceContainer& sc,
const vector<tree> & etVec,
const vector<const stochasticProcess *> & spVec,
const MDOUBLE alphaConf);
// many stochastic process, 1 tree, all positions
void computeEB_EXP_siteSpecificRate(Vdouble & ratesV,
Vdouble & stdV,
Vdouble & lowerBoundV,
Vdouble & upperBoundV,
const Vint& spAttributesVec,
const sequenceContainer& sc,
const tree & et,
const vector<const stochasticProcess *> & spVec,
const MDOUBLE alphaConf);
// 1 stochastic process, many tree, all positions
void computeEB_EXP_siteSpecificRate(Vdouble & ratesV,
Vdouble & stdV,
Vdouble & lowerBoundV,
Vdouble & upperBoundV,
const Vint& treeAttributesVec,
const sequenceContainer& sc,
const vector<tree> & etVec,
const stochasticProcess & sp,
const MDOUBLE alphaConf);
// PROPORTIONAL BAYESIAN PART
// Many stochastic processes controlled by their distribution, 1 sequence container, 1 tree, 1 position
void computeEB_EXP_siteSpecificRateProportional(int pos,
const sequenceContainer& sc,
stochasticProcess& sp,
const gammaDistribution* pProportionDist,
const tree &et,
MDOUBLE& bestRate,
MDOUBLE & stdRate,
MDOUBLE & lowerConf,
MDOUBLE & upperConf,
const MDOUBLE alphaConf,
VVVdouble* LpostPerCats=NULL);
// Many stochastic processes controlled by their distribution, 1 tree, all positions
void computeEB_EXP_siteSpecificRateProportional(Vdouble & ratesV,
Vdouble & stdV,
Vdouble & lowerBoundV,
Vdouble & upperBoundV,
const sequenceContainer& sc,
stochasticProcess& sp,
const gammaDistribution* pProportionDist,
const tree& et,
const MDOUBLE alphaConf,
VVVdouble* LpostPerCats=NULL);
#endif
|