本文整理汇总了C++中CConstRef::GetNamedQual方法的典型用法代码示例。如果您正苦于以下问题:C++ CConstRef::GetNamedQual方法的具体用法?C++ CConstRef::GetNamedQual怎么用?C++ CConstRef::GetNamedQual使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CConstRef
的用法示例。
在下文中一共展示了CConstRef::GetNamedQual方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GenerateLocusTags
// ----------------------------------------------------------------------------
void CFeatTableEdit::GenerateLocusTags()
// ----------------------------------------------------------------------------
{
CRef<CGb_qual> pLocusTag;
SAnnotSelector selGenes;
selGenes.IncludeFeatSubtype(CSeqFeatData::eSubtype_gene);
CFeat_CI itGenes(mHandle, selGenes);
for ( ; itGenes; ++itGenes) {
string locusTagVal = itGenes->GetNamedQual("locus_tag");
if (!locusTagVal.empty()) {
continue;
}
CSeq_feat_EditHandle feh(mpScope->GetObjectHandle(
(itGenes)->GetOriginalFeature()));
feh.AddQualifier("locus_tag", xNextLocusTag());
}
SAnnotSelector selOther;
selOther.ExcludeFeatSubtype(CSeqFeatData::eSubtype_gene);
CFeat_CI itOther(mHandle, selOther);
for ( ; itOther; ++itOther) {
const CSeq_feat& feat = itOther->GetOriginalFeature();
CSeq_feat_EditHandle feh(mpScope->GetObjectHandle(
(itOther)->GetOriginalFeature()));
feh.RemoveQualifier("locus_tag");
CConstRef<CSeq_feat> pGeneParent = xGetGeneParent(feat);
if (!pGeneParent) {
continue;
}
string locusTag = pGeneParent->GetNamedQual("locus_tag");
feh.AddQualifier("locus_tag", locusTag);
}
}
示例2: xCurrentTranscriptId
// ----------------------------------------------------------------------------
string CFeatTableEdit::xCurrentTranscriptId(
const CSeq_feat& cds)
// ----------------------------------------------------------------------------
{
// format: mLocusTagPrefix|mrna.<locus tag of gene>[_numeric disambiguation]
CConstRef<CSeq_feat> pGene = xGetGeneParent(cds);
if (!pGene) {
return "";
}
string locusTag = pGene->GetNamedQual("locus_tag");
string disAmbig = "";
map<string, int>::iterator it = mMapProtIdCounts.find(locusTag);
if (it != mMapProtIdCounts.end() && mMapProtIdCounts[locusTag] != 0) {
disAmbig = string("_") + NStr::IntToString(mMapProtIdCounts[locusTag]);
}
return (mLocusTagPrefix + "|mrna." + locusTag + disAmbig);
}
示例3: xNextProteinId
// ----------------------------------------------------------------------------
string CFeatTableEdit::xNextProteinId(
const CSeq_feat& cds)
// ----------------------------------------------------------------------------
{
// format: mLocusTagPrefix|<locus tag of gene>[_numeric disambiguation]
CConstRef<CSeq_feat> pGene = xGetGeneParent(cds);
if (!pGene) {
return "";
}
string locusTag = pGene->GetNamedQual("locus_tag");
string disAmbig = "";
map<string, int>::iterator it = mMapProtIdCounts.find(locusTag);
if (it == mMapProtIdCounts.end()) {
mMapProtIdCounts[locusTag] = 0;
}
else {
++mMapProtIdCounts[locusTag];
disAmbig = string("_") + NStr::IntToString(mMapProtIdCounts[locusTag]);
}
return (mLocusTagPrefix + "|" + locusTag + disAmbig);
}