NCBI C++ ToolKit
Macros | Functions | Variables
blast_filter.h File Reference

BLAST filtering functions. More...

#include <algo/blast/core/ncbi_std.h>
#include <algo/blast/core/blast_def.h>
#include <algo/blast/core/blast_program.h>
#include <algo/blast/core/blast_query_info.h>
#include <algo/blast/core/blast_message.h>
#include <algo/blast/core/blast_options.h>
+ Include dependency graph for blast_filter.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Go to the SVN repository for this file.

Macros

#define REPEATS_SEARCH_EVALUE   0.1
 Repeats filtering default options. More...
 
#define REPEATS_SEARCH_MINSCORE   26
 Default score cutoff. More...
 
#define REPEATS_SEARCH_PENALTY   -1
 Default mismatch penalty. More...
 
#define REPEATS_SEARCH_REWARD   1
 Default match reward. More...
 
#define REPEATS_SEARCH_GAP_OPEN   2
 Default gap opening cost. More...
 
#define REPEATS_SEARCH_GAP_EXTEND   1
 Default gap extension cost. More...
 
#define REPEATS_SEARCH_WORD_SIZE   11
 Default word size. More...
 
#define REPEATS_SEARCH_XDROP_UNGAPPED   40
 Default X-dropoff for ungapped extension. More...
 
#define REPEATS_SEARCH_XDROP_FINAL   90
 Default X-dropoff for gapped extension with traceback. More...
 
#define REPEATS_SEARCH_FILTER_STRING   "F"
 Default filter string - no filtering. More...
 
#define REPEAT_MASK_LINK_VALUE   5
 Largest gap allowed to be filled between repeat mask intervals. More...
 

Functions

BlastSeqLocBlastSeqLocNew (BlastSeqLoc **head, Int4 from, Int4 to)
 Create and initialize a new sequence interval. More...
 
BlastSeqLocBlastSeqLocAppend (BlastSeqLoc **head, BlastSeqLoc *node)
 Appends the BlastSeqLoc to the list of BlastSeqLoc-s pointed to by head. More...
 
BlastSeqLocBlastSeqLocNodeFree (BlastSeqLoc *node)
 Deallocate a single BlastSeqLoc structure and its contents, without following its next pointer. More...
 
BlastSeqLocBlastSeqLocFree (BlastSeqLoc *loc)
 Deallocate all BlastSeqLoc objects in a chain. More...
 
BlastSeqLocBlastSeqLocListDup (BlastSeqLoc *head)
 Make a deep copy of the linked list of BlastSeqLoc-s pointed to by its argument. More...
 
void BlastSeqLocReverse (BlastSeqLoc *masks, Int4 query_length)
 Converts reverse strand coordinates to forward strand in place. More...
 
void BlastSeqLocCombine (BlastSeqLoc **mask_loc, Int4 link_value)
 Go through all mask locations in one sequence and combine any that overlap, deallocating the unneeded locations. More...
 
BlastMaskLocBlastMaskLocNew (Int4 total)
 Allocate memory for a BlastMaskLoc. More...
 
BlastMaskLocBlastMaskLocDup (const BlastMaskLoc *mask_loc)
 Perform a deep copy of the BlastMaskLoc structure passed to this function. More...
 
BlastMaskLocBlastMaskLocFree (BlastMaskLoc *mask_loc)
 Deallocate memory for a BlastMaskLoc structure as well as the BlastSeqLoc's pointed to. More...
 
Int2 BlastMaskLocDNAToProtein (BlastMaskLoc *mask_loc, const BlastQueryInfo *query_info)
 Given a BlastMaskLoc with an array of lists of DNA mask locations, substitutes that array by a new array of per-protein-frame mask location lists. More...
 
Int2 BlastMaskLocProteinToDNA (BlastMaskLoc *mask_loc, const BlastQueryInfo *query_info)
 Given a BlastMaskLoc with an array of lists of mask locations per protein frame, recalculates all mask offsets in terms of the DNA sequence. More...
 
Int2 BLAST_ComplementMaskLocations (EBlastProgramType program_number, const BlastQueryInfo *query_info, const BlastMaskLoc *mask_loc, BlastSeqLoc **complement_mask)
 This function takes the list of mask locations (i.e., regions that should not be searched or not added to lookup table) and makes up a set of SSeqRange*'s in the concatenated sequence built from a set of queries, that should be searched (that is, takes the complement). More...
 
