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 __FASTA_EXPLICIT_HPP_
00025 #define __FASTA_EXPLICIT_HPP_
00026
00066
00067 #if __GNUG__ && __GNUC__ >= 3
00068 #include <Sequence/Clustalw.hpp>
00069 #include <Sequence/phylipData.hpp>
00070 #include <Sequence/Fasta.hpp>
00071 namespace Sequence
00072 {
00073 namespace Alignment
00074 {
00075 extern template void GetData( std::vector<Sequence::Fasta> &,
00076 const char *);
00077 extern template std::istream & GetData( std::vector<Sequence::Fasta> &,
00078 std::istream & );
00079 extern template std::istream & ReadNObjects( std::vector<Sequence::Fasta> &,
00080 unsigned, std::istream &);
00081 extern template bool Gapped(const std::vector<Sequence::Fasta> &);
00082 extern template bool IsAlignment(const std::vector<Sequence::Fasta> &);
00083 extern template bool validForPolyAnalysis(std::vector<Sequence::Fasta>::const_iterator beg,
00084 std::vector<Sequence::Fasta>::const_iterator end);
00085 extern template unsigned UnGappedLength(const std::vector<Sequence::Fasta> &);
00086 extern template void RemoveGaps(std::vector<Sequence::Fasta> &);
00087 extern template void RemoveTerminalGaps(std::vector<Sequence::Fasta> &);
00088 extern template void RemoveFixedOutgroupInsertions( std::vector<Sequence::Fasta> & data,
00089 unsigned site,
00090 const unsigned & ref );
00091 extern template std::vector<Sequence::Fasta>
00092 Trim(const std::vector<Sequence::Fasta> &, const std::vector<int> &);
00093 extern template std::vector<Sequence::Fasta>
00094 TrimComplement(const std::vector<Sequence::Fasta> &, const std::vector<int> & );
00095 }
00096 extern template class Sequence::ClustalW< Sequence::Fasta >;
00097 extern template class Sequence::phylipData< Sequence::Fasta >;
00098 }
00099 #endif
00100
00101 #endif