// -*- c++ -*- /*****************************************************************************/ // Copyright (c) Illumina 2008 // Author: Richard Shaw // // This software is covered by the "Illumina Genome Analyzer Software // License Agreement" and the "Illumina Source Code License Agreement", // and certain third party copyright/licenses, and any user of this // source file is bound by the terms therein (see accompanying files // Illumina_Genome_Analyzer_Software_License_Agreement.pdf and // Illumina_Source_Code_License_Agreement.pdf and third party // copyright/license notices). /*****************************************************************************/ #ifndef ALIGN_FILE_DATA_H #define ALIGN_FILE_DATA_H /*****************************************************************************/ #include "statistics/Align_Data.h" #include "common/File_Buffer.h" /*****************************************************************************/ class Align_File_Data : public Align_Data { public: Align_File_Data(const std::string& data_file_name, const File_Buffer::Compression_Type compression = File_Buffer::compressionNone); virtual ~Align_File_Data(); virtual bool get_next_read_align_info(Read_Align_Info& read_align_info, bool& at_eof); virtual char blank_base(); private: enum { NOT_ALIGNED_NUM_FIELDS = 3, ALIGNED_NUM_FIELDS = 7 }; enum { READ_SEQ_FIELD_IND = 0, ALIGN_SCORE_FIELD_IND = 1, NUM_ALIGNS_FIELD_IND = 2, STRAND_DIR_FIELD_IND = 4, REF_SEQ_FIELD_IND = 5 }; }; /*****************************************************************************/ #endif // ! ALIGN_FILE_DATA_H /*****************************************************************************/