Ejemplo n.º 1
0
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];
	}
}
Ejemplo n.º 2
0
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];
	}
}