src/algo/align/prosplign/Info.cpp File Reference

#include <ncbi_pch.hpp>
#include <corelib/ncbistd.hpp>
#include <algo/align/prosplign/prosplign_exception.hpp>
#include <algo/align/prosplign/prosplign.hpp>
#include "Info.hpp"
#include "Ali.hpp"
#include "nucprot.hpp"
#include "NSeq.hpp"
#include "PSeq.hpp"
#include "AliSeqAlign.hpp"
#include <objects/general/general__.hpp>
#include <objects/seqloc/seqloc__.hpp>
#include <objects/seqfeat/seqfeat__.hpp>
#include <objmgr/util/seq_loc_util.hpp>
#include <objmgr/util/sequence.hpp>
#include <objmgr/seq_vector.hpp>

Include dependency graph for Info.cpp:

Go to the source code of this file.

Typedefs

typedef list< CAliChunk > TAliChunkCollection
typedef TAliChunkCollection::iterator TAliChunkIterator

Functions

 USING_SCOPE (ncbi::objects)
list< CNPieceFindGoodParts (const string &orig_match, const string &outp, CProSplignOutputOptionsExt m_options)
list< CNPieceFindGoodParts (const CNPiece pc, const string &match_all_pos, const string &protein, CProSplignOutputOptionsExt m_options)
list< CNPieceExcludeBadExons (const CNPiece pc, const string &match_all_pos, const string &protein, CProSplignOutputOptionsExt m_options)
CRef< CSeq_locGetGenomicBounds (CScope &scope, const CSeq_align &seqalign)
int GetProdPosInBases (const CProduct_pos &product_pos)
int GetCompNum (const CSeq_align &sa)
bool HasStartOnNuc (const CSpliced_seg &sps, CScope &scope)
bool HasStopOnNuc (const CSpliced_seg &sps, CScope &scope)
void SeekStartStop (CSeq_align &seq_align, CScope &scope)
 USING_SCOPE (prosplign)
TAliChunkCollection ExtractChunks (CScope &scope, CSeq_align &seq_align)
list< TSeqRangeInvertPartList (const list< CNPiece > &good_parts, TSeqRange total_range)
void TestExonLength (const CSpliced_exon &exon)
void SplitChunk (TAliChunkCollection &chunks, TAliChunkIterator iter, TSeqPos start_of_second_chunk, bool genomic_plus)
void DropExon (CSpliced_seg::TExons &exons, CSpliced_seg::TExons::iterator &exon_iter)
void DropExonHead (TAliChunkIterator chunk_iter, bool genomic_plus)
void SplitExon (CSpliced_seg::TExons &exons, TAliChunkIterator chunk_iter, bool genomic_plus)

Variables

const char GAP_CHAR = '-'
const char SPACE_CHAR = ' '
const char INTRON_CHAR = '.'
const char INTRON_OR_GAP [] = {INTRON_CHAR,GAP_CHAR,0}
const char BAD_PIECE_CHAR = 'X'
const char MISMATCH_CHAR = ' '
const char BAD_OR_MISMATCH [] = {BAD_PIECE_CHAR,MISMATCH_CHAR,0}
const char MATCH_CHAR = '|'
const char POSIT_CHAR = '+'
TSeqRange m_ali_range
TSeqPos m_nuc_pos
TSeqPos m_prot_pos
int m_nuc_len
int m_prot_len
CSpliced_seg::TExons::iterator m_exon_iter
CSpliced_exon::TParts::iterator m_chunk_iter
bool m_bad


Typedef Documentation

typedef list<CAliChunk> TAliChunkCollection [static]
 

Definition at line 1102 of file Info.cpp.

typedef TAliChunkCollection::iterator TAliChunkIterator [static]
 

Definition at line 1103 of file Info.cpp.


Function Documentation

void @3::DropExon CSpliced_seg::TExons exons,
CSpliced_seg::TExons::iterator &  exon_iter
[static]
 

Definition at line 1246 of file Info.cpp.

void @3::DropExonHead TAliChunkIterator  chunk_iter,
bool  genomic_plus
[static]
 

Definition at line 1252 of file Info.cpp.

References _ASSERT, _DEBUG_CODE, CSpliced_exon_Base::GetParts(), CSpliced_exon_Base::IsSetAcceptor_before_exon(), NultriposToProduct_pos(), CSpliced_exon_Base::ResetAcceptor_before_exon(), CSpliced_exon_Base::SetGenomic_end(), CSpliced_exon_Base::SetGenomic_start(), CSpliced_exon_Base::SetPartial(), CSpliced_exon_Base::SetParts(), CSpliced_exon_Base::SetProduct_start(), and TestExonLength().

