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 POLYSITES_H
00025 #define POLYSITES_H
00026
00029 #include <Sequence/PolyTable.hpp>
00030 namespace Sequence
00031 {
00032 class Fasta;
00033 class PolySites : public PolyTable
00034 {
00035 private:
00039 template<class __DataType>
00040 void fillIt(const std::vector < __DataType >&alignment,
00041 bool strictInfSites = 0,
00042 bool ignoregaps = 1,bool skipMissing=false,
00043 unsigned freqfilter=0);
00044 protected:
00045 size_t numseqs;
00046 size_t seqlen;
00047 public:
00048 PolySites (void);
00049 template<typename __DataType>
00050 PolySites (const std::vector < __DataType >&alignment, bool strictInfSites =
00051 0, bool ignoregaps = 1,bool skipMissing=false,
00052 bool skipAdjSNP=false, unsigned freqfilter=0);
00053 PolySites (const std::vector < double > &List, const std::vector < std::string > &stringList);
00054 PolySites (PolyTable::const_site_iterator beg,
00055 PolyTable::const_site_iterator end);
00056 ~PolySites(void)
00057 {}
00058 std::istream & read(std::istream &s) throw (Sequence::badFormat,std::exception);
00059 std::ostream & print(std::ostream &stream) const;
00060 };
00061 }
00062 #include <Sequence/bits/PolySites.tcc>
00063 #endif