Difference between revisions of "LibStatGen: BAM"

From Genome Analysis Wiki
Jump to navigationJump to search
Line 1: Line 1:
 
= SAM/BAM File=
 
= SAM/BAM File=
  
[[C++ Library: bam Change Log]]
+
See [[C++ Library: bam Change Log]] for a list of the most recent updates to the library.
  
== Read & Write BAM/SAM Executable ==
+
== Read & Write BAM/SAM Library ==
When the pipeline is compiled, the sam/bam executable, "bam" is generated in the pipeline/bam/ directory.
 
 
 
This executable takes 2 arguments.  The first argument is the input file.  The second argument is the output file.  The executable converts the first file into the format of the second file.  So if you want to convert a Bam file to a SAM file, from the pipeline/bam/ directory you just call:
 
./bam <bamFile>.bam <newSamFile>.sam
 
Don't forget to put in the paths to the executable and your test files.
 
 
 
The software reads the beginning of the input file to determine if it is SAM/BAM.  To determine the format (SAM/BAM) of the output file, 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.
  
== Read & Write BAM/SAM Library ==
+
The library is found in pipeline/bam, and is called libbam.a.
The software for reading/writing/parsing/validating SAM/BAM files is also available in library format.  The library is also found in pipeline/bam, and is called libbam.a.
 
  
 
This library is dependent on two other libraries, so be sure to include them all in the proper order:
 
This library is dependent on two other libraries, so be sure to include them all in the proper order:

Revision as of 17:09, 6 April 2010

SAM/BAM File

See C++ Library: bam 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, so 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.
SamRecord Class used for storing a SAM/BAM Record. Allows access for getting and setting record values when both reading & writing SAM/BAM files.


Suggested Improvements/Features