list<CNPiece> ExcludeBadExons const CNPiece  pc,
const string &  match_all_pos,
const string &  protein,
CProSplignOutputOptionsExt  m_options
 

Definition at line 227 of file Info.cpp.

References CNPiece::beg, CNPiece::end, CProSplignOutputOptions::GetMinExonId(), CProSplignOutputOptions::GetMinExonPos(), INTRON_CHAR, len, match(), MATCH_CHAR, pos, and POSIT_CHAR.

TAliChunkCollection @3::ExtractChunks CScope scope,
CSeq_align seq_align
[static]
 

Definition at line 1106 of file Info.cpp.

References eNa_strand_plus, COpenRange< Position >::GetFrom(), CSpliced_exon_Base::GetGenomic_end(), CSpliced_exon_Base::GetGenomic_start(), CSpliced_seg_Base::GetGenomic_strand(), GetGenomicBounds(), GetProdPosInBases(), CSpliced_exon_Base::GetProduct_start(), COpenRange< Position >::GetTo(), NON_CONST_ITERATE, CSpliced_seg_Base::SetExons(), CSpliced_exon_Base::SetParts(), and CSeq_align_Base::SetSegs().

list<CNPiece> FindGoodParts const CNPiece  pc,
const string &  match_all_pos,
const string &  protein,
CProSplignOutputOptionsExt  m_options
 

Definition at line 112 of file Info.cpp.

References BAD_OR_MISMATCH, CNPiece::beg, CNPiece::end, GAP_CHAR, CProSplignOutputOptions::GetStartBonus(), match(), MATCH_CHAR, and POSIT_CHAR.

list<CNPiece> FindGoodParts const string &  orig_match,
const string &  outp,
CProSplignOutputOptionsExt  m_options
 

Definition at line 76 of file Info.cpp.

int @1::GetCompNum const CSeq_align sa  )  [static]
 

Definition at line 854 of file Info.cpp.

References CSeq_align_Base::CanGetExt(), CSeq_align_Base::GetExt(), and ITERATE.

CRef<CSeq_loc> GetGenomicBounds CScope scope,
const CSeq_align seqalign
 

Definition at line 485 of file Info.cpp.

References CSeq_align_Base::CanGetBounds(), CSeq_align_Base::GetBounds(), CSpliced_seg_Base::GetGenomic_id(), GetLength(), CSeq_align_Base::GetSegs(), ITERATE, and len.

Referenced by CProSplignText::CProSplignText(), and ExtractChunks().

int @0::GetProdPosInBases const CProduct_pos product_pos  )  [static]
 

Definition at line 658 of file Info.cpp.

References CProt_pos_Base::GetAmin(), CProt_pos_Base::GetFrame(), CProduct_pos_Base::GetNucpos(), CProduct_pos_Base::GetProtpos(), and CProduct_pos_Base::IsNucpos().

Referenced by CProSplignText::CProSplignText(), ExtractChunks(), and TestExonLength().

bool @2::HasStartOnNuc const CSpliced_seg sps,
CScope scope
[static]
 

Definition at line 942 of file Info.cpp.

References CSpliced_exon_chunk_Base::GetDiag(), CSpliced_seg_Base::GetExons(), CSpliced_exon_Base::GetParts(), CSpliced_exon_Base::GetProduct_start(), CSpliced_exon_chunk_Base::IsDiag(), CSpliced_exon_chunk_Base::IsGenomic_ins(), and CSpliced_exon_chunk_Base::IsProduct_ins().

bool @2::HasStopOnNuc const CSpliced_seg sps,
CScope scope
[static]
 

Definition at line 974 of file Info.cpp.

References CSeq_id::Assign(), CBioseq_Handle::eCoding_Iupac, eNa_strand_minus, eNa_strand_plus, CSpliced_seg_Base::GetExons(), CSpliced_exon_Base::GetGenomic_end(), CSpliced_seg_Base::GetGenomic_id(), CSpliced_exon_Base::GetGenomic_start(), CSpliced_seg_Base::GetGenomic_strand(), GetLength(), CSpliced_exon_Base::GetProduct_end(), and CSeqVector_CI::GetSeqData().

list<TSeqRange> @3::InvertPartList const list< CNPiece > &  good_parts,
TSeqRange  total_range
[static]
 

Definition at line 1153 of file Info.cpp.

