src/algo/align/util/score_builder.cpp File Reference

#include <ncbi_pch.hpp>
#include <algo/align/util/score_builder.hpp>
#include <algo/blast/api/blast_aux.hpp>
#include <algo/blast/api/blast_options_handle.hpp>
#include <algo/blast/core/blast_setup.h>
#include <algo/blast/core/blast_stat.h>
#include <algo/blast/core/blast_options.h>
#include <objmgr/util/sequence.hpp>
#include <objtools/alnmgr/alnvec.hpp>
#include <objects/seqloc/Seq_loc.hpp>
#include <objects/seqalign/Seq_align.hpp>
#include <objects/seqalign/Std_seg.hpp>
#include <objects/seqalign/Spliced_seg.hpp>
#include <objects/seqalign/Spliced_exon.hpp>
#include <objects/seqalign/Spliced_exon_chunk.hpp>
#include <objects/seqalign/Product_pos.hpp>
#include <objects/seqalign/Prot_pos.hpp>

Include dependency graph for score_builder.cpp:

Go to the source code of this file.

Functions

 USING_SCOPE (objects)
 USING_SCOPE (blast)
static size_t s_GetAlignmentLength (const CSeq_align &align, bool ungapped)
 calculate the length of our alignment
static void s_GetCountIdentityMismatch (CScope &scope, const CSeq_align &align, int *identities, int *mismatches)
 calculate mismatches and identities in a seq-align
static void s_GetPercentIdentity (CScope &scope, const CSeq_align &align, int *identities, int *mismatches, double *pct_identity)
 calculate the percent identity we also return the count of identities and mismatches
static size_t s_GetCoveredBases (const CSeq_align &align, int row)
 calculate the length of our alignment
static void s_GetPercentCoverage (CScope &scope, const CSeq_align &align, double *pct_coverage)
 calculate the percent coverage

Variables

static const unsigned char reverse_4na [16] = {0, 8, 4, 0, 2, 0, 0, 0, 1}


Function Documentation

static size_t s_GetAlignmentLength const CSeq_align align,
bool  ungapped
[static]
 

calculate the length of our alignment

we have at least one row of sequence

pass 1: find total ranges

skip

pass 2: determine shortest length

genomic-ins is not handled explicitly

Definition at line 163 of file score_builder.cpp.

References align, and len.

Referenced by CScoreBuilder::GetAlignLength(), s_GetCountIdentityMismatch(), and s_GetPercentIdentity().

static void s_GetCountIdentityMismatch CScope scope,
const CSeq_align align,
int *  identities,
int *  mismatches
[static]
 

calculate mismatches and identities in a seq-align

shortcut: if 'num_ident' is present, we trust it

we compute ungapped identities gap on at least one row, so we skip this segment

shortcut: if 'num_ident' is present, we trust it

Definition at line 306 of file score_builder.cpp.

References _ASSERT, align, len, and s_GetAlignmentLength().

Referenced by CScoreBuilder::AddScore(), CScoreBuilder::GetIdentityCount(), CScoreBuilder::GetMismatchCount(), and s_GetPercentIdentity().

static size_t s_GetCoveredBases const CSeq_align align,
int  row
[static]
 

calculate the length of our alignment

skip

Definition at line 453 of file score_builder.cpp.

References align, CDense_seg_Base::GetDim(), CDense_seg_Base::GetNumseg(), CDense_seg_Base::GetStarts(), and len.

Referenced by s_GetPercentCoverage().

static void s_GetPercentCoverage CScope scope,
const CSeq_align align,
double *  pct_coverage
[static]
 

calculate the percent coverage

Definition at line 545 of file score_builder.cpp.

References align, eNa_strand_minus, and s_GetCoveredBases().

Referenced by CScoreBuilder::AddScore(), and CScoreBuilder::GetPercentCoverage().

static void s_GetPercentIdentity CScope scope,
const CSeq_align align,
int *  identities,
int *  mismatches,
double *  pct_identity
[static]
 

calculate the percent identity we also return the count of identities and mismatches

Definition at line 433 of file score_builder.cpp.

References align, s_GetAlignmentLength(), and s_GetCountIdentityMismatch().

Referenced by CScoreBuilder::AddScore(), and CScoreBuilder::GetPercentIdentity().

USING_SCOPE blast   ) 
 

USING_SCOPE objects   ) 
 


Variable Documentation

const unsigned char reverse_4na[16] = {0, 8, 4, 0, 2, 0, 0, 0, 1} [static]
 

Definition at line 638 of file score_builder.cpp.


Generated on Mon Dec 7 06:53:11 2009 for NCBI C++ ToolKit by  doxygen 1.4.6
Modified on Mon Dec 07 16:21:37 2009 by modify_doxy.py rev. 173732