/usr/include/libphylo/computePosteriorExpectationOfSubstitutions.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 | #ifndef ___COMPUTE_POSTERIOR_EXPECTATION_OF_SUBSTITUTIONS
#define ___COMPUTE_POSTERIOR_EXPECTATION_OF_SUBSTITUTIONS
/*
This is a father class where it implements the computePosteriorExpectationOfSubstitutions
procedure for a reversible stochastic process. Its son, computePosteriorExpectationOfSubstitutions_nonReversibleSp
implements the computePosteriorExpectationOfSubstitutions for a non-reversible stochastic process. The implementation
difference is in two functions: computePosteriorOfChangeGivenTerminals and computePosterioGivenTerminalsPerBranch
*/
#include "definitions.h"
#include "simulateJumps.h"
#include "tree.h"
#include "sequenceContainer.h"
#include "stochasticProcess.h"
#include "suffStatComponent.h"
#include "computePijComponent.h"
#include "simulateJumpsAbstract.h"
class computePosteriorExpectationOfSubstitutions {
public:
explicit computePosteriorExpectationOfSubstitutions(const tree &tr, const sequenceContainer &sc, const stochasticProcess *sp);
virtual ~computePosteriorExpectationOfSubstitutions(){};
VVdouble computeExpectationAcrossTree(simulateJumpsAbstract &sim, //input given from simulation studies
const VVVdouble &posteriorProbs, VVVdouble &expForBranch);
VVdouble computePosteriorAcrossTree(simulateJumpsAbstract &sim, //input given from simulation studies
const VVVdouble &posteriorProbsGivenTerminals,VVVdouble &probsForBranch);
virtual void computePosteriorOfChangeGivenTerminals(VVVdouble &posteriorPerNodePer2States, int pos);
private:
MDOUBLE computePosteriorOfChangePerBranch(
simulateJumpsAbstract &sim, //input given from simulation studies
const VVVdouble &posteriorProbs,
tree::nodeP node,
int fromState, int toState);
MDOUBLE computeExpectationOfChangePerBranch(
simulateJumpsAbstract &sim, //input given from simulation studies
const VVVdouble &posteriorProbsGivenTerminals,
tree::nodeP node,
int fromState, int toState);
MDOUBLE computePosterioGivenTerminalsPerBranch (int nodeId,int sonState, int fatherState,suffStatGlobalHomPos &sscUp,
suffStatGlobalHomPos &sscDown,computePijHom &pi, MDOUBLE &LLData, const string nodeName);
protected:
const tree &_tr;
const sequenceContainer &_sc;
const stochasticProcess *_sp;
};
#endif
|