References COpenRange< Position >::GetFrom(), COpenRange< Position >::GetTo(), and ITERATE.

void SeekStartStop CSeq_align seq_align,
CScope scope
 

Definition at line 1007 of file Info.cpp.

References CSpliced_seg_Base::IsSetModifiers(), and CSpliced_seg_Base::SetModifiers().

Referenced by CProSplign::CImplementation::FindGlobalAlignment_stage2().

void @3::SplitChunk TAliChunkCollection chunks,
TAliChunkIterator  iter,
TSeqPos  start_of_second_chunk,
bool  genomic_plus
[static]
 

Definition at line 1203 of file Info.cpp.

References _ASSERT, _DEBUG_CODE, COpenRange< Position >::GetTo(), m_ali_range, and TestExonLength().

void @3::SplitExon CSpliced_seg::TExons exons,
TAliChunkIterator  chunk_iter,
bool  genomic_plus
[static]
 

Definition at line 1279 of file Info.cpp.

References _DEBUG_CODE, CSpliced_exon_Base::GetParts(), ITERATE, and TestExonLength().

void @3::TestExonLength const CSpliced_exon exon  )  [static]
 

Definition at line 1170 of file Info.cpp.

References CSpliced_exon_chunk_Base::GetDiag(), CSpliced_exon_Base::GetGenomic_end(), CSpliced_exon_Base::GetGenomic_start(), CSpliced_exon_Base::GetParts(), GetProdPosInBases(), CSpliced_exon_Base::GetProduct_end(), CSpliced_exon_Base::GetProduct_start(), CSpliced_exon_chunk_Base::IsDiag(), CSpliced_exon_chunk_Base::IsMatch(), CSpliced_exon_chunk_Base::IsMismatch(), and ITERATE.

Referenced by DropExonHead(), SplitChunk(), and SplitExon().

USING_SCOPE prosplign   ) 
 

USING_SCOPE ncbi::objects   ) 
 


Variable Documentation

const char BAD_OR_MISMATCH[] = {BAD_PIECE_CHAR,MISMATCH_CHAR,0}
 

Definition at line 64 of file Info.cpp.

Referenced by FindGoodParts().

const char BAD_PIECE_CHAR = 'X'
 

Definition at line 62 of file Info.cpp.

Referenced by CProSplignText::TranslateDNA().

const char GAP_CHAR = '-'
 

Definition at line 56 of file Info.cpp.

Referenced by FindGoodParts(), and CProSplignText::TranslateDNA().

const char INTRON_CHAR = '.'
 

Definition at line 58 of file Info.cpp.

Referenced by CProSplignText::CProSplignText(), ExcludeBadExons(), and CProSplignText::TranslateDNA().

const char INTRON_OR_GAP[] = {INTRON_CHAR,GAP_CHAR,0}
 

Definition at line 59 of file Info.cpp.

Referenced by CProSplignText::TranslateDNA().

TSeqRange m_ali_range
 

Definition at line 1092 of file Info.cpp.

Referenced by SplitChunk().

bool m_bad
 

Definition at line 1099 of file Info.cpp.

CSpliced_exon::TParts::iterator m_chunk_iter
 

Definition at line 1098 of file Info.cpp.

CSpliced_seg::TExons::iterator m_exon_iter
 

Definition at line 1097 of file Info.cpp.

int m_nuc_len
 

Definition at line 1095 of file Info.cpp.

TSeqPos m_nuc_pos
 

Definition at line 1093 of file Info.cpp.

int m_prot_len
 

Definition at line 1096 of file Info.cpp.

TSeqPos m_prot_pos
 

Definition at line 1094 of file Info.cpp.

const char MATCH_CHAR = '|'
 

Definition at line 65 of file Info.cpp.

Referenced by ExcludeBadExons(), FindGoodParts(), CProSplignText::MatchChar(), and CProSplignText::MatchText().

const char MISMATCH_CHAR = ' '
 

Definition at line 63 of file Info.cpp.

Referenced by CProSplignText::CProSplignText().

const char POSIT_CHAR = '+'
 

Definition at line 66 of file Info.cpp.

Referenced by ExcludeBadExons(), FindGoodParts(), and CProSplignText::MatchChar().

const char SPACE_CHAR = ' '
 

Definition at line 57 of file Info.cpp.

Referenced by CProSplignText::CProSplignText(), CProSplignText::MatchChar(), and CProSplignText::TranslateDNA().


Generated on Mon Dec 7 06:52: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