: m_CreateSparse(
true)
60, m_SyncCreate(
false)
193 const CSeq_id& sid = (*it)->GetSeqId();
195handles.push_back(h);
235 _TRACE(
"Creating CSparseMultiDataSource");
265TIDToAligns align_map;
273TIDToAligns::const_iterator it = align_map.find(idh);
274 if(it == align_map.end()) {
285 ITERATE(TIDToAligns, it_map, align_map) {
286 const TAlignSet& aln_set = it_map->second;
287 if(aln_set.
size() > max_al) {
288max_al = aln_set.
size();
289max_h = it_map->first;
297 _TRACE(
"Master ID "<< s_id);
310 constTSegs& segs = align.
GetSegs();
313 switch(segs.Which()) {
314 caseTSegs::e_Denseg:
315 caseTSegs::e_Dendiag:
318 ITERATE(TSegs::TStd, it_s, segs.GetStd()) {
327 caseTSegs::e_Sparse:
328 caseTSegs::e_Spliced:
335aligns.push_back(*it);
void CreateAnchoredAlnVec(_TAlnStats &aln_stats, TAnchoredAlnVec &out_vec, const CAlnUserOptions &options)
Create anchored alignment from each seq-align in the stats.
USING_SCOPE(ncbi::objects)
Container mapping seq-aligns to vectors of participating seq-ids.
void push_back(const CSeq_align &aln)
Adding an alignment.
CConstRef< objects::CSeq_id > m_MasterId
CDataChangeNotifier::IListener * m_Listener
Try to set anchor automatically.
void GetBioseqHandles(vector< CBioseq_Handle > &handles)
bool m_CreateSparse
control alignment building
TAnchoredAlnVector m_AnchoredAlns
bool x_IsLinear(const objects::CStd_seg &seg)
returns true if CStd_seg is linear
void x_GetLinearAlignments(TAlignVector &aligns)
vector< CConstRef< objects::CSeq_align > > TAlignVector
void Init(objects::CScope &scope, const objects::CSeq_align &align)
initial data set from which an alignment will be build
virtual ~CAlnMultiDSBuilder()
TAlignVector m_OrigAligns
CAlnStats< TAlnIdMap > TAlnStats
CRef< objects::CScope > m_Scope
CRef< IAlnMultiDataSource > x_CreateSparseDataSource()
void x_PreCreateSparseDataSource()
vector< CConstRef< objects::CSeq_annot > > TAnnotVector
CRef< IAlnMultiDataSource > CreateDataSource()
CRef< IAlnMultiDataSource > x_CreateAlnVecDataSource()
CRef< TAlnStats > m_AlnStats
void x_TestAlignments()
Analyzes m_OrigAligns and decides how to build an alignment from it.
void PreCreateDataSource(bool sparse)
_TAlnIdVec::TIdVec TIdVec
Vector of ids used in all alignments.
CAlnVecMultiDataSource - implementation of IAlnMultiDataSource for CAlnVec-based alignments.
virtual void SetListener(IListener *pListener)
Subscribe a new listener.
virtual void Init(CSparseAln &align)
Template class for iteration on objects of class C (non-medifiable version)
iterator_bool insert(const value_type &val)
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
static objects::SAnnotSelector GetAnnotSelector(TAnnotFlags flags=0)
request an annotation selector for a given type
CConstRef< CSeq_id > GetSeqId(void) const
static CSeq_id_Handle GetHandle(const CSeq_id &id)
Normal way of getting a handle, works for any seq-id.
TObjectType * GetPointer(void) const THROWS_NONE
Get pointer,.
TObjectType * GetPointer(void) THROWS_NONE
Get pointer,.
void Reset(void)
Reset reference object.
void Reset(void)
Reset reference object.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
double Elapsed(void) const
Return time elapsed since first Start() or last Restart() call (in seconds).
void Start(void)
Start the timer.
const TSegs & GetSegs(void) const
Get the Segs member data.
bool IsAlign(void) const
Check if variant Align is selected.
const TData & GetData(void) const
Get the Data member data.
double value_type
The numeric datatype used by the parser.
Defines: CTimeFormat - storage class for time format.
set< CGeneModel, SAlignOrder > TAlignSet
void ExtractSeqAligns(const T &obj, vector< CConstRef< objects::CSeq_align > > &aligns)
This is the place where elements of the new Alignment Library will be collected.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4