NCBI C++ ToolKit
Classes | Macros | Typedefs | Functions | Variables
aln_generators.cpp File Reference
#include <ncbi_pch.hpp>
#include <objects/seqalign/Dense_seg.hpp>
#include <objects/seqalign/Std_seg.hpp>
#include <objects/seqalign/Seq_align_set.hpp>
#include <objects/seqalign/Dense_diag.hpp>
#include <objects/seqalign/Sparse_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 <objmgr/scope.hpp>
#include <objmgr/bioseq_handle.hpp>
#include <objects/seqloc/Seq_loc.hpp>
#include <objects/seqloc/Seq_id.hpp>
#include <objtools/alnmgr/aln_generators.hpp>
#include <objtools/alnmgr/alnexception.hpp>
#include <objtools/alnmgr/aln_serial.hpp>
#include <objtools/alnmgr/aln_converters.hpp>
#include <util/range_set.hpp>
#include <serial/typeinfo.hpp>
+ Include dependency graph for aln_generators.cpp:

Go to the source code of this file.

Go to the SVN repository for this file.

Classes

class  CSegmentedRangeCollection
 

Macros

#define USE_RANGE_SET
 
#define CRangeCollection   CRangeSet
 

Typedefs

typedef CAnchoredAln::TDim TDim
 

Functions

 USING_SCOPE (objects)
 
CRef< CSeq_alignCreateSeqAlignFromAnchoredAln (const CAnchoredAln &anchored_aln, CSeq_align::TSegs::E_Choice choice, CScope *scope)
 Convert CAnchoredAln to seq-align of the selected type. More...
 
CRef< CSeq_alignCreateSeqAlignFromPairwiseAln (const CPairwiseAln &pairwise_aln, CSeq_align::TSegs::E_Choice choice, CScope *scope)
 Convert CPairwiseAln to seq-align of the selected type. More...
 
void CreateDense_diagFromAnchoredAln (CSeq_align::TSegs::TDendiag &dd, const CAnchoredAln &anchored_aln, CScope *scope)
 
CRef< CDense_segCreateDensegFromAnchoredAln (const CAnchoredAln &anchored_aln, CScope *scope)
 
CRef< CDense_segCreateDensegFromPairwiseAln (const CPairwiseAln &pairwise_aln, CScope *scope)
 
void InitSplicedsegFromPairwiseAln (CSpliced_seg &spliced_seg, const CPairwiseAln &pairwise_aln, CScope *scope)
 
CRef< CSpliced_segCreateSplicedsegFromAnchoredAln (const CAnchoredAln &anchored_aln, CScope *scope)
 
CRef< CSpliced_segCreateSplicedsegFromPairwiseAln (const CPairwiseAln &pairwise_aln, CScope *scope)
 
void s_TranslatePairwise (CPairwiseAln &out_pw, const CPairwiseAln &pw, const CPairwiseAln &tr)
 
void CreateSeqAlignFromEachPairwiseAln (const CAnchoredAln::TPairwiseAlnVector pairwises, TDim anchor, vector< CRef< CSeq_align > > &out_seqaligns, CSeq_align::TSegs::E_Choice choice, CScope *scope)
 Create seq-align from each of the pairwise alignments vs the selected anchor row. More...
 
CRef< CSeq_align_setCreateAlignSetFromAnchoredAln (const CAnchoredAln &anchored_aln, CScope *scope)
 
CRef< CSeq_align_setCreateAlignSetFromPairwiseAln (const CPairwiseAln &pairwise_aln, CScope *scope)
 
CRef< CPacked_segCreatePackedsegFromAnchoredAln (const CAnchoredAln &anchored_aln, CScope *scope)
 
CRef< CPacked_segCreatePackedsegFromPairwiseAln (const CPairwiseAln &pairwise_aln, CScope *scope)
 
CRef< CSeq_alignConvertSeq_align (const CSeq_align &src, CSeq_align::TSegs::E_Choice dst_choice, CSeq_align::TDim anchor_row, CScope *scope)
 Convert source alignment to a new type. More...
 

Variables

static const TSignedSeqPos kMaxSplicedExonIndelLength = 15
 

Macro Definition Documentation

◆ CRangeCollection

Definition at line 61 of file aln_generators.cpp.

◆ USE_RANGE_SET

#define USE_RANGE_SET

Definition at line 58 of file aln_generators.cpp.

Typedef Documentation

◆ TDim

Definition at line 767 of file aln_generators.cpp.

Function Documentation

◆ ConvertSeq_align()

CRef<CSeq_align> ConvertSeq_align ( const CSeq_align src,
CSeq_align::TSegs::E_Choice  dst_choice,
CSeq_align::TDim  anchor_row = -1,
CScope scope = NULL 
)

Convert source alignment to a new type.

For spliced-segs the anchor_row is used as product row.

Definition at line 1162 of file aln_generators.cpp.

References CreateAnchoredAlnFromAln(), CreateSeqAlignFromAnchoredAln(), and CAlnIdMap< _TAlnVec, TAlnSeqIdExtract >::push_back().

Referenced by CScoreBuilder::GetBlastScoreStd(), and s_GetRnaMappingLocs().

◆ CreateAlignSetFromAnchoredAln()