Int2 BlastSetUp_Filter (EBlastProgramType program_number, Uint1 *sequence, Int4 length, Int4 offset, const SBlastFilterOptions *filter_options, BlastSeqLoc **seqloc_retval, Blast_Message **blast_message)
 Runs seg filtering functions, according to the filtering options, returns BlastSeqLoc*. More...
 
Int2 BlastSetUp_GetFilteringLocations (BLAST_SequenceBlk *query_blk, const BlastQueryInfo *query_info, EBlastProgramType program_number, const SBlastFilterOptions *filter_options, BlastMaskLoc **filter_out, Blast_Message **blast_message)
 Does preparation for filtering and then calls BlastSetUp_Filter. More...
 
void Blast_MaskTheResidues (Uint1 *buffer, Int4 length, Boolean is_na, const BlastSeqLoc *mask_loc, Boolean reverse, Int4 offset)
 Masks the letters in buffer. More...
 
void Blast_MaskUnsupportedAA (BLAST_SequenceBlk *seq, Uint1 min_invalid)
 Mask protein letters that are currently unsupported. More...
 
void BlastSetUp_MaskQuery (BLAST_SequenceBlk *query_blk, const BlastQueryInfo *query_info, const BlastMaskLoc *filter_maskloc, EBlastProgramType program_number)
 Masks the sequence given a BlastMaskLoc. More...
 
Int2 BlastFilteringOptionsFromString (EBlastProgramType program_number, const char *instructions, SBlastFilterOptions **filtering_options, Blast_Message **blast_message)
 Produces SBlastFilterOptions from a string that has been traditionally supported in blast. More...
 
char * BlastFilteringOptionsToString (const SBlastFilterOptions *filtering_options)
 Convert the filtering options structure to a string. More...
 
static NCBI_INLINE Boolean BlastIsReverseStrand (Boolean is_na, Int4 context)
 Determines whether this is a nucleotide query and whether this a minus strand or not. More...
 

Variables

const Uint1 kNuclMask
 BLASTNA element used to mask bases in BLAST. More...
 
const Uint1 kProtMask
 NCBISTDAA element used to mask residues in BLAST. More...
 

Detailed Description

BLAST filtering functions.

Definition in file blast_filter.h.

Macro Definition Documentation

◆ REPEAT_MASK_LINK_VALUE

#define REPEAT_MASK_LINK_VALUE   5

Largest gap allowed to be filled between repeat mask intervals.

Definition at line 72 of file blast_filter.h.

◆ REPEATS_SEARCH_EVALUE

#define REPEATS_SEARCH_EVALUE   0.1

Repeats filtering default options.

Default e-value threshold, keep for C toolkit

Definition at line 57 of file blast_filter.h.

◆ REPEATS_SEARCH_FILTER_STRING

#define REPEATS_SEARCH_FILTER_STRING   "F"

Default filter string - no filtering.

Definition at line 69 of file blast_filter.h.

◆ REPEATS_SEARCH_GAP_EXTEND

#define REPEATS_SEARCH_GAP_EXTEND   1

Default gap extension cost.

Definition at line 62 of file blast_filter.h.

◆ REPEATS_SEARCH_GAP_OPEN

#define REPEATS_SEARCH_GAP_OPEN   2

Default gap opening cost.

Definition at line 61 of file blast_filter.h.

◆ REPEATS_SEARCH_MINSCORE

#define REPEATS_SEARCH_MINSCORE   26

Default score cutoff.

Definition at line 58 of file blast_filter.h.

◆ REPEATS_SEARCH_PENALTY

#define REPEATS_SEARCH_PENALTY   -1

Default mismatch penalty.

Definition at line 59 of file blast_filter.h.

◆ REPEATS_SEARCH_REWARD

#define REPEATS_SEARCH_REWARD   1

Default match reward.

Definition at line 60 of file blast_filter.h.

◆ REPEATS_SEARCH_WORD_SIZE

#define REPEATS_SEARCH_WORD_SIZE   11

Default word size.

Definition at line 63 of file blast_filter.h.

◆ REPEATS_SEARCH_XDROP_FINAL

#define REPEATS_SEARCH_XDROP_FINAL   90

Default X-dropoff for gapped extension with traceback.

