NCBI C++ ToolKit
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
CSearchDatabase Class Reference

Search Toolkit Book for CSearchDatabase

Blast Search Subject. More...

#include <algo/blast/api/uniform_search.hpp>

+ Inheritance diagram for CSearchDatabase:
+ Collaboration diagram for CSearchDatabase:

Public Types

enum  EMoleculeType { eBlastDbIsProtein, eBlastDbIsNucleotide }
 Molecule of the BLAST database. More...
 
typedef vector< TGiTGiList
 Define a list of gis. More...
 
- Public Types inherited from CObject
enum  EAllocFillMode { eAllocFillNone = 1, eAllocFillZero, eAllocFillPattern }
 Control filling of newly allocated memory. More...
 
typedef CObjectCounterLocker TLockerType
 Default locker type for CRef. More...
 
typedef CAtomicCounter TCounter
 Counter type is CAtomiCounter. More...
 
typedef TCounter::TValue TCount
 Alias for value type of counter. More...
 

Public Member Functions

 CSearchDatabase (const string &dbname, EMoleculeType mol_type)
 Simple constructor. More...
 
 CSearchDatabase (const string &dbname, EMoleculeType mol_type, const string &entrez_query)
 Constructor with allows an entrez query to be specified. More...
 
void SetDatabaseName (const string &dbname)
 Mutator for the database name. More...
 
string GetDatabaseName () const
 Accessor for the database name. More...
 
void SetMoleculeType (EMoleculeType mol_type)
 Mutator for the molecule type. More...
 
EMoleculeType GetMoleculeType () const
 Accessor for the molecule type. More...
 
bool IsProtein () const
 Determine whether this database contains protein sequences or not. More...
 
void SetEntrezQueryLimitation (const string &entrez_query)
 Mutator for the entrez query. More...
 
string GetEntrezQueryLimitation () const
 Accessor for the entrez query. More...
 
void SetGiList (CSeqDBGiList *gilist)
 Mutator for the gi list. More...
 
const CRef< CSeqDBGiList > & GetGiList () const
 Accessor for the gi list. More...
 
const TGiList GetGiListLimitation () const
 
void SetNegativeGiList (CSeqDBGiList *gilist)
 Mutator for the negative gi list. More...
 
const CRef< CSeqDBGiList > & GetNegativeGiList () const
 Accessor for the negative gi list. More...
 
const TGiList GetNegativeGiListLimitation () const
 
void SetFilteringAlgorithm (int filt_algorithm_id)
 Temporary fix for backwards compatibility with other 6.0 SCs. More...
 
void SetFilteringAlgorithm (int filt_algorithm_id, ESubjectMaskingType mask_type)
 Mutator for the filtering algorithm. More...
 
void SetFilteringAlgorithm (const string &filt_algorithm, ESubjectMaskingType mask_type)
 Mutator for the filtering algorithm. More...
 
int GetFilteringAlgorithm () const
 Accessor for the filtering algorithm ID. More...
 
string GetFilteringAlgorithmKey () const
 Accessor for the filtering algorithm key. More...
 
ESubjectMaskingType GetMaskType () const
 
void SetSeqDb (CRef< CSeqDB > seqdb)
 Mutator for the seqdb. More...
 
CRef< CSeqDBGetSeqDb () const
 Obtain a reference to the database. More...
 
- Public Member Functions inherited from CObject
 CObject (void)
 Constructor. More...
 
 CObject (const CObject &src)
 Copy constructor. More...
 
virtual ~CObject (void)
 Destructor. More...
 
CObjectoperator= (const CObject &src) THROWS_NONE
 Assignment operator. More...
 
bool CanBeDeleted (void) const THROWS_NONE
 Check if object can be deleted. More...
 
bool IsAllocatedInPool (void) const THROWS_NONE
 Check if object is allocated in memory pool (not system heap) More...
 
bool Referenced (void) const THROWS_NONE
 Check if object is referenced. More...
 
bool ReferencedOnlyOnce (void) const THROWS_NONE
 Check if object is referenced only once. More...
 
void AddReference (void) const
 Add reference to object. More...
 
void RemoveReference (void) const
 Remove reference to object. More...
 
void ReleaseReference (void) const
 Remove reference without deleting object. More...
 
virtual void DoNotDeleteThisObject (void)
 Mark this object as not allocated in heap – do not delete this object. More...
 
virtual void DoDeleteThisObject (void)
 Mark this object as allocated in heap – object can be deleted. More...
 
void * operator new (size_t size)
 Define new operator for memory allocation. More...
 
void * operator new[] (size_t size)
 Define new[] operator for 'array' memory allocation. More...
 
void operator delete (void *ptr)
 Define delete operator for memory deallocation. More...
 
void operator delete[] (void *ptr)
 Define delete[] operator for memory deallocation. More...
 
void * operator new (size_t size, void *place)
 Define new operator. More...
 
void operator delete (void *ptr, void *place)
 Define delete operator. More...
 
void * operator new (size_t size, CObjectMemoryPool *place)
 Define new operator using memory pool. More...
 
void operator delete (void *ptr, CObjectMemoryPool *place)
 Define delete operator. More...
 
virtual void DebugDump (CDebugDumpContext ddc, unsigned int depth) const
 Define method for dumping debug information. More...
 
- Public Member Functions inherited from CDebugDumpable
 CDebugDumpable (void)
 
virtual ~CDebugDumpable (void)
 
