73 if (!
b.IsSetAnnot()) {
76 size_t num_features = 0;
79 if ((*a)->IsFtable()) {
80 num_features += (*a)->GetData().GetFtable().size();
81 if (num_features > 100) {
86 if (num_features < 100) {
97 for ( ; seq_iter; ++seq_iter ) {
112 for (
const auto& it : sources) {
123 unsigned int k, j,
tmp;
124 if (index_list.size() < 2) {
127 for (k = 0; k < index_list.size() - 1; k++) {
128 for (j = k + 1; j < index_list.size(); j++) {
129 if (modifier_list[index_list[k]].GetRank() > modifier_list[index_list[j]].GetRank()) {
131 index_list[k] = index_list[j];
145 remaining_list.clear();
150 for (k = 0; k < modifier_list.size(); k++) {
151 if (modifier_list[k].AllPresent() && modifier_list[k].AllUnique()) {
152 index_list.push_back(k);
153 }
else if (modifier_list[k].AnyPresent()) {
154 remaining_list.push_back(k);
160 for (k = 0; k < remaining_list.size(); k++) {
161 index_list.push_back(remaining_list[k]);
187 modifier_list.clear();
190 unsigned int num_present = 0;
191 for (
unsigned int k = 0; k < modifier_list.size(); k++) {
192 if (modifier_list[k].AnyPresent()) {
219 TModifierComboVector::iterator it;
226 if (combo_list[0]->GetMaxInGroup() == 1) {
232 it = combo_list.begin();
234 while (it != combo_list.end()) {
235 tmp = (*it)->ExpandByAnyPresent ();
238 for (k = 0; k <
tmp.size(); k++) {
241 it = combo_list.erase (it);
247 for (k = 0; k < add_list.size(); k++) {
252 if (combo_list[0]->GetMaxInGroup() == 1) {
261 return combo_list[0];
273 modifier_list.clear();
277 for (
unsigned int k = 0; k < modifier_list.size(); k++) {
278 if (modifier_list[k].AnyPresent()) {
279 if (modifier_list[k].IsOrgMod()) {
313 return best->GetSourceDescriptionString(bsrc);
322 if (main_clause ==
NULL) {
430 if (seh && seh.
IsSet()) {
449 if (seh && seh.
IsSet()) {
457 for ( ; seq_iter; ++seq_iter ) {
462 if (*seq_iter == bh) {
476 range.SetFrom(start);
484 bool is_single =
true;
485 bool found_single =
false;
496 while (feat_ci && is_list) {
506 }
else if (
NStr::Equal(feat_ci->
GetComment(),
"contains 5S ribosomal RNA and nontranscribed spacer")) {
516 if (is_single && !found_single) {
531 bool is_single =
true;
543 bool has_promoter =
false;
546 while (f_ci && !has_promoter) {
566 uo.HasField(
"Bracketed record seq.",
"") ?
588 fake_promoter_loc->
SetInt().SetId(*new_id);
589 fake_promoter_loc->
SetInt().SetFrom(0);
604 return "5S ribosomal RNA gene region";
612 for (
auto it : fclause) {
614 (it->IsRecognizedFeature() ||
681 bool is_virus =
false;
709 switch (genome_val) {
711 organelle =
"macronuclear";
714 organelle =
"nucleomorph";
717 organelle =
"mitochondrion";
720 organelle =
"apicoplast";
723 organelle =
"chloroplast";
726 organelle =
"chromoplast";
729 organelle =
"kinetoplast";
732 organelle =
"plastid";
735 organelle =
"cyanelle";
738 organelle =
"leucoplast";
741 organelle =
"proplastid";
744 organelle =
"hydrogenosome";
754 string::size_type pos;
771 }
else if (
NStr::Find(
label,
"apicoplast") != NCBI_NS_STD::string::npos) {
773 }
else if (
NStr::Find(
label,
"chloroplast") != NCBI_NS_STD::string::npos) {
775 }
else if (
NStr::Find(
label,
"chromoplast") != NCBI_NS_STD::string::npos) {
777 }
else if (
NStr::Find(
label,
"kinetoplast") != NCBI_NS_STD::string::npos) {
779 }
else if (
NStr::Find(
label,
"proplastid") != NCBI_NS_STD::string::npos) {
781 }
else if ((pos =
NStr::Find(
label,
"plastid")) != NCBI_NS_STD::string::npos
784 }
else if (
NStr::Find(
label,
"cyanelle") != NCBI_NS_STD::string::npos) {
786 }
else if (
NStr::Find(
label,
"leucoplast") != NCBI_NS_STD::string::npos) {
800 bool pluralize =
false;
801 unsigned int product_flag_to_use;
810 if (
NStr::Find(feature_clauses,
"genes") != NCBI_NS_STD::string::npos) {
813 string::size_type pos =
NStr::Find(feature_clauses,
"gene");
814 if (pos != NCBI_NS_STD::string::npos
815 &&
NStr::Find (feature_clauses,
"gene", pos + 4) != NCBI_NS_STD::string::npos) {
821 string genome_from_mods;
831 string note = (*subSrcI)->GetName();
833 genome_from_mods = note;
843 ending =
"mitochondrial";
846 ending =
"; " + ending;
852 ending =
"; " + genome_from_mods;
856 ending =
"mitochondrial";
859 ending =
"; nuclear genes for " + ending +
" products";
861 ending =
"; nuclear gene for " + ending +
" product";
868 ending =
"mitochondrial";
870 ending =
"; nuclear copy of " + ending +
" gene";
884 end =
", complete sequence.";
887 end =
", complete genome.";
890 end =
", partial sequence.";
893 end =
", partial genome.";
900 end =
", whole genome shotgun sequence.";
911 bool is_mRNA =
false;
913 if (desc->GetMolinfo().CanGetBiomol()
937 string feature_clauses;
950 feature_clauses =
" " + organelle;
962 feature_clauses =
" " + biomol;
967 return feature_clauses;
973 string feature_clauses;
975 if (listAllFeatures) {
979 for (; annot_ci; ++annot_ci) {
994 if (numGenes + numCDSs > 100) {
1001 return feature_clauses;
1010 feature_clauses =
" " + feature_clauses;
1014 ending =
"; alternatively spliced";
1016 ending +=
", alternatively spliced";
1019 feature_clauses += ending;
1021 feature_clauses =
".";
1023 feature_clauses +=
".";
1029 return feature_clauses;
1042 keyword =
"TPA_inf: ";
1045 keyword =
"TPA_exp: ";
1062 auto start = s.begin();
1070 }
while (std::distance(start, end) > 0 &&
std::isspace(*end));
1101 return sequence::CDeflineGenerator()
1102 .GenerateDefline(bh,
1103 sequence::CDeflineGenerator::fIgnoreExisting |
1104 sequence::CDeflineGenerator::fAllProteinNames);
1106 string org_desc =
"Unknown organism";
1120 if (org_desc.length() > 0 &&
isalpha(org_desc.c_str()[0])) {
1121 string first_letter = org_desc.substr(0, 1);
1122 string remainder = org_desc.substr(1);
1124 org_desc = first_letter + remainder;
1130 string key_org =
x_trim(keyword + org_desc);
1131 feature_clauses =
x_trim(feature_clauses);
1133 return keyword + org_desc + feature_clauses;
1138 return keyword + org_desc +
", " + feature_clauses;
1140 return keyword + org_desc +
" " + feature_clauses;
1142 return keyword + org_desc;
1151 return sequence::CDeflineGenerator()
1152 .GenerateDefline(bh,
1153 sequence::CDeflineGenerator::fIgnoreExisting);
1155 string org_desc =
"Unknown organism";
1163 org_desc = mod_combo->GetSourceDescriptionString(bsrc);
1171 if (org_desc.length() > 0 &&
isalpha(org_desc.c_str()[0])) {
1172 string first_letter = org_desc.substr(0, 1);
1173 string remainder = org_desc.substr(1);
1175 org_desc = first_letter + remainder;
1180 return keyword + org_desc + feature_clauses;
1188 modifier_list.clear();
1190 for (
unsigned int k = 0; k < modifier_list.size(); k++) {
1212 while (
b && !options) {
1252 for (; b_iter; ++b_iter) {
1253 if (b_iter->
IsAa()) {
1263 bool found_existing =
false;
1266 if ((*it)->IsTitle()) {
1268 (*it)->SetTitle(defline);
1271 found_existing =
true;
1275 if (!found_existing) {
1278 beh.
SetDescr().Set().push_back(new_desc);
1296 if ((*f)->IsSetLabel() && (*f)->GetLabel().IsStr() &&
1298 (*f)->IsSetData() && (*f)->GetData().IsStr()) {
1320 if ((*it)->IsSetData() && (*it)->GetData().IsStr() &&
1321 (*it)->IsSetLabel() && (*it)->GetLabel().IsStr()) {
1322 const string&
label = (*it)->GetLabel().GetStr();
1324 locus_name = (*it)->GetData().GetStr();
1326 allele = (*it)->GetData().GetStr();
1328 repeat = (*it)->GetData().GetStr();
1330 flanking = (*it)->GetData().GetStr();
1332 assay = (*it)->GetData().GetStr();
1338 string clause =
"microsatellite " + locus_name +
" " + allele +
" " + repeat;
1341 if (
f->IsSetDbxref()) {
1343 if ((*db)->IsSetDb() &&
NStr::Equal((*db)->GetDb(),
"dbSNP") &&
1344 (*db)->IsSetTag()) {
1345 if ((*db)->GetTag().IsStr()) {
1346 clause +=
" " + (*db)->GetTag().GetStr();
1347 }
else if ((*db)->GetTag().IsId()) {
1355 if (flanking !=
"") {
1356 clause +=
" " + flanking;
1359 clause +=
" " + assay;
1361 clause +=
" sequence";
1369 string lengthBasedAllele;
1370 string bracketedRecordSeq;
1375 if ((*it)->IsSetData() && (*it)->GetData().IsStr() &&
1376 (*it)->IsSetLabel() && (*it)->GetLabel().IsStr()) {
1378 const string&
label = (*it)->GetLabel().GetStr();
1380 locusName = (*it)->GetData().GetStr();
1383 lengthBasedAllele = (*it)->GetData().GetStr();
1386 bracketedRecordSeq = (*it)->GetData().GetStr();
1389 assayCode = (*it)->GetData().GetStr();
1395 string clause =
"microsatellite " + locusName +
" " + lengthBasedAllele +
1396 " " + bracketedRecordSeq;
1397 if (assayCode !=
"") {
1398 clause +=
" " + assayCode;
1400 clause +=
" sequence";
1408 for (
auto & modifier : modifiers) {
1409 if (modifier.IsOrgMod() && is_org_mod) {
1410 if (modifier.GetOrgModType() == subtype) {
1411 if (modifier.AllPresent()) {
1414 else if (modifier.AnyPresent() && !require_all) {
1418 modifier.SetRequested(
true);
1423 else if (!modifier.IsOrgMod() && !is_org_mod) {
1424 if (modifier.GetSubSourceType() == subtype) {
1425 if (modifier.AllPresent()) {
1428 else if (modifier.AnyPresent() && !require_all) {
1432 modifier.SetRequested(
true);
1449 src_combo->GetAvailableModifiers(modifiers);
1461 static bool is_orgmod[] = {
true,
false,
true,
false,
true,
true,
true,
true,
true,
true };
1462 static int num_subtypes =
sizeof(subtypes) /
sizeof(
int);
1467 for (
int i = 0;
i < num_subtypes && !found;
i++) {
1472 for (
int i = 0;
i < num_subtypes && !found;
i++) {
1476 if (!src_combo->AreFeatureClausesUnique()) {
1478 for (
auto &modifier : modifiers) {
1479 if (modifier.AnyPresent()) {
1480 if (modifier.IsOrgMod()) {
1481 if (src_combo->HasOrgMod(modifier.GetOrgModType())) {
1482 modifier.SetRequested(
true);
1485 else if (src_combo->HasSubSource(modifier.GetSubSourceType())) {
1486 modifier.SetRequested(
true);
1495 for(
const auto &it : modifiers) {
1496 if (it.IsRequested()) {
1497 if (it.IsOrgMod()) {
User-defined methods of the data storage class.
User-defined methods of the data storage class.
std::string x_trim(const std::string &s)
static bool s_IsBioseqGenomic(CBioseq_Handle bsh)
static unsigned int s_GetProductFlagFromCDSProductNames(CBioseq_Handle bh)
bool IsBioseqmRNA(CBioseq_Handle bsh)
bool IsInGenProdSet(CBioseq_Handle bh)
static bool s_IsRefSeq(CBioseq_Handle bsh)
string OrganelleByGenome(unsigned int genome_val)
CConstRef< CUser_object > s_GetOptionsForSet(CBioseq_set_Handle set)
bool s_HasPromoter(CBioseq_Handle bh)
bool s_NeedFeatureClause(const CBioseq &b)
bool s_ChooseModInModList(bool is_org_mod, int subtype, bool require_all, CAutoDefSourceDescription::TAvailableModifierVector &modifiers)
vector< CRef< CAutoDefFeatureClause > > FeatureClauseFactory(CBioseq_Handle bh, const CSeq_feat &cf, const CSeq_loc &mapped_loc, const CAutoDefOptions &opts, bool is_single_misc_feat)
void RemoveFeaturesInmRNAsByType(unsigned int feature_type, bool except_promoter=false)
void GroupConsecutiveExons(CBioseq_Handle bh)
virtual CSeqFeatData::ESubtype GetMainFeatureSubtype() const
void RemoveFeaturesByType(unsigned int feature_type, bool except_promoter=false)
void ConsolidateRepeatedClauses(bool suppress_allele)
string ListClauses(bool allow_semicolons, bool suppress_final_and, bool suppress_allele)
void GroupGenes(bool suppress_allele)
void RemoveFeaturesUnderType(unsigned int feature_type)
bool IsFeatureTypeLonely(unsigned int feature_type) const
virtual bool IsBioseqPrecursorRNA() const
void GroupClauses(bool gene_cluster_opp_strand)
virtual void AddSubclause(CRef< CAutoDefFeatureClause_Base > subclause)
void GroupmRNAs(bool suppress_allele)
void RemoveBioseqPrecursorRNAs()
void GroupSegmentedCDSs(bool suppress_allele)
void AssignGeneProductNames(CAutoDefFeatureClause_Base *main_clause, bool suppress_allele)
size_t GetNumSubclauses()
virtual void SuppressMobileElementAndInsertionSequenceSubfeatures()
void RemoveUnwantedExons()
virtual void ReverseCDSClauseLists()
void GroupAltSplicedExons(CBioseq_Handle bh)
void RemoveGenesMentionedElsewhere()
void FindAltSplices(bool suppress_allele)
virtual void Label(bool suppress_allele)
void RemoveDeletedSubclauses()
void RemoveOptionalMobileElements()
virtual bool IsPromoter() const
bool HasSubSource(CSubSource::ESubtype st)
void AddSource(const CBioSource &bs, const string &feature_clauses="")
void GetAvailableModifiers(CAutoDefSourceDescription::TAvailableModifierVector &modifier_list)
bool HasOrgMod(COrgMod::ESubtype st)
void AddOrgMod(COrgMod::ESubtype st, bool even_if_not_uniquifying=false)
string GetSourceDescriptionString(const CBioSource &bsrc)
void AddSubsource(CSubSource::ESubtype st, bool even_if_not_uniquifying=false)
bool GetDefaultExcludeSp()
void SetOptions(const CAutoDefOptions &options)
void SetExcludeSpOrgs(bool exclude)
void InitOptions(CAutoDefOptions &options) const
void SuppressAllFeatures()
bool GetAltSpliceFlag() const
bool GetKeepuORFs() const
bool GetKeepRegulatoryFeatures() const
bool GetKeepExons() const
void SuppressFeature(CSeqFeatData::ESubtype subtype)
void AddOrgMod(COrgMod::TSubtype subtype)
@ eWholeGenomeShotgunSequence
bool GetSuppressMiscFeatureSubfeatures() const
CRef< CUser_object > MakeUserObject() const
void InitFromUserObject(const CUser_object &obj)
bool GetGeneClusterOppStrand() const
bool GetKeepIntrons() const
string GetCustomFeatureClause() const
bool GetSuppressMobileElementSubfeatures() const
bool GetKeepPrecursorRNA() const
TFeatureListType GetFeatureListType() const
bool GetKeep3UTRs() const
bool GetKeep5UTRs() const
bool GetSuppressAlleles() const
bool GetSuppressFeatureAltSplice() const
CBioSource::TGenome GetNuclearCopyFlag() const
bool GetKeepRepeatRegion() const
CBioSource::TGenome GetProductFlag() const
bool GetKeepMiscRecomb() const
bool GetSpecifyNuclearProduct() const
void AddSubSource(CSubSource::TSubtype subtype)
bool IsFeatureSuppressed(CSeqFeatData::ESubtype subtype) const
bool GetUseFakePromoters() const
bool GetKeepMobileElements() const
vector< CAutoDefSourceModifierInfo > TModifierVector
vector< CAutoDefAvailableModifier > TAvailableModifierVector
void GetAvailableModifiers(TAvailableModifierSet &mod_set)
bool x_IsSingleMiscFeat(CFeat_CI feat_ci)
vector< CConstRef< objects::CBioSource > > TSources
string GetOneSourceDescription(const CBioseq_Handle &bh)
string x_GetNonFeatureListEnding()
CAutoDefModifierCombo m_OrigModCombo
static string GetKeywordPrefix(CBioseq_Handle bh)
bool x_IsFeatureSuppressed(CSeqFeatData::ESubtype subtype)
bool x_Is5SList(CFeat_CI feat_ci)
bool x_IsSubSrcRequired(unsigned int mod_type)
static CRef< CUser_object > CreateIDOptions(CSeq_entry_Handle seh)
void GetMasterLocation(CBioseq_Handle &bh, CRange< TSeqPos > &range)
void SetOptionsObject(const CUser_object &user)
bool x_IsOrgModRequired(unsigned int mod_type)
void AddDescriptors(const TSources &sources)
void AddSources(CSeq_entry_Handle se)
string x_GetHumanSTRFeatureClauses(CBioseq_Handle bh, const CUser_object &comment)
unsigned int GetNumAvailableModifiers()
bool x_IsHumanSTR(const CUser_object &obj)
CRef< CUser_object > GetOptionsObject() const
string x_GetFeatureClauseProductEnding(const string &feature_clauses, CBioseq_Handle bh)
CRef< feature::CFeatTree > m_Feat_Tree
void SetOptions(const CAutoDefModifierCombo &mod_combo)
string x_GetOneNonFeatureClause(CBioseq_Handle bh, unsigned int genome_val)
CAutoDefOptions m_Options
void x_SortModifierListByRank(TModifierIndexVector &index_list, CAutoDefSourceDescription::TAvailableModifierVector &modifier_list)
string GetOneDefLine(CAutoDefModifierCombo *mod_combo, const CBioseq_Handle &bh, CRef< feature::CFeatTree > featTree=null)
string x_GetHumanSTRv2FeatureClauses(CBioseq_Handle bh, const CUser_object &comment)
void x_GetModifierIndexList(TModifierIndexVector &index_list, CAutoDefSourceDescription::TAvailableModifierVector &modifier_list)
CRef< CAutoDefModifierCombo > FindBestModifierCombo()
static bool RegenerateSequenceDefLines(CSeq_entry_Handle se)
string x_GetFeatureClauses(const CBioseq_Handle &bh)
void x_RemoveOptionalFeatures(CAutoDefFeatureClause_Base *main_clause, const CBioseq_Handle &bh)
void SuppressFeature(const objects::CFeatListItem &feat)
bool IsSegment(const CBioseq_Handle &bh)
CAutoDefModifierCombo * GetEmptyCombo()
CAutoDefModifierCombo * GetAllModifierCombo()
vector< unsigned int > TModifierIndexVector
string GetOneFeatureClauseList(CBioseq_Handle bh, unsigned int genome_val)
static string RegenerateDefLine(CBioseq_Handle bh)
vector< CRef< CAutoDefModifierCombo > > TModifierComboVector
static string GetBiomolName(CMolInfo::TBiomol biomol)
const string & GetDivision(void) const
bool IsSetDivision(void) const
ESubtype GetSubtype(void) const
namespace ncbi::objects::
@ eObjectType_StructuredComment
@ eObjectType_AutodefOptions
EObjectType GetObjectType() const
iterator_bool insert(const value_type &val)
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Optimized implementation of CSerialObject::Assign, which is not so efficient.
static int BestRank(const CRef< CSeq_id > &id)
string GetLabel(const CSeq_id &id)
CMappedFeat GetBestOverlappingFeat(const CMappedFeat &feat, CSeqFeatData::ESubtype need_subtype, sequence::EOverlapType overlap_type, CFeatTree *feat_tree=0, const SAnnotSelector *base_sel=0)
@ fFGL_Content
Include its content if there is any.
@ eOverlap_Simple
any overlap of extremes
bool IsSetComment(void) const
bool CanGetInst_Repr(void) const
CConstRef< CBioseq > GetCompleteBioseq(void) const
Get the complete bioseq.
TClass GetClass(void) const
CBioseq_set_Handle GetParentBioseq_set(void) const
Return a handle for the parent Bioseq-set, or null handle.
CSeq_entry_Handle GetParentEntry(void) const
Get parent Seq-entry handle.
void SetDescr(TDescr &v) const
TBioseqCore GetBioseqCore(void) const
Get bioseq core structure.
bool CanGetClass(void) const
const CSeqFeatData & GetData(void) const
bool CanGetInst(void) const
TSeqPos GetBioseqLength(void) const
CConstRef< CSeq_annot > GetCompleteSeq_annot(void) const
Complete and return const reference to the current seq-annot.
CBioseq_set_Handle GetParentBioseq_set(void) const
Return a handle for the parent Bioseq-set, or null handle.
bool IsSetProduct(void) const
const string & GetComment(void) const
TInst_Length GetInst_Length(void) const
bool IsSetClass(void) const
TInst_Repr GetInst_Repr(void) const
CScope & GetScope(void) const
Get scope this handle belongs to.
CSeq_entry_Handle GetParentEntry(void) const
Get parent Seq-entry handle.
const TId & GetId(void) const
const TInst & GetInst(void) const
const CSeq_feat & GetOriginalFeature(void) const
Get original feature with unmapped location/product.
const CSeq_feat & GetMappedFeature(void) const
Feature mapped to the master sequence.
const CSeq_loc & GetProduct(void) const
CConstRef< CSeq_feat > GetSeq_feat(void) const
Get current seq-feat.
void Reset(void)
Reset reference object.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define BEGIN_SCOPE(ns)
Define a new scope.
static bool IsBlank(const CTempString str, SIZE_TYPE pos=0)
Check if a string is blank (has no text).
static SIZE_TYPE Find(const CTempString str, const CTempString pattern, ECase use_case=eCase, EDirection direction=eForwardSearch, SIZE_TYPE occurrence=0)
Find the pattern in the string.
static bool StartsWith(const CTempString str, const CTempString start, ECase use_case=eCase)
Check if a string starts with a specified prefix value.
static bool EqualNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)
Case-insensitive equality of a substring with another string.
static enable_if< is_arithmetic< TNumeric >::value||is_convertible< TNumeric, Int8 >::value, string >::type NumericToString(TNumeric value, TNumToStringFlags flags=0, int base=10)
Convert numeric value to string.
static bool Equal(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2, ECase use_case=eCase)
Test for equality of a substring with another string.
static string & ToUpper(string &str)
Convert string to upper case – string& version.
C::value_type FindBestChoice(const C &container, F score_func)
Find the best choice (lowest score) for values in a container.
static const char label[]
const TKeywords & GetKeywords(void) const
Get the Keywords member data.
bool IsSetKeywords(void) const
Check if a value has been assigned to Keywords data member.
const TSubtype & GetSubtype(void) const
Get the Subtype member data.
TGenome GetGenome(void) const
Get the Genome member data.
bool CanGetSubtype(void) const
Check if it is safe to call GetSubtype method.
bool IsSetOrg(void) const
Check if a value has been assigned to Org data member.
list< CRef< CSubSource > > TSubtype
bool CanGetGenome(void) const
Check if it is safe to call GetGenome method.
const TOrg & GetOrg(void) const
Get the Org member data.
@ eSubtype_endogenous_virus_name
bool IsSetData(void) const
the object itself Check if a value has been assigned to Data data member.
const TData & GetData(void) const
Get the Data member data.
vector< CRef< CUser_field > > TData
@ eSubtype_specimen_voucher
@ eSubtype_culture_collection
bool IsSetExt(void) const
generic fields for ncRNA, tmRNA, miscRNA Check if a value has been assigned to Ext data member.
const TName & GetName(void) const
Get the variant data.
const TExt & GetExt(void) const
Get the Ext member data.
bool IsName(void) const
Check if variant Name is selected.
vector< CRef< CDbtag > > TDbxref
void SetLocation(TLocation &value)
Assign a value to Location data member.
const TLocation & GetLocation(void) const
Get the Location member data.
const TData & GetData(void) const
Get the Data member data.
const TRna & GetRna(void) const
Get the variant data.
@ e_not_set
No variant selected.
@ eClass_parts
parts for 2 or 3
@ eClass_gen_prod_set
genomic products, chrom+mRNA+protein
@ eClass_segset
segmented sequence + parts
list< CRef< CSeqdesc > > Tdata
const TUser & GetUser(void) const
Get the variant data.
TTitle & SetTitle(void)
Select the variant.
bool CanGetMol(void) const
Check if it is safe to call GetMol method.
const TSource & GetSource(void) const
Get the variant data.
bool IsSetBiomol(void) const
Check if a value has been assigned to Biomol data member.
const TId & GetId(void) const
Get the Id member data.
TTech GetTech(void) const
Get the Tech member data.
const TGenbank & GetGenbank(void) const
Get the variant data.
TMol GetMol(void) const
Get the Mol member data.
TBiomol GetBiomol(void) const
Get the Biomol member data.
bool IsSetTech(void) const
Check if a value has been assigned to Tech data member.
list< CRef< CSeq_annot > > TAnnot
const TMolinfo & GetMolinfo(void) const
Get the variant data.
@ eRepr_seg
segmented sequence
@ eRepr_raw
continuous sequence
@ eTech_tsa
transcriptome shotgun assembly
@ e_User
user defined object
@ e_Genbank
GenBank specific info.
@ e_Molinfo
info on the molecule and techniques
@ e_Source
source of materials, includes Org-ref
@ eMol_na
just a nucleic acid
range(_Ty, _Ty) -> range< _Ty >
constexpr auto sort(_Init &&init)
Miscellaneous common-use basic types and functionality.
#define FOR_EACH_SEQFEAT_ON_SEQANNOT(Itr, Var)
FOR_EACH_SEQFEAT_ON_SEQANNOT EDIT_EACH_SEQFEAT_ON_SEQANNOT.
#define NCBI_SEQID(Type)
@NAME Convenience macros for NCBI objects
bool operator()(const CRef< CAutoDefModifierCombo > &s1, const CRef< CAutoDefModifierCombo > &s2) const