108 if (pgcode > 0)
return pgcode;
174 if (g_iter == sm_GenomeKeys.end()) {
179 gtype = g_iter->second;
189 match = g_iter->first;
191 if (organelle.length() ==
match.length()
192 || (
match.length() < organelle.length() &&
isspace(organelle[
match.length()]))) {
193 gtype = g_iter->second;
200 if (
NStr::Equal(organelle,
"mitochondrial", use_case)) {
204 if (
NStr::Equal(organelle, g_iter->first, use_case)) {
205 gtype = g_iter->second;
220 while (g_iter != sm_GenomeKeys.end() &&
221 unsigned(g_iter->second) != genome) {
224 if (g_iter != sm_GenomeKeys.end()) {
225 organelle = g_iter->first;
260 if (g_iter == sm_OriginKeys.end ()) {
261 g_iter = sm_OriginSynonyms.find (
origin.c_str());
262 if (g_iter != sm_OriginSynonyms.end ()) {
263 gtype = g_iter->second;
266 gtype = g_iter->second;
273 while (g_iter != sm_OriginKeys.end() && !found) {
274 match = g_iter->first;
278 gtype = g_iter->second;
285 g_iter = sm_OriginSynonyms.begin();
286 while (g_iter != sm_OriginSynonyms.end() && !found) {
287 match = g_iter->first;
291 gtype = g_iter->second;
299 while (g_iter != sm_OriginKeys.end() && !found) {
301 gtype = g_iter->second;
306 g_iter = sm_OriginSynonyms.begin();
307 while (g_iter != sm_OriginSynonyms.end() && !found) {
309 gtype = g_iter->second;
322 string origin_str =
"";
324 while (g_iter != sm_OriginKeys.end() &&
325 unsigned(g_iter->second) !=
origin) {
328 if (g_iter != sm_OriginKeys.end()) {
329 origin_str = g_iter->first;
425 if ((*sit)->IsSetSubtype() && (*sit)->IsSetName()){
427 string name =(*sit)->GetName();
442 if(bioprojtype ==
"eSegment")
461 return "kinetoplast";
492 return "eExtrachrom";
506 return "eLinkageGroup";
518 return "eChromosome";
525 return "eNuclearProkaryote";
533 return "eVirionPhage";
542 return "eNuclearProkaryote";
550 return "eNuclearProkaryote";
553 return "eMitochondrion";
556 return "eKinetoplast";
559 return "eChloroplast";
562 return "eChromoplast";
568 return "eMacronuclear";
575 return "eProviralProphage";
581 return "eVirionPhage";
589 return "eNucleomorph";
592 return "eApicoplast";
595 return "eLeucoplast";
598 return "eProplastid";
601 return "eHydrogenosome";
604 return "eChromatophore";
613 return "eNuclearProkaryote";
678 COrgName::TMod::iterator it = org_ref.
SetOrgname().SetMod().begin();
679 while (it != org_ref.
SetOrgname().SetMod().end()) {
729 string sample_val = (*it)->GetSampleVal();
740 mod->SetSubtype(subtype);
741 mod->SetSubname(sample_val);
756 subtypes.push_back(sub);
768 subtypes.push_back(sub);
782 if (!subtypes.empty()) {
795 CBioSource::TSubtype::iterator it =
SetSubtype().begin();
848 if (stop1 && stop2) {
884 if ((*it)->IsSetSubname() && (*it)->IsSetSubtype()) {
905 if ((*it)->IsSetName() && (*it)->IsSetSubtype()) {
913 string val = (*it)->GetName();
1019 if (val1 > 180.0 || val2 > 180.0) {
1024 sprintf(buf1,
"%0.2f", val1);
1025 sprintf(buf2,
"%0.2f", val2);
1026 if (
strcmp(buf1, buf2) == 0) {
1083 switch (ignore_type) {
1105 bool src_format_correct, src_precision_correct,
1106 src_lat_in_range, src_lon_in_range;
1107 double src_lat_value, src_lon_value;
1109 src_lat_in_range, src_lon_in_range,
1110 src_lat_value, src_lon_value);
1111 bool smpl_format_correct, smpl_precision_correct,
1112 smpl_lat_in_range, smpl_lon_in_range;
1113 double smpl_lat_value, smpl_lon_value;
1115 smpl_lat_in_range, smpl_lon_in_range,
1116 smpl_lat_value, smpl_lon_value);
1117 if (src_format_correct && smpl_format_correct
1129 if (src_date && smpl_date && src_date->
Equals(*smpl_date)) {
1156 vector<bool> matched1;
1157 for (
size_t i = 0;
i < list1.size();
i++) {
1158 matched1.push_back(
false);
1161 vector<bool> matched2;
1162 for (
size_t i = 0;
i < list2.size();
i++) {
1163 matched2.push_back(
false);
1165 for (
size_t i = 0;
i < list1.size();
i++) {
1167 for (
size_t j = 0; j < list2.size(); j++) {
1180 for (
size_t i = 0;
i < list1.size();
i++) {
1182 bool reported =
false;
1183 for (
size_t j = 0; j < list2.size(); j++) {
1186 list.push_back(diff);
1194 list.push_back(diff);
1198 for (
size_t j = 0; j < list2.size(); j++) {
1201 list.push_back(diff);
1212 CBioSource::TNameValList::iterator it1 = list1.begin();
1213 CBioSource::TNameValList::iterator it2 = list2.begin();
1214 vector<bool> matched;
1216 while (it1 != list1.end() && it2 != list2.end()) {
1221 list.push_back(diff);
1224 }
else if (
cmp > 0) {
1227 list.push_back(diff);
1232 const string& val_name = it1->first;
1235 v1.push_back(it1->second);
1236 v2.push_back(it2->second);
1239 while (it1 != list1.end() &&
NStr::Equal(it1->first, val_name)) {
1240 v1.push_back(it1->second);
1243 while (it2 != list2.end() &&
NStr::Equal(it2->first, val_name)) {
1244 v2.push_back(it2->second);
1251 while (it1 != list1.end()) {
1254 list.push_back(diff);
1258 while (it2 != list2.end()) {
1261 list.push_back(diff);
1270 string src_tax =
"";
1274 string sample_tax =
"";
1278 TFieldDiffList::iterator it = diff_list.begin();
1279 while (it != diff_list.end()) {
1283 &&
NStr::Find(sample_tax, (*it)->GetSrcVal()) != string::npos) {
1288 &&
NStr::Find(src_tax, (*it)->GetSampleVal()) != string::npos) {
1295 it = diff_list.erase(it);
1305 TFieldDiffList::iterator it = diff_list.begin();
1306 while (it != diff_list.end()) {
1308 it = diff_list.erase(it);
1354 "missing: control sample",
1355 "missing: data agreement established pre-2023",
1356 "missing: endangered species",
1357 "missing: human-identifiable",
1358 "missing: lab stock",
1359 "missing: sample group",
1360 "missing: synthetic construct",
1361 "missing: third party data",
1372 "restricted access",
1395 CBioSource::TSubtype::iterator it =
SetSubtype().begin();
1398 if ((*it)->IsSetSubtype()
1400 && (!(*it)->IsSetName() ||
NStr::IsBlank((*it)->GetName()))) {
1412 while (it !=
SetOrg().SetOrgname().SetMod().end()) {
1414 if ((*it)->IsSetSubtype()
1415 && (!(*it)->IsSetSubname() ||
NStr::IsBlank((*it)->GetSubname()))) {
1431 CBioSource::TSubtype::iterator it =
SetSubtype().begin();
1464 "Tax class/lineage",
1465 "Taxonomic classification",
1466 "Taxonomic Classification is",
1490 bool match =
true, at_least_one =
false;
1493 const char* ch =
orig;
1495 while (
isspace((
unsigned char)(*ch)) ||
ispunct((
unsigned char)(*ch))) {
1498 while (*ch != 0 &&
match) {
1500 for (TWordList::const_iterator word = word_list.begin(); word != word_list.end() && !
match; ++word) {
1501 size_t length = word->size();
1503 unsigned char next = *(ch + length);
1507 at_least_one =
true;
1511 while (
isspace((
unsigned char)(*ch)) ||
ispunct((
unsigned char)(*ch))) {
1515 return (
match && at_least_one);
1524 bool any_removed =
false;
1540 CBioSource::TSubtype::iterator it =
SetSubtype().begin();
1543 bool removed =
false;
1565 while (iter !=
SetOrg().SetOrgname().SetMod().end()) {
1567 bool removed =
false;
1596 CBioSource::TSubtype::iterator it =
SetSubtype().begin();
1598 if ((*it)->IsSetSubtype() && (*it)->GetSubtype() == subtype) {
1618 CBioSource::TSubtype::iterator it =
SetSubtype().begin();
1620 if ((*it)->IsSetSubtype() && (*it)->GetSubtype() == subtype &&
1642 while (it !=
SetOrg().SetOrgname().SetMod().end()) {
1643 if ((*it)->IsSetSubtype() && (*it)->GetSubtype() == subtype) {
1664 while (it !=
SetOrg().SetOrgname().SetMod().end()) {
1665 if ((*it)->IsSetSubtype() && (*it)->GetSubtype() == subtype &&
1666 (*it)->IsSetSubname() &&
NStr::Equal((*it)->GetSubname(),
val)) {
1683 bool has_env_sample =
false;
1684 bool has_metagenomic =
false;
1685 bool any_change =
false;
1689 if ((*s)->IsSetSubtype()) {
1691 has_env_sample =
true;
1693 has_metagenomic =
true;
1695 if (has_env_sample && has_metagenomic) {
1702 if (!has_env_sample &&
1708 has_env_sample =
true;
1712 if (has_metagenomic && !has_env_sample) {
1715 has_env_sample =
true;
1719 if (!has_env_sample &&
1725 has_env_sample =
true;
1733 if (!has_env_sample) {
1735 has_env_sample =
true;
1738 if (!has_metagenomic) {
1740 has_metagenomic =
true;
1748 bool has_metagenome_source =
false;
1751 has_metagenome_source =
true;
1755 if (has_metagenome_source) {
1756 if (!has_env_sample) {
1758 has_env_sample =
true;
1761 if (!has_metagenomic) {
1763 has_metagenomic =
true;
1774 bool any_change =
false;
1777 CBioSource::TSubtype::iterator s =
SetSubtype().begin();
1779 if ((*s)->IsSetSubtype()) {
1788 if ((*s)->IsSetName() &&
1805 while (m !=
SetOrg().SetOrgname().SetMod().end()) {
1806 if ((*m)->IsSetSubname() &&
1847 bool isViral =
IsViral(lineage);
1848 bool isBacteria =
false;
1849 bool isArchaea =
false;
1850 bool isFungal =
false;
1860 if (isViral || isBacteria || isArchaea || isFungal) {
1880 bool isViral =
IsViral(lineage);
1881 bool isAnimal =
false;
1882 bool isPlant =
false;
1892 if (isViral || isAnimal || isPlant) {
1912 bool any_change =
false;
1916 TSubtype::iterator it =
SetSubtype().begin();
1919 if ((*it)->IsSetSubtype()) {
1956 bool any_change =
false;
1958 while (m !=
SetOrg().SetOrgname().SetMod().end()){
1959 if ((*m)->IsUnexpectedViralOrgModQualifier()) {
1985 #define MAKE_COMMON_INT(o1,o2,o3,Field) \
1986 if (o1.IsSet##Field() && o2.IsSet##Field() && o1.Get##Field() == o2.Get##Field()) o3.Set##Field(o1.Get##Field());
1998 if ((*it1)->Equals(**it2)) {
2034 common_src->
SetOrg().Assign(*common_org);
2046 if ((*it)->IsSetSubtype() && (*it)->GetSubtype() == subtype) {
CStaticArraySet< const char *, PNocase_CStr > TCTaxNameElementQualsSet
static const char * s_SpecialLineageWords[]
static const char * kOrgModNote
bool s_CompareNameVals(const CBioSource::TNameVal &f1, const CBioSource::TNameVal &f2)
void GetFieldDiffsFromNameValLists(TFieldDiffList &list, CBioSource::TNameValList &list1, CBioSource::TNameValList &list2, bool is_local_copy)
CStaticArraySet< const char *, PNocase_CStr > TCStopWordStrSet
CStaticPairArrayMap< const char *, CBioSource::EGenome, PNocase_CStr > TGenomeMap
static const char *const s_TaxNameElementQuals[]
static const char * kOrganismName
SStaticPair< const char *, CBioSource::EGenome > TGenomeKey
CStaticArraySet< const char *, PNocase_CStr > TCIgnoreCaseQualsSet
static const TCIgnoreCaseQualsSet s_IgnoreCaseQualsSet(s_IgnoreCaseQuals, sizeof(s_IgnoreCaseQuals), __FILE__, __LINE__)
static const char * kTaxId
static IgnoreConflictData sIgnoreConflictList[]
bool s_IsTaxNameElement(const string &value)
struct ignoreconflict IgnoreConflictData
static const TCTaxNameElementQualsSet s_TaxNameElementQualsSet(s_TaxNameElementQuals, sizeof(s_TaxNameElementQuals), __FILE__, __LINE__)
static const char * kSubSrcNote
DEFINE_STATIC_ARRAY_MAP(TGenomeMap, sm_GenomeKeys, genome_key_to_subtype)
static bool s_IsPunct(char ch)
bool s_SameExceptPrecision(double val1, double val2)
bool s_MayIgnoreCase(const string &value)
CStaticPairArrayMap< const char *, CBioSource::EOrigin, PNocase_CStr > TOriginMap
vector< CTempString > TWordList
static const TGenomeKey genome_key_to_subtype[]
static const char * kDisableStrainForwardAttrib
static const char *const s_StopWords[]
static const TOriginKey origin_key_to_subtype[]
void RemoveDiffByName(TFieldDiffList &diff_list, string pair_name)
SStaticPair< const char *, CBioSource::EOrigin > TOriginKey
int s_iCompareNameVals(const CBioSource::TNameVal &f1, const CBioSource::TNameVal &f2)
static const char *const s_IgnoreCaseQuals[]
static bool s_DoesTextContainOnlyTheseWords(const string &text, const TWordList &word_list)
bool s_MustCopy(int subtype)
static void s_GetWordListFromText(string &str, TWordList &word_list)
void CompareValLists(TFieldDiffList &list, const string &val_name, bool is_local_copy, const vector< string > &list1, const vector< string > &list2)
#define MAKE_COMMON_INT(o1, o2, o3, Field)
static const TCStopWordStrSet s_StopWordsSet(s_StopWords, sizeof(s_StopWords), __FILE__, __LINE__)
static const TOriginKey origin_synonyms[]
@ eConflictIgnoreMissingInBioSample
@ eConflictIgnoreMissingInBioSource
vector< CRef< CFieldDiff > > TFieldDiffList
User-defined methods of the data storage class.
bool AllowMatingTypeQualifier() const
const string & GetLineage(void) const
bool BiosampleDiffsOkForUpdate(const TFieldDiffList &diffs) const
bool IsSetCommon(void) const
const string & GetTaxname(void) const
bool RemoveLineageSourceNotes()
bool FixEnvironmentalSample()
bool IsSetGcode(void) const
string GetRepliconName(void) const
CRef< CBioSource > MakeCommonExceptOrg(const CBioSource &other) const
static bool ShouldIgnoreConflict(const string &label, string src_val, string sample_val, bool is_local_copy=false)
TNameValList GetNameValPairs() const
bool IsSetOrgMod(void) const
static string GetOrganelleByGenome(unsigned int genome)
bool GetDisableStrainForwarding() const
pair< string, string > TNameVal
int GetPgcode(void) const
void RemoveCultureNotes(bool is_species_level=true)
int GetGenCode(int def=1) const
string GetBioprojectLocation(void) const
bool FixSexMatingTypeInconsistencies()
void x_ClearCoordinatedBioSampleSubSources()
void x_RemoveNameElementDiffs(const CBioSource &biosample, TFieldDiffList &diff_list) const
const string & GetCommon(void) const
const COrgName & GetOrgname(void) const
const string & GetDivision(void) const
CRef< CBioSource > MakeCommon(const CBioSource &other) const
bool FixGenomeForQualifiers()
static bool IsStopWord(const string &value)
static CBioSource::EOrigin GetOriginByString(const string &origin, NStr::ECase use_case=NStr::eCase, bool starts_with=false)
bool HasSubtype(CSubSource::TSubtype subtype) const
bool IsSetMgcode(void) const
bool IsSetOrgname(void) const
string GetBioprojectType(void) const
TNameValList x_GetSubtypeNameValPairs() const
bool RemoveOrgMod(int subtype)
vector< TNameVal > TNameValList
bool x_ShouldIgnoreNoteForBiosample() const
bool IsSetLineage(void) const
static void x_RemoveStopWords(COrg_ref &org_ref)
bool IsSetPgcode(void) const
bool IsSetDivision(void) const
void UpdateWithBioSample(const CBioSource &biosample, bool force, bool is_local_copy=false)
TNameValList x_GetOrgModNameValPairs() const
int GetMgcode(void) const
static CBioSource::EGenome GetGenomeByOrganelle(const string &organelle, NStr::ECase use_case=NStr::eCase, bool starts_with=false)
bool AllowSexQualifier() const
void SetDisableStrainForwarding(bool val)
static string GetStringFromOrigin(unsigned int origin)
bool IsSetTaxname(void) const
TFieldDiffList GetBiosampleDiffs(const CBioSource &biosample, bool is_local_copy=false) const
bool RemoveUnexpectedViralQualifiers()
bool RemoveSubSource(int subtype)
@OrgMod.hpp User-defined methods of the data storage class.
static string GetSubtypeName(TSubtype stype, EVocabulary vocabulary=eVocabulary_raw)
static TSubtype GetSubtypeValue(const string &str, EVocabulary vocabulary=eVocabulary_raw)
const string & GetLineage(void) const
const string & GetDivision(void) const
TTaxId SetTaxId(TTaxId tax_id)
CRef< COrg_ref > MakeCommon(const COrg_ref &other) const
int GetPgcode(void) const
bool IsSetDivision(void) const
bool IsSetPgcode(void) const
bool IsSetGcode(void) const
bool IsSetMgcode(void) const
int GetMgcode(void) const
bool IsSetOrgMod(void) const
bool IsSetLineage(void) const
const_iterator find(const key_type &key) const
Return a const_iterator pointing to the specified element, or to the end if the element is not found.
const_iterator end() const
Return the end of the controlled sequence.
class CStaticArrayMap<> is an array adaptor that provides an STLish interface to statically-defined a...
TBase::const_iterator const_iterator
static TSubtype GetSubtypeValue(const string &str, EVocabulary vocabulary=eVocabulary_raw)
static bool IsValidSexQualifierValue(const string &value)
static string GetSubtypeName(CSubSource::TSubtype stype, EVocabulary vocabulary=eVocabulary_raw)
static bool NeedsNoText(const TSubtype &subtype)
static void IsCorrectLatLonFormat(string lat_lon, bool &format_correct, bool &precision_correct, bool &lat_in_range, bool &lon_in_range, double &lat_value, double &lon_value)
static CRef< CDate > DateFromCollectionDate(const string &str) THROWS((CException))
static bool IsDiscouraged(const TSubtype subtype)
static void RemoveCultureNotes(string &value, bool is_species_level=true)
The NCBI C++ standard methods for dealing with std::string.
static DLIST_TYPE *DLIST_NAME() next(DLIST_LIST_TYPE *list, DLIST_TYPE *item)
static void DLIST_NAME() remove(DLIST_LIST_TYPE *list, DLIST_TYPE *item)
constexpr size_t ArraySize(const Element(&)[Size])
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
SStrictId_Tax::TId TTaxId
Taxon id type.
#define TAX_ID_FROM(T, value)
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Set object to copy of another one.
virtual bool Equals(const CSerialObject &object, ESerialRecursionMode how=eRecursive) const
Check if both objects contain the same values.
TTaxId GetTaxId(const CBioseq_Handle &handle)
return the tax-id associated with a given sequence.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static int CompareNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)
Case-insensitive compare of a substring with another string.
static list< string > & Split(const CTempString str, const CTempString delim, list< string > &arr, TSplitFlags flags=0, vector< SIZE_TYPE > *token_pos=NULL)
Split a string using specified delimiters.
static SIZE_TYPE FindNoCase(const CTempString str, const CTempString pattern, SIZE_TYPE start, SIZE_TYPE end, EOccurrence which=eFirst)
Find the pattern in the specified range of a string using a case insensitive search.
static bool EndsWith(const CTempString str, const CTempString end, ECase use_case=eCase)
Check if a string ends with a specified suffix value.
static bool IsBlank(const CTempString str, SIZE_TYPE pos=0)
Check if a string is blank (has no text).
static int strncasecmp(const char *s1, const char *s2, size_t n)
Case-insensitive comparison of two zero-terminated strings, narrowed to the specified number of chara...
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 EqualCase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)
Case-sensitive equality of a substring with another string.
static int Compare(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2, ECase use_case=eCase)
Compare of a substring with another 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.
ECase
Which type of string comparison.
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 & ReplaceInPlace(string &src, const string &search, const string &replace, SIZE_TYPE start_pos=0, SIZE_TYPE max_replace=0, SIZE_TYPE *num_replace=0)
Replace occurrences of a substring within a string.
@ fSplit_Tokenize
All delimiters are merged and trimmed, to get non-empty tokens only.
@ eNocase
Case insensitive compare.
@ eCase
Case sensitive compare.
static const char label[]
const TSubtype & GetSubtype(void) const
Get the Subtype member data.
const TPcr_primers & GetPcr_primers(void) const
Get the Pcr_primers member data.
TGenome GetGenome(void) const
Get the Genome member data.
void SetSubtype(TSubtype value)
Assign a value to Subtype data member.
bool IsSetOrg(void) const
Check if a value has been assigned to Org data member.
bool CanGetOrg(void) const
Check if it is safe to call GetOrg method.
list< CRef< CSubSource > > TSubtype
bool IsSetSubtype(void) const
Check if a value has been assigned to Subtype data member.
TGenome & SetGenome(void)
Assign a value to Genome data member.
bool IsSetPcr_primers(void) const
Check if a value has been assigned to Pcr_primers data member.
bool CanGetGenome(void) const
Check if it is safe to call GetGenome method.
const TOrg & GetOrg(void) const
Get the Org member data.
TOrg & SetOrg(void)
Assign a value to Org data member.
TSubtype GetSubtype(void) const
Get the Subtype member data.
bool IsSetGenome(void) const
Check if a value has been assigned to Genome data member.
bool IsSetSubtype(void) const
Check if a value has been assigned to Subtype data member.
void SetPcr_primers(TPcr_primers &value)
Assign a value to Pcr_primers data member.
void SetOrg(TOrg &value)
Assign a value to Org data member.
void SetName(const TName &value)
Assign a value to Name data member.
const TName & GetName(void) const
Get the Name member data.
EGenome
biological context
bool IsSetName(void) const
Check if a value has been assigned to Name data member.
TSubtype & SetSubtype(void)
Assign a value to Subtype data member.
void ResetSubtype(void)
Reset Subtype data member.
@ eSubtype_collection_date
DD-MMM-YYYY format.
@ eSubtype_environmental_sample
@ eSubtype_endogenous_virus_name
@ eOrigin_synthetic
purely synthetic
@ eOrigin_mut
artificially mutagenized
@ eOrigin_artificial
artificially engineered
@ eOrigin_natmut
naturally occurring mutant
@ eOrigin_natural
normal biological entity
@ eGenome_endogenous_virus
@ eGenome_plasmid_in_mitochondrion
@ eGenome_plasmid_in_plastid
const TMod & GetMod(void) const
Get the Mod member data.
TSubtype GetSubtype(void) const
Get the Subtype member data.
bool IsSetPgcode(void) const
plastid genetic code Check if a value has been assigned to Pgcode data member.
TMgcode GetMgcode(void) const
Get the Mgcode member data.
TGcode GetGcode(void) const
Get the Gcode member data.
bool IsSetSubtype(void) const
Check if a value has been assigned to Subtype data member.
const TSubname & GetSubname(void) const
Get the Subname member data.
bool IsSetCommon(void) const
common name Check if a value has been assigned to Common data member.
const TTaxname & GetTaxname(void) const
Get the Taxname member data.
bool IsSetMgcode(void) const
mitochondrial genetic code Check if a value has been assigned to Mgcode data member.
void ResetTaxname(void)
Reset Taxname data member.
const TCommon & GetCommon(void) const
Get the Common member data.
void SetTaxname(const TTaxname &value)
Assign a value to Taxname data member.
list< CRef< COrgMod > > TMod
bool IsSetOrgname(void) const
Check if a value has been assigned to Orgname data member.
bool IsSetSubname(void) const
Check if a value has been assigned to Subname data member.
bool IsSetTaxname(void) const
preferred formal name Check if a value has been assigned to Taxname data member.
bool IsSetGcode(void) const
genetic code (see CdRegion) Check if a value has been assigned to Gcode data member.
void SetOrgname(TOrgname &value)
Assign a value to Orgname data member.
TPgcode GetPgcode(void) const
Get the Pgcode member data.
const TAttrib & GetAttrib(void) const
Get the Attrib member data.
const TOrgname & GetOrgname(void) const
Get the Orgname member data.
@ eSubtype_other
ASN5: old-name (254) will be added to next spec.
@ eSubtype_metagenome_source
where boath are integers</td > n< td ></td > n</tr > n< tr > n< td > tse</td > n< td > optional</td > n< td > String</td > n< td class=\"description\"> TSE option controls what blob is orig
static void text(MDB_val *v)
constexpr auto sort(_Init &&init)
constexpr bool empty(list< Ts... >) noexcept
const struct ncbi::grid::netcache::search::fields::SIZE size
int strcmp(const char *str1, const char *str2)
Defines unified interface to application:
Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.
NCBI C++ stream class wrappers for triggering between "new" and "old" C++ stream libraries.
static const GLdouble origin[]
static int match(register const pcre_uchar *eptr, register const pcre_uchar *ecode, const pcre_uchar *mstart, int offset_top, match_data *md, eptrblock *eptrb, unsigned int rdepth)
static const char * str(char *buf, int n)
Template structure SStaticPair is simlified replacement of STL pair<> Main reason of introducing this...
EConflictIgnoreType ignore_type