// // Copyright 2009 Illumina, Inc. // // 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). // // /// \file /// \author Ivan Mikoulitch /// #ifndef __FASTA_READER_H #define __FASTA_READER_H #include "stdafx.h" class FastaReader { public: FastaReader(void); FastaReader(string fileName); ~FastaReader(void); bool Open(); void Close(); bool ReadNextReference(); // string GetNextFastaReference(); string GetMatchDescriptorInfo(const string& sam_data); // string GetMatchDescriptor(const string& read, const string& reference, long position, const string& cigar); const string& GetRefHeader() { return ref_header_; } private: string fileName_; ifstream fs_; string ref_header_; string ref_header_next_; string ref_sequence_; // string line_; // map sequences_; // void ReadSequences(); // void ReadSequences(ifstream&); bool inline IsHeaderLine(string& line); string inline GetHeaderId(string& header); // string GetSequence(const string& reference); // string GetCigarReferenceSequence(long position, const string& cigar); }; #endif