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
|
#ifndef _BLASR_HDF_ALN_INFO_GROUP_HPP_
#define _BLASR_HDF_ALN_INFO_GROUP_HPP_
#include <cinttypes>
#include <string>
#include <vector>
#include <hdf/HDF2DArray.hpp>
#include <hdf/HDFArray.hpp>
#include <hdf/HDFAtom.hpp>
#include <hdf/HDFGroup.hpp>
#include <pbdata/alignment/CmpAlignment.hpp>
#include <pbdata/saf/AlnInfo.hpp>
class HDFAlnInfoGroup
{
public:
HDFGroup alnInfoGroup;
HDF2DArray<unsigned int> alnIndexArray;
HDFArray<float> startTime;
static const int NCols = 22;
HDFArray<unsigned int> numPasses;
HDFAtom<std::vector<std::string> > columnNames;
HDFAtom<int> frameRate;
int Initialize(HDFGroup &rootGroup);
int InitializeNumPasses();
void InitializeDefaultColumnNames(std::vector<std::string> &defaultColumnNames);
bool Create(HDFGroup &parent);
~HDFAlnInfoGroup();
// Return size of /AlnInfo/AlnIndex in KB
UInt GetAlnIndexSize();
void Read(AlnInfo &alnInfo);
int GetNAlignments();
unsigned int WriteAlnIndex(std::vector<unsigned int> &aln);
void ReadCmpAlignment(UInt alignmentIndex, CmpAlignment &cmpAlignment);
};
#endif
|