本文整理汇总了C++中Alphabet::getAlphabetType方法的典型用法代码示例。如果您正苦于以下问题:C++ Alphabet::getAlphabetType方法的具体用法?C++ Alphabet::getAlphabetType怎么用?C++ Alphabet::getAlphabetType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Alphabet
的用法示例。
在下文中一共展示了Alphabet::getAlphabetType方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getRNY
int RNY::getRNY(int i, int j, int k, const Alphabet& alph) const throw (BadCharException)
{
if (alph.getAlphabetType() != "DNA alphabet")
{
throw AlphabetException ("RNY::getRNY : Sequence must be DNA",
&alph);
}
char li = alph.intToChar(i)[0];
char lj = alph.intToChar(j)[0];
char lk = alph.intToChar(k)[0];
int r = 0;
int s = 0;
switch (li)
{
case 'A':
case 'G':
r += 0;
break;
case 'C':
r += 1;
break;
case 'T':
r += 2;
break;
case '-':
case 'N':
s += 1;
break;
default:
throw BadCharException(&li, "RNY::getRNY(int,int;int,alph): Specified base unknown.");
}
r *= 4;
s *= 2;
switch (lj)
{
case 'A':
r += 0;
break;
case 'G':
r += 1;
break;
case 'C':
r += 2;
break;
case 'T':
r += 3;
break;
case '-':
case 'N':
s += 1;
break;
default:
throw BadCharException(&lj, "RNY::getRNY(int,int;int,alph): Specified base unknown.");
}
r *= 3;
s *= 2;
switch (lk)
{
case 'A':
r += 0;
break;
case 'G':
r += 1;
break;
case 'C':
case 'T':
r += 2;
break;
case '-':
case 'N':
s += 1;
break;
default:
throw BadCharException(&lk, "RNY::getRNY(int,int;int,alph): Specified base unknown.");
}
return 50 * s + r;
}