SamHeader.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef SAM_HEADER_H
00011 #define SAM_HEADER_H
00012
00013 #include "api/api_global.h"
00014 #include "api/SamProgramChain.h"
00015 #include "api/SamReadGroupDictionary.h"
00016 #include "api/SamSequenceDictionary.h"
00017 #include <string>
00018 #include <vector>
00019
00020 namespace BamTools {
00021
00022 struct API_EXPORT SamHeader {
00023
00024
00025 SamHeader(const std::string& headerText = "");
00026 SamHeader(const SamHeader& other);
00027 ~SamHeader(void);
00028
00029
00030 void Clear(void);
00031 std::string GetErrorString(void) const;
00032 bool HasError(void) const;
00033 bool IsValid(bool verbose = false) const;
00034 void SetHeaderText(const std::string& headerText);
00035 std::string ToString(void) const;
00036
00037
00038 bool HasVersion(void) const;
00039 bool HasSortOrder(void) const;
00040 bool HasGroupOrder(void) const;
00041 bool HasSequences(void) const;
00042 bool HasReadGroups(void) const;
00043 bool HasPrograms(void) const;
00044 bool HasComments(void) const;
00045
00046
00047
00048
00049
00050
00051 std::string Version;
00052 std::string SortOrder;
00053 std::string GroupOrder;
00054
00055
00056 SamSequenceDictionary Sequences;
00057
00058
00059 SamReadGroupDictionary ReadGroups;
00060
00061
00062 SamProgramChain Programs;
00063
00064
00065 std::vector<std::string> Comments;
00066
00067
00068 private:
00069 mutable std::string m_errorString;
00070 };
00071
00072 }
00073
00074 #endif // SAM_HEADER_H