]> git.donarmstrong.com Git - bamtools.git/blob - src/api/SamSequence.cpp
Added SAM header-handling classes for read/write/validate.
[bamtools.git] / src / api / SamSequence.cpp
1 // ***************************************************************************
2 // SamSequence.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 sequence data
9 // *************************************************************************
10
11 #include <api/SamSequence.h>
12 using namespace BamTools;
13 using namespace std;
14
15 // ctor
16 SamSequence::SamSequence(const string& name)
17     : Name(name)
18     , Length("")
19     , AssemblyID("")
20     , Checksum("")
21     , URI("")
22     , Species("")
23 { }
24
25 // dtor
26 SamSequence::~SamSequence(void) {
27     Clear();
28 }
29
30 // clear all contents
31 void SamSequence::Clear(void) {
32     Name.clear();
33     Length.clear();
34     AssemblyID.clear();
35     Checksum.clear();
36     URI.clear();
37     Species.clear();
38 }
39
40 // convenience methods to check if SamSequence contains these values:
41 bool SamSequence::HasName(void) const       { return (!Name.empty());       }
42 bool SamSequence::HasLength(void) const     { return (!Length.empty());     }
43 bool SamSequence::HasAssemblyID(void) const { return (!AssemblyID.empty()); }
44 bool SamSequence::HasChecksum(void) const   { return (!Checksum.empty());   }
45 bool SamSequence::HasURI(void) const        { return (!URI.empty());        }
46 bool SamSequence::HasSpecies(void) const    { return (!Species.empty());    }