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

📄 aa_ungapped.h

📁 ncbi源码
💻 H
字号:
/* * =========================================================================== * PRODUCTION $Log: aa_ungapped.h,v $ * PRODUCTION Revision 1000.2  2004/06/01 18:03:16  gouriano * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.18 * PRODUCTION * =========================================================================== *//* $Id: aa_ungapped.h,v 1000.2 2004/06/01 18:03:16 gouriano Exp $ * =========================================================================== * *                            PUBLIC DOMAIN NOTICE *               National Center for Biotechnology Information * *  This software/database is a "United States Government Work" under the *  terms of the United States Copyright Act.  It was written as part of *  the author's offical duties as a United States Government employee and *  thus cannot be copyrighted.  This software/database is freely available *  to the public for use. The National Library of Medicine and the U.S. *  Government have not placed any restriction on its use or reproduction. * *  Although all reasonable efforts have been taken to ensure the accuracy *  and reliability of the software and data, the NLM and the U.S. *  Government do not and cannot warrant the performance or results that *  may be obtained by using this software or data. The NLM and the U.S. *  Government disclaim all warranties, express or implied, including *  warranties of performance, merchantability or fitness for any particular *  purpose. * *  Please cite the author in any work or product based on this material. * * =========================================================================== *//** @file aa_ungapped.h * @todo FIXME: Need file description (protein wordfinding & ungapped  * extension code?) */#ifndef AA_UNGAPPED__H#define AA_UNGAPPED__H#include <algo/blast/core/blast_def.h>#include <algo/blast/core/blast_lookup.h>#include <algo/blast/core/blast_extend.h>#ifdef _cplusplusextern "C" {#endif/** Scan a subject sequence for word hits * * @param subject the subject sequence [in] * @param query the query sequence [in] * @param lookup the lookup table [in] * @param matrix the substitution matrix [in] * @param word_params word parameters, needed for cutoff and dropoff [in] * @param ewp extend parameters, needed for diagonal tracking [in] * @param query_offsets array for storing query offsets [out] * @param subject_offsets array for storing subject offsets [out] * @param offset_array_size the number of elements in each offset array [in] * @param init_hitlist hsps resulting from the ungapped extension [out] * @param ungapped_stats Various hit counts. Not filled if NULL [out] */Int2 BlastAaWordFinder(BLAST_SequenceBlk* subject,		       BLAST_SequenceBlk* query,		       LookupTableWrap* lookup,		       Int4** matrix,		       const BlastInitialWordParameters* word_params,		       Blast_ExtendWord* ewp,		       Uint4* NCBI_RESTRICT query_offsets,		       Uint4* NCBI_RESTRICT subject_offsets,		       Int4 offset_array_size,		       BlastInitHitList* init_hitlist,              BlastUngappedStats* ungapped_stats);/** Scan a subject sequence for word hits and trigger two-hit extensions. * * @param subject the subject sequence [in] * @param query the query sequence [in] * @param lookup_wrap the lookup table [in] * @param diag the diagonal array structure [in/out] * @param matrix the substitution matrix [in] * @param cutoff cutoff score for saving ungapped HSPs [in] * @param dropoff x dropoff [in] * @param query_offsets array for storing query offsets [out] * @param subject_offsets array for storing subject offsets [out] * @param array_size the number of elements in each offset array [in] * @param ungapped_hsps hsps resulting from the ungapped extension [out] * @param ungapped_stats Various hit counts. Not filled if NULL [out] */Int2 BlastAaWordFinder_TwoHit(const BLAST_SequenceBlk* subject,			      const BLAST_SequenceBlk* query,			      const LookupTableWrap* lookup_wrap,			      BLAST_DiagTable* diag,			      Int4 ** matrix,			      Int4 cutoff,			      Int4 dropoff,			      Uint4 * NCBI_RESTRICT query_offsets,			      Uint4 * NCBI_RESTRICT subject_offsets,			      Int4 array_size,	            BlastInitHitList* ungapped_hsps,                BlastUngappedStats* ungapped_stats);/** Scan a subject sequence for word hits and trigger one-hit extensions. * * @param subject the subject sequence * @param query the query sequence * @param lookup_wrap the lookup table * @param diag the diagonal array structure * @param matrix the substitution matrix [in] * @param cutoff cutoff score for saving ungapped HSPs [in] * @param dropoff x dropoff [in] * @param query_offsets array for storing query offsets * @param subject_offsets array for storing subject offsets * @param array_size the number of elements in each offset array * @param ungapped_hsps hsps resulting from the ungapped extensions [out] * @param ungapped_stats Various hit counts. Not filled if NULL [out] */Int2 BlastAaWordFinder_OneHit(const BLAST_SequenceBlk* subject,			      const BLAST_SequenceBlk* query,			      const LookupTableWrap* lookup_wrap,			      BLAST_DiagTable* diag,			      Int4 ** matrix,			      Int4 cutoff,			      Int4 dropoff,			      Uint4 * NCBI_RESTRICT query_offsets,			      Uint4 * NCBI_RESTRICT subject_offsets,			      Int4 array_size,	            BlastInitHitList* ungapped_hsps,                BlastUngappedStats* ungapped_stats);/** * Beginning at s_off and q_off in the subject and query, respectively, * extend to the right until the cumulative score becomes negative or * drops by at least dropoff. * * @param matrix the substitution matrix [in] * @param subject subject sequence [in] * @param query query sequence [in] * @param s_off subject offset [in] * @param q_off query offset [in] * @param dropoff the X dropoff parameter [in] * @param displacement the length of the extension [out] * @param maxscore the score derived from a previous left extension [in] * @param s_last_off the rightmost subject offset examined [out] * @return The score of the extension */  Int4 BlastAaExtendRight(Int4 ** matrix,			const BLAST_SequenceBlk* subject,			const BLAST_SequenceBlk* query,			Int4 s_off,			Int4 q_off,			Int4 dropoff,			Int4* displacement,	                Int4 maxscore,	                Int4* s_last_off);  Int4 BlastPSSMExtendRight(Int4 ** matrix,			const BLAST_SequenceBlk* subject,			Int4 query_size,			Int4 s_off,			Int4 q_off,			Int4 dropoff,			Int4* displacement,	                Int4 maxscore,	                Int4* s_last_off);/** * Beginning at s_off and q_off in the subject and query, respectively, * extend to the left until the cumulative score becomes negative or * drops by at least dropoff. * * @param matrix the substitution matrix [in] * @param subject subject sequence [in] * @param query query sequence [in] * @param s_off subject offset [in] * @param q_off query offset [in] * @param dropoff the X dropoff parameter [in] * @param displacement the length of the extension [out] * @return The score of the extension */Int4 BlastAaExtendLeft(Int4 ** matrix,		       const BLAST_SequenceBlk* subject,		       const BLAST_SequenceBlk* query,		       Int4 s_off,		       Int4 q_off,		       Int4 dropoff,		       Int4* displacement);Int4 BlastPSSMExtendLeft(Int4 ** matrix,		       const BLAST_SequenceBlk* subject,		       Int4 query_size,		       Int4 s_off,		       Int4 q_off,		       Int4 dropoff,		       Int4* displacement);/** Perform a one-hit extension. Beginning at the specified hit, * extend to the left, then extend to the right.  * * @param matrix the substitution matrix [in] * @param subject subject sequence [in] * @param query query sequence [in] * @param s_off subject offset [in] * @param q_off query offset [in] * @param dropoff X dropoff parameter [in] * @param hsp_q the offset in the query where the HSP begins [out] * @param hsp_s the offset in the subject where the HSP begins [out] * @param hsp_len the length of the HSP [out] * @param use_pssm TRUE if the scoring matrix is position-specific [in] * @param s_last_off the rightmost subject offset examined [out] * @return the score of the hsp. */Int4 BlastAaExtendOneHit(Int4 ** matrix,	                 const BLAST_SequenceBlk* subject,	                 const BLAST_SequenceBlk* query,	                 Int4 s_off,	                 Int4 q_off,	                 Int4 dropoff,			 Int4* hsp_q,			 Int4* hsp_s,			 Int4* hsp_len,	                 Boolean use_pssm,	                 Int4* s_last_off);	                 /** Perform a two-hit extension. Given two hits L and R, begin * at R and extend to the left. If we do not reach L, abort the extension. * Otherwise, begin at R and extend to the right. * * @param matrix the substitution matrix [in] * @param subject subject sequence [in] * @param query query sequence [in] * @param s_left_off left subject offset [in] * @param s_right_off right subject offset [in] * @param q_right_off right query offset [in] * @param dropoff X dropoff parameter [in] * @param hsp_q the offset in the query where the HSP begins [out] * @param hsp_s the offset in the subject where the HSP begins [out] * @param hsp_len the length of the HSP [out] * @param use_pssm TRUE if the scoring matrix is position-specific [in] * @param word_size number of letters in one word [in] * @param right_extend set to TRUE if an extension to the right happened [out] * @param s_last_off the rightmost subject offset examined [out] * @return the score of the hsp. */Int4 BlastAaExtendTwoHit(Int4 ** matrix,	                 const BLAST_SequenceBlk* subject,	                 const BLAST_SequenceBlk* query,	                 Int4 s_left_off,	                 Int4 s_right_off,	                 Int4 q_right_off,	                 Int4 dropoff,			 Int4* hsp_q,			 Int4* hsp_s,			 Int4* hsp_len,	                 Boolean use_pssm,	                 Int4 word_size,	                 Boolean *right_extend,	                 Int4* s_last_off);/** Update the offset for use with a new sequence.  * @param diag pointer to the diagonal array structure [in]  * @param length length of the new sequence [in]  */  Int4 DiagUpdate(BLAST_DiagTable* diag, Int4 length);/** Reset the diagonal array structure. Used when offset has wrapped around.  * @param diag pointer to the diagonal array structure [in]  */Int4 DiagClear(BLAST_DiagTable* diag);#ifdef _cplusplus}#endif#endif /* AA_UNGAPPED__H */

⌨️ 快捷键说明

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