Difference between revisions of "LibStatGen: BAM"
Line 1: | Line 1: | ||
= SAM/BAM File= | = SAM/BAM File= | ||
− | [[ | + | [[C++ Library: bam Change Log]] |
== Read & Write BAM/SAM Executable == | == Read & Write BAM/SAM Executable == |
Revision as of 17:02, 6 April 2010
SAM/BAM File
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
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. |