38 #ifndef SKIP_DOXYGEN_PROCESSING
50 const vector<align_format::CAlignFormatUtil::SDbInfo> & dbsInfo) :
52 m_DbName(
kEmptyStr), m_NumSequences(0), m_NumBases(0),
57 results.GetMaskedQueryRegions(m_QueryMasks);
68 m_DbName(
kEmptyStr), m_NumSequences(0), m_NumBases(0),
72 x_InitSubjects(subjectsInfo);
73 results.GetMaskedQueryRegions(m_QueryMasks);
82 const vector<CAlignFormatUtil::SDbInfo> & dbsInfo) :
84 m_DbName(
kEmptyStr), m_NumSequences(0), m_NumBases(0),
87 x_InitCommon(resultSet[0], opts);
89 resultSet[0].GetMaskedQueryRegions(m_QueryMasks);
90 for(
unsigned int i = 0;
i < resultSet.
size();
i++) {
91 x_InitResults(resultSet[
i]);
102 m_DbName(
kEmptyStr), m_NumSequences(0), m_NumBases(0),
105 x_InitCommon(resultSet[0], opts);
106 x_InitSubjects(subjectsInfo);
107 resultSet[0].GetMaskedQueryRegions(m_QueryMasks);
108 for(
unsigned int i = 0;
i < resultSet.
size();
i++) {
109 x_InitResults(resultSet[
i]);
118 string errors =
results.GetErrorStrings();
120 if ( !errors.empty() ) {
123 errors +=
results.GetWarningStrings();
125 if ( !
results.HasAlignments() ) {
126 errors += (errors.empty() ?
kEmptyStr :
" ");
127 errors += CBlastFormatUtil::kNoHitsFound;
149 if(!resolved.empty()) {
158 const vector<CAlignFormatUtil::SDbInfo> & dbsInfo)
163 ITERATE(vector<CBlastFormatUtil::SDbInfo>,
i, dbsInfo) {
164 if(
i != dbsInfo.begin()) {
176 if(subjectsInfo->Size() == 0) {
180 for(
unsigned int i =0;
i < subjectsInfo->Size();
i++) {
181 list<CRef<objects::CSeq_id> > ids = subjectsInfo->GetId(
i);
196 if (matrix_name ==
NULL)
203 if (
strcmp(matrix_name,
"BLOSUM45") == 0)
205 else if (
strcmp(matrix_name,
"BLOSUM50") == 0)
207 else if (
strcmp(matrix_name,
"BLOSUM62") == 0)
209 else if (
strcmp(matrix_name,
"BLOSUM80") == 0)
211 else if (
strcmp(matrix_name,
"BLOSUM90") == 0)
213 else if (
strcmp(matrix_name,
"PAM30") == 0)
215 else if (
strcmp(matrix_name,
"PAM70") == 0)
217 else if (
strcmp(matrix_name,
"PAM250") == 0)
219 else if (
strcmp(matrix_name,
"IDENTITY") == 0)
224 if (prog_name !=
"blastn" && prog_name !=
"megablast") {
225 NCBI_THROW(blast::CBlastException, eInvalidArgument,
226 "unsupported score matrix");
238 matrix[
i][j] = m.
s[
i][j];
static CRef< CScope > m_Scope
Boolean Blast_QueryIsTranslated(EBlastProgramType p)
Returns true if the query is translated.
Boolean Blast_SubjectIsTranslated(EBlastProgramType p)
Returns true if the subject is translated.
@ eDeltaBlast
Delta Blast.
void x_InitSubjects(CConstRef< blast::IBlastSeqInfoSrc > subjectsInfo)
Int8 m_NumSequences
Number of sequences in all BLAST databases involved in this search.
static const unsigned int kMatrixCols
Number of columns used in score matrices.
CBlastFormattingMatrix * GetMatrix(void) const
Returns a 256x256 ASCII-alphabet matrix, needed for formatting.
void x_FillScoreMatrix(const char *matrix_name=BLAST_DEFAULT_MATRIX)
Initialize the score matrix to be used for formatting (if applicable)
double GetKappa(int num) const
Returns Karlin-Altschul K parameter for a given query.
int GetDbGeneticCode() const
slave genetic code
vector< CConstRef< CSeq_align_set > > m_Alignments
the alignments
double GetEntropy(int num) const
Returns Karlin-Altschul H parameter for a given query.
int GetQueryGeneticCode() const
master genetic code
int GetLengthAdjustment(int num) const
Returns length adjustment for a given query.
CConstRef< blast::CBlastOptions > m_Options
BLAST algorithm options.
CBlastFormattingMatrix * m_Matrix
Score matrix used to determine neighboring protein residues.
Int8 GetEffectiveSearchSpace(int num) const
Returns effective search space for a given query.
CCmdLineBlastXML2ReportData(CConstRef< blast::CBlastSearchQuery > query, const blast::CSearchResults &results, CConstRef< blast::CBlastOptions > opts, CRef< objects::CScope > scope, const vector< align_format::CAlignFormatUtil::SDbInfo > &dbsInfo)
Constructor db search.
Int8 m_NumBases
Number of bases in all BLAST databases involved in this search.
CRef< objects::CScope > m_Scope
CConstRef< CSeq_align_set > GetAlignmentSet(int num) const
Returns a vector continaing set of alignments found for a given query.
string m_DbName
name of blast database
void x_InitDB(const vector< align_format::CAlignFormatUtil::SDbInfo > &dbsInfo)
vector< string > m_Errors
Error messages.
~CCmdLineBlastXML2ReportData()
Destructor.
list< string > m_SubjectIds
string GetBlastProgramName(void) const
@inheritDoc
void x_InitResults(const blast::CSearchResults &results)
vector< CRef< blast::CBlastAncillaryData > > m_AncillaryData
ancillary results data
double GetLambda(int num) const
Returns Karlin-Altschul Lambda parameter for a given query.
void x_InitCommon(const blast::CSearchResults &results, CConstRef< blast::CBlastOptions > opts)
Search Results for All Queries.
Search Results for One Query.
bool IsIterativeSearch() const
size_type size() const
Identical to GetNumResults, provided to facilitate STL-style iteration.
string Blast_ProgramNameFromType(EBlastProgramType program)
Returns a string program name, given a blast::EBlastProgramType enumeration.
#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.
bool Empty(void) const THROWS_NONE
Check if CConstRef is empty – not pointing to any object which means having a null value.
bool Empty(void) const THROWS_NONE
Check if CRef is empty – not pointing to any object, which means having a null value.
int64_t Int8
8-byte (64-bit) signed integer
int strcmp(const char *str1, const char *str2)
const SNCBIPackedScoreMatrix NCBISM_Pam30
const SNCBIPackedScoreMatrix NCBISM_Blosum62
const SNCBIPackedScoreMatrix NCBISM_Pam250
const SNCBIPackedScoreMatrix NCBISM_Blosum50
const SNCBIPackedScoreMatrix NCBISM_Blosum80
void NCBISM_Unpack(const SNCBIPackedScoreMatrix *psm, SNCBIFullScoreMatrix *fsm)
Expand a packed score matrix into an unpacked one, which callers can proceed to index directly by sta...
const SNCBIPackedScoreMatrix NCBISM_Pam70
const SNCBIPackedScoreMatrix NCBISM_Blosum45
The standard matrices.
const SNCBIPackedScoreMatrix NCBISM_Identity
const SNCBIPackedScoreMatrix NCBISM_Blosum90
string SeqDB_ResolveDbPath(const string &filename)
Resolve a file path using SeqDB's path algorithms.
Structure to hold the Karlin-Altschul parameters.
double K
K value used in statistics.
double Lambda
Lambda value used in statistics.
double H
H value used in statistics.