Line 1: |
Line 1: |
| + | [[Category:C++]] |
| + | [[Category:libStatGen]] |
| + | [[Category:libStatGen BAM]] |
| + | |
| = SAM/BAM File= | | = SAM/BAM File= |
| | | |
− | See [[C++ Library: libbam Change Log]] for a list of the most recent updates to the library. | + | See the github history: https://github.com/statgen/libStatGen/commits/master/bam for a list of the most recent updates to the BAM classes. |
| | | |
− | == Read & Write BAM/SAM Library ==
| + | [[BAM Review Action Items|Old BAM Review Action Items]] |
| | | |
− | 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 Software == |
| | | |
− | The library is found in pipeline/bam, and is called libbam.a. | + | 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. |
| | | |
− | This library is dependent on two other libraries, so be sure to include them all in the proper order:
| + | The library is found in statgen/lib/bam. |
− | <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 === | + | === BAM/SAM Classes === |
| {| 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 22: |
Line 25: |
| | <code>[[C++ Class: SamFileHeader|SamFileHeader]]</code> | | | <code>[[C++ Class: SamFileHeader|SamFileHeader]]</code> |
| | Class used for storing the header. Allows access for getting and setting header values when both reading & writing SAM/BAM files. | | | Class used for storing the header. Allows access for getting and setting header values when both reading & writing SAM/BAM files. |
| + | |- |
| + | | <code>[http://csg.sph.umich.edu//mktrost/doxygen/current/classSamHeaderRecord.html SamHeaderRecord]</code> |
| + | | Class used for storing the tag/value pairs within a given header line. |
| |- | | |- |
| | <code>[[C++ Class: SamRecord|SamRecord]]</code> | | | <code>[[C++ Class: SamRecord|SamRecord]]</code> |
| | Class used for storing a SAM/BAM Record. Allows access for getting and setting record values when both reading & writing SAM/BAM files. | | | Class used for storing a SAM/BAM Record. Allows access for getting and setting record values when both reading & writing SAM/BAM files. |
| |- | | |- |
| + | | <code>[http://csg.sph.umich.edu//mktrost/doxygen/current/classSamStatus.html SamStatus]</code> |
| + | | Status value used by the BAM classes for returning the status of the operations. |
| + | |- |
| + | | <code>[http://csg.sph.umich.edu//mktrost/doxygen/current/classSamValidator.html SamValidator]</code> |
| + | | Validates a SAM/BAM Record. |
| + | |- |
| + | | <code>[http://csg.sph.umich.edu//mktrost/doxygen/current/classSamValidationError.html SamValidationError]</code> |
| + | | Validation Error Information for a SamRecord. |
| + | |- |
| + | | <code>[http://csg.sph.umich.edu//mktrost/doxygen/current/classSamValidationErrors.html SamValidationErrors]</code> |
| + | | Container for ValidationErrors. |
| + | |- |
| + | | <code>[http://csg.sph.umich.edu//mktrost/doxygen/current/classPileup.html Pileup]</code> |
| + | | Template for doing pileups. |
| + | |- |
| + | | <code>[http://csg.sph.umich.edu//mktrost/doxygen/current/classPileupElement.html PileupElement]</code> |
| + | | Base class that can be used for the elements stored in a Pileup. |
| + | |- |
| + | | <code>[http://csg.sph.umich.edu//mktrost/doxygen/current/classErrorHandler.html ErrorHandler]</code> |
| + | | Class for handling errors based on the error handling type. |
| + | |- |
| + | | <code>[http://csg.sph.umich.edu//mktrost/doxygen/current/classPosList.html PosList]</code> |
| + | | Store refID/position, but does not store values < 0. |
| + | |- |
| + | | <code>[http://csg.sph.umich.edu//mktrost/doxygen/current/classSamFilter.html SamFilter]</code> |
| + | | Class for filtering a SAM/BAM record. |
| + | |- |
| + | | <code>[http://csg.sph.umich.edu//mktrost/doxygen/current/classSamFlag.html SamFlag]</code> |
| + | | Class for getting information from a SAM/BAM flag. |
| + | |- |
| + | | <code>[http://csg.sph.umich.edu//mktrost/doxygen/current/classSamReferenceInfo.html SamReferenceInfo]</code> |
| + | | Class for tracking the reference information mapping between the reference ids and the reference names. |
| + | |- |
| + | | <code>[http://csg.sph.umich.edu//mktrost/doxygen/current/classSamTags.html SamTags]</code> |
| + | | Class for parsing/creating/operating on SAM/BAM record tags. |
| |} | | |} |
| | | |
| + | == FAQs == |
| + | [[SAM/BAM Classes FAQs]] |
| + | |
| + | == Usage Examples == |
| + | [[Sam Library Usage Examples]] |
| + | |
| + | |
| + | == Programs == |
| | | |
− | == Suggested Improvements/Features ==
| + | BamUtil contains a set of programs that uses this library to operate on SAM & BAM files. It includes tools for converting between SAM & BAM and validating the files. See [[BamUtil]] for more information and a description of all the tools. |