66 in_out_bioSource.SetOrg().SetTaxname(newValue);
70 objects::CBioSource & in_out_bioSource )
72 in_out_bioSource.SetOrg().ResetTaxname();
77 const objects::CBioSource & in_out_bioSource )
const
80 if (in_out_bioSource.IsSetOrg() && in_out_bioSource.GetOrg().IsSetTaxname()) {
81 val = in_out_bioSource.GetOrg().GetTaxname();
88 objects::CBioSource & in_out_bioSource,
const string & newValue )
92 in_out_bioSource.SetOrg().SetTaxId(
val);
99 objects::CBioSource & in_out_bioSource )
101 if (in_out_bioSource.IsSetOrg() && in_out_bioSource.GetOrg().IsSetDb()) {
102 COrg_ref::TDb::iterator it = in_out_bioSource.SetOrg().SetDb().begin();
103 while (it != in_out_bioSource.SetOrg().SetDb().end()) {
105 it = in_out_bioSource.SetOrg().SetDb().erase(it);
115 const objects::CBioSource & in_out_bioSource )
const
118 if (in_out_bioSource.IsSetOrg()) {
120 int taxid = in_out_bioSource.GetOrg().GetTaxId();
130 objects::CBioSource & in_out_bioSource,
const string & newValue )
132 in_out_bioSource.SetGenome(objects::CBioSource::GetGenomeByOrganelle(newValue));
136 objects::CBioSource & in_out_bioSource )
138 in_out_bioSource.ResetGenome();
143 const objects::CBioSource & in_out_bioSource )
const
146 if (in_out_bioSource.IsSetGenome()) {
147 val = in_out_bioSource.GetOrganelleByGenome( in_out_bioSource.GetGenome());
155 objects::CBioSource & in_out_bioSource,
const string & newValue )
158 if (objects::CSubSource::NeedsNoText(
m_Subtype)) {
160 in_out_bioSource.SetSubtype().push_back(s);
163 in_out_bioSource.SetSubtype().push_back(s);
169 objects::CBioSource & in_out_bioSource )
171 if (in_out_bioSource.IsSetSubtype()) {
172 objects::CBioSource::TSubtype::iterator it = in_out_bioSource.SetSubtype().begin();
173 while (it != in_out_bioSource.SetSubtype().end()) {
175 it = in_out_bioSource.SetSubtype().erase(it);
180 if (in_out_bioSource.SetSubtype().empty()) {
181 in_out_bioSource.ResetSubtype();
188 const objects::CBioSource & in_out_bioSource )
const
191 if (in_out_bioSource.IsSetSubtype()) {
192 objects::CBioSource::TSubtype::const_iterator it = in_out_bioSource.GetSubtype().begin();
193 while (it != in_out_bioSource.GetSubtype().end()) {
194 if ((*it)->GetSubtype() ==
m_Subtype && (*it)->IsSetName()) {
195 val = (*it)->GetName();
207 if (
m_Subtype == objects::CSubSource::eSubtype_other) {
208 return "subsrc_note";
216 objects::CBioSource & in_out_bioSource,
const string & newValue )
220 in_out_bioSource.SetOrg().SetOrgname().SetMod().push_back(s);
225 objects::CBioSource & in_out_bioSource )
227 if (in_out_bioSource.IsSetOrg() && in_out_bioSource.GetOrg().IsSetOrgname() && in_out_bioSource.GetOrg().GetOrgname().IsSetMod()) {
228 objects::COrgName::TMod::iterator it = in_out_bioSource.SetOrg().SetOrgname().SetMod().begin();
229 while (it != in_out_bioSource.SetOrg().SetOrgname().SetMod().end()) {
231 it = in_out_bioSource.SetOrg().SetOrgname().SetMod().erase(it);
241 const objects::CBioSource & in_out_bioSource )
const
244 if (in_out_bioSource.IsSetOrg() && in_out_bioSource.GetOrg().IsSetOrgname() && in_out_bioSource.GetOrg().GetOrgname().IsSetMod()) {
245 objects::COrgName::TMod::const_iterator it = in_out_bioSource.GetOrg().GetOrgname().GetMod().begin();
246 while (it != in_out_bioSource.GetOrg().GetOrgname().GetMod().end()) {
247 if ((*it)->GetSubtype() ==
m_Subtype && (*it)->IsSetSubname()) {
248 val = (*it)->GetSubname();
260 if (
m_Subtype == objects::COrgMod::eSubtype_other) {
261 return "orgmod_note";
269 objects::CBioSource & in_out_bioSource,
const string & newValue )
271 objects::CPCRPrimerSeq seq(newValue);
272 bool add_new_set =
true;
273 if (in_out_bioSource.IsSetPcr_primers() && in_out_bioSource.GetPcr_primers().IsSet()
274 && in_out_bioSource.GetPcr_primers().Get().size() > 0) {
276 if (in_out_bioSource.GetPcr_primers().Get().back()->IsSetForward()
277 && in_out_bioSource.GetPcr_primers().Get().back()->GetForward().IsSet()) {
278 if (!in_out_bioSource.GetPcr_primers().Get().back()->GetForward().Get().front()->IsSetSeq()) {
279 in_out_bioSource.SetPcr_primers().Set().back()->SetForward().Set().front()->SetSeq(seq);
285 in_out_bioSource.SetPcr_primers().Set().back()->SetForward().Set().push_back(primer);
294 reaction->SetForward().Set().push_back(primer);
295 in_out_bioSource.SetPcr_primers().Set().push_back(reaction);
300 objects::CBioSource & in_out_bioSource )
302 in_out_bioSource.ResetPcr_primers();
307 const objects::CBioSource & in_out_bioSource )
const
310 if (in_out_bioSource.IsSetPcr_primers()
311 && in_out_bioSource.GetPcr_primers().IsSet()
312 && in_out_bioSource.GetPcr_primers().Get().size() > 0
313 && in_out_bioSource.GetPcr_primers().Get().front()->IsSetForward()
314 && in_out_bioSource.GetPcr_primers().Get().front()->GetForward().IsSet()
315 && in_out_bioSource.GetPcr_primers().Get().front()->GetForward().Get().front()->IsSetSeq()) {
316 val = in_out_bioSource.GetPcr_primers().Get().front()->GetForward().Get().front()->GetSeq();
323 objects::CBioSource & in_out_bioSource,
const string & newValue )
325 objects::CPCRPrimerSeq seq(newValue);
326 bool add_new_set =
true;
327 if (in_out_bioSource.IsSetPcr_primers() && in_out_bioSource.GetPcr_primers().IsSet()
328 && in_out_bioSource.GetPcr_primers().Get().size() > 0) {
330 if (in_out_bioSource.GetPcr_primers().Get().back()->IsSetReverse()
331 && in_out_bioSource.GetPcr_primers().Get().back()->GetReverse().IsSet()) {
332 if (!in_out_bioSource.GetPcr_primers().Get().back()->GetReverse().Get().front()->IsSetSeq()) {
333 in_out_bioSource.SetPcr_primers().Set().back()->SetReverse().Set().front()->SetSeq(seq);
339 in_out_bioSource.SetPcr_primers().Set().back()->SetReverse().Set().push_back(primer);
348 reaction->SetReverse().Set().push_back(primer);
349 in_out_bioSource.SetPcr_primers().Set().push_back(reaction);
355 objects::CBioSource & in_out_bioSource )
357 in_out_bioSource.ResetPcr_primers();
362 const objects::CBioSource & in_out_bioSource )
const
365 if (in_out_bioSource.IsSetPcr_primers()
366 && in_out_bioSource.GetPcr_primers().IsSet()
367 && in_out_bioSource.GetPcr_primers().Get().size() > 0
368 && in_out_bioSource.GetPcr_primers().Get().front()->IsSetReverse()
369 && in_out_bioSource.GetPcr_primers().Get().front()->GetReverse().IsSet()
370 && in_out_bioSource.GetPcr_primers().Get().front()->GetReverse().Get().front()->IsSetSeq()) {
371 val = in_out_bioSource.GetPcr_primers().Get().front()->GetReverse().Get().front()->GetSeq();
378 objects::CBioSource & in_out_bioSource,
const string & newValue )
380 objects::CPCRPrimerName name(newValue);
381 bool add_new_set =
true;
383 if (in_out_bioSource.IsSetPcr_primers() && in_out_bioSource.GetPcr_primers().IsSet()
384 && in_out_bioSource.GetPcr_primers().Get().size() > 0) {
386 if (in_out_bioSource.GetPcr_primers().Get().back()->IsSetForward()
387 && in_out_bioSource.GetPcr_primers().Get().back()->GetForward().IsSet()) {
388 if (!in_out_bioSource.GetPcr_primers().Get().back()->GetForward().Get().front()->IsSetName()) {
389 in_out_bioSource.SetPcr_primers().Set().back()->SetForward().Set().front()->SetName(name);
394 primer->SetName(name);
395 in_out_bioSource.SetPcr_primers().Set().back()->SetForward().Set().push_back(primer);
402 primer->SetName(name);
404 reaction->SetForward().Set().push_back(primer);
405 in_out_bioSource.SetPcr_primers().Set().push_back(reaction);
410 objects::CBioSource & in_out_bioSource )
412 in_out_bioSource.ResetPcr_primers();
417 const objects::CBioSource & in_out_bioSource )
const
420 if (in_out_bioSource.IsSetPcr_primers()
421 && in_out_bioSource.GetPcr_primers().IsSet()
422 && in_out_bioSource.GetPcr_primers().Get().size() > 0
423 && in_out_bioSource.GetPcr_primers().Get().front()->IsSetForward()
424 && in_out_bioSource.GetPcr_primers().Get().front()->GetForward().IsSet()
425 && in_out_bioSource.GetPcr_primers().Get().front()->GetForward().Get().front()->IsSetName()) {
426 val = in_out_bioSource.GetPcr_primers().Get().front()->GetForward().Get().front()->GetName();
433 objects::CBioSource & in_out_bioSource,
const string & newValue )
435 objects::CPCRPrimerName name(newValue);
436 bool add_new_set =
true;
438 if (in_out_bioSource.IsSetPcr_primers() && in_out_bioSource.GetPcr_primers().IsSet()
439 && in_out_bioSource.GetPcr_primers().Get().size() > 0) {
441 if (in_out_bioSource.GetPcr_primers().Get().back()->IsSetReverse()
442 && in_out_bioSource.GetPcr_primers().Get().back()->GetReverse().IsSet()) {
443 if (!in_out_bioSource.GetPcr_primers().Get().back()->GetReverse().Get().front()->IsSetName()) {
444 in_out_bioSource.SetPcr_primers().Set().back()->SetReverse().Set().front()->SetName(name);
449 primer->SetName(name);
450 in_out_bioSource.SetPcr_primers().Set().back()->SetReverse().Set().push_back(primer);
457 primer->SetName(name);
459 reaction->SetReverse().Set().push_back(primer);
460 in_out_bioSource.SetPcr_primers().Set().push_back(reaction);
466 objects::CBioSource & in_out_bioSource )
468 in_out_bioSource.ResetPcr_primers();
473 const objects::CBioSource & in_out_bioSource )
const
476 if (in_out_bioSource.IsSetPcr_primers()
477 && in_out_bioSource.GetPcr_primers().IsSet()
478 && in_out_bioSource.GetPcr_primers().Get().size() > 0
479 && in_out_bioSource.GetPcr_primers().Get().front()->IsSetReverse()
480 && in_out_bioSource.GetPcr_primers().Get().front()->GetReverse().IsSet()
481 && in_out_bioSource.GetPcr_primers().Get().front()->GetReverse().Get().front()->IsSetName()) {
482 val = in_out_bioSource.GetPcr_primers().Get().front()->GetReverse().Get().front()->GetName();
521 if( sTitle.empty() ) {
563 objects::CSubSource::TSubtype st = objects::CSubSource::GetSubtypeValue (sTitle, objects::CSubSource::eVocabulary_insdc);
567 objects::COrgMod::TSubtype st = objects::COrgMod::GetSubtypeValue (sTitle, objects::COrgMod::eVocabulary_insdc);
static string GetSubtypeName(const CSubSource &qual)
static CRef< CSrcTableColumnBase > Create(const objects::CSeqTable_column &column)
virtual void ClearInBioSource(objects::CBioSource &in_out_bioSource)
virtual string GetFromBioSource(const objects::CBioSource &in_out_bioSource) const
virtual void AddToBioSource(objects::CBioSource &in_out_bioSource, const string &newValue)
virtual void ClearInBioSource(objects::CBioSource &in_out_bioSource)
virtual string GetFromBioSource(const objects::CBioSource &in_out_bioSource) const
virtual void AddToBioSource(objects::CBioSource &in_out_bioSource, const string &newValue)
virtual string GetFromBioSource(const objects::CBioSource &in_out_bioSource) const
virtual void ClearInBioSource(objects::CBioSource &in_out_bioSource)
virtual bool AddToBioSource(objects::CBioSource &src, const string &newValue, objects::edit::EExistingText existing_text)
virtual string GetLabel() const
virtual bool AddToBioSource(objects::CBioSource &src, const string &newValue, objects::edit::EExistingText existing_text)
virtual void ClearInBioSource(objects::CBioSource &in_out_bioSource)
virtual string GetFromBioSource(const objects::CBioSource &in_out_bioSource) const
objects::COrgMod::TSubtype m_Subtype
virtual void ClearInBioSource(objects::CBioSource &in_out_bioSource)
virtual string GetFromBioSource(const objects::CBioSource &in_out_bioSource) const
virtual string GetFromBioSource(const objects::CBioSource &in_out_bioSource) const
virtual void AddToBioSource(objects::CBioSource &in_out_bioSource, const string &newValue)
virtual void ClearInBioSource(objects::CBioSource &in_out_bioSource)
virtual string GetFromBioSource(const objects::CBioSource &in_out_bioSource) const
virtual void ClearInBioSource(objects::CBioSource &in_out_bioSource)
virtual void AddToBioSource(objects::CBioSource &in_out_bioSource, const string &newValue)
objects::CSubSource::TSubtype m_Subtype
virtual string GetLabel() const
virtual void ClearInBioSource(objects::CBioSource &in_out_bioSource)
virtual bool AddToBioSource(objects::CBioSource &src, const string &newValue, objects::edit::EExistingText existing_text)
virtual string GetFromBioSource(const objects::CBioSource &in_out_bioSource) const
virtual bool AddToBioSource(objects::CBioSource &in_out_bioSource, const string &newValue, objects::edit::EExistingText existing_text)
virtual void ClearInBioSource(objects::CBioSource &in_out_bioSource)
virtual string GetFromBioSource(const objects::CBioSource &in_out_bioSource) const
Include a standard set of the NCBI C++ Toolkit most basic headers.
The NCBI C++ standard methods for dealing with std::string.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#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 int StringToInt(const CTempString str, TStringToNumFlags flags=0, int base=10)
Convert string to int.
static bool IsBlank(const CTempString str, SIZE_TYPE pos=0)
Check if a string is blank (has no text).
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.
const TSubtype & GetSubtype(void) const
Get the Subtype member data.
bool IsSetOrg(void) const
Check if a value has been assigned to Org data member.
list< CRef< CSubSource > > TSubtype
bool IsSetSubtype(void) const
Check if a value has been assigned to Subtype data member.
bool IsSetPcr_primers(void) const
Check if a value has been assigned to Pcr_primers data member.
const TOrg & GetOrg(void) const
Get the Org member data.
const TMod & GetMod(void) const
Get the Mod member data.
bool IsSetMod(void) const
Check if a value has been assigned to Mod data member.
list< CRef< COrgMod > > TMod
bool IsSetOrgname(void) const
Check if a value has been assigned to Orgname data member.
bool IsSetTaxname(void) const
preferred formal name Check if a value has been assigned to Taxname data member.
const TOrgname & GetOrgname(void) const
Get the Orgname member data.
TSrcTableColumnList GetSourceFields(const CBioSource &src)
bool IsFwdPrimerSeq(string name)
bool IsRevPrimerSeq(string name)
bool IsFwdPrimerName(string name)
bool IsRevPrimerName(string name)
const string kOrganismName
vector< CRef< CSrcTableColumnBase > > TSrcTableColumnList