/usr/include/SeqLib/FastqReader.h is in libseqlib-dev 1.1.1+dfsg-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 48 49 50 51 52 53 54 55 56 57 58 59 | #ifndef SEQLIB_FASTQ_READER_H
#define SEQLIB_FASTQ_READER_H
#include <string>
#include <iostream>
#include <fstream>
#include <sys/stat.h>
#include <unistd.h>
// all kseq stuff is in UnaligedSequence
#include "SeqLib/UnalignedSequence.h"
namespace SeqLib{
/** Simple reader for FASTA/FASTQ files */
class FastqReader {
public:
/** Construct an empty FASTQ/FASTA reader */
FastqReader() {}
/** Construct a reader and open a FASTQ/FASTA reader
* @param file Path to a FASTQ or FASTA file
*/
FastqReader(const std::string& file);
/** Open a FASTQ/FASTA file for reading
* @param file Path to a FASTQ or FASTA file
* @return Returns true if opening was successful
*/
bool Open(const std::string& file);
/** Retrieve the next sequence from the FASTA/FASTQ
* @param s Sequence to be filled in with Name, Seq, Qual and Strand
*/
bool GetNextSequence(UnalignedSequence& s);
~FastqReader() {
if (seq)
kseq_destroy(seq);
if (fp)
gzclose(fp);
}
private:
std::string m_file;
gzFile fp; // file handler for kseq
kseq_t * seq; // current read
};
}
#endif
|