modified: nfig1.py
[GalaxyCodeBases.git] / BGI / BASE / src / 2bwt / blast_dust.h
blob1d628b8d5f30c6126857fb5bb2a452afa94c59cb
1 /*
3 blast_dust.h Adaptation of dust filtering in BLAST
5 */
7 /* $Id: blast_dust.h,v 1.14 2005/11/16 14:31:36 madden Exp $
8 * ===========================================================================
10 * PUBLIC DOMAIN NOTICE
11 * National Center for Biotechnology Information
13 * This software/database is a "United States Government Work" under the
14 * terms of the United States Copyright Act. It was written as part of
15 * the author's official duties as a United States Government employee and
16 * thus cannot be copyrighted. This software/database is freely available
17 * to the public for use. The National Library of Medicine and the U.S.
18 * Government have not placed any restriction on its use or reproduction.
20 * Although all reasonable efforts have been taken to ensure the accuracy
21 * and reliability of the software and data, the NLM and the U.S.
22 * Government do not and cannot warrant the performance or results that
23 * may be obtained by using this software or data. The NLM and the U.S.
24 * Government disclaim all warranties, express or implied, including
25 * warranties of performance, merchantability or fitness for any particular
26 * purpose.
28 * Please cite the author in any work or product based on this material.
30 * ===========================================================================
32 * Author: Ilya Dondoshansky
36 /** @file blast_dust.h
37 * DUST filtering functions. (shouldn't this be merged with blast_filter?)
38 * @todo FIXME: include reference?
41 #ifndef __BLAST_DUST__
42 #define __BLAST_DUST__
44 /********************* Structure definitions ********************************/
48 #define TRUE 1
49 #define FALSE 0
51 /** Bit mask for obtaining a single base from a byte in ncbi2na format */
52 #define NCBI2NA_MASK 0x03
55 #ifdef __cplusplus
56 extern "C" {
57 #endif
59 /** Perform DUST low complexity filtering for a sequence buffer.
60 * @param sequence Buffer for which to find low complexity locations [in]
61 * @param length Length of the buffer [in]
62 * @param offset At what offset in the buffer to start looking? [in]
63 * @param level Level to be used in DUST algorithm [in]
64 * @param window Window size for DUST [in]
65 * @param linker Distance at which to link segments [in]
66 * @param dust_loc The locations found by dust [out]
68 int blast_dust (unsigned char* __restrict sequence, const int length, int level, int window, int linker);
70 #ifdef __cplusplus
72 #endif
73 #endif /* !__BLAST_FILTER__ */