39 #ifndef OBJECTS_SEQFEAT_ORGMOD_HPP
40 #define OBJECTS_SEQFEAT_ORGMOD_HPP
71 static TSubtype GetSubtypeValue(
const string&
str,
72 EVocabulary vocabulary = eVocabulary_raw);
74 EVocabulary vocabulary = eVocabulary_raw);
77 static bool IsValidSubtypeName(
const string&
str,
78 EVocabulary vocabulary = eVocabulary_raw);
80 static bool IsDiscouraged(
const TSubtype stype,
bool indexer=
false);
81 static bool IsMultipleValuesAllowed(TSubtype);
85 static bool HoldsInstitutionCode(
const TSubtype stype);
87 static bool ParseStructuredVoucher(
const string&
str,
string& inst,
string& coll,
string&
id);
89 static bool IsInstitutionCodeValid(
const string& inst_coll,
string &voucher_type,
bool& is_miscapitalized,
string& correct_cap,
bool& needs_country,
bool& erroneous_country);
90 static string IsCultureCollectionValid(
const string& culture_collection);
91 static string IsSpecimenVoucherValid(
const string& specimen_voucher);
92 static string IsBiomaterialValid(
const string& biomaterial);
93 static string IsStructuredVoucherValid(
const string&
val,
const string& voucher_type);
94 static string MakeStructuredVoucher(
const string& inst,
const string& coll,
const string&
id);
95 static bool FixStructuredVoucher(
string&
val,
const string& voucher_type);
96 static bool AddStructureToVoucher(
string&
val,
const string& voucher_type);
97 static bool RescueInstFromParentheses(
string&
val,
const string& voucher_type);
98 static string CheckMultipleVouchers(
const vector<string>&);
102 static const string &GetInstitutionFullName(
const string &short_name );
103 static const string &GetInstitutionShortName(
const string &full_name );
105 static string FixStrain(
const string& strain);
106 static bool FuzzyStrainMatch(
const string& strain1,
const string& strain2 );
107 static bool IsStrainValid(
const string& strain);
109 static string FixHost(
const string&
value);
110 static string FixHostCapitalization(
const string&
value);
114 static string AutoFix(TSubtype subtype,
const string&
value);
120 bool RemoveAbbreviation();
126 static bool IsValidTypeMaterial(
const string& type_material);
129 static bool IsINSDCValidTypeMaterial(
const string& type_material);
134 static bool NCBI_ValidateForMultipleIsolates(
void);
142 bool& is_miscapitalized,
string& correct_cap,
bool& needs_country,
bool& erroneous_country);
static string GetSubtypeName(const CSubSource &qual)
@OrgMod.hpp User-defined methods of the data storage class.
COrgMod(const COrgMod &value)
map< string, string, PNocase > TInstitutionCodeMap
static TSubtype GetSubtypeValue(const string &str, EVocabulary vocabulary=eVocabulary_raw)
COrgMod & operator=(const COrgMod &value)
container_type::iterator iterator
static const char * str(char *buf, int n)
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define NCBI_SEQFEAT_EXPORT
TSubname & SetSubname(void)
Assign a value to Subname data member.
TSubtype & SetSubtype(void)
Assign a value to Subtype data member.
const GenericPointer< typename T::ValueType > T2 value
static bool FixCapitalization(string &name, bool apostroph)
static bool IsUnexpectedViralOrgModQualifier(COrgMod::TSubtype subtype)