NCBI C++ ToolKit
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
CSeq_align_Mapper_Base Class Reference

Search Toolkit Book for CSeq_align_Mapper_Base

Class used to map seq-alignments. More...

#include <objects/seq/seq_align_mapper_base.hpp>

+ Inheritance diagram for CSeq_align_Mapper_Base:
+ Collaboration diagram for CSeq_align_Mapper_Base:

Public Types

typedef CSeq_align::C_Segs::TDendiag TDendiag
 
typedef CSeq_align::C_Segs::TStd TStd
 
typedef list< SAlignment_SegmentTSegments
 
- Public Types inherited from CObject
enum  EAllocFillMode { eAllocFillNone = 1 , eAllocFillZero , eAllocFillPattern }
 Control filling of newly allocated memory. More...
 
typedef CObjectCounterLocker TLockerType
 Default locker type for CRef. More...
 
typedef atomic< Uint8TCounter
 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_alignGetDstAlign (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_HandleGetRowId (size_t idx) const
 Get seq-id for the given row. More...
 
const TSegmentsGetSegments () const
 Get parsed segments. More...
 
- Public Member Functions inherited from CObject
 CObject (void)
 Constructor. More...
 
 CObject (const CObject &src)
 Copy constructor. More...
 
virtual ~CObject (void)
 Destructor. More...
 
CObjectoperator= (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...
 
- Public Member Functions inherited from CDebugDumpable
 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_BaseGetLocMapper (void) const
 
size_t GetMaxDim (void) const
 Get max number of rows of all segments. More...
 
virtual CSeq_align_Mapper_BaseCreateSubAlign (const CSeq_align &align)
 
virtual CSeq_align_Mapper_BaseCreateSubAlign (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_Segmentx_InsertSeg (TSegments::iterator &where, int len, size_t dim, bool reverse)
 
void x_InvalidateScores (SAlignment_Segment *seg=NULL)
 
- Protected Member Functions inherited from CObject
virtual void DeleteThis (void)
 Virtual method "deleting" this object. More...
 

Protected Attributes

CRef< CSeq_alignm_DstAlign
 
TSubAligns m_SubAligns
 
TSegments m_Segs
 
EAlignFlags m_AlignFlags
 

Private Types

typedef vector< ENa_strandTStrands
 
typedef SAlignment_Segment::TScores TScores
 
typedef vector< TScoresTScoresGroups
 

Private Member Functions

SAlignment_Segmentx_PushSeg (int len, size_t dim, ENa_strand strand=eNa_strand_unknown)
 
void x_Init (const TDendiag &diags)
 
void x_Init (const CDense_seg &denseg)
 
void x_Init (const TStd &sseg)
 
void x_Init (const CPacked_seg &pseg)
 
void x_Init (const CSeq_align_set &align_set)
 
void x_Init (const CSpliced_seg &spliced)
 
void x_Init (const CSparse_seg &sparse)
 
void x_ConvertAlign (size_t *row)
 
void x_ConvertRow (size_t row)
 
CSeq_id_Handle x_ConvertSegment (TSegments::iterator &seg_it, size_t row)
 
void x_FillKnownStrands (TStrands &strands) const
 
void x_GetDstDendiag (CRef< CSeq_align > &dst) const
 
void x_GetDstDenseg (CRef< CSeq_align > &dst) const
 
void x_GetDstStd (CRef< CSeq_align > &dst) const
 
void x_GetDstPacked (CRef< CSeq_align > &dst) const
 
void x_GetDstDisc (CRef< CSeq_align > &dst) const
 
void x_GetDstSpliced (CRef< CSeq_align > &dst) const
 
void x_GetDstSparse (CRef< CSeq_align > &dst) const
 
bool x_GetDstExon (CSpliced_seg &spliced, TSegments::const_iterator &seg, CSeq_id_Handle &gen_id, CSeq_id_Handle &prod_id, ENa_strand &gen_strand, ENa_strand &prod_strand, bool &last_exon_partial, const CSeq_id_Handle &last_gen_id, const CSeq_id_Handle &last_prod_id) const
 
void x_PushExonPart (CRef< CSpliced_exon_chunk > &last_part, CSpliced_exon_chunk::E_Choice part_type, int part_len, CSpliced_exon &exon) const
 
void x_ConvToDstDisc (CRef< CSeq_align > &dst) const
 
ssize_t x_GetPartialDenseg (CRef< CSeq_align > &dst, size_t start_seg) const
 
void x_GetDstSplicedSubAlign (CSpliced_seg &spliced, const CSeq_align_Mapper_Base &sub_align, bool &last_exon_partial, CSeq_id_Handle &gen_id, CSeq_id_Handle &last_gen_id, bool &single_gen_id, ENa_strand &gen_strand, bool &single_gen_str, CSeq_id_Handle &prod_id, CSeq_id_Handle &last_prod_id, bool &single_prod_id, ENa_strand &prod_strand, bool &single_prod_str, bool &partial) const
 
bool x_HaveMixedSeqTypes (void) const
 
bool x_HaveMixedStrand (void) const
 
bool x_IsEmpty (void) const
 

Private Attributes

CSeq_loc_Mapper_Basem_LocMapper
 
CConstRef< CSeq_alignm_OrigAlign
 
CConstRef< CSpliced_exonm_OrigExon
 
bool m_HaveStrands
 
size_t m_Dim
 
TScores m_AlignScores
 
TScores m_SegsScores
 
TScoresGroups m_GroupScores
 
bool m_ScoresInvalidated
 

Additional Inherited Members

- Static Public Member Functions inherited from CObject
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 Public Member Functions inherited from CDebugDumpable
static void EnableDebugDump (bool on)
 
- Static Public Attributes inherited from CObject
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...
 

Detailed Description

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.

Member Typedef Documentation

◆ TDendiag

typedef CSeq_align::C_Segs::TDendiag CSeq_align_Mapper_Base::TDendiag

Definition at line 131 of file seq_align_mapper_base.hpp.

◆ TScores

Definition at line 314 of file seq_align_mapper_base.hpp.

◆ TScoresGroups

Definition at line 315 of file seq_align_mapper_base.hpp.

◆ TSegments

Definition at line 157 of file seq_align_mapper_base.hpp.

◆ TStd

typedef CSeq_align::C_Segs::TStd CSeq_align_Mapper_Base::TStd

Definition at line 132 of file seq_align_mapper_base.hpp.

◆ TStrands

Definition at line 234 of file seq_align_mapper_base.hpp.

◆ TSubAligns

Definition at line 330 of file seq_align_mapper_base.hpp.

Member Enumeration Documentation

◆ EAlignFlags

Enumerator
eAlign_Normal 
eAlign_Empty 
eAlign_MultiId 
eAlign_MultiDim 

Definition at line 335 of file seq_align_mapper_base.hpp.

Constructor & Destructor Documentation

◆ CSeq_align_Mapper_Base() [1/2]

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::~CSeq_align_Mapper_Base ( void  )

Definition at line 150 of file seq_align_mapper_base.cpp.

◆ CSeq_align_Mapper_Base() [2/2]

CSeq_align_Mapper_Base::CSeq_align_Mapper_Base ( CSeq_loc_Mapper_Base loc_mapper)
protected

Definition at line 121 of file seq_align_mapper_base.cpp.

Member Function Documentation

◆ Convert() [1/2]

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().

◆ Convert() [2/2]

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().

◆ CreateSubAlign() [1/2]

CSeq_align_Mapper_Base * CSeq_align_Mapper_Base::CreateSubAlign ( const CSeq_align align)
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().

◆ CreateSubAlign() [2/2]

CSeq_align_Mapper_Base * CSeq_align_Mapper_Base::CreateSubAlign ( const CSpliced_seg spliced,
const CSpliced_exon exon 
)
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.

◆ GetDim()

size_t CSeq_align_Mapper_Base::GetDim ( void  ) const
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.

◆ GetDstAlign()

CRef< CSeq_align > CSeq_align_Mapper_Base::GetDstAlign ( void  ) const

◆ GetLocMapper()

CSeq_loc_Mapper_Base& CSeq_align_Mapper_Base::GetLocMapper ( void  ) const
inlineprotected

Definition at line 168 of file seq_align_mapper_base.hpp.

References m_LocMapper.

Referenced by CSeq_align_Mapper::CreateSubAlign().

◆ GetMaxDim()

size_t CSeq_align_Mapper_Base::GetMaxDim ( void  ) const
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().

◆ GetRowId()

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.

◆ GetSegments()

const CSeq_align_Mapper_Base::TSegments & CSeq_align_Mapper_Base::GetSegments ( void  ) const
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.

◆ InitExon()

void CSeq_align_Mapper_Base::InitExon ( const CSpliced_seg spliced,
const CSpliced_exon exon 
)
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().

◆ x_ConvertAlign()

void CSeq_align_Mapper_Base::x_ConvertAlign ( size_t *  row)
private

Definition at line 950 of file seq_align_mapper_base.cpp.

References m_Dim, m_Segs, and x_ConvertRow().

Referenced by Convert().

◆ x_ConvertRow()

void CSeq_align_Mapper_Base::x_ConvertRow ( size_t  row)
private

◆ x_ConvertSegment()

CSeq_id_Handle CSeq_align_Mapper_Base::x_ConvertSegment ( TSegments::iterator &  seg_it,
size_t  row 
)
private

◆ x_ConvToDstDisc()

void CSeq_align_Mapper_Base::x_ConvToDstDisc ( CRef< CSeq_align > &  dst) const
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().

◆ x_FillKnownStrands()

void CSeq_align_Mapper_Base::x_FillKnownStrands ( TStrands strands) const
private

◆ x_GetDstDendiag()

void CSeq_align_Mapper_Base::x_GetDstDendiag ( CRef< CSeq_align > &  dst) const
private

◆ x_GetDstDenseg()

void CSeq_align_Mapper_Base::x_GetDstDenseg ( CRef< CSeq_align > &  dst) const
private

◆ x_GetDstDisc()

void CSeq_align_Mapper_Base::x_GetDstDisc ( CRef< CSeq_align > &  dst) const
private

Definition at line 1643 of file seq_align_mapper_base.cpp.

References ITERATE, m_SubAligns, and CSeq_align_Base::SetSegs().

Referenced by GetDstAlign().

◆ x_GetDstExon()

bool CSeq_align_Mapper_Base::x_GetDstExon ( CSpliced_seg spliced,
TSegments::const_iterator &  seg,
CSeq_id_Handle gen_id,
CSeq_id_Handle prod_id,
ENa_strand gen_strand,
ENa_strand prod_strand,
bool last_exon_partial,
const CSeq_id_Handle last_gen_id,
const CSeq_id_Handle last_prod_id 
) const
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().

◆ x_GetDstPacked()

void CSeq_align_Mapper_Base::x_GetDstPacked ( CRef< CSeq_align > &  dst) const
private

◆ x_GetDstSparse()

void CSeq_align_Mapper_Base::x_GetDstSparse ( CRef< CSeq_align > &  dst) const
private

◆ x_GetDstSpliced()

void CSeq_align_Mapper_Base::x_GetDstSpliced ( CRef< CSeq_align > &  dst) const
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().

◆ x_GetDstSplicedSubAlign()

void CSeq_align_Mapper_Base::x_GetDstSplicedSubAlign ( CSpliced_seg spliced,
const CSeq_align_Mapper_Base sub_align,
bool last_exon_partial,
CSeq_id_Handle gen_id,
CSeq_id_Handle last_gen_id,
bool single_gen_id,
ENa_strand gen_strand,
bool single_gen_str,
CSeq_id_Handle prod_id,
CSeq_id_Handle last_prod_id,
bool single_prod_id,
ENa_strand prod_strand,
bool single_prod_str,
bool partial 
) const
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().

◆ x_GetDstStd()

void CSeq_align_Mapper_Base::x_GetDstStd ( CRef< CSeq_align > &  dst) const
private

◆ x_GetPartialDenseg()

ssize_t CSeq_align_Mapper_Base::x_GetPartialDenseg ( CRef< CSeq_align > &  dst,
size_t  start_seg 
) const
private

◆ x_HaveMixedSeqTypes()

bool CSeq_align_Mapper_Base::x_HaveMixedSeqTypes ( void  ) const
private

◆ x_HaveMixedStrand()

bool CSeq_align_Mapper_Base::x_HaveMixedStrand ( void  ) const
private

◆ x_Init() [1/8]

void CSeq_align_Mapper_Base::x_Init ( const CDense_seg denseg)
private

◆ x_Init() [2/8]

void CSeq_align_Mapper_Base::x_Init ( const CPacked_seg pseg)
private

◆ x_Init() [3/8]

void CSeq_align_Mapper_Base::x_Init ( const CSeq_align align)
protected

◆ x_Init() [4/8]

void CSeq_align_Mapper_Base::x_Init ( const CSeq_align_set align_set)
private

◆ x_Init() [5/8]

void CSeq_align_Mapper_Base::x_Init ( const CSparse_seg sparse)
private

◆ x_Init() [6/8]

void CSeq_align_Mapper_Base::x_Init ( const CSpliced_seg spliced)
private

◆ x_Init() [7/8]

void CSeq_align_Mapper_Base::x_Init ( const TDendiag diags)
private

◆ x_Init() [8/8]

void CSeq_align_Mapper_Base::x_Init ( const TStd sseg)
private

◆ x_InsertSeg()

SAlignment_Segment & CSeq_align_Mapper_Base::x_InsertSeg ( TSegments::iterator &  where,
int  len,
size_t  dim,
bool  reverse 
)
protected

Definition at line 240 of file seq_align_mapper_base.cpp.

References len, and m_Segs.

Referenced by x_ConvertSegment(), and CSeq_align_Mapper::x_ConvertSegmentCvt().

◆ x_InvalidateScores()

void CSeq_align_Mapper_Base::x_InvalidateScores ( SAlignment_Segment seg = NULL)
protected

◆ x_IsEmpty()

bool CSeq_align_Mapper_Base::x_IsEmpty ( void  ) const
private

Definition at line 2867 of file seq_align_mapper_base.cpp.

References ITERATE, kInvalidSeqPos, m_Segs, and m_SubAligns.

Referenced by GetDstAlign().

◆ x_PushExonPart()

void CSeq_align_Mapper_Base::x_PushExonPart ( CRef< CSpliced_exon_chunk > &  last_part,
CSpliced_exon_chunk::E_Choice  part_type,
int  part_len,
CSpliced_exon exon 
) const
private

◆ x_PushSeg()

SAlignment_Segment & CSeq_align_Mapper_Base::x_PushSeg ( int  len,
size_t  dim,
ENa_strand  strand = eNa_strand_unknown 
)
private

Definition at line 220 of file seq_align_mapper_base.cpp.

References IsReverse(), len, and m_Segs.

Referenced by InitExon(), and x_Init().

Member Data Documentation

◆ m_AlignFlags

EAlignFlags CSeq_align_Mapper_Base::m_AlignFlags
protected

◆ m_AlignScores

TScores CSeq_align_Mapper_Base::m_AlignScores
private

Definition at line 318 of file seq_align_mapper_base.hpp.

Referenced by GetDstAlign(), x_Init(), and x_InvalidateScores().

◆ m_Dim

size_t CSeq_align_Mapper_Base::m_Dim
private

Definition at line 311 of file seq_align_mapper_base.hpp.

Referenced by GetDim(), InitExon(), x_ConvertAlign(), and x_Init().

◆ m_DstAlign

CRef<CSeq_align> CSeq_align_Mapper_Base::m_DstAlign
mutableprotected

Definition at line 342 of file seq_align_mapper_base.hpp.

Referenced by CSeq_align_Mapper::Convert(), Convert(), and GetDstAlign().

◆ m_GroupScores

TScoresGroups CSeq_align_Mapper_Base::m_GroupScores
private

Definition at line 322 of file seq_align_mapper_base.hpp.

Referenced by x_GetDstSparse(), and x_Init().

◆ m_HaveStrands

bool CSeq_align_Mapper_Base::m_HaveStrands
private

◆ m_LocMapper

CSeq_loc_Mapper_Base& CSeq_align_Mapper_Base::m_LocMapper
private

◆ m_OrigAlign

CConstRef<CSeq_align> CSeq_align_Mapper_Base::m_OrigAlign
private

Definition at line 305 of file seq_align_mapper_base.hpp.

Referenced by GetDstAlign(), x_GetDstSpliced(), and x_Init().

◆ m_OrigExon

CConstRef<CSpliced_exon> CSeq_align_Mapper_Base::m_OrigExon
private

Definition at line 307 of file seq_align_mapper_base.hpp.

Referenced by InitExon(), and x_GetDstExon().

◆ m_ScoresInvalidated

bool CSeq_align_Mapper_Base::m_ScoresInvalidated
private

Definition at line 325 of file seq_align_mapper_base.hpp.

Referenced by x_InvalidateScores().

◆ m_Segs

TSegments CSeq_align_Mapper_Base::m_Segs
mutableprotected

◆ m_SegsScores

TScores CSeq_align_Mapper_Base::m_SegsScores
private

◆ m_SubAligns

TSubAligns CSeq_align_Mapper_Base::m_SubAligns
protected

The documentation for this class was generated from the following files:
Modified on Thu Nov 30 04:54:14 2023 by modify_doxy.py rev. 669887