SamReferenceInfo.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef __SAM_REFERENCE_INFO_H__
00019 #define __SAM_REFERENCE_INFO_H__
00020
00021 #include "StringArray.h"
00022 #include "StringHash.h"
00023 #include "IntArray.h"
00024
00025 class SamReferenceInfo
00026 {
00027 public:
00028 SamReferenceInfo();
00029 ~SamReferenceInfo();
00030
00031 void add(const char* referenceSequenceName,
00032 int32_t referenceSequenceLength);
00033
00034 int getReferenceID(const String & referenceName);
00035 int getReferenceID(const char* referenceName);
00036 const String & getReferenceLabel(int id) const;
00037
00038
00039 int32_t getNumEntries() const;
00040
00041
00042
00043 const char* getReferenceName(int index) const;
00044
00045
00046
00047 int32_t getReferenceLength(int index) const;
00048
00049
00050 void clear();
00051
00052 SamReferenceInfo & operator = (const SamReferenceInfo & rhs);
00053
00054 private:
00055
00056 StringArray myReferenceContigs;
00057 StringIntHash myReferenceHash;
00058 IntArray myReferenceLengths;
00059 };
00060
00061 #endif
00062