63 list< CRef<CSeq_entry> > se_list;
65 for(
size_t i = 0;
i < queries.
Size();
i++) {
76 se_list.push_back(se);
80 if ( !se_list.empty() ) {
94 list< CRef<CSeq_entry> > se_list;
97 if ( !
query->seqloc->GetId() ) {
101 query->scope->GetBioseqHandle(*
query->seqloc->GetId()).GetBioseqCore();
106 se_list.push_back(se);
125 retval.push_back(sl);
139 for(
size_t i = 0;
i < queries.
Size();
i++) {
193 : m_Queries(queries), m_Options(opts)
200 : m_Queries(
NULL), m_QueryVector(& qv), m_Options(opts)
291 : m_QueryVector(& qv)
332 if (queries.empty()) {
336 bool found_packedint =
false;
339 if (((*itr).seqloc)->IsPacked_int())
341 found_packedint =
true;
350 if (((*itr).seqloc)->IsPacked_int())
376 : m_QueryVector(& queries)
378 if (queries.
Empty()) {
383 vector< CRef<CScope> >
386 vector< CRef<CScope> > retval;
389 retval.push_back(itr->scope);
419 retval.push_back(sl);
454 itr->ignore_strand_in_mask);
455 retval.push_back(mqr);
Definitions which are dependant on the NCBI C++ Object Manager.
Declares class to encapsulate all BLAST options.
EBlastProgramType
Defines the engine's notion of the different applications of the BLAST algorithm.
Utility function to convert internal BLAST result structures into objects::CSeq_align_set objects.
Internal auxiliary setup classes/functions for C++ BLAST APIs.
Defines BLAST error codes (user errors included)
Encapsulates ALL the BLAST algorithm's options.
Implements the object manager dependant version of the IBlastQuerySource.
bool Empty() const
Returns true if this query vector is empty.
CRef< objects::CScope > GetScope(size_type i) const
Get the scope containing a query by index.
TMaskedQueryRegions GetMaskedRegions(size_type i) const
Get the masked regions for a query by number.
size_type Size() const
Returns the number of queries found in this query vector.
vector< value_type >::size_type size_type
size_type type definition
CConstRef< objects::CSeq_loc > GetQuerySeqLoc(size_type i) const
Get the query Seq-loc for a query by index.
Provides access (not ownership) to the C structures used to configure local BLAST search class implem...
Provides access (not ownership) to the C structures used to configure local BLAST search class implem...
Collection of masked regions for a single query sequence.
CRef< objects::CPacked_seqint > ConvertToCPacked_seqint() const
Converts this object to a CPacked_seqint (this is the convention used to encode masking locations in ...
CRef< ILocalQueryData > x_MakeLocalQueryData(const CBlastOptions *opts)
factory method to create an ILocalQueryData, only called if the data members above are not set
BlastQueryInfo * Get() const
TSearchMessages m_Messages
Error/warning messages are stored here.
CRef< CBlastQueryVector > m_QueryVector
TMaskedQueryRegions PackedSeqLocToMaskedQueryRegions(CConstRef< objects::CSeq_loc > sloc, EBlastProgramType program, bool assume_both_strands=false)
Auxiliary function to convert a Seq-loc describing masked query regions to a TMaskedQueryRegions obje...
TSeqLocVector GetTSeqLocVector()
Retrieves the TSeqLocVector used to construct this object or a conversion of the CBlastQueryVector pr...
CRef< CBlastQueryVector > m_QueryVector
virtual BLAST_SequenceBlk * GetSequenceBlk()
Accessor for the BLAST_SequenceBlk structure.
CRef< IBlastQuerySource > m_QuerySource
virtual CConstRef< objects::CSeq_loc > GetSeqLoc(int index) const =0
Return the CSeq_loc associated with a sequence.
CObjMgr_LocalQueryData(TSeqLocVector *queries, const CBlastOptions *options)
Ctor that takes a vector of SSeqLocs.
list< CRef< objects::CSeq_loc > > TSeqLocs
Type definition for CSeq_loc set used as queries in the BLAST remote search class.
virtual size_t GetNumQueries()
Get the number of queries.
const TSeqLocVector * m_Queries
Queries, if input representation is TSeqLocVector, or NULL.
static CRef< CBioseq_set > s_TSeqLocVectorToBioseqSet(const TSeqLocVector *queries)
Produces a BioseqSet from a TSeqLocVector.
virtual size_t GetSeqLength(size_t index)
Get the length of the sequence indicated by index.
CObjMgr_RemoteQueryData(const TSeqLocVector *queries)
Construct query data from a TSeqLocVector.
TSeqLocs m_SeqLocs
Data member to cache the TSeqLocs.
CObjMgr_QueryFactory(TSeqLocVector &queries)
ctor that takes a vector of SSeqLoc
BLAST_SequenceBlk * Get() const
static IRemoteQueryData::TSeqLocs s_TSeqLocVectorToTSeqLocs(const TSeqLocVector *queries)
Produces a vector of SeqLocs from a TSeqLocVector.
virtual TSeqPos GetLength(int index) const =0
Return the length of a sequence.
CRef< objects::CBioseq_set > m_Bioseqs
Data member to cache the CBioseq_set.
static IRemoteQueryData::TSeqLocs s_QueryVectorToTSeqLocs(const CBlastQueryVector &queries)
Produces a vector of SeqLocs from a CBlastQueryVector.
TSeqLocInfoVector ExtractUserSpecifiedMasks()
Retrieve any user specified masking locations.
void Reset(BLAST_SequenceBlk *p=NULL)
TSeqLocVector m_SSeqLocVector
virtual BlastQueryInfo * GetQueryInfo()
Accessor for the BlastQueryInfo structure.
static EBlastProgramType s_GuessProgram(CConstRef< CSeq_loc > mask)
Auxiliary function to help guess the program type from a CSeq-loc.
const CBlastOptions * m_Options
virtual CRef< objects::CBioseq_set > GetBioseqSet()
Accessor for the CBioseq_set.
CRef< IRemoteQueryData > x_MakeRemoteQueryData()
factory method to create an IRemoteQueryData, only called if the data members above are not set
void Reset(BlastQueryInfo *p=NULL)
BlastQueryInfo * SafeSetupQueryInfo(const IBlastQuerySource &queries, const CBlastOptions *options)
Wrapper around SetupQueryInfo.
virtual CConstRef< CSeq_loc > GetSeq_loc(size_t index)
Get the Seq_loc for the sequence indicated by index.
virtual TSeqPos Size() const =0
Return the number of elements in the sequence container.
vector< CRef< objects::CScope > > ExtractScopes()
Retrieve the CScope objects associated with the query sequences associated with this object.
const CRef< CBlastQueryVector > m_QueryVector
Queries, if input representation is a CBlastQueryVector, or NULL.
CBLAST_SequenceBlk m_SeqBlk
Data member to cache the BLAST_SequenceBlk.
const TSeqLocVector * m_Queries
Adaptee in adapter design pattern.
BLAST_SequenceBlk * SafeSetupQueries(IBlastQuerySource &queries, const CBlastOptions *options, BlastQueryInfo *query_info, TSearchMessages &messages)
Wrapper around SetupQueries.
CBlastQueryInfo m_QueryInfo
Data member to cache the BlastQueryInfo.
virtual TSeqLocs GetSeqLocs()
Accessor for the TSeqLocs.
static CRef< CBioseq_set > s_QueryVectorToBioseqSet(const CBlastQueryVector &queries)
Produces a BioseqSet from a CBlastQueryVector.
#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.
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
void SetPacked_int(TPacked_int &v)
CBioseq_Handle GetBioseqHandle(const CSeq_id &id)
Get bioseq handle by seq-id.
TBioseqCore GetBioseqCore(void) const
Get bioseq core structure.
void Reset(void)
Reset reference object.
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 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
TSeq & SetSeq(void)
Select the variant.
TSeq_set & SetSeq_set(void)
Assign a value to Seq_set data member.
NOTE: This file contains work in progress and the APIs are likely to change, please do not rely on th...
Defines a concrete strategy for the IBlastSeqInfoSrc interface for sequence identifiers retrieval fro...
vector< TMaskedQueryRegions > TSeqLocInfoVector
Collection of masked regions for all queries in a BLAST search.
vector< SSeqLoc > TSeqLocVector
Vector of sequence locations.
Structure to hold a sequence.
The query related information.
Structure to represent a single sequence to be fed to BLAST.