Difference between revisions of "LibStatGen: BAM"

From Genome Analysis Wiki
Jump to navigationJump to search
(No difference)

Revision as of 16:42, 6 April 2010

SAM/BAM File

SAM Library Change Log

Read & Write BAM/SAM Executable

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.


Read & Write BAM/SAM Library

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:

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


Reading/Writing SAM/BAM Files In Your Program

Documentation on the SamFile class can be found at C++ Class: SamFile.


SAM/BAM Header

Documentation on reading/writing a SAM/BAM Header can be found at C++ Class: SamFileHeader.


SAM/BAM Record

Documentation on reading/writing a SAM/BAM Record can be found at C++ Class: SamRecord.

Suggested Improvements/Features