47 #include <unordered_map>
82 if (!bioseq.IsSetDescr()) {
86 for (
auto desc : bioseq.GetDescr().Get()) {
89 if (!desc->GetUser().IsSetType() ||
90 !desc->GetUser().GetType().IsStr() ||
91 desc->GetUser().GetType().GetStr() !=
"Mapping") {
95 BOOST_REQUIRE(desc->GetUser().HasField(
"has_pair"));
110 const bool kCheckForPairs =
true;
111 vector<string> accessions = {
"SRR4423739"};
116 unordered_map<string, int> ref_flags = {
122 input.GetNextSeqBatch(*queries);
124 BOOST_REQUIRE_EQUAL(queries->
GetSeq_set().size(), 2u);
128 string id = it->GetSeq().GetFirstId()->AsFastaString();
132 BOOST_REQUIRE_MESSAGE(
flags ==
expected, (
string)
"Segment flag for " +
133 id +
" is different from expected " +
139 BOOST_REQUIRE_EQUAL(ref_flags.size(),
count);
145 const bool kCheckForPairs =
false;
146 vector<string> accessions = {
"SRR4423739"};
150 input.GetNextSeqBatch(*queries);
152 BOOST_REQUIRE_EQUAL(queries->
GetSeq_set().size(), 2u);
156 string id = it->GetSeq().GetFirstId()->AsFastaString();
160 BOOST_REQUIRE_MESSAGE(
flags ==
expected, (
string)
"Segment flag for " +
161 id +
" is different from expected " +
167 BOOST_REQUIRE_EQUAL(2u,
count);
173 const int kBatchSize = 30000000;
174 vector<string> accessions = {
"SRR3720856",
"SRR5196091"};
181 input.GetNextSeqBatch(*queries);
185 BOOST_REQUIRE(fid->
GetSeqIdString().find(accessions.front()) != string::npos);
189 BOOST_REQUIRE(lid->
GetSeqIdString().find(accessions.back()) != string::npos);
194 const int kBatchSize = 30000000;
195 const bool kCheckForPairs =
false;
196 vector<string> accessions = {
"SRR3720856",
"SRR5196091"};
202 input.GetNextSeqBatch(*queries);
206 BOOST_REQUIRE(fid->
GetSeqIdString().find(accessions.front()) != string::npos);
210 BOOST_REQUIRE(lid->
GetSeqIdString().find(accessions.back()) != string::npos);
@ eFirstSegment
The first sequence of a pair with both sequences read and accepted.
Lightweight representation of just a host and a port.
CDataLoader * CreateAndRegister(CObjectManager &, const TPluginManagerParamTree *) const
Default IMessage implementation: text and severity only.
Service class for DLLs resolution.
definition of a Culling tree
const CUser_field & GetField(const string &str, const string &delim=".", NStr::ECase use_case=NStr::eCase) const
Access a named field in this user field.
static const char * expected[]
@ eDiag_Trace
Trace message.
string GetSeqIdString(bool with_version=false) const
Return seqid string with optional version for text seqid type.
void Reset(void)
Reset reference object.
static string IntToString(int value, TNumToStringFlags flags=0, int base=10)
Convert int to string.
const TData & GetData(void) const
Get the Data member data.
bool IsInt(void) const
Check if variant Int is selected.
TInt GetInt(void) const
Get the variant data.
const TSeq_set & GetSeq_set(void) const
Get the Seq_set member data.
@ e_User
user defined object
Magic spell ;-) needed for some weird compilers... very empiric.
IMessage/IMessageListener interfaces and basic implementations.
Plugin manager (using class factory paradigm).
BOOST_AUTO_TEST_SUITE(psiblast_iteration)
Utility stuff for more convenient using of Boost.Test library.