Definition at line 67 of file blast_filter.h.

◆ REPEATS_SEARCH_XDROP_UNGAPPED

#define REPEATS_SEARCH_XDROP_UNGAPPED   40

Default X-dropoff for ungapped extension.

Definition at line 65 of file blast_filter.h.

Function Documentation

◆ BLAST_ComplementMaskLocations()

Int2 BLAST_ComplementMaskLocations ( EBlastProgramType  program_number,
const BlastQueryInfo query_info,
const BlastMaskLoc mask_loc,
BlastSeqLoc **  complement_mask 
)

This function takes the list of mask locations (i.e., regions that should not be searched or not added to lookup table) and makes up a set of SSeqRange*'s in the concatenated sequence built from a set of queries, that should be searched (that is, takes the complement).

If all sequences in the query set are completely filtered, then an SSeqRange is created and both of its elements (left and right) are set to -1 to indicate this. If any of the mask_loc's is NULL, an SSeqRange for the full span of the respective query sequence is created.

Parameters
program_numberType of BLAST program [in]
query_infoThe query information structure [in]
mask_locAll mask locations [in]
complement_maskLinked list of SSeqRange*s in the concatenated sequence to be indexed in the lookup table . [out]

Definition at line 1017 of file blast_filter.c.

References ASSERT, BlastIsReverseStrand(), BlastSeqLocListReverse(), BlastSeqLocNew(), BlastQueryInfo::contexts, eBlastTypeBlastn, eBlastTypeMapping, FALSE, first(), BlastQueryInfo::first_context, BlastContextInfo::is_valid, SSeqRange::left, BlastSeqLoc::next, NULL, BlastContextInfo::query_length, BlastContextInfo::query_offset, SSeqRange::right, BlastMaskLoc::seqloc_array, BlastSeqLoc::ssr, and TRUE.

Referenced by BLAST_MainSetUp().

◆ Blast_MaskTheResidues()

void Blast_MaskTheResidues ( Uint1 buffer,
Int4  length,
Boolean  is_na,
const BlastSeqLoc mask_loc,
Boolean  reverse,
Int4  offset 
)

Masks the letters in buffer.

This is a low-level routine and takes a raw buffer which it assumes to be in ncbistdaa (protein) or blastna (nucleotide).

Parameters
bufferthe sequence to be masked (will be modified, cannot be NULL or undefined behavior will result).[in|out]
lengthlength of the sequence to be masked . [in]
is_nanucleotide if TRUE [in]
mask_locthe BlastSeqLoc to use for masking [in]
reverseminus strand if TRUE [in]
offsethow far along sequence is 1st residuse in buffer [in]

Definition at line 1307 of file blast_filter.c.

References ASSERT, buffer, kNuclMask, kProtMask, SSeqRange::left, BlastSeqLoc::next, offset, SSeqRange::right, and BlastSeqLoc::ssr.

Referenced by BlastSetUp_MaskQuery(), and s_DoSegSequenceData().

◆ Blast_MaskUnsupportedAA()

void Blast_MaskUnsupportedAA ( BLAST_SequenceBlk seq,
Uint1  min_invalid 
)

Mask protein letters that are currently unsupported.

This routine is used to make the core ignore letters within protein sequences that cannot (yet) be correctly handled

Parameters
seqProtein sequence to be masked (ncbistdaa format required). Letters whose numerical value exceeds a cutoff are converted into kProtMask values [in|out]
min_invalidThe first ncbistdaa value that is considered invalid. All sequence letters with numerical value >= this number are masked [in]

Definition at line 1336 of file blast_filter.c.

References i, kProtMask, BLAST_SequenceBlk::length, and BLAST_SequenceBlk::sequence.

Referenced by LookupTableWrapInit_MT().

◆ BlastFilteringOptionsFromString()

Int2 BlastFilteringOptionsFromString ( EBlastProgramType  program_number,
const char *  instructions,
SBlastFilterOptions **  filtering_options,
Blast_Message **  blast_message 
)

◆ BlastFilteringOptionsToString()

char* BlastFilteringOptionsToString ( const SBlastFilterOptions filtering_options)

Convert the filtering options structure to a string.

Parameters
filtering_optionsfiltering options structure, assumed to be correctly filled in [in]
Returns
malloc'd string containing filtering options or NULL if there is not enough memory to create the return value. Caller must free() return value
See also
TAutoCharPtr it is recommended that the caller store the return value in a TAutoCharPtr if working in C++ (defined in blast_aux.hpp)

