⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 blast_options.h

📁 ncbi源码
💻 H
📖 第 1 页 / 共 3 页
字号:
 *  b. Restrictions on the quality and positions of hits to be saved; *  c. Parameters used to evaluate the quality of hits. */typedef struct BlastHitSavingOptions {   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 */   double percent_identity; /**< The percent identity cut-off threshold */   Int4 hitlist_size;/**< Maximal number of database sequences to return                        results for */   Int4 prelim_hitlist_size; /**< Maximal number of database sequences to                                save hits after preliminary alignment */   Int4 hsp_num_max; /**< Maximal number of HSPs to save for one database                         sequence */   Int4 total_hsp_limit; /**< Maximal total number of HSPs to keep */   Int4 hsp_range_max; /**< Maximal number of HSPs to save in a region:                           used for culling only */   Boolean perform_culling;/**< Perform culling of hit lists by keeping at                               most a certain number of HSPs in a range                              (not implemented) */   /* PSI-BLAST Hit saving options */   Int4 required_start;  /**< Start of the region required to be part of the                            alignment */   Int4 required_end;    /**< End of the region required to be part of the                            alignment */   double original_expect_value; /**< Needed for PSI-BLAST??? */   /********************************************************************/   /* Merge all these in a structure for clarity? */   /* applicable to all, except blastn */   Boolean do_sum_stats; /**< Force sum statistics to be used to combine                             HSPs */   /* tblastn w/ sum statistics */   Int4 longest_intron; /**< The longest distance between HSPs allowed for                           combining via sum statistics with uneven gaps */   /********************************************************************/   Int4 min_hit_length;    /**< optional minimum alignment length; alignments                                not at least this long are discarded */   Boolean is_neighboring; /**< @todo FIXME: neighboring is specified by a percent                              identity and a minimum hit length */   Boolean phi_align;   /**< Is this a PHI BLAST search? */} BlastHitSavingOptions;/** Parameter block that contains a pointer to BlastHitSavingOptions * and parsed values for those options that require it * (in this case expect value). */typedef struct BlastHitSavingParameters {   BlastHitSavingOptions* options; /**< The original (unparsed) options. */   Int4 cutoff_score; /**< Raw cutoff score corresponding to the e-value                          provided by the user */   Boolean do_sum_stats; /**< Is sum statistics used to combine HSPs? */   double gap_prob;       /**< Probability of decay for linking HSPs */   double gap_decay_rate; /**< Decay rate for linking HSPs */   Int4 gap_size;          /**< Small gap size for linking HSPs */   Int4 cutoff_small_gap; /**< Cutoff sum score for linked HSPs with small                              gaps */   Int4 cutoff_big_gap; /**< Cutoff sum score for linked HSPs with big gaps */   Boolean ignore_small_gaps; /**< Should small gaps be ignored? */} BlastHitSavingParameters;	/** Scoring options block  *  Used to produce the BlastScoreBlk structure *  This structure may be needed for lookup table construction (proteins only), *  and for evaluating alignments.  */typedef struct BlastScoringOptions {   char* matrix;   /**< Name of the matrix containing all scores: needed for                        finding neighboring words */   char* matrix_path; /**< Directory path to where matrices are stored. */   Int2 reward;      /**< Reward for a match */   Int2 penalty;     /**< Penalty for a mismatch */   Boolean gapped_calculation; /**< identical to the one in hit saving opts */   Int4 gap_open;    /**< Extra penalty for starting a gap */   Int4 gap_extend;  /**< Penalty for each gap residue */   Int4 decline_align; /**< Cost for declining alignment (PSI-BLAST) */   /* only blastx and tblastn (When query & subj are diff) */   Boolean is_ooframe; /**< Should out-of-frame gapping be used in a translated                          search? */   Int4 shift_pen;   /**< Penalty for shifting a frame in out-of-frame                         gapping */} BlastScoringOptions;/** Scoring parameters block *  Contains scoring-related information that is actually used *  for the blast search */typedef struct BlastScoringParameters {   BlastScoringOptions *options; /**< User-provided values for these params */   Int2 reward;      /**< Reward for a match */   Int2 penalty;     /**< Penalty for a mismatch */   Int4 gap_open;    /**< Extra penalty for starting a gap (scaled version) */   Int4 gap_extend;  /**< Penalty for each gap residue  (scaled version) */   Int4 decline_align; /**< Cost for declining alignment  (scaled version) */   Int4 shift_pen;   /**< Penalty for shifting a frame in out-of-frame                         gapping (scaled version) */   double scale_factor; /**< multiplier for all cutoff scores */} BlastScoringParameters;/** Options for setting up effective lengths and search spaces.   * The values are those the user has specified to override the real sizes. */typedef struct BlastEffectiveLengthsOptions {   Int8 db_length;    /**< Database length to be used for statistical                         calculations */   Int4 dbseq_num;    /**< Number of database sequences to be used for                           statistical calculations */   Int8 searchsp_eff; /**< Search space to be used for statistical                           calculations */   Boolean use_real_db_size; /**< Use real database size instead of virtual                                database size for statistical calculations */} BlastEffectiveLengthsOptions;/** Parameters for setting up effective lengths and search spaces.   * The real database size values to be used for statistical calculations, if * there are no overriding values in options. */typedef struct BlastEffectiveLengthsParameters {   BlastEffectiveLengthsOptions* options; /**< User provided values for these                                              parameters */   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 */} BlastEffectiveLengthsParameters;/** Options used in protein BLAST only (PSI, PHI, RPS and translated BLAST) *  Some of these possibly should be transfered elsewhere   */typedef struct PSIBlastOptions {    /** Minimum evalue for inclusion in PSSM calculation. Needed for the first     * stage of the PSSM calculation algorithm */    double inclusion_ethresh;    /** Pseudocount constant. Needed for the computing the PSSM residue      * frequencies */    Int4 pseudo_count;} PSIBlastOptions;/** Options used to create the ReadDBFILE structure  *  Include database name and various information for restricting the database *  to a subset. */typedef struct BlastDatabaseOptions {   Int4 genetic_code;  /**< Genetic code to use for translation,                              tblast[nx] only */   Uint1* gen_code_string;  /**< Genetic code string in ncbistdaa encoding,                                 tblast[nx] only */} BlastDatabaseOptions;/********************************************************************************	Functions to create options blocks with default values	and free them after use.*********************************************************************************//** Deallocate memory for QuerySetUpOptions.  * @param options Structure to free [in] */QuerySetUpOptions* BlastQuerySetUpOptionsFree(QuerySetUpOptions* options);/** Allocate memory for QuerySetUpOptions and fill with default values.   * @param options The options that have are being returned [out] */Int2 BlastQuerySetUpOptionsNew(QuerySetUpOptions* *options);/** Fill non-default contents of the QuerySetUpOptions. * @param options The options structure [in] [out]   * @param program Program number (blastn, blastp, etc.) [in] * @param filter_string Parsable string of filtering options [in]  * @param strand_option which strand to search [in]*/Int2 BLAST_FillQuerySetUpOptions(QuerySetUpOptions* options,        Uint1 program, const char *filter_string, Uint1 strand_option);/** Deallocate memory for BlastInitialWordOptions. * @param options Structure to free [in] */BlastInitialWordOptions*BlastInitialWordOptionsFree(BlastInitialWordOptions* options);/** Allocate memory for BlastInitialWordOptions and fill with default values. * @param program Program number (blastn, blastp, etc.) [in] * @param options The options that have are being returned [out] */Int2BlastInitialWordOptionsNew(Uint1 program,    BlastInitialWordOptions* *options);/** Fill non-default values in the BlastInitialWordOptions structure. * @param options The options structure [in] [out]  * @param program Program number (blastn, blastp, etc.) [in] * @param greedy Settings should assume greedy alignments [in] * @param window_size Size of a largest window between 2 words for the two-hit *                    version [in] * @param variable_wordsize Will only full bytes of the compressed sequence be *        checked in initial word extension (blastn only)? [in] * @param ag_blast Is AG BLAST approach used for scanning the database  *                 (blastn only)? [in] * @param mb_lookup Is Mega BLAST (12-mer based) lookup table used? [in] * @param xdrop_ungapped The value of the X-dropoff for ungapped extensions [in]*/Int2BLAST_FillInitialWordOptions(BlastInitialWordOptions* options,    Uint1 program, Boolean greedy, Int4 window_size,    Boolean variable_wordsize, Boolean ag_blast, Boolean mb_lookup,   double xdrop_ungapped);/** Deallocate memory for BlastInitialWordParameters. * @param parameters Structure to free [in] */BlastInitialWordParameters*BlastInitialWordParametersFree(BlastInitialWordParameters* parameters);/** Allocate memory for BlastInitialWordParameters and set x_dropoff. * Calling BlastInitialWordParametersNew calculates the * raw x_dropoff from the bit x_dropoff and puts it into * the x_dropoff field of BlastInitialWordParameters*. * * @param program_number Type of BLAST program [in] * @param word_options The initial word options [in] * @param hit_params The hit saving options (needed to calculate cutoff score  *                    for ungapped extensions) [in] * @param ext_params Extension parameters (containing gap trigger value) [in] * @param sbp Statistical (Karlin-Altschul) information [in] * @param query_info Query information [in] * @param subject_length Average subject sequence length [in] * @param parameters Resulting parameters [out]*/Int2BlastInitialWordParametersNew(Uint1 program_number,    const BlastInitialWordOptions* word_options,    const BlastHitSavingParameters* hit_params,    const BlastExtensionParameters* ext_params, BlastScoreBlk* sbp,    BlastQueryInfo* query_info,    Uint4 subject_length,   BlastInitialWordParameters* *parameters);/** Update cutoff scores in BlastInitialWordParameters structure. * @param program_number Type of BLAST program [in] * @param hit_params The hit saving options (needed to calculate cutoff score  *                    for ungapped extensions) [in] * @param ext_params Extension parameters (containing gap trigger value) [in] * @param sbp Statistical (Karlin-Altschul) information [in] * @param query_info Query information [in] * @param subject_length Average subject sequence length [in] * @param parameters Preallocated parameters [in] [out]*/Int2BlastInitialWordParametersUpdate(Uint1 program_number,    const BlastHitSavingParameters* hit_params,    const BlastExtensionParameters* ext_params, BlastScoreBlk* sbp,    BlastQueryInfo* query_info, Uint4 subject_length,   BlastInitialWordParameters* parameters);/** Deallocate memory for BlastExtensionOptions. * @param options Structure to free [in] */BlastExtensionOptions*BlastExtensionOptionsFree(BlastExtensionOptions* options);/** Allocate memory for BlastExtensionOptions and fill with default values. * @param program Program number (blastn, blastp, etc.) [in] * @param options The options that are being returned [out]*/Int2BlastExtensionOptionsNew(Uint1 program, BlastExtensionOptions* *options);/** Fill non-default values in the BlastExtensionOptions structure. * @param options The options structure [in] [out] * @param program Program number (blastn, blastp, etc.) [in] * @param greedy Settings should assume greedy alignments [in] * @param x_dropoff X-dropoff parameter value for preliminary gapped  *                  extensions [in] * @param x_dropoff_final X-dropoff parameter value for final gapped  *                        extensions with traceback [in]*/Int2BLAST_FillExtensionOptions(BlastExtensionOptions* options,    Uint1 program, Boolean greedy, double x_dropoff,    double x_dropoff_final);/** Validate contents of BlastExtensionOptions. * @param program_number Type of BLAST program [in] * @param options Options to be validated [in] * @param blast_msg Describes any validation problems found [out]*/Int2 BlastExtensionOptionsValidate(Uint1 program_number,         const BlastExtensionOptions* options, Blast_Message* *blast_msg);/** Calculate the raw values for the X-dropoff parameters  * @param blast_program Program number [in] * @param options Already allocated extension options [in] * @param sbp Structure containing statistical information [in] * @param query_info Query information, needed only for determining the first  *                   context [in] * @param parameters Extension parameters [out]

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -