本文整理汇总了C++中Site::returnGamma方法的典型用法代码示例。如果您正苦于以下问题:C++ Site::returnGamma方法的具体用法?C++ Site::returnGamma怎么用?C++ Site::returnGamma使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Site
的用法示例。
在下文中一共展示了Site::returnGamma方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setPij
void RateMatrix::setPij(
Site site,
double BL,
int rateHetero
)
{
switch (rateHetero) {
case GammaRates:
BL *= site.returnGamma();
case NoRates:
SetMatrix(Pij.at(0), BL);
break;
case DiscreteGammaRates:
for (int j=0; j < num_categories; j++)
SetMatrix(Pij.at(j), catRate.at(j)*BL);
break;
case CodonRates:
// for (j=0; j < 3; j++)
// SetMatrix(matrix[j], des->nodeEnv->catRate[j]*inlen);
// for (i = 0; i < sequence_size; i++) {
// if (random_placement)
// pos = (double)rndu() * (des->seq_evo.size()-1);
// else pos = i;
// vector<Site>::iterator posit = des->seq_evo.begin()+pos;
// cat=(pos+iTree->codon_offset)%3;
// calling_routine.assign("MutateSequence->GONE, CodonRates");
// result=SetState(
// matrix[cat]+((*posit).returnState() * numStates),
// calling_routine
// );
// if ( !(des->seq_evo.at(pos).motif.active_properties.subst->substitution_bitstring.test((*posit).returnState())) )
// do_sub=true;
// else if (des->seq_evo.at(pos).motif.active_properties.subst->substitution_bitstring.test(result) )
// do_sub = true;
// else rejected++;
//
// if (do_sub) {
// // Check if stop codon is result of substitution.
// int codon[3];
// if (pos - (3-iTree->codon_offset) < 0 || pos + (3-iTree->codon_offset) >= des->seq_evo.size()) {
// ; // Punt, since I do not keep track of other partitions (what about subsequences??)
// } else if ( (pos+iTree->codon_offset) % 3 == 0 ) {
// codon[0] = result;
// codon[1] = (*(posit+1)).returnState();
// codon[2] = (*(posit+2)).returnState();
// } else if ( (pos+iTree->codon_offset) % 3 == 1 ) {
// codon[0] = (*(posit-1)).returnState();
// codon[1] = result;
// codon[2] = (*(posit+1)).returnState();
// } else if ( (pos+iTree->codon_offset) % 3 == 2 ) {
// codon[0] = (*(posit-2)).returnState();
// codon[1] = (*(posit-1)).returnState();
// codon[2] = result;
// } else {
// cerr << "Huh?? how can there be more than 3 codon positions?" << endl;
// exit(EXIT_FAILURE);
// }
// if ( !Stop_Codon(codon) ) {
// (*posit).setState(result);
// } else rejected++;
// }
// }
//
break;
}
}