Definition at line 321 of file blast_filter.c.

References buffer, calloc(), SRepeatFilterOptions::database, SWindowMaskerOptions::database, SBlastFilterOptions::dustOptions, SSegOptions::hicut, kDustLevel, kDustLinker, kDustWindow, kSegHicut, kSegLocut, kSegWindow, SDustOptions::level, SDustOptions::linker, SSegOptions::locut, NULL, SBlastFilterOptions::repeatFilterOptions, s_SafeStrCat(), SBlastFilterOptionsMaskAtHash(), SBlastFilterOptions::segOptions, strdup, SWindowMaskerOptions::taxid, SDustOptions::window, SSegOptions::window, and SBlastFilterOptions::windowMaskerOptions.

Referenced by BOOST_AUTO_TEST_CASE(), and CBlastOptionsLocal::GetFilterString().

◆ BlastIsReverseStrand()

static NCBI_INLINE Boolean BlastIsReverseStrand ( Boolean  is_na,
Int4  context 
)
static

Determines whether this is a nucleotide query and whether this a minus strand or not.

Parameters
is_nathe query is nucleotide
contextoffset in the QueryInfo array
Returns
TRUE if this is minus strand

Definition at line 325 of file blast_filter.h.

Referenced by BLAST_ComplementMaskLocations(), BlastSetUp_MaskQuery(), and s_GetFilteringLocationsForOneContext().

◆ BlastMaskLocDNAToProtein()

Int2 BlastMaskLocDNAToProtein ( BlastMaskLoc mask_loc,
const BlastQueryInfo query_info 
)

Given a BlastMaskLoc with an array of lists of DNA mask locations, substitutes that array by a new array of per-protein-frame mask location lists.

Parameters
mask_locMask locations structure. This structure can have either masks for all frames in nucleotide coordinates (e.g.: the results of translating protein masks to nucleotide) or a single mask per query (i.e.:location NUM_FRAMES*query_index). In the latter case, this mask will be used for all frames. [in|out]
query_infoQuery information structure, containing contexts data [in]
Note
This function does NOT take into consideration the strands requested to be searched, which is INCONSISTENT with what the C++ API does.

Definition at line 806 of file blast_filter.c.

References ASSERT, BLAST_ContextToFrame(), BlastQueryInfoGetQueryLength(), BlastSeqLocFree(), BlastSeqLocNew(), CODON_LENGTH, BlastQueryInfo::contexts, eBlastTypeBlastx, BlastQueryInfo::last_context, SSeqRange::left, BlastSeqLoc::next, NULL, NUM_FRAMES, BlastQueryInfo::num_queries, BlastContextInfo::query_length, SSeqRange::right, BlastMaskLoc::seqloc_array, BlastSeqLoc::ssr, and BlastMaskLoc::total_size.

Referenced by BOOST_AUTO_TEST_CASE().

◆ BlastMaskLocDup()

BlastMaskLoc* BlastMaskLocDup ( const BlastMaskLoc mask_loc)

Perform a deep copy of the BlastMaskLoc structure passed to this function.

Parameters
mask_locSource masking location structure [in]
Returns
Deep copy of its argument, or NULL if the argument was NULL or if not enough memory was available

Definition at line 770 of file blast_filter.c.

References BlastMaskLocNew(), BlastSeqLocListDup(), NULL, BlastMaskLoc::seqloc_array, and BlastMaskLoc::total_size.

◆ BlastMaskLocFree()

BlastMaskLoc* BlastMaskLocFree ( BlastMaskLoc mask_loc)

Deallocate memory for a BlastMaskLoc structure as well as the BlastSeqLoc's pointed to.

Parameters
mask_locthe object to be deleted [in]
Returns
NULL pointer

Definition at line 789 of file blast_filter.c.

References BlastSeqLocFree(), NULL, BlastMaskLoc::seqloc_array, sfree, and BlastMaskLoc::total_size.

Referenced by BLAST_MainSetUp(), BlastSequenceBlkFree(), and BOOST_AUTO_TEST_CASE().

◆ BlastMaskLocNew()

BlastMaskLoc* BlastMaskLocNew ( Int4  total)

Allocate memory for a BlastMaskLoc.

