24 #ifndef __ALIGNMENT_HPP__ 25 #define __ALIGNMENT_HPP__ 59 template <
typename T >
60 void GetData (std::vector < T >&seqarray,
61 const char *infilename);
63 template <
typename T >
64 std::istream & GetData (std::vector < T >&seqarray,
65 std::istream & input_stream);
67 template <
typename T >
68 std::istream & ReadNObjects ( std::vector < T > &seqarray,
const unsigned & n,
69 std::istream & input_stream);
71 template <
typename T >
72 bool Gapped (
const std::vector < T >&data);
74 template <
typename T >
75 bool IsAlignment (
const std::vector < T >&data);
78 template<
typename Iterator>
79 bool validForPolyAnalysis( Iterator beg,
82 template <
typename T >
83 unsigned UnGappedLength (
const std::vector <T>&data);
86 void RemoveGaps (std::vector <T> &data);
88 template <
typename T >
89 void RemoveTerminalGaps (std::vector < T >&data);
90 template <
typename T >
91 void RemoveFixedOutgroupInsertions( std::vector<T> & data,
93 const unsigned & ref );
95 template <
typename T >
96 std::vector < T >Trim (
const std::vector < T >&data,
97 const std::vector <int> &sites);
99 template <
typename T >
100 std::vector < T >TrimComplement (
const std::vector < T >&data,
101 const std::vector <int> &sites);
104 template<>
bool Gapped(
const std::vector<std::string> &data);
105 template <>
bool IsAlignment(
const std::vector<std::string> &data);
107 bool validForPolyAnalysis( std::vector<std::string>::const_iterator beg,
108 std::vector<std::string>::const_iterator end );
110 bool validForPolyAnalysis( std::vector<std::string>::iterator beg,
111 std::vector<std::string>::iterator end );
113 unsigned UnGappedLength (
const std::vector <std::string>&data) ;
115 void RemoveGaps (std::vector <std::string> &data);
117 void RemoveTerminalGaps (std::vector <std::string> &data);
119 void RemoveFixedOutgroupInsertions(std::vector<std::string> &data,
121 const unsigned & ref);
123 std::vector <std::string >Trim (
const std::vector <std::string>&data,
124 const std::vector <int> &sites);
127 std::vector <std::string> TrimComplement (
const std::vector <std::string>&data,
128 const std::vector <int> &sites);
132 #include <Sequence/bits/Alignment.tcc> The namespace in which this library resides.