]> git.donarmstrong.com Git - bamtools.git/blobdiff - README
Updated README
[bamtools.git] / README
diff --git a/README b/README
index 9553d1ac96ecee5acef3bce6235edf4cc1c6e04e..dc24cbbee8a64c563a20c886300b7eca3f98f18b 100644 (file)
--- a/README
+++ b/README
@@ -1,28 +1,56 @@
----------------
-README
-----------------
+------------------------------------------------------------
+README : BAMTOOLS
+------------------------------------------------------------
 
+BamTools: a C++ API for reading/writing BAM files.
 
-Significant re-write of BamReader API as of 5/18/2009:
--------------------------------------------------------
-No longer using bgzf.h/.c
-No longer using libbambc.a library
-No longer using STL Utilities
-Minor changes to API syntax in opening BAM files with BamReader - see BamReader.h for details
+I.   Introduction
+II.  Usage
+III. Contact
 
+------------------------------------------------------------
 
-Compile instructions
-----------------------
-Short version:
-See Makefile for compilation example.
 
-Longer version:
-Copy BamAlignment.h, BamReader.* and/or BamWriter.* to working directory.
-#include "BamReader.h" and/or "BamWriter.h"
-Use standard compile commands, including the "-lz" parameter to access zlib functionality.
-(Note that "-L. -lbambc" are no longer necessary and WILL CAUSE PROBLEMS for compiler/linker )
+I. Introduction:
 
+The API consists of 2 main modules - BamReader and BamWriter. As you would expect, 
+BamReader provides read-access to BAM files, while BamWriter does the writing of BAM
+files. BamReader provides an interface for random-access (jumping) in a BAM file,
+as well as generating BAM index files.
+An additional file, BamAux.h, is included as well.  
+This file contains the common data structures and typedefs used throught the API.
 
-Feel free to email me or pop by my desk with any questions, comments, suggestions, etc.
-  - Derek 
+BGZF.h & BGZF.cpp contain our implementation of the Broad Institute's 
+BGZF compression format.
 
+BamConversion, BamDump, and BamTrim are 3 'toy' examples on how the API can be used.
+
+------------------------------------------------------------
+
+Usage : 
+
+To use this API, you simply need to do 3 things:
+
+    1 - Drop the BamTools files somewhere the compiler can find them.
+        (i.e. in your source tree, or somewhere else in your include path)
+
+    2 - Import BamTools API with the following lines of code
+        #include "BamReader.h"     // as needed
+        #include "BamWriter.h"     // as needed
+        using namespace BamTools;
+       
+    3 - Compile with '-lz' ('l' as in Lima) to access ZLIB compression library
+           (For VS users, I can provide you zlib headers - just contact me).
+
+See any included programs and Makefile for more specific compiling/usage examples.
+See comments in the header files for more detailed API documentation. 
+
+------------------------------------------------------------
+
+Contact :
+
+Feel free to contact me with any questions, comments, suggestions, bug reports, etc.
+  - Derek Barnett
+  
+http://sourceforge.net/projects/bamtools