00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00012
#ifndef _gnDataBaseSource_h_
00013
#define _gnDataBaseSource_h_
00014
00015
#include "gn/gnDefs.h"
00016
00017
#include <string>
00018
#include "gnBaseSource.h"
00019
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 };
00049
00050
#endif
00051