NCBI C++ ToolKit
|
Search Toolkit Book for CDense_seg
#include <objects/seqalign/Dense_seg.hpp>
Classes | |
class | CReserveHook |
Public Types | |
typedef vector< int > | TWidths |
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< TSignedSeqPos > | TStarts |
typedef vector< TSeqPos > | TLens |
typedef vector< ENa_strand > | TStrands |
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< Uint8 > | TCounter |
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 TWidths & | GetWidths (void) const |
TWidths & | SetWidths (void) |
TDim | CheckNumRows (void) const |
TNumseg | CheckNumSegs (void) const |
void | Validate (bool full_test=false) const |
CRange< TSeqPos > | GetSeqRange (TDim row) const |
TSeqPos | GetSeqStart (TDim row) const |
TSeqPos | GetSeqStop (TDim row) const |
const CSeq_id & | GetSeq_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_seg > | FillUnaligned () const |
Create a new dense-seg with added all unaligned pieces (implicit inserts), if any, between segments. More... | |
CRef< CDense_seg > | ExtractSlice (TDim row, TSeqPos from, TSeqPos to) const |
Extract a slice of the alignment that includes the specified range. More... | |
CRef< CDense_seg > | ExtractRows (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_interval > | CreateRowSeq_interval (TDim row) const |
Public Member Functions inherited from CDense_seg_Base | |
CDense_seg_Base (void) | |
virtual | ~CDense_seg_Base (void) |
DECLARE_INTERNAL_TYPE_INFO () | |
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... | |
TDim & | SetDim (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... | |
TNumseg & | SetNumseg (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 TIds & | GetIds (void) const |
Get the Ids member data. More... | |
TIds & | SetIds (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 TStarts & | GetStarts (void) const |
Get the Starts member data. More... | |
TStarts & | SetStarts (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 TLens & | GetLens (void) const |
Get the Lens member data. More... | |
TLens & | SetLens (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 TStrands & | GetStrands (void) const |
Get the Strands member data. More... | |
TStrands & | SetStrands (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 TScores & | GetScores (void) const |
Get the Scores member data. More... | |
TScores & | SetScores (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 CTypeInfo * | GetThisTypeInfo (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 string & | GetNamespaceName (void) const |
Get namespace name. More... | |
bool | HasNamespacePrefix (void) const |
Check if data type has namespace prefix. More... | |
const string & | GetNamespacePrefix (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... | |
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... | |
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_seg & | operator= (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... | |
Definition at line 60 of file Dense_seg.hpp.
|
private |
Definition at line 62 of file Dense_seg.hpp.
typedef vector<int> CDense_seg::TWidths |
Definition at line 73 of file Dense_seg.hpp.
CDense_seg::CDense_seg | ( | void | ) |
CDense_seg::~CDense_seg | ( | void | ) |
Definition at line 57 of file Dense_seg.cpp.
|
private |
|
virtual |
overloaded Assign()
Reimplemented from CSerialObject.
Definition at line 62 of file Dense_seg.cpp.
References CSerialObject::Assign(), CSerialObject::GetThisTypeInfo(), m_set_State1, and m_Widths.
Referenced by CPhyTreeCalc::GetSeqAlign(), CMacroFunction_RemoveSegGaps::s_RemoveSegGaps(), s_SeqAlignSetToXMLHsps(), CBlastTabularInfo::SetFields(), CInversionMergeAligner::x_CreateDiscAlignment(), CAlnMix::x_ExtendDSWithWidths(), CCIGAR_Formatter::x_FormatDensegRows(), CDisplaySeqalign::x_GetAlnVecForSeqalign(), CUnorderedSplitter::x_MakeAlignmentPairUnique(), CTreeAlignMerger::x_MakeSeqAlign(), CInversionMergeAligner::x_MergeSeqAlignSet(), CMergeAligner::x_MergeSeqAlignSet(), and CUnorderedSplitter::x_TrimRows().
|
inline |
Definition at line 203 of file Dense_seg.hpp.
CDense_seg::TDim CDense_seg::CheckNumRows | ( | void | ) | const |
Definition at line 92 of file Dense_seg.cpp.
References CDense_seg_Base::GetDim(), CDense_seg_Base::GetIds(), NCBI_THROW, and ncbi::grid::netcache::search::fields::size.
Referenced by CSeq_align::CheckNumRows(), ExtractRows(), FillUnaligned(), GetSeqStrand(), RemapToLoc(), RemovePureGapSegs(), and Validate().
CDense_seg::TNumseg CDense_seg::CheckNumSegs | ( | void | ) | const |
Definition at line 109 of file Dense_seg.cpp.
References CDense_seg_Base::GetDim(), CDense_seg_Base::GetLens(), CDense_seg_Base::GetNumseg(), CDense_seg_Base::GetStarts(), CDense_seg_Base::GetStrands(), GetWidths(), and NCBI_THROW.
Referenced by BuildAlignDataSource(), ExtractRows(), FillUnaligned(), GetSeqStart(), GetSeqStop(), RemapToLoc(), RemovePureGapSegs(), and Validate().
void CDense_seg::Compact | ( | ) |
Join adjacent mergeable segments to create a more compact alignment.
Definition at line 432 of file Dense_seg.cpp.
References ASSERT_CONSISTENCY, eNa_strand_minus, CDense_seg_Base::GetDim(), CDense_seg_Base::GetLens(), CDense_seg_Base::GetNumseg(), CDense_seg_Base::GetStarts(), CDense_seg_Base::GetStrands(), i, CDense_seg_Base::IsSetStrands(), CDense_seg_Base::SetLens(), CDense_seg_Base::SetNumseg(), CDense_seg_Base::SetStarts(), CDense_seg_Base::SetStrands(), and ncbi::grid::netcache::search::fields::size.
Referenced by ExtractRows(), s_ExonToDenseg(), CMacroFunction_RemoveSegGaps::s_RemoveSegGaps(), s_TestAlignmentFromMSAs(), CInversionMergeAligner::x_CreateDiscAlignment(), CUnorderedSplitter::x_MakeAlignmentPairUnique(), and CTreeAlignMerger::x_MakeSeqAlign().
CRef< CSeq_interval > CDense_seg::CreateRowSeq_interval | ( | TDim | row | ) | const |
Definition at line 1436 of file Dense_seg.cpp.
References eNa_strand_both, eNa_strand_minus, eNa_strand_plus, CDense_seg_Base::GetDim(), CDense_seg_Base::GetIds(), CDense_seg_Base::GetLens(), CDense_seg_Base::GetNumseg(), CDense_seg_Base::GetStarts(), CDense_seg_Base::GetStrands(), IsReverse(), CDense_seg_Base::IsSetStrands(), kInvalidSeqPos, len, NCBI_THROW, NStr::NumericToString(), row, CSeq_interval_Base::SetFrom(), CSeq_interval_Base::SetId(), CSeq_interval_Base::SetStrand(), and CSeq_interval_Base::SetTo().
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.
Definition at line 837 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(), row, 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().
CRef< CDense_seg > CDense_seg::ExtractSlice | ( | TDim | row, |
TSeqPos | from, | ||
TSeqPos | to | ||
) | const |
Extract a slice of the alignment that includes the specified range.
Definition at line 746 of file Dense_seg.cpp.
References eNa_strand_minus, eNa_strand_plus, CDense_seg_Base::GetDim(), CDense_seg_Base::GetIds(), CDense_seg_Base::GetLens(), GetSeqStart(), GetSeqStop(), CDense_seg_Base::GetStarts(), CDense_seg_Base::GetStrands(), CDense_seg_Base::IsSetStrands(), ITERATE, len, NCBI_THROW, NStr::NumericToString(), row, CDense_seg_Base::SetDim(), CDense_seg_Base::SetIds(), CDense_seg_Base::SetLens(), CDense_seg_Base::SetNumseg(), CDense_seg_Base::SetStarts(), CDense_seg_Base::SetStrands(), si, swap(), Validate(), and x_FindSegment().
Referenced by CContigAssembly::BestLocalSubAlignment(), CClippedScorer::ScoreAlignments(), CAlignCompare::SAlignment::Slice(), CInversionMergeAligner::x_CreateDiscAlignment(), COligoSpecificityCheck::x_FillGlobalAlignInfo(), and CUnorderedSplitter::x_TrimRows().
CRef< CDense_seg > CDense_seg::FillUnaligned | ( | ) | const |
Create a new dense-seg with added all unaligned pieces (implicit inserts), if any, between segments.
Definition at line 1108 of file Dense_seg.cpp.
References CheckNumRows(), CheckNumSegs(), eNa_strand_minus, eNa_strand_plus, CDense_seg_Base::GetIds(), CDense_seg_Base::GetLens(), CDense_seg_Base::GetStarts(), CDense_seg_Base::GetStrands(), len, NCBI_THROW, plus(), row, SerialAssign(), 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 NStr::SizetToString().
Referenced by CAlignCleanup::x_Cleanup_AnchoredAln(), CInversionMergeAligner::x_CreateDiscAlignment(), CMergeAlignmentsJob::x_CreateProjectItems(), CUnorderedSplitter::x_MakeAlignmentPairUnique(), CTreeAlignMerger::x_MakeSeqAlign(), CInversionMergeAligner::x_MergeSeqAlignSet(), CMergeAligner::x_MergeSeqAlignSet(), and CGff3Writer::xWriteAlignDenseg().
void CDense_seg::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)
Definition at line 1273 of file Dense_seg.cpp.
References eNa_strand_minus, eNa_strand_plus, isalpha(), isdigit(), len, NCBI_THROW, CDense_seg_Base::SetDim(), CDense_seg_Base::SetLens(), CDense_seg_Base::SetNumseg(), CDense_seg_Base::SetStarts(), and CDense_seg_Base::SetStrands().
Referenced by CNWFormatter::AsDenseSeg(), CCompartmentAccessor< THit >::AsSeqAlignSet(), CContigAssembly::BandedGlobalAlignment(), s_DoNWalign(), CCleanupAlignmentsJob::x_CreateProjectItems(), and CAppHitFilter::x_DumpOutput().
Definition at line 154 of file Dense_seg.cpp.
References CDense_seg_Base::GetIds(), CDense_seg_Base::IsSetIds(), NCBI_THROW, row, and ncbi::grid::netcache::search::fields::size.
Referenced by CPaintAlignment::AlignPosToSeqPos(), CFeaturePropagator::AlignPosToSeqPos(), BOOST_AUTO_TEST_CASE(), CAlignmentAssistant::CreateFeature(), CFeaturePropagator::CreateRowSeq_loc(), CAlignmentAssistant::DeleteSelection(), CFeaturePropagator::FindRow(), CAlignmentAssistant::GetFeatures(), CPaintAlignment::GetSegments(), CSeq_align::GetSeq_id(), CAlignmentAssistant::OnPropagateFeatures(), CAlignmentAssistant::OnReverseStrand(), CAlignmentAssistant::ReportUnresolvedBioseqs(), CPaintAlignment::SeqPosToAlignPos(), CFeaturePropagator::SeqPosToAlignPos(), CAlignmentAssistant::TranslateLocations(), CAlnWriter::WriteAlignDenseSeg(), and CPslRecord::xInitializeSequenceInfo().
Definition at line 234 of file Dense_seg.hpp.
References GetSeqStart(), GetSeqStop(), and row.
Referenced by CSeq_align::GetSeqRange(), s_GetAlignmentTooltip(), CInversionMergeAligner::x_CreateDiscAlignment(), COligoSpecificityCheck::x_GetSlaveRangeGivenMasterRange(), CSeq_loc_Mapper_Base::x_InitAlign(), CUnorderedSplitter::x_TrimRows(), CPsiBl2SeqTestFixture::x_ValidatePssmVsGi129295(), and CPsiBl2SeqTestFixture::x_ValidatePssmVsGi7450545().
Definition at line 165 of file Dense_seg.cpp.
References CDense_seg_Base::CanGetStrands(), CheckNumSegs(), eNa_strand_minus, CDense_seg_Base::GetDim(), CDense_seg_Base::GetStarts(), CDense_seg_Base::GetStrands(), NCBI_THROW, row, and ncbi::grid::netcache::search::fields::size.
Referenced by CSeq_align::CreateDensegFromDisc(), ExtractSlice(), GetSeqRange(), CSeq_align::GetSeqStart(), CContigAssembly::IsAtLeastHalfDovetail(), s_Seq_align_Seq_loc(), CUpdateSeqPanel::x_InitDrawingParams(), and CPslRecord::xInitializeSequenceInfo().
Definition at line 203 of file Dense_seg.cpp.
References CDense_seg_Base::CanGetStrands(), CheckNumSegs(), eNa_strand_minus, CDense_seg_Base::GetDim(), CDense_seg_Base::GetLens(), CDense_seg_Base::GetStarts(), CDense_seg_Base::GetStrands(), NCBI_THROW, row, and ncbi::grid::netcache::search::fields::size.
Referenced by ExtractSlice(), GetSeqRange(), CSeq_align::GetSeqStop(), CContigAssembly::IsAtLeastHalfDovetail(), RemapToLoc(), s_Seq_align_Seq_loc(), CUpdateSeqPanel::x_InitDrawingParams(), and CPslRecord::xInitializeSequenceInfo().
ENa_strand CDense_seg::GetSeqStrand | ( | TDim | row | ) | const |
Definition at line 241 of file Dense_seg.cpp.
References CheckNumRows(), eNa_strand_plus, CDense_seg_Base::GetStrands(), NCBI_THROW, and row.
Referenced by CSeq_align::GetSeqStrand(), s_Seq_align_Seq_loc(), CBlastTabularInfo::SetFields(), CUpdateSeqPanel::x_InitDrawingParams(), CContigAssembly::x_IsAllowedStrands(), CInversionMergeAligner::x_MergeSeqAlignSet(), CMergeAligner::x_MergeSeqAlignSet(), CInstancedAligner::x_RunCleanup(), CPslRecord::xInitializeStatsAndBlocks(), and CPslRecord::xInitializeStrands().
Definition at line 210 of file Dense_seg.hpp.
References m_Widths.
Referenced by CAlnMixSequences::Add(), CheckNumSegs(), CDisplaySeqalign::DisplaySeqalign(), Validate(), CCIGAR_Formatter::x_FormatLine(), and CGff3Writer::xAssignAlignmentDensegGap().
|
inline |
Definition at line 196 of file Dense_seg.hpp.
References m_set_State1.
Referenced by CAlnMix::Add(), CAlnMixSequences::Add(), BuildAlignDataSource(), CDisplaySeqalign::DisplaySeqalign(), s_IsProteinToGenomic(), and CAlnMix::x_ExtendDSWithWidths().
void CDense_seg::OffsetRow | ( | TDim | row, |
TSignedSeqPos | offset | ||
) |
Offset row's coords.
Definition at line 890 of file Dense_seg.cpp.
References CDense_seg_Base::GetDim(), CDense_seg_Base::GetNumseg(), CDense_seg_Base::GetStarts(), NCBI_THROW, offset, row, and CDense_seg_Base::SetStarts().
Referenced by CSeq_align::OffsetRow(), CClippedScorer::ScoreAlignments(), CUnorderedSplitter::x_FixAlignment(), and CInstancedAligner::x_RunMMGlobal().
|
private |
void CDense_seg::OrderAdjacentGaps | ( | ) |
Order adjacent gaps, so that the side with sequence is in row-decending order.
Definition at line 534 of file Dense_seg.cpp.
References CDense_seg_Base::GetDim(), CDense_seg_Base::GetNumseg(), CDense_seg_Base::GetStarts(), CDense_seg_Base::GetStrands(), i, IDX, min(), CDense_seg_Base::SetLens(), CDense_seg_Base::SetStarts(), CDense_seg_Base::SetStrands(), ncbi::grid::netcache::search::fields::size, and swap().
Definition at line 922 of file Dense_seg.cpp.
References CheckNumRows(), CheckNumSegs(), eNa_strand_minus, eNa_strand_plus, CDense_seg_Base::GetDim(), CRange_Base::GetFrom(), COpenRange< Position >::GetLength(), CDense_seg_Base::GetLens(), CDense_seg_Base::GetNumseg(), CSeq_loc_CI::GetRange(), GetSeqStop(), CDense_seg_Base::GetStarts(), CSeq_loc_CI::GetStrand(), CDense_seg_Base::GetStrands(), CSeq_loc_Base::IsWhole(), len, NCBI_THROW, NStr::NumericToString(), row, CDense_seg_Base::SetLens(), CDense_seg_Base::SetNumseg(), CDense_seg_Base::SetStarts(), CDense_seg_Base::SetStrands(), and NStr::SizetToString().
Referenced by CSeq_align::RemapToLoc().
void CDense_seg::RemovePureGapSegs | ( | ) |
Remove any segments in which every row has a gap (these can arise when ExtractRows is used)
Definition at line 574 of file Dense_seg.cpp.
References ASSERT_CONSISTENCY, CheckNumRows(), CheckNumSegs(), CDense_seg_Base::GetLens(), CDense_seg_Base::GetStarts(), CDense_seg_Base::GetStrands(), i, CDense_seg_Base::IsSetStrands(), remove(), CDense_seg_Base::SetLens(), CDense_seg_Base::SetNumseg(), CDense_seg_Base::SetStarts(), CDense_seg_Base::SetStrands(), ncbi::grid::netcache::search::fields::size, and Validate().
Referenced by CMacroFunction_RemoveSegGaps::s_RemoveSegGaps(), s_TestAlignmentFromMSAs(), CInversionMergeAligner::x_CreateDiscAlignment(), CUnorderedSplitter::x_MakeAlignmentPairUnique(), and CUpdateAlign::x_RemoveIDsFromAlign().
|
inline |
Definition at line 225 of file Dense_seg.hpp.
References m_set_State1, and m_Widths.
Referenced by CSeq_align::CreateDensegFromStdseg(), and CCIGAR_Formatter::x_FormatDensegRows().
void CDense_seg::Reverse | ( | void | ) |
Reverse the segments' orientation.
Definition at line 644 of file Dense_seg.cpp.
References eNa_strand_minus, eNa_strand_plus, f, CDense_seg_Base::GetDim(), CDense_seg_Base::GetNumseg(), CDense_seg_Base::GetStarts(), i, CDense_seg_Base::IsSetStrands(), NON_CONST_ITERATE, r(), CDense_seg_Base::SetLens(), CDense_seg_Base::SetStarts(), CDense_seg_Base::SetStrands(), ncbi::grid::netcache::search::fields::size, and swap().
Referenced by CSeq_align::Reverse(), s_SeqAlignSetToXMLHsps(), CBlastTabularInfo::SetFields(), CDisplaySeqalign::x_GetAlnVecForSeqalign(), CInversionMergeAligner::x_MergeSeqAlignSet(), CMergeAligner::x_MergeSeqAlignSet(), CContigAssembly::x_OrientAlign(), and CInstancedAligner::x_RunCleanup().
|
static |
Definition at line 1541 of file Dense_seg.cpp.
References CDenseSegReserveStartsHook::SetGlobalHook(), CDenseSegReserveLensHook::SetGlobalHook(), and CDenseSegReserveStrandsHook::SetGlobalHook().
|
static |
Definition at line 1533 of file Dense_seg.cpp.
References in(), CDenseSegReserveStartsHook::SetHook(), CDenseSegReserveLensHook::SetHook(), and CDenseSegReserveStrandsHook::SetHook().
|
inline |
Definition at line 217 of file Dense_seg.hpp.
References m_set_State1, and m_Widths.
Referenced by CSpliced_seg::AsDiscSeg(), CAlnMap::CreateAlignFromRange(), CSeq_align::CreateDensegFromStdseg(), CSeq_align::CreateTranslatedDensegFromNADenseg(), CAlnMixMerger::x_CreateDenseg(), and CAlnMix::x_ExtendDSWithWidths().
Swap two rows (changing *order*, not content)
Definition at line 686 of file Dense_seg.cpp.
References CDense_seg_Base::GetDim(), CDense_seg_Base::GetNumseg(), i, CDense_seg_Base::IsSetStrands(), NCBI_THROW, CDense_seg_Base::SetIds(), CDense_seg_Base::SetStarts(), CDense_seg_Base::SetStrands(), and swap().
Referenced by CSeq_align::SwapRows().
void CDense_seg::TrimEndGaps | ( | ) |
Trim leading/training gaps if possible.
Definition at line 344 of file Dense_seg.cpp.
References _ASSERT, ASSERT_CONSISTENCY, CDense_seg_Base::GetDim(), CDense_seg_Base::GetLens(), CDense_seg_Base::GetNumseg(), CDense_seg_Base::GetStarts(), CDense_seg_Base::GetStrands(), i, CDense_seg_Base::IsSetLens(), CDense_seg_Base::IsSetStarts(), CDense_seg_Base::IsSetStrands(), r(), CDense_seg_Base::SetLens(), CDense_seg_Base::SetNumseg(), CDense_seg_Base::SetStarts(), CDense_seg_Base::SetStrands(), and ncbi::grid::netcache::search::fields::size.
Referenced by CNWFormatter::AsDenseSeg(), CInversionMergeAligner::x_CreateDiscAlignment(), CSeq_align::x_CreateSubsegAlignment(), CUnorderedSplitter::x_MakeAlignmentPairUnique(), and CInstancedAligner::x_RunMMGlobal().
Definition at line 274 of file Dense_seg.cpp.
References CheckNumRows(), CheckNumSegs(), eNa_strand_minus, CDense_seg_Base::GetLens(), CDense_seg_Base::GetStarts(), CDense_seg_Base::GetStrands(), GetWidths(), max(), NCBI_THROW, NStr::NumericToString(), offset, plus(), NStr::SizetToString(), and string.
Referenced by CAlnMix::Add(), CAlnVwrApp::AddAlnToMix(), BOOST_AUTO_TEST_CASE(), CreateDensegFromAnchoredAln(), CreateDensegFromPairwiseAln(), CSeq_align::CreateTranslatedDensegFromNADenseg(), ExtractRows(), ExtractSlice(), RemovePureGapSegs(), CSeq_align::Validate(), CPssmCddInputTest::x_CreateAlignment(), CAlnMixMerger::x_CreateDenseg(), and CAlnMix::x_ExtendDSWithWidths().
|
protected |
Definition at line 718 of file Dense_seg.cpp.
References CDense_seg_Base::GetDim(), CDense_seg_Base::GetLens(), CDense_seg_Base::GetNumseg(), CDense_seg_Base::GetStarts(), len, NCBI_THROW, NStr::NumericToString(), and row.
Referenced by ExtractSlice().
|
private |
Definition at line 176 of file Dense_seg.hpp.
Referenced by Assign(), IsSetWidths(), NCBISER_HAVE_GLOBAL_READ_MEMBER_HOOK(), ResetWidths(), and SetWidths().
|
private |
Definition at line 177 of file Dense_seg.hpp.
Referenced by Assign(), GetWidths(), ResetWidths(), and SetWidths().