C++ Class: SamFileHeader
SamFileHeader
This class allows a user to get/set the fields in a SAM/BAM Header.
This class is part of libbam.
Setting fields in the Header
The SamFileHeader class contains accessors to set the header lines of a SAM/BAM header. By using these set methods to setup the header, they can be pulled back out using the get accessors or the header can be later written to a SAM/BAM file. The methods found in the SamFileHeader class for setting fields are:
Method Name | Description |
---|---|
bool SamFileHeader::addHeaderLine(const char* type, const char* tag, int value)
|
Adds the type, tag, and integer value to the header.
Returns true if successfully added, false if not. NOTE: currently, this method will only do one tag per type on a line. If a type has multiple tags, then the whole line needs to be added at once. |
bool SamFileHeader::addHeaderLine(const char* type, const char* tag, const char* value)
|
Adds the type, tag, and const char* value to the header.
Returns true if successfully added, false if not. NOTE: currently, this method will only do one tag per type on a line. If a type has multiple tags, then the whole line needs to be added at once. |
bool SamFileHeader::addHeaderLine(const char* headerLine)
|
Adds the already setup/formatted headerLine to the header. It is assumed that the line does not contain a “\n”.
Returns true if successfully added, false if not. |
Getting fields from the Header
Method Name | Description |
---|---|
const char* SamFileHeader::getTagSO()
|
Return the value of the SO tag. If the field does not exist, "unsorted" is returned. |
Proposed Accessors
- HD
- getVersion - returns the VN field (will only be one)
- SQ
- getRefSequenceCount - count of the number of SQ entries in the header
- getRefSequenceName - gets the next reference sequence name.
- getRefSequenceLength - gets the length associated with the specified reference sequence.
- RG
- getSampleID - for a specified Read Group....???? but SampleID is the key...maybe passing in a record?
- getReadGroup - pass in record, return a read group structure?
- getLibrary - for a given read group
- getSample - for a given read group
- getTechnology - for a given read group
- getPlatformUnit - for a given read group
NOTE: More Get Accessors will be coming. Let me know if you need a specific one, and I can add that first