51 if (seqv.size() == 0) {
53 "Empty sequence vector for id and length retrieval");
65 "Index out of range for id retrieval");
68 list < CRef<CSeq_id> > seqid_list;
75 seqid_list.push_back(seqid_ref);
83 "Index out of range for Seq-loc retrieval");
92 "Index out of range for length retrieval");
111 const vector <TSeqRange>& target_ranges,
117 for (
size_t ir=0; ir< target_ranges.size(); ir++) {
121 retval.push_back(sli);
134 vector<TSeqRange> ranges;
135 ranges.push_back(target_range);
136 return GetMasks(index, ranges, retval);
140 const vector<TSeqRange>& target_ranges,
146 if (
mask.Empty() || target_ranges.empty()) {
152 target_ranges, kFrame, retval);
153 }
else if (
mask->IsPacked_int()) {
159 "Type of mask not supported");
162 return (retval.empty() ?
false :
true);
Declares the BLAST exception class.
Defines BLAST error codes (user errors included)
structure for seqloc info
Implementation of the IBlastSeqInfoSrc interface to encapsulate retrieval of sequence identifiers and...
Collection of masked regions for a single query sequence.
TSeqLocVector m_SeqVec
Vector of subject sequence locations to get information from.
virtual bool GetMasks(Uint4 index, const TSeqRange &target_range, TMaskedSubjRegions &retval) const
Retrieves the subject masks for the corresponding index.
virtual Uint4 GetLength(Uint4 index) const
Retrieve sequence length given its index in the vector.
static void s_SeqIntervalToSeqLocInfo(CRef< CSeq_interval > interval, const vector< TSeqRange > &target_ranges, const CSeqLocInfo::ETranslationFrame frame, TMaskedSubjRegions &retval)
virtual size_t Size() const
Returns the size of the underlying container of sequences.
virtual ~CSeqVecSeqInfoSrc()
Destructor.
virtual list< CRef< objects::CSeq_id > > GetId(Uint4 index) const
Retrieve a sequence identifier given its index in the vector.
virtual bool HasGiList() const
Is the subject restricted by a GI list? (Always returns false).
virtual CConstRef< objects::CSeq_loc > GetSeqLoc(Uint4 index) const
Method to retrieve the sequence location given its ordinal number.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
const CSeq_id & GetId(const CSeq_loc &loc, CScope *scope)
If all CSeq_ids embedded in CSeq_loc refer to the same CBioseq, returns the first CSeq_id found,...
TSeqPos GetLength(const CSeq_id &id, CScope *scope)
Get sequence length if scope not null, else return max possible TSeqPos.
void Reset(void)
Reset reference object.
uint32_t Uint4
4-byte (32-bit) unsigned integer
bool IntersectingWith(const TThisType &r) const
static TThisType GetEmpty(void)
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define USING_SCOPE(ns)
Use the specified namespace.
#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_interval > > Tdata
TFrom GetFrom(void) const
Get the From member data.
TTo GetTo(void) const
Get the To member data.
Defines a concrete strategy for the IBlastSeqInfoSrc interface for sequence identifiers retrieval fro...
vector< SSeqLoc > TSeqLocVector
Vector of sequence locations.