BamTools
2.5.3
Loading...
Searching...
No Matches
src
api
SamReadGroup.h
Go to the documentation of this file.
1
// ***************************************************************************
2
// SamReadGroup.h (c) 2010 Derek Barnett
3
// Marth Lab, Department of Biology, Boston College
4
// ---------------------------------------------------------------------------
5
// Last modified: 10 October 2011 (DB)
6
// ---------------------------------------------------------------------------
7
// Provides direct read/write access to the SAM read group data fields.
8
// ***************************************************************************
9
10
#ifndef SAM_READGROUP_H
11
#define SAM_READGROUP_H
12
13
#include <string>
14
#include <vector>
15
#include "
api/BamAux.h
"
16
#include "
api/api_global.h
"
17
18
namespace
BamTools
{
19
20
struct
API_EXPORT
SamReadGroup
21
{
22
23
// ctor & dtor
24
SamReadGroup
();
25
SamReadGroup
(
const
std::string&
id
);
26
27
// query/modify entire read group
28
void
Clear
();
// clears all data fields
29
30
// convenience query methods
31
bool
HasDescription
()
const
;
// returns true if read group has a description
32
bool
HasFlowOrder
()
const
;
// returns true if read group has a flow order entry
33
bool
HasID
()
const
;
// returns true if read group has a group ID
34
bool
HasKeySequence
()
const
;
// returns true if read group has a key sequence
35
bool
HasLibrary
()
const
;
// returns true if read group has a library name
36
bool
HasPlatformUnit
()
const
;
// returns true if read group has a platform unit ID
37
bool
HasPredictedInsertSize
()
const
;
// returns true if read group has a predicted insert size
38
bool
HasProductionDate
()
const
;
// returns true if read group has a production date
39
bool
HasProgram
()
const
;
// returns true if read group has a program entry
40
bool
HasSample
()
const
;
// returns true if read group has a sample name
41
bool
HasSequencingCenter
()
const
;
// returns true if read group has a sequencing center ID
42
bool
HasSequencingTechnology
()
43
const
;
// returns true if read group has a sequencing technology ID
44
45
// data fields
46
std::string
Description
;
// DS:<Description>
47
std::string
FlowOrder
;
// FO:<FlowOrder>
48
std::string
ID
;
// ID:<ID> *Required for valid SAM header*
49
std::string
KeySequence
;
// KS:<KeySequence>
50
std::string
Library
;
// LB:<Library>
51
std::string
PlatformUnit
;
// PU:<PlatformUnit>
52
std::string
PredictedInsertSize
;
// PI:<PredictedInsertSize>
53
std::string
ProductionDate
;
// DT:<ProductionDate>
54
std::string
Program
;
// PG:<Program>
55
std::string
Sample
;
// SM:<Sample>
56
std::string
SequencingCenter
;
// CN:<SequencingCenter>
57
std::string
SequencingTechnology
;
// PL:<SequencingTechnology>
58
std::vector<CustomHeaderTag>
CustomTags
;
// optional custom tags
59
};
60
64
inline
bool
operator==
(
const
SamReadGroup
& lhs,
const
SamReadGroup
& rhs)
65
{
66
return
lhs.
ID
== rhs.
ID
;
67
}
68
69
}
// namespace BamTools
70
71
#endif
// SAM_READGROUP_H
BamAux.h
api_global.h
BamTools
Contains all BamTools classes & methods.
Definition
Sort.h:24
BamTools::operator==
bool operator==(const SamProgram &lhs, const SamProgram &rhs)
tests equality by comparing program IDs
Definition
SamProgram.h:57
BamTools::SamReadGroup
Represents a SAM read group entry.
Definition
SamReadGroup.h:21
BamTools::SamReadGroup::ID
std::string ID
corresponds to @RG ID:<ID>
Definition
SamReadGroup.h:48
BamTools::SamReadGroup::ProductionDate
std::string ProductionDate
corresponds to @RG DT:<ProductionDate>
Definition
SamReadGroup.h:53
BamTools::SamReadGroup::HasPlatformUnit
bool HasPlatformUnit() const
Returns true if read group contains @RG PU:<PlatformUnit>.
Definition
SamReadGroup.cpp:136
BamTools::SamReadGroup::CustomTags
std::vector< CustomHeaderTag > CustomTags
Definition
SamReadGroup.h:58
BamTools::SamReadGroup::Library
std::string Library
corresponds to @RG LB:<Library>
Definition
SamReadGroup.h:50
BamTools::SamReadGroup::HasProductionDate
bool HasProductionDate() const
Returns true if read group contains @RG DT:<ProductionDate>.
Definition
SamReadGroup.cpp:152
BamTools::SamReadGroup::HasPredictedInsertSize
bool HasPredictedInsertSize() const
Returns true if read group contains @RG PI:<PredictedInsertSize>.
Definition
SamReadGroup.cpp:144
BamTools::SamReadGroup::Program
std::string Program
corresponds to @RG PG:<Program>
Definition
SamReadGroup.h:54
BamTools::SamReadGroup::HasLibrary
bool HasLibrary() const
Returns true if read group contains @RG LB:<Library>.
Definition
SamReadGroup.cpp:128
BamTools::SamReadGroup::FlowOrder
std::string FlowOrder
corresponds to @RG FO:<FlowOrder>
Definition
SamReadGroup.h:47
BamTools::SamReadGroup::PlatformUnit
std::string PlatformUnit
corresponds to @RG PU:<PlatformUnit>
Definition
SamReadGroup.h:51
BamTools::SamReadGroup::SequencingTechnology
std::string SequencingTechnology
corresponds to @RG PL:<SequencingTechnology>
Definition
SamReadGroup.h:57
BamTools::SamReadGroup::SamReadGroup
SamReadGroup()
default constructor
Definition
SamReadGroup.cpp:62
BamTools::SamReadGroup::Sample
std::string Sample
corresponds to @RG SM:<Sample>
Definition
SamReadGroup.h:55
BamTools::SamReadGroup::HasFlowOrder
bool HasFlowOrder() const
Returns true if read group contains @RG FO:<FlowOrder>.
Definition
SamReadGroup.cpp:104
BamTools::SamReadGroup::Description
std::string Description
corresponds to @RG DS:<Description>
Definition
SamReadGroup.h:46
BamTools::SamReadGroup::KeySequence
std::string KeySequence
corresponds to @RG KS:<KeySequence>
Definition
SamReadGroup.h:49
BamTools::SamReadGroup::HasDescription
bool HasDescription() const
Returns true if read group contains @RG DS:<Description>.
Definition
SamReadGroup.cpp:96
BamTools::SamReadGroup::Clear
void Clear()
Clears all data fields.
Definition
SamReadGroup.cpp:76
BamTools::SamReadGroup::HasSample
bool HasSample() const
Returns true if read group contains @RG SM:<Sample>.
Definition
SamReadGroup.cpp:168
BamTools::SamReadGroup::HasSequencingCenter
bool HasSequencingCenter() const
Returns true if read group contains @RG CN:<SequencingCenter>.
Definition
SamReadGroup.cpp:176
BamTools::SamReadGroup::HasKeySequence
bool HasKeySequence() const
Returns true if read group contains @RG KS:<KeySequence>.
Definition
SamReadGroup.cpp:120
BamTools::SamReadGroup::SequencingCenter
std::string SequencingCenter
corresponds to @RG CN:<SequencingCenter>
Definition
SamReadGroup.h:56
BamTools::SamReadGroup::HasSequencingTechnology
bool HasSequencingTechnology() const
Returns true if read group contains @RG PL:<SequencingTechnology>.
Definition
SamReadGroup.cpp:184
BamTools::SamReadGroup::HasID
bool HasID() const
Returns true if read group contains @RG: ID:<ID>.
Definition
SamReadGroup.cpp:112
BamTools::SamReadGroup::PredictedInsertSize
std::string PredictedInsertSize
corresponds to @RG PI:<PredictedInsertSize>
Definition
SamReadGroup.h:52
BamTools::SamReadGroup::HasProgram
bool HasProgram() const
Returns true if read group contains @RG PG:<Program>.
Definition
SamReadGroup.cpp:160
Generated by
1.15.0