57 #if defined(NCBI_OS_LINUX) && HAVE_MALLOC_H
88 const string& client_id ,
109 "Remote PSI-BL2SEQ is not supported");
115 db_args->GetSubjects()));
118 if (verbose_output) {
127 blast::SDataLoaderConfig
137 if (db_adapter->IsBlastDb() &&
139 (query_is_protein == db_adapter->IsProtein())) {
141 vector<string> default_dbs;
143 if (default_dbs.size() &&
144 (find(default_dbs.begin(), default_dbs.end(),
145 db_adapter->GetDatabaseName()) == default_dbs.end())) {
147 oss << db_adapter->GetDatabaseName() <<
" " << retval.
m_BlastDbName;
153 <<
"' (" << (query_is_protein ?
"protein" :
"nucleotide")
154 <<
" BLAST database)");
157 _TRACE(
"Initializing query data loader to use GenBank data loader");
165 bool is_remote_search,
176 if (is_remote_search) {
177 const bool is_protein =
181 if (search_db.
Empty()) {
204 if ( (subjects = db_args->GetSubjects(scope)) ) {
206 char* bl2seq_legacy = getenv(
"BL2SEQ_LEGACY");
220 scope->AddDataLoader(dl);
225 if (is_remote_search ) {
238 _TRACE(
"Setting " << dl <<
" priority to "
256 _TRACE(
"Registering " << retval <<
" at priority " <<
267 const string& client_id ,
270 unsigned int num_iters
286 retval.
Reset(
new blast::CExportStrategy(pssm, opts_hndl, search_db, client_id, num_iters));
288 retval.
Reset(
new blast::CExportStrategy(pssm, opts_hndl, search_db, client_id));
293 retval.
Reset(
new blast::CExportStrategy(queries, opts_hndl, search_db, client_id, num_iters));
295 retval.
Reset(
new blast::CExportStrategy(queries, opts_hndl, search_db, client_id));
303 "Remote PSI-BL2SEQ is not supported");
307 retval.
Reset(
new blast::CExportStrategy(queries, opts_hndl,
308 db_args->GetSubjects(), client_id));
325 unsigned int num_iters )
338 export_strategy->ExportSearchStrategy_ASN1(
out);
344 "Saving search strategies with gi lists is currently "
363 const TSeqPos length = (*bioseq)->GetInst().GetLength();
365 retval.push_back(
SSeqLoc(sl, subj_scope));
374 blast::CBlastAppArgs* cmdline_args)
383 }
else if ( (tbn_args =
388 string msg(
"PSSM found in saved strategy, but not supported ");
398 blast::CBlastAppArgs* cmdline_args)
417 if ((*itr)->GetId()) {
433 out.Write(**seq_entry);
439 cmdline_args->SetInputStream(tmpfile);
446 bool subject_is_protein,
447 bool is_remote_search)
460 if ( !is_remote_search ) {
461 string msg(
"Entrez query '");
462 msg += limit +
string(
"' will not be processed locally.\n");
463 msg +=
string(
"Please use the -remote option.");
464 throw runtime_error(
msg);
527 db_args->
SetSubjects(subject_factory, subj_scope, subject_is_protein);
534 blast::CBlastAppArgs* cmdline_args,
535 bool is_remote_search,
537 bool override_subject)
548 "Failed to read search strategy");
554 cmdline_args->SetOptionsHandle(opts_hndl);
556 cmdline_args->SetTask(
strategy.GetTask());
559 char* program_string = 0;
561 _TRACE(
"EBlastProgramType=" << program_string <<
" task=" <<
strategy.GetTask());
562 sfree(program_string);
567 if (override_subject) {
576 subject_is_protein, is_remote_search);
581 cmdline_args->SetBlastDatabaseArgs(db_args);
585 if (override_query) {
597 cmdline_args->GetQueryOptionsArgs()->SetRange(query_range);
603 psi_args->SetNumberOfIterations(
strategy.GetPsiNumOfIterations());
610 CNcbiIstream*
in = cmdline_args->GetImportSearchStrategyStream(args);
614 const bool is_remote_search =
616 const bool override_query = (args[
kArgQuery].HasValue() &&
622 ERR_POST(
Warning <<
"Overriding megablast BLAST DB indexed options in saved strategy");
637 blast::CBlastAppArgs* cmdline_args,
642 unsigned int num_iters )
650 cmdline_args->GetBlastDatabaseArgs(),
671 TSeqIdRanges id_ranges;
674 if ( !(*result)->HasAlignments() ) {
679 TSeqRange subj_range((*aln)->GetSeqRange(kSubjRow));
688 id_ranges[subj].push_back(subj_range);
692 ITERATE(TSeqIdRanges, itr, id_ranges) {
695 ranges.push_back(*
range);
698 _ASSERT(ids.size() == ranges.size());
708 if (
NStr::StartsWith(*name, objects::CRemoteBlastDbDataLoader::kNamePrefix)) {
732 char * pre_fetch_limit_str = getenv(
"PRE_FETCH_SEQS_LIMIT");
733 if (pre_fetch_limit_str) {
735 if(pre_fetch_limit == 0) {
738 if(pre_fetch_limit == INT_MAX){
742 for(
unsigned int i=0;
i <
results.GetNumResults();
i++) {
744 num_of_seqs +=
results[
i].GetSeqAlign()->Size();
747 if(num_of_seqs > pre_fetch_limit) {
769 vector<TSeqRange> ranges;
771 _TRACE(
"Prefetching " << ids.size() <<
" sequence lengths");
779 ERR_POST(
Warning <<
"Error fetching sequence data from BLAST databases at NCBI, "
780 "please try again later");
794 pair<double, double>
lambda, k, h;
812 list<string> failed_db;
813 for (
unsigned int i=0;
i < db.size();
i++) {
816 vector<string> dbpath;
818 path = *dbpath.begin();
821 "Cannot retrieve path to RPS database");
826 failed_db.push_back(db[
i]);
830 if(!failed_db.empty()) {
832 string all_failed =
NStr::Join(failed_db,
", ");
833 string prog_str = isRpsblast ?
"RPSBLAST":
"DELTABLAST";
834 string msg = all_failed +
" contain(s) no freq ratios " \
835 +
"needed for composition-based statistics.\n" \
836 + prog_str +
" will be run without composition-based statistics.";
849 in.setf(ios::skipws);
861 IOS_BASE::iostate orig_state =
in.rdstate();
862 IOS_BASE::fmtflags orig_flags =
in.setf(ios::skipws);
868 in.flags(orig_flags);
870 in.setstate(orig_state);
880 for(
unsigned int i=0;
i <
a.Size();
i++) {
894 "Please provide a file name for outfmt " + f_str);
920 info.SetRequest_id(
"Error");
932 #if defined(NCBI_OS_LINUX) && HAVE_MALLOC_H
967 db_name.erase(0, off+1);
984 char * mt_query_batch_env = getenv(
"BLAST_MT_QUERY_BATCH_SIZE");
985 if (mt_query_batch_env) {
991 if (task ==
"blastx-fast")
1000 string warn =
"This database is probably too large to benefit from -mt_mode=1. " \
1001 "We suggest using -mt_mode=1 only if the database is less than " \
1003 if (is_db_protein) {
1004 warn += +
" residues ";
1009 ERR_POST(
Warning << warn +
"or if the search is limited by an option such as -taxids, -taxidlist or -gilist.");
1015 string warning =
"This set of queries is too small to fully benefit from the -mt_mode=1 option. " \
1016 "The total number of letters should be at least ";
1020 warning +=
" residues";
1023 warning +=
" bases";
1025 warning +=
" per thread, and there should be at least one query of this length per thread.";
User-defined methods of the data storage class.
Data loader implementation that uses the blast databases.
Data loader implementation that uses the blast databases remotely.
void LogCmdOptions(blast::CBlastUsageReport &report, const CBlastAppArgs &args)
void CheckForFreqRatioFile(const string &rps_dbname, CRef< CBlastOptionsHandle > &opt_handle, bool isRpsblast)
static TSeqLocVector s_ConvertBioseqs2TSeqLocVector(const CBlast4_subject::TSequences &subjects)
Converts a list of Bioseqs into a TSeqLocVector.
CRef< blast::CRemoteBlast > InitializeRemoteBlast(CRef< blast::IQueryFactory > queries, CRef< blast::CBlastDatabaseArgs > db_args, CRef< blast::CBlastOptionsHandle > opts_hndl, bool verbose_output, const string &client_id, CRef< objects::CPssmWithParameters > pssm)
Initializes a CRemoteBlast instance for usage by command line BLAST binaries.
blast::SDataLoaderConfig InitializeQueryDataLoaderConfiguration(bool query_is_protein, CRef< blast::CLocalDbAdapter > db_adapter)
Initialize the data loader configuration for the query.
void SaveSearchStrategy(const CArgs &args, blast::CBlastAppArgs *cmdline_args, CRef< blast::IQueryFactory > queries, CRef< blast::CBlastOptionsHandle > opts_hndl, CRef< objects::CPssmWithParameters > pssm, unsigned int num_iters)
Save the search strategy corresponding to the current command line search.
void QueryBatchCleanup()
Clean up formatter scope and release.
static bool s_IsPrefetchFormat(blast::CFormattingArgs::EOutputFormat format_type)
string RegisterOMDataLoader(CRef< CSeqDB > db_handle)
Register the BLAST database data loader using the already initialized CSeqDB object.
static void s_ImportQueries(const CBlast4_queries &queries, CRef< blast::CBlastOptionsHandle > opts_hndl, blast::CBlastAppArgs *cmdline_args)
Import queries into command line arguments object.
CRef< CBlastAncillaryData > ExtractPssmAncillaryData(const CPssmWithParameters &pssm)
Auxiliary function to extract the ancillary data from the PSSM.
string GetSubjectFile(const CArgs &args)
Get name of subject file @parameter args arguments class [in].
bool RecoverSearchStrategy(const CArgs &args, blast::CBlastAppArgs *cmdline_args)
Recover search strategy from input file.
int GetMTByQueriesBatchSize(EProgram p, int num_threads, const string &task)
void MTByQueries_DBSize_Warning(const Int8 length_limit, bool is_db_protein)
static void s_ExportSearchStrategy(CNcbiOstream *out, CRef< blast::IQueryFactory > queries, CRef< blast::CBlastOptionsHandle > options_handle, CRef< blast::CBlastDatabaseArgs > db_args, CRef< objects::CPssmWithParameters > pssm, unsigned int num_iters)
Real implementation of search strategy extraction.
void CheckMTByQueries_QuerySize(EProgram prog, int batch_size)
static bool s_IsUsingRemoteBlastDbDataLoader()
Returns true if the remote BLAST DB data loader is being used.
void PrintErrorArchive(const CArgs &a, const list< CRef< CBlast4_error > > &msg)
Function to print blast archive with only error messages (search failed) to output stream.
static void s_ImportPssm(const CBlast4_queries &queries, CRef< blast::CBlastOptionsHandle > opts_hndl, blast::CBlastAppArgs *cmdline_args)
Import PSSM into the command line arguments object.
void InitializeSubject(CRef< blast::CBlastDatabaseArgs > db_args, CRef< blast::CBlastOptionsHandle > opts_hndl, bool is_remote_search, CRef< blast::CLocalDbAdapter > &db_adapter, CRef< objects::CScope > &scope)
Initializes the subject/database as well as its scope.
string GetCmdlineArgs(const CNcbiArguments &a)
static CRef< blast::CBlastDatabaseArgs > s_ImportSubjects(const CBlast4_subject &subj, bool subject_is_protein)
Import the subject sequences into a CBlastDatabaseArgs object.
void BlastFormatter_PreFetchSequenceData(const blast::CSearchResultSet &results, CRef< CScope > scope, blast::CFormattingArgs::EOutputFormat format_type)
This method optimize the retrieval of sequence data to scope.
void LogBlastOptions(blast::CBlastUsageReport &report, const CBlastOptions &opt)
static void s_ExtractSeqidsAndRanges(const blast::CSearchResultSet &results, CScope::TIds &ids, vector< TSeqRange > &ranges)
Extracts the subject sequence IDs and ranges from the BLAST results.
static void s_ImportSearchStrategy(CNcbiIstream *in, blast::CBlastAppArgs *cmdline_args, bool is_remote_search, bool override_query, bool override_subject)
Imports search strategy, using CImportStrategy.
bool UseXInclude(const CFormattingArgs &f, const string &s)
static CRef< blast::CBlastDatabaseArgs > s_ImportDatabase(const CBlast4_subject &subj, CBlastOptionsBuilder &opts_builder, bool subject_is_protein, bool is_remote_search)
Import the database and return it in a CBlastDatabaseArgs object.
static CRef< blast::CExportStrategy > s_InitializeExportStrategy(CRef< blast::IQueryFactory > queries, CRef< blast::CBlastDatabaseArgs > db_args, CRef< blast::CBlastOptionsHandle > opts_hndl, const string &client_id, CRef< objects::CPssmWithParameters > pssm, unsigned int num_iters)
bool IsIStreamEmpty(CNcbiIstream &in)
static bool s_PreFetchSeqs(const blast::CSearchResultSet &results, blast::CFormattingArgs::EOutputFormat format_type)
void LogQueryInfo(CBlastUsageReport &report, const CBlastInput &q_info)
Utility functions for BLAST command line applications.
ESubjectMaskingType
Define the possible subject masking types.
#define sfree(x)
Safe free a pointer: belongs to a higher level header.
Declares the CBlastOptionsBuilder class.
Boolean Blast_SubjectIsProtein(EBlastProgramType p)
Returns true if the subject is protein.
Boolean Blast_ProgramIsNucleotide(EBlastProgramType p)
Boolean Blast_QueryIsProtein(EBlastProgramType p)
Returns true if the query is protein.
EBlastProgramType
Defines the engine's notion of the different applications of the BLAST algorithm.
Declares CBlastScopeSource class to create properly configured CScope objects to invoke the BLAST dat...
EProgram
This enumeration is to evolve into a task/program specific list that specifies sets of default parame...
Int2 BlastNumber2Program(EBlastProgramType number, char **program)
Return string name for program given a number.
const Int4 k_MinBatchSize
Int4 GetBatchSize(Int4 hits=-1)
const Int4 k_MaxBatchSize
CBlast4_get_request_info_request –.
CBlast4_get_search_results_reply –.
Class used to return ancillary data from a blast search, i.e.
Base command line argument class for a generic BLAST command line binary.
CRef< CBlastDatabaseArgs > GetBlastDatabaseArgs() const
Get the BLAST database arguments.
CRef< CFormattingArgs > GetFormattingArgs() const
Get the formatting options.
Argument class to collect database/subject arguments.
static bool HasBeenSet(const CArgs &args)
Auxiliary function to determine if the database/subject sequence has been set.
CRef< CSearchDatabase > GetSearchDatabase() const
Retrieve the search database information.
static const int kSubjectsDataLoaderPriority
The default priority for subjects, should be used for subjects/databases.
void SetSubjects(CRef< IQueryFactory > subjects, CRef< CScope > scope, bool is_protein)
Sets the subject sequences.
void SetSearchDatabase(CRef< CSearchDatabase > search_db)
Set the search database information.
static TRegisterLoaderInfo RegisterInObjectManager(CObjectManager &om, const string &dbname="nr", const EDbType dbtype=eUnknown, bool use_fixed_size_slices=true, CObjectManager::EIsDefault is_default=CObjectManager::eNonDefault, CObjectManager::TPriority priority=CObjectManager::kPriority_NotSet)
static string GetLoaderNameFromArgs(CConstRef< CSeqDB > db_handle)
Defines BLAST error codes (user errors included)
Class to build CBlastOptionsHandle from blast4 ASN objects.
Encapsulates ALL the BLAST algorithm's options.
Class whose purpose is to create CScope objects which have data loaders added with different prioriti...
void AddDataLoaders(CRef< objects::CScope > scope)
Add the data loader configured in the object to the provided scope.
CRef< objects::CScope > NewScope()
Create a new, properly configured CScope.
void RevokeBlastDbDataLoader()
Removes the BLAST database data loader from the object manager.
void AddParam(EUsageParams p, int val)
FASTA-format output; see also ReadFasta in <objtools/readers/fasta.hpp>
Class to return parts of the CBlast4_request, or data associated with a CBlast4_request,...
Interface to create a BlastSeqSrc suitable for use in CORE BLAST from a a variety of BLAST database/s...
static bool HasBeenSet(const CArgs &args)
Auxiliary function to determine if the megablast database indexing options have been set.
CNcbiOstrstreamToString class helps convert CNcbiOstrstream to a string Sample usage:
NCBI C++ Object Manager dependant implementation of IQueryFactory.
Handle command line arguments for psiblast binary Programs supported: psiblast, phi-blastn,...
void SetInputPssm(CRef< objects::CPssmWithParameters > pssm)
Set the PSSM from the saved search strategy.
double GetKappaUngapped() const
double GetLambdaUngapped() const
double GetHUngapped() const
API for Remote Blast Requests.
void AddTaxIds(const set< TTaxId > &tax_ids)
void AddGi(TGi gi)
Add a new GI to the list.
static void FindVolumePaths(const string &dbname, ESeqType seqtype, vector< string > &paths, vector< string > *alias_paths=NULL, bool recursive=true, bool expand_links=true)
Find volume paths.
Uint8 GetTotalLength() const
Returns the sum of the lengths of all available sequences.
const string & GetDBNameList() const
Get list of database names.
int GetNumSeqs() const
Returns the number of sequences available.
string GetDate() const
Returns the construction date of the database.
Root class for all serialization exceptions.
Handles command line arguments for Tblastn binary.
void SetInputPssm(CRef< objects::CPssmWithParameters > pssm)
Set the PSSM from the saved search strategy.
const string kArgOutput
Output file name.
const string kArgRemote
Argument to determine whether searches should be run locally or remotely.
const string kArgUseIndex
Flag to force using or not using megablast database index.
const bool kDfltArgUseIndex
Default value for megablast database index flag.
const string kDfltArgQuery
Default value for query sequence input.
const string kArgQuery
Query sequence(s)
const string kArgSubject
Subject input file to search.
@ eNoCompositionBasedStats
Don't use composition based statistics.
std::ofstream out("events_result.xml")
main entry point for tests
void SetEntrezQueryLimitation(const string &entrez_query)
Mutator for the entrez query.
string GetDatabaseName() const
Accessor for the database name.
void SetCompositionBasedStats(ECompoAdjustModes mode)
double GetEvalueThreshold() const
void SetNegativeGiList(CSeqDBGiList *gilist)
Mutator for the negative gi list.
int GetDbFilteringAlgorithmId()
Get the database filtering algorithm ID.
bool HaveNegativeTaxidList()
Check whether a negative tax id list is specified.
CRef< CSeqDB > GetSeqDb() const
Obtain a reference to the database.
void SetVerbose(EDebugMode verb=eDebug)
Adjust the debugging level.
list< TGi > GetNegativeGiList()
Get the negative GI list.
ESubjectMaskingType GetSubjectMaskingType()
int GetHitlistSize() const
bool HaveGiList()
Check whether a GI list is specified.
CBlastOptions & SetOptions()
Returns a reference to the internal options class which this object is a handle for.
void SetClientId(const string &client_id)
Sets the client ID used by this object to send requests.
list< TTaxId > GetTaxidList()
Get the Tax list.
EBlastProgramType EProgramToEBlastProgramType(EProgram p)
Convert EProgram to EBlastProgramType.
bool HaveEntrezQuery()
Check whether an Entrez query is specified.
list< TTaxId > GetNegativeTaxidList()
Get the negative tax id list.
EBlastProgramType GetProgramType() const
Returns the CORE BLAST notion of program type.
CRef< objects::CBlast4_request > ExtractBlast4Request(CNcbiIstream &in)
Extract a Blast4-request (a.k.a.
bool HasDbFilteringAlgorithmKey()
Check whether a database filtering algorithm key is specified.
const CBlastOptions & GetOptions() const
Return the object which this object is a handle for.
list< TGi > GetGiList()
Get the GI list.
bool HasSubjectMaskingType()
Get Subject Maksing Type (soft/hard)
ECompoAdjustModes GetCompositionBasedStats() const
string Blast_ProgramNameFromType(EBlastProgramType program)
Returns a string program name, given a blast::EBlastProgramType enumeration.
void LoadSequencesToScope(objects::CScope::TIds &ids, vector< TSeqRange > &ranges, CRef< objects::CScope > &scope)
This method retrieve sequence data in bulk to scope @ids seq id list [in] @ranges seq range list [in]...
bool HaveNegativeGiList()
Check whether a negative GI list is specified.
string GetEntrezQuery()
Get the Entrez query.
void SetFilteringAlgorithm(int filt_algorithm_id)
Temporary fix for backwards compatibility with other 6.0 SCs.
string GetDbFilteringAlgorithmKey()
Get the database filtering algorithm key.
bool HasDbFilteringAlgorithmId()
Check whether a database filtering algorithm ID is specified.
EMoleculeType
Molecule of the BLAST database.
void SetGiList(CSeqDBGiList *gilist)
Mutator for the gi list.
@ eNotSupported
Feature not supported.
@ eBlastDbIsNucleotide
nucleotide
@ eBlastDbIsProtein
protein
unsigned int TSeqPos
Type for sequence locations and lengths.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
bool Exist(const string &name) const
Check existence of argument description.
#define ERR_POST(message)
Error posting with file, line number information but without error codes.
TErrCode GetErrCode(void) const
Get error code.
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
void Warning(CExceptionArgs_Base &args)
#define NCBI_RETHROW(prev_exception, exception_class, err_code, message)
Generic macro to re-throw an exception.
CNcbiOstream & AsOutputFile(EIfExists if_exists, IOS_BASE::openmode mode=IOS_BASE::out)
const string & GetFileName(void) const
Return used file name (generated or given in the constructor).
static char GetPathSeparator(void)
Get path separator symbol specific for the current platform.
@ eIfExists_Throw
You can make call of AsInputFile/AsOutputFile only once, on each following call throws CFileException...
@ eNoRemove
Do not remove file.
static CSeq_id_Handle GetHandle(const CSeq_id &id)
Normal way of getting a handle, works for any seq-id.
static int BestRank(const CRef< CSeq_id > &id)
CBioseq_Handle AddBioseq(CBioseq &bioseq, TPriority pri=kPriority_Default, EExist action=eExist_Throw)
Add bioseq, return bioseq handle.
static CRef< CObjectManager > GetInstance(void)
Return the existing object manager or create one.
CBioseq_Handle GetBioseqHandle(const CSeq_id &id)
Get bioseq handle by seq-id.
void GetRegisteredNames(TRegisteredNames &names)
Get names of all registered data loaders.
vector< string > TRegisteredNames
vector< CSeq_id_Handle > TIds
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.
int32_t Int4
4-byte (32-bit) signed integer
int64_t Int8
8-byte (64-bit) signed integer
TThisType & SetToOpen(position_type toOpen)
static TThisType GetEmpty(void)
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
IO_PREFIX::ostream CNcbiOstream
Portable alias for ostream.
IO_PREFIX::istream CNcbiIstream
Portable alias for istream.
IO_PREFIX::streampos CNcbiStreampos
Portable alias for streampos.
static string Int8ToString(Int8 value, TNumToStringFlags flags=0, int base=10)
Convert Int8 to string.
static int StringToInt(const CTempString str, TStringToNumFlags flags=0, int base=10)
Convert string to int.
static list< string > & Split(const CTempString str, const CTempString delim, list< string > &arr, TSplitFlags flags=0, vector< SIZE_TYPE > *token_pos=NULL)
Split a string using specified delimiters.
static string IntToString(int value, TNumToStringFlags flags=0, int base=10)
Convert int to string.
static string Join(const TContainer &arr, const CTempString &delim)
Join strings using the specified delimiter.
static bool StartsWith(const CTempString str, const CTempString start, ECase use_case=eCase)
Check if a string starts with a specified prefix value.
static string TruncateSpaces(const string &str, ETrunc where=eTrunc_Both)
Truncate whitespace in a string.
@ fWithCommas
Use commas as thousands separator.
C::value_type FindBestChoice(const C &container, F score_func)
Find the best choice (lowest score) for values in a container.
strategy
Block allocation strategies.
const TSequences & GetSequences(void) const
Get the variant data.
bool IsSeq_loc_list(void) const
Check if variant Seq_loc_list is selected.
bool IsDatabase(void) const
Check if variant Database is selected.
void SetResults(TResults &value)
Assign a value to Results data member.
const TDatabase & GetDatabase(void) const
Get the variant data.
void SetRequest(TRequest &value)
Assign a value to Request data member.
bool IsPssm(void) const
Check if variant Pssm is selected.
void SetBody(TBody &value)
Assign a value to Body data member.
bool IsSequences(void) const
Check if variant Sequences is selected.
list< CRef< CSeq_loc > > TSeq_loc_list
const TBioseq_set & GetBioseq_set(void) const
Get the variant data.
bool IsBioseq_set(void) const
Check if variant Bioseq_set is selected.
const TSeq_loc_list & GetSeq_loc_list(void) const
Get the variant data.
TMessages & SetMessages(void)
Assign a value to Messages data member.
const TPssm & GetPssm(void) const
Get the variant data.
list< CRef< CBioseq > > TSequences
void SetFrom(TFrom value)
Assign a value to From data member.
bool CanGetPssm(void) const
Check if it is safe to call GetPssm method.
const TPssm & GetPssm(void) const
Get the Pssm member data.
list< CRef< CSeq_align > > Tdata
const TSeq_set & GetSeq_set(void) const
Get the Seq_set member data.
list< CRef< CSeq_entry > > TSeq_set
char * dbname(DBPROCESS *dbproc)
Get name of current database.
range(_Ty, _Ty) -> range< _Ty >
std::istream & in(std::istream &in_, double &x_)
double r(size_t dimension_, const Int4 *score_, const double *prob_, double theta_)
double lambda(size_t dimMatrix_, const Int4 *const *scoreMatrix_, const double *q_)
NOTE: This file contains work in progress and the APIs are likely to change, please do not rely on th...
Main argument class for PSI-BLAST application.
Declares the CRemoteBlast class.
Declares the CImportStrategy and CExportStrategy.
static SLJIT_INLINE sljit_ins msg(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
CRef< objects::CObjectManager > om
vector< SSeqLoc > TSeqLocVector
Vector of sequence locations.
Configuration structure for the CBlastScopeSource.
bool m_UseGenbank
Use the Genbank data loader.
string m_BlastDbName
Name of the BLAST database to use (non-empty if m_UseBlastDbs is true)
void OptimizeForWholeLargeSequenceRetrieval(bool value=true)
Configures the BLAST database data loader to optimize the retrieval of *entire* large sequences.
bool m_UseBlastDbs
Use the BLAST database data loaders.
Structure to represent a single sequence to be fed to BLAST.
Main argument class for TBLASTN application.