libsequence  1.9.5
FST.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 __FST_H__
25 #define __FST_H__
26 
27 #include <utility>
28 #include <set>
29 #include <memory>
31 
37 namespace Sequence
38 {
39  class PolyTable;
40  struct FSTimpl;
41  class __attribute__ ((deprecated)) FST
42  {
43  private:
44  std::unique_ptr<FSTimpl> impl;
45  public:
46  explicit FST(const PolyTable *data, unsigned npop, const unsigned *config=NULL,
47  const double *weights=NULL, bool haveOutgroup = false,
48  unsigned outgroup = 0);
49  FST(const FST &) = delete;
50  FST & operator=(const FST &) = delete;
51  ~FST(void);
52  double HSM(void) const;
53  double Slatkin(void) const;
54  double HBK(void) const;
55  double piB(void) const;
56  double piT(void) const;
57  double piS(void) const;
58  double piD(void) const;
59  std::set<double> shared(unsigned pop1, unsigned pop2) const;
60  std::set<double> fixed(unsigned pop1, unsigned pop2) const;
61  std::pair< std::set<double>,std::set<double> > Private(unsigned pop1, unsigned pop2) const;
62  };
63 }
64 #endif
The base class for polymorphism tables.
analysis of population structure using
The namespace in which this library resides.
class __attribute__((deprecated)) FST
Functor to count the number of states, excluding gaps and missing data, in a range of characters...
Definition: FST.hpp:41
declaration of Sequence::stateCounter, a class to keep track of nucleotide counts either at a site in...