// $Id: bblEMProprtional.cpp 962 2006-11-07 15:13:34Z privmane $ #include "bblEM.h" #include "bblEMProportionalEB.h" #include "likelihoodComputation.h" using namespace likelihoodComputation; #include "computeUpAlg.h" #include "computeDownAlg.h" #include "computeCounts.h" #include "treeIt.h" #include "fromCountTableComponentToDistance.h" #include //#define VERBOS #include "fromCountTableComponentToDistancePropEB.h" bblEMProportionalEB::bblEMProportionalEB(tree& et, const vector& sc, multipleStochasticProcess* msp, const gammaDistribution* pProportionDist, const bool optimizeSelectedBranches, const vector * weights, const int maxIterations, const MDOUBLE epsilon, const MDOUBLE tollForPairwiseDist, const MDOUBLE* likelihoodLast): _et(et),_sc(sc),_msp(msp),_pProportionDist(pProportionDist),_weights (weights),_optimizeSelectedBranches(optimizeSelectedBranches) { _numberOfGenes = _sc.size(); assert(_msp->getSPVecSize() == _sc.size()); _treeLikelihoodVec = compute_bblEMPropEB(maxIterations,epsilon,tollForPairwiseDist,likelihoodLast); } Vdouble bblEMProportionalEB::compute_bblEMPropEB( const int maxIterations, const MDOUBLE epsilon, const MDOUBLE tollForPairwiseDist, const MDOUBLE* likelihoodLast){ LOGnOUT(5,<<"Allocating place"<getSp(geneN),_cup[geneN],_pProportionDist,_posLike[geneN],(_weights?(*_weights)[geneN]:NULL)); } LOGnOUT(5,<<"--- Iter="<id(),_msp,_pProportionDist,tollForPairwiseDist,mynode->dis2father()); from1.computeDistance(); mynode->setDisToFather(from1.getDistance()); } } }