/usr/include/pbdata/FASTAReader.hpp is in libpbdata-dev 0~20151014+gitbe5d1bf-2.
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 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | #ifndef _BLASR_FASTA_READER_HPP_
#define _BLASR_FASTA_READER_HPP_
#include <stdint.h>
#include <string>
#include "FASTASequence.hpp"
#include "metagenome/SequenceIndexDatabase.hpp"
class FASTAReader {
protected:
long fileSize;
int fileDes;
char* filePtr;
long curPos;
int padding;
char endOfReadDelim;
char readStartDelim;
bool doToUpper;
unsigned char *convMat;
//
// Quick check to see how much to read.
//
void SetFileSize();
void ReadTitle(long &p, char *&title, int &titleLength);
public:
bool computeMD5;
std::string curReadMD5;
void Init();
FASTAReader();
FASTAReader(std::string &fileName);
void SetSpacePadding(int _padding);
void SetToUpper();
//
// Synonym for Init() for consistency.
//
int Initialize(std::string &seqInName);
int Init(std::string &seqInName, int passive=0);
void AdvanceToTitleStart(long &p, char delim='>');
void CheckValidTitleStart(long &p, char delim='>');
long ReadAllSequencesIntoOne(FASTASequence &seq, SequenceIndexDatabase<FASTASequence> *seqDBPtr=NULL);
void ReadTitle(long &p, FASTASequence & seq);
int GetNext(FASTASequence &seq);
/*
Advance to the read nSeq forward.
input: nSeq, the number of sequences to skip.
output:
returns 1 if after advancing nSeq sequences, the file pointer is pointing to
a new sequence.
0 otherwise.
A return value of 0 will signal that the file is done being processed if it is
iterting over reads.
*/
int Advance(int nSeq);
int CriticalGetNext(FASTASequence &seq);
int ConcatenateNext(FASTASequence &cur);
void Close();
void ReadAllSequences(vector<FASTASequence> &sequences);
};
#endif // _BLASR_FASTA_READER_HPP_
|