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

Represents ASN.1 type Dense-seg defined in file seqalign.asn

Search Toolkit Book for CDense_seg

#include <objects/seqalign/Dense_seg.hpp>

+ Inheritance diagram for CDense_seg:
+ Collaboration diagram for CDense_seg:


class  CReserveHook

Public Types

typedef vector< intTWidths
- Public Types inherited from CDense_seg_Base
enum class  E_memberIndex {
  e__allMandatory = 0 , e_dim , e_numseg , e_ids ,
  e_starts , e_lens , e_strands , e_scores
typedef int TDim
typedef int TNumseg
typedef vector< CRef< CSeq_id > > TIds
typedef vector< TSignedSeqPosTStarts
typedef vector< TSeqPosTLens
typedef vector< ENa_strandTStrands
typedef vector< CRef< CScore > > TScores
typedef Tparent::CMemberIndex< E_memberIndex, 8 > TmemberIndex
- 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

 CDense_seg (void)
 ~CDense_seg (void)
void Assign (const CSerialObject &obj, ESerialRecursionMode how=eRecursive)
 overloaded Assign() More...
bool IsSetWidths (void) const
bool CanGetWidths (void) const
void ResetWidths (void)
const TWidthsGetWidths (void) const
TWidthsSetWidths (void)
TDim CheckNumRows (void) const
TNumseg CheckNumSegs (void) const
void Validate (bool full_test=false) const
CRange< TSeqPosGetSeqRange (TDim row) const
TSeqPos GetSeqStart (TDim row) const
TSeqPos GetSeqStop (TDim row) const
const CSeq_idGetSeq_id (TDim row) const
ENa_strand GetSeqStrand (TDim row) const
void Reverse (void)
 Reverse the segments' orientation. More...
void SwapRows (TDim row1, TDim row2)
 Swap two rows (changing *order*, not content) More...
CRef< CDense_segFillUnaligned () const
 Create a new dense-seg with added all unaligned pieces (implicit inserts), if any, between segments. More...
CRef< CDense_segExtractSlice (TDim row, TSeqPos from, TSeqPos to) const
 Extract a slice of the alignment that includes the specified range. More...
CRef< CDense_segExtractRows (const vector< TDim > &rows) const
 Extract specified rows of the alignment, in specified order. More...
void Compact ()
 Join adjacent mergeable segments to create a more compact alignment. More...
void OrderAdjacentGaps ()
 Order adjacent gaps, so that the side with sequence is in row-decending order. More...
void RemovePureGapSegs ()
 Remove any segments in which every row has a gap (these can arise when ExtractRows is used) More...
void TrimEndGaps ()
 Trim leading/training gaps if possible. More...
void OffsetRow (TDim row, TSignedSeqPos offset)
 Offset row's coords. More...
void RemapToLoc (TDim row, const CSeq_loc &loc, bool ignore_strand=false)
void FromTranscript (TSeqPos query_start, ENa_strand query_strand, TSeqPos subj_start, ENa_strand subj_strand, const string &transcript)
 Initialize from pairwise alignment transcript (a string representation produced by CNWAligner) More...
CRef< CSeq_intervalCreateRowSeq_interval (TDim row) const
- Public Member Functions inherited from CDense_seg_Base
 CDense_seg_Base (void)
virtual ~CDense_seg_Base (void)
bool IsSetDim (void) const
 dimensionality Check if a value has been assigned to Dim data member. More...
bool CanGetDim (void) const
 Check if it is safe to call GetDim method. More...
void ResetDim (void)
 Reset Dim data member. More...
void SetDefaultDim (void)
 Assign default value to Dim data member. More...
TDim GetDim (void) const
 Get the Dim member data. More...
void SetDim (TDim value)
 Assign a value to Dim data member. More...
TDimSetDim (void)
 Assign a value to Dim data member. More...
bool IsSetNumseg (void) const
 number of segments here Check if a value has been assigned to Numseg data member. More...
bool CanGetNumseg (void) const
 Check if it is safe to call GetNumseg method. More...
void ResetNumseg (void)
 Reset Numseg data member. More...
TNumseg GetNumseg (void) const
 Get the Numseg member data. More...
void SetNumseg (TNumseg value)
 Assign a value to Numseg data member. More...
TNumsegSetNumseg (void)
 Assign a value to Numseg data member. More...
bool IsSetIds (void) const
 sequences in order Check if a value has been assigned to Ids data member. More...
bool CanGetIds (void) const
 Check if it is safe to call GetIds method. More...
void ResetIds (void)
 Reset Ids data member. More...
const TIdsGetIds (void) const
 Get the Ids member data. More...
TIdsSetIds (void)
 Assign a value to Ids data member. More...
bool IsSetStarts (void) const
 start OFFSETS in ids order within segs Check if a value has been assigned to Starts data member. More...
bool CanGetStarts (void) const
 Check if it is safe to call GetStarts method. More...
void ResetStarts (void)
 Reset Starts data member. More...
const TStartsGetStarts (void) const
 Get the Starts member data. More...
TStartsSetStarts (void)
 Assign a value to Starts data member. More...
bool IsSetLens (void) const
 lengths in ids order within segs Check if a value has been assigned to Lens data member. More...
bool CanGetLens (void) const
 Check if it is safe to call GetLens method. More...
void ResetLens (void)
 Reset Lens data member. More...
const TLensGetLens (void) const
 Get the Lens member data. More...
TLensSetLens (void)
 Assign a value to Lens data member. More...
bool IsSetStrands (void) const
 Check if a value has been assigned to Strands data member. More...
bool CanGetStrands (void) const
 Check if it is safe to call GetStrands method. More...
void ResetStrands (void)
 Reset Strands data member. More...
const TStrandsGetStrands (void) const
 Get the Strands member data. More...
TStrandsSetStrands (void)
 Assign a value to Strands data member. More...
bool IsSetScores (void) const
 score for each seg Check if a value has been assigned to Scores data member. More...
bool CanGetScores (void) const
 Check if it is safe to call GetScores method. More...
void ResetScores (void)
 Reset Scores data member. More...
const TScoresGetScores (void) const
 Get the Scores member data. More...
TScoresSetScores (void)
 Assign a value to Scores data member. More...
virtual void Reset (void)
 Reset the whole object. More...
- Public Member Functions inherited from CSerialObject
 CSerialObject (void)
virtual ~CSerialObject (void)
virtual const CTypeInfoGetThisTypeInfo (void) const =0
virtual bool Equals (const CSerialObject &object, ESerialRecursionMode how=eRecursive) const
 Check if both objects contain the same values. More...
virtual void DebugDump (CDebugDumpContext ddc, unsigned int depth) const
 Define method for dumping debug information. More...
void ThrowUnassigned (TMemberIndex index) const
void ThrowUnassigned (TMemberIndex index, const char *file_name, int file_line) const
bool HasNamespaceName (void) const
 Check if object data type has namespace name. More...
const stringGetNamespaceName (void) const
 Get namespace name. More...
bool HasNamespacePrefix (void) const
 Check if data type has namespace prefix. More...
const stringGetNamespacePrefix (void) const
 Get namespace prefix. 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...
- 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

Static Public Member Functions

static void SetReserveHooks (CObjectIStream &in)
static void SetGlobalReserveHooks (void)
- Static Public Member Functions inherited from CSerialObject
static void SetVerifyDataThread (ESerialVerifyData verify)
static void SetVerifyDataGlobal (ESerialVerifyData verify)
static string UnassignedString (void)
static CStringUTF8 UnassignedStringUTF8 (void)
static char UnassignedByte (void)
- 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)

