00001 ///////////////////////////////////////////////////////////////////////////// 00002 // DataBase: gnDataBaseSource.h 00003 // Purpose: Implements gnBaseSource for .DataBase files 00004 // Description: 00005 // Changes: 00006 // Version: libGenome 0.5.1 00007 // Author: Aaron Darling 00008 // Modified by: 00009 // Copyright: (c) Aaron Darling 00010 // Licenses: See COPYING file for details 00011 ///////////////////////////////////////////////////////////////////////////// 00012 #ifndef _gnDataBaseSource_h_ 00013 #define _gnDataBaseSource_h_ 00014 00015 #include "gn/gnDefs.h" 00016 00017 #include <string> 00018 #include "gnBaseSource.h" 00019 00020 /** 00021 * Not yet implemented. 00022 */ 00023 class gnDataBaseSource : public gnBaseSource 00024 { 00025 public: 00026 virtual ~gnDataBaseSourcee(){} 00027 00028 virtual gnDataBaseSource* Clone() const = 0; 00029 00030 virtual gnBaseSource* Clone() const = 0; 00031 00032 virtual boolean Open( string openString ) = 0; 00033 virtual boolean Open() = 0; 00034 virtual boolean Close() = 0; 00035 virtual string GetOpenString() const = 0; 00036 virtual uint32 GetContigListLength() const = 0; 00037 virtual boolean HasContig( const string& name ) const = 0; 00038 virtual uint32 GetContigID( const string& name ) const = 0; 00039 virtual string GetContigName( const uint32 i ) const = 0; 00040 virtual gnSeqI GetContigSeqLength( const uint32 i ) const = 0; 00041 virtual const gnFilter* GetFilter() const = 0; 00042 virtual boolean SetFilter( gnFilter* filter ) = 0; 00043 virtual boolean Read( const uint64 pos, char* buf, uint32& bufLen) = 0; 00044 virtual boolean SeqRead( const gnSeqI start, char* buf, uint32& bufLen, const uint32 contigI=ALL_CONTIGS ) = 0; 00045 virtual gnGenomeSpec *GetSpec() const = 0; 00046 private: 00047 gnDataBaseSource(){} 00048 };// class gnDataBaseSource 00049 00050 #endif 00051 // _gnDataBaseSource_h_