Parameters
totalnumber of contexts for which SSeqLocs should be allocated (result of number of queries * number of contexts for given program) [in]
Returns
Pointer to the allocated BlastMaskLoc structure.

Definition at line 760 of file blast_filter.c.

References calloc(), BlastMaskLoc::seqloc_array, and BlastMaskLoc::total_size.

Referenced by BlastMaskLocDup(), BlastSetUp_GetFilteringLocations(), BOOST_AUTO_TEST_CASE(), SetupQueries_OMF(), and x_TestGetSeqLocInfoVector().

◆ BlastMaskLocProteinToDNA()

Int2 BlastMaskLocProteinToDNA ( BlastMaskLoc mask_loc,
const BlastQueryInfo query_info 
)

Given a BlastMaskLoc with an array of lists of mask locations per protein frame, recalculates all mask offsets in terms of the DNA sequence.

Parameters
mask_locMask locations structure [in|out]
query_infoQuery information structure, containing contexts data [in]

Definition at line 892 of file blast_filter.c.

References ASSERT, BLAST_ContextToFrame(), BlastQueryInfoGetQueryLength(), CODON_LENGTH, eBlastTypeBlastx, BlastQueryInfo::last_context, SSeqRange::left, BlastSeqLoc::next, NUM_FRAMES, BlastQueryInfo::num_queries, SSeqRange::right, BlastMaskLoc::seqloc_array, BlastSeqLoc::ssr, and BlastMaskLoc::total_size.

Referenced by BLAST_MainSetUp(), and BOOST_AUTO_TEST_CASE().

◆ BlastSeqLocAppend()

BlastSeqLoc* BlastSeqLocAppend ( BlastSeqLoc **  head,
BlastSeqLoc node 
)

Appends the BlastSeqLoc to the list of BlastSeqLoc-s pointed to by head.

Parameters
headPointer to the head of the linked list of BlastSeqLoc-s [in]
nodePointer to the node to be added to the list. If this is NULL, this function does nothing. [in]
Returns
pointer to the second argument to this function (i.e.: tail of the list)

Definition at line 621 of file blast_filter.c.

References head, NULL, and tmp.

Referenced by BlastSeqLocListDup(), BlastSeqLocNew(), and s_GetFilteringLocationsForOneContext().

◆ BlastSeqLocCombine()

void BlastSeqLocCombine ( BlastSeqLoc **  mask_loc,
Int4  link_value 
)

Go through all mask locations in one sequence and combine any that overlap, deallocating the unneeded locations.

Parameters
mask_locThe list of masks to be merged (in place) [in|out]
link_valueLargest gap size between locations for which they should be linked together [in]

Definition at line 972 of file blast_filter.c.

References ASSERT, BlastSeqLocNodeFree(), i, SSeqRange::left, MAX, BlastSeqLoc::next, NULL, SSeqRange::right, s_BlastSeqLocListToArrayOfPointers(), s_SeqRangeSortByStartPosition(), sfree, and BlastSeqLoc::ssr.

Referenced by BOOST_AUTO_TEST_CASE(), s_FillMaskLocFromBlastResults(), and s_GetFilteringLocationsForOneContext().

◆ BlastSeqLocFree()

BlastSeqLoc* BlastSeqLocFree ( BlastSeqLoc loc)

◆ BlastSeqLocListDup()

BlastSeqLoc* BlastSeqLocListDup ( BlastSeqLoc head)

Make a deep copy of the linked list of BlastSeqLoc-s pointed to by its argument.

Parameters
headhead of the linked list [in]
Returns
NULL on NULL input or memory allocation failure, else a copy of the list and its contents

Definition at line 747 of file blast_filter.c.

References BlastSeqLocAppend(), head, NULL, and s_BlastSeqLocNodeDup().

Referenced by BlastMaskLocDup().

◆ BlastSeqLocNew()

BlastSeqLoc* BlastSeqLocNew ( BlastSeqLoc **  head,
Int4  from,
Int4  to 
)

◆ BlastSeqLocNodeFree()

BlastSeqLoc* BlastSeqLocNodeFree ( BlastSeqLoc node)

Deallocate a single BlastSeqLoc structure and its contents, without following its next pointer.

Parameters
nodestructure to deallocate [in]
Returns
NULL

Definition at line 727 of file blast_filter.c.

