00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include <Sequence/PolyTable.hpp>
00025 #include <Sequence/stateCounter.hpp>
00026 #include <string>
00027
00028 namespace Sequence
00029 {
00030 struct _PolySNPImpl
00037 {
00038 const PolyTable* _data;
00039 unsigned _nsites,_nsam,_outgroup;
00040 bool _haveOutgroup, _totMuts;
00041 unsigned _totsam;
00042 unsigned _DVK;
00043 double _DVH;
00044 bool _counted_singletons;
00045 bool _know_pi;
00046 bool _CalculatedDandV;
00047 double _pi;
00048 unsigned _singletons;
00049 unsigned _walls_Bprime,_NumPoly;
00050 double _walls_B,_walls_Q;
00051 bool _calculated_wall_stats;
00052 std::vector< Sequence::stateCounter > _counts;
00053 std::vector< std::pair< bool, Sequence::stateCounter > > _derivedCounts;
00054 bool _preprocessed;
00055 void preprocess(void);
00056
00057 _PolySNPImpl (const Sequence::PolyTable * data, bool haveOutgroup ,
00058 unsigned outgroup, bool totMuts);
00059 };
00060 }