32 #ifndef CU_TAXTREE_HPP
33 #define CU_TAXTREE_HPP
65 static bool isSeqLeaf(
const TaxNode& node);
66 static bool isSubSeqLeaf(
const TaxNode& node);
69 static TaxNode* makeSubSeqLeaf(
int rowID,
CCdCore* cd,
int rowInCd);
98 void setSelections(
const vector<int>& rowIDs,
CCdCore* cd=0);
99 int getSelections(vector<int>& rows);
100 void clearSelection();
101 void deselectAllTaxNodes();
104 int getAllLeafNodes(
const TaxTreeIterator& taxNode, vector<TaxTreeIterator>& nodes)
const;
105 short getRankId(
string rankName);
111 void addTaxToBioseq(
CBioseq& bioseq,
TTaxId taxid,
string& taxName);
112 bool writeToFile(
string fname)
const;
113 bool writeToFileAsTable(
string fname)
const;
114 bool write(std::ostream&os,
const iterator& cursor)
const;
115 bool writeAsTable(std::ostream&os,
const iterator& cursor,
const iterator& branchingNode)
const;
126 bool makeTaxonomyTree();
132 void addSeqTax(
int rowID,
string seqName,
TTaxId taxid);
133 void growAndInsertLineage(stack<TaxNode*>& lineage);
135 void cacheRank(
short rank,
string rankName);
136 void writeOutRanks();
bool operator==(const TaxNode &rhs) const
RankNameToId m_rankNameToId
const AlignmentCollection & m_ac
TaxClient * m_taxDataSource
map< string, short > RankNameToId
vector< int > m_failedRows
RowToTaxNode m_rowToTaxNode
const vector< int > & getFailedRows()
map< int, TaxonomyTree::iterator > RowToTaxNode
int GetTaxIDForSequence(const Sequence *seq)
tree< TaxNode > TaxonomyTree
TaxonomyTree::iterator TaxTreeIterator
static void DLIST_NAME() init(DLIST_LIST_TYPE *list)
SStrictId_Tax::TId TTaxId
Taxon id type.
#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.
#define NCBI_CDUTILS_EXPORT
#define row(bind, expected)