void DebugDumpText (ostream &out, const string &bundle, unsigned int depth) const
 
void DebugDumpFormat (CDebugDumpFormatter &ddf, const string &bundle, unsigned int depth) const
 
void DumpToConsole (void) const
 

Private Member Functions

void x_TranslateFilteringAlgorithm () const
 Translate string algorithm id to numeric id. More...
 
void x_InitializeDb () const
 Initialize the database. More...
 
void x_ValidateMaskingAlgorithm () const
 Validates that the specified filtering algorithm ID is supported by the specified BLAST database. More...
 

Private Attributes

string m_DbName
 database name More...
 
EMoleculeType m_MolType
 molecule type More...
 
string m_EntrezQueryLimitation
 entrez query More...
 
CRef< CSeqDBGiListm_GiList
 gi list More...
 
CRef< CSeqDBGiListm_NegativeGiList
 negative gi list More...
 
bool m_GiListSet
 
string m_FilteringAlgorithmString
 filtering to apply to database sequences More...
 
int m_FilteringAlgorithmId
 
ESubjectMaskingType m_MaskType
 
bool m_NeedsFilteringTranslation
 
bool m_DbInitialized
 
CRef< CSeqDBm_SeqDb
 

Additional Inherited Members

- Static Public Member Functions inherited from CObject
static NCBI_NORETURN void ThrowNullPointerException (void)
 Define method to throw null pointer exception. More...
 
static NCBI_NORETURN void ThrowNullPointerException (const type_info &type)
 
static EAllocFillMode GetAllocFillMode (void)
 
static void SetAllocFillMode (EAllocFillMode mode)
 
static void SetAllocFillMode (const string &value)
 Set mode from configuration parameter value. More...
 
- Static Public Member Functions inherited from CDebugDumpable
static void EnableDebugDump (bool on)
 
- Static Public Attributes inherited from CObject
static const TCount eCounterBitsCanBeDeleted = 1 << 0
 Define possible object states. More...
 
static const TCount eCounterBitsInPlainHeap = 1 << 1
 Heap signature was found. More...
 
static const TCount eCounterBitsPlaceMask
 Mask for 'in heap' state flags. More...
 
static const int eCounterStep = 1 << 2
 Skip over the "in heap" bits. More...
 
static const TCount eCounterValid = TCount(1) << (sizeof(TCount) * 8 - 2)
 Minimal value for valid objects (reference counter is zero) Must be a single bit value. More...
 
static const TCount eCounterStateMask
 Valid object, and object in heap. More...
 
- Protected Member Functions inherited from CObject
virtual void DeleteThis (void)
 Virtual method "deleting" this object. More...
 

Detailed Description

Blast Search Subject.

Definition at line 109 of file uniform_search.hpp.

Member Typedef Documentation

typedef vector<TGi> CSearchDatabase::TGiList

Define a list of gis.

Definition at line 112 of file uniform_search.hpp.

Member Function Documentation

bool CSearchDatabase::IsProtein ( ) const
inline

Determine whether this database contains protein sequences or not.

Definition at line 144 of file uniform_search.hpp.

References eBlastDbIsProtein, and GetMoleculeType().

Referenced by CLocalDbAdapter::IsProtein(), CBlastDatabaseArgs::SetSearchDatabase(), x_InitializeDb(), and x_ValidateMaskingAlgorithm().

Member Data Documentation

bool CSearchDatabase::m_DbInitialized
mutableprivate
string CSearchDatabase::m_DbName
private

database name

Definition at line 192 of file uniform_search.hpp.

Referenced by GetDatabaseName(), SetDatabaseName(), and x_InitializeDb().

string CSearchDatabase::m_EntrezQueryLimitation
private

entrez query

Definition at line 194 of file uniform_search.hpp.

Referenced by GetEntrezQueryLimitation(), and SetEntrezQueryLimitation().

int CSearchDatabase::m_FilteringAlgorithmId
mutableprivate
string CSearchDatabase::m_FilteringAlgorithmString
private

filtering to apply to database sequences

Definition at line 200 of file uniform_search.hpp.

Referenced by GetFilteringAlgorithmKey(), SetFilteringAlgorithm(), and x_TranslateFilteringAlgorithm().

CRef<CSeqDBGiList> CSearchDatabase::m_GiList
mutableprivate

gi list

Definition at line 196 of file uniform_search.hpp.

Referenced by GetGiList(), GetGiListLimitation(), SetGiList(), and x_InitializeDb().

bool CSearchDatabase::m_GiListSet
private

Definition at line 198 of file uniform_search.hpp.

Referenced by SetGiList(), and SetNegativeGiList().

ESubjectMaskingType CSearchDatabase::m_MaskType
private
EMoleculeType CSearchDatabase::m_MolType
private

molecule type

Definition at line 193 of file uniform_search.hpp.

Referenced by GetMoleculeType(), and SetMoleculeType().

bool CSearchDatabase::m_NeedsFilteringTranslation
mutableprivate
CRef<CSeqDBGiList> CSearchDatabase::m_NegativeGiList
mutableprivate

negative gi list

Definition at line 197 of file uniform_search.hpp.

Referenced by GetNegativeGiList(), GetNegativeGiListLimitation(), SetNegativeGiList(), and x_InitializeDb().

CRef<CSeqDB> CSearchDatabase::m_SeqDb
mutableprivate

The documentation for this class was generated from the following files:
Modified on Fri Jun 23 18:28:55 2017 by modify_doxy.py rev. 533848