Protected Member Functions

TNumseg x_FindSegment (TDim row, TSignedSeqPos pos) const
- Protected Member Functions inherited from CObject
virtual void DeleteThis (void)
 Virtual method "deleting" this object. More...

Private Types

typedef CDense_seg_Base Tparent

Private Member Functions

 CDense_seg (const CDense_seg &value)
CDense_segoperator= (const CDense_seg &value)

Private Attributes

Uint4 m_set_State1 [1]
TWidths m_Widths

Additional Inherited Members

- Static Public Attributes inherited from CSerialObject
static const char * ms_UnassignedStr = "<*unassigned*>"
static const char ms_UnassignedByte = char(0xcd)
- 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

Definition at line 60 of file Dense_seg.hpp.

Member Typedef Documentation

◆ Tparent

Definition at line 62 of file Dense_seg.hpp.

◆ TWidths

typedef vector<int> CDense_seg::TWidths

Definition at line 73 of file Dense_seg.hpp.

Constructor & Destructor Documentation

◆ CDense_seg() [1/2]

CDense_seg::CDense_seg ( void  )

◆ ~CDense_seg()

CDense_seg::~CDense_seg ( void  )

Definition at line 57 of file Dense_seg.cpp.

◆ CDense_seg() [2/2]

CDense_seg::CDense_seg ( const CDense_seg value)

Member Function Documentation

◆ Assign()

