CPsiBlastInputData Class Reference
[BLAST (Basic Local Alignment Search Tool)]

Search Toolkit Book for CPsiBlastInputData

#include <psi_pssm_input.hpp>

Inheritance diagram for CPsiBlastInputData:

Inheritance graph
[legend]
Collaboration diagram for CPsiBlastInputData:

Collaboration graph
[legend]
List of all members.

Detailed Description

This class is a concrete strategy for IPssmInputData, and it implements the traditional PSI-BLAST algorithm for building a multiple sequence alignment from a list of pairwise alignments using the C++ object manager.

Definition at line 122 of file psi_pssm_input.hpp.

Public Member Functions

 CPsiBlastInputData (const unsigned char *query, unsigned int query_length, CConstRef< objects::CSeq_align_set > sset, CRef< objects::CScope > scope, const PSIBlastOptions &opts, const char *matrix_name=NULL, const PSIDiagnosticsRequest *diags=NULL)
 Construct a concrete strategy, used to configure the CPssmEngine object.
virtual ~CPsiBlastInputData ()
 virtual destructor
void Process ()
 The work to process the alignment is done here.
unsigned char * GetQuery ()
 Get the query sequence used as master for the multiple sequence alignment in ncbistdaa encoding.
unsigned int GetQueryLength ()
 Get the query's length.
PSIMsaGetData ()
 Obtain the multiple sequence alignment structure.
const PSIBlastOptionsGetOptions ()
 Obtain the options for the PSSM engine.
const char * GetMatrixName ()
 Obtain the name of the underlying matrix to use when building the PSSM.
const PSIDiagnosticsRequestGetDiagnosticsRequest ()
 Obtain the diagnostics data that is requested from the PSSM engine.
CRef< objects::CBioseq > GetQueryForPssm ()
 Get a CBioseq object for attachment into the CPssmWithParameters that CPssmEngine produces (only attached if it's not NULL).

This is required for any PSSM which is intended to be used as a starting point for a PSI-BLAST iteration


Private Member Functions

unsigned int x_CountAndSelectQualifyingAlignments ()
 Examines the sequence alignment and keeps track of those hits which have an HSP with an e-value below the inclusion threshold specified in the PSIBlastOptions structure.
void x_ExtractAlignmentData ()
 Populates the multiple alignment data structure.
void x_CopyQueryToMsa ()
 Copies query sequence data to multiple alignment data structure.
unsigned int GetNumAlignedSequences () const
 Returns the number of sequences that make up the multiple sequence alignment
Exceptions:
CBlastException if this number hasn't been calculated yet (need to invoke Process() first!).

void x_ProcessDenseg (const objects::CDense_seg &denseg, unsigned int msa_index, double evalue, double bit_score)
 Iterates over the Dense-seg passed in and extracts alignment information to multiple alignment data structure.
void x_ExtractQueryForPssm ()
 Extracts the query bioseq from m_SeqAlignSet.
 CPsiBlastInputData (const CPsiBlastInputData &)
 prohibit copy constructor
CPsiBlastInputDataoperator= (const CPsiBlastInputData &)
 prohibit assignment operator

Static Private Member Functions

static void x_GetSubjectSequence (const objects::CDense_seg &ds, objects::CScope &scope, string &sequence_data)
 Tries to fetch the sequence data for the subject for the segments specified in the Dense-seg.

Private Attributes

unsigned char * m_Query
 Pointer to query sequence.
CRef< objects::CScope > m_Scope
 Scope where to retrieve the sequences in the aligment from.
PSIMsam_Msa
 Structure representing the multiple sequence alignment.
PSIMsaDimensions m_MsaDimensions
 Multiple sequence alignment dimensions.
CConstRef< objects::CSeq_align_set > m_SeqAlignSet
 Pairwise alignment result of a BLAST search.
PSIBlastOptions m_Opts
 Algorithm options.
PSIDiagnosticsRequestm_DiagnosticsRequest
 Diagnostics request structure.
string m_MatrixName
 Underlying matrix to use.
CRef< objects::CBioseq > m_QueryBioseq
 Query as CBioseq for PSSM.

Friends

class ::CPssmCreateTestFixture
 unit test class


Constructor & Destructor Documentation

CPsiBlastInputData::CPsiBlastInputData const CPsiBlastInputData  )  [private]
 

prohibit copy constructor


Member Function Documentation

CRef<objects::CBioseq> CPsiBlastInputData::GetQueryForPssm  )  [inline, virtual]
 

Get a CBioseq object for attachment into the CPssmWithParameters that CPssmEngine produces (only attached if it's not NULL).

This is required for any PSSM which is intended to be used as a starting point for a PSI-BLAST iteration

Reimplemented from IPssmInput_Base.

Definition at line 171 of file psi_pssm_input.hpp.

References m_QueryBioseq.

CPsiBlastInputData& CPsiBlastInputData::operator= const CPsiBlastInputData  )  [private]
 

prohibit assignment operator


Friends And Related Function Documentation

friend class ::CPssmCreateTestFixture [friend]
 

unit test class

Definition at line 249 of file psi_pssm_input.hpp.


Member Data Documentation

PSIDiagnosticsRequest* CPsiBlastInputData::m_DiagnosticsRequest [private]
 

Diagnostics request structure.

Definition at line 190 of file psi_pssm_input.hpp.

Referenced by GetDiagnosticsRequest().

string CPsiBlastInputData::m_MatrixName [private]
 

Underlying matrix to use.

Definition at line 192 of file psi_pssm_input.hpp.

Referenced by GetMatrixName().

PSIMsa* CPsiBlastInputData::m_Msa [private]
 

Structure representing the multiple sequence alignment.

Definition at line 182 of file psi_pssm_input.hpp.

Referenced by GetData(), Process(), x_CopyQueryToMsa(), x_ProcessDenseg(), and ~CPsiBlastInputData().

PSIMsaDimensions CPsiBlastInputData::m_MsaDimensions [private]
 

Multiple sequence alignment dimensions.

Definition at line 184 of file psi_pssm_input.hpp.

Referenced by GetNumAlignedSequences(), GetQueryLength(), and Process().

PSIBlastOptions CPsiBlastInputData::m_Opts [private]
 

Algorithm options.

Definition at line 188 of file psi_pssm_input.hpp.

Referenced by GetOptions(), x_CountAndSelectQualifyingAlignments(), and x_ExtractAlignmentData().

unsigned char* CPsiBlastInputData::m_Query [private]
 

Pointer to query sequence.

Definition at line 178 of file psi_pssm_input.hpp.

CRef<objects::CBioseq> CPsiBlastInputData::m_QueryBioseq [private]
 

Query as CBioseq for PSSM.

Definition at line 194 of file psi_pssm_input.hpp.

Referenced by GetQueryForPssm(), and x_ExtractQueryForPssm().

CRef<objects::CScope> CPsiBlastInputData::m_Scope [private]
 

Scope where to retrieve the sequences in the aligment from.

Definition at line 180 of file psi_pssm_input.hpp.

Referenced by x_ProcessDenseg().

CConstRef<objects::CSeq_align_set> CPsiBlastInputData::m_SeqAlignSet [private]
 

Pairwise alignment result of a BLAST search.

Definition at line 186 of file psi_pssm_input.hpp.

Referenced by x_CountAndSelectQualifyingAlignments(), x_ExtractAlignmentData(), and x_ExtractQueryForPssm().


The documentation for this class was generated from the following files:
Generated on Wed Dec 9 08:05:47 2009 for NCBI C++ ToolKit by  doxygen 1.4.6
Modified on Wed Dec 09 08:19:43 2009 by modify_doxy.py rev. 173732