NCBI C++ ToolKit
|
Search Toolkit Book for CUnorderedSplitter
#include <algo/align/ngalign/unordered_spliter.hpp>
Public Types | |
typedef list< CRef< objects::CSeq_id > > | TSeqIdList |
typedef list< CRef< objects::CSeq_align > > | TSeqAlignList |
Public Member Functions | |
CUnorderedSplitter (objects::CScope &Scope) | |
void | SplitId (const objects::CSeq_id &Id, TSeqIdList &SplitIds) |
void | SplitLoc (const objects::CSeq_loc &Loc, TSeqIdList &SplitIds) |
void | CombineAlignments (const TSeqAlignList &SourceAligns, TSeqAlignList &MergedAligns) |
void | GetSplitIdList (TSeqIdList &SplitIdList) |
Private Types | |
typedef map< string, CRef< objects::CSeq_interval > > | TSplitIntervalsMap |
typedef list< CRef< objects::CSeq_interval > > | TIntervalList |
typedef map< string, TIntervalList > | TSplitIntMap |
Private Member Functions | |
void | x_SplitDeltaExt (const objects::CSeq_id &Id, objects::CBioseq_Handle OrigHandle, TSeqIdList &SplitIds, TSeqRange LimitRange=TSeqRange()) |
void | x_SplitSeqData (const objects::CSeq_id &Id, objects::CBioseq_Handle OrigHandle, TSeqIdList &SplitIds, TSeqRange LimitRange=TSeqRange()) |
CRef< objects::CSeq_align > | x_FixAlignment (const objects::CSeq_align &SourceAlignment) |
void | x_SortAlignSet (TSeqAlignList &AlignSet) |
void | x_MakeAlignmentsUnique (TSeqAlignList &Alignments) |
void | x_MakeAlignmentPairUnique (CRef< objects::CSeq_align > First, CRef< objects::CSeq_align > Second) |
void | x_TrimRows (const objects::CDense_seg &DomSeg, objects::CDense_seg &NonSeg, int Row) |
bool | x_IsAllGap (const objects::CDense_seg &Denseg) |
void | x_StripDistantAlignments (TSeqAlignList &Alignments) |
Static Private Member Functions | |
static bool | s_SortByQueryStart (const CRef< objects::CSeq_align > &A, const CRef< objects::CSeq_align > &B) |
Private Attributes | |
CRef< objects::CScope > | m_Scope |
TSplitIntervalsMap | m_PartsMap |
TSplitIntMap | m_SplitsMap |
Definition at line 70 of file unordered_spliter.hpp.
|
private |
Definition at line 95 of file unordered_spliter.hpp.
typedef list<CRef<objects::CSeq_align> > CUnorderedSplitter::TSeqAlignList |
Definition at line 80 of file unordered_spliter.hpp.
typedef list<CRef<objects::CSeq_id> > CUnorderedSplitter::TSeqIdList |
Definition at line 76 of file unordered_spliter.hpp.
|
private |
Definition at line 92 of file unordered_spliter.hpp.
|
private |
Definition at line 96 of file unordered_spliter.hpp.
|
inline |
Definition at line 74 of file unordered_spliter.hpp.
void CUnorderedSplitter::CombineAlignments | ( | const TSeqAlignList & | SourceAligns, |
TSeqAlignList & | MergedAligns | ||
) |
Definition at line 150 of file unordered_spliter.cpp.
References ERR_POST, CSeq_align_Base::eType_disc, Info(), CRef< C, Locker >::IsNull(), ITERATE, NON_CONST_ITERATE, CSeq_align_Base::SetSegs(), CSeq_align_Base::SetType(), x_FixAlignment(), x_IsAllGap(), x_MakeAlignmentsUnique(), x_SortAlignSet(), and x_StripDistantAlignments().
Referenced by CSplitSeqAlignMerger::GenerateAlignments().
void CUnorderedSplitter::GetSplitIdList | ( | TSeqIdList & | SplitIdList | ) |
Definition at line 198 of file unordered_spliter.cpp.
References ITERATE, and m_PartsMap.
Referenced by CSplitSeqAlignMerger::GenerateAlignments().
|
staticprivate |
Definition at line 502 of file unordered_spliter.cpp.
Referenced by x_SortAlignSet().
void CUnorderedSplitter::SplitId | ( | const objects::CSeq_id & | Id, |
TSeqIdList & | SplitIds | ||
) |
Definition at line 100 of file unordered_spliter.cpp.
References CSeq_id::AsFastaString(), CSeq_inst_Base::CanGetExt(), CBioseq_Handle::CanGetInst(), CSeq_inst_Base::CanGetSeq_data(), ERR_POST, Error(), CSeq_inst_Base::GetExt(), CBioseq_Handle::GetInst(), CSeq_ext_Base::IsDelta(), m_Scope, x_SplitDeltaExt(), and x_SplitSeqData().
Referenced by CSplitSeqIdListSet::AddSeqId().
void CUnorderedSplitter::SplitLoc | ( | const objects::CSeq_loc & | Loc, |
TSeqIdList & | SplitIds | ||
) |
Definition at line 123 of file unordered_spliter.cpp.
References CSeq_inst_Base::CanGetExt(), CBioseq_Handle::CanGetInst(), CSeq_inst_Base::CanGetSeq_data(), ERR_POST, Error(), CSeq_inst_Base::GetExt(), CBioseq_Handle::GetInst(), CSeq_ext_Base::IsDelta(), Loc, m_Scope, x_SplitDeltaExt(), and x_SplitSeqData().
Referenced by CSplitSeqLocListSet::AddSeqLoc().
|
private |
Definition at line 471 of file unordered_spliter.cpp.
References CSeq_id::AsFastaString(), CSerialObject::Assign(), CSeq_interval_Base::GetFrom(), CSeq_interval_Base::GetId(), CSeq_align::GetSeq_id(), CRef< C, Locker >::IsNull(), ITERATE, m_PartsMap, CDense_seg::OffsetRow(), CDense_seg_Base::SetIds(), CSeq_align_Base::SetScore(), and CSeq_align_Base::SetSegs().
Referenced by CombineAlignments().
Definition at line 637 of file unordered_spliter.cpp.
References CDense_seg_Base::GetDim(), CDense_seg_Base::GetNumseg(), and CDense_seg_Base::GetStarts().
Referenced by CombineAlignments(), x_MakeAlignmentPairUnique(), x_MakeAlignmentsUnique(), and x_TrimRows().
|
private |
Definition at line 547 of file unordered_spliter.cpp.
References CDense_seg::Assign(), CDense_seg::Compact(), CDense_seg::FillUnaligned(), CSeq_align_Base::C_Segs::GetDenseg(), COpenRange< Position >::GetLength(), CSeq_align_Base::GetSegs(), CSeq_align::GetSeqRange(), CRef< C, Locker >::IsNull(), CDense_seg::RemovePureGapSegs(), CSeq_align_Base::SetSegs(), CDense_seg::TrimEndGaps(), x_IsAllGap(), and x_TrimRows().
Referenced by x_MakeAlignmentsUnique().
|
private |
Definition at line 528 of file unordered_spliter.cpp.
References x_IsAllGap(), and x_MakeAlignmentPairUnique().
Referenced by CombineAlignments().
|
private |
Definition at line 515 of file unordered_spliter.cpp.
References copy(), s_SortByQueryStart(), and ct::sort().
Referenced by CombineAlignments().
|
private |
Definition at line 208 of file unordered_spliter.cpp.
References CSeq_id::AsFastaString(), CSeq_literal_Base::CanGetSeq_data(), COpenRange< Position >::CombineWith(), eExtreme_Positional, COpenRange< Position >::Empty(), eNa_strand_plus, CDelta_ext_Base::Get(), CSeq_ext_Base::GetDelta(), CSeq_inst_Base::GetExt(), CRange_Base::GetFrom(), CSeq_interval_Base::GetFrom(), CBioseq_Base::GetInst(), CBioseq_Handle::GetInst(), CSeq_literal_Base::GetLength(), COpenRange< Position >::GetLength(), CDelta_seq_Base::GetLiteral(), CDelta_seq_Base::GetLoc(), CSeq_inst_Base::GetMol(), CSeq_inst_Base::GetRepr(), CSeq_literal_Base::GetSeq_data(), CSeq_loc::GetStart(), CSeq_loc::GetStop(), CRange_Base::GetTo(), CSeq_interval_Base::GetTo(), COpenRange< Position >::IntersectionWith(), IsGap(), CSeq_data_Base::IsGap(), CDelta_seq_Base::IsLiteral(), CDelta_seq_Base::IsLoc(), ITERATE, m_PartsMap, m_Scope, COpenRange< Position >::NotEmpty(), NStr::ReplaceInPlace(), CRef< C, Locker >::Reset(), CRange_Base::SetFrom(), CSeq_interval_Base::SetFrom(), CSeq_interval_Base::SetId(), CBioseq_Base::SetId(), CBioseq_Base::SetInst(), COpenRange< Position >::SetLength(), CSeq_id_Base::SetLocal(), CObject_id_Base::SetStr(), CSeq_interval_Base::SetStrand(), CSeq_interval_Base::SetTo(), and NStr::UInt8ToString().
Referenced by SplitId(), and SplitLoc().
|
private |
Definition at line 355 of file unordered_spliter.cpp.
References CSeq_id::AsFastaString(), CBioseq_Handle::eCoding_Iupac, COpenRange< Position >::Empty(), eNa_strand_plus, CRange_Base::GetFrom(), CSeq_interval_Base::GetFrom(), CBioseq_Handle::GetInst(), CSeq_interval::GetLength(), CSeq_inst_Base::GetMol(), CSeq_inst_Base::GetRepr(), CSeqVector::GetSeqData(), CBioseq_Handle::GetSeqVector(), CRange_Base::GetTo(), CSeq_interval_Base::GetTo(), COpenRange< Position >::IntersectionWith(), m_PartsMap, m_Scope, COpenRange< Position >::NotEmpty(), NStr::ReplaceInPlace(), CRange_Base::SetFrom(), CSeq_interval_Base::SetFrom(), CSeq_interval_Base::SetId(), CBioseq_Base::SetId(), CBioseq_Base::SetInst(), CSeq_id_Base::SetLocal(), CObject_id_Base::SetStr(), CSeq_interval_Base::SetStrand(), CRange_Base::SetTo(), CSeq_interval_Base::SetTo(), CSeqVector::size(), and NStr::UInt8ToString().
Referenced by SplitId(), and SplitLoc().
|
private |
Definition at line 649 of file unordered_spliter.cpp.
References CRange_Base::GetFrom(), CRange_Base::GetTo(), ITERATE, s_CalcDevs(), s_CalcMean(), and s_CalcStdDev().
Referenced by CombineAlignments().
|
private |
Definition at line 587 of file unordered_spliter.cpp.
References CDense_seg::Assign(), CDense_seg::ExtractSlice(), CRange_Base::GetFrom(), CDense_seg::GetSeqRange(), CRange_Base::GetTo(), COpenRange< Position >::IntersectionWith(), COpenRange< Position >::NotEmpty(), CRange_Base::SetFrom(), CDense_seg_Base::SetLens(), CDense_seg_Base::SetNumseg(), CDense_seg_Base::SetStarts(), CDense_seg_Base::SetStrands(), CRange_Base::SetTo(), and x_IsAllGap().
Referenced by x_MakeAlignmentPairUnique().
|
private |
Definition at line 93 of file unordered_spliter.hpp.
Referenced by GetSplitIdList(), x_FixAlignment(), x_SplitDeltaExt(), and x_SplitSeqData().
|
private |
Definition at line 90 of file unordered_spliter.hpp.
Referenced by SplitId(), SplitLoc(), x_SplitDeltaExt(), and x_SplitSeqData().
|
private |
Definition at line 97 of file unordered_spliter.hpp.