void CDense_seg::Assign ( const CSerialObject obj,
ESerialRecursionMode  how = eRecursive 

◆ CanGetWidths()

bool CDense_seg::CanGetWidths ( void  ) const

Definition at line 203 of file Dense_seg.hpp.

◆ CheckNumRows()

CDense_seg::TDim CDense_seg::CheckNumRows ( void  ) const

◆ CheckNumSegs()

CDense_seg::TNumseg CDense_seg::CheckNumSegs ( void  ) const

◆ Compact()

void CDense_seg::Compact ( )

◆ CreateRowSeq_interval()

CRef< CSeq_interval > CDense_seg::CreateRowSeq_interval ( TDim  row) const

◆ ExtractRows()

CRef< CDense_seg > CDense_seg::ExtractRows ( const vector< TDim > &  rows) const

Extract specified rows of the alignment, in specified order.

The result is compacted with Compact, but may contain segments in which all rows have gaps, which can be removed with RemovePureGapSegs. The rows in the new alignment are in the order given by the rows parameter. Thus, this can also be used for permuting the order of rows.

See also

Definition at line 816 of file Dense_seg.cpp.

References CSeq_id::Assign(), CheckNumRows(), CheckNumSegs(), Compact(), CDense_seg_Base::GetIds(), CDense_seg_Base::GetLens(), CDense_seg_Base::GetNumseg(), CDense_seg_Base::GetStarts(), CDense_seg_Base::GetStrands(), CDense_seg_Base::IsSetStrands(), ITERATE, NCBI_THROW, NStr::NumericToString(), CDense_seg_Base::SetDim(), CDense_seg_Base::SetIds(), CDense_seg_Base::SetLens(), CDense_seg_Base::SetNumseg(), CDense_seg_Base::SetStarts(), CDense_seg_Base::SetStrands(), and Validate().

Referenced by s_DivvyUpAlignments_ProcessAnnot_Denseg(), and CPhyTreeCalc::x_CreateValidAlign().

◆ ExtractSlice()

CRef< CDense_seg > CDense_seg::ExtractSlice ( TDim  row,
TSeqPos  from,
TSeqPos  to 
) const

◆ FillUnaligned()

CRef< CDense_seg > CDense_seg::FillUnaligned ( ) const

◆ FromTranscript()

void CDense_seg::FromTranscript ( TSeqPos  query_start,
ENa_strand  query_strand,
TSeqPos  subj_start,
ENa_strand  subj_strand,
const string transcript 

◆ GetSeq_id()

const CSeq_id & CDense_seg::GetSeq_id ( TDim  row) const

◆ GetSeqRange()

CRange< TSeqPos > CDense_seg::GetSeqRange ( TDim  row) const

◆ GetSeqStart()

TSeqPos CDense_seg::GetSeqStart ( TDim  row) const

◆ GetSeqStop()

TSeqPos CDense_seg::GetSeqStop ( TDim  row) const

◆ GetSeqStrand()

ENa_strand CDense_seg::GetSeqStrand ( TDim  row) const

◆ GetWidths()

const vector< int > & CDense_seg::GetWidths ( void  ) const

◆ IsSetWidths()

bool CDense_seg::IsSetWidths ( void  ) const

◆ OffsetRow()

void CDense_seg::OffsetRow ( TDim  row,
TSignedSeqPos  offset 

◆ operator=()

CDense_seg& CDense_seg::operator= ( const CDense_seg value)

◆ OrderAdjacentGaps()

void CDense_seg::OrderAdjacentGaps ( )

◆ RemapToLoc()

void CDense_seg::RemapToLoc ( TDim  row,
const CSeq_loc loc,
bool  ignore_strand = false 

◆ RemovePureGapSegs()

void CDense_seg::RemovePureGapSegs ( )

◆ ResetWidths()

void CDense_seg::ResetWidths ( void  )

◆ Reverse()

void CDense_seg::Reverse ( void  )

◆ SetGlobalReserveHooks()

void CDense_seg::SetGlobalReserveHooks ( void  )

◆ SetReserveHooks()

void CDense_seg::SetReserveHooks ( CObjectIStream in)

◆ SetWidths()

vector< int > & CDense_seg::SetWidths ( void  )

◆ SwapRows()

void CDense_seg::SwapRows ( TDim  row1,
TDim  row2 

◆ TrimEndGaps()

void CDense_seg::TrimEndGaps ( )

◆ Validate()

void CDense_seg::Validate ( bool  full_test = false) const

◆ x_FindSegment()

CDense_seg::TNumseg CDense_seg::x_FindSegment ( CDense_seg::TDim  row,
TSignedSeqPos  pos 
) const

Member Data Documentation

◆ m_set_State1

Uint4 CDense_seg::m_set_State1[1]

◆ m_Widths

TWidths CDense_seg::m_Widths

Definition at line 177 of file Dense_seg.hpp.

Referenced by Assign(), GetWidths(), ResetWidths(), and SetWidths().

The documentation for this class was generated from the following files:
Modified on Wed Jun 07 02:54:28 2023 by rev. 662518