/usr/include/blasr/files/ReaderAgglomerate.hpp is in libblasr-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 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | #ifndef _BLASR_READER_AGGLOMERATE_HPP_
#define _BLASR_READER_AGGLOMERATE_HPP_
#include <cstdlib>
#include "Enumerations.h"
#include "reads/ReadType.hpp"
#include "files/BaseSequenceIO.hpp"
#include "FASTAReader.hpp"
#include "FASTQReader.hpp"
#include "CCSSequence.hpp"
#include "SMRTSequence.hpp"
#include "StringUtils.hpp"
#include "HDFBasReader.hpp"
#include "HDFCCSReader.hpp"
#ifdef USE_PBBAM
#include "pbbam/BamFile.h"
#include "pbbam/EntireFileQuery.h"
#include "pbbam/QNameQuery.h"
#include "pbbam/BamRecord.h"
#endif
class ReaderAgglomerate : public BaseSequenceIO {
FASTAReader fastaReader;
FASTQReader fastqReader;
int readQuality;
int stride;
int start;
float subsample;
bool useRegionTable;
bool ignoreCCS;
ReadType::ReadTypeEnum readType;
public:
//
// Create interfaces for reading hdf
//
T_HDFBasReader<SMRTSequence> hdfBasReader;
HDFCCSReader<CCSSequence> hdfCcsReader;
vector<SMRTSequence> readBuffer;
vector<CCSSequence> ccsBuffer;
string readGroupId;
public:
void SetToUpper();
void InitializeParameters();
ReaderAgglomerate();
ReaderAgglomerate(float _subsample);
ReaderAgglomerate(int _stride);
ReaderAgglomerate(int _start, int _stride);
void GetMovieName(string &movieName);
/// Get BindingKit, SequencingKit and Base Caller Version from h5.
///
/// /param [out] sequencingKit - sequencingKit from
/// /ScanData/RunInfo/SequencingKit.
///
/// /param [out] bindingKit - BindingKit from
/// /ScanData/RunInfo/BindingKit.
///
/// /param [out] baseCallerVersion - Base Caller Version
/// from /PulseData/BaseCalls/ChangeListID.
///
void GetChemistryTriple(string & bindingKit,
string & sequencingKit,
string & baseCallerVersion);
bool FileHasZMWInformation();
void SkipReadQuality();
void IgnoreCCS();
void UseCCS();
int Initialize(string &pFileName);
bool SetReadFileName(string &pFileName);
int Initialize(FileType &pFileType, string &pFileName);
bool HasRegionTable();
int Initialize();
ReaderAgglomerate &operator=(ReaderAgglomerate &rhs);
bool Subsample(float rate);
// Set read type to SUBREAD, CCS, or UNKNOWN.
void SetReadType(const ReadType::ReadTypeEnum & readType_);
// returns read type, SUBREAD, CCS, or UNKNOWN
ReadType::ReadTypeEnum GetReadType();
public:
int GetNext(FASTASequence &seq);
int GetNext(FASTQSequence &seq);
int GetNext(SMRTSequence &seq);
int GetNext(CCSSequence &seq);
int GetNext(vector<SMRTSequence> & reads);
template<typename T_Sequence>
int GetNext(T_Sequence & seq, int & randNum);
int GetNextBases(SMRTSequence & seq, bool readQVs);
int Advance(int nSteps);
void Close();
#ifdef USE_PBBAM
public:
// Define reader to fetch sequences from bam.
PacBio::BAM::BamFile * bamFilePtr;
PacBio::BAM::EntireFileQuery * entireFileQueryPtr;
PacBio::BAM::EntireFileQuery::iterator bamIterator;
PacBio::BAM::QNameQuery * zmwGroupQueryPtr;
PacBio::BAM::QNameQuery::iterator zmwGroupIterator;
#endif
};
template<typename T_Sequence>
int ReadChunkByNReads(ReaderAgglomerate &reader, vector<T_Sequence> &reads, int maxNReads);
template<typename T_Sequence>
int ReadChunkBySize (ReaderAgglomerate &reader, vector<T_Sequence> &reads, int maxMemorySize);
#include "files/ReaderAgglomerateImpl.hpp"
#endif
|