use_fixed_size_slices,
51: m_SIH(idh), m_BlastDb(db), m_OID(oid),
52m_UseFixedSizeSlices(use_fixed_size_slices),
53m_SliceSize(slice_size)
56m_Length = m_BlastDb.GetSeqLength(m_OID);
66bioseq->
SetInst().SetLength(m_Length);
72m_TSE->SetSeq(*bioseq);
81 if( blast_deflines.
Empty() ) {
85blast_deflines->
Set()) {
86 if(! (*one_defline)->CanGetSeqid()) {
90(*one_defline)->SetSeqid()) {
91retval.push_back(*seqid);
141 if((end - pos) > slice_size) {
142end = pos + slice_size;
146dseq->SetLiteral().SetLength(end - pos);
147 delta.push_back(dseq);
168loc_set.push_back(loc);
176chunks.push_back(chunk);
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
#define kSliceGrowthFactor
When fixed size slices are not used, each subsequent slice grows its size by this factor.
@ kRmtSequenceSliceSize
Same as above, but used for fetching sequences from remote BLAST databases.
@ kFastSequenceLoadSize
If sequence is shorter than this size, it will not be split and it will be loaded full as soon as its...
CRef< CSeq_literal > CreateSeqDataChunk(IBlastDbAdapter &blastdb, int oid, TSeqPos begin, TSeqPos end)
Creates a chunk that corresponds to a given OID and its beginning and ending offsets.
static CBioseq::TId s_ExtractSeqIds(const CBioseq &bioseq)
Defines the CCachedSequence class.
const CSeq_id * GetFirstId() const
Manages a TSE and its subordinate chunks for all implementations of the IBlastDbAdapter interface.
void RegisterIds(CBlastDbDataLoader::TIdMap &idmap)
Add this sequence's identifiers to a lookup table held by the data loader.
TSeqPos m_SliceSize
Specifies the slice size for splitting the sequence data.
vector< CRef< CTSE_Chunk_Info > > TCTSE_Chunk_InfoVector
A list of 'chunk' objects, generic sequence related data elements.
bool m_UseFixedSizeSlices
Determines whether sequences should be fetched in fixed size slices or in incrementally larger sizes.
CSeq_id_Handle m_SIH
SeqID handle.
CRef< CSeq_entry > m_TSE
The Seq entry we handle.
void SplitSeqData(TCTSE_Chunk_InfoVector &chunks)
Load or split the sequence data chunks.
void x_AddSplitSeqChunk(TCTSE_Chunk_InfoVector &chunks, const CSeq_id_Handle &id, TSeqPos begin, TSeqPos end)
Add a chunk of sequence data.
int m_OID
Locates this sequence within m_BlastDb.
TSeqPos m_Length
Sequence length in bases.
IBlastDbAdapter & m_BlastDb
Database reference.
void x_AddFullSeq_data(void)
Add an the entire sequence data to this object's TSE as raw data in its Seq-data field.
static CRef< CBlast_def_line_set > ExtractBlastDefline(const CBioseq &bioseq)
Extract a Blast-def-line-set object from a Bioseq retrieved by CSeqDB.
vector< TLocation > TLocationSet
CRange< TSeqPos > TLocationRange
void x_AddSeq_data(const TLocationSet &location)
pair< TLocationId, TLocationRange > TLocation
Interface that provides a common interface to retrieve sequence data from local vs.
virtual CRef< CSeq_data > GetSequence(int oid, int begin=0, int end=0)=0
Get all or part of the sequence data as a Seq-data object.
unsigned int TSeqPos
Type for sequence locations and lengths.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
static CSeq_id_Handle GetHandle(const CSeq_id &id)
Normal way of getting a handle, works for any seq-id.
bool NotEmpty(void) const THROWS_NONE
Check if CRef is not empty â pointing to an object and has a non-null value.
bool Empty(void) const THROWS_NONE
Check if CRef is empty â not pointing to any object, which means having a null value.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define BEGIN_SCOPE(ns)
Define a new scope.
list< CRef< CSeq_id > > TSeqid
Tdata & Set(void)
Assign a value to data member.
list< CRef< CBlast_def_line > > Tdata
bool IsSeq(void) const
Check if variant Seq is selected.
TSeq & SetSeq(void)
Select the variant.
void SetLength(TLength value)
Assign a value to Length data member.
TId & SetId(void)
Assign a value to Id data member.
void SetSeq_data(TSeq_data &value)
Assign a value to Seq_data data member.
void SetExt(TExt &value)
Assign a value to Ext data member.
list< CRef< CSeq_id > > TId
void SetInst(TInst &value)
Assign a value to Inst data member.
void SetRepr(TRepr value)
Assign a value to Repr data member.
list< CRef< CDelta_seq > > Tdata
@ eRepr_delta
sequence made by changes (delta) to others
@ eRepr_raw
continuous sequence
@ eMol_na
just a nucleic acid
Int4 delta(size_t dimension_, const Int4 *score_)
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