00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _POLYSIM_H_
00025 #define _POLYSIM_H_
00026
00039 #include <Sequence/PolySNP.hpp>
00040
00041 namespace Sequence
00042 {
00043 class SimData;
00044 class PolySIM : public PolySNP
00045 {
00046 private:
00047
00048 int poly (int *subslist, int ss,
00049 int subsize, int subss, int *seq);
00050 int nextsample (int *subslist, int subsize, int nsam, int seq);
00051 protected:
00052 void WallStats(void);
00053 public:
00054 explicit PolySIM (const Sequence::SimData * data);
00055 virtual ~ PolySIM(void);
00056
00057 double ThetaPi (void);
00058 double ThetaW (void);
00059 double ThetaH (void);
00060 double ThetaL (void);
00061
00062
00063 unsigned NumMutations (void);
00064 unsigned NumSingletons (void);
00065 unsigned NumExternalMutations (void);
00066
00067 double TajimasD (void);
00068 double Hprime (bool likeThorntonAndolfatto = false);
00069 double Dnominator (void);
00070 double FuLiD (void);
00071 double FuLiF (void);
00072 double FuLiDStar (void);
00073 double FuLiFStar (void);
00074 double WallsB(void);
00075 unsigned WallsBprime(void);
00076 double WallsQ(void);
00077
00078 int HudsonsHaplotypeTest (int subsize, int subss);
00079
00080
00081 unsigned Minrec (void);
00082 };
00083 }
00084 #endif