44 bool modified =
false;
47 if ((*orgmod)->IsSetSubtype() && (*orgmod)->IsSetSubname() &&
52 string inst_code, coll_code, id, inst_coll;
55 else inst_coll = inst_code +
":" + coll_code;
57 bool is_miscapitalized;
59 bool erroneous_country;
68 (*orgmod)->SetSubname(abbr);
70 (*orgmod)->SetSubname(abbr +
":" +
id);
CRef< CCmdComposite > GetCommand(objects::CSeq_entry_Handle tse)
virtual bool x_ApplyToBioSource(objects::CBioSource &biosource)
static const string & GetInstitutionShortName(const string &full_name)
static bool IsInstitutionCodeValid(const string &inst_coll, string &voucher_type, bool &is_miscapitalized, string &correct_cap, bool &needs_country, bool &erroneous_country)
static bool ParseStructuredVoucher(const string &str, string &inst, string &coll, string &id)
CRef< CCmdComposite > x_GetCommand(objects::CSeq_entry_Handle tse, const string &title)
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static bool IsBlank(const CTempString str, SIZE_TYPE pos=0)
Check if a string is blank (has no text).
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 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.
@ eNocase
Case insensitive compare.
@ eSubtype_specimen_voucher
@ eSubtype_culture_collection
#define EDIT_EACH_ORGMOD_ON_BIOSOURCE(Itr, Var)