/usr/include/pbseq/hdf/HDFScanDataWriter.hpp is in libpbihdf-dev 0~20161219-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 | // Author: Yuan Li
#ifndef DATA_HDF_HDF_SCAN_DATA_WRITER_H_
#define DATA_HDF_HDF_SCAN_DATA_WRITER_H_
#include <string>
#include <iostream>
#include "HDFFile.hpp"
#include "HDFGroup.hpp"
#include "HDFAtom.hpp"
// pbdata/
#include "../pbdata/Enumerations.h"
#include "../pbdata/reads/ScanData.hpp"
#include "../pbdata/reads/AcqParams.hpp"
class HDFScanDataWriter {
private:
HDFGroup * rootGroupPtr;
HDFGroup scanDataGroup;
HDFGroup acqParamsGroup;
HDFGroup dyeSetGroup;
HDFGroup runInfoGroup;
HDFAtom<std::string> whenStartedAtom;
HDFAtom<float> frameRateAtom;
HDFAtom<unsigned int> numFramesAtom;
HDFAtom<std::string> baseMapAtom;
HDFAtom<uint16_t> numAnalogAtom;
HDFAtom<std::string> movieNameAtom;
HDFAtom<std::string> runCodeAtom;
HDFAtom<std::string> bindingKitAtom;
HDFAtom<std::string> sequencingKitAtom;
HDFAtom<unsigned int> platformIdAtom;
HDFAtom<std::string> platformNameAtom;
HDFAtom<std::string> instrumentNameAtom;
void CreateAcqParamsGroup();
void CreateDyeSetGroup();
void CreateRunInfoGroup();
public:
HDFScanDataWriter(HDFFile & _outFile);
HDFScanDataWriter(HDFGroup & _rootGroup);
~HDFScanDataWriter();
int Initialize(HDFGroup & _rootGroup);
void Write(const ScanData & scanData);
void Write(const ScanData & scanData,
const AcqParams & acqParam);
void WriteFrameRate(const float frameRate);
void WriteNumFrames(const unsigned int numFrames);
void WriteWhenStarted(const std::string whenStarted);
void Close();
private:
void WriteBaseMap(const std::string baseMapStr);
void WriteNumAnalog(const uint16_t numAnalog);
void WritePlatformId(const PlatformId id);
void WriteMovieName(const std::string movieName);
void WriteRunCode(const std::string runCode);
void WriteBindingKit(const std::string & bindingKit);
void WriteSequencingKit(const std::string & sequencingKit);
private:
/// Write attributes to /ScanData/AcqParams
void _WriteAcqParams(const AcqParams & acqParams);
void _WriteAduGain(const float aduGain);
void _WriteCameraGain(const float cameraGain);
void _WriteCameraType(const int cameraType);
void _WriteHotStartFrame(const UInt hotStartFrame);
void _WriteLaserOnFrame(const UInt laserOnFrame);
};
#endif
|