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 __SIMPLE_SNP_HPP__
00025 #define __SIMPLE_SNP_HPP__
00026
00063 #include <Sequence/PolyTable.hpp>
00064
00065 namespace Sequence
00066 {
00067 class SimpleSNP:public PolyTable
00068 {
00069 private:
00070 mutable bool Diploid,isoFemale;
00071 bool haveOutgroup;
00072 std::vector<std::string> _names;
00073 public:
00074 SimpleSNP (const bool diploid =0,const bool isofemale=0) : PolyTable(),
00075 Diploid(diploid),isoFemale(isofemale),haveOutgroup(false)
00094 {}
00095 ~ SimpleSNP (void) {}
00096
00097 bool outgroup(void) const;
00098 void set_outgroup( const bool & b );
00099 std::string label(unsigned i) const;
00100 std::istream & read (std::istream & s) throw (Sequence::badFormat,std::exception);
00101 std::ostream & print(std::ostream &o) const;
00102 };
00103 typedef SimpleSNP Hudson2001;
00104 }
00105 #endif