73 #ifndef SKIP_DOXYGEN_PROCESSING
89 ddc.
Log(
"dust_level", dustOptions->
level);
90 ddc.
Log(
"dust_window", dustOptions->
window);
91 ddc.
Log(
"dust_linker", dustOptions->
linker);
96 ddc.
Log(
"seg_window", segOptions->
window);
97 ddc.
Log(
"seg_locut", segOptions->
locut);
98 ddc.
Log(
"seg_hicut", segOptions->
hicut);
145 ddc.
Log(prefix+
string(
"length_adjustment"),
156 ddc.
SetFrame(
"CLookupTableOptions");
178 ddc.
SetFrame(
"BlastInitialWordOptions");
188 ddc.
SetFrame(
"CBlastInitialWordParameters");
205 ddc.
SetFrame(
"CBlastExtensionOptions");
218 ddc.
SetFrame(
"CBlastExtensionParameters");
229 ddc.
SetFrame(
"CBlastHitSavingOptions");
246 ddc.
Log(
"hsp_filt_opt->best_hit_stage",
249 ddc.
Log(
"hsp_filt_opt->best_hit->overhang",
251 ddc.
Log(
"hsp_filt_opt->best_hit->score_edge",
254 ddc.
Log(
"hsp_filt_opt->culling_stage",
257 ddc.
Log(
"hsp_filt_opt->culling_opts->max_hits",
265 ddc.
SetFrame(
"CBlastHitSavingParameters");
287 ddc.
SetFrame(
"CBlastGapAlignStruct");
296 ddc.
SetFrame(
"CBlastEffectiveLengthsOptions");
312 ddc.
SetFrame(
"CBlastEffectiveLengthsParameters");
345 ddc.
SetFrame(
"CBlastScoringOptions");
363 ddc.
SetFrame(
"CBlastScoringParameters");
378 ddc.
SetFrame(
"CBlastDatabaseOptions");
416 ddc.
SetFrame(
"CPSIDiagnosticsRequest");
422 ddc.
Log(
"weighted_residue_frequencies",
432 ddc.
SetFrame(
"CPSIDiagnosticsResponse");
454 ddc.
SetFrame(
"CBlastSeqSrcIterator");
458 string iterator_type;
460 case eOidList: iterator_type =
"oid_list";
break;
461 case eOidRange: iterator_type =
"oid_range";
break;
465 ddc.
Log(
"itr_type", iterator_type);
503 ddc.
Log(
"context", index);
505 seqloc; seqloc = seqloc->
next) {
506 ddc.
Log(
"left", seqloc->ssr->left);
507 ddc.
Log(
"right", seqloc->ssr->right);
520 ddc.
Log(
"left",
tmp->ssr->left);
521 ddc.
Log(
"right",
tmp->ssr->right);
548 _ASSERT(slp->IsInt() || slp->IsPacked_int() || slp->IsMix());
555 BlastSeqLocNew(&retval, slp->GetInt().GetFrom(), slp->GetInt().GetTo());
556 }
else if (slp->IsPacked_int()) {
561 (*itr)->GetFrom(), (*itr)->GetTo());
563 }
else if (slp->IsMix()) {
565 if ((*itr)->IsInt()) {
569 (*itr)->GetInt().GetFrom(),
570 (*itr)->GetInt().GetTo());
571 }
else if ((*itr)->IsPnt()) {
575 (*itr)->GetPnt().GetPoint(),
576 (*itr)->GetPnt().GetPoint());
581 "Unsupported CSeq_loc type");
615 retval =
new Uint1[nconv];
616 }
catch (
const bad_alloc&) {
631 if ( !genetic_code ) {
665 if (valid_tasks.
empty()) {
669 if (valid_tasks.
find(task) == valid_tasks.
end()) {
671 os <<
"'" << task <<
"' is not a supported task";
680 case eBlastn: retval.assign(
"blastn");
break;
681 case eMegablast: retval.assign(
"megablast");
break;
683 case eBlastp: retval.assign(
"blastp");
break;
684 case eBlastx: retval.assign(
"blastx");
break;
685 case eTblastn: retval.assign(
"tblastn");
break;
686 case eTblastx: retval.assign(
"tblastx");
break;
687 case eRPSBlast: retval.assign(
"rpsblast");
break;
688 case eRPSTblastn: retval.assign(
"rpstblastn");
break;
689 case ePSIBlast: retval.assign(
"psiblast");
break;
690 case ePSITblastn: retval.assign(
"psitblastn");
break;
691 case ePHIBlastp: retval.assign(
"phiblastp");
break;
692 case ePHIBlastn: retval.assign(
"phiblastn");
break;
693 case eDeltaBlast: retval.assign(
"deltablast");
break;
694 case eVecScreen: retval.assign(
"vecscreen");
break;
695 case eMapper: retval.assign(
"mapr2g");
break;
697 cerr <<
"Invalid EProgram value: " << (
int)p << endl;
759 _ASSERT( !program_name.empty() );
761 string lowercase_program_name(program_name);
762 lowercase_program_name =
NStr::ToLower(lowercase_program_name);
775 }
else if (lowercase_program_name ==
"blastx") {
777 }
else if (lowercase_program_name ==
"tblastn") {
779 }
else if (lowercase_program_name ==
"tblastx") {
781 }
else if (lowercase_program_name ==
"rpsblast") {
783 }
else if (lowercase_program_name ==
"rpstblastn") {
785 }
else if (lowercase_program_name ==
"megablast") {
787 }
else if (lowercase_program_name ==
"psiblast") {
789 }
else if (lowercase_program_name ==
"psitblastn") {
791 }
else if (lowercase_program_name ==
"dc-megablast") {
793 }
else if (lowercase_program_name ==
"deltablast") {
795 }
else if (lowercase_program_name ==
"vecscreen") {
799 }
else if (lowercase_program_name ==
"mapper") {
801 }
else if (lowercase_program_name ==
"mapr2g") {
803 }
else if (lowercase_program_name ==
"mapr2r") {
805 }
else if (lowercase_program_name ==
"mapg2g") {
809 "Program type '" + program_name +
"' not supported");
815 char* program_string(0);
817 string retval(program_string);
818 sfree(program_string);
825 template <
class Position>
829 if (target.
Empty()) {
830 throw std::runtime_error(
"Target range is empty");
852 static pair<BlastSeqLoc*, bool>
856 _ASSERT(query_index*kNumContexts < (
unsigned int)
mask->total_size);
858 unsigned int context_index(query_index * kNumContexts);
861 bool needs_reversing(
false);
864 if ( !(core_seqloc =
mask->seqloc_array[context_index++])) {
865 core_seqloc =
mask->seqloc_array[context_index];
866 needs_reversing =
true;
868 return make_pair(core_seqloc, needs_reversing);
878 const TSeqRange kTarget((*query_interval)->GetFrom(),
879 (*query_interval)->GetTo());
884 TSeqRange masked_range(loc->ssr->left, loc->ssr->right);
888 seqint->
SetId().Assign((*query_interval)->GetId());
893 query_masks.push_back(seqlocinfo);
896 if (loc_aux.second) {
897 reverse(query_masks.begin(), query_masks.end());
899 retval.push_back(query_masks);
905 const objects::CPacked_seqint& queries,
913 if (query_intervals.size() !=
mask->total_size/kNumContexts) {
914 string msg =
"Blast_GetSeqLocInfoVector: number of query ids " +
916 " not equal to number of queries in mask " +
926 unsigned int qindex(0);
929 const TSeqRange kTarget((*query_interval)->GetFrom(),
930 (*query_interval)->GetTo());
932 for (
unsigned int index = 0; index < kNumContexts; index++) {
935 for ( ; loc; loc = loc->
next) {
941 string msg(
"Conversion from context to frame failed ");
947 seqint->
SetId().Assign((*query_interval)->GetId());
952 query_masks.push_back(seqloc_info);
956 mask_v.push_back(query_masks);
989 if ((*this).empty()) {
994 copy(other.begin(), other.end(), back_inserter(*
this));
1004 ITERATE(vector<TQueryMessages>, qm, *
this) {
1005 if ( !qm->empty() ) {
1016 ITERATE(vector<TQueryMessages>, qm, *
this) {
1021 retval += (*msg)->GetMessage() +
" ";
1035 for (
size_t i = 0;
i < other.size();
i++) {
1050 TQueryMessages::iterator new_end =
1052 sm->erase(new_end, sm->end());
1058 const string & message)
1065 query_messages->push_back(sm);
1074 if (
input.empty()) {
1077 retval.
Reset(
new objects::CBioseq_set);
1080 if (itr->seqloc->GetId()) {
1082 itr->scope->GetBioseqHandle(*itr->seqloc->GetId());
1086 retval->SetSeq_set().push_back(seq_entry);
1096 bool retval =
false;
1131 if (ranges[
i].GetFrom() > ranges[
i].GetToOpen()) {
1132 TSeqPos length = it->GetBioseqLength();
1133 interval.
SetFrom(length - ranges[
i].GetFrom());
1134 interval.
SetTo(length - ranges[
i].GetTo());
1136 interval.
SetFrom(ranges[
i].GetFrom());
1137 interval.
SetTo(ranges[
i].GetTo());
1140 delta.Set().push_back(seq);
1151 _TRACE(
"Fetching " << ids.size() <<
" sequences");
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.
Contains C++ wrapper classes to structures in algo/blast/core as well as some auxiliary functions to ...
Auxiliary functions for BLAST.
#define sfree(x)
Safe free a pointer: belongs to a higher level header.
BlastSeqLoc * BlastSeqLocNew(BlastSeqLoc **head, Int4 from, Int4 to)
Create and initialize a new sequence interval.
EBlastSeverity
Blast error message severities .
const int kBlastMessageNoContext
Declared in blast_message.h as extern const.
#define BLAST_GENETIC_CODE
Default genetic code for query and/or database.
Declares the CBlastOptionsHandle and CBlastOptionsFactory classes.
EBlastProgramType
Defines the engine's notion of the different applications of the BLAST algorithm.
Definitions needed for implementing the BlastSeqSrc interface and low level details of the implementa...
@ eOidRange
Data is a range of contiguous ordinal ids (indices)
@ eOidList
Data is a list of discontiguous ordinal ids (indices)
Internal auxiliary setup classes/functions for C++ BLAST APIs.
EProgram
This enumeration is to evolve into a task/program specific list that specifies sets of default parame...
@ eVecScreen
Vector screening.
@ eTblastx
Translated nucl-Translated nucl.
@ eBlastn
Nucl-Nucl (traditional blastn)
@ eRPSBlast
protein-pssm (reverse-position-specific BLAST)
@ ePHIBlastn
Nucleotide PHI BLAST.
@ eBlastp
Protein-Protein.
@ ePHIBlastp
Protein PHI BLAST.
@ eMapper
Jumper alignment for mapping.
@ eTblastn
Protein-Translated nucl.
@ eMegablast
Nucl-Nucl (traditional megablast)
@ eDeltaBlast
Delta Blast.
@ ePSITblastn
PSI Tblastn.
@ eDiscMegablast
Nucl-Nucl using discontiguous megablast.
@ eRPSTblastn
nucleotide-pssm (RPS blast with translated query)
@ eBlastx
Translated nucl-Protein.
Int2 BlastNumber2Program(EBlastProgramType number, char **program)
Return string name for program given a number.
Int1 BLAST_ContextToFrame(EBlastProgramType prog_number, Uint4 context_number)
This function translates the context number of a context into the frame of the sequence.
Defines BLAST error codes (user errors included)
Wrapper class for BlastSeqLoc .
void SetFrame(const string &frame)
void Log(const string &name, const char *value, CDebugDumpFormatter::EValueType type=CDebugDumpFormatter::eValue, const string &comment=kEmptyStr)
static const string & GetNcbieaa(int id)
Error or Warning Message from search.
structure for seqloc info
static TSeqPos Convert(const CSeq_data &in_seq, CSeq_data *out_seq, CSeq_data::E_Choice to_code, TSeqPos uBeginIdx=0, TSeqPos uLength=0, bool bAmbig=false, Uint4 seed=17734276)
Collection of masked regions for a single query sequence.
Class for the messages for an individual query sequence.
string m_IdString
The query identifier.
typedef for the messages for an entire BLAST search, which could be comprised of multiple query seque...
const_iterator find(const key_type &key) const
const_iterator end() const
Defines the interface to interact with the genetic code singleton object.
Int2 GenCodeSingletonAdd(Uint4 gen_code_id, const Uint1 *gen_code_str)
Add a genetic code entry to the singleton.
void GenCodeSingletonFini()
Uninitialize the genetic code singleton.
Uint1 * GenCodeSingletonFind(Uint4 gen_code_id)
Returns the genetic code string for the requested genetic code id.
void GenCodeSingletonInit()
Initialize the genetic code singleton.
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
CRange< Position > Map(const CRange< Position > &target, const CRange< Position > &range)
BlastHitSavingOptions * m_Ptr
void Blast_GetSeqLocInfoVector(EBlastProgramType program, const objects::CPacked_seqint &queries, const BlastMaskLoc *mask, TSeqLocInfoVector &mask_v)
Converts a BlastMaskLoc internal structure into an object returned by the C++ API.
QuerySetUpOptions * m_Ptr
BlastExtensionParameters * m_Ptr
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
PSIDiagnosticsRequest * m_Ptr
BlastSeqLoc * CSeqLoc2BlastSeqLoc(const objects::CSeq_loc *slp)
Converts a CSeq_loc into a BlastSeqLoc structure used in NewBlast.
void ResetMessages(void)
Reset messgae buffer, erase all saved message.
BlastGapAlignStruct * m_Ptr
virtual void Post(const SDiagMessage &mess)
Save and post diag message.
BlastInitialWordParameters * m_Ptr
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
static void s_ConvertBlastnMasks(const CPacked_seqint::Tdata &query_intervals, const BlastMaskLoc *mask, TSeqLocInfoVector &retval)
Convert EBlastTypeBlastn CORE masks into TSeqLocInfoVector.
LookupTableOptions * m_Ptr
void AddMessageAllQueries(EBlastSeverity severity, int error_id, const string &message)
Add a message for all queries.
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
BlastScoringOptions * m_Ptr
TAutoUint1ArrayPtr FindGeneticCode(int genetic_code)
Retrieves the requested genetic code in Ncbistdaa format.
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
BlastHitSavingParameters * m_Ptr
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
~CAutomaticGenCodeSingleton()
destructor
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
static Uint4 m_RefCounter
static pair< BlastSeqLoc *, bool > s_GetBlastnMask(const BlastMaskLoc *mask, unsigned int query_index)
Return the masked locations for a given query as well as whether the linked list's elements should be...
void LoadSequencesToScope(CScope::TIds &ids, vector< TSeqRange > &ranges, CRef< CScope > &scope)
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
EBlastProgramType EProgramToEBlastProgramType(EProgram p)
Convert EProgram to EBlastProgramType.
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
BlastSeqSrcIterator * m_Ptr
PSIDiagnosticsResponse * m_Ptr
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
CRef< objects::CBioseq_set > TSeqLocVector2Bioseqs(const TSeqLocVector &input)
Convert a TSeqLocVector to a CBioseq_set.
string GetQueryId() const
Get the query id as a string.
void Combine(const TSearchMessages &other_msgs)
Combine another set of search messages with this one.
~CBlastAppDiagHandler()
Destructor.
bool IsLocalId(const objects::CSeq_id *seqid)
Returns true if the CSeq_id is a local id.
BlastExtensionOptions * m_Ptr
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
string ToString() const
Converts messages to a string, which is returned.
static set< string > GetTasks(ETaskSets choice=eAll)
Retrieve the set of supported tasks.
BlastDatabaseOptions * m_Ptr
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
string EProgramToTaskName(EProgram p)
Convert a EProgram enumeration value to a task name (as those used in the BLAST command line binaries...
BLAST_SequenceBlk * m_Ptr
void RemoveDuplicates()
Find and remove redundant messages.
unsigned int GetNumberOfContexts(EBlastProgramType p)
Returns the number of contexts for a given BLAST program.
void SetQueryId(const string &id)
Set the query id as a string.
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
BlastEffectiveLengthsOptions * m_Ptr
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
string Blast_ProgramNameFromType(EBlastProgramType program)
Returns a string program name, given a blast::EBlastProgramType enumeration.
void DoNotSaveMessages(void)
Call to turn off saving diag message, discard all saved message.
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
void Combine(const TQueryMessages &other)
Combine other messages with these.
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
EProgram ProgramNameToEnum(const std::string &program_name)
Map a string into an element of the ncbi::blast::EProgram enumeration (except eBlastProgramMax).
DEFINE_CLASS_STATIC_FAST_MUTEX(CAutomaticGenCodeSingleton::sm_Mutex)
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
void ThrowIfInvalidTask(const string &task)
Validates that the task provided is indeed a valid task, otherwise throws a CBlastException.
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
list< CRef< objects::CBlast4_error > > m_messages
BlastScoringParameters * m_Ptr
BlastEffectiveLengthsParameters * m_Ptr
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
void AddGeneticCode(int genetic_code)
Add the genetic code to the genetic code singleton.
CAutomaticGenCodeSingleton(int genetic_code=0)
Default constructor.
BlastInitialWordOptions * m_Ptr
virtual void DebugDump(CDebugDumpContext ddc, unsigned int depth) const
Define method for dumping debug information.
unsigned int TSeqPos
Type for sequence locations and lengths.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
element_type * get(void) const
Get pointer.
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
const TSeqPos kInvalidSeqPos
Define special value for invalid sequence position.
void Write(string &str, TDiagWriteFlags flags=fNone) const
Binary OR of "EDiagWriteFlags".
EDiagSev m_Severity
Severity level.
virtual void Post(const SDiagMessage &mess)=0
Post message to handler.
void SetDiagHandler(CDiagHandler *handler, bool can_delete=true)
Set the diagnostic handler using the specified diagnostic handler class.
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
const TPrim & Get(void) const
C * SerialClone(const C &src)
Create on heap a clone of the source object.
EAccessionInfo
For IdentifyAccession (below)
CBioseq_Handle AddBioseq(CBioseq &bioseq, TPriority pri=kPriority_Default, EExist action=eExist_Throw)
Add bioseq, return bioseq handle.
TBioseqHandles GetBioseqHandles(const TIds &ids)
Get bioseq handles for all ids.
vector< CBioseq_Handle > TBioseqHandles
vector< CSeq_id_Handle > TIds
const CTSE_Handle & GetTSE_Handle(void) const
Get CTSE_Handle of containing TSE.
CConstRef< CSeq_entry > GetCompleteSeq_entry(void) const
Complete and get const reference to the seq-entry.
const CSeqMap & GetSeqMap(void) const
Get sequence map.
CSeq_entry_Handle GetTopLevelEntry(void) const
Get top level Seq-entry handle.
SSeqMapSelector & SetLinkUsedTSE(bool link=true)
bool CanResolveRange(CScope *scope, const SSeqMapSelector &sel) const
void Reset(void)
Reset reference object.
uint8_t Uint1
1-byte (8-bit) unsigned integer
int32_t Int4
4-byte (32-bit) signed integer
uint32_t Uint4
4-byte (32-bit) unsigned integer
#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.
static string SizetToString(size_t value, TNumToStringFlags flags=0, int base=10)
Convert size_t to string.
static string IntToString(int value, TNumToStringFlags flags=0, int base=10)
Convert int to string.
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 Sanitize(CTempString str, TSS_Flags flags=fSS_print)
Sanitize a string, allowing only specified classes of characters.
static string & ToLower(string &str)
Convert string to lower case – string& version.
#define DEFINE_STATIC_MUTEX(id)
Define static mutex and initialize it.
void SetFrom(TFrom value)
Assign a value to From data member.
TTo GetTo(void) const
Get the To member data.
TFrom GetFrom(void) const
Get the From member data.
void SetTo(TTo value)
Assign a value to To data member.
void SetTo(TTo value)
Assign a value to To data member.
list< CRef< CSeq_interval > > Tdata
void SetId(TId &value)
Assign a value to Id data member.
list< CRef< CSeq_loc > > Tdata
void SetFrom(TFrom value)
Assign a value to From data member.
@ e_not_set
No variant selected.
bool IsNcbistdaa(void) const
Check if variant Ncbistdaa is selected.
void SetExt(TExt &value)
Assign a value to Ext data member.
void SetInst(TInst &value)
Assign a value to Inst data member.
const TNcbistdaa & GetNcbistdaa(void) const
Get the variant data.
void SetRepr(TRepr value)
Assign a value to Repr data member.
void SetMol(TMol value)
Assign a value to Mol data member.
@ eRepr_virtual
no seq data
@ e_Ncbieaa
extended ASCII 1 letter aa codes
@ e_Ncbistdaa
consecutive codes for std aas
@ eMol_not_set
> cdna = rna
unsigned int
A callback function used to compare two keys in a database.
range(_Ty, _Ty) -> range< _Ty >
constexpr auto sort(_Init &&init)
constexpr bool empty(list< Ts... >) noexcept
#define INT1_MAX
largest number represented by signed short (one byte)
Int4 delta(size_t dimension_, const Int4 *score_)
void copy(Njn::Matrix< S > *matrix_, const Njn::Matrix< T > &matrix0_)
vector< TMaskedQueryRegions > TSeqLocInfoVector
Collection of masked regions for all queries in a BLAST search.
static SLJIT_INLINE sljit_ins msg(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
Definition of SSeqLoc structure.
vector< SSeqLoc > TSeqLocVector
Vector of sequence locations.
Uint1 * sequence_start
Start of sequence, usually one byte before sequence as that byte is a NULL sentinel byte.
Boolean sequence_allocated
TRUE if memory has been allocated for sequence.
Int4 length
Length of sequence.
Uint1 * sequence
Sequence used for search (could be translation).
Boolean sequence_start_allocated
TRUE if memory has been allocated for sequence_start.
Int4 query_length
Length of this query, strand or frame.
Boolean is_valid
Determine if this context is valid or not.
Int4 query_offset
Offset of this query, strand or frame in the concatenated super-query.
Int4 length_adjustment
Length adjustment for boundary conditions.
Int8 eff_searchsp
Effective search space for this context.
Int4 query_index
Index of query (same for all frames)
Int1 frame
Frame number (-1, -2, -3, 0, 1, 2, or 3)
Int8 * searchsp_eff
Search space to be used for statistical calculations (one such per query context)
Int8 db_length
Database length to be used for statistical calculations.
Int4 dbseq_num
Number of database sequences to be used for statistical calculations.
Int4 num_searchspaces
Number of elements in searchsp_eff, this must be equal to the number of contexts in the search.
Int8 real_db_length
Total database length to use in search space calculations.
Int4 real_num_seqs
Number of subject sequences to use for search space calculations.
EBlastTbackExt eTbackExt
type of traceback extension.
EBlastPrelimGapExt ePrelimGapExt
type of preliminary gapped extension (normally) for calculating score.
double gap_x_dropoff_final
X-dropoff value for the final gapped extension (in bits)
double gap_x_dropoff
X-dropoff value for gapped extension (in bits)
Int4 gap_x_dropoff_final
X-dropoff value for the final gapped extension (raw)
Int4 gap_x_dropoff
X-dropoff value for gapped extension (raw)
int max_hits
Maximum number of hits per area of query.
EBlastStage culling_stage
BlastHSPBestHitOptions * best_hit
Best Hit algorithm.
EBlastStage best_hit_stage
BlastHSPCullingOptions * culling_opts
culling algorithm
Int4 num_queries
Number of query sequences.
Int4 culling_limit
If the query range of an HSP is contained in at least this many higher-scoring HSPs,...
Int4 longest_intron
The longest distance between HSPs allowed for combining via sum statistics with uneven gaps.
Int4 max_hsps_per_subject
Queries are paired reads, for mapping.
Int4 total_hsp_limit
Maximal total number of HSPs to keep.
double expect_value
The expect value cut-off threshold for an HSP, or a combined hit if sum statistics is used.
Int4 cutoff_score
The (raw) score cut-off threshold.
Int4 hsp_num_max
Maximal number of HSPs to save for one database sequence.
Boolean do_sum_stats
Force sum statistics to be used to combine HSPs, TRUE by default for all ungapped searches and transl...
Int4 hitlist_size
Maximal number of database sequences to return results for.
Int4 min_diag_separation
How many diagonals separate a hit from a substantial alignment before it's not blocked out.
Int4 min_hit_length
optional minimum alignment length; alignments not at least this long are discarded
BlastHSPFilteringOptions * hsp_filt_opt
Contains options to configure the HSP filtering/writering structures If not set, the default HSP filt...
double percent_identity
The percent identity cut-off threshold.
double x_dropoff
X-dropoff value (in bits) for the ungapped extension.
Int4 window_size
Maximal allowed distance between 2 hits in case 2 hits are required to trigger the extension.
Structure for keeping the query masking information.
Int4 total_size
Total size of the BlastSeqLoc array below.
BlastSeqLoc ** seqloc_array
Array of masked locations.
Int4 first_context
Index of the first element of the context array.
BlastContextInfo * contexts
Information per context.
int num_queries
Number of query sequences.
Int4 last_context
Index of the last element of the context array.
Uint4 max_length
Length of the longest among the concatenated queries.
Boolean protein_alphabet
TRUE if alphabet_code is for a protein alphabet (e.g., ncbistdaa etc.), FALSE for nt.
double scale_factor
multiplier for all cutoff and dropoff scores
Int2 ambig_occupy
How many occupied?
Int2 ambig_size
size of array above.
char * name
name of scoring matrix.
Int2 alphabet_start
numerical value of 1st letter.
Int2 alphabet_size
size of alphabet.
Int4 penalty
penalty for mismatch in blastn.
Int4 number_of_contexts
Used by sfp and kbp, how large are these.
Boolean read_in_matrix
If TRUE, matrix is read in, otherwise produce one from penalty and reward above.
Int4 reward
reward for match in blastn.
Int2 penalty
Penalty for a mismatch.
Int4 gap_open
Extra penalty for starting a gap.
Int4 gap_extend
Penalty for each gap residue.
Int2 reward
Reward for a match.
Boolean gapped_calculation
gap-free search if FALSE
Int4 shift_pen
Penalty for shifting a frame in out-of-frame gapping.
char * matrix
Name of the matrix containing all scores: needed for finding neighboring words.
Boolean is_ooframe
Should out-of-frame gapping be used in a translated search?
double scale_factor
multiplier for all cutoff scores
Int4 gap_extend
Penalty for each gap residue (scaled version)
Int2 penalty
Penalty for a mismatch.
Int4 shift_pen
Penalty for shifting a frame in out-of-frame gapping (scaled version)
Int4 gap_open
Extra penalty for starting a gap (scaled version)
Int2 reward
Reward for a match.
Used to hold a set of positions, mostly used for filtering.
SSeqRange * ssr
location data on the sequence.
struct BlastSeqLoc * next
next in linked list
unsigned int chunk_sz
Size of the chunks to advance over the BlastSeqSrc, also size of oid_list member, this is provided to...
BlastSeqSrcItrType itr_type
Indicates which member to access: oid_list or oid_range.
unsigned int current_pos
Keep track of this iterator's current position, implementations use UINT4_MAX to indicate this is uni...
EBlastSeverity severity
severity code
char * message
User message to be saved.
Int4 word_size
Determines the size of the lookup table.
double threshold
Score threshold for putting words in a lookup table (fractional values are allowed,...
Int4 mb_template_type
Type of a discontiguous word template.
ELookupTableType lut_type
What kind of lookup table to construct?
Int4 mb_template_length
Length of the discontiguous words.
Boolean nsg_compatibility_mode
Compatibility option for the NCBI's structure group (note nsg_ prefix, stands for NCBI's structure gr...
double impala_scaling_factor
Scaling factor as used in IMPALA to do the matrix rescaling.
double inclusion_ethresh
Minimum evalue for inclusion in PSSM calculation.
Int4 pseudo_count
Pseudocount constant.
Boolean use_best_alignment
If set to TRUE, use the best alignment when multiple HSPs are found in a query-subject alignment (i....
Boolean information_content
request information content
Boolean frequency_ratios
request frequency ratios
Boolean weighted_residue_frequencies
request observed weighted residue frequencies
Boolean gapless_column_weights
request gapless column weights
Boolean residue_frequencies
request observed residue frequencies
Uint4 alphabet_size
Specifies length of alphabet.
double kappa
Kappa Karlin-Altschul parameter.
Uint4 ncols
Number of columns in PSSM (query_length)
double lambda
Lambda Karlin-Altschul parameter.
Uint4 nrows
Number of rows in PSSM (alphabet_size)
double h
H Karlin-Altschul parameter.
Uint4 num_seqs
Number of distinct sequences aligned with the query (does not include the query)
Uint4 query_length
Length of the query.
PSIMsaDimensions * dimensions
dimensions of the msa
Uint1 strand_option
In blastn: which strand to search: 1 = forward; 2 = reverse; 3 = both.
char * filter_string
DEPRECATED, filtering options above.
SBlastFilterOptions * filtering_options
structured options for all filtering offered from algo/blast/core for BLAST.
Int4 genetic_code
Genetic code to use for translation, [t]blastx only.
SRepeatFilterOptions * repeatFilterOptions
for organism specific repeat filtering.
SSegOptions * segOptions
low-complexity filtering for proteins sequences (includes translated nucleotides).
Boolean mask_at_hash
mask query only for lookup table creation
SDustOptions * dustOptions
low-complexity filtering for nucleotides.
EBlastStage stage
Stage of the BLAST search currently in progress.
void * user_data
Pointer to user-provided data.
Options for dust algorithm, applies only to nucl.
int linker
min distance to link segments.
char * database
Nucleotide database for mini BLAST search.
Options for SEG algorithm, applies only to protein-protein comparisons.
int window
initial window to trigger further work.
Selector used in CSeqMap methods returning iterators.
Int4 left
left endpoint of range (zero based)
Int4 right
right endpoint of range (zero based)