]> git.donarmstrong.com Git - bamtools.git/blob - bamtools_fasta.h
43c262bcfe79a744f70154052caa2b2ec938de49
[bamtools.git] / bamtools_fasta.h
1 #ifndef BAMTOOLS_FASTA_H
2 #define BAMTOOLS_FASTA_H
3
4 #include <string>
5
6 namespace BamTools {
7
8 class Fasta {  
9   
10     // ctor & dtor
11     public:
12         Fasta(void);
13         ~Fasta(void);
14         
15     // file-handling methods
16     public:
17         bool Close(void);
18         bool Open(const std::string& filename, const std::string& indexFilename = "");
19         
20     // sequence access methods
21     public:
22         bool GetBase(const int& refID, const int& position, char& base);
23         bool GetSequence(const int& refId, const int& start, const int& stop, std::string& sequence);
24         
25     // index-handling methods
26     public:
27         bool CreateIndex(const std::string& indexFilename);
28
29     // internal implementation
30     private:
31         struct FastaPrivate;
32         FastaPrivate* d;
33 };
34   
35 } // BAMTOOLS_FASTA_H
36   
37 #endif // BAMTOOLS_FASTA_H