m_bWithSynonyms(
false)
137 if( ( (
tmp=getenv(
"NI_TAXONOMY_SERVICE_NAME")) !=
NULL) ||
138( (
tmp=getenv(
"NI_SERVICE_NAME_TAXONOMY")) !=
NULL) ) {
141unique_ptr<CConn_ServiceStream> pServer;
142unique_ptr<CObjectOStream> pOut;
143unique_ptr<CObjectIStream> pIn;
146 SetLastError(
"ERROR: Init(): Unable to create net info");
149pNi->
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");
244SerialAssign<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() ) {
332list< string > lBlastNames;
337lBlastNames.reverse();
338 data.SetBlast_name().insert(
data.SetBlast_name().end(),
339lBlastNames.begin(), lBlastNames.end() );
341 stringsPropName = (*i)->GetDb().substr( strlen(
"taxlookup?") );
342 switch( (*i)->GetTag().Which() ) {
359 if( !
data.IsSetIs_uncultured() ) {
360 data.SetIs_uncultured(
false);
362 if( !
data.IsSetIs_species_level() ) {
363 data.SetIs_species_level(
false);
400SerialAssign< COrg_ref >( req.
SetLookup(), inp_orgRef );
421 SetLastError(
"INTERNAL: TaxService response type is not Lookup");
447SerialAssign< COrg_ref >( req.
SetLookup(), inp_orgRef );
463*pStatusOut = stat_out;
468SerialAssign< COrg_ref >( inp_orgRef, pData->
GetOrg() );
471 SetLastError(
"INTERNAL: TaxService response type is not Lookup");
501SerialAssign< COrg_ref >( req.
SetGetidbyorg(), inp_orgRef );
508 SetLastError(
"INTERNAL: TaxService response type is not Getidbyorg");
526 if( orgname.empty() )
528list< 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() ) {
617pQuery->SetIval1( nMode );
618pQuery->SetIval2( 0 );
619pQuery->SetSval( orgname );
631 if( lNm.size() == 0 ) {
633}
else if( lNm.size() == 1 ) {
634retc = 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 constlist< CRef< CTaxon1_name > >& lNm = resp.
GetFindname();
684 i!= lNm.end(); ++
i, ++
count)
685lIds.push_back( (*i)->GetTaxid() );
687 SetLastError(
"INTERNAL: TaxService response type is not Findname");
706 bool& is_uncultured,
724 if( is_specified ) {
726 boolspecified =
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) {
1020children_ids.push_back( (*i)->GetTaxid() );
1027 SetLastError(
"INTERNAL: TaxService response type is not Taxachildren");
1053 constlist< CRef< CTaxon1_info > >& lGc = resp.
GetGetgcs();
1057 i!= lGc.end(); ++
i) {
1062 SetLastError(
"INTERNAL: TaxService response type is not Getgcs");
1069gc_name_out.assign( gci->second );
1072 SetLastError(
"ERROR: GetGCName(): Unknown genetic code");
1091rank_name_out.assign( pchName );
1094 SetLastError(
"ERROR: GetRankName(): Rank not found");
1114 if(
id!= -1000 ) {
1137div_name_out.assign( pchName );
1138 if( pchCode && div_code_out !=
NULL) {
1139div_code_out->assign( pchCode );
1143 SetLastError(
"ERROR: GetDivisionName(): Division not found");
1186name_class_out.assign( pchName );
1189 SetLastError(
"ERROR: GetNameClass(): Name class not found");
1265 constlist< CRef< CTaxon1_name > >& lNm = resp.
GetGetorgnames();
1269 i!= lNm.end(); ++
i, ++
count)
1271lNames.push_back( (*i)->GetOname() );
1273lNames.push_back( ((*i)->IsSetUname() && !(*i)->GetUname().empty()) ?
1278 SetLastError(
"INTERNAL: TaxService response type is not Getorgnames");
1311 constlist< CRef< CTaxon1_name > >& lNm = resp.
GetGetorgnames();
1314 i= lNm.begin(), li = lNm.end();
i!= li; ++
i) {
1315lNames.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() ) {
1422blast_name_out.erase();
1431 unsignednIterCount( 0 );
1432 unsignedfail_flags( 0 );
1440 boolbNeedReconnect(
false);
1450 if( resp.IsError() ) {
1459bNeedReconnect = bShouldReconnect;
1460}
catch( exception& e ) {
1462bNeedReconnect = bShouldReconnect;
1465bNeedReconnect |= bShouldReconnect &&
1470}
catch( exception& e ) {
1473bNeedReconnect = bShouldReconnect &&
1480 if( !bNeedReconnect )
1491unique_ptr<CObjectOStream> pOut;
1492unique_ptr<CObjectIStream> pIn;
1493unique_ptr<CConn_ServiceStream>
1503 m_pIn= pIn.release();
1505}
catch( exception& e ) {
1528lTo.push_back( pNode->
GetTaxId() );
1554 if( ids_in.size() > 0 ) {
1556 CTaxon1Node*pParent = 0, *pNode = 0, *pNewParent = 0;
1562vLin.reserve( 256 );
1563 for( TTaxIdList::const_iterator ci = ids_in.begin();
1567 if( nmi == nodeMap.
end() ) {
1569 if( !tPartTree.
GetRoot() ) {
1573tPartTree.
SetRoot( pNewParent );
1575(pNewParent->GetTaxId(), pNewParent) );
1581pNode->SetJoinTerminal();
1582vLin.push_back( pNode );
1585== nodeMap.
end()) ) {
1587vLin.push_back( pNode );
1593pIt->
GoNode( nmi->second );
1595 for( TTaxNodeLineage::reverse_iterator
i=
1601( pNode->GetTaxId(), pNode ) );
1611nmi->second->SetJoinTerminal();
1615 if( tPartTree.
GetRoot() ) {
1617bHasSiblings =
true;
1621 if( pNode->IsJoinTerminal() || !pIt->
GoChild() ) {
1622bHasSiblings =
false;
1626 if( bHasSiblings ) {
1662 if( levels == 0 ) {
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() ) {
1784pProp->SetIval1(
TAX_ID_TO(
int, tax_id) );
1785pProp->SetIval2( -1 );
1786pProp->SetSval( prop_name );
1792 ERR_POST_X( 4,
"Response type is not Getorgprop");
1793 SetLastError(
"INTERNAL: TaxService response type is not Getorgprop");
1798prop_val.assign( pInfo->GetSval() );
1809}
catch( exception& e ) {
1814 SetLastError(
"Empty property name is not accepted");
1836 if( !prop_name.empty() ) {
1837pProp->SetIval1(
TAX_ID_TO(
int, tax_id) );
1838pProp->SetIval2( -3 );
1839pProp->SetSval( prop_name );
1845 ERR_POST_X( 8,
"Response type is not Getorgprop");
1846 SetLastError(
"INTERNAL: TaxService response type is not Getorgprop");
1851prop_val = pInfo->GetIval2() != 0;
1862}
catch( exception& e ) {
1867 SetLastError(
"Empty property name is not accepted");
1889 if( !prop_name.empty() ) {
1890pProp->SetIval1(
TAX_ID_TO(
int, tax_id) );
1891pProp->SetIval2( -2 );
1892pProp->SetSval( prop_name );
1898 ERR_POST_X( 12,
"Response type is not Getorgprop");
1899 SetLastError(
"INTERNAL: TaxService response type is not Getorgprop");
1904prop_val = pInfo->GetIval2();
1915}
catch( exception& e ) {
1920 SetLastError(
"Empty property name is not accepted");
1943 if( !prop_name.empty() ) {
1944pProp->SetIval1(
TAX_ID_TO(
int, -root) );
1945pProp->SetIval2( -4 );
1946pProp->SetSval( prop_name );
1952 ERR_POST_X( 12,
"Response type is not Getorgprop");
1966}
catch( exception& e ) {
1971 SetLastError(
"Empty property name is not accepted");
2007 case eSkip:
break;
2056vector< const ITaxon1Node* > skippedNodes;
2064vector< const ITaxon1Node* >& skp)
2066 size_tskp_start = skp.size();
2088 size_tskp_cur = skp_start;
2091 if( skp.size() == skp_start ||
2092skp[skp_cur] !=
GetNode() ) {
2111skp.resize( skp_start );
2131 if( stat ==
eSkip) {
2159SerialAssign< COrg_ref >( req.
SetLookup(), orgRef );
2181 SetLastError(
"INTERNAL: TaxService response type is not Lookup");
2205type_material_list_out.clear();
2209list< CRef< CTaxon1_name > > lNames;
2213 while( !pNode->
IsRoot() ) {
2214 intrank( pNode->
GetRank() );
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 ) {
2257type_material_list_out.push_back( (*i)->GetOname() );
2309list< CRef< CTaxon1_name > > lNames;
2313 if( (*ci)->GetCde() == cn ) {
2314disp_name_out = (*ci)->GetOname();
2320list< CRef< CTaxon1_name > >::const_iterator lend = lNames.end();
2322 if( (*ci)->GetCde() == cn ) {
2323 if( lend == lNames.end() ) {
2326lend = lNames.end();
2331 if( lend != lNames.end() ) {
2332disp_name_out = (*lend)->GetOname();
2342}
else if( species_id >
ZERO_TAX_ID&& species_id != tax_id ) {
2348 if( (*ci)->GetCde() == cn ) {
2349disp_name_out = (*ci)->GetOname();
2355list< CRef< CTaxon1_name > >::const_iterator lend = lNames.end();
2357 if( (*ci)->GetCde() == cn ) {
2358 if( lend == lNames.end() ) {
2361lend = lNames.end();
2366 if( lend != lNames.end() ) {
2367disp_name_out = (*lend)->GetOname();
2400 if( !pNode->
GetName().empty() ) {
2401name_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
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 whitespace 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.
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.
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
@ 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
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4