Difference between revisions of "LibStatGen: BAM"

From Genome Analysis Wiki
Jump to navigationJump to search
Line 1: Line 1:
 
[[Category:Software]]
 
[[Category:Software]]
 
[[Category:C++]]
 
[[Category:C++]]
[[Category:libbam]]
+
[[Category:BAM Classes]]
  
 
= SAM/BAM File=
 
= SAM/BAM File=
  
See [[C++ Library: libbam Change Log]] for a list of the most recent updates to the library.
+
See [[C++ Library: BAM Change Log]] for a list of the most recent updates to the BAM classes.
  
 
[[BAM Review Action Items]]
 
[[BAM Review Action Items]]
  
== Read & Write BAM/SAM Library ==
+
== Read & Write BAM/SAM Library Software ==
  
 
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 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.
+
The library is found in statgen/lib/bam.
  
This library is dependent on two other libraries:
+
=== BAM/SAM Classes ===
# [[C++ Library: libcsg|libcsg/libcsg.a]]
 
# 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 ===
 
 
{| style="margin: 1em 1em 1em 0; background-color: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse;" border="1"
 
{| style="margin: 1em 1em 1em 0; background-color: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse;" border="1"
 
|-style="background: #f2f2f2; text-align: center;"
 
|-style="background: #f2f2f2; text-align: center;"
Line 53: Line 46:
  
 
== FAQs ==
 
== FAQs ==
[[SAM/BAM Library FAQs]]
+
[[SAM/BAM Classes FAQs]]
  
 
== Usage Examples ==
 
== Usage Examples ==
Line 63: Line 56:
  
 
== Suggested Improvements/Features ==
 
== Suggested Improvements/Features ==
See [[C++ Library: libbam Change Log#Known Issues|Change Log]]
+
See [[C++ Library: BAM Change Log#Known Issues|Change Log]]

Revision as of 01:34, 2 November 2010


SAM/BAM File

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

BAM Review Action Items

Read & Write BAM/SAM Library Software

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 statgen/lib/bam.

BAM/SAM Classes

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.

FAQs

SAM/BAM Classes FAQs

Usage Examples

Sam Library Usage Examples


Executable

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

Suggested Improvements/Features

See Change Log