#include "molclockBootstrap.bf"; RESTORE_GLOBALS = 1; _DO_TREE_REBALANCE_ = 0; VERBOSITY_LEVEL = -1; function RestoreGlobalValues (lfIndex) { if (lfIndex==0) { for (i=0;i1) { ChoiceList (parameter2Constrain, "Parameter(s) to constrain:",1,SKIP_NONE,LAST_MODEL_PARAMETER_LIST); if (parameter2Constrain<0) { return; } if (parameter2Constrain==0) { parameter2ConstrainString = ""; for (parameter2Constrain=Rows("LAST_MODEL_PARAMETER_LIST")-1; parameter2Constrain; parameter2Constrain = parameter2Constrain-1) { GetString (funnyString,LAST_MODEL_PARAMETER_LIST,parameter2Constrain); parameter2ConstrainString = parameter2ConstrainString + funnyString + ","; } GetString (funnyString,LAST_MODEL_PARAMETER_LIST,0); parameter2ConstrainString = parameter2ConstrainString + funnyString; } else { GetString (parameter2ConstrainString,LAST_MODEL_PARAMETER_LIST,parameter2Constrain-1); } } else { GetString (parameter2ConstrainString,LAST_MODEL_PARAMETER_LIST,0); } timer = Time(0); LikelihoodFunction lf = (filteredData,givenTree); Optimize (res,lf); separator = "*-----------------------------------------------------------*"; fprintf (stdout, "\n", separator, "\nRESULTS WITHOUT THE CLOCK:\n",lf); fullModelLik = res[1][0]; fullVars = res[1][1]; /* now specify the constraint */ Tree clockTree = treeString; ExecuteCommands ("MolecularClock (clockTree,"+parameter2ConstrainString+");"); LikelihoodFunction lfConstrained = (filteredData, clockTree); USE_LAST_RESULTS = 1; Optimize (res1,lfConstrained); USE_LAST_RESULTS = 0; SAVE_GLOBALS = res1[1][2]; if (SAVE_GLOBALS) { globalSpoolMatrix = {1,SAVE_GLOBALS}; for (i=0;i