Difference between revisions of "LibStatGen: BAM"

From Genome Analysis Wiki
Jump to navigationJump to search
Line 1: Line 1:
 +
[[Category:Software]]
 +
 
= SAM/BAM File=
 
= SAM/BAM File=
  

Revision as of 17:21, 1 June 2010


SAM/BAM File

See C++ Library: libbam Change Log for a list of the most recent updates to the library.

Read & Write BAM/SAM Library

The software reads the beginning of files opened for reading to determine if it is SAM/BAM. To determine the format (SAM/BAM) of files open for writing, the software checks the output file's extension. If the extension is ".bam" it writes a BAM file, otherwise it writes a SAM file.

The library is found in pipeline/bam, and is called libbam.a.

This library is dependent on two other libraries:

  1. libcsg/libcsg.a
  2. thirdParty/samtools/libbam.a

Be sure to include them all in the proper order:

<path to base pipeline directory>/libbam.a <path to base pipeline directory>/libcsg/libcsg.a <path to base pipeline directory>/thirdParty/samtools/libbam.a

Classes in the BAM/SAM Library

Class Name Description
SamFile Class used for reading/writing SAM/BAM files and their headers and records.
SamFileHeader Class used for storing the header. Allows access for getting and setting header values when both reading & writing SAM/BAM files.
SamHeaderRecord Class used for storing the tag/value pairs within a given header line.
SamRecord Class used for storing a SAM/BAM Record. Allows access for getting and setting record values when both reading & writing SAM/BAM files.
SamStatus Status value used by the libbam classes for returning the status of the operations.
SamValidator Validates a SAM/BAM Record.
SamValidationError Validation Error Information for a SamRecord.
SamValidationErrors Container for ValidationErrors.

Executable

An executable that converts between SAM and BAM formats and that can validate SAM/BAM Records has been developed: bam

Suggested Improvements/Features