CRef<CSeq_align_set> CreateAlignSetFromAnchoredAln ( const CAnchoredAln anchored_aln,
CScope scope 
)

◆ CreateAlignSetFromPairwiseAln()

CRef<CSeq_align_set> CreateAlignSetFromPairwiseAln ( const CPairwiseAln pairwise_aln,
CScope scope 
)

◆ CreateDense_diagFromAnchoredAln()

void CreateDense_diagFromAnchoredAln ( CSeq_align::TSegs::TDendiag dd,
const CAnchoredAln anchored_aln,
CScope scope 
)

◆ CreateDensegFromAnchoredAln()

CRef<CDense_seg> CreateDensegFromAnchoredAln ( const CAnchoredAln anchored_aln,
CScope scope 
)

◆ CreateDensegFromPairwiseAln()

CRef<CDense_seg> CreateDensegFromPairwiseAln ( const CPairwiseAln pairwise_aln,
CScope scope 
)

◆ CreatePackedsegFromAnchoredAln()

CRef<CPacked_seg> CreatePackedsegFromAnchoredAln ( const CAnchoredAln anchored_aln,
CScope scope 
)

◆ CreatePackedsegFromPairwiseAln()

CRef<CPacked_seg> CreatePackedsegFromPairwiseAln ( const CPairwiseAln pairwise_aln,
CScope scope 
)

◆ CreateSeqAlignFromAnchoredAln()

CRef<CSeq_align> CreateSeqAlignFromAnchoredAln ( const CAnchoredAln anchored_aln,
CSeq_align::TSegs::E_Choice  choice,
CScope scope 
)

◆ CreateSeqAlignFromEachPairwiseAln()

void CreateSeqAlignFromEachPairwiseAln ( const CAnchoredAln::TPairwiseAlnVector  pairwises,
CAnchoredAln::TDim  anchor,
vector< CRef< CSeq_align > > &  out_seqaligns,
CSeq_align::TSegs::E_Choice  choice,
CScope scope = NULL 
)

Create seq-align from each of the pairwise alignments vs the selected anchor row.

Each pairwise alignment's second sequence is aligned to the anchor pairwise alignment's second sequence. The output alignments contain only aligned segments, no gaps are included.

Parameters
pariwisesInput vector of CPairwiseAln.
anchorIndex of the pairwise alignment to be used as the anchor.
out_seqalignsOutput vector of seq-aligns. Number of objects put in the vector is size of the input vector less one (the anchor is not aligned to itself).
choiceType of the output seq-aligns.
scopeOptional scope (not required to build most seq-align types).

Definition at line 770 of file aln_generators.cpp.

References CreateAlignSetFromPairwiseAln(), CreateDensegFromPairwiseAln(), CreatePackedsegFromPairwiseAln(), CreateSplicedsegFromPairwiseAln(), CSeq_align_Base::C_Segs::e_Dendiag, CSeq_align_Base::C_Segs::e_Denseg, CSeq_align_Base::C_Segs::e_Disc, CSeq_align_Base::C_Segs::e_not_set, CSeq_align_Base::C_Segs::e_Packed, CSeq_align_Base::C_Segs::e_Sparse, CSeq_align_Base::C_Segs::e_Spliced, CSeq_align_Base::C_Segs::e_Std, CSeq_align_Base::eType_partial, CAlignRangeCollectionList< TAlnRange >::GetFlags(), CPairwiseAln::GetSecondId(), NCBI_THROW, row, s_TranslatePairwise(), CSeq_align_Base::SetDim(), CSeq_align_Base::SetSegs(), and CSeq_align_Base::SetType().

Referenced by CAlnBuildApp::Run(), CAlignCleanup::x_Cleanup_AnchoredAln(), and CMergeAlignmentsJob::x_CreateProjectItems().

◆ CreateSeqAlignFromPairwiseAln()

CRef<CSeq_align> CreateSeqAlignFromPairwiseAln ( const CPairwiseAln pairwise_aln,
CSeq_align::TSegs::E_Choice  choice,
CScope scope 
)

◆ CreateSplicedsegFromAnchoredAln()

CRef<CSpliced_seg> CreateSplicedsegFromAnchoredAln ( const CAnchoredAln anchored_aln,
CScope scope 
)

◆ CreateSplicedsegFromPairwiseAln()

CRef<CSpliced_seg> CreateSplicedsegFromPairwiseAln ( const CPairwiseAln pairwise_aln,
CScope scope 
)

◆ InitSplicedsegFromPairwiseAln()

void InitSplicedsegFromPairwiseAln ( CSpliced_seg spliced_seg,
const CPairwiseAln pairwise_aln,
CScope scope 
)

◆ s_TranslatePairwise()

void s_TranslatePairwise ( CPairwiseAln out_pw,
const CPairwiseAln pw,
const CPairwiseAln tr 
)

◆ USING_SCOPE()

USING_SCOPE ( objects  )

Variable Documentation

◆ kMaxSplicedExonIndelLength

const TSignedSeqPos kMaxSplicedExonIndelLength = 15
static

Definition at line 500 of file aln_generators.cpp.

Referenced by InitSplicedsegFromPairwiseAln().

Modified on Tue May 14 16:17:01 2024 by modify_doxy.py rev. 669887