void SetModel(int theModel) { int i; model=theModel; if (isNucModel) { numStates = NUM_NUC; SetNucModel(theModel); freq = nucFreq; addFreq = nucAddFreq; stateCharacters = nucleotides; } else { numStates = NUM_AA; SetAAModel(theModel - numNucModels); freq = aaFreq; addFreq = aaAddFreq; stateCharacters = aminoAcids; } addFreq[0]=freq[0]; for (i = 1; i < numStates; i++) { addFreq[i] = addFreq[i-1] + freq[i]; } }
void SetModel(int theModel, inClade *branch) { int i; model=theModel; if (isNucModel) { numStates = NUM_NUC; if (branch != NULL) { if ( !(branch->values2Export2Freq.empty()) ) for (int j = 0; j < numStates; j++) nucFreq[j] = branch->values2Export2Freq.at(j); } SetNucModel(theModel); freq = nucFreq; addFreq = nucAddFreq; stateCharacters = nucleotides; } else { numStates = NUM_AA; if (branch != NULL) { if ( !(branch->values2Export2Freq.empty()) ) { aaFreqSet = 1; for (int j = 0; j < numStates; j++) aaFreq[j] = branch->values2Export2Freq.at(j); } } SetAAModel(theModel - numNucModels); freq = aaFreq; addFreq = aaAddFreq; stateCharacters = aminoAcids; } addFreq[0]=freq[0]; for (i = 1; i < numStates; i++) { addFreq[i] = addFreq[i-1] + freq[i]; } }