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

Go to the SVN repository for this file.

1 #ifndef CU_ALIGNED_DM__HPP
2 #define CU_ALIGNED_DM__HPP
3 
4 /* $Id: cuAlignedDM.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: Charlie Liu
30 *
31 * File Description: algAlignedDM.hpp
32 *
33 * Representation of a distance matrix for phylogenetic calculations.
34 * This class of DMs operates on Multiple-aligned sequences
35 *
36 */
38 
41 BEGIN_SCOPE(cd_utils)
42 
44 {
45 
46 public:
47 
48  AlignedDM();
49  void setData(MultipleAlignment* malign);
50  virtual bool ComputeMatrix(pProgressFunction pFunc) = 0;
51  virtual ~AlignedDM();
52 protected:
53  // fractional offset added to score->distance mapping
54  static const double FRACTIONAL_EXTRA_OFFSET;
55 
58 
59  // When distance is sum over scores in aligned region
60  int GetMaxScoreForAligned();
61  // Compute score for an exact match
62  int GetMaxScore(CharPtr residues);
63  // Compute minimum possible score for current CD's aligned length
64  int SetMinScore();
65  // Append extra residues for positive shifts; remove residues for negative shifts
66  bool GetResidueListsWithShifts();
67 private:
68  void setData(AlignmentCollection* data) {} //hide this one
69 };
70 
71 END_SCOPE(cd_utils)
73 #endif
static const double FRACTIONAL_EXTRA_OFFSET
Definition: cuAlignedDM.hpp:54
CharPtr * m_ppAlignedResidues
Definition: cuAlignedDM.hpp:56
MultipleAlignment * m_maligns
Definition: cuAlignedDM.hpp:57
virtual bool ComputeMatrix(pProgressFunction pFunc)=0
void setData(AlignmentCollection *data)
Definition: cuAlignedDM.hpp:68
USING_SCOPE(objects)
void(* pProgressFunction)(int Num, int Total)
Definition: cuDistmat.hpp:47
char data[12]
Definition: iconv.c:80
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define END_SCOPE(ns)
End the previously defined scope.
Definition: ncbistl.hpp:75
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
#define BEGIN_SCOPE(ns)
Define a new scope.
Definition: ncbistl.hpp:72
#define NCBI_CDUTILS_EXPORT
Definition: ncbi_export.h:376
Modified on Sun Apr 14 05:26:53 2024 by modify_doxy.py rev. 669887