50 : m_DbName(
dbname), m_MolType(mol_type), m_GiListSet(
false),
52 m_NeedsFilteringTranslation(
false), m_DbInitialized(
false)
56 const string& entrez_query)
57 : m_DbName(
dbname), m_MolType(mol_type),
58 m_EntrezQueryLimitation(entrez_query), m_GiListSet(
false),
60 m_NeedsFilteringTranslation(
false), m_DbInitialized(
false)
103 "Cannot have more than one type of id list filtering.");
128 "Cannot have more than one type of id list filtering.");
272 ITERATE(vector<string>, iter, sis) {
273 seqIds->
AddSi(*iter);
283 vector<TPig> pig_list;
307 vector<int> supported_algorithms;
309 if (find(supported_algorithms.begin(),
310 supported_algorithms.end(),
314 <<
"not supported in " <<
315 (
IsProtein() ?
"protein" :
"nucleotide") <<
" '"
ESubjectMaskingType
Define the possible subject masking types.
Defines BLAST error codes (user errors included)
CNcbiOstrstreamToString class helps convert CNcbiOstrstream to a string Sample usage:
int GetNumGis() const
Get the number of GIs in the array.
int GetNumSis() const
Get the number of Seq-ids in the array.
void GetPigList(vector< TPig > &pigs) const
void GetGiList(vector< TGi > &gis) const
Get the gi list.
void GetSiList(vector< string > &sis) const
TODO Get the seqid list?
const SBlastSeqIdListInfo & GetListInfo()
set< TTaxId > & GetTaxIdsList()
bool Empty() const
Return false if there are elements present.
SeqDB ID list for performing boolean set operations.
void AddTaxIds(const set< TTaxId > &tax_ids)
void AddSi(const string &si)
Add a new SeqId to the list.
void SetPigList(const vector< TPig > &new_list)
void SetListInfo(const SBlastSeqIdListInfo &list_info)
void ReserveSis(size_t n)
void GetAvailableMaskAlgorithms(vector< int > &algorithms)
Get a list of algorithm IDs for which mask data exists.
ESeqType
Sequence types (eUnknown tries protein, then nucleotide).
int GetMaskAlgorithmId(const string &algo_name) const
Get the numeric algorithm ID for a string.
void SetEntrezQueryLimitation(const string &entrez_query)
Mutator for the entrez query.
string GetDatabaseName() const
Accessor for the database name.
int m_FilteringAlgorithmId
void SetMoleculeType(EMoleculeType mol_type)
Mutator for the molecule type.
bool m_NeedsFilteringTranslation
void SetNegativeGiList(CSeqDBGiList *gilist)
Mutator for the negative gi list.
EMoleculeType GetMoleculeType() const
Accessor for the molecule type.
string m_EntrezQueryLimitation
entrez query
string m_FilteringAlgorithmString
filtering to apply to database sequences
int GetFilteringAlgorithm() const
Accessor for the filtering algorithm ID.
const TGiList GetNegativeGiListLimitation() const
CRef< CSeqDBGiList > m_GiList
gi list
const CRef< CSeqDBGiList > & GetNegativeGiList() const
Accessor for the negative gi list.
CRef< CSeqDB > GetSeqDb() const
Obtain a reference to the database.
string GetFilteringAlgorithmKey() const
Accessor for the filtering algorithm key.
bool IsProtein() const
Determine whether this database contains protein sequences or not.
void x_TranslateFilteringAlgorithm() const
Translate string algorithm id to numeric id.
void SetDatabaseName(const string &dbname)
Mutator for the database name.
string m_DbName
database name
EMoleculeType m_MolType
molecule type
vector< TGi > TGiList
Define a list of gis.
static bool s_IsNumericId(const string &id)
CRef< CSeqDBGiList > m_NegativeGiList
negative gi list
ESubjectMaskingType m_MaskType
ESubjectMaskingType GetMaskType() const
void x_InitializeDb() const
Initialize the database.
void SetSeqDb(CRef< CSeqDB > seqdb)
Mutator for the seqdb.
const CRef< CSeqDBGiList > & GetGiList() const
Accessor for the gi list.
const TGiList GetGiListLimitation() const
CSearchDatabase(const string &dbname, EMoleculeType mol_type)
Simple constructor.
void x_ValidateMaskingAlgorithm() const
Validates that the specified filtering algorithm ID is supported by the specified BLAST database.
void SetFilteringAlgorithm(int filt_algorithm_id)
Temporary fix for backwards compatibility with other 6.0 SCs.
EMoleculeType
Molecule of the BLAST database.
string GetEntrezQueryLimitation() const
Accessor for the entrez query.
void SetGiList(CSeqDBGiList *gilist)
Mutator for the gi list.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
TObjectType * GetPointer(void) THROWS_NONE
Get pointer,.
void Reset(void)
Reset reference object.
bool NotEmpty(void) const THROWS_NONE
Check if CRef is not empty – pointing to an object and has a non-null value.
bool Empty(void) const THROWS_NONE
Check if CRef is empty – not pointing to any object, which means having a null value.
int32_t Int4
4-byte (32-bit) signed integer
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define USING_SCOPE(ns)
Use the specified namespace.
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define BEGIN_SCOPE(ns)
Define a new scope.
static int StringToInt(const CTempString str, TStringToNumFlags flags=0, int base=10)
Convert string to int.
static TNumeric StringToNumeric(const CTempString str, TStringToNumFlags flags=0, int base=10)
Convert string to a numeric value.
@ fConvErr_NoThrow
Do not throw an exception on error.
char * dbname(DBPROCESS *dbproc)
Get name of current database.
static SLJIT_INLINE sljit_ins msg(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)