00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef OST_IO_FASTA_HANDLER_HH
00020 #define OST_IO_FASTA_HANDLER_HH
00021
00022
00023
00024 #include <ost/io/module_config.hh>
00025 #include "sequence_io_handler.hh"
00026
00027 namespace ost { namespace io {
00028
00029 class DLLEXPORT_OST_IO FastaIOHandler : public SequenceIOHandler {
00030 public:
00031 virtual void Import(seq::SequenceList& aln,
00032 const boost::filesystem::path& loc);
00033
00034 virtual void Export(const seq::ConstSequenceList& aln,
00035 const boost::filesystem::path& loc) const;
00036
00037 virtual void Import(seq::SequenceList& aln,
00038 std::istream& instream);
00039
00040 virtual void Export(const seq::ConstSequenceList& aln,
00041 std::ostream& ostream) const;
00042
00043 static bool ProvidesImport(const boost::filesystem::path& loc,
00044 const String& format="auto");
00045 static bool ProvidesExport(const boost::filesystem::path& loc,
00046 const String& format="auto");
00047 static String GetFormatName() { return String("Fasta"); }
00048 static String GetFormatDescription() { return String("Sequence format originally used by the Fasta suite of programs"); }
00049
00050 private:
00051 };
00052
00053 typedef SequenceIOHandlerFactory<FastaIOHandler> FastaIOHandlerFactory;
00054 }}
00055
00056 #endif