Changes

From Genome Analysis Wiki
Jump to navigationJump to search
3,107 bytes added ,  16:54, 22 August 2011
no edit summary
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/).

Navigation menu