inc/bandExt.h

Go to the documentation of this file.
00001 /* bandExt - banded Smith-Waterman extension of alignments. 
00002  * An aligner might first find perfectly matching hits of
00003  * a small size, then extend these hits as far as possible
00004  * while the sequences perfectly match, then call on routines
00005  * in this module to do further extensions allowing small
00006  * gaps and mismatches. */
00007 
00008 #ifndef BANDEXT_H
00009 #define BANDEXT_H
00010 
00011 boolean bandExt(boolean global, struct axtScoreScheme *ss, int maxInsert,
00012         char *aStart, int aSize, char *bStart, int bSize, int dir,
00013         int symAlloc, int *retSymCount, char *retSymA, char *retSymB, 
00014         int *retRevStartA, int *retRevStartB);
00015 /* Try to extend an alignment from aStart/bStart onwards.
00016  * If global is set it will always go to end (aStart+aSize-1,
00017  * bStart+bSize-1).  Set maxInsert to the maximum gap size allowed.  
00018  * 3 is often a good choice.  aStart/aSize bStart/bSize describe the
00019  * sequence to extend through (not including any of the existing
00020  * alignment. Set dir = 1 for forward extension, dir = -1 for backwards. 
00021  * retSymA and retSymB should point to arrays of characters of
00022  * symAlloc size.  symAlloc needs to be aSize*2 or so.  The
00023  * alignment is returned in the various ret values.  The function
00024  * overall returns TRUE if an extension occurred, FALSE if not. */
00025 
00026 struct ffAli *bandExtFf(
00027         struct lm *lm,  /* Local memory pool, NULL to use global allocation for ff */
00028         struct axtScoreScheme *ss,      /* Scoring scheme to use. */
00029         int maxInsert,                  /* Maximum number of inserts to allow. */
00030         struct ffAli *origFf,           /* Alignment block to extend. */
00031         char *nStart, char *nEnd,       /* Bounds of region to extend through */
00032         char *hStart, char *hEnd,       /* Bounds of region to extend through */
00033         int dir,                        /* +1 to extend end, -1 to extend start */
00034         int maxExt);                    /* Maximum length of extension. */
00035 /* Extend a gapless alignment in one direction.  Returns extending
00036  * ffAlis, not linked into origFf, or NULL if no extension possible. */
00037 
00038 #endif /* BANDEXT_H */

Generated on Tue Dec 25 18:39:29 2007 for blat by  doxygen 1.5.2