/usr/include/bamtools/api/SamProgram.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 | // ***************************************************************************
// SamProgram.h (c) 2011 Derek Barnett
// Marth Lab, Department of Biology, Boston College
// ---------------------------------------------------------------------------
// Last modified: 10 October 2011 (DB)
// ---------------------------------------------------------------------------
// Provides direct read/write access to the SAM header program records.
// ***************************************************************************
#ifndef SAM_PROGRAM_H
#define SAM_PROGRAM_H
#include "api/api_global.h"
#include "api/BamAux.h"
#include <string>
namespace BamTools {
class SamProgramChain;
struct API_EXPORT SamProgram {
// ctor & dtor
SamProgram(void);
SamProgram(const std::string& id);
SamProgram(const SamProgram& other);
~SamProgram(void);
// query/modify entire program record
void Clear(void); // clears all data fields
// convenience query methods
bool HasCommandLine(void) const; // returns true if program record has a command line entry
bool HasID(void) const; // returns true if program record has an ID
bool HasName(void) const; // returns true if program record has a name
bool HasPreviousProgramID(void) const; // returns true if program record has a 'previous program ID'
bool HasVersion(void) const; // returns true if program record has a version
// data members
std::string CommandLine; // CL:<CommandLine>
std::string ID; // ID:<ID> *Required for valid SAM header*
std::string Name; // PN:<Name>
std::string PreviousProgramID; // PP:<PreviousProgramID>
std::string Version; // VN:<Version>
std::vector<CustomHeaderTag> CustomTags; // optional custom tags
// internal (non-standard) methods & fields
private:
bool HasNextProgramID(void) const;
std::string NextProgramID;
friend class BamTools::SamProgramChain;
};
/*! \fn bool operator==(const SamProgram& lhs, const SamProgram& rhs)
\brief tests equality by comparing program IDs
*/
API_EXPORT inline bool operator==(const SamProgram& lhs, const SamProgram& rhs) {
return lhs.ID == rhs.ID;
}
} // namespace BamTools
#endif // SAM_PROGRAM_H
|