libsequence  1.9.5
ThreeSubs.hpp
Go to the documentation of this file.
1 /*
2 
3  Copyright (C) 2003-2009 Kevin Thornton, krthornt[]@[]uci.edu
4 
5  Remove the brackets to email me.
6 
7  This file is part of libsequence.
8 
9  libsequence is free software: you can redistribute it and/or modify
10  it under the terms of the GNU General Public License as published by
11  the Free Software Foundation, either version 3 of the License, or
12  (at your option) any later version.
13 
14  libsequence is distributed in the hope that it will be useful,
15  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  GNU General Public License for more details.
18 
19  You should have received a copy of the GNU General Public License
20  long with libsequence. If not, see <http://www.gnu.org/licenses/>.
21 
22 */
23 
24 #ifndef THREESUBS_H
25 #define THREESUBS_H
26 
46 #include <Sequence/SeqEnums.hpp>
47 #include <string>
48 #include <memory>
49 namespace Sequence
50 {
51  class RedundancyCom95;
52  class ThreeSubs
53  {
54  private:
55  struct ThreeSubsImpl;
56  std::unique_ptr<ThreeSubsImpl> impl;
57  public:
58  explicit ThreeSubs(void);
59  void operator() (const RedundancyCom95 & sitesObj,
60  const std::string &codon1, const std::string &codon2,
61  const Sequence::WeightingScheme3 *weights3);
62  ~ThreeSubs(void);
64  double P0 (void) const;
66  double P2S (void) const;
68  double P2V (void) const;
70  double P4 (void) const;
72  double Q0 (void) const;
74  double Q2S (void) const;
76  double Q2V (void) const;
78  double Q4 (void) const;
79  };
80 }
81 #endif
double P2S(void) const
Definition: ThreeSubs.cc:237
double P4(void) const
Definition: ThreeSubs.cc:247
The namespace in which this library resides.
void operator()(const RedundancyCom95 &sitesObj, const std::string &codon1, const std::string &codon2, const Sequence::WeightingScheme3 *weights3)
Definition: ThreeSubs.cc:60
abstract interface to weighting schemes when codons differ at 3 positions
declarations of Sequence::Intermediates2 and Sequence::Intermediates3
double Q0(void) const
Definition: ThreeSubs.cc:252
double Q2S(void) const
Definition: ThreeSubs.cc:257
abstract interface to weighting schemes when codons differ at 2 positions
double Q2V(void) const
Definition: ThreeSubs.cc:262
Deal with codons differing at all 3 positions.
Definition: ThreeSubs.hpp:52
Calculate redundancy of a genetic code using Comeron&#39;s counting scheme.
double P2V(void) const
Definition: ThreeSubs.cc:242
double Q4(void) const
Definition: ThreeSubs.cc:267
Definition of enumeration types.
double P0(void) const
Definition: ThreeSubs.cc:232