61 #define NCBI_BOOST_NO_AUTO_TEST_MAIN
78 int num_seqs = seqdb->GetNumSeqs();
79 int kNumTestOids =
MIN(5000, num_seqs/4);
80 while(gis.size() <= kNumTestOids) {
81 int oid = rand() % num_seqs;
83 seqdb->OidToGi(oid, gi);
97 int kNumTestOids =
MIN(5000, num_seqs/4);
98 while(ids.size() <= kNumTestOids) {
99 int oid = rand() % num_seqs;
100 list<CRef<CSeq_id> >
t = seqdb->
GetSeqIDs(oid);
118 m_gis(gis), m_db(db), m_isProtein(isProtein){ }
128 for (
int i=0;
i < m_gis.size();
i++) {
152 const int kNumThreads=64;
153 vector<CDLTestThread*> threads;
154 for (
int i=0;
i < kNumThreads;
i++) {
157 for (
int i=0;
i < kNumThreads;
i++) {
160 for (
int i=0;
i < kNumThreads;
i++) {
167 string db =
"rRNA_typestrains/16S_ribosomal_RNA";
168 bool isProtein =
false;
174 string db =
"refseq_select_prot";
175 bool isProtein =
true;
184 m_gis(gis), m_dataloader(ld){ }
190 for (
int i=0;
i < m_gis.size();
i++) {
216 const int kNumThreads=64;
217 vector<CDLTest2Thread*> threads;
218 for (
int i=0;
i < kNumThreads;
i++) {
221 for (
int i=0;
i < kNumThreads;
i++) {
224 for (
int i=0;
i < kNumThreads;
i++) {
233 string db =
"rRNA_typestrains/16S_ribosomal_RNA";
234 bool isProtein =
false;
242 string db =
"refseq_select_prot";
243 bool isProtein =
true;
253 m_db(db), m_isProtein(isProtein), m_Ids(ids){}
257 for (
int i=0;
i < m_Ids.size();
i++) {
276 int kNumTestOids =
MIN(5000, num_seqs/4);
280 const int kNumThreads=64;
281 vector<CSeqDBTestThread*> threads;
282 for (
int i=0;
i < kNumThreads;
i++) {
285 for (
int i=0;
i < kNumThreads;
i++) {
288 for (
int i=0;
i < kNumThreads;
i++) {
298 bool isProtein =
true;
307 bool isProtein =
false;
319 m_db(db), m_isProtein(isProtein), m_Oids(oids){ }
323 for(
int i =0;
i < m_Oids.size();
i++) {
338 const int kNumThreads=64;
339 const int kNumTestOids = 5000;
340 vector<CSeqDBTest2Thread*> threads;
345 for(
int i=0;
i < kNumTestOids;
i++) {
346 int oid = rand() % num_seqs;
350 for (
int i=0;
i < kNumThreads;
i++) {
353 for (
int i=0;
i < kNumThreads;
i++) {
356 for (
int i=0;
i < kNumThreads;
i++) {
366 bool isProtein =
true;
375 m_SeqDB(seqdb), m_Oids(oids){ }
378 for(
int i =0;
i < m_Oids.size();
i++) {
380 m_SeqDB->GetSequence(m_Oids[
i], &
buf);
382 m_SeqDB->RetSequence(&
buf);
394 const int kNumThreads=64;
395 const int kNumTestOids = 5000;
396 vector<CSeqDBTest3Thread*> threads;
402 for(
int i=0;
i < kNumTestOids;
i++) {
403 int oid = rand() % num_seqs;
407 for (
int i=0;
i < kNumThreads;
i++) {
410 for (
int i=0;
i < kNumThreads;
i++) {
413 for (
int i=0;
i < kNumThreads;
i++) {
423 bool isProtein =
false;
void s_GenerateGiList(CRef< CSeqDB > &seqdb, vector< TGi > &gis)
void s_MTSeqDBTest2(string &db, bool isProtein)
void s_MTDataLoaderTest(string &db, bool isProtein)
void s_MTSeqDBTest(string &db, bool isProtein)
BOOST_AUTO_TEST_CASE(MT_DataLoaderForEachThread_16S)
void s_MTSeqDBTest3(string &db, bool isProtein)
void s_GenerateAccsList(CRef< CSeqDB > &seqdb, vector< string > &ids)
void s_MTDataLoaderTest2(string &db, bool isProtein)
Declares the CBlastNucleotideOptionsHandle class.
Declares CBlastScopeSource class to create properly configured CScope objects to invoke the BLAST dat...
build_archive declarations
static const int kSubjectsDataLoaderPriority
The default priority for subjects, should be used for subjects/databases.
static TRegisterLoaderInfo RegisterInObjectManager(CObjectManager &om, const string &dbname="nr", const EDbType dbtype=eUnknown, bool use_fixed_size_slices=true, CObjectManager::EIsDefault is_default=CObjectManager::eNonDefault, CObjectManager::TPriority priority=CObjectManager::kPriority_NotSet)
static string GetLoaderNameFromArgs(CConstRef< CSeqDB > db_handle)
CDLTest2Thread(vector< TGi > &gis, string &ld)
virtual void * Main(void)
Derived (user-created) class must provide a real thread function.
virtual void * Main(void)
Derived (user-created) class must provide a real thread function.
CDLTestThread(vector< TGi > &gis, string &db, bool isProtein)
CSeqDBTest2Thread(string &db, bool isProtein, vector< int > &oids)
virtual void * Main(void)
Derived (user-created) class must provide a real thread function.
virtual void * Main(void)
Derived (user-created) class must provide a real thread function.
CSeqDBTest3Thread(CRef< CSeqDB > seqdb, vector< int > &oids)
CSeqDBTestThread(string &db, bool isProtein, vector< string > &ids)
virtual void * Main(void)
Derived (user-created) class must provide a real thread function.
void GetSequenceAsString(int oid, CSeqUtil::ECoding coding, string &output, TSeqRange range=TSeqRange()) const
Get a sequence in a given encoding.
list< CRef< CSeq_id > > GetSeqIDs(int oid) const
Gets a list of sequence identifiers.
int GetNumSeqs() const
Returns the number of sequences available.
int GetSequence(int oid, const char **buffer) const
Get a pointer to raw sequence data.
void AccessionToOids(const string &acc, vector< int > &oids) const
Translate an Accession to a list of OIDs.
void SetNumberOfThreads(int num_threads, bool force_mt=false)
Setting the number of threads.
static SQLCHAR output[256]
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
string GetSeqIdString(bool with_version=false) const
Return seqid string with optional version for text seqid type.
void AddDataLoader(const string &loader_name, TPriority pri=kPriority_Default)
Add data loader by name.
static CRef< CObjectManager > GetInstance(void)
Return the existing object manager or create one.
CBioseq_Handle GetBioseqHandle(const CSeq_id &id)
Get bioseq handle by seq-id.
vector< CSeq_id_Handle > TId
CConstRef< CBioseq > GetCompleteBioseq(void) const
Get the complete bioseq.
const TId & GetId(void) const
@ e_Gi
GenInfo Integrated Database.
Declares class which provides internal BLAST database representations to the internal BLAST APIs.
Magic spell ;-) needed for some weird compilers... very empiric.
#define MIN(a, b)
returns smaller of a and b.
Defines NCBI C++ exception handling.
NCBI C++ stream class wrappers for triggering between "new" and "old" C++ stream libraries.
Useful/utility classes and methods.
NOTE: This file contains work in progress and the APIs are likely to change, please do not rely on th...
BOOST_AUTO_TEST_SUITE(psiblast_iteration)
Utility stuff for more convenient using of Boost.Test library.