1NICETY_LEVEL = 2; 2 3aaCodes = {{"A", 4"C", 5"D", 6"E", 7"F", 8"G", 9"H", 10"I", 11"K", 12"L", 13"M", 14"N", 15"P", 16"Q", 17"R", 18"S", 19"T", 20"V", 21"W", 22"Y"}}; 23 24function PopulateModelMatrix (ModelMatrixName&, EFV) 25{ 26 ModelMatrixName = {20,20}; 27 28 for (cI = 1; cI < 20; cI = cI+1) 29 { 30 commandString = "ModelMatrixName[0]["+cI+"]:=t*(1+(F_" + 31 aaCodes[cI] + "<0)*(Exp(F_"+ 32 aaCodes[cI] + ")-1));\n" + 33 "ModelMatrixName["+cI+"][0]:=t*(1+(0>" + "F_" + 34 aaCodes[cI] + ")*(Exp(-F_"+ 35 aaCodes[cI] + ")-1));\n"; 36 ExecuteCommands (commandString); 37 } 38 39 for (rI = 1; rI < 19; rI = rI+1) 40 { 41 for (cI = rI+1; cI < 20; cI = cI+1) 42 { 43 commandString = "ModelMatrixName["+rI+"]["+cI+"]:=t*(1+(F_" + 44 aaCodes[cI] + "<" + "F_" + 45 aaCodes[rI] + ")*(Exp(F_"+ 46 aaCodes[cI] + "-F_"+ 47 aaCodes[rI] + ")-1));\n" + 48 "ModelMatrixName["+cI+"]["+rI+"]:=t*(1+(F_" + 49 aaCodes[rI] + "<" + "F_" + 50 aaCodes[cI] + ")*(Exp(F_"+ 51 aaCodes[rI] + "-F_"+ 52 aaCodes[cI] + ")-1));\n"; 53 ExecuteCommands (commandString); 54 } 55 } 56 57 return 0; 58} 59 60commandString = ""; 61 62for (rI = 1; rI < 20; rI = rI+1) 63{ 64 commandString = commandString + "global F_" + aaCodes[rI] + 65 "=0; F_" + aaCodes[rI] + ":>-1e10;\n"; 66} 67 68ExecuteCommands (commandString); 69 70vectorOfFrequencies = {20,1}; 71 72commandString = "global EFV_Norm:=1"; 73for (rI = 1; rI < 20; rI = rI+1) 74{ 75 commandString = commandString+"+Exp(F_"+aaCodes[rI]+")"; 76} 77 78ExecuteCommands (commandString+";"); 79vectorOfFrequencies[0]:=1/EFV_Norm; 80 81for (rI = 1; rI < 20; rI = rI+1) 82{ 83 commandString = "vectorOfFrequencies["+rI+"]:=Exp(F_"+aaCodes[rI]+")/EFV_Norm;"; 84 ExecuteCommands (commandString); 85} 86 87FitnessMatrix = 0; 88MULTIPLY_BY_FREQS = PopulateModelMatrix ("FitnessMatrix",vectorOfFrequencies); 89Model FitnessModel = (FitnessMatrix, vectorOfFrequencies, MULTIPLY_BY_FREQS); 90FREQUENCY_SENSITIVE = 0; 91