1 #ifndef OBJTOOLS_READERS_SEQDB__SEQDBFILTER_HPP
2 #define OBJTOOLS_READERS_SEQDB__SEQDBFILTER_HPP
111 case eGiList: p=
"eGiList";
break;
112 case eTiList: p=
"eTiList";
break;
113 case eSiList: p=
"eSiList";
break;
118 case eMemBit: p=
"eMemBit";
break;
123 oss = oss +
"{ " + p +
", ";
254 const vector< CRef<CSeqDB_FilterTree> > &
GetNodes()
const
320 string tab2(
indent+4,
' ');
322 cout << tab1 <<
"Node(" <<
m_Name <<
")\n";
323 cout << tab1 <<
"{\n";
325 cout << tab2 <<
"Filter -> " << (**iter).ToString() <<
"\n";
332 cout << tab2 <<
"Volume: " << vol_iter->GetBasePathS() <<
"\n";
346 (**iter).x_Print(
indent + 4);
348 cout << tab1 <<
"}\n";
void SetFrame(const string &frame)
void Log(const string &name, const char *value, CDebugDumpFormatter::EValueType type=CDebugDumpFormatter::eValue, const string &comment=kEmptyStr)
Something else yet again etc.
int m_End
OID after last included OID.
int GetEnd() const
Get OID after last included OID.
CSeqDB_Path m_Path
Path of file describing included IDs.
CSeqDB_AliasMask(EMaskType mask_type, const CSeqDB_Path &fn, int OidMaskType=0)
Constructor for file-based filtering.
int m_Begin
First included OID.
void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
CSeqDB_AliasMask(int mem_bit)
Constructor for MEMBIT filter.
EMaskType
Various types of masking.
@ eTaxIdList
Taxonomay Id List.
@ eOidRange
OID Range [start, end).
string ToString() const
Build string describing the filtering action.
EMaskType m_MaskType
Type of filtering to apply.
int GetBegin() const
Get first included OID.
EMaskType GetType() const
Get type of filtering applied.
CSeqDB_Path GetPath() const
Get path of file-based filter.
int m_MemBit
Membit to filter.
CSeqDB_AliasMask(int begin, int end)
Constructor for OID range filter.
int m_OidMaskType
Oid Mask Type.
int GetOidMaskType() const
int GetMemBit() const
Get Membit.
Tree of nodes describing filtering of database sequences.
void AddVolume(const CSeqDB_BasePath &vol)
Attach a volume to this node.
CSeqDB_FilterTree()
Construct.
TFilters m_Filters
List of sequence inclusion filters.
void AddNodes(const vector< CRef< CSeqDB_FilterTree > > &nodes)
Add several child nodes to this node.
void x_Print(int indent) const
"Pretty-print" this tree in symbolic form.
bool HasFilter() const
Check whether this tree represents any volume filtering.
void SetName(string name)
Set the node name.
string m_Name
The node name.
const vector< CRef< CSeqDB_FilterTree > > & GetNodes() const
Get child nodes attached to this node.
vector< CRef< CSeqDB_AliasMask > > TFilters
Type used to store lists of filters found here.
void Print() const
Print a formatted description of this tree.
void AddFilters(const TFilters &filters)
Add filters to this node.
vector< CSeqDB_BasePath > m_Volumes
Database volumes attached at this level.
vector< CRef< CSeqDB_FilterTree > > m_SubNodes
Other nodes included by this node.
CSeqDB_FilterTree(CSeqDB_FilterTree &other)
Prevent copy-construction of this object.
CSeqDB_FilterTree & operator=(CSeqDB_FilterTree &other)
Prevent assignment of this class.
const TFilters & GetFilters() const
Get filters from this node.
void AddVolumes(const vector< CSeqDB_BasePath > &vols)
Attach several volumes to this node.
const vector< CSeqDB_BasePath > & GetVolumes() const
Get volumes attached to this node.
CRef< CSeqDB_FilterTree > Specialize(string volname) const
Specialized this tree for the indicated volume.
void AddNode(CRef< CSeqDB_FilterTree > node)
Add a child node to this node.
const string & GetPathS() const
Get the path as a string.
static unsigned char depth[2 *(256+1+29)+1]
static DLIST_TYPE *DLIST_NAME() first(DLIST_LIST_TYPE *list)
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static string IntToString(int value, TNumToStringFlags flags=0, int base=10)
Convert int to string.
double r(size_t dimension_, const Int4 *score_, const double *prob_, double theta_)
USING_SCOPE(objects)
Import definitions from the ncbi::objects namespace.
Defines database volume access classes.