Line 3: |
Line 3: |
| [[Category:libStatGen]] | | [[Category:libStatGen]] |
| | | |
− | = DESCRIPTION = | + | = Description = |
| Open source, freely available (GPL license), easy to use C++ APIs | | Open source, freely available (GPL license), easy to use C++ APIs |
| * General Operation Classes including: | | * General Operation Classes including: |
Line 9: |
Line 9: |
| ** String processing | | ** String processing |
| ** Parameter Parsing | | ** Parameter Parsing |
− | * Statistical Genetic Specific Classes including: | + | * '''Statistical Genetic Specific Classes''' including: |
− | **Handling Common file formats – SAM/BAM, FASTQ, GLF | + | **Handling Common file formats – SAM/BAM, FASTQ, GLF, VCF (coming soon) |
| ***Accessors to get/set values | | ***Accessors to get/set values |
| ***Indexed access to BAM files | | ***Indexed access to BAM files |
Line 16: |
Line 16: |
| ***Cigar – interpretation and mapping between query and reference | | ***Cigar – interpretation and mapping between query and reference |
| ***Pileup – structured access to data by individual reference position | | ***Pileup – structured access to data by individual reference position |
| + | |
| + | = Where to Find It = |
| + | libStatGen can be found at: [https://github.com/statgen/libStatGen https://github.com/statgen/libStatGen] |
| + | |
| + | 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 https://github.com/statgen/libStatGen.git |
| + | or |
| + | git clone git://github.com/statgen/libStatGen.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 [https://statgen.sph.umich.edu/wiki/How_To_Use_Git 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 = | | = Library Documentation = |
− | Latest Doxygen documentation: | + | Latest Doxygen documentation: <span style="color:#B22222">Coming Soon</span> |
− | [http://www.sph.umich.edu/csg/mktrost/doxygen/march22_2011/ 3/22/11 Library Documentation in Doxygen] | + | |
| + | Additional documentation: <span style="color:#B22222">Currently outdated, but updates will be coming soon</span> |
| + | * [[libStatGen: general]] - General classes for file processing and performing common tasks (used by most other libraries). |
| + | * [[libStatGen: BAM]] - Classes specific for reading/writing/analyzing SAM/BAM files. |
| + | * [[libStatGen: GLF]] - Classes specific for reading/writing/analyzing GLF files. |
| + | * [[libStatGen: FASTQ]] - Classes specific for reading/writing/analyzing FastQ files. |
| + | |
| + | = Using the Library = |
| + | == Building the Library == |
| + | |
| + | If you type make help, you get the build options. |
| + | <pre> |
| + | Makefile help |
| + | ------------- |
| + | Type... To... |
| + | make Compile opt |
| + | make help Display this help screen |
| + | make all Compile everything (opt, debug, & profile) |
| + | make opt Compile optimized |
| + | make debug Compile for debug |
| + | make profile Compile for profile |
| + | make clean Delete temporary files |
| + | make 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://www.sph.umich.edu/csg/mktrost/doxygen/version.0.1.2/ Version 0.1.2 Library Documentation in Doxygen]
| + | These libraries are created in the top level libStatGen directory and can then be linked to appropriately for optimized, debugging, or profiling builds. |
| | | |
− | Possibly out of date documentation:
| + | == Navigating the Library Subdirectories == |
− | * [[StatGenLibrary: general]] - General classes for file processing and performing common tasks (used by most other libraries). | + | Under the main libStatGen repository, there are: |
− | * [[StatGenLibrary: BAM]] - Classes specific for reading/writing/analyzing SAM/BAM files. | + | *bam - library code for operating on bam files. |
− | * [[StatGenLibrary: GLF]] - Classes specific for reading/writing/analyzing GLF files. | + | *copyrights - copyrights for the library and any code included with it. |
− | * [[StatGenLibrary: FASTQ]] - Classes specific for reading/writing/analyzing FastQ files. | + | *fastq - library code for operating on fastq files. |
| + | *general - library code for general operations |
| + | *glf - library code for operating on glf files. |
| + | *include - after compiling, the library headers are linked here |
| + | *Makefiles - directory containing Makefiles that are used in the library and can be used for developing 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/debug and obj/profile. |
| + | |
| + | Most also have a test directory. Tests are executed by running <code>make test</code> |
| + | |
| + | === 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: | | In the following instructions/comments: |
| * replace STATGEN_DIR with the path to where the statgen directory is located (does not include statgen/). | | * replace STATGEN_DIR with the path to where the statgen directory is located (does not include statgen/). |