/usr/include/pbseq/pbdata/reads/PulseFile.hpp is in libpbdata-dev 0~20161219-1.
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 | #ifndef _BLASR_PULSE_FILE_HPP_
#define _BLASR_PULSE_FILE_HPP_
#include <map>
#include <vector>
#include "../Types.h"
#include "../Enumerations.h"
#include "../DNASequence.hpp"
#include "../SMRTSequence.hpp"
#include "PulseBaseCommon.hpp"
#include "ScanData.hpp"
class PulseFile : public PulseBaseCommon {
public:
unsigned int numFrames;
PlatformId platformId;
std::vector<unsigned int> startFrame;
std::vector<uint16_t> plsWidthInFrames;
int midSignalNDims, maxSignalNDims, meanSignalNDims;
std::vector<uint16_t> midSignal;
std::vector<uint16_t> maxSignal;
std::vector<uint16_t> meanSignal;
std::vector<DNALength> numEvent;
std::vector<DSLength> pulseStartPositions;
std::vector<float> classifierQV;
PulseFile(){numFrames = 0; platformId = Springfield;}
// Copy signals (QVs) from signalData (which has dimension signalNDims)
// starting from position pulseStartPos with length readLength to readData.
// If signal diamension is 2 (2D Array e.g., Chi2), then bases in readSeq at a
// particular location is used to determine which channel to copy the signal from.
// e.g., if basemap is 'GCTA', and base at position 3 is T, each base corresponds
// to 4 channels and then we need to copy signal from channel 2 of position 3.
void CopySignal(HalfWord *signalData, // either a vector or matrix
int signalNDims, // diamension of signal, either 1 or 2.
DSLength pulseStartPos, // 0 if baseToPulseIndex maps to abs position
int *baseToPulseIndex, // Map base to pulse index.
Nucleotide *readSeq,
DNALength readLength, // read length (num of signals to copy)
HalfWord *readData);
// plsReadIndex: index of this hole number in /PulseCalls/ZMW/HoleNumber.
// baseToPulseIndex: index from pulse to base from the beginning of the read.
// read: a SMRTSequence.
void CopyReadAt(UInt plsReadIndex, int *baseToPulseIndex, SMRTSequence &read);
template<typename T_FieldType>
void StoreField(std::vector<T_FieldType> &source, int *basToPlsIndex, T_FieldType *dest, const DSLength destLength);
template <typename T>
bool Realloc(T *&ptr, const DNALength length);
};
#include "PulseFileImpl.hpp"
#endif
|