/usr/include/bamtools/api/SamHeader.h is in libbamtools-dev 2.4.0+dfsg-3build1.
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 | // ***************************************************************************
// SamHeader.h (c) 2010 Derek Barnett
// Marth Lab, Department of Biology, Boston College
// ---------------------------------------------------------------------------
// Last modified: 10 October 2011 (DB)
// ---------------------------------------------------------------------------
// Provides direct read/write access to the SAM header data fields.
// ***************************************************************************
#ifndef SAM_HEADER_H
#define SAM_HEADER_H
#include "api/api_global.h"
#include "api/BamAux.h"
#include "api/SamProgramChain.h"
#include "api/SamReadGroupDictionary.h"
#include "api/SamSequenceDictionary.h"
#include <string>
#include <vector>
namespace BamTools {
struct API_EXPORT SamHeader {
// ctor & dtor
SamHeader(const std::string& headerText = "");
SamHeader(const SamHeader& other);
~SamHeader(void);
// 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
// --------------
// data members
// --------------
// header metadata (@HD line)
std::string Version; // VN:<Version> *Required, if @HD record is present*
std::string SortOrder; // SO:<SortOrder>
std::string GroupOrder; // GO:<GroupOrder>
std::vector<CustomHeaderTag> CustomTags; // optional custom tags on @HD line
// header sequences (@SQ entries)
SamSequenceDictionary Sequences;
// header read groups (@RG entries)
SamReadGroupDictionary ReadGroups;
// header program data (@PG entries)
SamProgramChain Programs;
// header comments (@CO entries)
std::vector<std::string> Comments;
// internal data
private:
mutable std::string m_errorString;
};
} // namespace BamTools
#endif // SAM_HEADER_H
|