1 // ***************************************************************************
2 // SamReadGroup.cpp (c) 2010 Derek Barnett
3 // Marth Lab, Department of Biology, Boston College
4 // All rights reserved.
5 // ---------------------------------------------------------------------------
6 // Last modified: 23 December 2010 (DB)
7 // ---------------------------------------------------------------------------
8 // Provides functionality for querying/manipulating read group data
9 // **************************************************************************
11 #include <api/SamReadGroup.h>
12 using namespace BamTools;
16 SamReadGroup::SamReadGroup(void)
22 , PredictedInsertSize("")
23 , SequencingCenter("")
25 , SequencingTechnology("")
28 // ctor with provided ID
29 SamReadGroup::SamReadGroup(const string& id)
35 , PredictedInsertSize("")
36 , SequencingCenter("")
38 , SequencingTechnology("")
42 SamReadGroup::~SamReadGroup(void) {
47 void SamReadGroup::Clear(void) {
53 PredictedInsertSize.clear();
54 SequencingCenter.clear();
55 ProductionDate.clear();
56 SequencingTechnology.clear();
59 // convenience methods to check if SamReadGroup contains these values:
60 bool SamReadGroup::HasID(void) const { return (!ID.empty()); }
61 bool SamReadGroup::HasSample(void) const { return (!Sample.empty()); }
62 bool SamReadGroup::HasLibrary(void) const { return (!Library.empty()); }
63 bool SamReadGroup::HasDescription(void) const { return (!Description.empty()); }
64 bool SamReadGroup::HasPlatformUnit(void) const { return (!PlatformUnit.empty()); }
65 bool SamReadGroup::HasPredictedInsertSize(void) const { return (!PredictedInsertSize.empty()); }
66 bool SamReadGroup::HasSequencingCenter(void) const { return (!SequencingCenter.empty()); }
67 bool SamReadGroup::HasProductionDate(void) const { return (!ProductionDate.empty()); }
68 bool SamReadGroup::HasSequencingTechnology(void) const { return (!SequencingTechnology.empty()); }