65 int numSearches=
static_cast<int>(resultSet->GetNumQueries());
67 for (
int index=0; index<numSearches; index++)
72 for(TBlastKmerScoreVector::const_iterator iter=scores.begin(); iter != scores.end(); ++iter)
82 if (oid_v.size() == 0)
85 sort(oid_v.begin(), oid_v.end());
87 for(vector<int>::iterator iter=oid_v.begin(); iter!=oid_v.end(); ++iter)
108 vector< CConstRef<objects::CSeq_id> > seqid_vec;
109 vector< CRef<CBlastAncillaryData> > ancill_vec;
113 unsigned int num_subjects = 0;
117 if(subject_infosrc !=
NULL) {
118 num_subjects =
static_cast<unsigned int>(subject_infosrc->
Size());
121 for (index=0; index<local_query_data->
GetNumQueries(); index++)
128 seqid_vec.push_back(query_id);
130 sa_vec.push_back(tmp_align);
131 pair<double, double> tmp_pair(-1.0, -1.0);
133 ancill_vec.push_back(tmp_ancillary_data);
135 for(
unsigned int i =1;
i < num_subjects;
i++)
138 msg_vec.push_back(msg);
139 seqid_vec.push_back(query_id);
141 sa_vec.push_back(tmp_align);
143 ancill_vec.push_back(tmp_ancillary_data);
146 msg_vec.resize(seqid_vec.size());
177 blastkmer->SetGiListLimit(
m_GIList);
187 int numSearches=
static_cast<int>(resultSet->GetNumQueries());
189 for (
int index=0; index<numSearches; index++)
196 for(TQueryMessages::const_iterator iter=msg.begin(); iter != msg.end(); ++iter)
198 cerr << queryId <<
" " << (*iter)->GetMessage() <<
'\n';
203 if (scores.size() > 0)
206 results.
GetTSL(subjectTSL, scope_v[0]);
209 query_vector_temp.push_back(tsl_v[index]);
223 query_vector_temp.push_back(tsl_v[index]);
236 return search_results;
Declares the CBlastAdvancedProteinOptionsHandle class.
Declares the CBlastProteinOptionsHandle class.
Declares CBlastScopeSource class to create properly configured CScope objects to invoke the BLAST dat...
BlastSeqSrc * BlastSeqSrcFree(BlastSeqSrc *seq_src)
Frees the BlastSeqSrc structure by invoking the destructor function set by the user-defined construct...
vector< CRef< objects::CSeq_align_set > > TSeqAlignVector
Vector of Seq-align-sets.
EResultType
Specifies the style of Seq-aligns that should be built from the internal BLAST data structures.
@ eDatabaseSearch
Seq-aligns in the style of a database search.
@ eSequenceComparison
Seq-aligns in the BLAST 2 Sequence style (one alignment per query-subject pair)
vector< pair< CRef< CSeq_id >, double > > TBlastKmerScoreVector
Vector of pairs of seq-ids and scores.
Class used to return ancillary data from a blast search, i.e.
Class of optiosn for the KMEr search.
void SetNumTargetSeqs(int matches)
Sets the number of matches (subject sequences) to return.
void SetThresh(double thresh)
Set the threshold.
void SetMinHits(int minhits)
Set the minimum number of LSH hits to initiate a calculation of the Jaccard distance.
This class represents the results for one KMER search (one query).
void GetTSL(TSeqLocVector &tsl, CRef< CScope > scope) const
Get the results as a TSeqLocVector.
bool HasWarnings() const
Returns true if there are warnings among the results for this object.
TQueryMessages GetErrors(int min_severity=eBlastSevError) const
Accessor for the error/warning messsages for this query.
const TBlastKmerScoreVector & GetScores() const
Get the vector of GIs and scores for the matches.
bool HasErrors() const
Returns true if there are errors among the results for this object.
CRef< IQueryFactory > m_QueryFactory
Holds the query seqloc and scope.
CRef< CSeqDBNegativeList > m_NegGIList
Negative GIList to limit search by.
CRef< CSeqDBGiList > m_GIList
GIList to limit search by.
CRef< CBlastpKmerOptionsHandle > m_OptsHandle
Options for KMER search.
CRef< CLocalDbAdapter > m_Database
Database to search.
CRef< CSearchResultSet > Run(void)
Run a KMER and then BLAST search.
Class to perform a KMER-BLASTP search.
Encapsulates ALL the BLAST algorithm's options.
Handle to the KMER BLASTP options.
Class to perform a BLAST search on local BLAST databases Note that PHI-BLAST can be run using this cl...
NCBI C++ Object Manager dependant implementation of IQueryFactory.
Search Results for All Queries.
Uint8 GetTotalLength() const
Returns the sum of the lengths of all available sequences.
bool SeqidToOid(const CSeq_id &seqid, int &oid) const
Translate a Seq-id to any matching OID.
CRef< CBioseq > GetBioseq(int oid, TGi target_gi=ZERO_GI, const CSeq_id *target_seq_id=NULL) const
Get a CBioseq for a sequence.
void SetNumberOfThreads(int num_threads, bool force_mt=false)
Setting the number of threads.
bool GiToOid(TGi gi, int &oid) const
Translate a GI to an OID.
Implementation of the IBlastSeqInfoSrc interface to encapsulate retrieval of sequence identifiers and...
Abstract base class to encapsulate retrieval of sequence identifiers.
Class for the messages for an individual query sequence.
typedef for the messages for an entire BLAST search, which could be comprised of multiple query seque...
virtual CConstRef< objects::CSeq_loc > GetSeq_loc(size_t index)=0
Get the Seq_loc for the sequence indicated by index.
string GetDatabaseName() const
Returns the database name if appropriate, else kEmptyStr for subject sequences.
const_iterator begin() const
Returns const_iterator to beginning of container, provided to facilitate STL-style iteration.
void SetDbLength(Int8 len)
Sets DbLength.
int GetCandidateSeqs() const
Gets the max number of candidate matches to process with BLAST.
Int8 GetDbLength() const
Returns DbLength.
TSeqLocVector GetTSeqLocVector()
Retrieves the TSeqLocVector used to construct this object or a conversion of the CBlastQueryVector pr...
int GetMinHits() const
Returns the number of hits to initiate calculation of Jaccard distance.
CRef< CSearchResultSet > Run()
Executes the search.
CRef< ILocalQueryData > MakeLocalQueryData(const CBlastOptions *opts)
Creates and caches an ILocalQueryData.
bool IsBlastDb() const
Returns true if this object represents a BLAST database.
BlastSeqSrc * MultiSeqBlastSeqSrcInit(TSeqLocVector &seq_vector, EBlastProgramType program, bool dbscan_mode=false)
Initialize the sequence source structure.
string GetQueryId() const
Get the query id as a string.
const CBlastOptions & GetOptions() const
Return the object which this object is a handle for.
IBlastSeqInfoSrc * MakeSeqInfoSrc()
Retrieves or constructs the IBlastSeqInfoSrc.
vector< value_type >::iterator iterator
iterator type definition
virtual size_t GetNumQueries()=0
Get the number of queries.
virtual size_t Size() const =0
Returns the size of the underlying container of sequences.
void push_back(value_type &element)
Add a value to the back of this container.
vector< CRef< objects::CScope > > ExtractScopes()
Retrieve the CScope objects associated with the query sequences associated with this object.
const_iterator end() const
Returns const_iterator to end of container, provided to facilitate STL-style iteration.
double GetThresh() const
Returns threshold for Jaccard distance (range: 0-1)
bool IsDbScanMode() const
Returns true if this is not a database but is database scanning mode.
CBioseq_Handle AddBioseq(CBioseq &bioseq, TPriority pri=kPriority_Default, EExist action=eExist_Throw)
Add bioseq, return bioseq handle.
TObjectType * GetPointer(void) THROWS_NONE
Get pointer,.
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.
TGi GetGi(void) const
Get the variant data.
bool IsGi(void) const
Check if variant Gi is selected.
CRef< CSearchResultSet > s_MakeEmptyResults(CRef< IQueryFactory > qf, const CBlastOptions &opts, CRef< CLocalDbAdapter > dbAdapter, TSearchMessages &msg_vec)
static void s_GetSequencesIntoScope(CRef< CBlastKmerResultsSet > resultSet, CRef< CScope > scope, CRef< CSeqDB > seqdb)
Places all the needed subject sequences into a scope.
void s_AddNewResultSet(CRef< CSearchResultSet > resultSet, CRef< CSearchResultSet > myResultSet)
Main class to perform a BLAST search on the local machine.
constexpr auto sort(_Init &&init)
Defines the CNcbiApplication and CAppException classes for creating NCBI applications.
NOTE: This file contains work in progress and the APIs are likely to change, please do not rely on th...
Defines BLAST database access classes.
Defines a concrete strategy for the IBlastSeqInfoSrc interface for sequence identifiers retrieval fro...
Implementation of the BlastSeqSrc interface for a vector of sequence locations.
vector< SSeqLoc > TSeqLocVector
Vector of sequence locations.
Complete type definition of Blast Sequence Source ADT.