X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=src%2Fapi%2FSamHeader.h;h=707edbe760d23b3fc7ba0a4c52c571aa52ffb66a;hb=2e049ed7f28881bce09653e60f5aea54bfd7afbf;hp=3b67621ac4dca6bd94aba4293b7d944bf7eba5e8;hpb=11fabb69eb8c86635dd9498679b72bf78b3af3d1;p=bamtools.git diff --git a/src/api/SamHeader.h b/src/api/SamHeader.h index 3b67621..707edbe 100644 --- a/src/api/SamHeader.h +++ b/src/api/SamHeader.h @@ -2,7 +2,7 @@ // SamHeader.h (c) 2010 Derek Barnett // Marth Lab, Department of Biology, Boston College // --------------------------------------------------------------------------- -// Last modified: 18 April 2011 (DB) +// Last modified: 6 October 2011 (DB) // --------------------------------------------------------------------------- // Provides direct read/write access to the SAM header data fields. // *************************************************************************** @@ -28,27 +28,29 @@ struct API_EXPORT SamHeader { // query/modify entire SamHeader void Clear(void); // clears all header contents + std::string GetErrorString(void) const; + bool HasError(void) const; bool IsValid(bool verbose = false) const; // returns true if SAM header is well-formed void SetHeaderText(const std::string& headerText); // replaces data fields with contents of SAM-formatted text std::string ToString(void) const; // returns the printable, SAM-formatted header text // convenience query methods - bool HasVersion(void) const; // returns true if header contains format version entry - bool HasSortOrder(void) const; // returns true if header contains sort order entry - bool HasGroupOrder(void) const; // returns true if header contains group order entry - bool HasSequences(void) const; // returns true if header contains any sequence entries - bool HasReadGroups(void) const; // returns true if header contains any read group entries - bool HasPrograms(void) const; // returns true if header contains any program record entries - bool HasComments(void) const; // returns true if header contains comments + bool HasVersion(void) const; // returns true if header contains format version entry + bool HasSortOrder(void) const; // returns true if header contains sort order entry + bool HasGroupOrder(void) const; // returns true if header contains group order entry + bool HasSequences(void) const; // returns true if header contains any sequence entries + bool HasReadGroups(void) const; // returns true if header contains any read group entries + bool HasPrograms(void) const; // returns true if header contains any program record entries + bool HasComments(void) const; // returns true if header contains comments // -------------- // data members // -------------- // header metadata (@HD line) - std::string Version; // VN: *Required for valid SAM header, if @HD record is present* - std::string SortOrder; // SO: - std::string GroupOrder; // GO: + std::string Version; // VN: *Required, if @HD record is present* + std::string SortOrder; // SO: + std::string GroupOrder; // GO: // header sequences (@SQ entries) SamSequenceDictionary Sequences; @@ -61,6 +63,9 @@ struct API_EXPORT SamHeader { // header comments (@CO entries) std::vector Comments; + + private: + mutable std::string m_errorString; }; } // namespace BamTools