This file is indexed.

/usr/include/Bpp/Raa/RaaSpeciesTree.h is in libbpp-raa-dev 2.2.0-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
#ifndef _RAASPECIESTREE_H_
#define _RAASPECIESTREE_H_

extern "C" {
#include "RAA_acnuc.h"
}

#include <string>

namespace bpp {

/**
 * @brief   To work with the species tree classification of the database.
 *
 * The tree can be walked up or down starting from a string, a database species rank,
 * or an NCBI taxonID (TID) value. The species tree also contains synonymous names.
 * The root of the tree is named "ROOT" and has database rank 2.
 */

	
class RaaSpeciesTree {
	friend class RAA;
public:
	
	/**
	 * @brief Returns the database rank of a taxon identified by its name.
	 *
	 * @param  taxon    A taxon name. Case is not significant.
	 * @param allowsynonym  If true, the return value will give the synonym's rank rather than the rank of its
	 * major taxon.
	 * @return The database rank of this taxon, or 0 if no such taxon exists in tree.
	 */
	int findNode(const std::string &taxon, bool allowsynonym = false);
	
	/**
	 * @brief Returns the database rank of a taxon identified by a TID.
	 *
	 * @param  tid     A TID value.
	 * @return The database rank of this taxon, or 0 if no such taxon exists in tree.
	 */
	int findNode(int tid);
	
	/**
	 * @brief Returns the name of a taxon identified by its database rank.
	 *
	 * @param  rank  The database rank of a taxon.
	 * @return The name of this taxon.
	 */
	std::string getName(int rank);
	
	/**
	 * @brief Returns the database rank of the parent of a taxon in the tree.
	 *
	 * @param  rank  The database rank of a taxon.
	 * @return The database rank of the parent of this taxon in the tree, or 0 if no such taxon exists in tree.
	 */
	int parent(int rank);
	
	/**
	 * @brief Returns the TID of a taxon.
	 *
	 * @param  rank  The database rank of a taxon.
	 * @return The TID of this taxon, or 0 if no such taxon exists in tree.
	 */
	int getTid(int rank);
	
	/**
	 * @brief Returns the number of sequences attached to a taxon or to taxa below it in the species tree.
	 *
	 * @param  rank  The database rank of a taxon.
	 * @return The number of sequences attached to this taxon or to taxa below it, or 0 if no such taxon exists in tree.
	 */
	int count(int rank);
	
	/**
	 * @brief Returns the label of a taxon of given rank.
	 *
	 * Labels may contain taxon common names, genetic code information, TID values, and taxonomic 
	 * level information (e.g., genus, order).
	 * @param  rank  The database rank of a taxon.
	 * @return The label of this taxon, or "" if no such taxon or label exists in tree. 
	 */
	std::string label(int rank);
	
	/**
	 * @brief Returns the rank of the first child taxon of a given taxon.
	 *
	 * @param  rank  The database rank of a taxon.
	 * @return The rank of its first child taxon, or 0 if no child taxon exists in tree.
	 */
	int firstChild(int rank);
	
	/**
	 * @brief Allows to loop around all child taxa of a given taxon.
	 *
	 * @param  parent  The database rank of a taxon.
	 * @param  child  The database rank of a child of taxon of rank parent.
	 * @return The rank of the next child taxon of parent after taxon child, or 0 if no more child taxon exists in tree.
	 */
	int nextChild(int parent, int child);
	
	/**
	 * @brief Tells whether there is a downward path from taxon parent to taxon child in the species tree.
	 *
	 * @param  parent  The database rank of a taxon.
	 * @param  child  The database rank of another taxon.
	 * @return true iff child is below parent (possibly with intermediate nodes) in the species tree.
	 */
	bool isChild(int parent, int child);
	
	/**
	 * @brief Allows to loop around all synonymous taxa of a given taxon.
	 *
	 * Synonymous taxa of a taxon are chained in a closed loop, among which only one, the major taxon,
	 * has a parent taxon.
	 *
	 * @param  rank  The database rank of a taxon.
	 * @return  The rank of the next synonymous taxon, or 0 if taxon rank has no synonymous taxon.
	 */
	int nextSynonym(int rank);
	
	/**
	 * @brief Gives the major taxon among all synonyms of a given taxon.
	 *
	 * @param  rank  The database rank of a taxon.
	 * @return  The rank of the major taxon of taxon rank (can be itself).
	 */
	 int getMajor(int rank);
	
private:
	raa_db_access *raa_data;
	raa_node **sp_tree;
	int *tid_to_rank;
	int max_tid;
	int max_sp;
};

} //namespace bpp.

#endif // _RAASPECIESTREE_H_