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