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

68 lines
2.0 KiB
C++

// $Id: semphyStep.h 702 2006-05-27 17:16:58Z ninio $
#ifndef ___SEMPHY_STEP
#define ___SEMPHY_STEP
#include "suffStatComponent.h"
#include "semphyDistance.h"
#include "rearangeTree.h"
#include "minSpanTree.h"
#include "tree.h"
#include "sequenceContainer.h"
#include "computePijComponent.h"
#include "stochasticProcess.h"
class semphyStep {
public:
explicit semphyStep(
tree& et,
const tree* ctPtr,
const sequenceContainer& sc,
const stochasticProcess& sp,
const computePijGam& pij0,
const suffStatGlobalGam& cup,
const suffStatGlobalGam& cdown,
const bool useApproxCounts,
const VdoubleRep& cprobAtEachPos,
const VVdoubleRep & posteriorRateProbAtEachPos,
const suffStatGlobalGam& computeMarginal,
const Vdouble *weights,
const MDOUBLE toll);
void doNothing(void) const {};
private:
void computeSemphyStep();
// void fillCpijUpDownExactMarginalProbAtEachPos();
semphyDistance* computeQmatrix(const Vdouble* weight);
MDOUBLE computeQstart(const semphyDistance* inSemDist) const;
void addConstraintPenalty(VVdouble & penaltyTable);
tree& _et;
const tree* _ctPtr;
const sequenceContainer& _sc;
const stochasticProcess& _sp;
const computePijGam& _pij0;
const suffStatGlobalGam& _cup;
const suffStatGlobalGam& _cdown;
const bool _useApproxCounts;
const VdoubleRep& _cprobAtEachPos;
const VVdoubleRep & _posteriorRateProbAtEachPos;
const suffStatGlobalGam& _computeMarginal;
const Vdouble *_weights;
const MDOUBLE _toll;
// ouput to log file functions...
void maybePrintPenaltyTableAndStartingTree(const VVdouble& penetlyTable) const;
void maybePrintDistanceBetweenNodesTable(const semphyDistance* inSemDist) const;
void maybePrintSpanTreeListAndQAfterSpanTree(const rearrangeTree::pairSet& inSet,const MDOUBLE score) const;
void maybePrintTheTreeAfterRearrangeTree() const;
void maybePrintQspanMinusQinit(const MDOUBLE qpan, const MDOUBLE qstart) const;
void maybePrintTheTreeAfterCorrectToCanonialForm() const;
};
#endif