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

Go to the SVN repository for this file.

1 #ifndef ALGO_ALIGN_SPLICEDALIGNER32__HPP
2 #define ALGO_ALIGN_SPLICEDALIGNER32__HPP
3 
4 /* $Id: nw_spliced_aligner32.hpp 33815 2007-05-04 17:18:18Z kazimird $
5 * ===========================================================================
6 *
7 * PUBLIC DOMAIN NOTICE
8 * National Center for Biotechnology Information
9 *
10 * This software/database is a "United States Government Work" under the
11 * terms of the United States Copyright Act. It was written as part of
12 * the author's official duties as a United States Government employee and
13 * thus cannot be copyrighted. This software/database is freely available
14 * to the public for use. The National Library of Medicine and the U.S.
15 * Government have not placed any restriction on its use or reproduction.
16 *
17 * Although all reasonable efforts have been taken to ensure the accuracy
18 * and reliability of the software and data, the NLM and the U.S.
19 * Government do not and cannot warrant the performance or results that
20 * may be obtained by using this software or data. The NLM and the U.S.
21 * Government disclaim all warranties, express or implied, including
22 * warranties of performance, merchantability or fitness for any particular
23 * purpose.
24 *
25 * Please cite the author in any work or product based on this material.
26 *
27 * ===========================================================================
28 *
29 * Author: Yuri Kapustin
30 *
31 */
32 
33 #include "nw_spliced_aligner.hpp"
34 
35 /** @addtogroup AlgoAlignSpliced
36  *
37  * @{
38  */
39 
40 
42 
43 const size_t splice_type_count_32 = 3;
44 
46 {
47 public:
48 
49  CSplicedAligner32(void);
50 
51  CSplicedAligner32(const char* seq1, size_t len1,
52  const char* seq2, size_t len2);
53 
54  CSplicedAligner32(const string& seq1, const string& seq2);
55 
56  // Getters
57  static TScore GetDefaultWi (unsigned char splice_type);
58  static TScore GetDefaultWd1 (void) { return -3; }
59  static TScore GetDefaultWd2 (void) { return -5; }
60 
61  // returns the size of a single backtrace matrix element
62  virtual size_t GetElemSize(void) const {
63  return 4;
64  }
65 
66  virtual size_t GetSpliceTypeCount(void) {
67  return splice_type_count_32;
68  }
69 
70  virtual TScore ScoreFromTranscript(const TTranscript& transcript,
71  size_t start1 = kMax_UInt,
72  size_t start2 = kMax_UInt ) const;
73 
74 protected:
75 
77 
78  TScore m_Wd1; // applies if only one donor/acceptor char damaged
79  TScore m_Wd2; // applies if both chars damaged
80 
81  virtual TScore* x_GetSpliceScores(void) {
82  return m_Wi;
83  }
84  virtual TScore x_Align (CNWAligner::SAlignInOut* data);
85 
86  void x_DoBackTrace(const Uint4* backtrace_matrix,
88 };
89 
90 
92 
93 /* @} */
94 
95 #endif /* ALGO_ALIGN_SPLICEDALIGNER32__HPP */
char data[12]
Definition: iconv.c:80
virtual TScore ScoreFromTranscript(const TTranscript &transcript, size_t start1=kMax_UInt, size_t start2=kMax_UInt) const
virtual TScore x_Align(CNWAligner::SAlignInOut *data)
void x_DoBackTrace(const CBacktraceMatrix4 &backtrace, CNWAligner::SAlignInOut *data)
virtual size_t GetSpliceTypeCount(void)
virtual size_t GetElemSize(void) const
static TScore GetDefaultWd1(void)
virtual TScore * x_GetSpliceScores(void)
static TScore GetDefaultWd2(void)
const size_t splice_type_count_32
uint32_t Uint4
4-byte (32-bit) unsigned integer
Definition: ncbitype.h:103
#define kMax_UInt
Definition: ncbi_limits.h:185
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
#define NCBI_XALGOALIGN_EXPORT
Definition: ncbi_export.h:985
Modified on Wed Apr 17 13:09:54 2024 by modify_doxy.py rev. 669887