3 blast_dust.h Adaptation of dust filtering in BLAST
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
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 ********************************/
51 /** Bit mask for obtaining a single base from a byte in ncbi2na format */
52 #define NCBI2NA_MASK 0x03
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
);
73 #endif /* !__BLAST_FILTER__ */