NCBI C++ ToolKit
|
Search Toolkit Book for CSeq_align_Mapper_Base
Class used to map seq-alignments. More...
#include <objects/seq/seq_align_mapper_base.hpp>
Public Types | |
typedef CSeq_align::C_Segs::TDendiag | TDendiag |
typedef CSeq_align::C_Segs::TStd | TStd |
typedef list< SAlignment_Segment > | TSegments |
![]() | |
enum | EAllocFillMode { eAllocFillNone = 1 , eAllocFillZero , eAllocFillPattern } |
Control filling of newly allocated memory. More... | |
typedef CObjectCounterLocker | TLockerType |
Default locker type for CRef. More... | |
typedef atomic< Uint8 > | TCounter |
Counter type is CAtomiCounter. More... | |
typedef Uint8 | TCount |
Alias for value type of counter. More... | |
Public Member Functions | |
CSeq_align_Mapper_Base (const CSeq_align &align, CSeq_loc_Mapper_Base &loc_mapper) | |
~CSeq_align_Mapper_Base (void) | |
void | Convert (void) |
Map the whole alignment through the linked seq-loc mapper. More... | |
void | Convert (size_t row) |
Map a single row of the alignment through the linked seq-loc mapper. More... | |
CRef< CSeq_align > | GetDstAlign (void) const |
Create mapped alignment. More... | |
size_t | GetDim (void) const |
Some of the following methods use only the first segment to get information about rows. More... | |
const CSeq_id_Handle & | GetRowId (size_t idx) const |
Get seq-id for the given row. More... | |
const TSegments & | GetSegments () const |
Get parsed segments. More... | |
![]() | |
CObject (void) | |
Constructor. More... | |
CObject (const CObject &src) | |
Copy constructor. More... | |
virtual | ~CObject (void) |
Destructor. More... | |
CObject & | operator= (const CObject &src) THROWS_NONE |
Assignment operator. More... | |
bool | CanBeDeleted (void) const THROWS_NONE |
Check if object can be deleted. More... | |
bool | IsAllocatedInPool (void) const THROWS_NONE |
Check if object is allocated in memory pool (not system heap) More... | |
bool | Referenced (void) const THROWS_NONE |
Check if object is referenced. More... | |
bool | ReferencedOnlyOnce (void) const THROWS_NONE |
Check if object is referenced only once. More... | |
void | AddReference (void) const |
Add reference to object. More... | |
void | RemoveReference (void) const |
Remove reference to object. More... | |
void | ReleaseReference (void) const |
Remove reference without deleting object. More... | |
virtual void | DoNotDeleteThisObject (void) |
Mark this object as not allocated in heap – do not delete this object. More... | |
virtual void | DoDeleteThisObject (void) |
Mark this object as allocated in heap – object can be deleted. More... | |
void * | operator new (size_t size) |
Define new operator for memory allocation. More... | |
void * | operator new[] (size_t size) |
Define new[] operator for 'array' memory allocation. More... | |
void | operator delete (void *ptr) |
Define delete operator for memory deallocation. More... | |
void | operator delete[] (void *ptr) |
Define delete[] operator for memory deallocation. More... | |
void * | operator new (size_t size, void *place) |
Define new operator. More... | |
void | operator delete (void *ptr, void *place) |
Define delete operator. More... | |
void * | operator new (size_t size, CObjectMemoryPool *place) |
Define new operator using memory pool. More... | |
void | operator delete (void *ptr, CObjectMemoryPool *place) |
Define delete operator. More... | |
virtual void | DebugDump (CDebugDumpContext ddc, unsigned int depth) const |
Define method for dumping debug information. More... | |
![]() | |
CDebugDumpable (void) | |
virtual | ~CDebugDumpable (void) |
void | DebugDumpText (ostream &out, const string &bundle, unsigned int depth) const |
void | DebugDumpFormat (CDebugDumpFormatter &ddf, const string &bundle, unsigned int depth) const |
void | DumpToConsole (void) const |
Protected Types | |
enum | EAlignFlags { eAlign_Normal , eAlign_Empty , eAlign_MultiId , eAlign_MultiDim } |
typedef vector< CRef< CSeq_align_Mapper_Base > > | TSubAligns |
Protected Member Functions | |
CSeq_align_Mapper_Base (CSeq_loc_Mapper_Base &loc_mapper) | |
CSeq_loc_Mapper_Base & | GetLocMapper (void) const |
size_t | GetMaxDim (void) const |
Get max number of rows of all segments. More... | |
virtual CSeq_align_Mapper_Base * | CreateSubAlign (const CSeq_align &align) |
virtual CSeq_align_Mapper_Base * | CreateSubAlign (const CSpliced_seg &spliced, const CSpliced_exon &exon) |
void | InitExon (const CSpliced_seg &spliced, const CSpliced_exon &exon) |
void | x_Init (const CSeq_align &align) |
SAlignment_Segment & | x_InsertSeg (TSegments::iterator &where, int len, size_t dim, bool reverse) |
void | x_InvalidateScores (SAlignment_Segment *seg=NULL) |
![]() | |
virtual void | DeleteThis (void) |
Virtual method "deleting" this object. More... | |
Protected Attributes | |
CRef< CSeq_align > | m_DstAlign |
TSubAligns | m_SubAligns |
TSegments | m_Segs |
EAlignFlags | m_AlignFlags |
Private Types | |
typedef vector< ENa_strand > | TStrands |
typedef SAlignment_Segment::TScores | TScores |
typedef vector< TScores > | TScoresGroups |
Private Attributes | |
CSeq_loc_Mapper_Base & | m_LocMapper |
CConstRef< CSeq_align > | m_OrigAlign |
CConstRef< CSpliced_exon > | m_OrigExon |
bool | m_HaveStrands |
size_t | m_Dim |
TScores | m_AlignScores |
TScores | m_SegsScores |
TScoresGroups | m_GroupScores |
bool | m_ScoresInvalidated |
Additional Inherited Members | |
![]() | |
static NCBI_XNCBI_EXPORT void | ThrowNullPointerException (void) |
Define method to throw null pointer exception. More... | |
static NCBI_XNCBI_EXPORT void | ThrowNullPointerException (const type_info &type) |
static EAllocFillMode | GetAllocFillMode (void) |
static void | SetAllocFillMode (EAllocFillMode mode) |
static void | SetAllocFillMode (const string &value) |
Set mode from configuration parameter value. More... | |
![]() | |
static void | EnableDebugDump (bool on) |
![]() | |
static const TCount | eCounterBitsCanBeDeleted = 1 << 0 |
Define possible object states. More... | |
static const TCount | eCounterBitsInPlainHeap = 1 << 1 |
Heap signature was found. More... | |
static const TCount | eCounterBitsPlaceMask |
Mask for 'in heap' state flags. More... | |
static const int | eCounterStep = 1 << 2 |
Skip over the "in heap" bits. More... | |
static const TCount | eCounterValid = TCount(1) << (sizeof(TCount) * 8 - 2) |
Minimal value for valid objects (reference counter is zero) Must be a single bit value. More... | |
static const TCount | eCounterStateMask |
Valid object, and object in heap. More... | |
Class used to map seq-alignments.
Parses, maps and generates alignments. Does not contain mapping information and can be used only with an instance of CSeq_loc_Mapper_Base class. The seq-loc mapper is also used to retrieve information about types of sequences.
Definition at line 128 of file seq_align_mapper_base.hpp.
typedef CSeq_align::C_Segs::TDendiag CSeq_align_Mapper_Base::TDendiag |
Definition at line 131 of file seq_align_mapper_base.hpp.
|
private |
Definition at line 314 of file seq_align_mapper_base.hpp.
|
private |
Definition at line 315 of file seq_align_mapper_base.hpp.
typedef list<SAlignment_Segment> CSeq_align_Mapper_Base::TSegments |
Definition at line 157 of file seq_align_mapper_base.hpp.
typedef CSeq_align::C_Segs::TStd CSeq_align_Mapper_Base::TStd |
Definition at line 132 of file seq_align_mapper_base.hpp.
|
private |
Definition at line 234 of file seq_align_mapper_base.hpp.
|
protected |
Definition at line 330 of file seq_align_mapper_base.hpp.
|
protected |
Enumerator | |
---|---|
eAlign_Normal | |
eAlign_Empty | |
eAlign_MultiId | |
eAlign_MultiDim |
Definition at line 335 of file seq_align_mapper_base.hpp.
CSeq_align_Mapper_Base::CSeq_align_Mapper_Base | ( | const CSeq_align & | align, |
CSeq_loc_Mapper_Base & | loc_mapper | ||
) |
Definition at line 135 of file seq_align_mapper_base.cpp.
References x_Init().
Referenced by CreateSubAlign().
CSeq_align_Mapper_Base::~CSeq_align_Mapper_Base | ( | void | ) |
Definition at line 150 of file seq_align_mapper_base.cpp.
|
protected |
Definition at line 121 of file seq_align_mapper_base.cpp.
void CSeq_align_Mapper_Base::Convert | ( | size_t | row | ) |
Map a single row of the alignment through the linked seq-loc mapper.
Definition at line 930 of file seq_align_mapper_base.cpp.
References m_DstAlign, m_SubAligns, NON_CONST_ITERATE, CRef< C, Locker >::Reset(), x_ConvertAlign(), and x_InvalidateScores().
void CSeq_align_Mapper_Base::Convert | ( | void | ) |
Map the whole alignment through the linked seq-loc mapper.
Definition at line 904 of file seq_align_mapper_base.cpp.
References m_DstAlign, m_SubAligns, NON_CONST_ITERATE, NULL, CRef< C, Locker >::Reset(), x_ConvertAlign(), and x_InvalidateScores().
Referenced by CSeq_align_Mapper::Convert().
|
protectedvirtual |
Reimplemented in CSeq_align_Mapper.
Definition at line 3053 of file seq_align_mapper_base.cpp.
References CSeq_align_Mapper_Base(), and m_LocMapper.
Referenced by x_Init().
|
protectedvirtual |
Reimplemented in CSeq_align_Mapper.
Definition at line 3061 of file seq_align_mapper_base.cpp.
References CSeq_align_Mapper_Base(), and m_LocMapper.
|
inline |
Some of the following methods use only the first segment to get information about rows.
They do not check if this information is consistent through all segments, but it should be. Get maximal number of rows in the alignment's segments.
Definition at line 151 of file seq_align_mapper_base.hpp.
References m_Dim.
CRef< CSeq_align > CSeq_align_Mapper_Base::GetDstAlign | ( | void | ) | const |
Create mapped alignment.
Definition at line 2894 of file seq_align_mapper_base.cpp.
References CSerialObject::Assign(), 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_Packed, CSeq_align_Base::C_Segs::e_Sparse, CSeq_align_Base::C_Segs::e_Spliced, CSeq_align_Base::C_Segs::e_Std, eAlign_Normal, CSeq_loc_Mapper_Base::fMixedAlignsAsSpliced, CSeq_align_Base::GetBounds(), CSeq_align_Base::GetDim(), CSeq_align_Base::GetExt(), CSeq_align_Base::GetId(), CSeq_align_Base::GetSegs(), CSeq_loc_Mapper_Base::GetSeqTypeById(), CSeq_align_Base::GetType(), CSeq_align_Base::IsSetBounds(), CSeq_align_Base::IsSetDim(), CSeq_align_Base::IsSetExt(), CSeq_align_Base::IsSetId(), kInvalidSeqPos, m_AlignFlags, m_AlignScores, m_DstAlign, SAlignment_Segment::SAlignment_Row::m_Id, m_LocMapper, m_OrigAlign, m_Segs, SAlignment_Segment::SAlignment_Row::m_Start, NCBI_THROW, r(), CSeq_align_Base::SetBounds(), CSeq_align_Base::SetDim(), CSeq_align_Base::SetExt(), CSeq_align_Base::SetId(), CSeq_align_Base::SetScore(), CSeq_align_Base::SetType(), CSeq_align_Base::C_Segs::Which(), x_ConvToDstDisc(), x_GetDstDendiag(), x_GetDstDenseg(), x_GetDstDisc(), x_GetDstPacked(), x_GetDstSparse(), x_GetDstSpliced(), x_GetDstStd(), x_HaveMixedSeqTypes(), x_IsEmpty(), and CSeq_loc_Mapper_Base::x_IsSetMiscFlag().
Referenced by CSeq_loc_Conversion_Set::Convert().
|
inlineprotected |
Definition at line 168 of file seq_align_mapper_base.hpp.
References m_LocMapper.
Referenced by CSeq_align_Mapper::CreateSubAlign().
|
inlineprotected |
Get max number of rows of all segments.
Definition at line 392 of file seq_align_mapper_base.hpp.
Referenced by CSeq_align_Mapper::x_ConvertAlignCvt().
const CSeq_id_Handle & CSeq_align_Mapper_Base::GetRowId | ( | size_t | idx | ) | const |
Get seq-id for the given row.
Throw exception if the row does not exist. The function uses row id from the first segment. Other segments may have different id for the same row.
Definition at line 3072 of file seq_align_mapper_base.cpp.
References m_Segs, and NCBI_THROW.
|
inline |
Get parsed segments.
There is no storage for the original set of segments - it's modified during the mapping to produce mapped alignment.
Definition at line 384 of file seq_align_mapper_base.hpp.
|
protected |
Definition at line 689 of file seq_align_mapper_base.cpp.
References SAlignment_Segment::AddRow(), CProduct_pos::AsSeqPos(), CSpliced_exon_chunk_Base::e_Match, eNa_strand_unknown, ERR_POST_X, CSeq_loc_Mapper_Base::eSplicedRow_Gen, CSeq_loc_Mapper_Base::eSplicedRow_Prod, CSpliced_exon_Base::GetGenomic_end(), CSpliced_exon_Base::GetGenomic_id(), CSpliced_seg_Base::GetGenomic_id(), CSpliced_exon_Base::GetGenomic_start(), CSpliced_exon_Base::GetGenomic_strand(), CSpliced_seg_Base::GetGenomic_strand(), CSpliced_exon_Base::GetParts(), CSpliced_exon_Base::GetProduct_end(), CSpliced_exon_Base::GetProduct_id(), CSpliced_seg_Base::GetProduct_id(), CSpliced_exon_Base::GetProduct_start(), CSpliced_exon_Base::GetProduct_strand(), CSpliced_seg_Base::GetProduct_strand(), CSpliced_exon_Base::GetScores(), CSpliced_exon_chunk_Base::IsGenomic_ins(), CSpliced_exon_chunk_Base::IsProduct_ins(), IsReverse(), CSpliced_exon_Base::IsSetGenomic_id(), CSpliced_seg_Base::IsSetGenomic_id(), CSpliced_exon_Base::IsSetGenomic_strand(), CSpliced_seg_Base::IsSetGenomic_strand(), CSpliced_exon_Base::IsSetParts(), CSpliced_exon_Base::IsSetProduct_id(), CSpliced_seg_Base::IsSetProduct_id(), CSpliced_exon_Base::IsSetProduct_strand(), CSpliced_seg_Base::IsSetProduct_strand(), CSpliced_exon_Base::IsSetScores(), ITERATE, m_Dim, m_HaveStrands, m_OrigExon, SAlignment_Segment::m_PartType, m_SegsScores, CConstRef< C, Locker >::Reset(), CSeq_loc_Mapper_Base::sx_GetExonPartLength(), Warning(), CSpliced_exon_chunk_Base::Which(), and x_PushSeg().
|
private |
Definition at line 950 of file seq_align_mapper_base.cpp.
References m_Dim, m_Segs, and x_ConvertRow().
Referenced by Convert().
|
private |
Definition at line 966 of file seq_align_mapper_base.cpp.
References eAlign_MultiDim, eAlign_MultiId, eAlign_Normal, m_AlignFlags, m_Segs, and x_ConvertSegment().
Referenced by x_ConvertAlign().
|
private |
Definition at line 1002 of file seq_align_mapper_base.cpp.
References CRangeMapBase< Traits >::begin(), SAlignment_Segment::CopyRow(), dr, eAlign_MultiId, eAlign_Normal, CRangeMapBase< Traits >::empty(), eNa_strand_unknown, map_checker< Container >::end(), CSeq_loc_Mapper_Base::fCheckStrand, CSeq_loc_Mapper_Base::fErrorOnPartial, map_checker< Container >::find(), CRange_Base::GetFrom(), CMappingRanges::GetIdMap(), IsReverse(), ITERATE, kInvalidSeqPos, m_AlignFlags, SAlignment_Segment::m_GroupIdx, SAlignment_Segment::m_HaveStrands, m_HaveStrands, SAlignment_Segment::SAlignment_Row::m_Id, SAlignment_Segment::SAlignment_Row::m_IsSetStrand, SAlignment_Segment::m_Len, m_LocMapper, CSeq_loc_Mapper_Base::m_Mappings, SAlignment_Segment::m_PartType, SAlignment_Segment::m_Rows, SAlignment_Segment::m_Scores, SAlignment_Segment::m_ScoresGroupIdx, m_Segs, SAlignment_Segment::SAlignment_Row::m_Start, SAlignment_Segment::SAlignment_Row::m_Strand, NCBI_THROW, r(), SAlignment_Segment::SAlignment_Row::SameStrand(), SAlignment_Segment::SAlignment_Row::SetMapped(), ct::sort(), CSeq_loc_Mapper_Base::x_GetPrimaryId(), x_InsertSeg(), x_InvalidateScores(), and CSeq_loc_Mapper_Base::x_IsSetMiscFlag().
Referenced by x_ConvertRow().
|
private |
Definition at line 2793 of file seq_align_mapper_base.cpp.
References m_Segs, CSeq_align_Base::SetSegs(), and x_GetPartialDenseg().
Referenced by GetDstAlign().
|
private |
Definition at line 1242 of file seq_align_mapper_base.cpp.
References eAlign_MultiDim, eNa_strand_plus, eNa_strand_unknown, ITERATE, m_AlignFlags, and m_Segs.
Referenced by x_GetDstDendiag(), x_GetDstDenseg(), x_GetDstPacked(), and x_GetPartialDenseg().
|
private |
Definition at line 1274 of file seq_align_mapper_base.cpp.
References CSeq_loc_Mapper_Base::eSeq_prot, CSeq_loc_Mapper_Base::GetSeqTypeById(), ITERATE, kInvalidSeqPos, SAlignment_Segment::m_HaveStrands, m_LocMapper, SAlignment_Segment::m_Rows, SAlignment_Segment::m_Scores, m_Segs, NCBI_THROW, CSeq_align_Base::SetSegs(), and x_FillKnownStrands().
Referenced by GetDstAlign().
|
private |
Definition at line 1331 of file seq_align_mapper_base.cpp.
References _ASSERT, eAlign_MultiDim, eNa_strand_plus, eNa_strand_unknown, CSeq_loc_Mapper_Base::eSeq_prot, CSeq_loc_Mapper_Base::eSeq_unknown, CSeq_id_Handle::GetSeqId(), CSeq_loc_Mapper_Base::GetSeqTypeById(), ITERATE, kInvalidSeqPos, m_AlignFlags, m_HaveStrands, SAlignment_Segment::SAlignment_Row::m_Id, m_LocMapper, m_Segs, m_SegsScores, SAlignment_Segment::SAlignment_Row::m_Start, NCBI_THROW, r(), CDense_seg_Base::SetDim(), CDense_seg_Base::SetIds(), CDense_seg_Base::SetLens(), CDense_seg_Base::SetNumseg(), CDense_seg_Base::SetScores(), CSeq_align_Base::SetSegs(), CDense_seg_Base::SetStarts(), CDense_seg_Base::SetStrands(), and x_FillKnownStrands().
Referenced by GetDstAlign().
|
private |
Definition at line 1643 of file seq_align_mapper_base.cpp.
References ITERATE, m_SubAligns, and CSeq_align_Base::SetSegs().
Referenced by GetDstAlign().
|
private |
Definition at line 1718 of file seq_align_mapper_base.cpp.
References _ASSERT, CSpliced_exon_chunk_Base::e_Genomic_ins, CSpliced_exon_chunk_Base::e_Match, CSpliced_exon_chunk_Base::e_not_set, CSpliced_exon_chunk_Base::e_Product_ins, eNa_strand_unknown, CSpliced_seg_Base::eProduct_type_protein, CSpliced_seg_Base::eProduct_type_transcript, CSeq_loc_Mapper_Base::eSeq_prot, CSeq_loc_Mapper_Base::eSeq_unknown, CSeq_loc_Mapper_Base::eSplicedRow_Gen, CSeq_loc_Mapper_Base::eSplicedRow_Prod, CSpliced_exon_Base::GetAcceptor_before_exon(), CSpliced_exon_Base::GetDonor_after_exon(), CSpliced_seg_Base::GetExons(), CSpliced_exon_Base::GetExt(), CSpliced_exon_Base::GetGenomic_strand(), CSpliced_exon_Base::GetProduct_start(), CSpliced_seg_Base::GetProduct_type(), SAlignment_Segment::SAlignment_Row::GetSegStart(), CSeq_id_Handle::GetSeqId(), CSeq_loc_Mapper_Base::GetSeqTypeById(), IsExonGap(), CProduct_pos_Base::IsProtpos(), IsReverse(), CSpliced_exon_Base::IsSetAcceptor_before_exon(), CSpliced_exon_Base::IsSetDonor_after_exon(), CSpliced_exon_Base::IsSetExt(), CSpliced_exon_Base::IsSetGenomic_strand(), CSpliced_seg_Base::IsSetProduct_type(), SAlignment_Segment::SAlignment_Row::m_Id, SAlignment_Segment::SAlignment_Row::m_IsSetStrand, m_LocMapper, SAlignment_Segment::SAlignment_Row::m_Mapped, m_OrigExon, m_Segs, m_SegsScores, SAlignment_Segment::SAlignment_Row::m_Strand, NCBI_THROW, CSpliced_exon_Base::ResetAcceptor_before_exon(), CSpliced_exon_Base::ResetDonor_after_exon(), CSpliced_seg_Base::SetExons(), CSpliced_exon_Base::SetPartial(), CSpliced_seg_Base::SetProduct_type(), and x_PushExonPart().
Referenced by x_GetDstSplicedSubAlign().
|
private |
Definition at line 1585 of file seq_align_mapper_base.cpp.
References _ASSERT, eAlign_MultiDim, CSeq_loc_Mapper_Base::eSeq_prot, CSeq_id_Handle::GetSeqId(), CSeq_loc_Mapper_Base::GetSeqTypeById(), ITERATE, kInvalidSeqPos, m_AlignFlags, m_HaveStrands, SAlignment_Segment::SAlignment_Row::m_Id, m_LocMapper, m_Segs, m_SegsScores, SAlignment_Segment::SAlignment_Row::m_Start, r(), CPacked_seg_Base::SetDim(), CPacked_seg_Base::SetIds(), CPacked_seg_Base::SetLens(), CPacked_seg_Base::SetNumseg(), CPacked_seg_Base::SetPresent(), CPacked_seg_Base::SetScores(), CSeq_align_Base::SetSegs(), CPacked_seg_Base::SetStarts(), CPacked_seg_Base::SetStrands(), and x_FillKnownStrands().
Referenced by GetDstAlign().
|
private |
Definition at line 2498 of file seq_align_mapper_base.cpp.
References eNa_strand_unknown, CSeq_loc_Mapper_Base::eSeq_prot, SAlignment_Segment::SAlignment_Row::GetSegStart(), CSeq_id_Handle::GetSeqId(), CSeq_loc_Mapper_Base::GetSeqTypeById(), i, IsForward(), ITERATE, m_GroupScores, SAlignment_Segment::SAlignment_Row::m_Id, SAlignment_Segment::SAlignment_Row::m_IsSetStrand, m_LocMapper, m_Segs, m_SegsScores, SAlignment_Segment::SAlignment_Row::m_Strand, NCBI_THROW, Reverse(), CSparse_seg_Base::SetRow_scores(), CSparse_seg_Base::SetRows(), and CSeq_align_Base::SetSegs().
Referenced by GetDstAlign().
|
private |
Definition at line 2236 of file seq_align_mapper_base.cpp.
References _ASSERT, CSeq_loc::Assign(), CloneContainer(), eNa_strand_unknown, CSpliced_seg_Base::eProduct_type_protein, CSeq_loc_Mapper_Base::eSeq_nuc, CSeq_loc_Mapper_Base::eSplicedRow_Gen, CSeq_loc_Mapper_Base::eSplicedRow_Prod, CSeq_loc_Mapper_Base::fTrimSplicedSegs, CSeq_align_Base::GetBounds(), CSpliced_exon_chunk_Base::GetGenomic_ins(), CSpliced_seg_Base::GetGenomic_strand(), CSpliced_exon_chunk_Base::GetProduct_ins(), CSpliced_seg_Base::GetProduct_strand(), CSpliced_seg_Base::GetProduct_type(), CSeq_align_Base::GetSegs(), CSeq_id_Handle::GetSeqId(), CSeq_loc_Mapper_Base::GetSeqTypeById(), CSeq_align_Base::C_Segs::GetSpliced(), IsExonGap(), CSpliced_exon_chunk_Base::IsGenomic_ins(), CSeq_loc_Base::IsNull(), IsReverse(), CSeq_align_Base::IsSetBounds(), CSpliced_seg_Base::IsSetGenomic_strand(), CSpliced_seg_Base::IsSetProduct_strand(), CSeq_align_Base::C_Segs::IsSpliced(), ITERATE, SAlignment_Segment::SAlignment_Row::m_Id, m_LocMapper, CSeq_loc_Mapper_Base::m_Mappings, m_OrigAlign, m_Segs, m_SubAligns, CSeq_loc_Mapper_Base::Map(), NON_CONST_ITERATE, orig, CSeq_align_Base::SetBounds(), CSpliced_seg_Base::SetExons(), CSpliced_seg_Base::SetGenomic_id(), CSpliced_seg_Base::SetGenomic_strand(), CSpliced_seg_Base::SetModifiers(), CSpliced_seg_Base::SetPoly_a(), CSpliced_seg_Base::SetProduct_id(), CSpliced_seg_Base::SetProduct_length(), CSpliced_seg_Base::SetProduct_strand(), CSeq_align_Base::SetSegs(), swap(), x_GetDstSplicedSubAlign(), and CSeq_loc_Mapper_Base::x_IsSetMiscFlag().
Referenced by GetDstAlign().
|
private |
Definition at line 2162 of file seq_align_mapper_base.cpp.
References eNa_strand_unknown, m_Segs, and x_GetDstExon().
Referenced by x_GetDstSpliced().
|
private |
Definition at line 1411 of file seq_align_mapper_base.cpp.
References _ASSERT, CSeq_loc_Mapper_Base::eSeq_prot, CSeq_loc_Mapper_Base::GetSeqTypeById(), IsReverse(), ITERATE, kInvalidSeqPos, m_LocMapper, m_Segs, SAlignment_Segment::SAlignment_Row::m_Start, SAlignment_Segment::SAlignment_Row::m_Strand, CSeq_loc::SetEmpty(), CSeq_loc::SetInt(), CSeq_align_Base::SetSegs(), and swap().
Referenced by GetDstAlign().
|
private |
Definition at line 2606 of file seq_align_mapper_base.cpp.
References _ASSERT, eNa_strand_plus, eNa_strand_unknown, CSeq_loc_Mapper_Base::eSeq_prot, CSeq_align_Base::eType_partial, SAlignment_Segment::SAlignment_Row::GetSegStart(), GetSeqId(), CSeq_loc_Mapper_Base::GetSeqTypeById(), i, IsReverse(), ITERATE, kInvalidSeqPos, m_HaveStrands, SAlignment_Segment::SAlignment_Row::m_Id, SAlignment_Segment::SAlignment_Row::m_IsSetStrand, m_LocMapper, SAlignment_Segment::m_Rows, m_Segs, SAlignment_Segment::SAlignment_Row::m_Strand, r(), CRef< C, Locker >::Reset(), SameOrientation(), CDense_seg_Base::SetDim(), CDense_seg_Base::SetIds(), CDense_seg_Base::SetLens(), CDense_seg_Base::SetNumseg(), CSeq_align_Base::SetSegs(), CDense_seg_Base::SetStarts(), CDense_seg_Base::SetStrands(), CSeq_align_Base::SetType(), and x_FillKnownStrands().
Referenced by x_ConvToDstDisc().
|
private |
Definition at line 2812 of file seq_align_mapper_base.cpp.
References CSeq_loc_Mapper_Base::eSeq_prot, CSeq_loc_Mapper_Base::GetSeqTypeById(), ITERATE, m_LocMapper, and m_Segs.
Referenced by GetDstAlign().
|
private |
Definition at line 2835 of file seq_align_mapper_base.cpp.
References eNa_strand_unknown, SAlignment_Segment::SAlignment_Row::GetSegStart(), ITERATE, SAlignment_Segment::SAlignment_Row::m_IsSetStrand, m_Segs, SAlignment_Segment::SAlignment_Row::m_Strand, r(), and SameOrientation().
|
private |
Definition at line 327 of file seq_align_mapper_base.cpp.
References SAlignment_Segment::AddRow(), set< Key, Compare >::empty(), eNa_strand_unknown, ERR_POST_X, CSeq_loc_Mapper_Base::eSeq_nuc, CSeq_loc_Mapper_Base::eSeq_prot, CDense_seg_Base::GetDim(), CSeq_id_Handle::GetHandle(), CDense_seg_Base::GetIds(), CDense_seg_Base::GetLens(), CDense_seg_Base::GetNumseg(), CDense_seg_Base::GetScores(), CSeq_loc_Mapper_Base::GetSeqTypeById(), CDense_seg_Base::GetStarts(), CDense_seg_Base::GetStrands(), set< Key, Compare >::insert(), CDense_seg_Base::IsSetScores(), CDense_seg_Base::IsSetStrands(), ITERATE, m_Dim, m_HaveStrands, SAlignment_Segment::m_Len, m_LocMapper, m_SegsScores, min(), NCBI_THROW, CSeq_loc_Mapper_Base::SetSeqTypeById(), Warning(), and x_PushSeg().
|
private |
Definition at line 603 of file seq_align_mapper_base.cpp.
References SAlignment_Segment::AddRow(), eNa_strand_unknown, ERR_POST_X, CSeq_loc_Mapper_Base::eSeq_prot, CPacked_seg_Base::GetDim(), CPacked_seg_Base::GetIds(), CPacked_seg_Base::GetLens(), CPacked_seg_Base::GetNumseg(), CPacked_seg_Base::GetPresent(), CPacked_seg_Base::GetScores(), CSeq_loc_Mapper_Base::GetSeqTypeById(), CPacked_seg_Base::GetStarts(), CPacked_seg_Base::GetStrands(), CPacked_seg_Base::IsSetScores(), CPacked_seg_Base::IsSetStrands(), kInvalidSeqPos, m_Dim, m_HaveStrands, SAlignment_Segment::m_Len, m_LocMapper, m_SegsScores, min(), NCBI_THROW, Warning(), and x_PushSeg().
|
protected |
Definition at line 181 of file seq_align_mapper_base.cpp.
References 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_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::C_Segs::GetDendiag(), CSeq_align_Base::C_Segs::GetDenseg(), CSeq_align_Base::C_Segs::GetDisc(), CSeq_align_Base::C_Segs::GetPacked(), CSeq_align_Base::GetScore(), CSeq_align_Base::GetSegs(), CSeq_align_Base::C_Segs::GetSparse(), CSeq_align_Base::C_Segs::GetSpliced(), CSeq_align_Base::C_Segs::GetStd(), CSeq_align_Base::IsSetScore(), m_AlignScores, m_OrigAlign, CConstRef< C, Locker >::Reset(), and CSeq_align_Base::C_Segs::Which().
Referenced by CSeq_align_Mapper_Base().
|
private |
Definition at line 677 of file seq_align_mapper_base.cpp.
References CreateSubAlign(), CSeq_align_set_Base::Get(), ITERATE, m_SubAligns, and Ref().
|
private |
Definition at line 820 of file seq_align_mapper_base.cpp.
References SAlignment_Segment::AddRow(), eNa_strand_unknown, ERR_POST_X, CSeq_loc_Mapper_Base::eSeq_prot, CSparse_align_Base::GetFirst_id(), CSparse_align_Base::GetFirst_starts(), CSparse_align_Base::GetLens(), CSparse_align_Base::GetNumseg(), CSparse_seg_Base::GetRow_scores(), CSparse_seg_Base::GetRows(), CSparse_align_Base::GetSecond_id(), CSparse_align_Base::GetSecond_starts(), CSparse_align_Base::GetSecond_strands(), CSparse_align_Base::GetSeg_scores(), CSeq_loc_Mapper_Base::GetSeqTypeById(), CSparse_seg_Base::IsSetRow_scores(), CSparse_align_Base::IsSetSecond_strands(), CSparse_align_Base::IsSetSeg_scores(), m_Dim, m_GroupScores, m_HaveStrands, m_LocMapper, SAlignment_Segment::m_ScoresGroupIdx, m_SegsScores, min(), NCBI_THROW, Warning(), and x_PushSeg().
|
private |
Definition at line 810 of file seq_align_mapper_base.cpp.
References CreateSubAlign(), CSpliced_seg_Base::GetExons(), ITERATE, m_SubAligns, and Ref().
Definition at line 255 of file seq_align_mapper_base.cpp.
References SAlignment_Segment::AddRow(), eAlign_MultiDim, eNa_strand_unknown, ERR_POST_X, CSeq_loc_Mapper_Base::eSeq_prot, CDense_diag_Base::GetDim(), CDense_diag_Base::GetIds(), CDense_diag_Base::GetLen(), CDense_diag_Base::GetScores(), CSeq_loc_Mapper_Base::GetSeqTypeById(), CDense_diag_Base::GetStarts(), CDense_diag_Base::GetStrands(), CDense_diag_Base::IsSetScores(), CDense_diag_Base::IsSetStrands(), ITERATE, m_AlignFlags, m_Dim, m_HaveStrands, SAlignment_Segment::m_Len, m_LocMapper, SAlignment_Segment::m_Scores, max(), min(), NCBI_THROW, Warning(), and x_PushSeg().
Definition at line 412 of file seq_align_mapper_base.cpp.
References _ASSERT, SAlignment_Segment::AddRow(), CSeq_loc_Base::e_Empty, CSeq_loc_Base::e_Int, CSeq_loc_Base::e_Pnt, CSeq_loc_Base::e_Whole, eAlign_MultiDim, eNa_strand_unknown, ERR_POST_X, CSeq_loc_Mapper_Base::eSeq_nuc, CSeq_loc_Mapper_Base::eSeq_prot, CSeq_loc_Mapper_Base::eSeq_unknown, CStd_seg_Base::GetDim(), CRange_Base::GetFrom(), CSeq_id_Handle::GetHandle(), CSeq_loc::GetId(), CStd_seg_Base::GetIds(), CSeq_loc_Base::GetInt(), COpenRange< Position >::GetLength(), CSeq_loc_Base::GetPnt(), CStd_seg_Base::GetScores(), CSeq_loc_Mapper_Base::GetSeqTypeById(), CSeq_loc::GetStrand(), CSeq_loc::GetTotalRange(), int, CStd_seg_Base::IsSetIds(), CStd_seg_Base::IsSetScores(), CSeq_interval_Base::IsSetStrand(), CSeq_point_Base::IsSetStrand(), CSeq_loc_Base::IsWhole(), ITERATE, kInvalidSeqPos, len, m_AlignFlags, m_Dim, m_HaveStrands, SAlignment_Segment::m_Len, m_LocMapper, SAlignment_Segment::m_Rows, SAlignment_Segment::m_Scores, max(), min(), NCBI_THROW, CSeq_loc_Mapper_Base::SetSeqTypeById(), swap(), Warning(), CSeq_loc_Base::Which(), CSeq_loc_Mapper_Base::x_AdjustSeqTypesToProt(), and x_PushSeg().
|
protected |
Definition at line 240 of file seq_align_mapper_base.cpp.
Referenced by x_ConvertSegment(), and CSeq_align_Mapper::x_ConvertSegmentCvt().
|
protected |
Definition at line 3082 of file seq_align_mapper_base.cpp.
References m_AlignScores, SAlignment_Segment::m_Scores, SAlignment_Segment::m_ScoresGroupIdx, m_ScoresInvalidated, and m_SegsScores.
Referenced by Convert(), x_ConvertSegment(), and CSeq_align_Mapper::x_ConvertSegmentCvt().
|
private |
Definition at line 2867 of file seq_align_mapper_base.cpp.
References ITERATE, kInvalidSeqPos, m_Segs, and m_SubAligns.
Referenced by GetDstAlign().
|
private |
Definition at line 1688 of file seq_align_mapper_base.cpp.
References CRef< C, Locker >::Reset(), SetPartLength(), and CSpliced_exon_Base::SetParts().
Referenced by x_GetDstExon().
|
private |
Definition at line 220 of file seq_align_mapper_base.cpp.
References IsReverse(), len, and m_Segs.
Referenced by InitExon(), and x_Init().
|
protected |
Definition at line 345 of file seq_align_mapper_base.hpp.
Referenced by GetDstAlign(), x_ConvertRow(), CSeq_align_Mapper::x_ConvertRowCvt(), x_ConvertSegment(), CSeq_align_Mapper::x_ConvertSegmentCvt(), x_FillKnownStrands(), x_GetDstDenseg(), x_GetDstPacked(), and x_Init().
|
private |
Definition at line 318 of file seq_align_mapper_base.hpp.
Referenced by GetDstAlign(), x_Init(), and x_InvalidateScores().
|
private |
Definition at line 311 of file seq_align_mapper_base.hpp.
Referenced by GetDim(), InitExon(), x_ConvertAlign(), and x_Init().
|
mutableprotected |
Definition at line 342 of file seq_align_mapper_base.hpp.
Referenced by CSeq_align_Mapper::Convert(), Convert(), and GetDstAlign().
|
private |
Definition at line 322 of file seq_align_mapper_base.hpp.
Referenced by x_GetDstSparse(), and x_Init().
|
private |
Definition at line 309 of file seq_align_mapper_base.hpp.
Referenced by InitExon(), x_ConvertSegment(), x_GetDstDenseg(), x_GetDstPacked(), x_GetPartialDenseg(), and x_Init().
|
private |
Definition at line 303 of file seq_align_mapper_base.hpp.
Referenced by CreateSubAlign(), GetDstAlign(), GetLocMapper(), x_ConvertSegment(), x_GetDstDendiag(), x_GetDstDenseg(), x_GetDstExon(), x_GetDstPacked(), x_GetDstSparse(), x_GetDstSpliced(), x_GetDstStd(), x_GetPartialDenseg(), x_HaveMixedSeqTypes(), and x_Init().
|
private |
Definition at line 305 of file seq_align_mapper_base.hpp.
Referenced by GetDstAlign(), x_GetDstSpliced(), and x_Init().
|
private |
Definition at line 307 of file seq_align_mapper_base.hpp.
Referenced by InitExon(), and x_GetDstExon().
|
private |
Definition at line 325 of file seq_align_mapper_base.hpp.
Referenced by x_InvalidateScores().
|
mutableprotected |
Definition at line 344 of file seq_align_mapper_base.hpp.
Referenced by GetDstAlign(), GetRowId(), x_ConvertAlign(), x_ConvertRow(), CSeq_align_Mapper::x_ConvertRowCvt(), x_ConvertSegment(), CSeq_align_Mapper::x_ConvertSegmentCvt(), x_ConvToDstDisc(), x_FillKnownStrands(), x_GetDstDendiag(), x_GetDstDenseg(), x_GetDstExon(), x_GetDstPacked(), x_GetDstSparse(), x_GetDstSpliced(), x_GetDstSplicedSubAlign(), x_GetDstStd(), x_GetPartialDenseg(), x_HaveMixedSeqTypes(), x_HaveMixedStrand(), x_InsertSeg(), x_IsEmpty(), and x_PushSeg().
|
private |
Definition at line 320 of file seq_align_mapper_base.hpp.
Referenced by InitExon(), x_GetDstDenseg(), x_GetDstExon(), x_GetDstPacked(), x_GetDstSparse(), x_Init(), and x_InvalidateScores().
|
protected |
Definition at line 343 of file seq_align_mapper_base.hpp.
Referenced by CSeq_align_Mapper::Convert(), Convert(), x_GetDstDisc(), x_GetDstSpliced(), x_Init(), and x_IsEmpty().