NCBI C++ ToolKit
win_mask_sdust_masker.hpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* $Id: win_mask_sdust_masker.hpp 78368 2017-06-13 18:26:55Z rackerst $
2  * ===========================================================================
3  *
4  * PUBLIC DOMAIN NOTICE
5  * National Center for Biotechnology Information
6  *
7  * This software/database is a "United States Government Work" under the
8  * terms of the United States Copyright Act. It was written as part of
9  * the author's official duties as a United States Government employee and
10  * thus cannot be copyrighted. This software/database is freely available
11  * to the public for use. The National Library of Medicine and the U.S.
12  * Government have not placed any restriction on its use or reproduction.
13  *
14  * Although all reasonable efforts have been taken to ensure the accuracy
15  * and reliability of the software and data, the NLM and the U.S.
16  * Government do not and cannot warrant the performance or results that
17  * may be obtained by using this software or data. The NLM and the U.S.
18  * Government disclaim all warranties, express or implied, including
19  * warranties of performance, merchantability or fitness for any particular
20  * purpose.
21  *
22  * Please cite the author in any work or product based on this material.
23  *
24  * ===========================================================================
25  *
26  * Author: Aleksandr Morgulis
27  *
28  * File Description:
29  * CSDustMasker class definition.
30  *
31  */
32 
33 #ifndef C_SDUST_MASKER_H
34 #define C_SDUST_MASKER_H
35 
36 #include <string>
37 
38 #include <corelib/ncbitype.h>
39 
42 
44 
45 /**
46  **\brief This class encapsulates the dusting functionality of winmask.
47  **
48  **/
50 {
51 public:
52 
53  /**\brief Type representing a masked subsequence of a sequence. */
55 
56  /**\brief Type representing a list of masked segments. */
58 
59  /**
60  **\brief Object constructor.
61  **
62  **\param window dust window
63  **\param level dust level
64  **\param linker dust linker
65  **
66  **/
67  CSDustMasker( Uint4 window, Uint4 level, Uint4 linker );
68 
69  /**
70  **\brief Object destructor.
71  **
72  **/
73  ~CSDustMasker();
74 
75  /**
76  **\brief Function performing the actual dusting.
77  **
78  **\param data sequence data in IUPACNA format
79  **\return pointer to a list of dusted sequences
80  **
81  **/
82  TMaskList * operator()( const objects::CSeqVector & data,
83  const TMaskList & exclude_ranges );
84 
85 private:
86 
87  Uint4 window; /**<\internal dust window in base pairs */
88 
89  CSymDustMasker duster_; /**<\internal symmetric dust masker */
90 };
91 
93 
94 #endif
This class encapsulates the dusting functionality of winmask.
CSDustMasker(Uint4 window, Uint4 level, Uint4 linker)
Object constructor.
~CSDustMasker()
Object destructor.
CSeqMasker::TMaskList TMaskList
Type representing a list of masked segments.
CSeqMasker::TMaskedInterval TMaskedInterval
Type representing a masked subsequence of a sequence.
TMaskList * operator()(const objects::CSeqVector &data, const TMaskList &exclude_ranges)
Function performing the actual dusting.
CSymDustMasker duster_
pair< TSeqPos, TSeqPos > TMaskedInterval
Type representing a masked interval within a sequence.
Definition: seq_masker.hpp:67
vector< TMaskedInterval > TMaskList
A type representing the total of masking information about a sequence.
Definition: seq_masker.hpp:74
Looks for low complexity parts of sequences according to the symmetric version of DUST algorithm.
Definition: symdust.hpp:61
char data[12]
Definition: iconv.c:80
uint32_t Uint4
4-byte (32-bit) unsigned integer
Definition: ncbitype.h:103
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
Defines Limits for the types used in NCBI C/C++ toolkit.
Modified on Fri Sep 20 14:57:20 2024 by modify_doxy.py rev. 669887