本文整理汇总了C++中Seq::at方法的典型用法代码示例。如果您正苦于以下问题:C++ Seq::at方法的具体用法?C++ Seq::at怎么用?C++ Seq::at使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Seq
的用法示例。
在下文中一共展示了Seq::at方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: PadToMSA
void SeqVect::PadToMSA(MSA &msa)
{
unsigned uSeqCount = Length();
if (0 == uSeqCount)
{
msa.Clear();
return;
}
unsigned uLongestSeqLength = 0;
for (unsigned uSeqIndex = 0; uSeqIndex < uSeqCount; ++uSeqIndex)
{
Seq *ptrSeq = at(uSeqIndex);
unsigned uColCount = ptrSeq->Length();
if (uColCount > uLongestSeqLength)
uLongestSeqLength = uColCount;
}
msa.SetSize(uSeqCount, uLongestSeqLength);
for (unsigned uSeqIndex = 0; uSeqIndex < uSeqCount; ++uSeqIndex)
{
Seq *ptrSeq = at(uSeqIndex);
msa.SetSeqName(uSeqIndex, ptrSeq->GetName());
unsigned uColCount = ptrSeq->Length();
unsigned uColIndex;
for (uColIndex = 0; uColIndex < uColCount; ++uColIndex)
{
char c = ptrSeq->at(uColIndex);
msa.SetChar(uSeqIndex, uColIndex, c);
}
while (uColIndex < uLongestSeqLength)
msa.SetChar(uSeqIndex, uColIndex++, '.');
}
}
示例2: EqIgnoreCase
bool Seq::EqIgnoreCase(const Seq &s) const
{
const unsigned n = Length();
if (n != s.Length())
{
return false;
}
for (unsigned i = 0; i < n; ++i)
{
const char c1 = at(i);
const char c2 = s.at(i);
if (IsGap(c1))
{
if (!IsGap(c2))
return false;
}
else
{
if (toupper(c1) != toupper(c2))
{
return false;
}
}
}
return true;
}
示例3: Copy
void Seq::Copy(const Seq &rhs)
{
clear();
const unsigned uLength = rhs.Length();
for (unsigned uColIndex = 0; uColIndex < uLength; ++uColIndex)
push_back(rhs.at(uColIndex));
const char *ptrName = rhs.GetName();
size_t n = strlen(ptrName) + 1;
m_ptrName = new char[n];
strcpy(m_ptrName, ptrName);
}
示例4: Eq
bool Seq::Eq(const Seq &s) const
{
const unsigned n = Length();
if (n != s.Length())
return false;
for (unsigned i = 0; i < n; ++i)
{
const char c1 = at(i);
const char c2 = s.at(i);
if (c1 != c2)
return false;
}
return true;
}
示例5: EqIgnoreCaseAndGaps
bool Seq::EqIgnoreCaseAndGaps(const Seq &s) const
{
const unsigned uThisLength = Length();
const unsigned uOtherLength = s.Length();
unsigned uThisPos = 0;
unsigned uOtherPos = 0;
int cThis;
int cOther;
for (;;)
{
if (uThisPos == uThisLength && uOtherPos == uOtherLength)
break;
// Set cThis to next non-gap character in this string
// or -1 if end-of-string.
for (;;)
{
if (uThisPos == uThisLength)
{
cThis = -1;
break;
}
else
{
cThis = at(uThisPos);
++uThisPos;
if (!IsGapChar(cThis))
{
cThis = toupper(cThis);
break;
}
}
}
// Set cOther to next non-gap character in s
// or -1 if end-of-string.
for (;;)
{
if (uOtherPos == uOtherLength)
{
cOther = -1;
break;
}
else
{
cOther = s.at(uOtherPos);
++uOtherPos;
if (!IsGapChar(cOther))
{
cOther = toupper(cOther);
break;
}
}
}
// Compare characters are corresponding ungapped position
if (cThis != cOther)
return false;
}
return true;
}