This file is indexed.

/usr/include/bamtools/api/SamReadGroup.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
// ***************************************************************************
// SamReadGroup.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 read group data fields.
// ***************************************************************************

#ifndef SAM_READGROUP_H
#define SAM_READGROUP_H

#include "api/api_global.h"
#include "api/BamAux.h"
#include <string>
#include <vector>

namespace BamTools {

struct API_EXPORT SamReadGroup {

    // ctor & dtor
    SamReadGroup(void);
    SamReadGroup(const std::string& id);
    SamReadGroup(const SamReadGroup& other);
    ~SamReadGroup(void);

    // query/modify entire read group
    void Clear(void);                          // clears all data fields

    // convenience query methods
    bool HasDescription(void) const;           // returns true if read group has a description
    bool HasFlowOrder(void) const;             // returns true if read group has a flow order entry
    bool HasID(void) const;                    // returns true if read group has a group ID
    bool HasKeySequence(void) const;           // returns true if read group has a key sequence
    bool HasLibrary(void) const;               // returns true if read group has a library name
    bool HasPlatformUnit(void) const;          // returns true if read group has a platform unit ID
    bool HasPredictedInsertSize(void) const;   // returns true if read group has a predicted insert size
    bool HasProductionDate(void) const;        // returns true if read group has a production date
    bool HasProgram(void) const;               // returns true if read group has a program entry
    bool HasSample(void) const;                // returns true if read group has a sample name
    bool HasSequencingCenter(void) const;      // returns true if read group has a sequencing center ID
    bool HasSequencingTechnology(void) const;  // returns true if read group has a sequencing technology ID


    // data fields
    std::string Description;                   // DS:<Description>
    std::string FlowOrder;                     // FO:<FlowOrder>
    std::string ID;                            // ID:<ID>              *Required for valid SAM header*
    std::string KeySequence;                   // KS:<KeySequence>
    std::string Library;                       // LB:<Library>
    std::string PlatformUnit;                  // PU:<PlatformUnit>
    std::string PredictedInsertSize;           // PI:<PredictedInsertSize>
    std::string ProductionDate;                // DT:<ProductionDate>
    std::string Program;                       // PG:<Program>
    std::string Sample;                        // SM:<Sample>
    std::string SequencingCenter;              // CN:<SequencingCenter>
    std::string SequencingTechnology;          // PL:<SequencingTechnology>
    std::vector<CustomHeaderTag> CustomTags;   // optional custom tags
};

/*! \fn bool operator==(const SamReadGroup& lhs, const SamReadGroup& rhs)
    \brief tests equality by comparing read group IDs
*/
API_EXPORT inline bool operator==(const SamReadGroup& lhs, const SamReadGroup& rhs) {
    return lhs.ID == rhs.ID;
}

} // namespace BamTools

#endif // SAM_READGROUP_H