48 #define NCBI_USE_ERRCODE_X Objects_Taxonomy
57 #define TAXON1_IS_INITED (m_pServer!=NULL)
65 m_bWithSynonyms(
false)
137 if( ( (
tmp=getenv(
"NI_TAXONOMY_SERVICE_NAME")) !=
NULL ) ||
138 ( (
tmp=getenv(
"NI_SERVICE_NAME_TAXONOMY")) !=
NULL ) ) {
141 unique_ptr<CConn_ServiceStream> pServer;
142 unique_ptr<CObjectOStream> pOut;
143 unique_ptr<CObjectIStream> pIn;
146 SetLastError(
"ERROR: Init(): Unable to create net info" );
149 pNi->
max_try = reconnect_attempts + 1;
170 m_pIn = pIn.release();
183 SetLastError(
"INTERNAL: TaxService response type is not Init" );
186 }
catch( exception& e ) {
214 SetLastError(
"INTERNAL: TaxService response type is not Fini" );
244 SerialAssign<CTaxon2_data>( *pNewData, *pData );
257 switch(
val.Which() ) {
259 return val.GetId() != 0;
263 }
catch(...) {
return false; }
276 for( COrg_ref::TDb::iterator
i = org.
SetDb().begin();
i != org.
SetDb().end(); ) {
277 if( (*i)->GetDb() !=
"taxon" ) {
281 if(
NStr::Equal( (*i)->GetDb(),
"taxlookup%status-changed" ) &&
282 (*i)->IsSetTag() && (*i)->GetTag().IsId() ) {
283 result = (*i)->GetTag().GetId();
285 if(
NStr::Equal( (*i)->GetDb(),
"taxlookup?taxid-changed" ) &&
288 }
else if(
NStr::Equal( (*i)->GetDb(),
"taxlookup?taxname-changed" ) &&
291 }
else if(
NStr::Equal( (*i)->GetDb(),
"taxlookup?common-changed" ) &&
294 }
else if(
NStr::Equal( (*i)->GetDb(),
"taxlookup?orgname-changed" ) &&
297 }
else if(
NStr::Equal( (*i)->GetDb(),
"taxlookup?division-changed" ) &&
300 }
else if(
NStr::Equal( (*i)->GetDb(),
"taxlookup?lineage-changed" ) &&
303 }
else if(
NStr::Equal( (*i)->GetDb(),
"taxlookup?gc-changed" ) &&
306 }
else if(
NStr::Equal( (*i)->GetDb(),
"taxlookup?mgc-changed" ) &&
309 }
else if(
NStr::Equal( (*i)->GetDb(),
"taxlookup?orgmod-changed" ) &&
312 }
else if(
NStr::Equal( (*i)->GetDb(),
"taxlookup?pgc-changed" ) &&
315 }
else if(
NStr::Equal( (*i)->GetDb(),
"taxlookup?orgrefmod-changed" ) &&
318 }
else if(
NStr::Equal( (*i)->GetDb(),
"taxlookup?orgnameattr-changed" ) &&
324 if(
NStr::Equal( (*i)->GetDb(),
"taxlookup?is_species_level" ) &&
327 }
else if(
NStr::Equal( (*i)->GetDb(),
"taxlookup?is_uncultured" ) &&
331 (*i)->IsSetTag() && (*i)->GetTag().IsStr() ) {
332 list< string > lBlastNames;
337 lBlastNames.reverse();
339 lBlastNames.begin(), lBlastNames.end() );
341 string sPropName = (*i)->GetDb().substr( strlen(
"taxlookup?" ) );
342 switch( (*i)->GetTag().Which() ) {
400 SerialAssign< COrg_ref >( req.
SetLookup(), inp_orgRef );
421 SetLastError(
"INTERNAL: TaxService response type is not Lookup" );
447 SerialAssign< COrg_ref >( req.
SetLookup(), inp_orgRef );
463 *pStatusOut = stat_out;
468 SerialAssign< COrg_ref >( inp_orgRef, pData->
GetOrg() );
471 SetLastError(
"INTERNAL: TaxService response type is not Lookup" );
508 SetLastError(
"INTERNAL: TaxService response type is not Getidbyorg" );
526 if( orgname.empty() )
528 list< CRef< CTaxon1_name > > lNames;
532 case -1: retc = -lNames.front()->GetTaxid();
break;
556 if( orgname.empty() )
575 SetLastError(
"INTERNAL: TaxService response type is not Getunique" );
605 if( orgname.empty() ) {
617 pQuery->SetIval1( nMode );
618 pQuery->SetIval2( 0 );
619 pQuery->SetSval( orgname );
631 if( lNm.size() == 0 ) {
633 }
else if( lNm.size() == 1 ) {
634 retc = lNm.front()->GetTaxid();
644 SetLastError(
"INTERNAL: TaxService response type is not Searchname" );
647 }
else if(
GetLastError().find(
"Nothing found") != string::npos ) {
669 if( orgname.empty() )
680 const list< CRef< CTaxon1_name > >& lNm = resp.
GetFindname();
684 i != lNm.end(); ++
i, ++count )
685 lIds.push_back( (*i)->GetTaxid() );
687 SetLastError(
"INTERNAL: TaxService response type is not Findname" );
726 bool specified =
false;
728 *is_specified = specified;
802 while( !pNode->
IsRoot() ) {
804 if( rank == species_rank )
806 if( (rank > 0) && (rank < species_rank))
814 while( !pNode->
IsRoot() ) {
855 while( !pNode->
IsRoot() ) {
857 if( rank == genus_rank )
859 if( (rank > 0) && (rank < genus_rank))
887 while( !pNode->
IsRoot() ) {
889 if( rank == sk_rank )
891 if( (rank > 0) && (rank < sk_rank))
952 if( rank != -1000 ) {
973 while( !pNode->
IsRoot() ) {
975 if( rank == rank_id )
977 if( (rank >= 0) && (rank < rank_id))
1019 i != lNm.end(); ++
i, ++count ) {
1020 children_ids.push_back( (*i)->GetTaxid() );
1027 SetLastError(
"INTERNAL: TaxService response type is not Taxachildren" );
1053 const list< CRef< CTaxon1_info > >& lGc = resp.
GetGetgcs();
1057 i != lGc.end(); ++
i ) {
1062 SetLastError(
"INTERNAL: TaxService response type is not Getgcs" );
1069 gc_name_out.assign( gci->second );
1072 SetLastError(
"ERROR: GetGCName(): Unknown genetic code" );
1091 rank_name_out.assign( pchName );
1094 SetLastError(
"ERROR: GetRankName(): Rank not found" );
1137 div_name_out.assign( pchName );
1138 if( pchCode && div_code_out !=
NULL ) {
1139 div_code_out->assign( pchCode );
1143 SetLastError(
"ERROR: GetDivisionName(): Division not found" );
1186 name_class_out.assign( pchName );
1189 SetLastError(
"ERROR: GetNameClass(): Name class not found" );
1269 i != lNm.end(); ++
i, ++count )
1271 lNames.push_back( (*i)->GetOname() );
1273 lNames.push_back( ((*i)->IsSetUname() && !(*i)->GetUname().empty()) ?
1278 SetLastError(
"INTERNAL: TaxService response type is not Getorgnames" );
1314 i = lNm.begin(), li = lNm.end();
i != li; ++
i ) {
1315 lNames.push_back( *
i );
1318 SetLastError(
"INTERNAL: TaxService response type is not Getorgnames" );
1345 SetLastError(
"INTERNAL: TaxService response type is not Dumpnames4class" );
1395 SetLastError(
"INTERNAL: TaxService response type is not Id4gi" );
1415 while( !pNode->
IsRoot() ) {
1422 blast_name_out.erase();
1431 unsigned nIterCount( 0 );
1432 unsigned fail_flags( 0 );
1440 bool bNeedReconnect(
false );
1450 if( resp.IsError() ) {
1459 bNeedReconnect = bShouldReconnect;
1460 }
catch( exception& e ) {
1462 bNeedReconnect = bShouldReconnect;
1465 bNeedReconnect |= bShouldReconnect &&
1470 }
catch( exception& e ) {
1473 bNeedReconnect = bShouldReconnect &&
1480 if( !bNeedReconnect )
1491 unique_ptr<CObjectOStream> pOut;
1492 unique_ptr<CObjectIStream> pIn;
1493 unique_ptr<CConn_ServiceStream>
1503 m_pIn = pIn.release();
1505 }
catch( exception& e ) {
1528 lTo.push_back( pNode->
GetTaxId() );
1554 if( ids_in.size() > 0 ) {
1556 CTaxon1Node *pParent = 0, *pNode = 0, *pNewParent = 0;
1562 vLin.reserve( 256 );
1563 for( TTaxIdList::const_iterator ci = ids_in.begin();
1567 if( nmi == nodeMap.
end() ) {
1573 tPartTree.
SetRoot( pNewParent );
1575 (pNewParent->GetTaxId(), pNewParent) );
1581 pNode->SetJoinTerminal();
1582 vLin.push_back( pNode );
1585 == nodeMap.
end()) ) {
1587 vLin.push_back( pNode );
1593 pIt->
GoNode( nmi->second );
1595 for( TTaxNodeLineage::reverse_iterator
i =
1601 ( pNode->GetTaxId(), pNode ) );
1611 nmi->second->SetJoinTerminal();
1617 bHasSiblings =
true;
1621 if( pNode->IsJoinTerminal() || !pIt->
GoChild() ) {
1622 bHasSiblings =
false;
1626 if( bHasSiblings ) {
1683 i != lNm.end(); ++
i ) {
1684 if( (*i)->GetCde() == 0 ) {
1706 SetLastError(
"INTERNAL: TaxService response type is not Taxachildren" );
1758 if( !pIt->
GoNode( pData ) ) {
1759 SetLastError(
"Iterator in this mode cannot point to the node with"
1783 if( !prop_name.empty() ) {
1784 pProp->SetIval1(
TAX_ID_TO(
int, tax_id) );
1785 pProp->SetIval2( -1 );
1786 pProp->SetSval( prop_name );
1792 ERR_POST_X( 4,
"Response type is not Getorgprop" );
1793 SetLastError(
"INTERNAL: TaxService response type is not Getorgprop" );
1798 prop_val.assign( pInfo->GetSval() );
1809 }
catch( exception& e ) {
1836 if( !prop_name.empty() ) {
1837 pProp->SetIval1(
TAX_ID_TO(
int, tax_id) );
1838 pProp->SetIval2( -3 );
1839 pProp->SetSval( prop_name );
1845 ERR_POST_X( 8,
"Response type is not Getorgprop" );
1846 SetLastError(
"INTERNAL: TaxService response type is not Getorgprop" );
1851 prop_val = pInfo->GetIval2() != 0;
1862 }
catch( exception& e ) {
1889 if( !prop_name.empty() ) {
1890 pProp->SetIval1(
TAX_ID_TO(
int, tax_id) );
1891 pProp->SetIval2( -2 );
1892 pProp->SetSval( prop_name );
1898 ERR_POST_X( 12,
"Response type is not Getorgprop" );
1899 SetLastError(
"INTERNAL: TaxService response type is not Getorgprop" );
1904 prop_val = pInfo->GetIval2();
1915 }
catch( exception& e ) {
1943 if( !prop_name.empty() ) {
1944 pProp->SetIval1(
TAX_ID_TO(
int, -root) );
1945 pProp->SetIval2( -4 );
1946 pProp->SetSval( prop_name );
1952 ERR_POST_X( 12,
"Response type is not Getorgprop" );
1966 }
catch( exception& e ) {
2056 vector< const ITaxon1Node* > skippedNodes;
2064 vector< const ITaxon1Node* >& skp)
2066 size_t skp_start = skp.size();
2088 size_t skp_cur = skp_start;
2091 if( skp.size() == skp_start ||
2111 skp.resize( skp_start );
2131 if( stat ==
eSkip ) {
2159 SerialAssign< COrg_ref >( req.
SetLookup(), orgRef );
2181 SetLastError(
"INTERNAL: TaxService response type is not Lookup" );
2205 type_material_list_out.clear();
2209 list< CRef< CTaxon1_name > > lNames;
2213 while( !pNode->
IsRoot() ) {
2215 if( rank == subspecies_rank ) {
2219 if( subsporg->IsSetOrgname() && subsporg->GetOrgname().IsSetName() ) {
2235 }
else if( rank == species_rank ) {
2240 }
else if( (rank > 0) && (rank < species_rank)) {
2241 SetLastError(
"No species or subspecies found in lineage" );
2250 SetLastError(
"Name class for type material not found" );
2256 if( (*i)->GetCde() == tm_cde ) {
2257 type_material_list_out.push_back( (*i)->GetOname() );
2309 list< CRef< CTaxon1_name > > lNames;
2313 if( (*ci)->GetCde() == cn ) {
2314 disp_name_out = (*ci)->GetOname();
2320 list< CRef< CTaxon1_name > >::const_iterator lend = lNames.end();
2322 if( (*ci)->GetCde() == cn ) {
2323 if( lend == lNames.end() ) {
2326 lend = lNames.end();
2331 if( lend != lNames.end() ) {
2332 disp_name_out = (*lend)->GetOname();
2342 }
else if( species_id >
ZERO_TAX_ID && species_id != tax_id ) {
2348 if( (*ci)->GetCde() == cn ) {
2349 disp_name_out = (*ci)->GetOname();
2355 list< CRef< CTaxon1_name > >::const_iterator lend = lNames.end();
2357 if( (*ci)->GetCde() == cn ) {
2358 if( lend == lNames.end() ) {
2361 lend = lNames.end();
2366 if( lend != lNames.end() ) {
2367 disp_name_out = (*lend)->GetOname();
2400 if( !pNode->
GetName().empty() ) {
2401 name_out.assign( pNode->
GetName() );
2404 SetLastError(
"ERROR: No scientific name at the node" );
This stream exchanges data with a named service, in a constraint that the service is implemented as o...
TTaxNameClass FindNameClassByName(const char *pchName)
bool LookupAndAdd(TTaxId tax_id, CTaxon1Node **ppData)
TTaxRank GetSuperkingdomRank() const
const char * GetNameClassName(short nc)
TTaxRank GetSubspeciesRank() const
TTaxRank GetGenusRank() const
const char * GetDivisionName(TTaxDivision div_id)
TTaxRank GetSpeciesRank() const
TTaxRank FindRankByName(const char *pchName)
TTaxNameClass GetPreferredCommonNameClass() const
bool Lookup(TTaxId tax_id, CTaxon1Node **ppNode)
TTaxNameClass GetCommonNameClass() const
TTaxDivision FindDivisionByCode(const char *pchCode)
TTaxDivision FindDivisionByName(const char *pchName)
bool LookupAndInsert(TTaxId tax_id, CTaxon2_data **ppData)
const char * GetRankName(int rank)
bool Init(unsigned nCapacity=10)
void SetIndexEntry(int id, CTaxon1Node *pNode)
const char * GetDivisionCode(TTaxDivision div_id)
static void SetOrgrefProp(ncbi::objects::COrg_ref &org, const std::string &prop_name, const std::string &prop_val)
virtual TTaxId GetTaxId() const
void SetSubtreeLoaded(bool b)
virtual const string & GetName() const
bool IsJoinTerminal() const
virtual bool IsRoot() const
virtual const string & GetBlastName() const
virtual TTaxRank GetRank() const
bool IsSubtreeLoaded() const
CTaxon1Node * GetParent()
void GetErrorText(string &err) const
const string & GetLastError() const
bool GetNodeProperty(TTaxId tax_id, const string &prop_name, bool &prop_val)
bool GetTaxId4GI(TGi gi, TTaxId &tax_id_out)
bool GetTypeMaterial(TTaxId tax_id, TNameList &type_material_list_out)
vector< TTaxId > TTaxIdList
bool GetInheritedPropertyDefines(const string &prop_name, TInfoList &results_out, TTaxId subtree_root=TAX_ID_CONST(1))
CConstRef< COrg_ref > GetOrgRef(TTaxId tax_id, bool &is_species, bool &is_uncultured, string &blast_name, bool *is_specified=NULL)
bool GetDivisionName(TTaxDivision div_id, string &div_name_out, string *div_code_out=NULL)
CRef< CTaxon2_data > GetById(TTaxId tax_id)
bool SendRequest(CTaxon1_req &req, CTaxon1_resp &resp, bool bShouldReconnect=true)
bool GetDisplayCommonName(TTaxId tax_id, string &disp_name_out)
TTaxRank GetRankIdByName(const string &rank_name)
static const unsigned def_reconnect_attempts
TTaxId GetTaxIdByName(const string &orgname)
bool GetPopsetJoin(const TTaxIdList &ids_in, TTaxIdList &ids_out)
TTaxId GetGenus(TTaxId id_tax)
const char * m_pchService
TTaxId SearchTaxIdByName(const string &orgname, ESearch mode=eSearch_TokenSet, list< CRef< CTaxon1_name > > *name_list_out=NULL)
bool LoadSubtreeEx(TTaxId tax_id, int type, const ITaxon1Node **ppNode)
TTaxId GetTaxIdByOrgRef(const COrg_ref &inp_orgRef)
@ eStatus_WrongCommonName
@ eStatus_WrongOrgnameAttr
CConstRef< CTaxon2_data > LookupMerge(COrg_ref &inp_orgRef, string *psLog=0, TOrgRefStatus *pStatusOut=0)
friend class COrgRefCache
TOrgRefStatus x_ConvertOrgrefProps(CTaxon2_data &data)
TTaxId GetSpecies(TTaxId id_tax, ESpeciesMode mode=eSpeciesMode_Flag)
TTaxId GetParent(TTaxId id_tax)
ESerialDataFormat m_eDataFormat
void SetLastError(const char *err_msg)
bool CheckOrgRef(const COrg_ref &orgRef, TOrgRefStatus &stat_out, string *psLog=0)
bool GetGCName(TTaxGeneticCode gc_id, string &gc_name_out)
CConn_ServiceStream * m_pServer
bool DumpNames(TTaxNameClass name_class, list< CRef< CTaxon1_name > > &out)
bool SetSynonyms(bool on_off)
TTaxId FindTaxIdByName(const string &orgname)
TTaxId GetSuperkingdom(TTaxId id_tax)
bool GetScientificName(TTaxId tax_id, string &name_out)
bool GetAllNamesEx(TTaxId tax_id, list< CRef< CTaxon1_name > > &lNames)
@ eIteratorMode_LeavesBranches
bool GetNameClass(TTaxNameClass nameclass_id, string &class_name_out)
int GetAllTaxIdByName(const string &orgname, TTaxIdList &lIds)
int GetAllNames(TTaxId tax_id, TNameList &lNames, bool unique)
unsigned m_nReconnectAttempts
TTaxDivision GetDivisionIdByName(const string &div_name)
TTaxNameClass GetNameClassId(const string &class_name)
CRef< ITreeIterator > GetTreeIterator(EIteratorMode mode=eIteratorMode_Default)
list< CRef< CTaxon1_info > > TInfoList
bool GetRankName(TTaxRank rank_id, string &rank_name_out)
bool GetBlastName(TTaxId tax_id, string &blast_name_out)
TTaxId Join(TTaxId taxid1, TTaxId taxid2)
static const unsigned def_cache_capacity
TTaxId GetAncestorByRank(TTaxId id_tax, const char *rank_name)
CRef< CTaxon2_data > Lookup(const COrg_ref &inp_orgRef, string *psLog=0)
int GetChildren(TTaxId id_tax, TTaxIdList &children_ids)
bool GetProperty(const string &name, string &value) const
void SetProperty(const string &name, const string &value)
bool SetRoot(CTreeContNodeBase *root)
CTreeConstIterator * GetConstIterator() const
const CTreeContNodeBase * GetRoot() const
CTreeIterator * GetIterator()
Base class for all iterators over modifiable object.
CTreeContNodeBase * GetNode() const
bool AddChild(CTreeContNodeBase *new_node)
bool GoNode(CTreeContNodeBase *node)
virtual TTaxId GetTaxId() const =0
virtual EAction LevelEnd(const ITaxon1Node *)
virtual EAction LevelBegin(const ITaxon1Node *)
virtual EAction Execute(const ITaxon1Node *pNode)=0
EAction TraverseLevelByLevel(I4Each &, unsigned levels=kMax_UInt)
virtual bool GoSibling()=0
virtual bool GoNode(const ITaxon1Node *pNode)=0
virtual const ITaxon1Node * GetNode() const =0
EAction TraverseLevelByLevelInternal(I4Each &cb, unsigned levels, vector< const ITaxon1Node * > &skp)
EAction TraverseUpward(I4Each &, unsigned levels=kMax_UInt)
EAction TraverseAncestors(I4Each &)
EAction TraverseDownward(I4Each &, unsigned levels=kMax_UInt)
virtual bool GoParent()=0
virtual bool IsTerminal() const =0
virtual bool GoAncestor(const ITaxon1Node *pNode)=0
container_type::const_iterator const_iterator
container_type::iterator iterator
const_iterator end() const
iterator_bool insert(const value_type &val)
container_type::value_type value_type
const_iterator find(const key_type &key) const
The NCBI C++ standard methods for dealing with std::string.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define TAX_ID_TO(T, tax_id)
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
SStrictId_Tax::TId TTaxId
Taxon id type.
#define TAX_ID_FROM(T, value)
#define ERR_POST_X(err_subcode, message)
Error posting with default error code and given error subcode.
@ eFNP_Allow
pass through unchanged, post no error message
@ eSerial_AsnText
ASN.1 text.
@ eSerial_AsnBinary
ASN.1 binary.
static CObjectOStream * Open(ESerialDataFormat format, CNcbiOstream &outStream, bool deleteOutStream)
Create serial object writer and attach it to an output stream.
static CObjectIStream * Open(ESerialDataFormat format, CNcbiIstream &inStream, bool deleteInStream)
Create serial object reader and attach it to an input stream.
bool InGoodState(void)
Check fail flags and also the state of input data source.
bool InGoodState(void)
Check fail flags and also the state of output stream.
TFailFlags GetFailFlags(void) const
Get fail flags.
TFailFlags GetFailFlags(void) const
Get fail flags.
void Reset(void)
Reset reference object.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static bool StringToBool(const CTempString str)
Convert string to bool.
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 bool EndsWith(const CTempString str, const CTempString end, ECase use_case=eCase)
Check if a string ends with a specified suffix value.
static void TruncateSpacesInPlace(string &str, ETrunc where=eTrunc_Both)
Truncate spaces in a string (in-place)
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.
@ fSplit_Tokenize
All delimiters are merged and trimmed, to get non-empty tokens only.
int ConnNetInfo_SetTimeout(SConnNetInfo *net_info, const STimeout *timeout)
SConnNetInfo * ConnNetInfo_Create(const char *service)
void ConnNetInfo_Destroy(SConnNetInfo *net_info)
TDb & SetDb(void)
Assign a value to Db data member.
bool IsSetSubspecies(void) const
Check if a value has been assigned to Subspecies data member.
const TBinomial & GetBinomial(void) const
Get the variant data.
const TSpecies & GetSpecies(void) const
Get the Species member data.
bool IsSetSpecies(void) const
species required if subspecies used Check if a value has been assigned to Species data member.
const TSubspecies & GetSubspecies(void) const
Get the Subspecies member data.
bool IsBinomial(void) const
Check if variant Binomial is selected.
TTaxachildren & SetTaxachildren(void)
Select the variant.
const TFindname & GetFindname(void) const
Get the variant data.
TGetidbyorg GetGetidbyorg(void) const
Get the variant data.
bool IsSetLevel(void) const
Check if a value has been assigned to Level data member.
bool IsLookup(void) const
Check if variant Lookup is selected.
TDumpnames4class & SetDumpnames4class(void)
Select the variant.
TGetunique GetGetunique(void) const
Get the variant data.
TBlast_name & SetBlast_name(void)
Assign a value to Blast_name data member.
void SetIs_species_level(TIs_species_level value)
Assign a value to Is_species_level data member.
bool IsSetMsg(void) const
Check if a value has been assigned to Msg data member.
TTaxachildren & SetTaxachildren(void)
Select the variant.
const TGetorgnames & GetGetorgnames(void) const
Get the variant data.
TIs_species_level GetIs_species_level(void) const
Get the Is_species_level member data.
const TOrg & GetOrg(void) const
Get the Org member data.
TGetorgprop & SetGetorgprop(void)
Select the variant.
bool IsGetorgprop(void) const
Check if variant Getorgprop is selected.
void SetOrg(TOrg &value)
Assign a value to Org data member.
TGetorgnames & SetGetorgnames(void)
Select the variant.
const TSearchname & GetSearchname(void) const
Get the variant data.
bool IsSetBlast_name(void) const
inherited blast name Check if a value has been assigned to Blast_name data member.
bool IsId4gi(void) const
Check if variant Id4gi is selected.
const TOrg & GetOrg(void) const
Get the Org member data.
TIs_uncultured GetIs_uncultured(void) const
Get the Is_uncultured member data.
TLevel GetLevel(void) const
Get the Level member data.
const TBlast_name & GetBlast_name(void) const
Get the Blast_name member data.
bool IsSetIs_species_level(void) const
species level or below Check if a value has been assigned to Is_species_level data member.
bool IsDumpnames4class(void) const
Check if variant Dumpnames4class is selected.
TLookup & SetLookup(void)
Select the variant.
TSearchname & SetSearchname(void)
Select the variant.
bool IsTaxachildren(void) const
Check if variant Taxachildren is selected.
void SetInit(void)
Select the variant.
bool IsGetgcs(void) const
Check if variant Getgcs is selected.
void SetIs_uncultured(TIs_uncultured value)
Assign a value to Is_uncultured data member.
TFindname & SetFindname(void)
Select the variant.
TGetunique & SetGetunique(void)
Select the variant.
void SetGetgcs(void)
Select the variant.
bool IsGetidbyorg(void) const
Check if variant Getidbyorg is selected.
bool IsGetunique(void) const
Check if variant Getunique is selected.
TId4gi GetId4gi(void) const
Get the variant data.
TId4gi & SetId4gi(void)
Select the variant.
bool IsInit(void) const
Check if variant Init is selected.
const TMsg & GetMsg(void) const
Get the Msg member data.
TSearchname & SetSearchname(void)
Select the variant.
TDumpnames4class & SetDumpnames4class(void)
Select the variant.
void SetFini(void)
Select the variant.
bool IsSearchname(void) const
Check if variant Searchname is selected.
const TGetorgprop & GetGetorgprop(void) const
Get the variant data.
bool IsError(void) const
Check if variant Error is selected.
const TError & GetError(void) const
Get the variant data.
const TLookup & GetLookup(void) const
Get the variant data.
const TGetgcs & GetGetgcs(void) const
Get the variant data.
bool IsFini(void) const
Check if variant Fini is selected.
bool IsGetorgnames(void) const
Check if variant Getorgnames is selected.
TGetorgprop & SetGetorgprop(void)
Select the variant.
TGetidbyorg & SetGetidbyorg(void)
Select the variant.
bool IsFindname(void) const
Check if variant Findname is selected.
list< CRef< CTaxon1_name > > TSearchname
bool IsSetIs_uncultured(void) const
belongs to environmental bin Check if a value has been assigned to Is_uncultured data member.
@ eLevel_none
not an error, just a message
Definition of all error codes used in objects libraries.
static bool s_GetBoolValue(const CObject_id &val)
static const STimeout def_timeout
vector< CTaxon1Node * > TTaxNodeLineage
static void s_StoreResidueTaxid(CTreeIterator *pIt, CTaxon1::TTaxIdList &lTo)
static const char s_achInvalTaxid[]
short int TTaxRank
Primitive types for some taxon1 object fields.
short int TTaxGeneticCode