/usr/share/hyphy/TemplateBatchFiles/BivariateCodonRateAnalysis.bf is in hyphy-common 2.2.7+dfsg-1.
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 | bivariateFitOptions = {};
SetDialogPrompt ("Datafile:");
DataSet ds = ReadDataFile (PROMPT_FOR_FILE);
_bivariateFilePath = LAST_FILE_PATH;
ExecuteAFile (HYPHY_LIB_DIRECTORY +
"TemplateBatchFiles" +
DIRECTORY_SEPARATOR +
"TemplateModels" +
DIRECTORY_SEPARATOR +
"chooseGeneticCode.def");
_genCodeID = _geneticCodeOptionMatrix [modelType][0];
ChoiceList (branchLengths,"Branch Lengths",1,SKIP_NONE,
"Codon Model","Jointly optimize rate parameters and branch lengths (slow and thorough)",
"Nucleotide Model","Estimate branch lengths once, using an appropriate nucleotide model (quick and dirty)."
);
assert (branchLengths >= 0);
fprintf (stdout, "Model string:");
fscanf (stdin, "String",mstring);
ExecuteAFile ("TemplateModels/MGwAA.ibf");
currentLFSpool = _bivariateFilePath + ".fit.1";
bivariateFitOptions ["00"] = "New run";
if (branchLengths == 0)
{
bivariateFitOptions ["01"] = "Codon Model";
}
else
{
bivariateFitOptions ["01"] = "Nucleotide Model";
}
bivariateFitOptions ["02"] = "1";
bivariateFitOptions ["03"] = _genCodeID;
bivariateFitOptions ["04"] = _bivariateFilePath;
if (Abs(DATAFILE_TREE))
{
bivariateFitOptions ["06"] = "y";
}
else
{
bivariateFitOptions ["06"] = "";
}
bivariateFitOptions ["07"] = mstring;
bivariateFitOptions ["08"] = "Default";
bivariateFitOptions ["09"] = "1";
bivariateFitOptions ["10"] = "Unconstrained";
bivariateFitOptions ["11"] = currentLFSpool;
ExecuteAFile ( "dNdSBivariateRateAnalysis.bf",
bivariateFitOptions
);
currentCAIC = bivariateReturnAVL["cAIC"];
bestCAICsoFar = 1e100;
currentRateCount = 1;
bestClassCount = 1;
gateauxOptions = {};
gateauxOptions ["02"] = "-1";
while (currentCAIC < bestCAICsoFar)
{
bestClassCount = currentRateCount;
gateauxOptions ["01"] = currentLFSpool;
fprintf (stdout, "[FINISHED FITTING A MODEL WITH ", currentRateCount, " RATES]\n");
fprintf (stdout, "[CURRENT c-AIC = ", currentCAIC, ". BEST c-AIC SO FAR = ", bestCAICsoFar, "]\n");
bestCAICsoFar = currentCAIC;
DeleteObject (lf);
ExecuteAFile ( HYPHY_LIB_DIRECTORY +
"TemplateBatchFiles" +
DIRECTORY_SEPARATOR +
"GateauxMR.bf",
gateauxOptions
);
improved = bivariateReturnAVL ["DIFF"];
if (improved == 0)
{
fprintf (stdout, "[NO GATEAUX IMPROVEMENT. TERMINATING...]\n");
break;
}
lastLFSpool = currentLFSpool;
currentRateCount = currentRateCount + 1;
currentLFSpool = currentLFSpool + "." + currentRateCount;
bivariateFitOptions ["00"] = "Continued run";
bivariateFitOptions ["01"] = currentLFSpool;
bivariateFitOptions ["02"] = "Unconstrained";
ExecuteAFile ( HYPHY_LIB_DIRECTORY +
"TemplateBatchFiles" +
DIRECTORY_SEPARATOR +
"dNdSBivariateRateAnalysis.bf",
bivariateFitOptions
);
currentCAIC = bivariateReturnAVL["cAIC"];
}
fprintf (stdout, "[BEST-FITTING MODEL HAS ", bestClassCount, " RATES]\n");
fprintf (stdout, "[USE CodonBivariateRateProcessor.bf ON ", lastLFSpool, " TO PROCESS THE RESULTS]\n");
|