References NULL, sfree, and BlastSeqLoc::ssr.

Referenced by BlastSeqLoc_RestrictToInterval(), BlastSeqLocCombine(), and BlastSeqLocFree().

◆ BlastSeqLocReverse()

void BlastSeqLocReverse ( BlastSeqLoc masks,
Int4  query_length 
)

Converts reverse strand coordinates to forward strand in place.

Parameters
masksBlastSeqLoc to be reversed [in|out]
query_lengthlength of query [in]

Definition at line 1173 of file blast_filter.c.

References SSeqRange::left, BlastSeqLoc::next, SSeqRange::right, and BlastSeqLoc::ssr.

Referenced by s_GetFilteringLocationsForOneContext().

◆ BlastSetUp_Filter()

Int2 BlastSetUp_Filter ( EBlastProgramType  program_number,
Uint1 sequence,
Int4  length,
Int4  offset,
const SBlastFilterOptions filter_options,
BlastSeqLoc **  seqloc_retval,
Blast_Message **  blast_message 
)

Runs seg filtering functions, according to the filtering options, returns BlastSeqLoc*.

Should combine all SeqLocs so they are non-redundant.

Parameters
program_numberType of BLAST program [in]
sequenceThe sequence or part of the sequence to be filtered [in]
lengthLength of the (sub)sequence [in]
offsetOffset into the full sequence [in]
filter_optionsspecifies how filtering is to be done [in]
seqloc_retvalResulting locations for filtered region. [out]
blast_messageerror messages on error [out]
Returns
zero on success

Definition at line 1122 of file blast_filter.c.

References ASSERT, FilterQueriesForMapping(), SSegOptions::hicut, SegParameters::hicut, SSegOptions::locut, SegParameters::locut, NULL, offset, SegParameters::overlaps, SBlastFilterOptions::readQualityOptions, SBlastFilterOptionsValidate(), SBlastFilterOptions::segOptions, SegParametersFree(), SegParametersNewAa(), SeqBufferSeg(), TRUE, SSegOptions::window, and SegParameters::window.

Referenced by BOOST_AUTO_TEST_CASE(), s_DoSegSequenceData(), and s_GetFilteringLocationsForOneContext().

◆ BlastSetUp_GetFilteringLocations()

Int2 BlastSetUp_GetFilteringLocations ( BLAST_SequenceBlk query_blk,
const BlastQueryInfo query_info,
EBlastProgramType  program_number,
const SBlastFilterOptions filter_options,
BlastMaskLoc **  filter_out,
Blast_Message **  blast_message 
)

Does preparation for filtering and then calls BlastSetUp_Filter.

Parameters
query_blksequence to be filtered [in]
query_infoinfo on sequence to be filtered [in]
program_numberone of blastn,blastp,blastx,etc. [in]
filter_optionsspecifies how filtering is to be done [in]
filter_outresulting locations for filtered region. [out]
blast_messagemessage that needs to be sent back to user.

Definition at line 1262 of file blast_filter.c.

References ASSERT, BLAST_GetNumberOfContexts(), Blast_MessageWrite(), BlastMaskLocNew(), eBlastSevError, BlastQueryInfo::first_context, BlastQueryInfo::last_context, NULL, BlastQueryInfo::num_queries, and s_GetFilteringLocationsForOneContext().

Referenced by BLAST_MainSetUp(), and BOOST_AUTO_TEST_CASE().

◆ BlastSetUp_MaskQuery()

void BlastSetUp_MaskQuery ( BLAST_SequenceBlk query_blk,
const BlastQueryInfo query_info,
const BlastMaskLoc filter_maskloc,
EBlastProgramType  program_number 
)

Variable Documentation

◆ kNuclMask

const Uint1 kNuclMask
extern

BLASTNA element used to mask bases in BLAST.

Definition at line 38 of file blast_filter.c.

Referenced by Blast_MaskTheResidues(), and x_AreAllBasesMasked().

◆ kProtMask

const Uint1 kProtMask
extern

NCBISTDAA element used to mask residues in BLAST.

Definition at line 39 of file blast_filter.c.

Referenced by Blast_MaskTheResidues(), Blast_MaskUnsupportedAA(), and CPsiBlastInputClustalW::x_ValidateQueryInMsa().

Modified on Fri Mar 01 10:09:12 2024 by modify_doxy.py rev. 669887