From Genome Analysis Wiki
Jump to: navigation, search

C++ Library: libStatGen

3,107 bytes added, 16:54, 22 August 2011
no edit summary
= DESCRIPTION Description =
Open source, freely available (GPL license), easy to use C++ APIs
* General Operation Classes including:
** String processing
** Parameter Parsing
* '''Statistical Genetic Specific Classes ''' including:**Handling Common file formats – SAM/BAM, FASTQ, GLF, VCF (coming soon)
***Accessors to get/set values
***Indexed access to BAM files
***Cigar – interpretation and mapping between query and reference
***Pileup – structured access to data by individual reference position
= Where to Find It =
libStatGen can be found at: []
You can both browse and download the library at that address.
This is also a git repository. You can create your own git clone from this location:
git clone
git clone git://
Either of these commands create a directory called <code>libStatGen</code> in the current directory.
If you decide to use git, but need a refresher, see [[How To Use Git]] or [ Notes on how to use git] (if you have access)
= What has changed =
The <code>pipeline</code> and <code>statgen</code> repositories have been deprecated, so please update to our new framework.
libStatGen is the new git repository for our library code.
There are now separate repositories for specific tools/groups of tools, allowing us to track everything separately so it is easier to follow changes that impact a specific tool or the library in general.
= Library Documentation =
Latest Doxygen documentation: <span style="color:#B22222">Coming Soon</span> Additional documentation: <span style="color:#B22222">Currently outdated, but updates will be coming soon</span>* [http[libStatGen://wwwgeneral]] - General classes for file processing and performing common tasks (used by most other libraries)* [[libStatGen: BAM]] - Classes specific for reading/csgwriting/mktrostanalyzing SAM/doxygenBAM files.* [[libStatGen: GLF]] - Classes specific for reading/march22_2011writing/ 3analyzing GLF files.* [[libStatGen: FASTQ]] - Classes specific for reading/22writing/11 analyzing FastQ files. = Using the Library === Building the Library Documentation in Doxygen]== If you type make help, you get the build options.<pre>Makefile help-------------Type... To...make Compile opt make help Display this help screenmake all Compile everything (opt, debug, & profile)make opt Compile optimizedmake debug Compile for debugmake profile Compile for profilemake clean Delete temporary filesmake test Execute tests (if there are any)</pre> When you just type make, it will by default to make opt. Make all indicates opt, debug, and profile. opt creates libStatGen.a, debug creates libStatGen_debug.a, profile creates libStatGen_profile.a
[http://wwwThese libraries are created in the top level libStatGen directory and can then be linked to appropriately for optimized, debugging, or profiling Version 0.1.2 Library Documentation in Doxygen]
Possibly out of date documentation== Navigating the Library Subdirectories ==Under the main libStatGen repository, there are:* [[StatGenLibrary: general]] bam - library code for operating on bam files.*copyrights - General classes copyrights for file processing the library and performing common tasks (used by most other libraries)any code included with it.* [[StatGenLibrary: BAM]] fastq - Classes specific library code for reading/writing/analyzing SAM/BAM operating on fastq files.* [[StatGenLibrary: GLF]] general - library code for general operations*glf - Classes specific library code for reading/writing/analyzing GLF operating on glf files.* [[StatGenLibrary: FASTQ]] include - after compiling, the library headers are linked here*Makefiles - Classes specific directory containing Makefiles that are used in the library and can be used for readingdeveloping programs using the library*samtools - library code used from samtools After Compiling: libStatGen.a, libStatGen_debug.a, libStatGen_profile.a are created at the top level. === bam, fastq, general, glf, samtools ===Object files are placed in an obj directory under each subdirectory with debug & profile objects in obj/writingdebug and obj/profile. Most also have a test directory. Tests are executed by running <code>make test</analyzing FastQ filescode> === Makefiles ===This directory contains base makefiles and makefile settings that are used by the library and by programs being written to use the library== Using the Library in Your Own Program ==<span style="color:#B22222">Coming Soon</span> ''' Below are the outdated instructions for <code>statgen</code>
= Using the Library =
In the following instructions/comments:
* replace STATGEN_DIR with the path to where the statgen directory is located (does not include statgen/).

Navigation menu