1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
/*
* vcf_file.h
*
* Created on: Dec 11, 2012
* Author: amarcketta
*/
#ifndef VCF_FILE_H_
#define VCF_FILE_H_
#include "output_log.h"
#include "vcf_entry.h"
#include "parameters.h"
#include "variant_file.h"
extern output_log LOG;
using namespace std;
class vcf_file : public variant_file
{
public:
vcf_file(const parameters ¶ms, bool diff=false);
void get_entry(vector<char> &out);
entry* get_entry_object();
void print(const parameters ¶ms);
void print_bcf(const parameters ¶ms);
protected:
~vcf_file();
private:
char *gz_readbuffer;
void open();
void open_gz();
void close();
bool eof();
inline void read_line(string &out);
inline void read_line(vector<char> &out);
void read_header();
bool stream;
};
#endif /* VCF_FILE_H_ */
|