本文整理汇总了C++中TextFile::PutFormat方法的典型用法代码示例。如果您正苦于以下问题:C++ TextFile::PutFormat方法的具体用法?C++ TextFile::PutFormat怎么用?C++ TextFile::PutFormat使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TextFile
的用法示例。
在下文中一共展示了TextFile::PutFormat方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ToPhyInterleavedFile
void MSA::ToPhyInterleavedFile(TextFile &File) const
{
const unsigned SeqCount = GetSeqCount();
const unsigned ColCount = GetColCount();
File.PutFormat("%d %d\n", SeqCount, ColCount);
if (0 == ColCount)
return;
unsigned Col = 0;
for (;;)
{
const unsigned ColBlockStart = Col;
const unsigned MaxCols = (ColBlockStart == 0) ? (BLOCKSIZE - 10) : BLOCKSIZE;
for (unsigned Seq = 0; Seq < SeqCount; ++Seq)
{
if (0 == ColBlockStart)
{
char Name[11];
const char *ptrName = GetSeqName(Seq);
size_t n = strlen(ptrName);
if (n > 10)
n = 10;
memcpy(Name, ptrName, n);
Name[n] = 0;
FixName(Name);
File.PutFormat("%-10.10s", Name);
}
Col = ColBlockStart;
for (unsigned ColsThisBlock = 0; ColsThisBlock < MaxCols; ++ColsThisBlock)
{
if (Col == ColCount)
break;
if (ColsThisBlock%10 == 0 && (0 == ColBlockStart || ColsThisBlock > 0))
File.PutChar(' ');
char c = GetChar(Seq, Col);
if (isalpha(c))
c = toupper(c);
File.PutChar(c);
++Col;
}
File.PutChar('\n');
}
if (Col == ColCount)
break;
File.PutChar('\n');
}
}
示例2: ToFileNodeRooted
void Tree::ToFileNodeRooted(TextFile &File, unsigned uNodeIndex) const
{
assert(IsRooted());
bool bGroup = !IsLeaf(uNodeIndex) || IsRoot(uNodeIndex);
if (bGroup)
File.PutString("(\n");
if (IsLeaf(uNodeIndex))
File.PutString(GetName(uNodeIndex));
else
{
ToFileNodeRooted(File, GetLeft(uNodeIndex));
File.PutString(",\n");
ToFileNodeRooted(File, GetRight(uNodeIndex));
}
if (bGroup)
File.PutString(")");
if (!IsRoot(uNodeIndex))
{
unsigned uParent = GetParent(uNodeIndex);
if (HasEdgeLength(uNodeIndex, uParent))
File.PutFormat(":%g", GetEdgeLength(uNodeIndex, uParent));
}
File.PutString("\n");
}
示例3: ToFASTAFile
void Seq::ToFASTAFile(TextFile &File) const
{
File.PutFormat(">%s\n", m_ptrName);
unsigned uColCount = Length();
for (unsigned n = 0; n < uColCount; ++n)
{
if (n > 0 && n%60 == 0)
File.PutString("\n");
File.PutChar(at(n));
}
File.PutString("\n");
}
示例4: ToFileNodeUnrooted
void Tree::ToFileNodeUnrooted(TextFile &File, unsigned uNodeIndex, unsigned uParent) const
{
assert(!IsRooted());
bool bGroup = !IsLeaf(uNodeIndex);
if (bGroup)
File.PutString("(\n");
if (IsLeaf(uNodeIndex))
File.PutString(GetName(uNodeIndex));
else
{
ToFileNodeUnrooted(File, GetFirstNeighbor(uNodeIndex, uParent), uNodeIndex);
File.PutString(",\n");
ToFileNodeUnrooted(File, GetSecondNeighbor(uNodeIndex, uParent), uNodeIndex);
}
if (bGroup)
File.PutString(")");
if (HasEdgeLength(uNodeIndex, uParent))
File.PutFormat(":%g", GetEdgeLength(uNodeIndex, uParent));
File.PutString("\n");
}
示例5: ToAlnFile
void MSA::ToAlnFile(TextFile &File) const
{
if (getMuscleContext()->params.g_bClwStrict)
File.PutString("CLUSTAL W (1.81) multiple sequence alignment\n");
else
{
File.PutString("MUSCLE ("
MUSCLE_MAJOR_VERSION "." MUSCLE_MINOR_VERSION ")"
" multiple sequence alignment\n");
File.PutString("\n");
}
int iLongestNameLength = 0;
for (unsigned uSeqIndex = 0; uSeqIndex < GetSeqCount(); ++uSeqIndex)
{
const char *ptrName = GetSeqName(uSeqIndex);
const char *ptrBlank = strchr(ptrName, ' ');
int iLength;
if (0 != ptrBlank)
iLength = (int) (ptrBlank - ptrName);
else
iLength = (int) strlen(ptrName);
if (iLength > iLongestNameLength)
iLongestNameLength = iLength;
}
if (iLongestNameLength > MAX_NAME)
iLongestNameLength = MAX_NAME;
if (iLongestNameLength < MIN_NAME)
iLongestNameLength = MIN_NAME;
unsigned uLineCount = (GetColCount() - 1)/uCharsPerLine + 1;
for (unsigned uLineIndex = 0; uLineIndex < uLineCount; ++uLineIndex)
{
File.PutString("\n");
unsigned uStartColIndex = uLineIndex*uCharsPerLine;
unsigned uEndColIndex = uStartColIndex + uCharsPerLine - 1;
if (uEndColIndex >= GetColCount())
uEndColIndex = GetColCount() - 1;
char Name[MAX_NAME+1];
for (unsigned uSeqIndex = 0; uSeqIndex < GetSeqCount(); ++uSeqIndex)
{
const char *ptrName = GetSeqName(uSeqIndex);
const char *ptrBlank = strchr(ptrName, ' ');
int iLength;
if (0 != ptrBlank)
iLength = (int) (ptrBlank - ptrName);
else
iLength = (int) strlen(ptrName);
if (iLength > MAX_NAME)
iLength = MAX_NAME;
memset(Name, ' ', MAX_NAME);
memcpy(Name, ptrName, iLength);
Name[iLongestNameLength] = 0;
File.PutFormat("%s ", Name);
for (unsigned uColIndex = uStartColIndex; uColIndex <= uEndColIndex;
++uColIndex)
{
const char c = GetChar(uSeqIndex, uColIndex);
File.PutFormat("%c", toupper(c));
}
File.PutString("\n");
}
memset(Name, ' ', MAX_NAME);
Name[iLongestNameLength] = 0;
File.PutFormat("%s ", Name);
for (unsigned uColIndex = uStartColIndex; uColIndex <= uEndColIndex;
++uColIndex)
{
const char c = GetAlnConsensusChar(*this, uColIndex);
File.PutChar(c);
}
File.PutString("\n");
}
}