From c2c287469079d1f6ae95c486c76b4e97a6d59e11 Mon Sep 17 00:00:00 2001
From: Aaron <aaronquinlan@gmail.com>
Date: Mon, 12 Dec 2011 10:07:22 -0500
Subject: [PATCH] First pass at new, consolidated CLI.

---
 Makefile                                      |  14 +
 src/annotateBed/Makefile                      |   6 +-
 src/annotateBed/annotateMain.cpp              |  22 +-
 src/bamToBed/Makefile                         |   6 +-
 src/bamToBed/bamToBed.cpp                     |  23 +-
 src/bed12ToBed6/Makefile                      |   7 +-
 src/bed12ToBed6/bed12ToBed6.cpp               |  19 +-
 src/bedToBam/Makefile                         |   7 +-
 src/bedToBam/bedToBam.cpp                     |  29 +-
 src/bedToIgv/Makefile                         |   7 +-
 src/bedToIgv/bedToIgv.cpp                     |  23 +-
 src/bedpeToBam/Makefile                       |   7 +-
 src/bedpeToBam/bedpeToBam.cpp                 |  41 +-
 src/bedpeToBam/notes.txt                      |  44 ++
 src/bedtools.cpp                              | 169 +++++--
 src/closestBed/Makefile                       |   6 +-
 src/closestBed/closestMain.cpp                |  43 +-
 src/complementBed/Makefile                    |   6 +-
 src/complementBed/complementMain.cpp          |  22 +-
 src/coverageBed/Makefile                      |   6 +-
 src/coverageBed/coverageMain.cpp              |  24 +-
 src/fastaFromBed/Makefile                     |   6 +-
 src/fastaFromBed/fastaFromBedMain.cpp         |  27 +-
 src/flankBed/Makefile                         |   6 +-
 src/flankBed/flankBedMain.cpp                 |  25 +-
 src/genomeCoverageBed/Makefile                |   6 +-
 src/genomeCoverageBed/genomeCoverageMain.cpp  |  22 +-
 src/getOverlap/Makefile                       |   7 +-
 src/getOverlap/getOverlap.cpp                 |  19 +-
 src/intersectBed/Makefile                     |   8 +-
 src/intersectBed/intersectMain.cpp            |  20 +-
 src/linksBed/Makefile                         |   6 +-
 src/linksBed/linksMain.cpp                    |  20 +-
 src/maskFastaFromBed/Makefile                 |   6 +-
 src/maskFastaFromBed/maskFastaFromBedMain.cpp |  28 +-
 src/mergeBed/Makefile                         |   6 +-
 src/mergeBed/mergeMain.cpp                    |  22 +-
 src/multiBamCov/Makefile                      |   6 +-
 src/multiBamCov/multiBamCovMain.cpp           |  28 +-
 src/multiIntersectBed/Makefile                |   6 +-
 .../multiIntersectBedMain.cpp                 |  36 +-
 src/nucBed/Makefile                           |   6 +-
 src/nucBed/nucBedMain.cpp                     |  32 +-
 src/pairToBed/Makefile                        |   6 +-
 src/pairToBed/pairToBedMain.cpp               |  24 +-
 src/pairToPair/Makefile                       |   6 +-
 src/pairToPair/pairToPairMain.cpp             |  25 +-
 src/shuffleBed/Makefile                       |   6 +-
 src/shuffleBed/shuffleBedMain.cpp             |  19 +-
 src/slopBed/Makefile                          |   6 +-
 src/slopBed/slopBedMain.cpp                   |  21 +-
 src/sortBed/Makefile                          |   6 +-
 src/sortBed/sortMain.cpp                      |  18 +-
 src/subtractBed/Makefile                      |   6 +-
 src/subtractBed/subtractMain.cpp              |  23 +-
 src/tagBam/Makefile                           |   6 +-
 src/tagBam/tagBamMain.cpp                     |  19 +-
 src/unionBedGraphs/Makefile                   |   6 +-
 src/unionBedGraphs/unionBedGraphsMain.cpp     |  37 +-
 src/utils/BamTools/include/api/BamAlignment.h | 207 ++++++++
 src/utils/BamTools/include/api/BamAux.h       | 457 ++++++++++++++++++
 src/utils/BamTools/include/api/BamConstants.h | 128 +++++
 src/utils/BamTools/include/api/BamIndex.h     |  80 +++
 .../BamTools/include/api/BamMultiReader.h     | 127 +++++
 src/utils/BamTools/include/api/BamReader.h    | 118 +++++
 src/utils/BamTools/include/api/BamWriter.h    |  64 +++
 src/utils/BamTools/include/api/SamConstants.h |  96 ++++
 src/utils/BamTools/include/api/SamHeader.h    |  69 +++
 src/utils/BamTools/include/api/SamProgram.h   |  62 +++
 .../BamTools/include/api/SamProgramChain.h    |  86 ++++
 src/utils/BamTools/include/api/SamReadGroup.h |  69 +++
 .../include/api/SamReadGroupDictionary.h      |  87 ++++
 src/utils/BamTools/include/api/SamSequence.h  |  61 +++
 .../include/api/SamSequenceDictionary.h       |  89 ++++
 src/utils/BamTools/include/api/api_global.h   |  22 +
 .../BamTools/include/shared/bamtools_global.h |  79 +++
 src/utils/BamTools/lib/libbamtools.a          | Bin 0 -> 595320 bytes
 src/utils/BamTools/src/api/BamAlignment.o     | Bin 0 -> 43388 bytes
 src/utils/BamTools/src/api/BamMultiReader.o   | Bin 0 -> 11880 bytes
 src/utils/BamTools/src/api/BamReader.o        | Bin 0 -> 10244 bytes
 src/utils/BamTools/src/api/BamWriter.o        | Bin 0 -> 5672 bytes
 src/utils/BamTools/src/api/SamHeader.o        | Bin 0 -> 29680 bytes
 src/utils/BamTools/src/api/SamProgram.o       | Bin 0 -> 7172 bytes
 src/utils/BamTools/src/api/SamProgramChain.o  | Bin 0 -> 14212 bytes
 src/utils/BamTools/src/api/SamReadGroup.o     | Bin 0 -> 11616 bytes
 .../BamTools/src/api/SamReadGroupDictionary.o | Bin 0 -> 14844 bytes
 src/utils/BamTools/src/api/SamSequence.o      | Bin 0 -> 11956 bytes
 .../BamTools/src/api/SamSequenceDictionary.o  | Bin 0 -> 14632 bytes
 .../BamTools/src/api/internal/BamHeader_p.o   | Bin 0 -> 7276 bytes
 .../src/api/internal/BamIndexFactory_p.o      | Bin 0 -> 12672 bytes
 .../src/api/internal/BamMultiReader_p.o       | Bin 0 -> 62996 bytes
 .../internal/BamRandomAccessController_p.o    | Bin 0 -> 11260 bytes
 .../BamTools/src/api/internal/BamReader_p.o   | Bin 0 -> 26212 bytes
 .../src/api/internal/BamStandardIndex_p.o     | Bin 0 -> 58364 bytes
 .../src/api/internal/BamToolsIndex_p.o        | Bin 0 -> 28356 bytes
 .../BamTools/src/api/internal/BamWriter_p.o   | Bin 0 -> 12016 bytes
 .../BamTools/src/api/internal/BgzfStream_p.o  | Bin 0 -> 12064 bytes
 .../src/api/internal/SamFormatParser_p.o      | Bin 0 -> 43452 bytes
 .../src/api/internal/SamFormatPrinter_p.o     | Bin 0 -> 39556 bytes
 .../src/api/internal/SamHeaderValidator_p.o   | Bin 0 -> 55140 bytes
 src/windowBed/Makefile                        |   6 +-
 src/windowBed/windowMain.cpp                  |  21 +-
 102 files changed, 2469 insertions(+), 572 deletions(-)
 create mode 100644 src/bedpeToBam/notes.txt
 create mode 100644 src/utils/BamTools/include/api/BamAlignment.h
 create mode 100644 src/utils/BamTools/include/api/BamAux.h
 create mode 100644 src/utils/BamTools/include/api/BamConstants.h
 create mode 100644 src/utils/BamTools/include/api/BamIndex.h
 create mode 100644 src/utils/BamTools/include/api/BamMultiReader.h
 create mode 100644 src/utils/BamTools/include/api/BamReader.h
 create mode 100644 src/utils/BamTools/include/api/BamWriter.h
 create mode 100644 src/utils/BamTools/include/api/SamConstants.h
 create mode 100644 src/utils/BamTools/include/api/SamHeader.h
 create mode 100644 src/utils/BamTools/include/api/SamProgram.h
 create mode 100644 src/utils/BamTools/include/api/SamProgramChain.h
 create mode 100644 src/utils/BamTools/include/api/SamReadGroup.h
 create mode 100644 src/utils/BamTools/include/api/SamReadGroupDictionary.h
 create mode 100644 src/utils/BamTools/include/api/SamSequence.h
 create mode 100644 src/utils/BamTools/include/api/SamSequenceDictionary.h
 create mode 100644 src/utils/BamTools/include/api/api_global.h
 create mode 100644 src/utils/BamTools/include/shared/bamtools_global.h
 create mode 100644 src/utils/BamTools/lib/libbamtools.a
 create mode 100644 src/utils/BamTools/src/api/BamAlignment.o
 create mode 100644 src/utils/BamTools/src/api/BamMultiReader.o
 create mode 100644 src/utils/BamTools/src/api/BamReader.o
 create mode 100644 src/utils/BamTools/src/api/BamWriter.o
 create mode 100644 src/utils/BamTools/src/api/SamHeader.o
 create mode 100644 src/utils/BamTools/src/api/SamProgram.o
 create mode 100644 src/utils/BamTools/src/api/SamProgramChain.o
 create mode 100644 src/utils/BamTools/src/api/SamReadGroup.o
 create mode 100644 src/utils/BamTools/src/api/SamReadGroupDictionary.o
 create mode 100644 src/utils/BamTools/src/api/SamSequence.o
 create mode 100644 src/utils/BamTools/src/api/SamSequenceDictionary.o
 create mode 100644 src/utils/BamTools/src/api/internal/BamHeader_p.o
 create mode 100644 src/utils/BamTools/src/api/internal/BamIndexFactory_p.o
 create mode 100644 src/utils/BamTools/src/api/internal/BamMultiReader_p.o
 create mode 100644 src/utils/BamTools/src/api/internal/BamRandomAccessController_p.o
 create mode 100644 src/utils/BamTools/src/api/internal/BamReader_p.o
 create mode 100644 src/utils/BamTools/src/api/internal/BamStandardIndex_p.o
 create mode 100644 src/utils/BamTools/src/api/internal/BamToolsIndex_p.o
 create mode 100644 src/utils/BamTools/src/api/internal/BamWriter_p.o
 create mode 100644 src/utils/BamTools/src/api/internal/BgzfStream_p.o
 create mode 100644 src/utils/BamTools/src/api/internal/SamFormatParser_p.o
 create mode 100644 src/utils/BamTools/src/api/internal/SamFormatPrinter_p.o
 create mode 100644 src/utils/BamTools/src/api/internal/SamHeaderValidator_p.o

diff --git a/Makefile b/Makefile
index 35fa6bb6..5493351f 100644
--- a/Makefile
+++ b/Makefile
@@ -61,6 +61,19 @@ UTIL_SUBDIRS =	$(SRC_DIR)/utils/lineFileUtilities \
 				$(SRC_DIR)/utils/genomeFile
 
 BUILT_OBJECTS = $(OBJ_DIR)/*.o
+# BUILT_OBJECTS = $(OBJ_DIR)/bedtools.o \
+# 				$(OBJ_DIR)/BamAncillary.o \
+#                 $(OBJ_DIR)/Fasta.o \
+#                 $(OBJ_DIR)/bedFile.o \
+#                 $(OBJ_DIR)/bedFilePE.o \
+#                 $(OBJ_DIR)/bedGraphFile.o \
+#                 $(OBJ_DIR)/chromsweep.o \
+#                 $(OBJ_DIR)/fileType.o \
+#                 $(OBJ_DIR)/gzstream.o \
+#                 $(OBJ_DIR)/sequenceUtils.o \
+#                 $(OBJ_DIR)/split.o \
+#                 $(OBJ_DIR)/intersectBed.o \
+#                 $(OBJ_DIR)/intersectMain.o \
 
 all:
 	[ -d $(OBJ_DIR) ] || mkdir -p $(OBJ_DIR)
@@ -82,6 +95,7 @@ all:
 	done
 
 	@echo "- Building main bedtools binary."
+	gcc $(CXXFLAGS) -c src/bedtools.cpp -o obj/bedtools.o
 	@$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/bedtools $(BUILT_OBJECTS) -L$(UTIL_DIR)/BamTools/lib/ -lbamtools $(LIBS)
 	
 
diff --git a/src/annotateBed/Makefile b/src/annotateBed/Makefile
index 6eb7f8cd..23bad93d 100644
--- a/src/annotateBed/Makefile
+++ b/src/annotateBed/Makefile
@@ -18,14 +18,10 @@ BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
 PROGRAM= annotateBed
 
 
-all: $(PROGRAM)
+all: $(BUILT_OBJECTS)
 
 .PHONY: all
 
-$(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
-	@echo "  * linking $(PROGRAM)"
-	@$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ $(LIBS)
-
 $(BUILT_OBJECTS): $(SOURCES)
 	@echo "  * compiling" $(*F).cpp
 	@$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES)
diff --git a/src/annotateBed/annotateMain.cpp b/src/annotateBed/annotateMain.cpp
index 07b2f198..8ae9e98c 100644
--- a/src/annotateBed/annotateMain.cpp
+++ b/src/annotateBed/annotateMain.cpp
@@ -15,15 +15,15 @@
 using namespace std;
 
 // define the version
-#define PROGRAM_NAME "annotateBed"
+#define PROGRAM_NAME "bedtools annotate"
 
 // define our parameter checking macro
 #define PARAMETER_CHECK(param, paramLen, actualLen) (strncmp(argv[i], param, min(actualLen, paramLen))== 0) && (actualLen == paramLen)
 
 // function declarations
-void ShowHelp(void);
+void annotate_help(void);
 
-int main(int argc, char* argv[]) {
+int annotate_main(int argc, char* argv[]) {
 
     // our configuration variables
     bool showHelp = false;
@@ -56,7 +56,7 @@ int main(int argc, char* argv[]) {
         }
     }
 
-    if(showHelp) ShowHelp();
+    if(showHelp) annotate_help();
 
     // do some parsing (all of these parameters require 2 strings)
     for(int i = 1; i < argc; i++) {
@@ -133,20 +133,18 @@ int main(int argc, char* argv[]) {
         return 0;
     }
     else {
-        ShowHelp();
+        annotate_help();
+        return 0;
     }
 }
 
-void ShowHelp(void) {
-
-    cerr << endl << "Program: " << PROGRAM_NAME << " (v" << VERSION << ")" << endl;
-
-    cerr << "Author:  Aaron Quinlan (aaronquinlan@gmail.com)" << endl;
+void annotate_help(void) {
 
-    cerr << "Summary: Annotates the depth & breadth of coverage of features from multiple files" << endl;
+    cerr << "\nTool:    bedtools annotate (aka annotateBed)" << endl;
+    cerr << "Summary: Annotates the depth & breadth of coverage of features from mult. files" << endl;
     cerr << "\t on the intervals in -i." << endl << endl;
 
-    cerr << "Usage:   " << PROGRAM_NAME << " [OPTIONS] -i <bed/gff/vcf> -files FILE1 FILE2 .. FILEn" << endl << endl;
+    cerr << "Usage:   " << PROGRAM_NAME << " [OPTIONS] -i <bed/gff/vcf> -files FILE1 FILE2..FILEn" << endl << endl;
 
     cerr << "Options: " << endl;
 
diff --git a/src/bamToBed/Makefile b/src/bamToBed/Makefile
index 65741ae8..5cf20cd2 100644
--- a/src/bamToBed/Makefile
+++ b/src/bamToBed/Makefile
@@ -25,14 +25,10 @@ BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
 PROGRAM= bamToBed
 
 
-all: $(PROGRAM)
+all: $(BUILT_OBJECTS)
 
 .PHONY: all
 
-$(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
-	@echo "  * linking $(PROGRAM)"
-	@$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ -L$(UTILITIES_DIR)/BamTools/lib/ -lbamtools $(LIBS)
-
 $(BUILT_OBJECTS): $(SOURCES)
 	@echo "  * compiling" $(*F).cpp
 	@$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES) 
diff --git a/src/bamToBed/bamToBed.cpp b/src/bamToBed/bamToBed.cpp
index 4a4c56c6..bcae2c7a 100644
--- a/src/bamToBed/bamToBed.cpp
+++ b/src/bamToBed/bamToBed.cpp
@@ -26,14 +26,14 @@ using namespace std;
 
 
 // define our program name
-#define PROGRAM_NAME "bamToBed"
+#define PROGRAM_NAME "bedtools bamtobed"
 
 // define our parameter checking macro
 #define PARAMETER_CHECK(param, paramLen, actualLen) (strncmp(argv[i], param, min(actualLen, paramLen))== 0) && (actualLen == paramLen)
 
 
 // function declarations
-void ShowHelp(void);
+void bamtobed_help(void);
 
 void ConvertBamToBed(const string &bamFile, bool useEditDistance, const string &bamTag,
                      bool writeBed12, bool obeySplits, const string &color, 
@@ -52,10 +52,10 @@ void ParseCigarBed12(const vector<CigarOp> &cigar, vector<int> &blockStarts,
                      vector<int> &blockEnds, int &alignmentEnd);
 string BuildCigarString(const vector<CigarOp> &cigar);
 
-bool IsCorrectMappingForBEDPE (const BamAlignment &bam);
+bool bamtobed_IsCorrectMappingForBEDPE (const BamAlignment &bam);
 
 
-int main(int argc, char* argv[]) {
+int bamtobed_main(int argc, char* argv[]) {
 
     // our configuration variables
     bool showHelp = false;
@@ -88,7 +88,7 @@ int main(int argc, char* argv[]) {
         }
     }
 
-    if(showHelp) ShowHelp();
+    if(showHelp) bamtobed_help();
 
     // do some parsing (all of these parameters require 2 strings)
     for(int i = 1; i < argc; i++) {
@@ -178,16 +178,15 @@ int main(int argc, char* argv[]) {
             ConvertBamToBedpe(bamFile, useEditDistance);                    // BEDPE
     }
     else {
-        ShowHelp();
+        bamtobed_help();
     }
+    return 0;
 }
 
 
-void ShowHelp(void) {
-
-    cerr << endl << "Program: " << PROGRAM_NAME << " (v" << VERSION << ")" << endl;
-
-    cerr << "Author:  Aaron Quinlan (aaronquinlan@gmail.com)" << endl;
+void bamtobed_help(void) {
+    
+    cerr << "\nTool:    bedtools bamtobed (aka bamToBed)" << endl;
 
     cerr << "Summary: Converts BAM alignments to BED6 or BEDPE format." << endl << endl;
 
@@ -605,7 +604,7 @@ void PrintBedPE(const BamAlignment &bam1, const BamAlignment &bam2, const RefVec
 
 
 // deprecated.
-bool IsCorrectMappingForBEDPE (const BamAlignment &bam) {
+bool bamtobed_IsCorrectMappingForBEDPE (const BamAlignment &bam) {
 
     if ( (bam.RefID == bam.MateRefID) && (bam.InsertSize > 0) ) {
         return true;
diff --git a/src/bed12ToBed6/Makefile b/src/bed12ToBed6/Makefile
index e2e12883..fd6fac5e 100644
--- a/src/bed12ToBed6/Makefile
+++ b/src/bed12ToBed6/Makefile
@@ -18,15 +18,10 @@ BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
 PROGRAM= bed12ToBed6
 
 
-all: $(PROGRAM)
+all: $(BUILT_OBJECTS)
 
 .PHONY: all
 
-
-$(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
-	@echo "  * linking $(PROGRAM)"
-	@$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ $(LIBS)
-
 $(BUILT_OBJECTS): $(SOURCES)
 	@echo "  * compiling" $(*F).cpp
 	@$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES)
diff --git a/src/bed12ToBed6/bed12ToBed6.cpp b/src/bed12ToBed6/bed12ToBed6.cpp
index d6aae22a..fc1884e9 100644
--- a/src/bed12ToBed6/bed12ToBed6.cpp
+++ b/src/bed12ToBed6/bed12ToBed6.cpp
@@ -22,21 +22,21 @@ using namespace std;
 
 
 // define our program name
-#define PROGRAM_NAME "bed12ToBed6"
+#define PROGRAM_NAME "bedtools bed12tobed6"
 
 // define our parameter checking macro
 #define PARAMETER_CHECK(param, paramLen, actualLen) (strncmp(argv[i], param, min(actualLen, paramLen))== 0) && (actualLen == paramLen)
 
 
 // function declarations
-void ShowHelp(void);
+void bed12tobed6_help(void);
 void DetermineBedInput(BedFile *bed);
 void ProcessBed(istream &bedInput, BedFile *bed);
 
 
 bool addBlockNums = false;
 
-int main(int argc, char* argv[]) {
+int bed12tobed6_main(int argc, char* argv[]) {
 
     // our configuration variables
     bool showHelp = false;
@@ -54,7 +54,7 @@ int main(int argc, char* argv[]) {
         }
     }
 
-    if(showHelp) ShowHelp();
+    if(showHelp) bed12tobed6_help();
 
     // do some parsing (all of these parameters require 2 strings)
     for(int i = 1; i < argc; i++) {
@@ -88,17 +88,16 @@ int main(int argc, char* argv[]) {
         DetermineBedInput(bed);
     }
     else {
-        ShowHelp();
+        bed12tobed6_help();
     }
+    return 0;
 }
 
 
-void ShowHelp(void) {
-
-    cerr << endl << "Program: " << PROGRAM_NAME << " (v" << VERSION << ")" << endl;
-
-    cerr << "Author:  Aaron Quinlan (aaronquinlan@gmail.com)" << endl;
+void bed12tobed6_help(void) {
 
+    cerr << "\nTool:    bedtools bed12tobed6 (aka bed12ToBed6)" << endl;
+    
     cerr << "Summary: Splits BED12 features into discrete BED6 features." << endl << endl;
 
     cerr << "Usage:   " << PROGRAM_NAME << " [OPTIONS] -i <bed12>" << endl << endl;
diff --git a/src/bedToBam/Makefile b/src/bedToBam/Makefile
index f6e18c0c..0666e314 100644
--- a/src/bedToBam/Makefile
+++ b/src/bedToBam/Makefile
@@ -25,15 +25,10 @@ BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
 PROGRAM= bedToBam
 
 
-all: $(PROGRAM)
+all: $(BUILT_OBJECTS)
 
 .PHONY: all
 
-
-$(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
-	@echo "  * linking $(PROGRAM)"
-	@$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ -L$(UTILITIES_DIR)/BamTools/lib/ -lbamtools $(LIBS)
-
 $(BUILT_OBJECTS): $(SOURCES)
 	@echo "  * compiling" $(*F).cpp
 	@$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES)
diff --git a/src/bedToBam/bedToBam.cpp b/src/bedToBam/bedToBam.cpp
index a689533c..23346226 100644
--- a/src/bedToBam/bedToBam.cpp
+++ b/src/bedToBam/bedToBam.cpp
@@ -29,22 +29,22 @@ using namespace std;
 
 
 // define our program name
-#define PROGRAM_NAME "bedToBam"
+#define PROGRAM_NAME "bedtools bedtobam"
 
 // define our parameter checking macro
 #define PARAMETER_CHECK(param, paramLen, actualLen) (strncmp(argv[i], param, min(actualLen, paramLen))== 0) && (actualLen == paramLen)
 
 
 // function declarations
-void ShowHelp(void);
+void bedtobam_help(void);
 void ProcessBed(BedFile *bed, GenomeFile *genome, bool isBED12, int mapQual, bool uncompressedBam);
 void ConvertBedToBam(const BED &bed, BamAlignment &bam, map<string, int> &chromToId, bool isBED12, int mapQual, int lineNum);
 void MakeBamHeader(const string &genomeFile, RefVector &refs, string &header, map<string, int> &chromToInt);
-int  reg2bin(int beg, int end);
+int  bedtobam_reg2bin(int beg, int end);
 
 
 
-int main(int argc, char* argv[]) {
+int bedtobam_main(int argc, char* argv[]) {
 
     // our configuration variables
     bool showHelp = false;
@@ -70,7 +70,7 @@ int main(int argc, char* argv[]) {
         }
     }
 
-    if(showHelp) ShowHelp();
+    if(showHelp) bedtobam_help();
 
     // do some parsing (all of these parameters require 2 strings)
     for(int i = 1; i < argc; i++) {
@@ -131,16 +131,15 @@ int main(int argc, char* argv[]) {
         ProcessBed(bed, genome, isBED12, mapQual, uncompressedBam);
     }
     else {
-        ShowHelp();
+        bedtobam_help();
     }
+    return 0;
 }
 
 
-void ShowHelp(void) {
-
-    cerr << endl << "Program: " << PROGRAM_NAME << " (v" << VERSION << ")" << endl;
-
-    cerr << "Author:  Aaron Quinlan (aaronquinlan@gmail.com)" << endl;
+void bedtobam_help(void) {
+    
+    cerr << "\nTool:    bedtools bedtobam (aka bedToBam)" << endl;
 
     cerr << "Summary: Converts feature records to BAM format." << endl << endl;
 
@@ -154,10 +153,10 @@ void ShowHelp(void) {
     cerr << "\t-bed12\t"    << "The BED file is in BED12 format.  The BAM CIGAR" << endl;
     cerr                    << "\t\tstring will reflect BED \"blocks\"." << endl << endl;
 
-    cerr << "\t-ubam\t"     << "Write uncompressed BAM output. Default is to write compressed BAM." << endl << endl;
+    cerr << "\t-ubam\t"     << "Write uncompressed BAM output. Default writes compressed BAM." << endl << endl;
 
     cerr << "Notes: " << endl;
-    cerr << "\t(1)  BED files must be at least BED4 to be amenable to BAM (needs name field)." << endl << endl;
+    cerr << "\t(1)  BED files must be at least BED4 to create BAM (needs name field)." << endl << endl;
 
 
     // end the program here
@@ -211,7 +210,7 @@ void ConvertBedToBam(const BED &bed, BamAlignment &bam, map<string, int, std::le
 
     bam.Name       = bed.name;
     bam.Position   = bed.start;
-    bam.Bin        = reg2bin(bed.start, bed.end);
+    bam.Bin        = bedtobam_reg2bin(bed.start, bed.end);
 
     // hard-code the sequence and qualities.
     int bedLength  = bed.end - bed.start;
@@ -341,7 +340,7 @@ void MakeBamHeader(const string &genomeFile, RefVector &refs, string &header,
 
 /* Taken directly from the SAMTools spec
 calculate bin given an alignment in [beg,end) (zero-based, half-close, half-open) */
-int reg2bin(int beg, int end) {
+int bedtobam_reg2bin(int beg, int end) {
     --end;
     if (beg>>14 == end>>14) return ((1<<15)-1)/7 + (beg>>14);
     if (beg>>17 == end>>17) return ((1<<12)-1)/7 + (beg>>17);
diff --git a/src/bedToIgv/Makefile b/src/bedToIgv/Makefile
index 3ad616b9..50ea2dae 100644
--- a/src/bedToIgv/Makefile
+++ b/src/bedToIgv/Makefile
@@ -24,15 +24,10 @@ BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
 PROGRAM= bedToIgv
 
 
-all: $(PROGRAM)
+all: $(BUILT_OBJECTS)
 
 .PHONY: all
 
-
-$(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
-	@echo "  * linking $(PROGRAM)"
-	@$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ $(LIBS)
-
 $(BUILT_OBJECTS): $(SOURCES)
 	@echo "  * compiling" $(*F).cpp
 	@$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES)
diff --git a/src/bedToIgv/bedToIgv.cpp b/src/bedToIgv/bedToIgv.cpp
index 9697d808..562062d3 100644
--- a/src/bedToIgv/bedToIgv.cpp
+++ b/src/bedToIgv/bedToIgv.cpp
@@ -22,13 +22,13 @@
 using namespace std;
 
 // define our program name
-#define PROGRAM_NAME "bedToIgv"
+#define PROGRAM_NAME "bedtools igv"
 
 // define our parameter checking macro
 #define PARAMETER_CHECK(param, paramLen, actualLen) (strncmp(argv[i], param, min(actualLen, paramLen))== 0) && (actualLen == paramLen)
 
 // function declarations
-void ShowHelp(void);
+void bedtoigv_help(void);
 
 void DetermineBedInput(BedFile *bed, string path, string sortType, string session,
                         bool collapse, bool useNames, string imageType, int slop);
@@ -36,7 +36,7 @@ void ProcessBed(istream &bedInput, BedFile *bed, string path, string sortType, s
                         bool collapse, bool useNames, string imageType, int slop);
 
 
-int main(int argc, char* argv[]) {
+int bedtoigv_main(int argc, char* argv[]) {
 
     // our configuration variables
     bool showHelp = false;
@@ -62,7 +62,7 @@ int main(int argc, char* argv[]) {
         }
     }
 
-    if(showHelp) ShowHelp();
+    if(showHelp) bedtoigv_help();
 
     // do some parsing (all of these parameters require 2 strings)
     for(int i = 1; i < argc; i++) {
@@ -139,16 +139,15 @@ int main(int argc, char* argv[]) {
         DetermineBedInput(bed, imagePath, sortType, session, collapse, useNames, imageType, slop);
     }
     else {
-        ShowHelp();
+        bedtoigv_help();
     }
+    return 0;
 }
 
 
-void ShowHelp(void) {
+void bedtoigv_help(void) {
 
-    cerr << endl << "Program: " << PROGRAM_NAME << " (v" << VERSION << ")" << endl;
-
-    cerr << "Author:  Aaron Quinlan (aaronquinlan@gmail.com)" << endl;
+    cerr << "\nTool:    bedtools igv (aka bedToIgv)" << endl;
 
     cerr << "Summary: Creates a batch script to create IGV images " << endl;
     cerr << "         at each interval defined in a BED/GFF/VCF file." << endl << endl;
@@ -182,9 +181,9 @@ void ShowHelp(void) {
     cerr                    << "\t\tDefault is png." << endl << endl;
 
     cerr << "Notes: " << endl;
-    cerr << "\t(1)  The resulting script is meant to be run from within the IGV GUI version 1.5 or later." << endl;
-    cerr << "\t(2)  Unless you use the -sess option, it is assumed that prior to running the script, " << endl;
-    cerr << "\t\tyou have loaded the proper genome, tracks and data files." << endl << endl;
+    cerr << "\t(1)  The resulting script is meant to be run from within IGV." << endl;
+    cerr << "\t(2)  Unless you use the -sess option, it is assumed that prior to " << endl;
+    cerr << "\t\trunning the script, you've loaded the proper genome and tracks." << endl << endl;
 
 
     // end the program here
diff --git a/src/bedpeToBam/Makefile b/src/bedpeToBam/Makefile
index b2f7d128..592d68e6 100644
--- a/src/bedpeToBam/Makefile
+++ b/src/bedpeToBam/Makefile
@@ -26,15 +26,10 @@ BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
 PROGRAM= bedpeToBam
 
 
-all: $(PROGRAM)
+all: $(BUILT_OBJECTS)
 
 .PHONY: all
 
-
-$(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
-	@echo "  * linking $(PROGRAM)"
-	@$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ -L$(UTILITIES_DIR)/BamTools/lib/ -lbamtools $(LIBS)
-
 $(BUILT_OBJECTS): $(SOURCES)
 	@echo "  * compiling" $(*F).cpp
 	@$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES)
diff --git a/src/bedpeToBam/bedpeToBam.cpp b/src/bedpeToBam/bedpeToBam.cpp
index 06e9af88..374e3fa9 100644
--- a/src/bedpeToBam/bedpeToBam.cpp
+++ b/src/bedpeToBam/bedpeToBam.cpp
@@ -29,27 +29,23 @@ using namespace std;
 
 
 // define our program name
-#define PROGRAM_NAME "bedpeToBam"
+#define PROGRAM_NAME "bedpetobam"
 
 // define our parameter checking macro
 #define PARAMETER_CHECK(param, paramLen, actualLen) (strncmp(argv[i], param, min(actualLen, paramLen))== 0) && (actualLen == paramLen)
 
-//ROYDEN
-//NEED TO ADD A IS TYPE12+ check or fail
-//END ROYDEN
-
 
 // function declarations
-void ShowHelp(void);
+void bedpetobam_help(void);
 void ProcessBedPE(BedFilePE *bedpe, GenomeFile *genome,  int mapQual, bool uncompressedBam);
 void ConvertBedPEToBam(const BEDPE &bedpe, BamAlignment &bam1,BamAlignment &bam2, map<string, int> &chromToId, int mapQual, int lineNum);
 
-void MakeBamHeader(const string &genomeFile, RefVector &refs, string &header, map<string, int> &chromToInt);
-int  reg2bin(int beg, int end);
+void bedpetobam_MakeBamHeader(const string &genomeFile, RefVector &refs, string &header, map<string, int> &chromToInt);
+int  bedpetobam_reg2bin(int beg, int end);
 
 
 
-int main(int argc, char* argv[]) {
+int bedpetobam_main(int argc, char* argv[]) {
 
     // our configuration variables
     bool showHelp = false;
@@ -75,7 +71,7 @@ int main(int argc, char* argv[]) {
         }
     }
 
-    if(showHelp) ShowHelp();
+    if(showHelp) bedpetobam_help();
 
     // do some parsing (all of these parameters require 2 strings)
     for(int i = 1; i < argc; i++) {
@@ -133,16 +129,15 @@ int main(int argc, char* argv[]) {
        ProcessBedPE(bedpe, genome,  mapQual, uncompressedBam);
     }
     else {
-        ShowHelp();
+        bedpetobam_help();
     }
+    return 0;
 }
 
 
-void ShowHelp(void) {
-
-    cerr << endl << "Program: " << PROGRAM_NAME << " (v" << VERSION << ")" << endl;
-
-    cerr << "Author:  Aaron Quinlan (aaronquinlan@gmail.com)" << endl;
+void bedpetobam_help(void) {
+    
+    cerr << "\nTool:    bedtools bedpetobam (aka bedpeToBam)" << endl;
 
     cerr << "Summary: Converts feature records to BAM format." << endl << endl;
 
@@ -153,10 +148,10 @@ void ShowHelp(void) {
     cerr << "\t-mapq\t" << "Set the mappinq quality for the BAM records." << endl;
     cerr                    << "\t\t(INT) Default: 255" << endl << endl;
 
-    cerr << "\t-ubam\t"     << "Write uncompressed BAM output. Default is to write compressed BAM." << endl << endl;
+    cerr << "\t-ubam\t"     << "Write uncompressed BAM output. Default writes compressed BAM." << endl << endl;
 
     cerr << "Notes: " << endl;
-    cerr << "\t(1)  BED files must be at least BED4 to be amenable to BAM (needs name field)." << endl << endl;
+    cerr << "\t(1)  BED files must be at least BED4 to create BAM (needs name field)." << endl << endl;
 
 
     // end the program here
@@ -171,7 +166,7 @@ void ProcessBedPE(BedFilePE *bedpe, GenomeFile *genome,  int mapQual, bool uncom
     RefVector refs;
     string    bamHeader;
     map<string, int, std::less<string> > chromToId;
-    MakeBamHeader(genome->getGenomeFileName(), refs, bamHeader, chromToId);
+    bedpetobam_MakeBamHeader(genome->getGenomeFileName(), refs, bamHeader, chromToId);
 
     // set compression mode
     BamWriter::CompressionMode compressionMode = BamWriter::Compressed;
@@ -218,10 +213,10 @@ void ConvertBedPEToBam(const BEDPE &bedpe, BamAlignment &bam1,BamAlignment &bam2
 
     bam1.Name       = bedpe.name;
     bam1.Position   = bedpe.start1;
-    bam1.Bin        = reg2bin(bedpe.start1, bedpe.end1);
+    bam1.Bin        = bedpetobam_reg2bin(bedpe.start1, bedpe.end1);
     bam2.Name       = bedpe.name;
     bam2.Position   = bedpe.start2;
-    bam2.Bin        = reg2bin(bedpe.start2, bedpe.end2);
+    bam2.Bin        = bedpetobam_reg2bin(bedpe.start2, bedpe.end2);
 
     // hard-code the sequence and qualities.
     int bedpeLength1  = bedpe.end1 - bedpe.start1;
@@ -294,7 +289,7 @@ void ConvertBedPEToBam(const BEDPE &bedpe, BamAlignment &bam1,BamAlignment &bam2
 }
 
 
-void MakeBamHeader(const string &genomeFile, RefVector &refs, string &header,
+void bedpetobam_MakeBamHeader(const string &genomeFile, RefVector &refs, string &header,
                    map<string, int, std::less<string> > &chromToId) {
 
     // make a genome map of the genome file.
@@ -333,7 +328,7 @@ void MakeBamHeader(const string &genomeFile, RefVector &refs, string &header,
 
 /* Taken directly from the SAMTools spec
 calculate bin given an alignment in [beg,end) (zero-based, half-close, half-open) */
-int reg2bin(int beg, int end) {
+int bedpetobam_reg2bin(int beg, int end) {
     --end;
     if (beg>>14 == end>>14) return ((1<<15)-1)/7 + (beg>>14);
     if (beg>>17 == end>>17) return ((1<<12)-1)/7 + (beg>>17);
diff --git a/src/bedpeToBam/notes.txt b/src/bedpeToBam/notes.txt
new file mode 100644
index 00000000..b7c40646
--- /dev/null
+++ b/src/bedpeToBam/notes.txt
@@ -0,0 +1,44 @@
+Public Member Functions	BamAlignment (void)	constructor	BamAlignment (const BamAlignment &other)	copy constructor	~BamAlignment (void)	destructor
+bool 	IsDuplicate (void) const
+bool 	IsFailedQC (void) const
+bool 	IsFirstMate (void) const
+bool 	IsMapped (void) const
+bool 	IsMateMapped (void) const
+bool 	IsMateReverseStrand (void) const
+bool 	IsPaired (void) const
+bool 	IsPrimaryAlignment (void) const
+bool 	IsProperPair (void) const
+bool 	IsReverseStrand (void) const
+bool 	IsSecondMate (void) const
+void 	SetIsDuplicate (bool ok)	Sets value of "PCR duplicate" flag to ok.
+void 	SetIsFailedQC (bool ok)	Sets "failed quality control" flag to ok.
+void 	SetIsFirstMate (bool ok)	Sets "alignment is first mate" flag to ok.
+void 	SetIsMapped (bool ok)	Sets "alignment is mapped" flag to ok.
+void 	SetIsMateMapped (bool ok)	Sets "alignment's mate is mapped" flag to ok.
+void 	SetIsMateReverseStrand (bool ok)	Sets "alignment's mate mapped to reverse strand" flag to ok.
+void 	SetIsPaired (bool ok)	Sets "alignment part of paired-end read" flag to ok.
+void 	SetIsPrimaryAlignment (bool ok)	Sets "position is primary alignment" flag to ok.
+void 	SetIsProperPair (bool ok)	Sets "alignment is part of read that satisfied paired-end resolution" flag to ok.
+void 	SetIsReverseStrand (bool ok)	Sets "alignment mapped to reverse strand" flag to ok.
+void 	SetIsSecondMate (bool ok)	Sets "alignment is second mate on read" flag to ok.
+void 	SetIsMateUnmapped (bool ok)	Complement of using SetIsMateMapped().
+void 	SetIsSecondaryAlignment (bool ok)	Complement of using SetIsPrimaryAlignment().
+void 	SetIsUnmapped (bool ok)	Complement of using SetIsMapped().
+bool 	AddTag (const std::string &tag, const std::string &type, const std::string &value)	Adds a field with string data to the BAM tags.
+bool 	AddTag (const std::string &tag, const std::string &type, const uint32_t &value)	Adds a field with unsigned integer data to the BAM tags.
+bool 	AddTag (const std::string &tag, const std::string &type, const int32_t &value)	Adds a field with signed integer data to the BAM tags.
+bool 	AddTag (const std::string &tag, const std::string &type, const float &value)	Adds a field with floating-point data to the BAM tags.
+bool 	EditTag (const std::string &tag, const std::string &type, const std::string &value)	Edits a BAM tag field containing string data.
+bool 	EditTag (const std::string &tag, const std::string &type, const uint32_t &value)	Edits a BAM tag field containing unsigned integer data.
+bool 	EditTag (const std::string &tag, const std::string &type, const int32_t &value)	Edits a BAM tag field containing signed integer data.
+bool 	EditTag (const std::string &tag, const std::string &type, const float &value)	Edits a BAM tag field containing floating-point data.
+bool 	GetTag (const std::string &tag, std::string &destination) const	Retrieves the string value associated with a BAM tag.
+bool 	GetTag (const std::string &tag, uint32_t &destination) const	Retrieves the unsigned integer value associated with a BAM tag.
+bool 	GetTag (const std::string &tag, int32_t &destination) const	Retrieves the signed integer value associated with a BAM tag.
+bool 	GetTag (const std::string &tag, float &destination) const	Retrieves the floating-point value associated with a BAM tag.
+bool 	GetTagType (const std::string &tag, char &type) const	Retrieves the BAM tag type-code associated with requested tag name.
+bool 	GetEditDistance (uint32_t &editDistance) const 	Retrieves value of edit distance tag ("NM").
+bool 	GetReadGroup (std::string &readGroup) const 	Retrieves value of read group tag ("RG").
+bool 	RemoveTag (const std::string &tag) 	Removes field from BAM tags.
+bool 	BuildCharData (void) 	Populates alignment string fields (read name, bases, qualities, tag data).
+int 	GetEndPosition (bool usePadded=false, bool zeroBased=true) const 	Calculates alignment end position, based on starting position and CIGAR data.
\ No newline at end of file
diff --git a/src/bedtools.cpp b/src/bedtools.cpp
index a76ed33c..965da007 100644
--- a/src/bedtools.cpp
+++ b/src/bedtools.cpp
@@ -21,51 +21,158 @@ using namespace std;
 // define our program name
 #define PROGRAM_NAME "bedtools"
 
+// colors for the term's menu 
+#define RESET "\e[m"
+#define GREEN "\e[1;32m"
+#define BLUE "\e[1;34m"
+#define RED "\e[1;31m"
+
 // define our parameter checking macro
 #define PARAMETER_CHECK(param, paramLen, actualLen) (strncmp(argv[i], param, min(actualLen, paramLen))== 0) && (actualLen == paramLen)
 
+int annotate_main(int argc, char* argv[]);//
+int bamtobed_main(int argc, char* argv[]);//
+int bed12tobed6_main(int argc, char* argv[]); //
+int bedtobam_main(int argc, char* argv[]);//
+int bedtoigv_main(int argc, char* argv[]);//
+int bedpetobam_main(int argc, char* argv[]);//
+int closest_main(int argc, char* argv[]); //
+int complement_main(int argc, char* argv[]);//
+int coverage_main(int argc, char* argv[]); //
+int fastafrombed_main(int argc, char* argv[]);//
+int flank_main(int argc, char* argv[]); //
+int genomecoverage_main(int argc, char* argv[]);//
+int getoverlap_main(int argc, char* argv[]);//
+int intersect_main(int argc, char* argv[]); //
+int links_main(int argc, char* argv[]);//
+int maskfastafrombed_main(int argc, char* argv[]);//
+int merge_main(int argc, char* argv[]); //
+int multibamcov_main(int argc, char* argv[]);//
+int multiintersect_main(int argc, char* argv[]);//
+int nuc_main(int argc, char* argv[]);//
+int pairtobed_main(int argc, char* argv[]);//
+int pairtopair_main(int argc, char* argv[]);//
+int shuffle_main(int argc, char* argv[]); //
+int slop_main(int argc, char* argv[]); //
+int sort_main(int argc, char* argv[]); //
+int subtract_main(int argc, char* argv[]); //
+int tagbam_main(int argc, char* argv[]);//
+int unionbedgraphs_main(int argc, char* argv[]);//
+int window_main(int argc, char* argv[]); //
 
-int intersect_main(int argc, char* argv[]);
-int coverage_main(int argc, char* argv[]);
-int merge_main(int argc, char* argv[]);
-int substract_main(int argc, char* argv[]);
-
-static int help()
+int bedtools_help()
 {
-	cerr << "\n";
-	cerr << "Program: " << PROGRAM_NAME << " (Tools for genome arithmetic.)\n";
-	cerr << "Version: " << "2.15.5" << "\n";
-	cerr << "Author:  " << "Aaron Quinlan (aaronquinlan@gmail.com)" << "\n\n";
-	cerr << "Usage:   bedtools <tool> [options]\n";
-
-	cerr << "\n-Genome arithmetic tools:\n";	
-	cerr << "   intersect     Find overlapping/intersecting intervals b/w two files.\n";
-	cerr << "   coverage      Compute the coverage of one set of intervals over another.\n";
-	cerr << "   merge         Combine overlapping or nearby intervals into a single interval.\n";
-	cerr << "   subtract      Remove intervals based on overlaps b/w two files.\n";
-	
-	cerr << "\n-Format conversion tools:\n";	
-	cerr << "   intersect     Find overlapping/intersecting intervals b/w two files.\n";
-	
-	cerr << "\n-Fasta tools:\n";	
-	cerr << "   intersect     Find overlapping/intersecting intervals b/w two files.\n";
+	cout << "\n";
+	cout << PROGRAM_NAME << ": flexible tools for genome arithmetic and analysis.\n";
+	cout << "Version:  " << "2.15.5" << "\n";
+	cout << "Authors:  " << "Aaron Quinlan and others (see THANKS)" << "\n\n";
+	cout << "Usage:   bedtools <tool> [options]\n";
+
+	cout << "\nGenome arithmetic:" << endl;
+	cout << RED << "    intersect     " << RESET << "Find exactly overlapping intervals.\n";
+    cout << RED << "    window        " << RESET << "Find overlapping intervals within a \"window\".\n";
+	cout << RED << "    closest       " << RESET << "Find overlapping or nearby intervals.\n";	
+	cout << RED << "    coverage      " << RESET << "Compute the coverage over defined intervals.\n";
+	cout << RED << "    genomecov     " << RESET << "Compute the coverage over an entire genome.\n";
+	cout << RED << "    merge         " << RESET << "Combine overlapping/nearby intervals into a single interval.\n";
+	cout << RED << "    complement    " << RESET << "Extract intervals _not_ represented by an interval file.\n";
+	cout << RED << "    subtract      " << RESET << "Remove intervals based on overlaps b/w two files.\n";
+	cout << RED << "    slop          " << RESET << "Adjust the size of intervals.\n";
+	cout << RED << "    flank         " << RESET << "Create new intervals from the flanks of existing intervals.\n";	
+	cout << RED << "    sort          " << RESET << "Order the intervals in a file.\n";
+	cout << RED << "    shuffle       " << RESET << "Randomly redistrubute intervals in a genome.\n";
+	cout << RED << "    annotate      " << RESET << "Annotate coverage of features from multiple files.\n";
 	
-	cerr << "\n";
+	cout << "\nMulti-way file comparisons:" << endl;
+	cout << RED << "    multiinter    " << RESET << "Identifies common intervals among multiple interval files.\n";
+    cout << RED << "    unionbedg     " << RESET << "Combines coverage intervals from multiple BEDGRAPH files.\n";
+
+	cout << "\nPaired-end manipulation:" << endl;
+	cout << RED << "    pairtobed     " << RESET << "Find pairs that overlap intervals in various ways.\n";
+	cout << RED << "    pairtopair    " << RESET << "Find pairs that overlap other pairs in various ways.\n";
+		                                   
+	cout << "\nFormat conversion:\n";   
+	cout << RED << "    bamtobed      " << RESET << "Convert BAM alignments to BED (& other) formats.\n";
+	cout << RED << "    bedtobam      " << RESET << "Convert intervals to BAM records.\n";
+	cout << RED << "    bedpetobam    " << RESET << "Convert BEDPE intervals to BAM records.\n";	
+	cout << RED << "    bed12tobed6   " << RESET << "Breaks BED12 intervals into discrete BED6 intervals.\n";
+		
+	cout << "\nFasta manipulation:\n";	
+	cout << RED << "    getfasta      " << RESET << "Use intervals to extract sequences from a FASTA file.\n";
+	cout << RED << "    maskfasta     " << RESET << "Use intervals to mask sequences from a FASTA file.\n";
+	cout << RED << "    nuc           " << RESET << "Profile the nucleotide content of intervals in a FASTA file.\n";
+		
+	cout << "\nBAM focused tools:\n";	
+	cout << RED << "    multicov      " << RESET << "Counts coverage from multiple BAMs at specific intervals.\n";
+	cout << RED << "    tag           " << RESET << "Annotate BAM alignments based on overlaps with interval files.\n";
+
+	cout << "\nMiscellaneous tools:\n";	
+	cout << RED << "    overlap       " << RESET << "Computes the amount of overlap from two intervals.\n";	
+	cout << RED << "    igv           " << RESET << "Create an IGV snapshot batch script.\n";
+	cout << RED << "    links         " << RESET << "Create a HTML page of links to UCSC locations.\n";
+		
+	cout << "\nGeneral help:\n";	
+	cout << RED << "    faq           " << RESET << "Frequently asked questions.\n";
+
+	cout << "\n";
 	return 1;
 }
 
 int main(int argc, char *argv[])
 {
     // make sure the user at least entered a sub_command
-	if (argc < 2) return help();
+	if (argc < 2) return bedtools_help();
+
+    // genome arithmetic tools
+	if (strcmp(argv[1], "intersect") == 0)        return intersect_main(argc-1, argv+1);
+    else if (strcmp(argv[1], "window") == 0)      return window_main(argc-1, argv+1);
+    else if (strcmp(argv[1], "closest") == 0)     return closest_main(argc-1, argv+1);
+    else if (strcmp(argv[1], "coverage") == 0)    return coverage_main(argc-1, argv+1);
+    else if (strcmp(argv[1], "genomecov") == 0)   return genomecoverage_main(argc-1, argv+1);
+    else if (strcmp(argv[1], "merge") == 0)       return merge_main(argc-1, argv+1);
+    else if (strcmp(argv[1], "complement") == 0)  return complement_main(argc-1, argv+1);
+    else if (strcmp(argv[1], "subtract") == 0)    return subtract_main(argc-1, argv+1);
+    else if (strcmp(argv[1], "slop") == 0)        return slop_main(argc-1, argv+1);
+    else if (strcmp(argv[1], "flank") == 0)       return flank_main(argc-1, argv+1);
+    else if (strcmp(argv[1], "sort") == 0)        return sort_main(argc-1, argv+1);
+    else if (strcmp(argv[1], "shuffle") == 0)     return shuffle_main(argc-1, argv+1);
+    else if (strcmp(argv[1], "annotate") == 0)    return annotate_main(argc-1, argv+1);
+
+    // Multi-way file comparisonstools
+    else if (strcmp(argv[1], "multiinter") == 0)  return multiintersect_main(argc-1, argv+1);
+    else if (strcmp(argv[1], "unionbedg") == 0)   return unionbedgraphs_main(argc-1, argv+1);
+
+    // paired-end conversion tools
+    else if (strcmp(argv[1], "pairtobed") == 0)   return pairtobed_main(argc-1, argv+1);
+    else if (strcmp(argv[1], "pairtopair") == 0)  return pairtopair_main(argc-1, argv+1);
+
+    // format conversion tools
+    else if (strcmp(argv[1], "bamtobed") == 0)    return bamtobed_main(argc-1, argv+1);
+    else if (strcmp(argv[1], "bedtobam") == 0)    return bedtobam_main(argc-1, argv+1);
+    else if (strcmp(argv[1], "bedpetobam") == 0)  return bedpetobam_main(argc-1, argv+1);
+    else if (strcmp(argv[1], "bed12tobed6") == 0) return bed12tobed6_main(argc-1, argv+1);
+
+    // BAM-specific tools
+    else if (strcmp(argv[1], "multicov") == 0)    return multibamcov_main(argc-1, argv+1);
+    else if (strcmp(argv[1], "tag") == 0)         return tagbam_main(argc-1, argv+1);    
+
+    // fasta tools
+    else if (strcmp(argv[1], "getfasta") == 0)       return fastafrombed_main(argc-1, argv+1);
+    else if (strcmp(argv[1], "maskfasta") == 0)      return maskfastafrombed_main(argc-1, argv+1);
+    else if (strcmp(argv[1], "nuc") == 0)         return nuc_main(argc-1, argv+1);
+
+    // misc. tools
+    else if (strcmp(argv[1], "overlap") == 0)     return getoverlap_main(argc-1, argv+1);
+    else if (strcmp(argv[1], "igv") == 0)         return bedtoigv_main(argc-1, argv+1);
+    else if (strcmp(argv[1], "links") == 0)       return links_main(argc-1, argv+1);    
+
+    // help
+    else if (strcmp(argv[1], "-h") == 0)          return bedtools_help();
+    else if (strcmp(argv[1], "--help") == 0)      return bedtools_help();
 
-    // spawn the proper tool.
-	if (strcmp(argv[1], "intersect") == 0)     return intersect_main(argc-1, argv+1);
-	else if (strcmp(argv[1], "coverage") == 0) return coverage_main(argc-1, argv+1);
-	else if (strcmp(argv[1], "merge") == 0)    return merge_main(argc-1, argv+1);
-	else if (strcmp(argv[1], "subtract") == 0) return subtract_main(argc-1, argv+1);
+    // unknown
 	else {
-		fprintf(stderr, "[main] unrecognized command '%s'\n", argv[1]);
+		cerr << "error: unrecognized command: " << argv[1] << endl << endl;
 		return 1;
 	}
 	return 0;	
diff --git a/src/closestBed/Makefile b/src/closestBed/Makefile
index 00cfd889..859bfcf1 100644
--- a/src/closestBed/Makefile
+++ b/src/closestBed/Makefile
@@ -16,14 +16,10 @@ EXT_OBJECTS=$(patsubst %,$(OBJ_DIR)/%,$(_EXT_OBJECTS))
 BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
 PROGRAM= closestBed
 
-all: $(PROGRAM)
+all: $(BUILT_OBJECTS)
 
 .PHONY: all
 
-$(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
-	@echo "  * linking $(PROGRAM)"
-	@$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ $(LIBS)
-
 $(BUILT_OBJECTS): $(SOURCES)
 	@echo "  * compiling" $(*F).cpp
 	@$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES)
diff --git a/src/closestBed/closestMain.cpp b/src/closestBed/closestMain.cpp
index 0128af24..e4f1b7a5 100644
--- a/src/closestBed/closestMain.cpp
+++ b/src/closestBed/closestMain.cpp
@@ -15,15 +15,15 @@
 using namespace std;
 
 // define our program name
-#define PROGRAM_NAME "closestBed"
+#define PROGRAM_NAME "bedtools closest"
 
 // define our parameter checking macro
 #define PARAMETER_CHECK(param, paramLen, actualLen) (strncmp(argv[i], param, min(actualLen, paramLen))== 0) && (actualLen == paramLen)
 
 // function declarations
-void ShowHelp(void);
+void closest_help(void);
 
-int main(int argc, char* argv[]) {
+int closest_main(int argc, char* argv[]) {
 
     // our configuration variables
     bool showHelp = false;
@@ -58,7 +58,7 @@ int main(int argc, char* argv[]) {
         }
     }
 
-    if(showHelp) ShowHelp();
+    if(showHelp) closest_help();
 
     // do some parsing (all of these parameters require 2 strings)
     for(int i = 1; i < argc; i++) {
@@ -144,19 +144,16 @@ int main(int argc, char* argv[]) {
                                         diffStrand, tieMode, reportDistance, 
                                         signDistance, strandedDistMode, ignoreOverlaps, printHeader);
         delete bc;
-        return 0;
     }
     else {
-        ShowHelp();
+        closest_help();
     }
+    return 0;
 }
 
-void ShowHelp(void) {
-
-    cerr << endl << "Program: " << PROGRAM_NAME << " (v" << VERSION << ")" << endl;
-
-    cerr << "Authors: Aaron Quinlan (aaronquinlan@gmail.com)" << endl;
-    cerr       << "\t Erik Arner, Riken" << endl << endl;
+void closest_help(void) {
+    
+    cerr << "\nTool:    bedtools closest (aka closestBed)" << endl;
 
     cerr << "Summary: For each feature in A, finds the closest " << endl;
     cerr << "\t feature (upstream or downstream) in B." << endl << endl;
@@ -164,12 +161,12 @@ void ShowHelp(void) {
     cerr << "Usage:   " << PROGRAM_NAME << " [OPTIONS] -a <bed/gff/vcf> -b <bed/gff/vcf>" << endl << endl;
 
     cerr << "Options: " << endl;
-    cerr << "\t-s\t"            << "Require same strandedness.  That is, find the closest feature in B" << endl;
-    cerr                        << "\t\tthat overlaps A on the _same_ strand." << endl;
+    cerr << "\t-s\t"            << "Req. same strandedness.  That is, find the closest feature in" << endl;
+    cerr                        << "\t\tB that overlaps A on the _same_ strand." << endl;
     cerr                        << "\t\t- By default, overlaps are reported without respect to strand." << endl << endl;
 
-    cerr << "\t-S\t"            << "Require opposite strandedness.  That is, find the closest feature in B" << endl;
-    cerr                        << "\t\tthat overlaps A on the _opposite_ strand." << endl;
+    cerr << "\t-S\t"            << "Req. opposite strandedness.  That is, find the closest feature" << endl;
+    cerr                        << "\t\tin B that overlaps A on the _opposite_ strand." << endl;
     cerr                        << "\t\t- By default, overlaps are reported without respect to strand." << endl << endl;
 
     cerr << "\t-d\t"            << "In addition to the closest feature in B, " << endl;
@@ -178,17 +175,19 @@ void ShowHelp(void) {
     
     cerr << "\t-D\t"            << "Like -d, report the closest feature in B, and its distance to A" << endl;
     cerr                        << "\t\tas an extra column. Unlike -d, use negative distances to report" << endl;
-    cerr                        << "\t\tupstream features. You must specify which orientation defines \"upstream\"." << endl;
-    cerr                        << "\t\tThe options are:" << endl;
+    cerr                        << "\t\tupstream features." << endl;
+    cerr                        << "\t\tThe options for defining which orientation is \"upstream\" are:" << endl;
     cerr                        << "\t\t- \"ref\"   Report distance with respect to the reference genome. " << endl;
     cerr                        << "\t\t            B features with a lower (start, stop) are upstream" << endl;
     cerr                        << "\t\t- \"a\"     Report distance with respect to A." << endl;
-    cerr                        << "\t\t            When A is on the - strand, \"upstream\" means B has a higher (start,stop)." << endl;
+    cerr                        << "\t\t            When A is on the - strand, \"upstream\" means B has a" << endl;
+    cerr                        << "\t\t            higher (start,stop)." << endl;    
     cerr                        << "\t\t- \"b\"     Report distance with respect to B." << endl;
-    cerr                        << "\t\t            When B is on the - strand, \"upstream\" means A has a higher (start,stop)." << endl << endl;
+    cerr                        << "\t\t            When B is on the - strand, \"upstream\" means A has a" << endl;
+    cerr                        << "\t\t            higher (start,stop)." << endl << endl;
 
-    cerr << "\t-io\t"           << "Ignore features in B that overlap A.  That is, we want close, but " << endl;
-    cerr                        << "\t\tnot touching features only." << endl << endl;
+    cerr << "\t-io\t"           << "Ignore features in B that overlap A.  That is, we want close," << endl;
+    cerr                        << "\t\tyet not touching features only." << endl << endl;
 
     cerr << "\t-t\t"            << "How ties for closest feature are handled.  This occurs when two" << endl;
     cerr                        << "\t\tfeatures in B have exactly the same \"closeness\" with A." << endl;
diff --git a/src/complementBed/Makefile b/src/complementBed/Makefile
index 2f542063..bc56b4dd 100644
--- a/src/complementBed/Makefile
+++ b/src/complementBed/Makefile
@@ -24,14 +24,10 @@ BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
 PROGRAM= complementBed
 
 
-all: $(PROGRAM)
+all: $(BUILT_OBJECTS)
 
 .PHONY: all
 
-$(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
-	@echo "  * linking $(PROGRAM)"
-	@$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ $(LIBS)
-
 $(BUILT_OBJECTS): $(SOURCES)
 	@echo "  * compiling" $(*F).cpp
 	@$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES)
diff --git a/src/complementBed/complementMain.cpp b/src/complementBed/complementMain.cpp
index 7eb34d5f..98b1a786 100644
--- a/src/complementBed/complementMain.cpp
+++ b/src/complementBed/complementMain.cpp
@@ -15,16 +15,16 @@
 using namespace std;
 
 // define our program name
-#define PROGRAM_NAME "complementBed"
+#define PROGRAM_NAME "bedtools complement"
 
 
 // define our parameter checking macro
 #define PARAMETER_CHECK(param, paramLen, actualLen) (strncmp(argv[i], param, min(actualLen, paramLen))== 0) && (actualLen == paramLen)
 
 // function declarations
-void ShowHelp(void);
+void complement_help(void);
 
-int main(int argc, char* argv[]) {
+int complement_main(int argc, char* argv[]) {
 
     // our configuration variables
     bool showHelp = false;
@@ -45,7 +45,7 @@ int main(int argc, char* argv[]) {
         }
     }
 
-    if(showHelp) ShowHelp();
+    if(showHelp) complement_help();
 
     // do some parsing (all of these parameters require 2 strings)
     for(int i = 1; i < argc; i++) {
@@ -73,25 +73,23 @@ int main(int argc, char* argv[]) {
 
     // make sure we have both input files
     if (!haveBed || !haveGenome) {
-      cerr << endl << "*****" << endl << "*****ERROR: Need -i BED file and -g Genome file. " << endl << "*****" << endl;
+      cerr << endl << "*****" << endl << "*****ERROR: Need -i BED file and -g genome file. " << endl << "*****" << endl;
       showHelp = true;
     }
     if (!showHelp) {
         BedComplement *bc = new BedComplement(bedFile, genomeFile);
         bc->ComplementBed();
-        return 0;
     }
     else {
-        ShowHelp();
+        complement_help();
     }
+    return 0;
 }
 
-void ShowHelp(void) {
-
-    cerr << endl << "Program: " << PROGRAM_NAME << " (v" << VERSION << ")" << endl;
-
-    cerr << "Author:  Aaron Quinlan (aaronquinlan@gmail.com)" << endl;
+void complement_help(void) {
 
+    cerr << "\nTool:    bedtools complement (aka complementBed)" << endl;
+    
     cerr << "Summary: Returns the base pair complement of a feature file." << endl << endl;
 
     cerr << "Usage:   " << PROGRAM_NAME << " [OPTIONS] -i <bed/gff/vcf> -g <genome>" << endl << endl;
diff --git a/src/coverageBed/Makefile b/src/coverageBed/Makefile
index 48ccb37f..ea5d777b 100644
--- a/src/coverageBed/Makefile
+++ b/src/coverageBed/Makefile
@@ -24,14 +24,10 @@ BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
 PROGRAM= coverageBed
 
 
-all: $(PROGRAM)
+all: $(BUILT_OBJECTS)
 
 .PHONY: all
 
-$(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
-	@echo "  * linking $(PROGRAM)"
-	@$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ -L$(UTILITIES_DIR)/BamTools/lib/ -lbamtools $(LIBS)
-
 $(BUILT_OBJECTS): $(SOURCES)
 	@echo "  * compiling" $(*F).cpp
 	@$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES)
diff --git a/src/coverageBed/coverageMain.cpp b/src/coverageBed/coverageMain.cpp
index 6a01fdc6..a0b839f8 100644
--- a/src/coverageBed/coverageMain.cpp
+++ b/src/coverageBed/coverageMain.cpp
@@ -15,15 +15,15 @@
 using namespace std;
 
 // define the version
-#define PROGRAM_NAME "coverageBed"
+#define PROGRAM_NAME "bedtools coverage"
 
 // define our parameter checking macro
 #define PARAMETER_CHECK(param, paramLen, actualLen) (strncmp(argv[i], param, min(actualLen, paramLen))== 0) && (actualLen == paramLen)
 
 // function declarations
-void ShowHelp(void);
+void coverage_help(void);
 
-int main(int argc, char* argv[]) {
+int coverage_main(int argc, char* argv[]) {
 
     // our configuration variables
     bool showHelp = false;
@@ -55,7 +55,7 @@ int main(int argc, char* argv[]) {
         }
     }
 
-    if(showHelp) ShowHelp();
+    if(showHelp) coverage_help();
 
     // do some parsing (all of these parameters require 2 strings)
     for(int i = 1; i < argc; i++) {
@@ -123,19 +123,17 @@ int main(int argc, char* argv[]) {
         BedCoverage *bg = new BedCoverage(bedAFile, bedBFile, sameStrand, diffStrand,
                                           writeHistogram, bamInput, obeySplits, eachBase, countsOnly);
         delete bg;
-        return 0;
     }
     else {
-        ShowHelp();
+        coverage_help();
     }
+    return 0;
 }
 
-void ShowHelp(void) {
-
-    cerr << endl << "Program: " << PROGRAM_NAME << " (v" << VERSION << ")" << endl;
-
-    cerr << "Author:  Aaron Quinlan (aaronquinlan@gmail.com)" << endl;
+void coverage_help(void) {
 
+    cerr << "\nTool:    bedtools coverage (aka coverageBed)" << endl;
+    
     cerr << "Summary: Returns the depth and breadth of coverage of features from A" << endl;
     cerr << "\t on the intervals in B." << endl << endl;
 
@@ -149,8 +147,8 @@ void ShowHelp(void) {
     cerr                        << "\t\toverlap B on the _same_ strand." << endl;
     cerr                        << "\t\t- By default, overlaps are counted without respect to strand." << endl << endl;
 
-    cerr << "\t-S\t"            << "Require different strandedness.  That is, only report hits in A that" << endl;
-    cerr                        << "\t\toverlap B on the _opposite_ strand." << endl;
+    cerr << "\t-S\t"            << "Require different strandedness.  That is, only report hits in A" << endl;
+    cerr                        << "\t\tthat overlap B on the _opposite_ strand." << endl;
     cerr                        << "\t\t- By default, overlaps are counted without respect to strand." << endl << endl;
 
     cerr << "\t-hist\t"         << "Report a histogram of coverage for each feature in B" << endl;
diff --git a/src/fastaFromBed/Makefile b/src/fastaFromBed/Makefile
index 3cd9e892..701a6604 100644
--- a/src/fastaFromBed/Makefile
+++ b/src/fastaFromBed/Makefile
@@ -25,14 +25,10 @@ BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
 PROGRAM= fastaFromBed
 
 
-all: $(PROGRAM)
+all: $(BUILT_OBJECTS)
 
 .PHONY: all
 
-$(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
-	@echo "  * linking $(PROGRAM)"
-	@$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ $(LIBS)
-
 $(BUILT_OBJECTS): $(SOURCES)
 	@echo "  * compiling" $(*F).cpp
 	@$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES)
diff --git a/src/fastaFromBed/fastaFromBedMain.cpp b/src/fastaFromBed/fastaFromBedMain.cpp
index c31676d9..06bce775 100644
--- a/src/fastaFromBed/fastaFromBedMain.cpp
+++ b/src/fastaFromBed/fastaFromBedMain.cpp
@@ -15,16 +15,16 @@
 using namespace std;
 
 // define our program name
-#define PROGRAM_NAME "fastaFromBed"
+#define PROGRAM_NAME "bedtools getfasta"
 
 
 // define our parameter checking macro
 #define PARAMETER_CHECK(param, paramLen, actualLen) (strncmp(argv[i], param, min(actualLen, paramLen))== 0) && (actualLen == paramLen)
 
 // function declarations
-void ShowHelp(void);
+void fastafrombed_help(void);
 
-int main(int argc, char* argv[]) {
+int fastafrombed_main(int argc, char* argv[]) {
 
     // our configuration variables
     bool showHelp = false;
@@ -56,7 +56,7 @@ int main(int argc, char* argv[]) {
         }
     }
 
-    if(showHelp) ShowHelp();
+    if(showHelp) fastafrombed_help();
 
     // do some parsing (all of these parameters require 2 strings)
     for(int i = 1; i < argc; i++) {
@@ -107,19 +107,16 @@ int main(int argc, char* argv[]) {
 
         Bed2Fa *b2f = new Bed2Fa(useNameOnly, fastaDbFile, bedFile, fastaOutFile, useFasta, useStrand);
         delete b2f;
-
-        return 0;
     }
     else {
-        ShowHelp();
+        fastafrombed_help();
     }
+    return 0;
 }
 
-void ShowHelp(void) {
-
-    cerr << endl << "Program: " << PROGRAM_NAME << " (v" << VERSION << ")" << endl;
-
-    cerr << "Author:  Aaron Quinlan (aaronquinlan@gmail.com)" << endl;
+void fastafrombed_help(void) {
+    
+    cerr << "\nTool:    bedtools getfasta (aka fastaFromBed)" << endl;
 
     cerr << "Summary: Extract DNA sequences into a fasta file based on feature coordinates." << endl << endl;
 
@@ -134,12 +131,10 @@ void ShowHelp(void) {
     cerr << "\t-tab\tWrite output in TAB delimited format." << endl;
     cerr << "\t\t- Default is FASTA format." << endl << endl;
 
-    cerr << "\t-s\tForce strandedness. If the feature occupies the antisense strand," << endl;
-    cerr << "\t\tthe sequence will be reverse complemented." << endl;
+    cerr << "\t-s\tForce strandedness. If the feature occupies the antisense," << endl;
+    cerr << "\t\tstrand, the sequence will be reverse complemented." << endl;
     cerr << "\t\t- By default, strand information is ignored." << endl << endl;
 
-
-
     // end the program here
     exit(1);
 
diff --git a/src/flankBed/Makefile b/src/flankBed/Makefile
index 1da20693..bc53291b 100644
--- a/src/flankBed/Makefile
+++ b/src/flankBed/Makefile
@@ -24,14 +24,10 @@ BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
 PROGRAM= flankBed
 
 
-all: $(PROGRAM)
+all: $(BUILT_OBJECTS)
 
 .PHONY: all
 
-$(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
-	@echo "  * linking $(PROGRAM)"
-	@$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ $(LIBS)
-
 $(BUILT_OBJECTS): $(SOURCES)
 	@echo "  * compiling" $(*F).cpp
 	@$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES)
diff --git a/src/flankBed/flankBedMain.cpp b/src/flankBed/flankBedMain.cpp
index 062839e6..5600cec0 100644
--- a/src/flankBed/flankBedMain.cpp
+++ b/src/flankBed/flankBedMain.cpp
@@ -15,16 +15,16 @@
 using namespace std;
 
 // define our program name
-#define PROGRAM_NAME "flankBed"
+#define PROGRAM_NAME "bedtools flank"
 
 
 // define our parameter checking macro
 #define PARAMETER_CHECK(param, paramLen, actualLen) (strncmp(argv[i], param, min(actualLen, paramLen))== 0) && (actualLen == paramLen)
 
 // function declarations
-void ShowHelp(void);
+void flank_help(void);
 
-int main(int argc, char* argv[]) {
+int flank_main(int argc, char* argv[]) {
 
     // our configuration variables
     bool showHelp = false;
@@ -54,7 +54,7 @@ int main(int argc, char* argv[]) {
         }
     }
 
-    if(showHelp) ShowHelp();
+    if(showHelp) flank_help();
 
     // do some parsing (all of these parameters require 2 strings)
     for(int i = 1; i < argc; i++) {
@@ -137,15 +137,14 @@ int main(int argc, char* argv[]) {
         return 0;
     }
     else {
-        ShowHelp();
+        flank_help();
     }
+    return 0;
 }
 
-void ShowHelp(void) {
-
-    cerr << endl << "Program: " << PROGRAM_NAME << " (v" << VERSION << ")" << endl;
-
-    cerr << "Author:  Aaron Quinlan (aaronquinlan@gmail.com)" << endl;
+void flank_help(void) {
+    
+    cerr << "\nTool:    bedtools flank (aka flankBed)" << endl;
 
     cerr << "Summary: Creates flanking interval(s) for each BED/GFF/VCF feature." << endl << endl;
 
@@ -155,10 +154,12 @@ void ShowHelp(void) {
     cerr << "\t-b\t"                << "Create flanking intervak using -b base pairs in each direction." << endl;
     cerr                            << "\t\t- (Integer) or (Float, e.g. 0.1) if used with -pct." << endl << endl;
 
-    cerr << "\t-l\t"                << "The number of base pairs that a flank should start from orig. start coordinate." << endl;
+    cerr << "\t-l\t"                << "The number of base pairs that a flank should start from" << endl;
+    cerr                            << "\t\torig. start coordinate." << endl;    
     cerr                            << "\t\t- (Integer) or (Float, e.g. 0.1) if used with -pct." << endl << endl;
         
-    cerr << "\t-r\t"                << "The number of base pairs that a flank should end from orig. end coordinate." << endl;
+    cerr << "\t-r\t"                << "The number of base pairs that a flank should end from" << endl;
+    cerr                            << "\t\torig. end coordinate." << endl;
     cerr                            << "\t\t- (Integer) or (Float, e.g. 0.1) if used with -pct." << endl << endl;
         
     cerr << "\t-s\t"                << "Define -l and -r based on strand." << endl;
diff --git a/src/genomeCoverageBed/Makefile b/src/genomeCoverageBed/Makefile
index 4194fdb5..a7725767 100644
--- a/src/genomeCoverageBed/Makefile
+++ b/src/genomeCoverageBed/Makefile
@@ -24,14 +24,10 @@ BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
 PROGRAM= genomeCoverageBed
 
 
-all: $(PROGRAM)
+all: $(BUILT_OBJECTS)
 
 .PHONY: all
 
-$(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
-	@echo "  * linking $(PROGRAM)"
-	@$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ -L$(UTILITIES_DIR)/BamTools/lib/ -lbamtools $(LIBS)
-
 $(BUILT_OBJECTS): $(SOURCES)
 	@echo "  * compiling" $(*F).cpp
 	@$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES)
diff --git a/src/genomeCoverageBed/genomeCoverageMain.cpp b/src/genomeCoverageBed/genomeCoverageMain.cpp
index a316e45a..43cb0246 100644
--- a/src/genomeCoverageBed/genomeCoverageMain.cpp
+++ b/src/genomeCoverageBed/genomeCoverageMain.cpp
@@ -15,16 +15,16 @@ Licenced under the GNU General Public License 2.0 license.
 using namespace std;
 
 // define our program name
-#define PROGRAM_NAME "genomeCoverageBed"
+#define PROGRAM_NAME "bedtools genomecov"
 
 
 // define our parameter checking macro
 #define PARAMETER_CHECK(param, paramLen, actualLen) (strncmp(argv[i], param, min(actualLen, paramLen))== 0) && (actualLen == paramLen)
 
 // function declarations
-void ShowHelp(void);
+void genomecoverage_help(void);
 
-int main(int argc, char* argv[]) {
+int genomecoverage_main(int argc, char* argv[]) {
 
     // our configuration variables
     bool showHelp = false;
@@ -64,7 +64,7 @@ int main(int argc, char* argv[]) {
         }
     }
 
-    if(showHelp) ShowHelp();
+    if(showHelp) genomecoverage_help();
 
     // do some parsing (all of these parameters require 2 strings)
     for(int i = 1; i < argc; i++) {
@@ -205,21 +205,17 @@ int main(int argc, char* argv[]) {
                                                       eachBaseZeroBased,
                                                       add_gb_track_line, gb_track_opts);
         delete bc;
-
-        return 0;
     }
     else {
-        ShowHelp();
+        genomecoverage_help();
     }
+    return 0;
 }
 
-void ShowHelp(void) {
-
-    cerr << endl << "Program: " << PROGRAM_NAME << " (v" << VERSION << ")" << endl;
-
-    cerr << "Authors: Aaron Quinlan (aaronquinlan@gmail.com)" << endl;
-    cerr << " Assaf Gordon, CSHL" << endl << endl;
+void genomecoverage_help(void) {
 
+    cerr << "\nTool:    bedtools genomecov (aka genomeCoverageBed)" << endl;
+    
     cerr << "Summary: Compute the coverage of a feature file among a genome." << endl << endl;
 
     cerr << "Usage: " << PROGRAM_NAME << " [OPTIONS] -i <bed/gff/vcf> -g <genome>" << endl << endl;
diff --git a/src/getOverlap/Makefile b/src/getOverlap/Makefile
index be9ff2fa..6767447b 100644
--- a/src/getOverlap/Makefile
+++ b/src/getOverlap/Makefile
@@ -19,15 +19,10 @@ BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
 PROGRAM= getOverlap
 
 
-all: $(PROGRAM)
+all: $(BUILT_OBJECTS)
 
 .PHONY: all
 
-
-$(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
-	@echo "  * linking $(PROGRAM)"
-	@$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ $(LIBS)
-
 $(BUILT_OBJECTS): $(SOURCES)
 	@echo "  * compiling" $(*F).cpp
 	@$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES)
diff --git a/src/getOverlap/getOverlap.cpp b/src/getOverlap/getOverlap.cpp
index 20bb597b..ec981a2d 100644
--- a/src/getOverlap/getOverlap.cpp
+++ b/src/getOverlap/getOverlap.cpp
@@ -28,11 +28,11 @@ using namespace std;
 
 
 // function declarations
-void ShowHelp(void);
+void getoverlap_help(void);
 void DetermineInput(string &inFile, short &s1Col, short &e1Col, short &s2Col, short &e2Col);
 void ComputeOverlaps(istream &input, short &s1Col, short &e1Col, short &s2Col, short &e2Col);
 
-int main(int argc, char* argv[]) {
+int getoverlap_main(int argc, char* argv[]) {
 
     // input files
     string inFile = "stdin";
@@ -53,7 +53,7 @@ int main(int argc, char* argv[]) {
         }
     }
 
-    if(showHelp) ShowHelp();
+    if(showHelp) getoverlap_help();
 
     // do some parsing (all of these parameters require 2 strings)
     for(int i = 1; i < argc; i++) {
@@ -92,7 +92,7 @@ int main(int argc, char* argv[]) {
 
         if (posColumns.size() != 4) {
             cerr << endl << "*****" << endl << "*****ERROR: Please specify 4, comma-separated position columns. " << endl << "*****" << endl;
-            ShowHelp();
+            getoverlap_help();
         }
         else {
             short s1, e1, s2, e2;
@@ -105,16 +105,15 @@ int main(int argc, char* argv[]) {
         }
     }
     else {
-        ShowHelp();
+        getoverlap_help();
     }
+    return 0;
 }
 
-void ShowHelp(void) {
-
-    cerr << endl << "Program: " << PROGRAM_NAME << " (v" << VERSION << ")" << endl;
-
-    cerr << "Author:  Aaron Quinlan (aaronquinlan@gmail.com)" << endl;
+void getoverlap_help(void) {
 
+    cerr << "\nTool:    bedtools overlap (aka getOverlap)" << endl;
+    
     cerr << "Summary: Computes the amount of overlap (positive values)" << endl;
     cerr << "\t or distance (negative values) between genome features" << endl;
     cerr << "\t and reports the result at the end of the same line." << endl << endl;
diff --git a/src/intersectBed/Makefile b/src/intersectBed/Makefile
index 71cba93d..a6919d99 100644
--- a/src/intersectBed/Makefile
+++ b/src/intersectBed/Makefile
@@ -25,17 +25,13 @@ EXT_OBJECTS=$(patsubst %,$(OBJ_DIR)/%,$(_EXT_OBJECTS))
 BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
 PROGRAM= intersectBed
 
-all: $(PROGRAM)
+all: $(BUILT_OBJECTS)
 
 .PHONY: all
 
-$(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
-	@echo "  * linking $(PROGRAM)"
-	@$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ -L$(UTILITIES_DIR)/BamTools/lib/ -lbamtools $(LIBS)
-
 $(BUILT_OBJECTS): $(SOURCES)
 	@echo "  * compiling" $(*F).cpp
-	@$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES)
+	@$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(DFLAGS) $(INCLUDES)
 
 $(EXT_OBJECTS):
 	@$(MAKE) --no-print-directory -C $(UTILITIES_DIR)/bedFile/
diff --git a/src/intersectBed/intersectMain.cpp b/src/intersectBed/intersectMain.cpp
index f1af974a..d5602e7c 100644
--- a/src/intersectBed/intersectMain.cpp
+++ b/src/intersectBed/intersectMain.cpp
@@ -224,15 +224,14 @@ int intersect_main(int argc, char* argv[]) {
     }
     else {
         intersect_help();
+        return 0;
     }
 }
 
 void intersect_help(void) {
 
-    cerr << endl << "Program: " << PROGRAM_NAME << " (v" << VERSION << ")" << endl;
-
-    cerr << "Author:  Aaron Quinlan (aaronquinlan@gmail.com)" << endl;
-
+    cerr << "\nTool:    bedtools intersect (aka intersectBed)" << endl;
+    
     cerr << "Summary: Report overlaps between two feature files." << endl << endl;
 
     cerr << "Usage:   " << PROGRAM_NAME << " [OPTIONS] -a <bed/gff/vcf> -b <bed/gff/vcf>" << endl << endl;
@@ -241,7 +240,7 @@ void intersect_help(void) {
 
     cerr << "\t-abam\t"         << "The A input file is in BAM format.  Output will be BAM as well." << endl << endl;
 
-    cerr << "\t-ubam\t"         << "Write uncompressed BAM output. Default is to write compressed BAM." << endl << endl;
+    cerr << "\t-ubam\t"         << "Write uncompressed BAM output. Default writes compressed BAM." << endl << endl;
 
     cerr << "\t-bed\t"          << "When using BAM input (-abam), write output as BED. The default" << endl;
     cerr                        << "\t\tis to write output in BAM when using -abam." << endl << endl;
@@ -281,18 +280,17 @@ void intersect_help(void) {
     cerr                        << "\t\t- In other words, if -f is 0.90 and -r is used, this requires" << endl;
     cerr                        << "\t\t  that B overlap 90% of A and A _also_ overlaps 90% of B." << endl << endl;
 
-    cerr << "\t-s\t"            << "Require same strandedness.  That is, only report hits in B that" << endl;
-    cerr                        << "\t\toverlap A on the _same_ strand." << endl;
+    cerr << "\t-s\t"            << "Require same strandedness.  That is, only report hits in B" << endl;
+    cerr                        << "\t\tthat overlap A on the _same_ strand." << endl;
     cerr                        << "\t\t- By default, overlaps are reported without respect to strand." << endl << endl;
 
-    cerr << "\t-S\t"            << "Require different strandedness.  That is, only report hits in B that" << endl;
-    cerr                        << "\t\toverlap A on the _opposite_ strand." << endl;
+    cerr << "\t-S\t"            << "Require different strandedness.  That is, only report hits in B" << endl;
+    cerr                        << "\t\tthat overlap A on the _opposite_ strand." << endl;
     cerr                        << "\t\t- By default, overlaps are reported without respect to strand." << endl << endl;
 
     cerr << "\t-split\t"        << "Treat \"split\" BAM or BED12 entries as distinct BED intervals." << endl << endl;
 
-    cerr << "\t-sorted\t"       << "Use the \"chromsweep\" algorithm for sorted (-k1,1 -k2,2n) input" << endl;
-    cerr                        << "\t\tNOTE: this will trust, but not enforce that data is sorted. Caveat emptor." << endl << endl;
+    cerr << "\t-sorted\t"       << "Use the \"chromsweep\" algorithm for sorted (-k1,1 -k2,2n) input" << endl << endl;
     
     cerr << "\t-header\t"       << "Print the header from the A file prior to results." << endl << endl;
  
diff --git a/src/linksBed/Makefile b/src/linksBed/Makefile
index 75317bf2..7c354db9 100644
--- a/src/linksBed/Makefile
+++ b/src/linksBed/Makefile
@@ -18,14 +18,10 @@ BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
 PROGRAM= linksBed
 
 
-all: $(PROGRAM)
+all: $(BUILT_OBJECTS)
 
 .PHONY: all
 
-$(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
-	@echo "  * linking $(PROGRAM)"
-	@$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ $(LIBS)
-
 $(BUILT_OBJECTS): $(SOURCES)
 	@echo "  * compiling" $(*F).cpp
 	@$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES)
diff --git a/src/linksBed/linksMain.cpp b/src/linksBed/linksMain.cpp
index f4e5500d..8009d884 100644
--- a/src/linksBed/linksMain.cpp
+++ b/src/linksBed/linksMain.cpp
@@ -15,16 +15,16 @@
 using namespace std;
 
 // define our program name
-#define PROGRAM_NAME "linksBed"
+#define PROGRAM_NAME "bedtools links"
 
 
 // define our parameter checking macro
 #define PARAMETER_CHECK(param, paramLen, actualLen) (strncmp(argv[i], param, min(actualLen, paramLen))== 0) && (actualLen == paramLen)
 
 // function declarations
-void ShowHelp(void);
+void links_help(void);
 
-int main(int argc, char* argv[]) {
+int links_main(int argc, char* argv[]) {
 
     // our configuration variables
     bool showHelp = false;
@@ -47,7 +47,7 @@ int main(int argc, char* argv[]) {
         }
     }
 
-    if(showHelp) ShowHelp();
+    if(showHelp) links_help();
 
     // do some parsing (all of these parameters require 2 strings)
     for(int i = 1; i < argc; i++) {
@@ -93,19 +93,17 @@ int main(int argc, char* argv[]) {
     if (!showHelp) {
         BedLinks *bl = new BedLinks(bedFile, base, org, db);
         delete bl;
-        return 0;
     }
     else {
-        ShowHelp();
+        links_help();
     }
+    return 0;
 }
 
-void ShowHelp(void) {
-
-    cerr << endl << "Program: " << PROGRAM_NAME << " (v" << VERSION << ")" << endl;
-
-    cerr << "Author:  Aaron Quinlan (aaronquinlan@gmail.com)" << endl;
+void links_help(void) {
 
+    cerr << "\nTool:    bedtools links (aka linksBed)" << endl;
+    
     cerr << "Summary: Creates HTML links to an UCSC Genome Browser from a feature file." << endl << endl;
     cerr << "Usage:   " << PROGRAM_NAME << " [OPTIONS] -i <bed/gff/vcf> > out.html" << endl << endl;
 
diff --git a/src/maskFastaFromBed/Makefile b/src/maskFastaFromBed/Makefile
index 9b65fc52..3b5ec085 100644
--- a/src/maskFastaFromBed/Makefile
+++ b/src/maskFastaFromBed/Makefile
@@ -17,14 +17,10 @@ EXT_OBJECTS=$(patsubst %,$(OBJ_DIR)/%,$(_EXT_OBJECTS))
 BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
 PROGRAM= maskFastaFromBed
 
-all: $(PROGRAM)
+all: $(BUILT_OBJECTS)
 
 .PHONY: all
 
-$(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
-	@echo "  * linking $(PROGRAM)"
-	@$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ $(LIBS)
-
 $(BUILT_OBJECTS): $(SOURCES)
 	@echo "  * compiling" $(*F).cpp
 	@$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES)
diff --git a/src/maskFastaFromBed/maskFastaFromBedMain.cpp b/src/maskFastaFromBed/maskFastaFromBedMain.cpp
index 7fce56bb..5bb73908 100644
--- a/src/maskFastaFromBed/maskFastaFromBedMain.cpp
+++ b/src/maskFastaFromBed/maskFastaFromBedMain.cpp
@@ -15,16 +15,16 @@
 using namespace std;
 
 // define our program name
-#define PROGRAM_NAME "maskFastaFromBed"
+#define PROGRAM_NAME "bedtools maskfasta"
 
 
 // define our parameter checking macro
 #define PARAMETER_CHECK(param, paramLen, actualLen) (strncmp(argv[i], param, min(actualLen, paramLen))== 0) && (actualLen == paramLen)
 
 // function declarations
-void ShowHelp(void);
+void maskfastafrombed_help(void);
 
-int main(int argc, char* argv[]) {
+int maskfastafrombed_main(int argc, char* argv[]) {
 
     // our configuration variables
     bool showHelp = false;
@@ -55,7 +55,7 @@ int main(int argc, char* argv[]) {
         }
     }
 
-    if(showHelp) ShowHelp();
+    if(showHelp) maskfastafrombed_help();
 
     // do some parsing (all of these parameters require 2 strings)
     for(int i = 1; i < argc; i++) {
@@ -113,24 +113,20 @@ int main(int argc, char* argv[]) {
 
         MaskFastaFromBed *maskFasta = new MaskFastaFromBed(fastaInFile, bedFile, fastaOutFile, softMask, maskChar);
         delete maskFasta;
-        return 0;
     }
     else {
-        ShowHelp();
+        maskfastafrombed_help();
     }
+    return 0;
 }
 
-void ShowHelp(void) {
-
-
-
-    cerr << endl << "Program: " << PROGRAM_NAME << " (v" << VERSION << ")" << endl;
-
-    cerr << "Author:  Aaron Quinlan (aaronquinlan@gmail.com)" << endl;
+void maskfastafrombed_help(void) {
 
+    cerr << "\nTool:    bedtools maskfasta (aka maskFastaFromBed)" << endl;
+    
     cerr << "Summary: Mask a fasta file based on feature coordinates." << endl << endl;
 
-    cerr << "Usage:   " << PROGRAM_NAME << " [OPTIONS] -fi <fasta> -out <fasta> -bed <bed/gff/vcf>" << endl << endl;
+    cerr << "Usage:   " << PROGRAM_NAME << " [OPTIONS] -fi <fasta> -fo <fasta> -bed <bed/gff/vcf>" << endl << endl;
 
     cerr << "Options:" << endl;
     cerr << "\t-fi\tInput FASTA file" << endl;
@@ -138,8 +134,8 @@ void ShowHelp(void) {
     cerr << "\t-fo\tOutput FASTA file" << endl;
     cerr << "\t-soft\tEnforce \"soft\" masking.  That is, instead of masking with Ns," << endl;
     cerr << "\t\tmask with lower-case bases." << endl;
-    cerr << "\t-mc\tReplace masking character.  That is, instead of masking with Ns, use another character." << endl;
-
+    cerr << "\t-mc\tReplace masking character.  That is, instead of masking" << endl;
+    cerr << "\t\twith Ns, use another character." << endl << endl;
     // end the program here
     exit(1);
 
diff --git a/src/mergeBed/Makefile b/src/mergeBed/Makefile
index c6a08b6d..345571e2 100644
--- a/src/mergeBed/Makefile
+++ b/src/mergeBed/Makefile
@@ -18,14 +18,10 @@ BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
 PROGRAM= mergeBed
 
 
-all: $(PROGRAM)
+all: $(BUILT_OBJECTS)
 
 .PHONY: all
 
-$(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
-	@echo "  * linking $(PROGRAM)"
-	@$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ $(LIBS)
-
 $(BUILT_OBJECTS): $(SOURCES)
 	@echo "  * compiling" $(*F).cpp
 	@$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES)
diff --git a/src/mergeBed/mergeMain.cpp b/src/mergeBed/mergeMain.cpp
index 03ee9355..b91d4e1f 100644
--- a/src/mergeBed/mergeMain.cpp
+++ b/src/mergeBed/mergeMain.cpp
@@ -15,16 +15,16 @@
 using namespace std;
 
 // define our program name
-#define PROGRAM_NAME "mergeBed"
+#define PROGRAM_NAME "bedtools merge"
 
 
 // define our parameter checking macro
 #define PARAMETER_CHECK(param, paramLen, actualLen) (strncmp(argv[i], param, min(actualLen, paramLen))== 0) && (actualLen == paramLen)
 
 // function declarations
-void ShowHelp(void);
+void merge_help(void);
 
-int main(int argc, char* argv[]) {
+int merge_main(int argc, char* argv[]) {
 
     // our configuration variables
     bool showHelp = false;
@@ -51,7 +51,7 @@ int main(int argc, char* argv[]) {
         }
     }
 
-    if(showHelp) ShowHelp();
+    if(showHelp) merge_help();
 
     // do some parsing (all of these parameters require 2 strings)
     for(int i = 1; i < argc; i++) {
@@ -112,19 +112,17 @@ int main(int argc, char* argv[]) {
     if (!showHelp) {
         BedMerge *bm = new BedMerge(bedFile, numEntries, maxDistance, forceStrand, reportNames, reportScores, scoreOp);
         delete bm;
-        return 0;
     }
     else {
-        ShowHelp();
+        merge_help();
     }
+    return 0;
 }
 
-void ShowHelp(void) {
-
-    cerr << endl << "Program: " << PROGRAM_NAME << " (v" << VERSION << ")" << endl;
-
-    cerr << "Author:  Aaron Quinlan (aaronquinlan@gmail.com)" << endl;
-
+void merge_help(void) {
+    
+    cerr << "\nTool:    bedtools merge (aka mergeBed)" << endl;
+        
     cerr << "Summary: Merges overlapping BED/GFF/VCF entries into a single interval." << endl << endl;
 
     cerr << "Usage:   " << PROGRAM_NAME << " [OPTIONS] -i <bed/gff/vcf>" << endl << endl;
diff --git a/src/multiBamCov/Makefile b/src/multiBamCov/Makefile
index 9313ab95..cf992632 100644
--- a/src/multiBamCov/Makefile
+++ b/src/multiBamCov/Makefile
@@ -22,14 +22,10 @@ EXT_OBJECTS=$(patsubst %,$(OBJ_DIR)/%,$(_EXT_OBJECTS))
 BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
 PROGRAM= multiBamCov
 
-all: $(PROGRAM)
+all: $(BUILT_OBJECTS)
 
 .PHONY: all
 
-$(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
-	@echo "  * linking $(PROGRAM)"
-	@$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ -L$(UTILITIES_DIR)/BamTools/lib/ -lbamtools $(LIBS)
-
 $(BUILT_OBJECTS): $(SOURCES)
 	@echo "  * compiling" $(*F).cpp
 	@$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES)
diff --git a/src/multiBamCov/multiBamCovMain.cpp b/src/multiBamCov/multiBamCovMain.cpp
index 69b340dc..6b3c1b85 100644
--- a/src/multiBamCov/multiBamCovMain.cpp
+++ b/src/multiBamCov/multiBamCovMain.cpp
@@ -15,16 +15,16 @@
 using namespace std;
 
 // define our program name
-#define PROGRAM_NAME "multiBamCov"
+#define PROGRAM_NAME "bedtools multicov"
 
 
 // define our parameter checking macro
 #define PARAMETER_CHECK(param, paramLen, actualLen) (strncmp(argv[i], param, min(actualLen, paramLen))== 0) && (actualLen == paramLen)
 
 // function declarations
-void ShowHelp(void);
+void multibamcov_help(void);
 
-int main(int argc, char* argv[]) {
+int multibamcov_main(int argc, char* argv[]) {
 
     // our configuration variables
     bool showHelp = false;
@@ -53,7 +53,7 @@ int main(int argc, char* argv[]) {
         }
     }
 
-    if(showHelp) ShowHelp();
+    if(showHelp) multibamcov_help();
 
     // do some parsing (all of these parameters require 2 strings)
     for(int i = 1; i < argc; i++) {
@@ -107,19 +107,17 @@ int main(int argc, char* argv[]) {
         MultiCovBam *mc = new MultiCovBam(bamFiles, bedFile, minQual, properOnly, keepDuplicates, keepFailedQC);
         mc->CollectCoverage();
         delete mc;
-        return 0;
     }
     else {
-        ShowHelp();
+        multibamcov_help();
     }
+    return 0;
 }
 
-void ShowHelp(void) {
-
-    cerr << endl << "Program: " << PROGRAM_NAME << " (v" << VERSION << ")" << endl;
-
-    cerr << "Author:  Aaron Quinlan (aaronquinlan@gmail.com)" << endl;
+void multibamcov_help(void) {
 
+    cerr << "\nTool:    bedtools multicov (aka multiBamCov)" << endl;
+    
     cerr << "Summary: Counts sequence coverage for multiple bams at specific loci." << endl << endl;
 
     cerr << "Usage:   " << PROGRAM_NAME << " [OPTIONS] -bams aln.1.bam aln.2.bam ... aln.n.bam -bed <bed/gff/vcf>" << endl << endl;
@@ -132,12 +130,12 @@ void ShowHelp(void) {
 
     cerr << "\t-q\t"           << "Minimum mapping quality allowed. Default is 0." << endl << endl;
 
-    cerr << "\t-D\t"           << "Include duplicate-marked reads.  Default is to count non-duplicates only" << endl << endl;
+    cerr << "\t-D\t"           << "Include duplicate reads.  Default counts non-duplicates only" << endl << endl;
 
-    cerr << "\t-F\t"           << "Include failed-QC reads.  Default is to count pass-QC reads only" << endl << endl;
+    cerr << "\t-F\t"           << "Include failed-QC reads.  Default counts pass-QC reads only" << endl << endl;
 
-    cerr << "\t-p\t"           << "Only count proper pairs.  Default is to count all alignments with MAPQ" << endl;
-    cerr << "\t\t"             << "greater than the -q argument, regardless of the BAM FLAG field." << endl << endl;
+    cerr << "\t-p\t"           << "Only count proper pairs.  Default counts all alignments with" << endl;
+    cerr << "\t\t"             << "MAPQ > -q argument, regardless of the BAM FLAG field." << endl << endl;
 
     // end the program here
     exit(1);
diff --git a/src/multiIntersectBed/Makefile b/src/multiIntersectBed/Makefile
index a076f3b4..4dfe6113 100644
--- a/src/multiIntersectBed/Makefile
+++ b/src/multiIntersectBed/Makefile
@@ -23,14 +23,10 @@ EXT_OBJECTS=$(patsubst %,$(OBJ_DIR)/%,$(_EXT_OBJECTS))
 BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
 PROGRAM= multiIntersectBed
 
-all: $(PROGRAM)
+all: $(BUILT_OBJECTS)
 
 .PHONY: all
 
-$(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
-	@echo "  * linking $(PROGRAM)"
-	@$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ $(LIBS)
-
 $(BUILT_OBJECTS): $(SOURCES)
 	@echo "  * compiling" $(*F).cpp
 	@$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES)
diff --git a/src/multiIntersectBed/multiIntersectBedMain.cpp b/src/multiIntersectBed/multiIntersectBedMain.cpp
index 5b4b627b..d67bdb4c 100644
--- a/src/multiIntersectBed/multiIntersectBedMain.cpp
+++ b/src/multiIntersectBed/multiIntersectBedMain.cpp
@@ -26,7 +26,7 @@
 using namespace std;
 
 // define our program name
-#define PROGRAM_NAME "multiIntersectBed"
+#define PROGRAM_NAME "bedtools multiinter"
 
 // define our parameter checking macro
 #define PARAMETER_CHECK(param, paramLen, actualLen) (strncmp(argv[i], param, min(actualLen, paramLen))== 0) && (actualLen == paramLen)
@@ -37,11 +37,10 @@ using namespace std;
 std::string stl_basename(const std::string& path);
 
 // function declarations
-void ShowHelp(void);
-void ShowExamples(void);
+void multiintersect_help(void);
+void multiintersect_examples(void);
 
-
-int main(int argc, char* argv[])
+int multiintersect_main(int argc, char* argv[])
 {
     bool haveFiles         = false;
     bool haveTitles        = false;
@@ -59,7 +58,7 @@ int main(int argc, char* argv[])
 
     //Parse command line options
     if(argc <= 1)
-        ShowHelp();
+        multiintersect_help();
 
     for(int i = 1; i < argc; i++) {
         int parameterLength = (int)strlen(argv[i]);
@@ -71,7 +70,7 @@ int main(int argc, char* argv[])
     }
 
     if(showHelp == true) {
-        ShowHelp();
+        multiintersect_help();
         exit(1);
     }
 
@@ -132,8 +131,8 @@ int main(int argc, char* argv[])
             cluster = true;
         }
         else if(PARAMETER_CHECK("-examples", 9, parameterLength)) {
-            ShowHelp();
-            ShowExamples();
+            multiintersect_help();
+            multiintersect_examples();
             exit(1);
         }
     }
@@ -163,15 +162,14 @@ int main(int argc, char* argv[])
         mbi.MultiIntersect();
     else
         mbi.Cluster();
+    
+    return 0;
 }
 
-void ShowHelp(void) {
-
-    cerr << endl << "Program: " << PROGRAM_NAME << " (v" << VERSION << ")" << endl;
-
-    cerr << "Authors: Aaron Quinlan (aaronquinlan@gmail.com)" << endl;
-    cerr << "         Assaf Gordon" << endl << endl;
+void multiintersect_help(void) {
 
+    cerr << "\nTool:    bedtools multiinter (aka multiIntersectBed)" << endl;
+    
     cerr << "Summary: Identifies common intervals among multiple" << endl;
     cerr << "\t BED/GFF/VCF files." << endl << endl;
 
@@ -180,12 +178,12 @@ void ShowHelp(void) {
 
     cerr << "Options: " << endl;
 
-    cerr << "\t-cluster\t\t"     << "Invoke Ryan's algorithm." << endl << endl;
+    cerr << "\t-cluster\t"      << "Invoke Ryan Layers's clustering algorithm." << endl << endl;
 
     cerr << "\t-header\t\t"     << "Print a header line." << endl;
     cerr                        << "\t\t\t(chrom/start/end + names of each file)." << endl << endl;
 
-    cerr << "\t-names\t\t"      << "A list of names (one / file) to describe each file in -i." << endl;
+    cerr << "\t-names\t\t"      << "A list of names (one/file) to describe each file in -i." << endl;
     cerr                        << "\t\t\tThese names will be printed in the header line." << endl << endl;
 
     cerr << "\t-g\t\t"          << "Use genome file to calculate empty regions." << endl;
@@ -196,14 +194,14 @@ void ShowHelp(void) {
     cerr                        << "\t\t\t- Requires the '-g FILE' parameter.\n" << endl;
 
     cerr << "\t-filler TEXT\t"  << "Use TEXT when representing intervals having no value." << endl;
-    cerr                        << "\t\t\t- Default is '0', but you can use 'N/A' or any other text." << endl << endl;
+    cerr                        << "\t\t\t- Default is '0', but you can use 'N/A' or any text." << endl << endl;
 
     cerr << "\t-examples\t"     << "Show detailed usage examples." << endl << endl;
 }
 
 
 
-void ShowExamples()
+void multiintersect_examples()
 {
     cerr << "Example usage:\n\n"  \
 "== Input files: ==\n" \
diff --git a/src/nucBed/Makefile b/src/nucBed/Makefile
index b824c458..95ba76f0 100644
--- a/src/nucBed/Makefile
+++ b/src/nucBed/Makefile
@@ -24,14 +24,10 @@ BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
 PROGRAM= nucBed
 
 
-all: $(PROGRAM)
+all: $(BUILT_OBJECTS)
 
 .PHONY: all
 
-$(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
-	@echo "  * linking $(PROGRAM)"
-	@$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ $(LIBS)
-
 $(BUILT_OBJECTS): $(SOURCES)
 	@echo "  * compiling" $(*F).cpp
 	@$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES)
diff --git a/src/nucBed/nucBedMain.cpp b/src/nucBed/nucBedMain.cpp
index f92ddd88..a56cf814 100644
--- a/src/nucBed/nucBedMain.cpp
+++ b/src/nucBed/nucBedMain.cpp
@@ -15,16 +15,16 @@
 using namespace std;
 
 // define our program name
-#define PROGRAM_NAME "nucBed"
+#define PROGRAM_NAME "bedtools nuc"
 
 
 // define our parameter checking macro
 #define PARAMETER_CHECK(param, paramLen, actualLen) (strncmp(argv[i], param, min(actualLen, paramLen))== 0) && (actualLen == paramLen)
 
 // function declarations
-void ShowHelp(void);
+void nuc_help(void);
 
-int main(int argc, char* argv[]) {
+int nuc_main(int argc, char* argv[]) {
 
     // our configuration variables
     bool showHelp = false;
@@ -53,7 +53,7 @@ int main(int argc, char* argv[]) {
         }
     }
 
-    if(showHelp) ShowHelp();
+    if(showHelp) nuc_help();
 
     // do some parsing (all of these parameters require 2 strings)
     for(int i = 1; i < argc; i++) {
@@ -101,20 +101,17 @@ int main(int argc, char* argv[]) {
 
         NucBed *nuc = new NucBed(fastaDbFile, bedFile, printSeq, hasPattern, pattern, forceStrand);
         delete nuc;
-
-        return 0;
     }
     else {
-        ShowHelp();
+        nuc_help();
     }
+    return 0;
 }
 
-void ShowHelp(void) {
-
-    cerr << endl << "Program: " << PROGRAM_NAME << " (v" << VERSION << ")" << endl;
-
-    cerr << "Author:  Aaron Quinlan (aaronquinlan@gmail.com)" << endl;
+void nuc_help(void) {
 
+    cerr << "\nTool:    bedtools nuc (aka nucBed)" << endl;
+    
     cerr << "Summary: Profiles the nucleotide content of intervals in a fasta file." << endl << endl;
 
     cerr << "Usage:   " << PROGRAM_NAME << " [OPTIONS] -fi <fasta> -bed <bed/gff/vcf>" << endl << endl;
@@ -124,11 +121,12 @@ void ShowHelp(void) {
     cerr << "\t-bed\tBED/GFF/VCF file of ranges to extract from -fi" << endl << endl;
     cerr << "\t-s\tProfile the sequence according to strand." << endl << endl;
     cerr << "\t-seq\tPrint the extracted sequence" << endl << endl;
-    cerr << "\t-pattern\tReport the number of times a user-defined sequence is observed (case-insensitive)." << endl << endl;
+    cerr << "\t-pattern\tReport the number of times a user-defined sequence" << endl;
+    cerr << "\t\t\tis observed (case-insensitive)." << endl << endl;    
     
     
     cerr << "Output format: " << endl;
-    cerr << "\tThe following information will be reported after each original BED entry:" << endl;
+    cerr << "\tThe following information will be reported after each BED entry:" << endl;
     cerr << "\t    1) %AT content" << endl;
     cerr << "\t    2) %GC content" << endl;
     cerr << "\t    3) Number of As observed" << endl;
@@ -138,9 +136,9 @@ void ShowHelp(void) {
     cerr << "\t    7) Number of Ns observed" << endl;
     cerr << "\t    8) Number of other bases observed" << endl;
     cerr << "\t    9) The length of the explored sequence/interval." << endl;
-    cerr << "\t    10) The sequence extracted from the FASTA file. (optional, if -seq is used)" << endl;
-    cerr << "\t    11) The number of times a user defined pattern was observed. (optional, if -pattern is used.)" << endl;
-
+    cerr << "\t    10) The seq. extracted from the FASTA file. (opt., if -seq is used)" << endl;
+    cerr << "\t    11) The number of times a user's pattern was observed." << endl;
+    cerr << "\t        (opt., if -pattern is used.)" << endl << endl;
     // end the program here
     exit(1);
 
diff --git a/src/pairToBed/Makefile b/src/pairToBed/Makefile
index 9d94beb4..015b2aa5 100644
--- a/src/pairToBed/Makefile
+++ b/src/pairToBed/Makefile
@@ -24,14 +24,10 @@ EXT_OBJECTS=$(patsubst %,$(OBJ_DIR)/%,$(_EXT_OBJECTS))
 BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
 PROGRAM= pairToBed
 
-all: $(PROGRAM)
+all: $(BUILT_OBJECTS)
 
 .PHONY: all
 
-$(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
-	@echo "  * linking $(PROGRAM)"
-	@$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ -L$(UTILITIES_DIR)/BamTools/lib/ -lbamtools $(LIBS)
-
 $(BUILT_OBJECTS): $(SOURCES)
 	@echo "  * compiling" $(*F).cpp
 	@$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES)
diff --git a/src/pairToBed/pairToBedMain.cpp b/src/pairToBed/pairToBedMain.cpp
index 38b8714a..d84ed33f 100644
--- a/src/pairToBed/pairToBedMain.cpp
+++ b/src/pairToBed/pairToBedMain.cpp
@@ -15,15 +15,15 @@
 using namespace std;
 
 // define our program name
-#define PROGRAM_NAME "pairToBed"
+#define PROGRAM_NAME "bedtools pairtobed"
 
 // define our parameter checking macro
 #define PARAMETER_CHECK(param, paramLen, actualLen) (strncmp(argv[i], param, min(actualLen, paramLen))== 0) && (actualLen == paramLen)
 
 // function declarations
-void ShowHelp(void);
+void pairtobed_help(void);
 
-int main(int argc, char* argv[]) {
+int pairtobed_main(int argc, char* argv[]) {
 
     // our configuration variables
     bool showHelp = false;
@@ -60,7 +60,7 @@ int main(int argc, char* argv[]) {
         }
     }
 
-    if(showHelp) ShowHelp();
+    if(showHelp) pairtobed_help();
 
     // do some parsing (all of these parameters require 2 strings)
     for(int i = 1; i < argc; i++) {
@@ -160,20 +160,18 @@ int main(int argc, char* argv[]) {
                                                 searchType, sameStrand, diffStrand, inputIsBam,
                                                 outputIsBam, uncompressedBam, useEditDistance);
         delete bi;
-        return 0;
     }
     else {
-        ShowHelp();
+        pairtobed_help();
     }
+    return 0;
 }
 
 
-void ShowHelp(void) {
-
-    cerr << endl << "Program: " << PROGRAM_NAME << " (v" << VERSION << ")" << endl;
-
-    cerr << "Author:  Aaron Quinlan (aaronquinlan@gmail.com)" << endl;
-
+void pairtobed_help(void) {
+    
+    cerr << "\nTool:    bedtools pairtobed (aka pairToBed)" << endl;
+    
     cerr << "Summary: Report overlaps between a BEDPE file and a BED/GFF/VCF file." << endl << endl;
 
     cerr << "Usage:   " << PROGRAM_NAME << " [OPTIONS] -a <bedpe> -b <bed/gff/vcf>" << endl << endl;
@@ -183,7 +181,7 @@ void ShowHelp(void) {
     cerr << "\t-abam\t"         << "The A input file is in BAM format.  Output will be BAM as well." << endl;
     cerr                        << "\t\t- Requires BAM to be grouped or sorted by query." << endl << endl;
 
-    cerr << "\t-ubam\t"         << "Write uncompressed BAM output. Default is to write compressed BAM." << endl << endl;
+    cerr << "\t-ubam\t"         << "Write uncompressed BAM output. Default writes compressed BAM." << endl << endl;
     cerr                        << "\t\tis to write output in BAM when using -abam." << endl << endl;
 
     cerr << "\t-bedpe\t"        << "When using BAM input (-abam), write output as BEDPE. The default" << endl;
diff --git a/src/pairToPair/Makefile b/src/pairToPair/Makefile
index 4d75faaa..0e994bb9 100644
--- a/src/pairToPair/Makefile
+++ b/src/pairToPair/Makefile
@@ -18,14 +18,10 @@ BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
 PROGRAM= pairToPair
 
 
-all: $(PROGRAM)
+all: $(BUILT_OBJECTS)
 
 .PHONY: all
 
-$(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
-	@echo "  * linking $(PROGRAM)"
-	@$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ $(LIBS)
-
 $(BUILT_OBJECTS): $(SOURCES)
 	@echo "  * compiling" $(*F).cpp
 	@$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES)
diff --git a/src/pairToPair/pairToPairMain.cpp b/src/pairToPair/pairToPairMain.cpp
index 7f5761d0..5182df65 100644
--- a/src/pairToPair/pairToPairMain.cpp
+++ b/src/pairToPair/pairToPairMain.cpp
@@ -15,15 +15,15 @@
 using namespace std;
 
 // define our program name
-#define PROGRAM_NAME "pairToPair"
+#define PROGRAM_NAME "bedtools pairtopair"
 
 // define our parameter checking macro
 #define PARAMETER_CHECK(param, paramLen, actualLen) (strncmp(argv[i], param, min(actualLen, paramLen))== 0) && (actualLen == paramLen)
 
 // function declarations
-void ShowHelp(void);
+void pairtopair_help(void);
 
-int main(int argc, char* argv[]) {
+int pairtopair_main(int argc, char* argv[]) {
 
     // our configuration variables
     bool showHelp = false;
@@ -58,7 +58,7 @@ int main(int argc, char* argv[]) {
         }
     }
 
-    if(showHelp) ShowHelp();
+    if(showHelp) pairtopair_help();
 
     // do some parsing (all of these parameters require 2 strings)
     for(int i = 1; i < argc; i++) {
@@ -140,16 +140,16 @@ int main(int argc, char* argv[]) {
         return 0;
     }
     else {
-        ShowHelp();
+        pairtopair_help();
     }
+    return 0;
 }
 
 
-void ShowHelp(void) {
-    cerr << endl << "Program: " << PROGRAM_NAME << " (v" << VERSION << ")" << endl;
-
-    cerr << "Author:  Aaron Quinlan (aaronquinlan@gmail.com)" << endl;
+void pairtopair_help(void) {
 
+    cerr << "\nTool:    bedtools pairtopair (aka pairToPair)" << endl;
+    
     cerr << "Summary: Report overlaps between two paired-end BED files (BEDPE)." << endl << endl;
 
     cerr << "Usage:   " << PROGRAM_NAME << " [OPTIONS] -a <BEDPE> -b <BEDPE>" << endl << endl;
@@ -162,13 +162,14 @@ void ShowHelp(void) {
     cerr                                << "\t\tneither\tReport overlaps if neither end of A overlaps B." << endl;
     cerr                                << "\t\teither\tReport overlaps if either ends of A overlap B." << endl;
     cerr                                << "\t\tboth\tReport overlaps if both ends of A overlap B." << endl;
-    cerr                                << "\t\tnotboth\tReport overlaps if one or neither of ends of A overlap B." << endl;
+    cerr                                << "\t\tnotboth\tReport overlaps if one or neither of A's overlap B." << endl;
     
     cerr                                << "\t\t- Default = both." << endl << endl;
 
     cerr << "\t-slop \t"                << "The amount of slop (in b.p.). to be added to each footprint." << endl;
-    cerr                                << "\t\t*Note*: Slop is subtracted from start1 and start2 and added to end1 and end2." << endl << endl;
-
+    cerr                                << "\t\t*Note*: Slop is subtracted from start1 and start2" << endl;
+    cerr                                << "\t\t\tand added to end1 and end2." << endl << endl;
+    
     cerr << "\t-ss\t"                   << "Add slop based to each BEDPE footprint based on strand." << endl;
     cerr                                << "\t\t- If strand is \"+\", slop is only added to the end coordinates." << endl;
     cerr                                << "\t\t- If strand is \"-\", slop is only added to the start coordinates." << endl;
diff --git a/src/shuffleBed/Makefile b/src/shuffleBed/Makefile
index 0265ae05..a20290cd 100644
--- a/src/shuffleBed/Makefile
+++ b/src/shuffleBed/Makefile
@@ -24,14 +24,10 @@ BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
 PROGRAM= shuffleBed
 
 
-all: $(PROGRAM)
+all: $(BUILT_OBJECTS)
 
 .PHONY: all
 
-$(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
-	@echo "  * linking $(PROGRAM)"
-	@$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ $(LIBS)
-
 $(BUILT_OBJECTS): $(SOURCES)
 	@echo "  * compiling" $(*F).cpp
 	@$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES)
diff --git a/src/shuffleBed/shuffleBedMain.cpp b/src/shuffleBed/shuffleBedMain.cpp
index d731d1a7..38f3dacf 100644
--- a/src/shuffleBed/shuffleBedMain.cpp
+++ b/src/shuffleBed/shuffleBedMain.cpp
@@ -15,16 +15,16 @@
 using namespace std;
 
 // define our program name
-#define PROGRAM_NAME "shuffleBed"
+#define PROGRAM_NAME "bedtools shuffle"
 
 
 // define our parameter checking macro
 #define PARAMETER_CHECK(param, paramLen, actualLen) (strncmp(argv[i], param, min(actualLen, paramLen))== 0) && (actualLen == paramLen)
 
 // function declarations
-void ShowHelp(void);
+void shuffle_help(void);
 
-int main(int argc, char* argv[]) {
+int shuffle_main(int argc, char* argv[]) {
 
     // our configuration variables
     bool showHelp = false;
@@ -54,7 +54,7 @@ int main(int argc, char* argv[]) {
         }
     }
 
-    if(showHelp) ShowHelp();
+    if(showHelp) shuffle_help();
 
     // do some parsing (all of these parameters require 2 strings)
     for(int i = 1; i < argc; i++) {
@@ -129,16 +129,15 @@ int main(int argc, char* argv[]) {
         return 0;
     }
     else {
-        ShowHelp();
+        shuffle_help();
     }
+    return 0;
 }
 
-void ShowHelp(void) {
-
-    cerr << endl << "Program: " << PROGRAM_NAME << " (v" << VERSION << ")" << endl;
-
-    cerr << "Author:  Aaron Quinlan (aaronquinlan@gmail.com)" << endl;
+void shuffle_help(void) {
 
+    cerr << "\nTool:    bedtools shuffle (aka shuffleBed)" << endl;
+    
     cerr << "Summary: Randomly permute the locations of a feature file among a genome." << endl << endl;
 
     cerr << "Usage:   " << PROGRAM_NAME << " [OPTIONS] -i <bed/gff/vcf> -g <genome>" << endl << endl;
diff --git a/src/slopBed/Makefile b/src/slopBed/Makefile
index aed0b82d..9f888106 100644
--- a/src/slopBed/Makefile
+++ b/src/slopBed/Makefile
@@ -24,14 +24,10 @@ BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
 PROGRAM= slopBed
 
 
-all: $(PROGRAM)
+all: $(BUILT_OBJECTS)
 
 .PHONY: all
 
-$(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
-	@echo "  * linking $(PROGRAM)"
-	@$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ $(LIBS)
-
 $(BUILT_OBJECTS): $(SOURCES)
 	@echo "  * compiling" $(*F).cpp
 	@$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES)
diff --git a/src/slopBed/slopBedMain.cpp b/src/slopBed/slopBedMain.cpp
index b5f148e5..c7d870f1 100644
--- a/src/slopBed/slopBedMain.cpp
+++ b/src/slopBed/slopBedMain.cpp
@@ -15,16 +15,16 @@
 using namespace std;
 
 // define our program name
-#define PROGRAM_NAME "slopBed"
+#define PROGRAM_NAME "bedtools slop"
 
 
 // define our parameter checking macro
 #define PARAMETER_CHECK(param, paramLen, actualLen) (strncmp(argv[i], param, min(actualLen, paramLen))== 0) && (actualLen == paramLen)
 
 // function declarations
-void ShowHelp(void);
+void slop_help(void);
 
-int main(int argc, char* argv[]) {
+int slop_main(int argc, char* argv[]) {
 
     // our configuration variables
     bool showHelp = false;
@@ -54,7 +54,7 @@ int main(int argc, char* argv[]) {
         }
     }
 
-    if(showHelp) ShowHelp();
+    if(showHelp) slop_help();
 
     // do some parsing (all of these parameters require 2 strings)
     for(int i = 1; i < argc; i++) {
@@ -136,22 +136,21 @@ int main(int argc, char* argv[]) {
         return 0;
     }
     else {
-        ShowHelp();
+        slop_help();
     }
+    return 0;
 }
 
-void ShowHelp(void) {
-
-    cerr << endl << "Program: " << PROGRAM_NAME << " (v" << VERSION << ")" << endl;
-
-    cerr << "Author:  Aaron Quinlan (aaronquinlan@gmail.com)" << endl;
+void slop_help(void) {
 
+    cerr << "\nTool:    bedtools slop (aka slopBed)" << endl;
+    
     cerr << "Summary: Add requested base pairs of \"slop\" to each feature." << endl << endl;
 
     cerr << "Usage:   " << PROGRAM_NAME << " [OPTIONS] -i <bed/gff/vcf> -g <genome> [-b <int> or (-l and -r)]" << endl << endl;
 
     cerr << "Options: " << endl;
-    cerr << "\t-b\t"                << "Increase the BED/GFF/VCF entry by -b base pairs in each direction." << endl;
+    cerr << "\t-b\t"                << "Increase the BED/GFF/VCF entry -b base pairs in each direction." << endl;
     cerr                            << "\t\t- (Integer) or (Float, e.g. 0.1) if used with -pct." << endl << endl;
 
     cerr << "\t-l\t"                << "The number of base pairs to subtract from the start coordinate." << endl;
diff --git a/src/sortBed/Makefile b/src/sortBed/Makefile
index c675e68a..55037c04 100644
--- a/src/sortBed/Makefile
+++ b/src/sortBed/Makefile
@@ -18,14 +18,10 @@ BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
 PROGRAM= sortBed
 
 
-all: $(PROGRAM)
+all: $(BUILT_OBJECTS)
 
 .PHONY: all
 
-$(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
-	@echo "  * linking $(PROGRAM)"
-	@$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ $(LIBS)
-
 $(BUILT_OBJECTS): $(SOURCES)
 	@echo "  * compiling" $(*F).cpp
 	@$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES)
diff --git a/src/sortBed/sortMain.cpp b/src/sortBed/sortMain.cpp
index e58faa20..767c9b65 100644
--- a/src/sortBed/sortMain.cpp
+++ b/src/sortBed/sortMain.cpp
@@ -15,16 +15,16 @@
 using namespace std;
 
 // define our program name
-#define PROGRAM_NAME "sortBed"
+#define PROGRAM_NAME "bedtools sort"
 
 
 // define our parameter checking macro
 #define PARAMETER_CHECK(param, paramLen, actualLen) (strncmp(argv[i], param, min(actualLen, paramLen))== 0) && (actualLen == paramLen)
 
 // function declarations
-void ShowHelp(void);
+void sort_help(void);
 
-int main(int argc, char* argv[]) {
+int sort_main(int argc, char* argv[]) {
 
     // our configuration variables
     bool showHelp = false;
@@ -51,7 +51,7 @@ int main(int argc, char* argv[]) {
         }
     }
 
-    if(showHelp) ShowHelp();
+    if(showHelp) sort_help();
 
     // do some parsing (all of these parameters require 2 strings)
     for(int i = 1; i < argc; i++) {
@@ -135,15 +135,15 @@ int main(int argc, char* argv[]) {
         return 0;
     }
     else {
-        ShowHelp();
+        sort_help();
     }
+    return 0;
 }
 
-void ShowHelp(void) {
+void sort_help(void) {
 
-    cerr << endl << "Program: " << PROGRAM_NAME << " (v" << VERSION << ")" << endl;
-
-    cerr << "Author:  Aaron Quinlan (aaronquinlan@gmail.com)" << endl;
+    cerr << "\nTool:    bedtools sort (aka sortBed)" << endl;
+    
     cerr << "Summary: Sorts a feature file in various and useful ways." << endl << endl;
     cerr << "Usage:   " << PROGRAM_NAME << " [OPTIONS] -i <bed/gff/vcf>" << endl << endl;
 
diff --git a/src/subtractBed/Makefile b/src/subtractBed/Makefile
index f67ac7b6..4d11368a 100644
--- a/src/subtractBed/Makefile
+++ b/src/subtractBed/Makefile
@@ -22,14 +22,10 @@ BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
 PROGRAM= subtractBed
 
 
-all: $(PROGRAM)
+all: $(BUILT_OBJECTS)
 
 .PHONY: all
 
-$(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
-	@echo "  * linking $(PROGRAM)"
-	@$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ $(LIBS)
-
 $(BUILT_OBJECTS): $(SOURCES)
 	@echo "  * compiling" $(*F).cpp
 	@$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES)
diff --git a/src/subtractBed/subtractMain.cpp b/src/subtractBed/subtractMain.cpp
index 58b4b412..8ea557d5 100644
--- a/src/subtractBed/subtractMain.cpp
+++ b/src/subtractBed/subtractMain.cpp
@@ -15,16 +15,16 @@
 using namespace std;
 
 // define our program name
-#define PROGRAM_NAME "subtractBed"
+#define PROGRAM_NAME "bedtools subtract"
 
 
 // define our parameter checking macro
 #define PARAMETER_CHECK(param, paramLen, actualLen) (strncmp(argv[i], param, min(actualLen, paramLen))== 0) && (actualLen == paramLen)
 
 // function declarations
-void ShowHelp(void);
+void subtract_help(void);
 
-int main(int argc, char* argv[]) {
+int subtract_main(int argc, char* argv[]) {
 
     // our configuration variables
     bool showHelp = false;
@@ -54,7 +54,7 @@ int main(int argc, char* argv[]) {
         }
     }
 
-    if(showHelp) ShowHelp();
+    if(showHelp) subtract_help();
 
     // do some parsing (all of these parameters require 2 strings)
     for(int i = 1; i < argc; i++) {
@@ -112,16 +112,15 @@ int main(int argc, char* argv[]) {
         return 0;
     }
     else {
-        ShowHelp();
+        subtract_help();
     }
+    return 0;
 }
 
-void ShowHelp(void) {
-
-    cerr << endl << "Program: " << PROGRAM_NAME << " (v" << VERSION << ")" << endl;
-
-    cerr << "Author:  Aaron Quinlan (aaronquinlan@gmail.com)" << endl;
+void subtract_help(void) {
 
+    cerr << "\nTool:    bedtools subtract (aka subtractBed)" << endl;
+    
     cerr << "Summary: Removes the portion(s) of an interval that is overlapped" << endl;
     cerr << "\t by another feature(s)." << endl << endl;
 
@@ -132,8 +131,8 @@ void ShowHelp(void) {
     cerr                        << "\t\t- Default is 1E-9 (i.e., 1bp)." << endl;
     cerr                        << "\t\t- (FLOAT) (e.g. 0.50)" << endl << endl;
 
-    cerr << "\t-s\t"            << "Require same strandedness.  That is, only subtract hits in B that" << endl;
-    cerr                        << "\t\toverlap A on the _same_ strand." << endl;
+    cerr << "\t-s\t"            << "Require same strandedness.  That is, only subtract hits in B" << endl;
+    cerr                        << "\t\tthat overlap A on the _same_ strand." << endl;
     cerr                        << "\t\t- By default, overlaps are subtracted without respect to strand." << endl << endl;
 
     cerr << "\t-S\t"            << "Force strandedness.  That is, only subtract hits in B that" << endl;
diff --git a/src/tagBam/Makefile b/src/tagBam/Makefile
index 35b97a2c..6b48cc33 100644
--- a/src/tagBam/Makefile
+++ b/src/tagBam/Makefile
@@ -24,14 +24,10 @@ BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
 PROGRAM= tagBam
 
 
-all: $(PROGRAM)
+all: $(BUILT_OBJECTS)
 
 .PHONY: all
 
-$(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
-	@echo "  * linking $(PROGRAM)"
-	@$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ -L$(UTILITIES_DIR)/BamTools/lib/ -lbamtools $(LIBS)
-
 $(BUILT_OBJECTS): $(SOURCES)
 	@echo "  * compiling" $(*F).cpp
 	@$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES)
diff --git a/src/tagBam/tagBamMain.cpp b/src/tagBam/tagBamMain.cpp
index b4c750dc..1a985280 100644
--- a/src/tagBam/tagBamMain.cpp
+++ b/src/tagBam/tagBamMain.cpp
@@ -15,15 +15,15 @@
 using namespace std;
 
 // define the version
-#define PROGRAM_NAME "tagBam"
+#define PROGRAM_NAME "bedtools tag"
 
 // define our parameter checking macro
 #define PARAMETER_CHECK(param, paramLen, actualLen) (strncmp(argv[i], param, min(actualLen, paramLen))== 0) && (actualLen == paramLen)
 
 // function declarations
-void ShowHelp(void);
+void tagbam_help(void);
 
-int main(int argc, char* argv[]) {
+int tagbam_main(int argc, char* argv[]) {
 
     // our configuration variables
     bool showHelp = false;
@@ -62,7 +62,7 @@ int main(int argc, char* argv[]) {
         }
     }
 
-    if(showHelp) ShowHelp();
+    if(showHelp) tagbam_help();
 
     // do some parsing (all of these parameters require 2 strings)
     for(int i = 1; i < argc; i++) {
@@ -188,16 +188,15 @@ int main(int argc, char* argv[]) {
         return 0;
     }
     else {
-        ShowHelp();
+        tagbam_help();
     }
+    return 0;
 }
 
-void ShowHelp(void) {
-
-    cerr << endl << "Program: " << PROGRAM_NAME << " (v" << VERSION << ")" << endl;
-
-    cerr << "Author:  Aaron Quinlan (aaronquinlan@gmail.com)" << endl;
+void tagbam_help(void) {
 
+    cerr << "\nTool:    bedtools tag (aka tagBam)" << endl;
+    
     cerr << "Summary: Annotates a BAM file based on overlaps with multiple BED/GFF/VCF files" << endl;
     cerr << "\t on the intervals in -i." << endl << endl;
 
diff --git a/src/unionBedGraphs/Makefile b/src/unionBedGraphs/Makefile
index bca92f26..56622af0 100755
--- a/src/unionBedGraphs/Makefile
+++ b/src/unionBedGraphs/Makefile
@@ -23,14 +23,10 @@ EXT_OBJECTS=$(patsubst %,$(OBJ_DIR)/%,$(_EXT_OBJECTS))
 BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
 PROGRAM= unionBedGraphs
 
-all: $(PROGRAM)
+all: $(BUILT_OBJECTS)
 
 .PHONY: all
 
-$(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
-	@echo "  * linking $(PROGRAM)"
-	@$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ $(LIBS)
-
 $(BUILT_OBJECTS): $(SOURCES)
 	@echo "  * compiling" $(*F).cpp
 	@$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES)
diff --git a/src/unionBedGraphs/unionBedGraphsMain.cpp b/src/unionBedGraphs/unionBedGraphsMain.cpp
index b140b013..69c7546b 100644
--- a/src/unionBedGraphs/unionBedGraphsMain.cpp
+++ b/src/unionBedGraphs/unionBedGraphsMain.cpp
@@ -26,7 +26,7 @@
 using namespace std;
 
 // define our program name
-#define PROGRAM_NAME "unionBedGraphs"
+#define PROGRAM_NAME "bedtools unionbedg"
 
 // define our parameter checking macro
 #define PARAMETER_CHECK(param, paramLen, actualLen) (strncmp(argv[i], param, min(actualLen, paramLen))== 0) && (actualLen == paramLen)
@@ -34,14 +34,14 @@ using namespace std;
 //STLized version of basename()
 // (because POSIX basename() modifies the input string pointer)
 // Additionally: removes any extension the basename might have.
-std::string stl_basename(const std::string& path);
+std::string ubg_stl_basename(const std::string& path);
 
 // function declarations
-void ShowHelp(void);
-void ShowExamples(void);
+void unionbedgraphs_help(void);
+void unionbedgraphs_showexamples(void);
 
 
-int main(int argc, char* argv[])
+int unionbedgraphs_main(int argc, char* argv[])
 {
     bool haveFiles         = false;
     bool haveTitles        = false;
@@ -58,7 +58,7 @@ int main(int argc, char* argv[])
 
     //Parse command line options
     if(argc <= 1)
-        ShowHelp();
+        unionbedgraphs_help();
 
     for(int i = 1; i < argc; i++) {
         int parameterLength = (int)strlen(argv[i]);
@@ -70,7 +70,7 @@ int main(int argc, char* argv[])
     }
 
     if(showHelp == true) {
-        ShowHelp();
+        unionbedgraphs_help();
         exit(1);
     }
 
@@ -128,8 +128,8 @@ int main(int argc, char* argv[])
             printEmptyRegions = true;
         }
         else if(PARAMETER_CHECK("-examples", 9, parameterLength)) {
-            ShowHelp();
-            ShowExamples();
+            unionbedgraphs_help();
+            unionbedgraphs_showexamples();
             exit(1);
         }
     }
@@ -156,15 +156,14 @@ int main(int argc, char* argv[])
     if (printHeader)
         ubg.PrintHeader();
     ubg.Union();
+    
+    return 0;
 }
 
-void ShowHelp(void) {
-
-    cerr << endl << "Program: " << PROGRAM_NAME << " (v" << VERSION << ")" << endl;
-
-    cerr << "Authors: Assaf Gordon, CSHL" << endl;
-    cerr << "         Aaron Quinlan (aaronquinlan@gmail.com)" << endl << endl;
+void unionbedgraphs_help(void) {
 
+    cerr << "\nTool:    bedtools unionbedg (aka unionBedGraphs)" << endl;
+    
     cerr << "Summary: Combines multiple BedGraph files into a single file," << endl;
     cerr << "\t allowing coverage comparisons between them." << endl << endl;
 
@@ -177,7 +176,7 @@ void ShowHelp(void) {
     cerr << "\t-header\t\t"     << "Print a header line." << endl;
     cerr                        << "\t\t\t(chrom/start/end + names of each file)." << endl << endl;
 
-    cerr << "\t-names\t\t"      << "A list of names (one / file) to describe each file in -i." << endl;
+    cerr << "\t-names\t\t"      << "A list of names (one/file) to describe each file in -i." << endl;
     cerr                        << "\t\t\tThese names will be printed in the header line." << endl << endl;
 
     cerr << "\t-g\t\t"          << "Use genome file to calculate empty regions." << endl;
@@ -188,14 +187,14 @@ void ShowHelp(void) {
     cerr                        << "\t\t\t- Requires the '-g FILE' parameter.\n" << endl;
 
     cerr << "\t-filler TEXT\t"  << "Use TEXT when representing intervals having no value." << endl;
-    cerr                        << "\t\t\t- Default is '0', but you can use 'N/A' or any other text." << endl << endl;
+    cerr                        << "\t\t\t- Default is '0', but you can use 'N/A' or any text." << endl << endl;
 
     cerr << "\t-examples\t"     << "Show detailed usage examples." << endl << endl;
 }
 
 
 
-void ShowExamples()
+void unionbedgraphs_showexamples()
 {
     cerr << "Example usage:\n\n"  \
 "== Input files: ==\n" \
@@ -276,7 +275,7 @@ void ShowExamples()
 ;
 }
 
-std::string stl_basename(const std::string& path)
+std::string ubg_stl_basename(const std::string& path)
 {
     string result;
 
diff --git a/src/utils/BamTools/include/api/BamAlignment.h b/src/utils/BamTools/include/api/BamAlignment.h
new file mode 100644
index 00000000..7535d93f
--- /dev/null
+++ b/src/utils/BamTools/include/api/BamAlignment.h
@@ -0,0 +1,207 @@
+// ***************************************************************************
+// BamAlignment.h (c) 2009 Derek Barnett
+// Marth Lab, Department of Biology, Boston College
+// All rights reserved.
+// ---------------------------------------------------------------------------
+// Last modified: 22 April 2011 (DB)
+// ---------------------------------------------------------------------------
+// Provides the BamAlignment data structure
+// ***************************************************************************
+
+#ifndef BAMALIGNMENT_H
+#define BAMALIGNMENT_H
+
+#include <api/api_global.h>
+#include <api/BamAux.h>
+#include <string>
+#include <vector>
+
+namespace BamTools {
+
+// forward declaration of BamAlignment's friend classes
+namespace Internal {
+    class BamReaderPrivate;
+    class BamWriterPrivate;
+} // namespace Internal
+
+// BamAlignment data structure
+struct API_EXPORT BamAlignment {
+
+    // constructors & destructor
+    public:
+        BamAlignment(void);
+        BamAlignment(const BamAlignment& other);
+        ~BamAlignment(void);
+
+    // queries against alignment flags
+    public:        
+        bool IsDuplicate(void) const;           // returns true if this read is a PCR duplicate
+        bool IsFailedQC(void) const;            // returns true if this read failed quality control
+        bool IsFirstMate(void) const;           // returns true if alignment is first mate on read
+        bool IsMapped(void) const;              // returns true if alignment is mapped
+        bool IsMateMapped(void) const;          // returns true if alignment's mate is mapped
+        bool IsMateReverseStrand(void) const;   // returns true if alignment's mate mapped to reverse strand
+        bool IsPaired(void) const;              // returns true if alignment part of paired-end read
+        bool IsPrimaryAlignment(void) const;    // returns true if reported position is primary alignment
+        bool IsProperPair(void) const;          // returns true if alignment is part of read that satisfied paired-end resolution
+        bool IsReverseStrand(void) const;       // returns true if alignment mapped to reverse strand
+        bool IsSecondMate(void) const;          // returns true if alignment is second mate on read
+
+    // manipulate alignment flags
+    public:        
+        void SetIsDuplicate(bool ok);           // sets value of "PCR duplicate" flag
+        void SetIsFailedQC(bool ok);            // sets value of "failed quality control" flag
+        void SetIsFirstMate(bool ok);           // sets value of "alignment is first mate" flag
+        void SetIsMapped(bool ok);              // sets value of "alignment is mapped" flag
+        void SetIsMateMapped(bool ok);          // sets value of "alignment's mate is mapped" flag
+        void SetIsMateReverseStrand(bool ok);   // sets value of "alignment's mate mapped to reverse strand" flag
+        void SetIsPaired(bool ok);              // sets value of "alignment part of paired-end read" flag
+        void SetIsPrimaryAlignment(bool ok);    // sets value of "position is primary alignment" flag
+        void SetIsProperPair(bool ok);          // sets value of "alignment is part of read that satisfied paired-end resolution" flag
+        void SetIsReverseStrand(bool ok);       // sets value of "alignment mapped to reverse strand" flag
+        void SetIsSecondMate(bool ok);          // sets value of "alignment is second mate on read" flag
+
+        // legacy methods (consider deprecated, but still available)
+        void SetIsMateUnmapped(bool ok);        // complement of using SetIsMateMapped()
+        void SetIsSecondaryAlignment(bool ok);  // complement of using SetIsPrimaryAlignment()
+        void SetIsUnmapped(bool ok);            // complement of using SetIsMapped()
+
+    // tag data access methods
+    public:
+
+        // -------------------------------------------------------------------------------------
+        // N.B. - The following tag access methods may not be used on BamAlignments fetched
+        // using BamReader::GetNextAlignmentCore().  Attempting to use them will not result in 
+        // error message (to keep output clean) but will ALWAYS return false.  Only user-created
+        // BamAlignments or those retrieved using BamReader::GetNextAlignment() are valid here.
+        //
+        // You can call BuildCharData() on such an alignment retrieved by GetNextAlignmentCore().
+        // This populates all the character data, and will enable subsequent queries on tag data.
+        // -------------------------------------------------------------------------------------
+
+        // adds a tag
+        bool AddTag(const std::string& tag, const std::string& type, const std::string& value);
+        bool AddTag(const std::string& tag, const std::string& type, const uint32_t& value);
+        bool AddTag(const std::string& tag, const std::string& type, const int32_t& value);
+        bool AddTag(const std::string& tag, const std::string& type, const float& value);
+
+        // adds a "binary array" tag
+        bool AddTag(const std::string& tag, const std::vector<uint8_t>& values);
+        bool AddTag(const std::string& tag, const std::vector<int8_t>& values);
+        bool AddTag(const std::string& tag, const std::vector<uint16_t>& values);
+        bool AddTag(const std::string& tag, const std::vector<int16_t>& values);
+        bool AddTag(const std::string& tag, const std::vector<uint32_t>& values);
+        bool AddTag(const std::string& tag, const std::vector<int32_t>& values);
+        bool AddTag(const std::string& tag, const std::vector<float>& values);
+
+        // edits a tag
+        bool EditTag(const std::string& tag, const std::string& type, const std::string& value);
+        bool EditTag(const std::string& tag, const std::string& type, const uint32_t& value);
+        bool EditTag(const std::string& tag, const std::string& type, const int32_t& value);
+        bool EditTag(const std::string& tag, const std::string& type, const float& value);
+
+        // edits a "binary array" tag
+        bool EditTag(const std::string& tag, const std::vector<uint8_t>& values);
+        bool EditTag(const std::string& tag, const std::vector<int8_t>& values);
+        bool EditTag(const std::string& tag, const std::vector<uint16_t>& values);
+        bool EditTag(const std::string& tag, const std::vector<int16_t>& values);
+        bool EditTag(const std::string& tag, const std::vector<uint32_t>& values);
+        bool EditTag(const std::string& tag, const std::vector<int32_t>& values);
+        bool EditTag(const std::string& tag, const std::vector<float>& values);
+
+        // retrieves data for a tag
+        bool GetTag(const std::string& tag, std::string& destination) const;
+        bool GetTag(const std::string& tag, uint32_t& destination) const;
+        bool GetTag(const std::string& tag, int32_t& destination) const;
+        bool GetTag(const std::string& tag, float& destination) const;
+
+        // retrieves data for a "binary array" tag
+        bool GetTag(const std::string& tag, std::vector<uint32_t>& destination) const;
+        bool GetTag(const std::string& tag, std::vector<int32_t>& destination) const;
+        bool GetTag(const std::string& tag, std::vector<float>& destination) const;
+
+        // retrieves the BAM tag-type character for a tag
+        bool GetTagType(const std::string& tag, char& type) const;
+
+        // legacy methods (consider deprecated, but still available)
+        bool GetEditDistance(uint32_t& editDistance) const;         // retrieves value of "NM" tag
+        bool GetReadGroup(std::string& readGroup) const;            // retrieves value of "RG" tag
+        
+        // returns true if alignment has a record for this tag name
+        bool HasTag(const std::string& tag) const;
+
+        // removes a tag
+        bool RemoveTag(const std::string& tag);
+
+    // additional methods
+    public:
+        // populates alignment string fields
+        bool BuildCharData(void);
+        // calculates alignment end position
+        int GetEndPosition(bool usePadded = false, bool zeroBased = true) const;  
+
+    // public data fields
+    public:
+        std::string Name;               // read name
+        int32_t     Length;             // length of query sequence
+        std::string QueryBases;         // 'original' sequence (as reported from sequencing machine)
+        std::string AlignedBases;       // 'aligned' sequence (includes any indels, padding, clipping)
+        std::string Qualities;          // FASTQ qualities (ASCII characters, not numeric values)
+        std::string TagData;            // tag data (use provided methods to query/modify)
+        int32_t     RefID;              // ID number for reference sequence
+        int32_t     Position;           // position (0-based) where alignment starts
+        uint16_t    Bin;                // BAM (standard) index bin number for this alignment
+        uint16_t    MapQuality;         // mapping quality score
+        uint32_t    AlignmentFlag;      // alignment bit-flag (use provided methods to query/modify)
+        std::vector<CigarOp> CigarData; // CIGAR operations for this alignment
+        int32_t     MateRefID;          // ID number for reference sequence where alignment's mate was aligned
+        int32_t     MatePosition;       // position (0-based) where alignment's mate starts
+        int32_t     InsertSize;         // mate-pair insert size
+        std::string Filename;           // name of BAM file which this alignment comes from
+
+    //! \cond
+    // internal utility methods
+    private:
+        bool FindTag(const std::string& tag,
+                     char*& pTagData,
+                     const unsigned int& tagDataLength,
+                     unsigned int& numBytesParsed) const;
+        bool IsValidSize(const std::string& tag,
+                         const std::string& type) const;
+        bool SkipToNextTag(const char storageType,
+                           char*& pTagData,
+                           unsigned int& numBytesParsed) const;
+
+    // internal data
+    private:
+
+        struct BamAlignmentSupportData {
+      
+            // data members
+            std::string AllCharData;
+            uint32_t    BlockLength;
+            uint32_t    NumCigarOperations;
+            uint32_t    QueryNameLength;
+            uint32_t    QuerySequenceLength;
+            bool        HasCoreOnly;
+            
+            // constructor
+            BamAlignmentSupportData(void)
+                : BlockLength(0)
+                , NumCigarOperations(0)
+                , QueryNameLength(0)
+                , QuerySequenceLength(0)
+                , HasCoreOnly(false)
+            { }
+        };
+        BamAlignmentSupportData SupportData;
+        friend class Internal::BamReaderPrivate;
+        friend class Internal::BamWriterPrivate;
+    //! \endcond
+};
+
+typedef std::vector<BamAlignment> BamAlignmentVector;
+
+} // namespace BamTools
+
+#endif // BAMALIGNMENT_H
diff --git a/src/utils/BamTools/include/api/BamAux.h b/src/utils/BamTools/include/api/BamAux.h
new file mode 100644
index 00000000..d171e706
--- /dev/null
+++ b/src/utils/BamTools/include/api/BamAux.h
@@ -0,0 +1,457 @@
+// ***************************************************************************
+// BamAux.h (c) 2009 Derek Barnett, Michael Str�mberg
+// Marth Lab, Department of Biology, Boston College
+// All rights reserved.
+// ---------------------------------------------------------------------------
+// Last modified: 4 March 2011 (DB)
+// ---------------------------------------------------------------------------
+// Provides data structures & utility methods that are used throughout the API.
+// ***************************************************************************
+
+#ifndef BAMAUX_H
+#define BAMAUX_H
+
+#include <api/api_global.h>
+#include <fstream> 
+#include <iostream>
+#include <string>
+#include <vector>
+
+/*! \file BamAux.h
+
+    Provides data structures & utility methods that are used throughout the API.
+*/
+/*! \namespace BamTools
+    \brief Contains all BamTools classes & methods.
+
+    The BamTools API contained in this namespace contains classes and methods
+    for reading, writing, and manipulating BAM alignment files.
+*/
+namespace BamTools {
+
+// ----------------------------------------------------------------
+// CigarOp
+
+/*! \struct BamTools::CigarOp
+    \brief Represents a CIGAR alignment operation.
+
+    \sa http://samtools.sourceforge.net/SAM-1.3.pdf for more details on using CIGAR operations.
+*/
+struct API_EXPORT CigarOp {
+  
+    char     Type;   //!< CIGAR operation type (MIDNSHP)
+    uint32_t Length; //!< CIGAR operation length (number of bases)
+    
+    //! constructor
+    CigarOp(const char type = '\0', 
+            const uint32_t& length = 0)
+        : Type(type)
+        , Length(length) 
+    { }
+};
+
+// ----------------------------------------------------------------
+// RefData
+
+/*! \struct BamTools::RefData
+    \brief Represents a reference sequence entry
+*/
+struct API_EXPORT RefData {
+   
+    std::string RefName;    //!< name of reference sequence
+    int32_t     RefLength;  //!< length of reference sequence
+    
+    //! constructor
+    RefData(const std::string& name = "",
+            const int32_t& length = 0)
+        : RefName(name)
+        , RefLength(length)
+    { }
+};
+
+//! convenience typedef for vector of RefData entries
+typedef std::vector<RefData> RefVector;
+
+// ----------------------------------------------------------------
+// BamRegion
+
+/*! \struct BamTools::BamRegion
+    \brief Represents a sequential genomic region
+
+    Allowed to span multiple (sequential) references.
+*/
+struct API_EXPORT BamRegion {
+  
+    int LeftRefID;      //!< reference ID for region's left boundary
+    int LeftPosition;   //!< position for region's left boundary
+    int RightRefID;     //!< reference ID for region's right boundary
+    int RightPosition;  //!< position for region's right boundary
+    
+    //! constructor
+    BamRegion(const int& leftID   = -1, 
+              const int& leftPos  = -1,
+              const int& rightID  = -1,
+              const int& rightPos = -1)
+        : LeftRefID(leftID)
+        , LeftPosition(leftPos)
+        , RightRefID(rightID)
+        , RightPosition(rightPos)
+    { }
+    
+    //! copy constructor
+    BamRegion(const BamRegion& other)
+        : LeftRefID(other.LeftRefID)
+        , LeftPosition(other.LeftPosition)
+        , RightRefID(other.RightRefID)
+        , RightPosition(other.RightPosition)
+    { }
+    
+    //! Clears region boundaries
+    void clear(void) {
+        LeftRefID  = -1; LeftPosition  = -1;
+        RightRefID = -1; RightPosition = -1;
+    }
+
+    //! Returns true if region has a left boundary
+    bool isLeftBoundSpecified(void) const {
+        return ( LeftRefID >= 0 && LeftPosition >= 0 );
+    }
+
+    //! Returns true if region boundaries are not defined
+    bool isNull(void) const {
+        return ( !isLeftBoundSpecified() && !isRightBoundSpecified() );
+    }
+
+    //! Returns true if region has a right boundary
+    bool isRightBoundSpecified(void) const {
+        return ( RightRefID >= 0 && RightPosition >= 0 );
+    }
+};
+
+// ----------------------------------------------------------------
+// General utility methods
+
+/*! \fn bool FileExists(const std::string& filename)
+    \brief checks if file exists
+
+    Attempts to open file in a read-only mode.
+
+    \return \c true if file can be opened successfully
+*/
+API_EXPORT inline bool FileExists(const std::string& filename) {
+    std::ifstream f(filename.c_str(), std::ifstream::in);
+    return !f.fail();
+}
+
+/*! \fn void SwapEndian_16(int16_t& x)
+    \brief swaps endianness of signed 16-bit integer, in place
+
+    Swaps endian representation of value in \a x.
+*/
+API_EXPORT inline void SwapEndian_16(int16_t& x) {
+    x = ((x >> 8) | (x << 8));
+}
+
+/*! \fn void SwapEndian_16(uint16_t& x)
+    \brief swaps endianness of unsigned 16-bit integer, in place
+
+    Swaps endian representation of value in \a x.
+*/
+API_EXPORT inline void SwapEndian_16(uint16_t& x) {
+    x = ((x >> 8) | (x << 8));
+}
+
+/*! \fn void SwapEndian_32(int32_t& x)
+    \brief swaps endianness of signed 32-bit integer, in place
+
+    Swaps endian representation of value in \a x.
+*/
+API_EXPORT inline void SwapEndian_32(int32_t& x) {
+    x = ( (x >> 24) | 
+         ((x << 8) & 0x00FF0000) | 
+         ((x >> 8) & 0x0000FF00) | 
+          (x << 24)
+        );
+}
+
+/*! \fn void SwapEndian_32(uint32_t& x)
+    \brief swaps endianness of unsigned 32-bit integer, in place
+
+    Swaps endian representation of value in \a x.
+*/
+API_EXPORT inline void SwapEndian_32(uint32_t& x) {
+    x = ( (x >> 24) | 
+         ((x << 8) & 0x00FF0000) | 
+         ((x >> 8) & 0x0000FF00) | 
+          (x << 24)
+        );
+}
+
+/*! \fn void SwapEndian_64(int64_t& x)
+    \brief swaps endianness of signed 64-bit integer, in place
+
+    Swaps endian representation of value in \a x.
+*/
+API_EXPORT inline void SwapEndian_64(int64_t& x) {
+    x = ( (x >> 56) | 
+         ((x << 40) & 0x00FF000000000000ll) |
+         ((x << 24) & 0x0000FF0000000000ll) |
+         ((x << 8)  & 0x000000FF00000000ll) |
+         ((x >> 8)  & 0x00000000FF000000ll) |
+         ((x >> 24) & 0x0000000000FF0000ll) |
+         ((x >> 40) & 0x000000000000FF00ll) |
+          (x << 56)
+        );
+}
+
+/*! \fn void SwapEndian_64(uint64_t& x)
+    \brief swaps endianness of unsigned 64-bit integer, in place
+
+    Swaps endian representation of value in \a x.
+*/
+API_EXPORT inline void SwapEndian_64(uint64_t& x) {
+    x = ( (x >> 56) | 
+         ((x << 40) & 0x00FF000000000000ll) |
+         ((x << 24) & 0x0000FF0000000000ll) |
+         ((x << 8)  & 0x000000FF00000000ll) |
+         ((x >> 8)  & 0x00000000FF000000ll) |
+         ((x >> 24) & 0x0000000000FF0000ll) |
+         ((x >> 40) & 0x000000000000FF00ll) |
+          (x << 56)
+        );
+}
+
+/*! \fn void SwapEndian_16p(char* data)
+    \brief swaps endianness of the next 2 bytes in a buffer, in place
+
+    Swaps endian representation the next 2 bytes in \a data.
+*/
+API_EXPORT inline void SwapEndian_16p(char* data) {
+    uint16_t& value = (uint16_t&)*data; 
+    SwapEndian_16(value);
+}
+
+/*! \fn void SwapEndian_32p(char* data)
+    \brief swaps endianness of the next 4 bytes in a buffer, in place
+
+    Swaps endian representation the next 4 bytes in \a data.
+*/
+API_EXPORT inline void SwapEndian_32p(char* data) {
+    uint32_t& value = (uint32_t&)*data; 
+    SwapEndian_32(value);
+}
+
+/*! \fn void SwapEndian_64p(char* data)
+    \brief swaps endianness of the next 8 bytes in a buffer, in place
+
+    Swaps endian representation the next 8 bytes in \a data.
+*/
+API_EXPORT inline void SwapEndian_64p(char* data) {
+    uint64_t& value = (uint64_t&)*data; 
+    SwapEndian_64(value);
+}
+
+/*! \fn bool SystemIsBigEndian(void)
+    \brief checks host architecture's byte order
+    \return \c true if system uses big-endian ordering
+*/
+API_EXPORT inline bool SystemIsBigEndian(void) {
+   const uint16_t one = 0x0001;
+   return ((*(char*) &one) == 0 );
+}
+
+/*! \fn void PackUnsignedInt(char* buffer, unsigned int value)
+    \brief stores unsigned integer value in a byte buffer
+
+    \param buffer destination buffer
+    \param value  unsigned integer to 'pack' in buffer
+*/
+API_EXPORT inline void PackUnsignedInt(char* buffer, unsigned int value) {
+    buffer[0] = (char)value;
+    buffer[1] = (char)(value >> 8);
+    buffer[2] = (char)(value >> 16);
+    buffer[3] = (char)(value >> 24);
+}
+
+/*! \fn void PackUnsignedShort(char* buffer, unsigned short value)
+    \brief stores unsigned short integer value in a byte buffer
+
+    \param buffer destination buffer
+    \param value  unsigned short integer to 'pack' in buffer
+*/
+API_EXPORT inline void PackUnsignedShort(char* buffer, unsigned short value) {
+    buffer[0] = (char)value;
+    buffer[1] = (char)(value >> 8);
+}
+
+/*! \fn double UnpackDouble(const char* buffer)
+    \brief reads a double value from byte buffer
+
+    \param buffer source byte buffer
+    \return the (double) value read from the buffer
+*/
+API_EXPORT inline double UnpackDouble(const char* buffer) {
+    union { double value; unsigned char valueBuffer[sizeof(double)]; } un;
+    un.value = 0;
+    un.valueBuffer[0] = buffer[0];
+    un.valueBuffer[1] = buffer[1];
+    un.valueBuffer[2] = buffer[2];
+    un.valueBuffer[3] = buffer[3];
+    un.valueBuffer[4] = buffer[4];
+    un.valueBuffer[5] = buffer[5];
+    un.valueBuffer[6] = buffer[6];
+    un.valueBuffer[7] = buffer[7];
+    return un.value;
+}
+
+/*! \fn double UnpackDouble(char* buffer)
+    \brief reads a double value from byte buffer
+
+    This is an overloaded function.
+
+    \param buffer source byte buffer
+    \return the (double) value read from the buffer
+*/
+API_EXPORT inline double UnpackDouble(char* buffer) {
+    return UnpackDouble( (const char*)buffer );
+}
+
+/*! \fn double UnpackFloat(const char* buffer)
+    \brief reads a float value from byte buffer
+
+    \param buffer source byte buffer
+    \return the (float) value read from the buffer
+*/
+API_EXPORT inline float UnpackFloat(const char* buffer) {
+    union { float value; unsigned char valueBuffer[sizeof(float)]; } un;
+    un.value = 0;
+    un.valueBuffer[0] = buffer[0];
+    un.valueBuffer[1] = buffer[1];
+    un.valueBuffer[2] = buffer[2];
+    un.valueBuffer[3] = buffer[3];
+    return un.value;
+}
+
+/*! \fn double UnpackFloat(char* buffer)
+    \brief reads a float value from byte buffer
+
+    This is an overloaded function.
+
+    \param buffer source byte buffer
+    \return the (float) value read from the buffer
+*/
+API_EXPORT inline float UnpackFloat(char* buffer) {
+    return UnpackFloat( (const char*)buffer );
+}
+
+/*! \fn signed int UnpackSignedInt(const char* buffer)
+    \brief reads a signed integer value from byte buffer
+
+    \param buffer source byte buffer
+    \return the (signed int) value read from the buffer
+*/
+API_EXPORT inline signed int UnpackSignedInt(const char* buffer) {
+    union { signed int value; unsigned char valueBuffer[sizeof(signed int)]; } un;
+    un.value = 0;
+    un.valueBuffer[0] = buffer[0];
+    un.valueBuffer[1] = buffer[1];
+    un.valueBuffer[2] = buffer[2];
+    un.valueBuffer[3] = buffer[3];
+    return un.value;
+}
+
+/*! \fn signed int UnpackSignedInt(char* buffer)
+    \brief reads a signed integer value from byte buffer
+
+    This is an overloaded function.
+
+    \param buffer source byte buffer
+    \return the (signed int) value read from the buffer
+*/
+API_EXPORT inline signed int UnpackSignedInt(char* buffer) {
+    return UnpackSignedInt( (const char*) buffer );
+}
+
+/*! \fn signed short UnpackSignedShort(const char* buffer)
+    \brief reads a signed short integer value from byte buffer
+
+    \param buffer source byte buffer
+    \return the (signed short) value read from the buffer
+*/
+API_EXPORT inline signed short UnpackSignedShort(const char* buffer) {
+    union { signed short value; unsigned char valueBuffer[sizeof(signed short)]; } un;
+    un.value = 0;
+    un.valueBuffer[0] = buffer[0];
+    un.valueBuffer[1] = buffer[1];
+    return un.value;
+}
+
+/*! \fn signed short UnpackSignedShort(char* buffer)
+    \brief reads a signed short integer value from byte buffer
+
+    This is an overloaded function.
+
+    \param buffer source byte buffer
+    \return the (signed short) value read from the buffer
+*/
+API_EXPORT inline signed short UnpackSignedShort(char* buffer) {
+    return UnpackSignedShort( (const char*)buffer );
+}
+
+/*! \fn unsigned int UnpackUnsignedInt(const char* buffer)
+    \brief reads an unsigned integer value from byte buffer
+
+    \param buffer source byte buffer
+    \return the (unsigned int) value read from the buffer
+*/
+API_EXPORT inline unsigned int UnpackUnsignedInt(const char* buffer) {
+    union { unsigned int value; unsigned char valueBuffer[sizeof(unsigned int)]; } un;
+    un.value = 0;
+    un.valueBuffer[0] = buffer[0];
+    un.valueBuffer[1] = buffer[1];
+    un.valueBuffer[2] = buffer[2];
+    un.valueBuffer[3] = buffer[3];
+    return un.value;
+}
+
+/*! \fn unsigned int UnpackUnsignedInt(char* buffer)
+    \brief reads an unsigned integer value from byte buffer
+
+    This is an overloaded function.
+
+    \param buffer source byte buffer
+    \return the (unsigned int) value read from the buffer
+*/
+API_EXPORT inline unsigned int UnpackUnsignedInt(char* buffer) {
+    return UnpackUnsignedInt( (const char*)buffer );
+}
+
+/*! \fn unsigned short UnpackUnsignedShort(const char* buffer)
+    \brief reads an unsigned short integer value from byte buffer
+
+    \param buffer source byte buffer
+    \return the (unsigned short) value read from the buffer
+*/
+API_EXPORT inline unsigned short UnpackUnsignedShort(const char* buffer) {
+    union { unsigned short value; unsigned char valueBuffer[sizeof(unsigned short)]; } un;
+    un.value = 0;
+    un.valueBuffer[0] = buffer[0];
+    un.valueBuffer[1] = buffer[1];
+    return un.value;
+}
+
+/*! \fn unsigned short UnpackUnsignedShort(char* buffer)
+    \brief reads an unsigned short integer value from byte buffer
+
+    This is an overloaded function.
+
+    \param buffer source byte buffer
+    \return the (unsigned short) value read from the buffer
+*/
+API_EXPORT inline unsigned short UnpackUnsignedShort(char* buffer) {
+    return UnpackUnsignedShort( (const char*)buffer );
+}
+
+} // namespace BamTools
+
+#endif // BAMAUX_H
diff --git a/src/utils/BamTools/include/api/BamConstants.h b/src/utils/BamTools/include/api/BamConstants.h
new file mode 100644
index 00000000..e433c8e7
--- /dev/null
+++ b/src/utils/BamTools/include/api/BamConstants.h
@@ -0,0 +1,128 @@
+// ***************************************************************************
+// BamConstants.h (c) 2011 Derek Barnett
+// Marth Lab, Department of Biology, Boston College
+// All rights reserved.
+// ---------------------------------------------------------------------------
+// Last modified: 19 April 2011 (DB)
+// ---------------------------------------------------------------------------
+// Provides basic constants for handling BAM files.
+// ***************************************************************************
+
+#ifndef BAM_CONSTANTS_H
+#define BAM_CONSTANTS_H
+
+#include <string>
+
+/*! \namespace BamTools::Constants
+    \brief Provides basic constants for handling BAM files.
+*/
+
+namespace BamTools {
+namespace Constants {
+
+const int BAM_SIZEOF_INT = 4;
+
+// header magic number
+const char* const  BAM_HEADER_MAGIC = "BAM\1";
+const unsigned int BAM_HEADER_MAGIC_LENGTH = 4;
+
+// BAM alignment core size
+const int BAM_CORE_SIZE = 32;
+const int BAM_CORE_BUFFER_SIZE = 8;
+
+// BAM alignment flags
+const int BAM_ALIGNMENT_PAIRED              = 0x0001;
+const int BAM_ALIGNMENT_PROPER_PAIR         = 0x0002;
+const int BAM_ALIGNMENT_UNMAPPED            = 0x0004;
+const int BAM_ALIGNMENT_MATE_UNMAPPED       = 0x0008;
+const int BAM_ALIGNMENT_REVERSE_STRAND      = 0x0010;
+const int BAM_ALIGNMENT_MATE_REVERSE_STRAND = 0x0020;
+const int BAM_ALIGNMENT_READ_1              = 0x0040;
+const int BAM_ALIGNMENT_READ_2              = 0x0080;
+const int BAM_ALIGNMENT_SECONDARY           = 0x0100;
+const int BAM_ALIGNMENT_QC_FAILED           = 0x0200;
+const int BAM_ALIGNMENT_DUPLICATE           = 0x0400;
+
+// CIGAR constants
+const char* const BAM_CIGAR_LOOKUP = "MIDNSHP=X";
+const int BAM_CIGAR_MATCH    = 0;
+const int BAM_CIGAR_INS      = 1;
+const int BAM_CIGAR_DEL      = 2;
+const int BAM_CIGAR_REFSKIP  = 3;
+const int BAM_CIGAR_SOFTCLIP = 4;
+const int BAM_CIGAR_HARDCLIP = 5;
+const int BAM_CIGAR_PAD      = 6;
+const int BAM_CIGAR_SEQMATCH = 7;
+const int BAM_CIGAR_MISMATCH = 8;
+
+const char BAM_CIGAR_MATCH_CHAR    = 'M';
+const char BAM_CIGAR_INS_CHAR      = 'I';
+const char BAM_CIGAR_DEL_CHAR      = 'D';
+const char BAM_CIGAR_REFSKIP_CHAR  = 'N';
+const char BAM_CIGAR_SOFTCLIP_CHAR = 'S';
+const char BAM_CIGAR_HARDCLIP_CHAR = 'H';
+const char BAM_CIGAR_PAD_CHAR      = 'P';
+const char BAM_CIGAR_SEQMATCH_CHAR = '=';
+const char BAM_CIGAR_MISMATCH_CHAR = 'X';
+
+const int BAM_CIGAR_SHIFT    = 4;
+const int BAM_CIGAR_MASK     = ((1 << BAM_CIGAR_SHIFT) - 1);
+
+// BAM tag types
+const char BAM_TAG_TYPE_ASCII  = 'A';
+const char BAM_TAG_TYPE_UINT8  = 'c';
+const char BAM_TAG_TYPE_INT8   = 'C';
+const char BAM_TAG_TYPE_UINT16 = 's';
+const char BAM_TAG_TYPE_INT16  = 'S';
+const char BAM_TAG_TYPE_UINT32 = 'i';
+const char BAM_TAG_TYPE_INT32  = 'I';
+const char BAM_TAG_TYPE_FLOAT  = 'f';
+const char BAM_TAG_TYPE_STRING = 'Z';
+const char BAM_TAG_TYPE_HEX    = 'H';
+const char BAM_TAG_TYPE_ARRAY  = 'B';
+
+const size_t BAM_TAG_TAGSIZE  = 2;
+const size_t BAM_TAG_TYPESIZE = 1;
+const int BAM_TAG_ARRAYBASE_SIZE = 8;
+
+// DNA bases
+const char* const BAM_DNA_LOOKUP = "=ACMGRSVTWYHKDBN";
+const unsigned char BAM_BASECODE_EQUAL = 0;
+const unsigned char BAM_BASECODE_A     = 1;
+const unsigned char BAM_BASECODE_C     = 2;
+const unsigned char BAM_BASECODE_G     = 4;
+const unsigned char BAM_BASECODE_T     = 8;
+const unsigned char BAM_BASECODE_N     = 15;
+
+const char BAM_DNA_EQUAL   = '=';
+const char BAM_DNA_A       = 'A';
+const char BAM_DNA_C       = 'C';
+const char BAM_DNA_G       = 'G';
+const char BAM_DNA_T       = 'T';
+const char BAM_DNA_N       = 'N';
+const char BAM_DNA_DEL     = '-';
+const char BAM_DNA_PAD     = '*';
+
+// zlib constants
+const int GZIP_ID1   = 31;
+const int GZIP_ID2   = 139;
+const int CM_DEFLATE = 8;
+const int FLG_FEXTRA = 4;
+const int OS_UNKNOWN = 255;
+const int BGZF_XLEN  = 6;
+const int BGZF_ID1   = 66;
+const int BGZF_ID2   = 67;
+const int BGZF_LEN   = 2;
+const int GZIP_WINDOW_BITS    = -15;
+const int Z_DEFAULT_MEM_LEVEL = 8;
+
+// BZGF constants
+const int BGZF_BLOCK_HEADER_LENGTH = 18;
+const int BGZF_BLOCK_FOOTER_LENGTH = 8;
+const int BGZF_MAX_BLOCK_SIZE      = 65536;
+const int BGZF_DEFAULT_BLOCK_SIZE  = 65536;
+
+} // namespace Constants
+} // namespace BamTools
+
+#endif // BAM_CONSTANTS_H
diff --git a/src/utils/BamTools/include/api/BamIndex.h b/src/utils/BamTools/include/api/BamIndex.h
new file mode 100644
index 00000000..00a8f017
--- /dev/null
+++ b/src/utils/BamTools/include/api/BamIndex.h
@@ -0,0 +1,80 @@
+// ***************************************************************************
+// BamIndex.h (c) 2009 Derek Barnett
+// Marth Lab, Department of Biology, Boston College
+// All rights reserved.
+// ---------------------------------------------------------------------------
+// Last modified: 5 April 2011 (DB)
+// ---------------------------------------------------------------------------
+// Provides basic BAM index interface
+// ***************************************************************************
+
+#ifndef BAM_INDEX_H
+#define BAM_INDEX_H
+
+#include <api/api_global.h>
+#include <api/BamAux.h>
+#include <string>
+
+namespace BamTools {
+
+namespace Internal {
+    class BamReaderPrivate;
+} // namespace Internal
+
+/*! \class BamTools::BamIndex
+    \brief Provides methods for generating & loading BAM index files.
+
+    This class straddles the line between public API and internal
+    implementation detail. Most client code should never have to use this
+    class directly.
+
+    It is exposed to the public API to allow advanced users to implement
+    their own custom indexing schemes.
+
+    More documentation on methods & enums coming soon.
+*/
+
+class API_EXPORT BamIndex {
+
+    // enums
+    public:
+        // specify index-caching behavior
+        enum IndexCacheMode { FullIndexCaching = 0 // store entire index file contents in memory
+                            , LimitedIndexCaching  // store only index data for current reference
+                            , NoIndexCaching       // do not store any index data between jumps
+                            };
+
+        // list of supported BamIndex types
+        enum IndexType { BAMTOOLS = 0
+                       , STANDARD
+                       };
+  
+    // ctor & dtor
+    public:
+        BamIndex(Internal::BamReaderPrivate* reader) : m_reader(reader) { }
+        virtual ~BamIndex(void) { }
+        
+    // index interface
+    public:
+        // builds index from associated BAM file & writes out to index file
+        virtual bool Create(void) =0; // creates index file from BAM file
+        // returns whether reference has alignments or no
+        virtual bool HasAlignments(const int& referenceID) const =0;
+        // attempts to use index data to jump to @region, returns success/fail
+        // a "successful" jump indicates no error, but not whether this region has data
+        //   * thus, the method sets a flag to indicate whether there are alignments
+        //     available after the jump position
+        virtual bool Jump(const BamTools::BamRegion& region, bool* hasAlignmentsInRegion) =0;
+        // loads existing data from file into memory
+        virtual bool Load(const std::string& filename) =0;
+        // change the index caching behavior
+        virtual void SetCacheMode(const BamIndex::IndexCacheMode& mode) =0;
+
+    // data members
+    protected:
+        Internal::BamReaderPrivate* m_reader; // copy, not ownedprivate:
+};
+
+} // namespace BamTools
+
+#endif // BAM_INDEX_H
diff --git a/src/utils/BamTools/include/api/BamMultiReader.h b/src/utils/BamTools/include/api/BamMultiReader.h
new file mode 100644
index 00000000..cc49ec8e
--- /dev/null
+++ b/src/utils/BamTools/include/api/BamMultiReader.h
@@ -0,0 +1,127 @@
+// ***************************************************************************
+// BamMultiReader.h (c) 2010 Erik Garrison, Derek Barnett
+// Marth Lab, Department of Biology, Boston College
+// All rights reserved.
+// ---------------------------------------------------------------------------
+// Last modified: 15 March 2011 (DB)
+// ---------------------------------------------------------------------------
+// Convenience class for reading multiple BAM files.
+// ***************************************************************************
+
+#ifndef BAMMULTIREADER_H
+#define BAMMULTIREADER_H
+
+#include <api/api_global.h>
+#include <api/BamReader.h>
+#include <map>
+#include <sstream>
+#include <string>
+#include <utility>
+
+namespace BamTools {
+
+namespace Internal {
+    class BamMultiReaderPrivate;
+} // namespace Internal
+
+class API_EXPORT BamMultiReader {
+
+    public:
+        enum SortOrder { SortedByPosition = 0
+                       , SortedByReadName
+                       , Unsorted
+                       };
+
+    // constructor / destructor
+    public:
+        BamMultiReader(void);
+        ~BamMultiReader(void);
+
+    // public interface
+    public:
+
+        // ----------------------
+        // BAM file operations
+        // ----------------------
+
+        // closes all open BAM files
+        void Close(void);
+        // close only the requested BAM file
+        void CloseFile(const std::string& filename);
+        // returns list of filenames for all open BAM files
+        const std::vector<std::string> Filenames(void) const;
+        // returns true if multireader has any open BAM files
+        bool HasOpenReaders(void) const;
+        // performs random-access jump within current BAM files
+        bool Jump(int refID, int position = 0);
+        // opens BAM files
+        bool Open(const std::vector<std::string>& filenames);
+        // opens a single BAM file, adding to any other current BAM files
+        bool OpenFile(const std::string& filename);
+        // returns file pointers to beginning of alignments
+        bool Rewind(void);
+        // sets the target region of interest
+        bool SetRegion(const BamRegion& region);
+        // sets the target region of interest
+        bool SetRegion(const int& leftRefID,
+                       const int& leftPosition,
+                       const int& rightRefID,
+                       const int& rightPosition);
+
+        // ----------------------
+        // access alignment data
+        // ----------------------
+
+        // retrieves next available alignment
+        bool GetNextAlignment(BamAlignment& alignment);
+        // retrieves next available alignmnet (without populating the alignment's string data fields)
+        bool GetNextAlignmentCore(BamAlignment& alignment);
+
+        // sets the expected sorting order for reading across multiple BAM files
+        void SetSortOrder(const SortOrder& order);
+
+        // ----------------------
+        // access auxiliary data
+        // ----------------------
+
+        // returns unified SAM header for all files
+        SamHeader GetHeader(void) const;
+        // returns unified SAM header text for all files
+        std::string GetHeaderText(void) const;
+        // returns number of reference sequences
+        int GetReferenceCount(void) const;
+        // returns all reference sequence entries.
+        const BamTools::RefVector GetReferenceData(void) const;
+        // returns the ID of the reference with this name.
+        int GetReferenceID(const std::string& refName) const;
+
+        // ----------------------
+        // BAM index operations
+        // ----------------------
+
+        // creates index files for current BAM files
+        bool CreateIndexes(const BamIndex::IndexType& type = BamIndex::STANDARD);
+        // returns true if all BAM files have index data available
+        bool HasIndexes(void) const;
+        // looks for index files that match current BAM files
+        bool LocateIndexes(const BamIndex::IndexType& preferredType = BamIndex::STANDARD);
+        // opens index files for current BAM files.
+        bool OpenIndexes(const std::vector<std::string>& indexFilenames);
+        // changes the caching behavior of the index data
+        void SetIndexCacheMode(const BamIndex::IndexCacheMode& mode);
+
+    // deprecated methods
+    public:
+        // returns \c true if all BAM files have index data available.
+        bool IsIndexLoaded(void) const;
+        // convenience method for printing filenames to stdout
+        void PrintFilenames(void) const;
+
+    // private implementation
+    private:
+        Internal::BamMultiReaderPrivate* d;
+};
+
+} // namespace BamTools
+
+#endif // BAMMULTIREADER_H
diff --git a/src/utils/BamTools/include/api/BamReader.h b/src/utils/BamTools/include/api/BamReader.h
new file mode 100644
index 00000000..85b0c0d5
--- /dev/null
+++ b/src/utils/BamTools/include/api/BamReader.h
@@ -0,0 +1,118 @@
+// ***************************************************************************
+// BamReader.h (c) 2009 Derek Barnett, Michael Str�mberg
+// Marth Lab, Department of Biology, Boston College
+// All rights reserved.
+// ---------------------------------------------------------------------------
+// Last modified: 4 March 2011 (DB)
+// ---------------------------------------------------------------------------
+// Provides read access to BAM files.
+// ***************************************************************************
+
+#ifndef BAMREADER_H
+#define BAMREADER_H
+
+#include <api/api_global.h>
+#include <api/BamAlignment.h>
+#include <api/BamIndex.h>
+#include <api/SamHeader.h>
+#include <string>
+
+namespace BamTools {
+  
+namespace Internal {
+    class BamReaderPrivate;
+} // namespace Internal
+
+class API_EXPORT BamReader {
+
+    // constructor / destructor
+    public:
+        BamReader(void);
+        ~BamReader(void);
+
+    // public interface
+    public:
+
+        // ----------------------
+        // BAM file operations
+        // ----------------------
+
+        // closes the current BAM file
+        void Close(void);
+        // returns filename of current BAM file
+        const std::string GetFilename(void) const;
+        // returns true if a BAM file is open for reading
+        bool IsOpen(void) const;
+        // performs random-access jump within BAM file
+        bool Jump(int refID, int position = 0);
+        // opens a BAM file
+        bool Open(const std::string& filename);
+        // returns internal file pointer to beginning of alignment data
+        bool Rewind(void);
+        // sets the target region of interest
+        bool SetRegion(const BamRegion& region);
+        // sets the target region of interest
+        bool SetRegion(const int& leftRefID,
+                       const int& leftPosition,
+                       const int& rightRefID,
+                       const int& rightPosition);
+
+        // ----------------------
+        // access alignment data
+        // ----------------------
+
+        // retrieves next available alignment
+        bool GetNextAlignment(BamAlignment& alignment);
+        // retrieves next available alignmnet (without populating the alignment's string data fields)
+        bool GetNextAlignmentCore(BamAlignment& alignment);
+
+        // ----------------------
+        // access header data
+        // ----------------------
+
+        // returns SAM header data
+        SamHeader GetHeader(void) const;
+        // returns SAM header data, as SAM-formatted text
+        std::string GetHeaderText(void) const;
+
+        // ----------------------
+        // access reference data
+        // ----------------------
+
+        // returns the number of reference sequences
+        int GetReferenceCount(void) const;
+        // returns all reference sequence entries
+        const RefVector& GetReferenceData(void) const;
+        // returns the ID of the reference with this name
+        int GetReferenceID(const std::string& refName) const;
+
+        // ----------------------
+        // BAM index operations
+        // ----------------------
+
+        // creates an index file for current BAM file, using the requested index type
+        bool CreateIndex(const BamIndex::IndexType& type = BamIndex::STANDARD);
+        // returns true if index data is available
+        bool HasIndex(void) const;
+        // looks in BAM file's directory for a matching index file
+        bool LocateIndex(const BamIndex::IndexType& preferredType = BamIndex::STANDARD);
+        // opens a BAM index file
+        bool OpenIndex(const std::string& indexFilename);
+        // sets a custom BamIndex on this reader
+        void SetIndex(BamIndex* index);
+        // changes the caching behavior of the index data
+        void SetIndexCacheMode(const BamIndex::IndexCacheMode& mode);
+
+    // deprecated methods
+    public:
+        // returns true if index data is available
+        bool IsIndexLoaded(void) const;
+        
+    // private implementation
+    private:
+        Internal::BamReaderPrivate* d;
+};
+
+} // namespace BamTools
+
+#endif // BAMREADER_H
diff --git a/src/utils/BamTools/include/api/BamWriter.h b/src/utils/BamTools/include/api/BamWriter.h
new file mode 100644
index 00000000..476dbecf
--- /dev/null
+++ b/src/utils/BamTools/include/api/BamWriter.h
@@ -0,0 +1,64 @@
+// ***************************************************************************
+// BamWriter.h (c) 2009 Michael Str�mberg, Derek Barnett
+// Marth Lab, Department of Biology, Boston College
+// All rights reserved.
+// ---------------------------------------------------------------------------
+// Last modified: 4 March 2011 (DB)
+// ---------------------------------------------------------------------------
+// Provides the basic functionality for producing BAM files
+// ***************************************************************************
+
+#ifndef BAMWRITER_H
+#define BAMWRITER_H
+
+#include <api/api_global.h>
+#include <api/BamAux.h>
+#include <string>
+
+namespace BamTools {
+
+class BamAlignment;
+class SamHeader;
+
+namespace Internal {
+    class BamWriterPrivate;
+} // namespace Internal
+
+class API_EXPORT BamWriter {
+
+    public: enum CompressionMode { Compressed = 0
+                                 , Uncompressed
+                                 };
+
+    // ctor & dtor
+    public:
+        BamWriter(void);
+        ~BamWriter(void);
+
+    // public interface
+    public:
+        //  closes the current BAM file
+        void Close(void);
+        // returns true if BAM file is open for writing
+        bool IsOpen(void) const;
+        // opens a BAM file for writing
+        bool Open(const std::string& filename, 
+                  const std::string& samHeaderText,
+                  const RefVector& referenceSequences);
+        // opens a BAM file for writing
+        bool Open(const std::string& filename,
+                  const SamHeader& samHeader,
+                  const RefVector& referenceSequences);
+        // saves the alignment to the alignment archive
+        void SaveAlignment(const BamAlignment& alignment);
+        // sets the output compression mode
+        void SetCompressionMode(const CompressionMode& compressionMode);
+
+    // private implementation
+    private:
+        Internal::BamWriterPrivate* d;
+};
+
+} // namespace BamTools
+
+#endif // BAMWRITER_H
diff --git a/src/utils/BamTools/include/api/SamConstants.h b/src/utils/BamTools/include/api/SamConstants.h
new file mode 100644
index 00000000..d3459202
--- /dev/null
+++ b/src/utils/BamTools/include/api/SamConstants.h
@@ -0,0 +1,96 @@
+// ***************************************************************************
+// SamConstants.h (c) 2010 Derek Barnett
+// Marth Lab, Department of Biology, Boston College
+// All rights reserved.
+// ---------------------------------------------------------------------------
+// Last modified: 19 April 2011 (DB)
+// ---------------------------------------------------------------------------
+// Provides constants for SAM header
+// ***************************************************************************
+
+#ifndef SAM_CONSTANTS_H
+#define SAM_CONSTANTS_H
+
+#include <api/api_global.h>
+#include <string>
+
+namespace BamTools {
+namespace Constants {
+
+// basic char constants used in SAM format
+const char SAM_COLON  = ':';
+const char SAM_EQUAL  = '=';
+const char SAM_PERIOD = '.';
+const char SAM_STAR   = '*';
+const char SAM_TAB    = '\t';
+const std::string SAM_DIGITS = "0123456789";
+
+// HD entries
+const std::string SAM_HD_BEGIN_TOKEN    = "@HD";
+const std::string SAM_HD_VERSION_TAG    = "VN";
+const std::string SAM_HD_SORTORDER_TAG  = "SO";
+const std::string SAM_HD_GROUPORDER_TAG = "GO";
+
+// SQ entries
+const std::string SAM_SQ_BEGIN_TOKEN    = "@SQ";
+const std::string SAM_SQ_ASSEMBLYID_TAG = "AS";
+const std::string SAM_SQ_CHECKSUM_TAG   = "M5";
+const std::string SAM_SQ_LENGTH_TAG     = "LN";
+const std::string SAM_SQ_NAME_TAG       = "SN";
+const std::string SAM_SQ_SPECIES_TAG    = "SP";
+const std::string SAM_SQ_URI_TAG        = "UR";
+
+// RG entries
+const std::string SAM_RG_BEGIN_TOKEN             = "@RG";
+const std::string SAM_RG_DESCRIPTION_TAG         = "DS";
+const std::string SAM_RG_FLOWORDER_TAG           = "FO";
+const std::string SAM_RG_ID_TAG                  = "ID";
+const std::string SAM_RG_KEYSEQUENCE_TAG         = "KS";
+const std::string SAM_RG_LIBRARY_TAG             = "LB";
+const std::string SAM_RG_PLATFORMUNIT_TAG        = "PU";
+const std::string SAM_RG_PREDICTEDINSERTSIZE_TAG = "PI";
+const std::string SAM_RG_PRODUCTIONDATE_TAG      = "DT";
+const std::string SAM_RG_PROGRAM_TAG             = "PG";
+const std::string SAM_RG_SAMPLE_TAG              = "SM";
+const std::string SAM_RG_SEQCENTER_TAG           = "CN";
+const std::string SAM_RG_SEQTECHNOLOGY_TAG       = "PL";
+
+// PG entries
+const std::string SAM_PG_BEGIN_TOKEN         = "@PG";
+const std::string SAM_PG_COMMANDLINE_TAG     = "CL";
+const std::string SAM_PG_ID_TAG              = "ID";
+const std::string SAM_PG_NAME_TAG            = "PN";
+const std::string SAM_PG_PREVIOUSPROGRAM_TAG = "PP";
+const std::string SAM_PG_VERSION_TAG         = "VN";
+
+// CO entries
+const std::string SAM_CO_BEGIN_TOKEN = "@CO";
+
+// HD:SO values
+const std::string SAM_HD_SORTORDER_COORDINATE = "coordinate";
+const std::string SAM_HD_SORTORDER_QUERYNAME  = "queryname";
+const std::string SAM_HD_SORTORDER_UNKNOWN    = "unknown";
+const std::string SAM_HD_SORTORDER_UNSORTED   = "unsorted";
+
+// HD:GO values
+const std::string SAM_HD_GROUPORDER_NONE      = "none";
+const std::string SAM_HD_GROUPORDER_QUERY     = "query";
+const std::string SAM_HD_GROUPORDER_REFERENCE = "reference";
+
+// SQ:LN values
+const unsigned int SAM_SQ_LENGTH_MIN = 1;
+const unsigned int SAM_SQ_LENGTH_MAX = 536870911; // 2^29 - 1
+
+// RG:PL values
+const std::string SAM_RG_SEQTECHNOLOGY_CAPILLARY  = "CAPILLARY";
+const std::string SAM_RG_SEQTECHNOLOGY_HELICOS    = "HELICOS";
+const std::string SAM_RG_SEQTECHNOLOGY_ILLUMINA   = "ILLUMINA";
+const std::string SAM_RG_SEQTECHNOLOGY_IONTORRENT = "IONTORRENT";
+const std::string SAM_RG_SEQTECHNOLOGY_LS454      = "LS454";
+const std::string SAM_RG_SEQTECHNOLOGY_PACBIO     = "PACBIO";
+const std::string SAM_RG_SEQTECHNOLOGY_SOLID      = "SOLID";
+
+} // namespace Constants
+} // namespace BamTools
+
+#endif // SAM_CONSTANTS_H
diff --git a/src/utils/BamTools/include/api/SamHeader.h b/src/utils/BamTools/include/api/SamHeader.h
new file mode 100644
index 00000000..5c7a1019
--- /dev/null
+++ b/src/utils/BamTools/include/api/SamHeader.h
@@ -0,0 +1,69 @@
+// ***************************************************************************
+// SamHeader.h (c) 2010 Derek Barnett
+// Marth Lab, Department of Biology, Boston College
+// All rights reserved.
+// ---------------------------------------------------------------------------
+// Last modified: 18 April 2011 (DB)
+// ---------------------------------------------------------------------------
+// Provides direct read/write access to the SAM header data fields.
+// ***************************************************************************
+
+#ifndef SAM_HEADER_H
+#define SAM_HEADER_H
+
+#include <api/api_global.h>
+#include <api/SamProgramChain.h>
+#include <api/SamReadGroupDictionary.h>
+#include <api/SamSequenceDictionary.h>
+#include <string>
+#include <vector>
+
+namespace BamTools {
+
+struct API_EXPORT SamHeader {
+
+    // ctor & dtor
+    SamHeader(const std::string& headerText = "");
+    SamHeader(const SamHeader& other);
+    ~SamHeader(void);
+
+    // query/modify entire SamHeader
+    void Clear(void);                                   // clears all header contents
+    bool IsValid(bool verbose = false) const;           // returns true if SAM header is well-formed
+    void SetHeaderText(const std::string& headerText);  // replaces data fields with contents of SAM-formatted text
+    std::string ToString(void) const;                   // returns the printable, SAM-formatted header text
+
+    // convenience query methods
+    bool HasVersion(void) const;            // returns true if header contains format version entry
+    bool HasSortOrder(void) const;          // returns true if header contains sort order entry
+    bool HasGroupOrder(void) const;         // returns true if header contains group order entry
+    bool HasSequences(void) const;          // returns true if header contains any sequence entries
+    bool HasReadGroups(void) const;         // returns true if header contains any read group entries
+    bool HasPrograms(void) const;           // returns true if header contains any program record entries
+    bool HasComments(void) const;           // returns true if header contains comments
+
+    // --------------
+    // data members
+    // --------------
+
+    // header metadata (@HD line)
+    std::string Version;                    // VN:<Version>  *Required for valid SAM header, if @HD record is present*
+    std::string SortOrder;                  // SO:<SortOrder>
+    std::string GroupOrder;                 // GO:<GroupOrder>
+
+    // header sequences (@SQ entries)
+    SamSequenceDictionary Sequences;
+
+    // header read groups (@RG entries)
+    SamReadGroupDictionary ReadGroups;
+
+    // header program data (@PG entries)
+    SamProgramChain Programs;
+
+    // header comments (@CO entries)
+    std::vector<std::string> Comments;
+};
+
+} // namespace BamTools
+
+#endif // SAM_HEADER_H
diff --git a/src/utils/BamTools/include/api/SamProgram.h b/src/utils/BamTools/include/api/SamProgram.h
new file mode 100644
index 00000000..3c89059b
--- /dev/null
+++ b/src/utils/BamTools/include/api/SamProgram.h
@@ -0,0 +1,62 @@
+// ***************************************************************************
+// SamProgram.h (c) 2011 Derek Barnett
+// Marth Lab, Department of Biology, Boston College
+// All rights reserved.
+// ---------------------------------------------------------------------------
+// Last modified: 19 April 2011 (DB)
+// ---------------------------------------------------------------------------
+// Provides direct read/write access to the SAM header program records.
+// ***************************************************************************
+
+#ifndef SAM_PROGRAM_H
+#define SAM_PROGRAM_H
+
+#include "api/api_global.h"
+#include <string>
+
+namespace BamTools {
+
+class SamProgramChain;
+
+struct API_EXPORT SamProgram {
+
+    // ctor & dtor
+    SamProgram(void);
+    SamProgram(const std::string& id);
+    SamProgram(const SamProgram& other);
+    ~SamProgram(void);
+
+    // query/modify entire program record
+    void Clear(void);                           // clears all data fields
+
+    // convenience query methods
+    bool HasCommandLine(void) const;            // returns true if program record has a command line entry
+    bool HasID(void) const;                     // returns true if program record has an ID
+    bool HasName(void) const;                   // returns true if program record has a name
+    bool HasPreviousProgramID(void) const;      // returns true if program record has a 'previous program ID'
+    bool HasVersion(void) const;                // returns true if program record has a version
+
+    // data members
+    std::string CommandLine;                    // CL:<CommandLine>
+    std::string ID;                             // ID:<ID>          *Required for valid SAM header*
+    std::string Name;                           // PN:<Name>
+    std::string PreviousProgramID;              // PP:<PreviousProgramID>
+    std::string Version;                        // VN:<Version>
+
+    // internal (non-standard) methods & fields
+    private:
+        bool HasNextProgramID(void) const;
+        std::string NextProgramID;
+        friend class BamTools::SamProgramChain;
+};
+
+/*! \fn bool operator==(const SamProgram& lhs, const SamProgram& rhs)
+    \brief tests equality by comparing program IDs
+*/
+API_EXPORT inline bool operator==(const SamProgram& lhs, const SamProgram& rhs) {
+    return lhs.ID == rhs.ID;
+}
+
+} // namespace BamTools
+
+#endif // SAM_PROGRAM_H
diff --git a/src/utils/BamTools/include/api/SamProgramChain.h b/src/utils/BamTools/include/api/SamProgramChain.h
new file mode 100644
index 00000000..4cb16fc3
--- /dev/null
+++ b/src/utils/BamTools/include/api/SamProgramChain.h
@@ -0,0 +1,86 @@
+// ***************************************************************************
+// SamProgramChain.h (c) 2011 Derek Barnett
+// Marth Lab, Department of Biology, Boston College
+// All rights reserved.
+// ---------------------------------------------------------------------------
+// Last modified: 19 April 2011 (DB)
+// ---------------------------------------------------------------------------
+// Provides methods for operating on a SamProgram record "chain"
+// ***************************************************************************
+
+#ifndef SAM_PROGRAMCHAIN_H
+#define SAM_PROGRAMCHAIN_H
+
+#include <api/api_global.h>
+#include <api/SamProgram.h>
+#include <string>
+#include <vector>
+
+namespace BamTools {
+
+// chain is *NOT* sorted in any order
+// use First()/Last() to retrieve oldest/newest programs, respectively
+typedef std::vector<SamProgram>             SamProgramContainer;
+typedef SamProgramContainer::iterator       SamProgramIterator;
+typedef SamProgramContainer::const_iterator SamProgramConstIterator;
+
+class API_EXPORT SamProgramChain {
+
+    // ctor & dtor
+    public:
+        SamProgramChain(void);
+        SamProgramChain(const SamProgramChain& other);
+        ~SamProgramChain(void);
+
+    // query/modify program data
+    public:
+        // appends a program record to the chain
+        void Add(SamProgram& program);
+        void Add(std::vector<SamProgram>& programs);
+
+        // clears all read group entries
+        void Clear(void);
+
+        // returns true if chain contains this program record (matches on ID)
+        bool Contains(const SamProgram& program) const;
+        bool Contains(const std::string& programId) const;
+
+        // returns the first (oldest) program in the chain
+        SamProgram& First(void);
+        const SamProgram& First(void) const;
+
+        // returns true if chain is empty
+        bool IsEmpty(void) const;
+
+        // returns last (most recent) program in the chain
+        SamProgram& Last(void);
+        const SamProgram& Last(void) const;
+
+        // returns number of program records in the chain
+        int Size(void) const;
+
+        // retrieves a modifiable reference to the SamProgram object associated with this ID
+        SamProgram& operator[](const std::string& programId);
+
+    // retrieve STL-compatible iterators
+    public:
+        SamProgramIterator      Begin(void);              // returns iterator to begin()
+        SamProgramConstIterator Begin(void) const;        // returns const_iterator to begin()
+        SamProgramConstIterator ConstBegin(void) const;   // returns const_iterator to begin()
+        SamProgramIterator      End(void);                // returns iterator to end()
+        SamProgramConstIterator End(void) const;          // returns const_iterator to end()
+        SamProgramConstIterator ConstEnd(void) const;     // returns const_iterator to end()
+
+    // internal methods
+    private:
+        int IndexOf(const std::string& programId) const;
+        const std::string NextIdFor(const std::string& programId) const;
+
+    // data members
+    private:
+        SamProgramContainer m_data;
+};
+
+} // namespace BamTools
+
+#endif // SAM_PROGRAMCHAIN_H
diff --git a/src/utils/BamTools/include/api/SamReadGroup.h b/src/utils/BamTools/include/api/SamReadGroup.h
new file mode 100644
index 00000000..b203d3cd
--- /dev/null
+++ b/src/utils/BamTools/include/api/SamReadGroup.h
@@ -0,0 +1,69 @@
+// ***************************************************************************
+// SamReadGroup.h (c) 2010 Derek Barnett
+// Marth Lab, Department of Biology, Boston College
+// All rights reserved.
+// ---------------------------------------------------------------------------
+// Last modified: 18 April 2011 (DB)
+// ---------------------------------------------------------------------------
+// Provides direct read/write access to the SAM read group data fields.
+// ***************************************************************************
+
+#ifndef SAM_READGROUP_H
+#define SAM_READGROUP_H
+
+#include "api/api_global.h"
+#include <string>
+
+namespace BamTools {
+
+struct API_EXPORT SamReadGroup {
+
+    // ctor & dtor
+    SamReadGroup(void);
+    SamReadGroup(const std::string& id);
+    SamReadGroup(const SamReadGroup& other);
+    ~SamReadGroup(void);
+
+    // query/modify entire read group
+    void Clear(void);                           // clears all data fields
+
+    // convenience query methods
+    bool HasDescription(void) const;            // returns true if read group has a description
+    bool HasFlowOrder(void) const;              // returns true if read group has a flow order entry
+    bool HasID(void) const;                     // returns true if read group has a group ID
+    bool HasKeySequence(void) const;            // returns true if read group has a key sequence
+    bool HasLibrary(void) const;                // returns true if read group has a library name
+    bool HasPlatformUnit(void) const;           // returns true if read group has a platform unit ID
+    bool HasPredictedInsertSize(void) const;    // returns true if read group has a predicted insert size
+    bool HasProductionDate(void) const;         // returns true if read group has a production date
+    bool HasProgram(void) const;                // returns true if read group has a program entry
+    bool HasSample(void) const;                 // returns true if read group has a sample name
+    bool HasSequencingCenter(void) const;       // returns true if read group has a sequencing center ID
+    bool HasSequencingTechnology(void) const;   // returns true if read group has a sequencing technology ID
+
+
+    // data fields
+    std::string Description;                    // DS:<Description>
+    std::string FlowOrder;                      // FO:<FlowOrder>
+    std::string ID;                             // ID:<ID>              *Required for valid SAM header*
+    std::string KeySequence;                    // KS:<KeySequence>
+    std::string Library;                        // LB:<Library>
+    std::string PlatformUnit;                   // PU:<PlatformUnit>
+    std::string PredictedInsertSize;            // PI:<PredictedInsertSize>
+    std::string ProductionDate;                 // DT:<ProductionDate>
+    std::string Program;                        // PG:<Program>
+    std::string Sample;                         // SM:<Sample>
+    std::string SequencingCenter;               // CN:<SequencingCenter>
+    std::string SequencingTechnology;           // PL:<SequencingTechnology>
+};
+
+/*! \fn bool operator==(const SamReadGroup& lhs, const SamReadGroup& rhs)
+    \brief tests equality by comparing read group IDs
+*/
+API_EXPORT inline bool operator==(const SamReadGroup& lhs, const SamReadGroup& rhs) {
+    return lhs.ID == rhs.ID;
+}
+
+} // namespace BamTools
+
+#endif // SAM_READGROUP_H
diff --git a/src/utils/BamTools/include/api/SamReadGroupDictionary.h b/src/utils/BamTools/include/api/SamReadGroupDictionary.h
new file mode 100644
index 00000000..8ec40e22
--- /dev/null
+++ b/src/utils/BamTools/include/api/SamReadGroupDictionary.h
@@ -0,0 +1,87 @@
+// ***************************************************************************
+// SamReadGroupDictionary.h (c) 2010 Derek Barnett
+// Marth Lab, Department of Biology, Boston College
+// All rights reserved.
+// ---------------------------------------------------------------------------
+// Last modified: 18 April 2011 (DB)
+// ---------------------------------------------------------------------------
+// Provides methods for operating on a collection of SamReadGroup entries.
+// ***************************************************************************
+
+#ifndef SAM_READGROUP_DICTIONARY_H
+#define SAM_READGROUP_DICTIONARY_H
+
+#include <api/api_global.h>
+#include <api/SamReadGroup.h>
+#include <string>
+#include <vector>
+
+namespace BamTools {
+
+typedef std::vector<SamReadGroup>             SamReadGroupContainer;
+typedef SamReadGroupContainer::iterator       SamReadGroupIterator;
+typedef SamReadGroupContainer::const_iterator SamReadGroupConstIterator;
+
+class API_EXPORT SamReadGroupDictionary {
+
+    // ctor & dtor
+    public:
+        SamReadGroupDictionary(void);
+        SamReadGroupDictionary(const SamReadGroupDictionary& other);
+        ~SamReadGroupDictionary(void);
+
+    // query/modify read group data
+    public:
+        // adds a read group
+        void Add(const SamReadGroup& readGroup);
+        void Add(const std::string& readGroupId);
+
+        // adds multiple read groups
+        void Add(const std::vector<SamReadGroup>& readGroups);
+        void Add(const std::vector<std::string>& readGroupIds);
+
+        // clears all read group entries
+        void Clear(void);
+
+        // returns true if dictionary contains this read group
+        bool Contains(const SamReadGroup& readGroup) const;
+        bool Contains(const std::string& readGroupId) const;
+
+        // returns true if dictionary is empty
+        bool IsEmpty(void) const;
+
+        // removes read group, if found
+        void Remove(const SamReadGroup& readGroup);
+        void Remove(const std::string& readGroupId);
+
+        // removes multiple read groups
+        void Remove(const std::vector<SamReadGroup>& readGroups);
+        void Remove(const std::vector<std::string>& readGroupIds);
+
+        // returns number of read groups in dictionary
+        int Size(void) const;
+
+        // retrieves a modifiable reference to the SamReadGroup object associated with this ID
+        SamReadGroup& operator[](const std::string& readGroupId);
+
+    // retrieve STL-compatible iterators
+    public:
+        SamReadGroupIterator      Begin(void);              // returns iterator to begin()
+        SamReadGroupConstIterator Begin(void) const;        // returns const_iterator to begin()
+        SamReadGroupConstIterator ConstBegin(void) const;   // returns const_iterator to begin()
+        SamReadGroupIterator      End(void);                // returns iterator to end()
+        SamReadGroupConstIterator End(void) const;          // returns const_iterator to end()
+        SamReadGroupConstIterator ConstEnd(void) const;     // returns const_iterator to end()
+
+    // internal methods
+    private:
+        int IndexOf(const std::string& readGroupId) const;
+
+    // data members
+    private:
+        SamReadGroupContainer m_data;
+};
+
+} // namespace BamTools
+
+#endif // SAM_READGROUP_DICTIONARY_H
diff --git a/src/utils/BamTools/include/api/SamSequence.h b/src/utils/BamTools/include/api/SamSequence.h
new file mode 100644
index 00000000..054e58f9
--- /dev/null
+++ b/src/utils/BamTools/include/api/SamSequence.h
@@ -0,0 +1,61 @@
+// ***************************************************************************
+// SamSequence.h (c) 2010 Derek Barnett
+// Marth Lab, Department of Biology, Boston College
+// All rights reserved.
+// ---------------------------------------------------------------------------
+// Last modified: 18 April 2011 (DB)
+// ---------------------------------------------------------------------------
+// Provides direct read/write access to the SAM sequence data fields.
+// ***************************************************************************
+
+#ifndef SAM_SEQUENCE_H
+#define SAM_SEQUENCE_H
+
+#include <api/api_global.h>
+#include <string>
+
+namespace BamTools {
+
+struct API_EXPORT SamSequence {
+
+    // ctor & dtor
+    SamSequence(void);
+    SamSequence(const std::string& name, const int& length);
+    SamSequence(const std::string& name, const std::string& length);
+    SamSequence(const SamSequence& other);
+    ~SamSequence(void);
+
+    // query/modify entire sequence
+    void Clear(void);                   // clears all contents
+
+    // convenience query methods
+    bool HasAssemblyID(void) const;     // returns true if sequence has an assembly ID
+    bool HasChecksum(void) const;       // returns true if sequence has an MD5 checksum
+    bool HasLength(void) const;         // returns true if sequence has a length
+    bool HasName(void) const;           // returns true if sequence has a name
+    bool HasSpecies(void) const;        // returns true if sequence has a species ID
+    bool HasURI(void) const;            // returns true if sequence has a URI
+
+    // data members
+    std::string AssemblyID;             // AS:<AssemblyID>
+    std::string Checksum;               // M5:<Checksum>
+    std::string Length;                 // LN:<Length>      *Required for valid SAM header*
+    std::string Name;                   // SN:<Name>        *Required for valid SAM header*
+    std::string Species;                // SP:<Species>
+    std::string URI;                    // UR:<URI>
+};
+
+/*! \fn bool operator==(const SamSequence& lhs, const SamSequence& rhs)
+    \brief tests equality by comparing sequence names, lengths, & checksums (if available)
+*/
+API_EXPORT inline bool operator==(const SamSequence& lhs, const SamSequence& rhs) {
+    if ( lhs.Name   != rhs.Name   ) return false;
+    if ( lhs.Length != rhs.Length ) return false;
+    if ( lhs.HasChecksum() && rhs.HasChecksum() )
+        return (lhs.Checksum == rhs.Checksum);
+    else return true;
+}
+
+} // namespace BamTools
+
+#endif // SAM_SEQUENCE_H
diff --git a/src/utils/BamTools/include/api/SamSequenceDictionary.h b/src/utils/BamTools/include/api/SamSequenceDictionary.h
new file mode 100644
index 00000000..1ac73261
--- /dev/null
+++ b/src/utils/BamTools/include/api/SamSequenceDictionary.h
@@ -0,0 +1,89 @@
+// ***************************************************************************
+// SamSequenceDictionary.h (c) 2010 Derek Barnett
+// Marth Lab, Department of Biology, Boston College
+// All rights reserved.
+// ---------------------------------------------------------------------------
+// Last modified: 18 April 2011
+// ---------------------------------------------------------------------------
+// Provides methods for operating on a collection of SamSequence entries.
+// ***************************************************************************
+
+#ifndef SAM_SEQUENCE_DICTIONARY_H
+#define SAM_SEQUENCE_DICTIONARY_H
+
+#include <api/api_global.h>
+#include <api/SamSequence.h>
+#include <string>
+#include <map>
+#include <vector>
+
+namespace BamTools {
+
+typedef std::vector<SamSequence>             SamSequenceContainer;
+typedef SamSequenceContainer::iterator       SamSequenceIterator;
+typedef SamSequenceContainer::const_iterator SamSequenceConstIterator;
+
+class API_EXPORT SamSequenceDictionary {
+
+    // ctor & dtor
+    public:
+        SamSequenceDictionary(void);
+        SamSequenceDictionary(const SamSequenceDictionary& other);
+        ~SamSequenceDictionary(void);
+
+    // query/modify sequence data
+    public:
+        // adds a sequence
+        void Add(const SamSequence& sequence);
+        void Add(const std::string& name, const int& length);
+
+        // adds multiple sequences
+        void Add(const std::vector<SamSequence>& sequences);
+        void Add(const std::map<std::string, int>& sequenceMap);
+
+        // clears all sequence entries
+        void Clear(void);
+
+        // returns true if dictionary contains this sequence
+        bool Contains(const SamSequence& sequence) const;
+        bool Contains(const std::string& sequenceName) const;
+
+        // returns true if dictionary is empty
+        bool IsEmpty(void) const;
+
+        // removes sequence, if found
+        void Remove(const SamSequence& sequence);
+        void Remove(const std::string& sequenceName);
+
+        // removes multiple sequences
+        void Remove(const std::vector<SamSequence>& sequences);
+        void Remove(const std::vector<std::string>& sequenceNames);
+
+        // returns number of sequences in dictionary
+        int Size(void) const;
+
+        // retrieves a modifiable reference to the SamSequence object associated with this name
+        SamSequence& operator[](const std::string& sequenceName);
+
+    // retrieve STL-compatible iterators
+    public:
+        SamSequenceIterator      Begin(void);               // returns iterator to begin()
+        SamSequenceConstIterator Begin(void) const;         // returns const_iterator to begin()
+        SamSequenceConstIterator ConstBegin(void) const;    // returns const_iterator to begin()
+        SamSequenceIterator      End(void);                 // returns iterator to end()
+        SamSequenceConstIterator End(void) const;           // returns const_iterator to end()
+        SamSequenceConstIterator ConstEnd(void) const;      // returns const_iterator to end()
+
+    // internal methods
+    private:
+        int IndexOf(const std::string& name) const;
+
+    // data members
+    private:
+        SamSequenceContainer m_data;
+};
+
+} // namespace BamTools
+
+#endif // SAM_SEQUENCE_DICTIONARY_H
+
diff --git a/src/utils/BamTools/include/api/api_global.h b/src/utils/BamTools/include/api/api_global.h
new file mode 100644
index 00000000..84fcad21
--- /dev/null
+++ b/src/utils/BamTools/include/api/api_global.h
@@ -0,0 +1,22 @@
+// ***************************************************************************
+// api_global.h (c) 2010 Derek Barnett
+// Marth Lab, Department of Biology, Boston College
+// All rights reserved.
+// ---------------------------------------------------------------------------
+// Last modified: 19 November 2010 (DB)
+// ---------------------------------------------------------------------------
+// Provides macros for exporting & importing BamTools API library symbols
+// ***************************************************************************
+
+#ifndef API_GLOBAL_H
+#define API_GLOBAL_H
+
+#include "shared/bamtools_global.h"
+
+#ifdef BAMTOOLS_API_LIBRARY
+#  define API_EXPORT BAMTOOLS_LIBRARY_EXPORT
+#else
+#  define API_EXPORT BAMTOOLS_LIBRARY_IMPORT
+#endif
+
+#endif // API_GLOBAL_H
diff --git a/src/utils/BamTools/include/shared/bamtools_global.h b/src/utils/BamTools/include/shared/bamtools_global.h
new file mode 100644
index 00000000..6e3cb39e
--- /dev/null
+++ b/src/utils/BamTools/include/shared/bamtools_global.h
@@ -0,0 +1,79 @@
+// ***************************************************************************
+// bamtools_global.h (c) 2010 Derek Barnett
+// Marth Lab, Department of Biology, Boston College
+// All rights reserved.
+// ---------------------------------------------------------------------------
+// Last modified: 3 March 2011 (DB)
+// ---------------------------------------------------------------------------
+// Provides the basic definitions for exporting & importing library symbols.
+// Also provides some platform-specific rules for definitions.
+// ***************************************************************************
+
+#ifndef BAMTOOLS_GLOBAL_H
+#define BAMTOOLS_GLOBAL_H
+
+/*! \brief Library export macro
+    \internal
+*/
+#ifndef BAMTOOLS_LIBRARY_EXPORT
+#  if defined(WIN32)
+#    define BAMTOOLS_LIBRARY_EXPORT __declspec(dllexport)
+#  else
+#    define BAMTOOLS_LIBRARY_EXPORT __attribute__((visibility("default")))
+#  endif
+#endif // BAMTOOLS_LIBRARY_EXPORT
+
+/*! \brief Library import macro
+    \internal
+*/
+#ifndef BAMTOOLS_LIBRARY_IMPORT
+#  if defined(WIN32)
+#    define BAMTOOLS_LIBRARY_IMPORT __declspec(dllimport)
+#  else
+#    define BAMTOOLS_LIBRARY_IMPORT
+#  endif
+#endif // BAMTOOLS_LIBRARY_IMPORT
+
+/*! \brief Platform-specific type definitions
+    \internal
+*/
+#ifndef BAMTOOLS_LFS
+#define BAMTOOLS_LFS
+    #ifdef WIN32
+        #define ftell64(a)     _ftelli64(a)
+        #define fseek64(a,b,c) _fseeki64(a,b,c)
+    #else
+        #define ftell64(a)     ftello(a)
+        #define fseek64(a,b,c) fseeko(a,b,c)
+    #endif
+#endif // BAMTOOLS_LFS
+
+/*! \def ftell64(a)
+    \brief Platform-independent tell() operation.
+    \internal
+*/
+/*! \def fseek64(a,b,c)
+    \brief Platform-independent seek() operation.
+    \internal
+*/
+
+/*! \brief Platform-specific type definitions
+    \internal
+*/
+#ifndef BAMTOOLS_TYPES
+#define BAMTOOLS_TYPES
+    #ifdef _MSC_VER
+        typedef char                 int8_t;
+        typedef unsigned char       uint8_t;
+        typedef short               int16_t;
+        typedef unsigned short     uint16_t;
+        typedef int                 int32_t;
+        typedef unsigned int       uint32_t;
+        typedef long long           int64_t;
+        typedef unsigned long long uint64_t;
+    #else
+        #include <stdint.h>
+    #endif
+#endif // BAMTOOLS_TYPES
+
+#endif // BAMTOOLS_GLOBAL_H
diff --git a/src/utils/BamTools/lib/libbamtools.a b/src/utils/BamTools/lib/libbamtools.a
new file mode 100644
index 0000000000000000000000000000000000000000..ecf2d8ef5c48c40969a454a3b7ea5f34d422c7ba
GIT binary patch
literal 595320
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%0DV-$i&ia3?SXJQ4OQfd7qf
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%0DrFTBs!AkdlYo*sBJuAHp{o6{Pk8)Y*_mEF3
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%0D9IgWcRg^E7I
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
ba-Ddt6VELW8!>`h5gSn;90C8n4X^(X)ZC|&

literal 0
HcmV?d00001

diff --git a/src/utils/BamTools/src/api/BamAlignment.o b/src/utils/BamTools/src/api/BamAlignment.o
new file mode 100644
index 0000000000000000000000000000000000000000..36be1eced244916a6535ffda1c4eecb49d5bfcd9
GIT binary patch
literal 43388
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
MY7)|-py|8xKVM9q*8l(j

literal 0
HcmV?d00001

diff --git a/src/utils/BamTools/src/api/BamMultiReader.o b/src/utils/BamTools/src/api/BamMultiReader.o
new file mode 100644
index 0000000000000000000000000000000000000000..f053ec2ab82d48b489244296b413cd1e6091c4f4
GIT binary patch
literal 11880
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

literal 0
HcmV?d00001

diff --git a/src/utils/BamTools/src/api/BamReader.o b/src/utils/BamTools/src/api/BamReader.o
new file mode 100644
index 0000000000000000000000000000000000000000..1fd86c23022b6a281f4a1135690e3477e21e989e
GIT binary patch
literal 10244
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

literal 0
HcmV?d00001

diff --git a/src/utils/BamTools/src/api/BamWriter.o b/src/utils/BamTools/src/api/BamWriter.o
new file mode 100644
index 0000000000000000000000000000000000000000..9f7e8a4a859cf95c05edeb768a381936c4c96eba
GIT binary patch
literal 5672
zcmcIoZERcB89r?Tb(y&~47Ret5+H-_!^|#8Nf{j}NyfEs)2L1ds#>4A_D$l+U)VRn
zprJ8Ut#oCA@&hEMt)ly}KWLixRc(K0QP4^xq((4Jh*evVHX6i${3;b=WY2T&x$*U_
z>&8gD%DvBh&vV|7bIyCtb?&*(KKf#_5F0iL+;9=2y!GIM+=A<kjrL>9+k4kI&11BI
zEGZp61+M@bAyS$~&2*j}eSGAx@rLd`X(|@|b)hl3MTl>Z>=MrqT#>R+%F0|ZXUd7`
zVg~+)caQIOSs}v8j~o9m@?wfh@W*iinncQ^nKpBoI6RV&vN^vV<<CvI41dgT8IG={
z!DabPW-`*KWsI^Z&GZq!KU4Yp8Eql2t9f&@%kNSisa8GB{_(o=&at%;f4h{%l$@xf
z3x?C%pWmX&FRa$J2ZQ9}*6W1W3H+K6Q{FgIW=h4XS((n5r3whYKQ}+uhU?l+q|6!~
zckA-!AEVblhqD#e5)zLRH6e5qC{!_qi-Muq*G<6h;JOi4r?OwS{;kjMqS?X+yw8QY
zpCKwBU%&R)nZeNWe;Ev&x~SJ5RQ)DG-NQoI_KmhVr7znqPMukpZ{ZI<uEx7D9DmlK
zm4szn(vSWp9JfB#>)raXznfv*`ls#2#rWB-UWV1{xArFL+1|jy{Df`qIP>J|@uyq=
zJv|5`+f&?nUANBKj|uBek00HdPgob4qRln@weY`$e3uhe0eMd|?`YimU);K=TYrmN
zZ|bv$7T1!lKP?j0d%E>*!n$Y&u;%sp(~J7iPqykmw%29)=Flm$9a>7%;j<2(_329s
z^ZM+g;XkcHRzk0BJa*=n@9MMD&V+n;4*B|>1l)*zy9==UhaLID^PIkB;d-u~GdY*`
zdjIN+)m0&;S5(b7Q&PW~MzM=ch18gzS7~yZ)$YvH>guMuS=(zz$el{r0Td{z2E(pD
z@HTKpXm=c!IH43iE4fwShNs37`^1J?c=K;~?1jU@&4D?j&<BMLmpF5f`&IvdLea%M
zweazcT|7Rnx6evE`0cpoD4p8f;Fxu6$M+hg(|FfAW*yso**w3j-FowU0ORql-%qYK
zzOEp8JiF;AjUfJY<QYo2+PwPX#vL;exZu>$s=sc&qPVYKH7+ajxlOZO&t7vB#T&qj
z<ZdA%AET`Cj)?pVxJ`&Xi$J!&r1a;2w?qF0@Gjs_f%qL0=?Bs-0>nm)+yumSjcft_
z5coc#eG7ONNd7di7x-)79l#p!yTHeQw*xtE-N1fe50LBreIQ<K0;%2xplE!@Aw+~n
zLIi(&2Vz6shMdJcLhR}Reh=;62GZ^W+(JU6h&Ug#ca%=Vt5f?c5Yusxh<?G7K%81B
zB4$kct>TGj4?Yh3CU_!BM?0)^BIZRq2&6wE`USTEu}4!xoNZdK;)!SvE@LprHATdH
zX<P@|6VV=g1^9LFM7+nfKPaAv_FxT&$w?7$#%ZSFiD(ZF0<rf}#4z{=6i-BZFaX4F
zhZGStud!SipNRJ0BIXfmks@NpXm0|^6VV=g5x50B5$m8muXrNbgNK3GLn$IeJBXV-
zKR~nxQFHu#ogyNnh8nSXBHDu(qxcc(au<v=1mHYVvP$n!`U}*tz)O4yKz>gh4qf>p
zbu5_sd-aUcUsCpOQOD)}UOcb#6~%{<4Eb%yfpWjn4=ep`w1p6FkR;>;Vuk2W@q5um
zzK0}azv5q1{Ba=pF<g{ojDz+k)p!n~-R2!yoLBY%ASHo3$<H~eh%5V=;(xCEvkoW=
zil0*cuT%VrLyMOczfJKUEB{N1uPc5<`9GoflZwwP{uRZ4s`4)@zE|;sia&t(DmA+Y
z$KuslPhS0ZK0c55UOwXU_h%n}i%);Y*S{NidHsFv<H>n>o=0B&eV_lkeD<o|?XmKP
zz29X2pf5iDaX2uVGzW5}syvde8h!i+Zzwi0143r2B{`KYX7dKMOf4<b_%9Xz0Jbt3
zc8m^;4m^}DjF(FJ>P|d7TFIG4B{q;W%%M`DTrsNET&cLHlr={7Ju;e%%2>a@-S)ob
zWFTIIgJL=#+p*?utdg5SCbm~Qfa}7@jvQ$=_vCPIGCgDL&gUkJ1*2%%;bm+)oHp8;
zZQF(J*jXcyzP)9mi15j3a=QeWJ7x_2R~R2n%KP>i6T@jUJ(5hvlYMezWZfBgyx!Z^
zYrpIDk+nH)<hCPTwX@^$9~f=)XfqYfCM|sS59Lc$!>%Y#akTN++Mto-@b(Uzxn-Hn
zk2!;Ck)hkCRp}0?V8tg2>s|}BfA$xj$Q844pHZF0X9P}Yi`c4fORlk|+$(ZtGF{M(
zbk?Y_dahVD_qAByHOqnVQqrvCij!&zlhr;XSl%9$Nof?y=998wlw}p=n4UD8>Qh}}
zQMt$Y=umo+@ze1Pc{y3D$+A(Ymas>2u%C%uX{a5Y0{0kGSM;-v&DX}fF{|s?f3Ba#
zR%q1WTIIW)S}d<y%Wb-_oZHbjSKH96&vtZs>&9GkT47GihZB1r+MSRxex>SGyQeQE
zQB?eZXn&K;p;VrNRw_!oUe-QkQIF<wT=%4z7?3ho;ulO-nVFf8QStE5kms9W-nhIa
ZCPsAUyIqWKI*PmgAvryrr1&hv{{c8Oz5xIL

literal 0
HcmV?d00001

diff --git a/src/utils/BamTools/src/api/SamHeader.o b/src/utils/BamTools/src/api/SamHeader.o
new file mode 100644
index 0000000000000000000000000000000000000000..10e49204ad057a11f159aec86122566f75b9c651
GIT binary patch
literal 29680
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

literal 0
HcmV?d00001

diff --git a/src/utils/BamTools/src/api/SamProgram.o b/src/utils/BamTools/src/api/SamProgram.o
new file mode 100644
index 0000000000000000000000000000000000000000..b7d6c41bd895efdfc342560e2d97daca9cded631
GIT binary patch
literal 7172
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
MUHx~e1Uv120LLKB1ONa4

literal 0
HcmV?d00001

diff --git a/src/utils/BamTools/src/api/SamProgramChain.o b/src/utils/BamTools/src/api/SamProgramChain.o
new file mode 100644
index 0000000000000000000000000000000000000000..ddda8067930d6db4f4bf7e095d82278b12ab1146
GIT binary patch
literal 14212
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
Ua%fsJFoQXb7?}#@Ea|iKKO{_F<^TWy

literal 0
HcmV?d00001

diff --git a/src/utils/BamTools/src/api/SamReadGroup.o b/src/utils/BamTools/src/api/SamReadGroup.o
new file mode 100644
index 0000000000000000000000000000000000000000..644aff69b9462791a36b3276be9da5f3eb5ad553
GIT binary patch
literal 11616
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

literal 0
HcmV?d00001

diff --git a/src/utils/BamTools/src/api/SamReadGroupDictionary.o b/src/utils/BamTools/src/api/SamReadGroupDictionary.o
new file mode 100644
index 0000000000000000000000000000000000000000..d30ca9b094b895cb8bbf27e8565b3ab58d1d2e48
GIT binary patch
literal 14844
zcmcgzdw5i3dOw&11{r7K9W5-eju!+ZA&7~W-Gn6ajZ8F409i#&#$<pzB?--(Aray>
zHl*(9VKnxUr|jd}(ssQ(U0eC1y0|WyEGY2o`fS`?*KMVedPRc^R#&MP(%<i#_e{=A
zh%>QWzlWLMyx)8I-tT?i?=r*5FF$?%<P=Stl&9ehFXABIits|a0I&6=$7vs&?=X&w
z%yFS%Q{(G&(bIJ!)@cX<(DmgttCo+_?x*{xghqS$z@b0Uv{H8DYuyC5>3U0Bliu9g
zZ0Ktft&Ol(UAer{<!V}=*zrkM_cUj2oim+zP8}7sKk0hC5jC0{!?4JXO#gO@J=f(v
z*rR{lus4|sWBgm!*r>-k8)F*{-H6_iY40PkH{~=cYucNzCm)@TjCWmcj2rFEt?Q&e
z)81z?q4R`4d`7x~OxsRA8rz~9^j1zd(_WDzuH2rSrWFR9`R>Ae8RltY=6gpx?in&O
zA8uW+#!l5T`*l6GUSHcDZHYP3nf^5tI{j{*>&|iVyL*<V-3J!Jx!yYt;@8%S2qqeh
zwstTw?YaKBI;^`dYr5VP^O(!YUgjLV_L-mQcol~<Z8h-tY)$iHj+lp5hZh^C%-1z|
z-H6v&culmeQ07}|zg>K4{}Ow30BKb_xVLX@ANdF0CAl^@t6I}+d20%J9(sxI;NEmv
zl}`yi&>wuNKP8#YPnRESPtBR422K>HpZw^bou-0M{0z37@iWFtUT^zryV)0<)lEu(
z@|Cw#uB=>9xx8NW997EvOqq#YM<}Drn%!aZ1!W$#$*{R!U0bs|xU~noh}E)NSv9+q
zMX|?JvZf!n6L<i)BRFd-Eofn@rZ8eP9Eq5*0}y{qS*wmH^Y;F5`5}-yRq%$I9bxOP
zLS^9}trgot_4X&ug-AzXd}g}8waG+7t@(%A@{@@l)|w|Ha}vA511AgAZZ{5*;1kEI
z&Eu+PpSrDbb>;1qYbtfb#r22t<ve|ur!z;Z-lyiAtp+|VP*1x?5X_g#2ZP(0AXxI<
zmdcVH-<}r=ZCyKk>HazKPtTV`Hw<^J`4MZKueSUx<NSy@9Gr#NIk8nedmAv}#Iahl
z)hCW0+^fv}_CRZ|^!o43*K}pxg@Avktd*F?dG<6?u~6nqn8^XRel4VCe}#`}0opaJ
zdJiU6BJc+yR$0V~`y$rGwdHRcb8C}r4H5IRwSB7hRbyJjeB1Ri+_Mji;o4+N0|XO8
zVe_!ERvd_!n|%n>bWh0DZmG=ERQW*1?6CQp@W7h|5%V1h`wF;ynlcyrBIc0F<EO%R
z+eb!59JWl{4M4d3uyJO@beQ3u{fO1!#4%emZ0-|_n4VRpdPj@`yTctyR^sUT%3QB*
z?fb&!7fg?`W+4^ExxrZ#WAlSz)i_4bt_xO}V{Vj0*7mwmjwf#L#@jE<+qpiDN6eNJ
zFw>3F44WU>b1(;#RjRBipPGGq?0PRBFy^bq0hP?JPy<5+Dmi1aGJmHmn6qHcYB_Om
zZ>l_<^%zOEbR(S+(+Qrkw)oVwTMCU3=Y&-J-ic*Tm9Ifrw;`v)NVg+9{7(_{J!PJB
zXEXd7Ch9U%oha&VR+xaj9?aV@w;1Mjw9qrRt^GzxYJ59y82@eW_%lKgt0~02Ggbed
zQiOj0@P9<i*Bzgf<%-+;oLf1k+V5nqW4@L3jfl0@$9zwB^8H$BN?4MS@;4GkJ*jo}
z*U|ZG#C#&jSf5*K9{1cXqywplAr*GGr2J*s+xEQm_vQZhviXx9-^7`tL6P&v<DlB1
zk_%BdZx^V%Qsi$`Hsd_|Kl_LMQr6rA=Q}3;tgN)g`WpGAkvd=RJ~=X?X^G>?IrE%q
zvd*PW$;Z-}x&EJ}%5%JJIGmA@ybCV|Re;ww@v<*)B&3Zz7|yHQ0)l<V@S3z2Z@7qP
z@8G4qhgV7(mbJ6-I*aD7#9NBv+-|&M*>~mjUTsYqdGOGryunE~Nbg1Y_>d;@EIJm$
zR)Cy5T#LRBwA-s7INDFZnRGh7ACOoBB5$b>bI7?*h}kqS6>ljIXMjjui>pBJj<*Y#
z*CS%bfZC6Q7$Na8-Z<a)fq6%S16tEQ^%8LSF1r`=uiT7JsX^}-Vh`DmcsWlAF-XqO
zy&MLyL^|#ympAm3=in~9P`G4jmk4nkiFrcsvwcfUd9o?SyYDsE=(YIX6pytVdNk2#
zi+SEyf1~H|-A5k-PnmlvaFB(~kCnN-44;(wWStEsl=T<bZ#xTvTmKUw;GR2GB|COX
znQo_=>RIe-h$Q!H<Y((i>bnP@vU+U^tIntHey<-xh0T|1Xa6BQ@J0F!=tynv`@wr(
zumyhO9DK4LN6a^BlTD$Wo_!#kG(tX=+~TvnAXNy;x#5tS4r+ReR|KjkMO_Z+@)T7J
z%DKN$uMAXKidO-uB1I`sDn-?Ss!LI;K&^79kr#u#H`)O>88JT*i4I>l`CZr9jzSQw
zuN~7txUO~-fp9(TxEzG*Xh$&!*UyeJ5U!gY6(C$MI}`}l$&NY@u8$q7KsYX@Qgipd
z#}IDs{m1;&&DWg5jC)z|i9zr6=x4#LPoW&1#tSv^E8`rM^q-~n_pZX!`&kC%FSTFl
zRTv1~^JiGy5DP0aNij9>Frh$Mdx&<Zl-b)rmf5QamQ!BVg}5<=%U?4VhRx^0J<m6!
z)kkgbo5nO{;t-UBs%J0m+edldgHB>7Vm?e`6gyk06GO5~vQr&uNFOj_;c961uBTS{
zNn=UG{IE9pc&Ohl&V8BVVJu#So$(GQhTITZ6*R(C1P^FybUNzVhuCji>fS+UKspn{
zDFaxRw!Z4wLvhXU!*PCcVr6Z&V<juh#J7>{_An;an&reX&rXOtFz>6AaoVJvG`tYG
z!9OfX*l*)7HUsBV<XSs~#!QUQAsn$DJ3<X$vM=$5DC5!~cC76R3{`IXY0Oa8Lr!vq
z%{iApL=nunXAgPK6#2<E=32CI_|cR*<quQDn0^Y2ylyy`KSyZ*R~Rwl3_JY$Q{AsT
z-zRa$IvF-UQPvV{F)QIBYW+1k_0NZAzdX*y#l1glex%G__jyY(8OO@+3OP$(CF5B7
zT_I=fgTmVH3OS1(6c&G1$XWfMu==|~&hiI^<=+)@);}n$|E`d;0f52=&=qoa08rQg
zx<bwt018_`SIF4|Kw%H)3OSnqzZBVD;N1NxY<(A3=VJ|FQ#PuI$(z0V#g5-dF-5i+
z4rr4$*F~0TlR68hJcx5rD=hR+@%3RpSO|h0Cy*kxnIi8K)bhD$1PcG^w0xZ7+8Ofm
z(-=MXcg2b7P5qk3<K2O6qJDne^TW?(cKf>g<ZoDP6CDpf^Vw~pdS~XS$2*j_KJ6PY
z`o<kEpZBt!DcdF|3+~OoFE6vc%d?G}UqJmadhTy~<BltKGsnxdzBA{^3ptzb9cNvR
zWUj+}{$|)Sd0Rm;|6Z)jO#M<WTeR`@zdTO4)_dl-EzYoCGA<+1Q?M;R$^GOj?<1Mx
zPGZ{7#-A^Lj~cCuO#NTk+S&AzdE4@P?2$6{@6M|4hr~Afn+-)X^}prn3y#@$^V8#&
zseiMpKW@GJamSzS*4w!Lr`KDi|F^pSkE{Rx>wo4t#eb*RE!+Ce^n0Rt>%g-82EG;E
z2rL3#CipQ9Rt5SMAjX*YV_-G#9w7FfdA9*?1l9v<f!`Ed1Vm-en*)phKS6bp-UFok
zlfWB*e+yg;YzHm{-U7sL5A)^%DHj6L?)gB<PZ9dRvH4Q|RUqwe0n)#fz+zw+Nc~D+
zJ@692d?4-p7OVUU;B!FA{TN8OM}W5g{|>kc*axJ14{#-L3y|`0;J1Oxfy;q@ApQAE
zd_5t*2}r#QfYm^L?WKQl;B7!3umbo$$S!g|??qr8a6b?#GcN_s1r1;efXDxLowo?M
z0*E>C|6pfc2K<huU0(#mTARn8DyV-k;?D6W0dE3+h`15o5`0DQpx`rt|04MJg7*t@
zccFelaGl_1h$rX!A&_x<7s$B031s|!3#1><0vW%515)mB;Xevw+_wTL7Xwo6R^eAm
z|9t6Z9y#7j!E=RwI&c~K3xFuynfnkN+I906k^D>(JcJ-IUps)zUp|oIe~ut?p2q}V
z7kpXpfZ#KN|0?(of)5DZBe+?xMesX<O9ihNoG*Bh;Msx&f}bF-^y^*0R|Q`bd`_?#
z$ayUhT!mm<jGw=Ve~LO<4#bYNnuvaX5fFE}HAJlczzpFN(eEEZ{agY*F$Df0AoYpp
z_wNK=1U|6{{2vIPh<<+qFbqBs`$%B5@QLX67Xi=b_`vfxzVM0Y_kVyoI~#oBH1LOn
zCSv~y90J<@IQ{;eK>X^thIkJ6KM+0<{r*1(;*Ph5cslqELK6!?uLjZ{5pw<#U@7E@
zQ^7A1nz#V;3?Su+kn?|l`ddPOf!MPHLqZd80DTB(`|I@k9|O*ZJn>5Ke<*w+`u%qT
zOTZ^0B!Trp6R`&bnt-%Ngq*(^cp2o0mx4c6_(b&kCjsYxPlU?>K0iU4cm?RAK-wds
z-#-Avcds=>s04NiO`HMxaUkW1kn?u}uZ27jclUrHd?Nb&6~HR+iHpI%4oH0>`u#p&
z4fw=r@cHeId?Nb&2e3}B2cL-jG_VgyJ`w%?K41`hB2)s~gil1je-$tQJ`pXjT=+!v
z`-^~QfKSBI3(OEc5&ixn=)3@YBK{vf@FtMs6VdPA1uO@jSO)&%!Y88N-wDJXy@rS%
zX9I@tiRkxN0Ivq0h`l~=o$!h1_w(Gq*}jH|b27l|w;dm+-#>^+Rf12f0RI<2@`>p8
z?*Lu}J`v|m-~r(i(eG~n&IX@&IryuA)F-0fk3JqsYlw5f4+)=$em~Z#hC5U3JqTt1
z2^hjY!uC_4cMAPJX?%8{r}%<2=Fo3Tqt=lu{<QBt|1w?ZbFiq`t`NFG=<7(Mpxx(N
zDumxH{AI2@7BO3s&<_i}N$9;oe~&bD8?Y&`{f*F_*mT%l5PFx;Cxt#D^fLGo#C$4%
zY<UP`5cYOs6JmQ^_=Q;1Y~L4t88$(-`-ML!`ZdBoA^K-RkM<ix|L4N*6#Y%$k-y6^
zr>()fIDUorccJjRh5tEt<PT!gV|y9(Zu<{p+l0-Md>=Mdwo8yZn=kp~b428KV$){Z
zCI0Oc|27K$g!s2k^y@^w82P9EF42Eo^flo>Ec#`_|1Z=Q#~%c;{Z9P*p7@8o%jOr6
ziN=T5Xn(ilvsCoCPp~~I`bzX++Sa$3cza3oyG6eowaM}8fNYDVIre$Tumy!bB>qhm
ze!tj1P4e3y`o9)_r|7Ss4cITXtzj>Q@AUt;jQ_syHwyn3!rvkJQ_!V;pYZ2N{(X}F
zM<l<+GXH9s{~#AI+HuhzvMEhVihhyse~Ny4{=(lO<2T6oe=Yn9;WrBZa^Xj1{6ZQ3
zbFsfe?9UbcApBt4C;SHCH!{AHyEXUuvqn39-CCK%@7t^&@Qbl7*#dU`bZfh%{w_vd
z#I((iX3+DIA1^;IgFlGzz5IU!;iX^6ptoh{zmcK;?-~5w4EkV(J$_H|j&~q~emaBZ
zebp=f4C>iShY)WsjR)0ky{T+*v}Ji)+lKgp1@+OEWwB_}lJ>U5#_Hxqqq(g$+J0x%
zf|^Y^N|uP^(yT^HimUht-s0H0=GL5*%50sQ)~1{_t`5g*S~ePY=B!XUYCY>5u9}$l
z3+tOV$HbAWwmp8-8)eOHas7^HJhqTeq*ggm)|=vO`ub>V(}ozbqc?U&^(Y>z#S^Q{
zYNk?k?y0#t+}afDym@WSvZeKLO>c>{G`4KCjb=|PGh{^ZKgyyEPbQ{xQ@vi2R);k?
zj+~Z^tl_<?YC|mAo|%mFktJj+T05FsoAhO|cmmI#=DK1KyJ9_EI^8<5n38GjXrXAm
zQF1jN#a-Xt)`4s{>Cp`v+8Vj^?Bw3TrJ^@RjmGtES9{DBcF7prbosY7ZK%tA)uuej
zz8h5Myc?uSuHIPWJZ=ykHJ=`gn)+zCzC^F7DJe~RAfe`_a$R57nm_<L8JpI&_7*&(
z+-$_!qj-EFTnDB4Qs`j<B~G~O<BOv4c=Ni}R0Y->3yR&aZiuz6GuG>|_V%{+x}|(l
zJckXixie*Jya_nj#A?aKUTI}h6D*EX>RD@7)ICuhvt}611qjQ8{NZAsfcvB4*T*?t
zT!tI%A1_#`Y+r>m#$!1rIXCwfEsM3ZZHk>DW#b)i9*tC`rq3yBPDV|9)vS(M@C5M7
z605K4?9?~L+T%E+H#8e}>YIvl3lPuqD`VV5a;SYCHm-2?ojm<i&t1=Ru;;Ecdba1T
z;~cB5eAcwOhl;C^Jpyvby9!xHNOvf^{j|f`9VNS3`nmko^u|_p?shT*nKdr%0qqWv
zRRL9PpJKTy$N`+Q0#Cl&g+1%Wv!GMc_+y-ZIXfo@TF&z09#|8#;EBYzTib+f#wV;X
zc9(ZecpS`@stF!m?g%NfIh;nh&+JsEN9qXs3PX>-)+geBD$Zlgxi=KYw<VFA7gt7f
zJ)GN_Bv;UdCAuEB|4`5V+rMTUgPZYZdu^>cz7?hZB#U%$b2E>-dLvS%>&<P={JTC}
ztBuCBda<^os><`Xc^hJ5drHR0EYKoVW93T6$SoYxbJduhMOuw={<^J%PEKf6Up0J=
Lo)Z9m*0lcxgd(wT

literal 0
HcmV?d00001

diff --git a/src/utils/BamTools/src/api/SamSequence.o b/src/utils/BamTools/src/api/SamSequence.o
new file mode 100644
index 0000000000000000000000000000000000000000..2ecce255d2c6d056bd1a8ff79ecb5b29b3f64106
GIT binary patch
literal 11956
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

literal 0
HcmV?d00001

diff --git a/src/utils/BamTools/src/api/SamSequenceDictionary.o b/src/utils/BamTools/src/api/SamSequenceDictionary.o
new file mode 100644
index 0000000000000000000000000000000000000000..972c52becc0169c84f19efa0ba3b09057c1f1e72
GIT binary patch
literal 14632
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

literal 0
HcmV?d00001

diff --git a/src/utils/BamTools/src/api/internal/BamHeader_p.o b/src/utils/BamTools/src/api/internal/BamHeader_p.o
new file mode 100644
index 0000000000000000000000000000000000000000..b2bbda4485bec554f64bc899b7c2e02e0fdf26ec
GIT binary patch
literal 7276
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
V{-Fuc{awW~gPbiBD{9_j{2!y<MHB!4

literal 0
HcmV?d00001

diff --git a/src/utils/BamTools/src/api/internal/BamIndexFactory_p.o b/src/utils/BamTools/src/api/internal/BamIndexFactory_p.o
new file mode 100644
index 0000000000000000000000000000000000000000..728bae8935b88c0924dce74d4e11bb7f2bcb02c2
GIT binary patch
literal 12672
zcmcgy4|G)3nSUVxqQ*>Y{Sy=<wy|K{V21D~plC)Cc%y^FB&ds!=P;R&lw>B(9|ErY
zv6Jcgd^}B0O^=?c$EviRuDCs(=E$)kQQAVcU14k2!>+Z3t<<Ec!Z{XUtCIcw?!9lA
zyd;=xyL%5azxnR>-S2+icfb4Ho5wr&mk-WN)wG;k4PW>W5Amx6AGB%sw2&U7O}k7o
zPAHjTMMI~?&-rScVI;zv5{dvAMnlbA4QFZR*W!!hFY3#~&-^Pi?J0KUY1;`-GmQ3V
zlhGP!O&HC|NC^6>eGNW`t7%nAPrm9ZzeM_WdZzUAytAU>mtoW=f{E6U9~#-=wy##{
zb4;#+KHA4PO(Bl3FBDJ2S|jVpLv!nUUg?WTw)U8^Pm$Ur=Z8YWSRV=*;Z31%N5V)1
z*SYmw{sk#msRo{ZsY`*2l<N_S2HT7X9d_%x=VCcvgBn*`Ed4Dn(X`3vyI_RB>*8@G
zOK`7;lNZdf(VDy8Fv2ZHb1c{%meOwf4k`O|<!>MCV+!6?qG{IwFF@MLk@DLxLeU6T
zBpFIX8FRNj$3ABa^X^>DFq*<y>c*wd?PIonx&aroLsx0qGGO^vG_4j+;Gb5D4_lG?
z6ac5=^HqE%+E(f2G2LFmVLu<>ceiKecA^5oH`ksBnBmiU>Q6;}^HbgYNVlfwR#m^A
z?n_M3Q>XJfXX_TTK+{uw#eOrdG+-Xlt?8u!tEn{q=leV}t2M1zeCzw)7(#n(4u#F%
z^@~B~8&EQo__1!~>etuycV4XTf1Ogg`P+c`zK|K*rK}WG^Bm92E)La{ef_WxHn!8o
z62Ez}+L~39elO|Wt3yUjvM*qMsGIv0by&C7_6IDCvf5A6M5)i0`ZOo8_!Wjyx94*P
z-I^gl8Cz}s;jG<KnYVB7C1?Ct6As#b^C!;0j8lW%%Kjs;A3n6hha`Qd@|$Ob8(*Ru
zt95&ApEFoD{}YY`%u~`4YfGP=I$o?_FV@hL{#O{A74Lv~0*)Smqi`1Lt)y@^vmV0V
zTVA<_j*i#gVQW2Q@CmuHYJKgshsLz@P`0IAL9VcUXVGph^$E}GlhS>jM*^ZV`CH-K
zz>TAcTq8w(BSo$tW$x35$01pH)(G;lXHLB5nswV-x}B7%IC#L#dl|fU#Z-eYbT^Cj
z^4;mX!?()UP_IAmr~EwT@t(t<(2Cwe1ho^aBHdhd!22uR^5~}B4^F_|RrTr6&<cC!
zc5H7a33Lmkp3%P<1JZqGhKBt6yGjqU56$<puF@mUkE8rSuCPb_KEX~j_MetN#cy$Z
zgI4+j)_wT_a}N#h+bjEF(g~R4x0d(oRvl*UIW1gxbTTFM{b?OQZ2?Q{0>8bi80N|0
z%c>kp?X?){?BdL3eI;Ma+e@c2Y^-kA8ThSRLW`d2FAkW;_1sGD$HE=UJ_6rUM<<*1
zd$er$ge)pfWK(^NRITu2OOY7txA$~oPVswGF<r1!0CY<@uUk2~CH(fA4U@Gjr*-Q>
z`mWnP6g*ZlS%kdrSZUgZvbRt-Q9<O&St}0c73X`>Yw6tsKVeGT?OWqp>udBGtSsB9
zOM!0hDQAGKUZ#w)H!Zpl5It3?dAeF~FhH&Zasf+hYqwm$DhZf7HK8a?IYv{rutHDf
zld{tidMFZD^n2a2^bH*eY4r+WOV}Wk`ploE`;yZj<4HY$d40V(aw9wTTEY%)T$Kqc
z%u|6yr#$Hdq-)Y2c)HG$<`!Y9(d`trSZNBJwNn^xrzP}IWSE^oc!Zr72|M3MIANze
zPpmys@9|>)qBEX!9*pt61G|!QhLvKtE;gsC|AR%!KjoD79bHaFN2#c5I+D><3p|fZ
z6`j2|IIa$S{MpdZuy~zw((g2PkH~(jvn2Iqo(SB)e?zaRhSi?s{R0nRva{3|QRifM
z-6gYA8g)~~sOHg3e_u-7n2~xL9e(p?S$+o=4J8B4!2(uhxAd@7=+-3c8&(Ow8F1~E
zOa;r{ErUOD#c$iQy4}0PF<`KVv#a7Ukc4}K9}0V%iv+e_O_AT;BDd~91QNsf=PCk&
zFY`>Ua_$F*alYb=ZO0j##2LHgG)nh9xJ#jQ_x%~ZnZ3IO^!$+EuHd$<ourWcyx>Y9
z^PpIcfVGQEe`-s==1G^y0!J;W${bG@PviaRiy?r##HN1o1U1+_>`{9gnJMSalu;}R
zCsLbfj~K%JXMTbe@}&RFBgg6$CZ)D=)|YY9#oBOID+glO(T#q4IVyrJy+fVbBjs^Z
zSoDb}{gBX+7F<^q`<h^_J&Y>@t__Hog@{>O#I>Oc$AKtF`_o1604~v|Bhn}Ke6BM>
zHp`h6ZfCldVx0r_&Jt)7=ZI5$tF2vqr-p`nsbiC!1+r^V@p>qUdneDNry<}l<tb4P
zrr*B5)Hx<zEgkKg@SD}8NVWS*Wv)5p-}2={snBoL;+zzx0WPQM+0aVo{r0P+Jj=7@
z^qXCxOROI2V>-s2XZ6b55$Ps)11;$94%od_*byu2?}<BsjIQIdbHMx`Uk!BY7Wio&
z;4+#v&Cyc>h^&2xJ(grxKIfuvSjdfXQ4pCS^3J&^EI)fuXdLsRAg<*q`FTk=!1E;g
zl5i^PlJKOsB>aA|YnrjH2V0$We{J+-UxroR>MZ)O2v|MRdlo%<>^BRh47(u=uX)24
zF8z)teNxoS5zDUroEZ2T!t9x;A=7_&dSs^8V(`dJr=-gCa-ls_Dv_prVE&bvF7yx2
z^xe=p-c0Yh6sI9>RH6<|8i)%Mvo3pF$L!<oI&1)0<lIMEkVEa>%dySmUST|3r-|p0
zQ-2XsS7xOCAUa%sQ9LDeP0vW#?BHJvndqH!`~MX|$*Q_MTNBP{=brs<mWAq`s*3c$
z{V1g)qSh%od#}jEqnRD!kH<O6;lLnEow;uy*HL-)@KPHD2UyoJO1YQ(km&54nK5gx
z)P)#k&I}HIezd{gl7nYt27lcdoLS?{Wnn@kAuWrdNaBHrR62-1p7ss?g1cg5<KOc`
z2NQVcA+LqJ#A#acME27QRo1;9t4{ggMapyhYaFtd7Y51UEbD^t){r3|Aue7VPp-pH
z_TL<A_eYw-o0bLnAZv3;O<mo}y2T~Q$c9L?Gg8t@UP)qeN4SL26Oh-2hH`zS7$G9a
zp>q|nheR7be1;?1v-qai4@m7+1b<V>EIxV6D7i`z73AKM&Eb4y*&Wv_qK1)p0-q{;
zL_3CWY7COI245NVQ1V313dII!+9irTfQyD!0%9?6D+fHKIE^GugSZ<g+D07dH=*NA
zj(G!@D@v^4*VX7D3eG}B;5MvjcPc`teoqnT*R*HBro<2U1q0vBS%V)WM0)|>Bw~C#
z{$oYlM`E)wP;eep#B1dIG@ElNtfhikVho6C5Ms>3%JkZN^gIq?0q_%wU8oG~;j`*{
zK`aG|F;qoumyr`vgy4Kz5kf&X*c2131o}y=;ylBfdcNg6Kg6>+JU@I(6!om9d*X2+
z9x_^CTr;t|{MHSnS<i}+xSpsB!tk=O?S0)&9v9jMe<LR5b5ORN`)UJqTF$1Tso#Nj
zT2WEK)ckHlZ5{}A;8+ul*}#^uoPR)Sg+<?(l!tg}7cvTL?s4jI^MuE#$NZl=?gq@6
zZRfXz73Z)sk57Sj<fb?X%{_jv?AG$%SB|^=%qxO~ox3A1C6?7ae#7UEKll8*7*@2g
z=VwG8&b9M)Oim%_?)hI($u{<Q+Mk-bV~Rcb;k-w3-Q!oQ1s;3+6&U|W?!$TZ<Q-E|
zQ>S5}P~Xb(fzY)i2Z)EHWhXJswZNl5<j#^`0ly5oN8tuwDf(vt7XeFv)N>(_dd_&H
z{9z#F{tbx2TJ|~+_va-$fRz6SAm#4`P6z$>K+5Sr%3TJe{vsgdKP!~-9|CF50fo;f
zd;o|&Ue*ajE|*mUsjmV^eUpIH_sNA)Uq6uZ9|h9yUjym)ULgH`28aT^q#Ia<e+eM{
zX$Q^%T?eH8TU7t`K+ZD-I0yYFkuKE#A&~n23rPKM0;&I>fVA@=ARfk--3P>(Q5FUM
z9dHGZ^J_rb{qzMSv?Y%Nz2JWnNP9K{Y0qjP?ePOCR}AF1i-5G}%=yxuQ$X7DN8q)<
ze+SZ@-9XOwJzyFBwF18aTn)qlS5^V!e3OCIz$ea=d>csqRv`IH6nz<xa=%7iUIYFC
zAm{rLkn`;X(ym8=j8h7DBj}AluJ4^d`m-EJe=Y$sPfnt`lYda*i$JdXgFwc!1y};S
z19%f~F_7}PK-%{a_TH7Cj{?bm4p;+R37i3(1Ek!i*pKZ0K5!=R86f+&0g>uuHv#G2
zH9*=q4M;oxm?!;u8%Vzn0_p!gApQSmApQRakoJawUj^O{<oYiIa{WtzT#sY9avjq^
z>fZ|F`mX|3gPsNaGUy8w9>@7us%b0U1u|Z5Df(3)<sMg<RQ=7s%h7)qkbW+d{Y%P$
zm7r$>zXY5C#Dns(OMnY8Zy^v%GUFGhdz|l8AoaWmWE^?6bN+jQT-PR`SQjAUUInE7
zN+9)@0jd9LAoX7fL`Y|RgsR2$ItJvpmw-6s%XR?~q8ZNtXM^4jyb5?L5cVv=Hq^>N
zW7##B3X?=DtOY=I8FXk>K*;d_QD@8o`Y^5pcpdt$0CHRy$hc82{eg_|7dC5GgXVw#
zV{F+~5XN83jl>Ihz$%(}G3Wvyw(=Sx<O+_$h-r`~VoMbsQZ%s`^e=&wCqk~^yFkp<
zNW|7E<XKOei2YZ%14wxy`U`?U_|Qm13<_%%O~g7C27r_&LayK{;1?lJ#1<$lQZ(@k
zpbLP)e%W7e2!7+pXe1Va|4ShGMD!Ot21My@BqF|rk19S9{RQ^`QIZ>pXoYL=#qmV+
z7hp{_tYIS&Qx;-P1)qri0@$kEjJ*3t1_KjxV^X#c6z#mfa3zC_0672OJ%=<DI&C58
zJWX@nPq<#ueM;X=q>+fu`v$iw+CWg)LQ4LGl3%a*4=Mg;MIThOrRWYifc7M5Y$WIZ
z_rI^`6G$4icN9GvNyApn<bwP?ie8C65Bw=16Riurdcf!V6>J~kLw+9#w0(+ySn>B_
zvB^JzF>Kc&ejI-oNyT;<VoUyZeAwE+BmXYN{}0742eSQ(;y<SNPb1$wQ?_f)`xO;}
zzg;U<{BH1-YB4?rJ=yd+5ZUx|E`GIZ{EN_%E&rKo{3(~b<&uBT#V<y@vh}^~;_r2h
zpO1KE%j5suhS8H;{NEw>vgNOJ&9}`ZPuXnw1ups)m%eYh#xs|*$3O0(S--RS2VMG~
zb@B6E@kqPof7_-1B^Up8mwk;c{(~<4cf01F?XnNGZJ7NLS3GyQ=HuVE+5YZy@$sU|
z>f7oQm95dZfoBxqd3<4Nskde$7)Db(YP19+O>JRPp-n*}h_}A*Le*%4s^y^7w^ibq
zMng2(7O(V265&`R*yf$@dd%UiSk~GWuGy3bN8+u~NKM_X^>L{*KF_ENcg!s}>Wy%F
zM`E)P3wPkLNi-H*AFdH15S<@u#)FZXP`erfd#Rya(Dez7HWDqdXr~cPCX8sa5er7v
zhih-;TV>-jZ{gBd7_N#ZGb@`L@c0E2+*WVUHPN|9d<#bHZT01bcL6wc;b2oZRvT;G
zh_S-hNT)P$l#o<7Q4*Tq!MXI*C+3C1u^8>IPk0v?Mih^a!ohaDFc%NU68;c+y`h$1
z%t*w7t%<llR8v!jz6$x+NlE(~jD~Wfrhb7@dux4#(I%sZg{o<ln&*YF))Q7XR#X`h
zyo48N3dWko<787?EwgS_q_Z{Bge-_B@v@lkxMNhK>VtH%ew}oy!D}!H78v!FhOnqU
zuF^tL3xXXT@NYz}dCQFz^5w7SW-_T&3>jt7M&$9LtVCf-NAQB1m|@Ix8B6u>d{}gL
zZ!jjKX6=ahj%SeDgSi#i9>k*U!@M|0PGVCALmP}x%LZe85-TjDe72A*ohxd{>V`Y&
z6N_XTqQ;DxTpZfafOMUw<eFu6k1Y(H;}%ABbM`?qR%l(ac~rfs=CK%lj=A&rmTFBc
z)XtaoN^7NJWTA@0cqW|}MM~D7GSNoEj~cuZ9e5K~B>v}{GC$N74#sLQdaf7^4S4HS
z3})QNW5NWi#ca`dSS~B0I@jQlfydg6D|U@@0*I+ciOt9wr6ym{77Yd4!p?Z;&YVZp
zB8}R^?V<J#NM~hTbFfubu<`8Eh09P=L=hU6-{;<?_3;J4c)WFe_W3lvykj{ZeNm0|
zn>HC8;aEJ1bFmfY+s1Mcgz-2r%Aq+Y+%oRre~Uv+%~zk8Xi1)kp%X8v6VU#@D|i!_
zz&p`gle(7&R^IFj7>0k0YVR)G-ib$vnKI8S_7L8T7cbklA_?!qd-BnUfrC2p4m9cV
zR&^@~R2oKWltqslFcE4t%C*2!e!SZ9rAxD3Vs8tVkLdA2ZtjTQkv$b7Waeo#x_o8a
RJ7LTJ-(o5!l2PIB{{i_U_S66X

literal 0
HcmV?d00001

diff --git a/src/utils/BamTools/src/api/internal/BamMultiReader_p.o b/src/utils/BamTools/src/api/internal/BamMultiReader_p.o
new file mode 100644
index 0000000000000000000000000000000000000000..c9099ab005622687bc8552bd18c7e738c6b35b22
GIT binary patch
literal 62996
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
RoAhVxSvtM$1^n&t{C{I!(i;E(

literal 0
HcmV?d00001

diff --git a/src/utils/BamTools/src/api/internal/BamRandomAccessController_p.o b/src/utils/BamTools/src/api/internal/BamRandomAccessController_p.o
new file mode 100644
index 0000000000000000000000000000000000000000..7e96470d377a791f130ee6b21b1bd424831a55dc
GIT binary patch
literal 11260
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
aA#iTd_>H7MZ#Oyl^Z!VKp~DD+{{J7HsDQWt

literal 0
HcmV?d00001

diff --git a/src/utils/BamTools/src/api/internal/BamReader_p.o b/src/utils/BamTools/src/api/internal/BamReader_p.o
new file mode 100644
index 0000000000000000000000000000000000000000..14568a96d3b7e4b02056d723ea996d1d35001ecf
GIT binary patch
literal 26212
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

literal 0
HcmV?d00001

diff --git a/src/utils/BamTools/src/api/internal/BamStandardIndex_p.o b/src/utils/BamTools/src/api/internal/BamStandardIndex_p.o
new file mode 100644
index 0000000000000000000000000000000000000000..38afbbae0441bad94687b5146afcc17d303fa4da
GIT binary patch
literal 58364
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
V_o}#9S{?XFT}qeNKEThm{{xFP`GNod

literal 0
HcmV?d00001

diff --git a/src/utils/BamTools/src/api/internal/BamToolsIndex_p.o b/src/utils/BamTools/src/api/internal/BamToolsIndex_p.o
new file mode 100644
index 0000000000000000000000000000000000000000..e81c1139a314fa4a0ff8997e8bd2769827cc250e
GIT binary patch
literal 28356
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
a|NG=M`&%Igb5hRw8;+)-%5XhDEB_aXmsK19

literal 0
HcmV?d00001

diff --git a/src/utils/BamTools/src/api/internal/BamWriter_p.o b/src/utils/BamTools/src/api/internal/BamWriter_p.o
new file mode 100644
index 0000000000000000000000000000000000000000..d1900e310615606bd94fe45f0d0e43483c6a4488
GIT binary patch
literal 12016
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
Z1fOjFp4UxlPF{Zf88I+b%~8;`@c)(rKWYE~

literal 0
HcmV?d00001

diff --git a/src/utils/BamTools/src/api/internal/BgzfStream_p.o b/src/utils/BamTools/src/api/internal/BgzfStream_p.o
new file mode 100644
index 0000000000000000000000000000000000000000..5160c6dee86ecb2a0c6ac6be1b8e5a816e72ef2d
GIT binary patch
literal 12064
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
H-J|_KV=)xB

literal 0
HcmV?d00001

diff --git a/src/utils/BamTools/src/api/internal/SamFormatParser_p.o b/src/utils/BamTools/src/api/internal/SamFormatParser_p.o
new file mode 100644
index 0000000000000000000000000000000000000000..30a31ef4d208423fe10bba1abcb65e373187773d
GIT binary patch
literal 43452
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

literal 0
HcmV?d00001

diff --git a/src/utils/BamTools/src/api/internal/SamFormatPrinter_p.o b/src/utils/BamTools/src/api/internal/SamFormatPrinter_p.o
new file mode 100644
index 0000000000000000000000000000000000000000..ce79b555b00a19347a15c0a36240de9c5fe009be
GIT binary patch
literal 39556
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
M#1)r7)xa?R5Ag~J*8l(j

literal 0
HcmV?d00001

diff --git a/src/utils/BamTools/src/api/internal/SamHeaderValidator_p.o b/src/utils/BamTools/src/api/internal/SamHeaderValidator_p.o
new file mode 100644
index 0000000000000000000000000000000000000000..3eefb6dfc51969914cffd6dade2bd086c375931b
GIT binary patch
literal 55140
zcmeHw34B!5`SwM&sADGXs34)DqKIaa5E2$8Bm*-tS;)fT!Vr=HB4lYY6TpgsA<A?J
zM5`8SRa&*hqAj&*sdb5p0(C=N{?wIP7s8-YwUjE#_dMskcjnF{1BvbT{r<o2$7p!w
zdEfWE=RNzm_nw(~<?Bzs>u(sndK>r$f5g;2{0Dz{orb@S6ef6$y-F*_GYwuV=4pga
zgMY_rYIwbV-y**dfY)2*oL&~?=DV?(`W^kz<(37&qwuDWu~cjHzg}-mU6r@Gw%YHV
z6R53(zx>>?+^EHP@slK?rP;b{yROmYJUVKs-g&*1jsAw}+PNZ+kIyCk)=6Eg5Pzl{
zhG>0xy`}yNe|4oB5mFxSZ|^8=ohgB&jn(Ddi}+I55S_|9x3bdfTU6<*_j~;nv*Y~@
zm9j6A0#`W=BR(dbqyAU7M`c~b0&gt?jQ6+Jt?f2Qd^-zteDy7cF#)P$JH=O7S5s40
zt5eZmY<rmfVt{D?w00{N+4}N&XE!!l1o8gXN<aI#CE=m{`Q~}&G*s01wA1+V7ME&y
z_Q@LCrs?>W-e?%NA`kRq$<a(-Syzi56R7mpH9!>a&n&OD*8SLg-xYejRX&TmZuzqm
zy^~9}J?nbdErxLo40o*u4%g$cSgd<N&ObKwrNDHN_XNsa!H-<QQLfFCRL29RFgZ}Q
zG%!{8Fu^q9)@R%1*aznu2GeitpeV{W_dRg%;6chZ_vOEQZGASXceRdFB9*MoK6oja
zfR5*1uFyydU7^BVj_teD+k@@)TiWf9wws=!{tlPl|80HlwA`t=<+)|0uI4=hT)`z<
z+(8uJR9C2BmpjydO#LqZ@s4&^^QHlp=U$O}W$w&e@78Bq_Fe09we0iz9dGA8fwnVR
zCm!^)*7pjZA6p*<Isf#Jb%mT;T%i<qtFxD9%vHM@FYyG!?%;FwC&!+y>Lxe12^qP@
zOyAWw6vEzGn6t_MbohpibRL(vG=MVevi`5!=?VIFd4e^2J;A_!6f4yoJm3m>Q#_%%
zBzMlcfs<XKfkQo^s-a1q(1M{5`-cwL`s`!JGp|<FbROM;p5VV!HlFjsuBX50?FznU
zN?gHbA4`hbyMmjQp)2^lLU-tjp-BbEA;pvPcR!+B4qNt!3|D9>Lep+t&Ce!5AK29~
zA6>3(PMhvOiQ*rI_*4Ij@gH;O_){7Gu<pliAFRd`>N~|1Qe(u`{P_Ua81*)A)YfNR
zt<zFAqM!%&+MhnErTw~3U9EwGs=CZkA>~H}`OtPXY`gL9;J2>UE4R6VUr5`Sb?j;N
zwYyr?jHw#t6J7JIS0=eaKT2|q`B94B<!U+Tw|Rme>&BtDbyAWmm<N+3=+p==G)Of}
z&ijE2Als&7Io|}vxI$O%@`MmZsAm7xXWgMdiYNGinROT$$Cd?!3%sXt32%(oJq+DD
zT6aJCjhVG4bT+g0<a`pi#LSxHlt?byVJ%kScjLYO6<*)fUSE#aZGcX9#PEH3risos
zt{@5)t=}}%uRHjaE7Z@`yl9sZ7^sI_OzDwW`mc<RpswrX?SWU#0TUHH*;%x{vuI6c
zQA;P0y`>i2r3>*iCBAYS+eF7?R+{PxpG$j7drBAV?`ZEhOC^kLyIqmCgTYZWP>rPf
zf}};K(G?nB)t^MG`W<upqVM{m^G?6V^dyGb^(P0np<|&_`OvB6w7FW#KS$@@*;N^I
z6{BP9v<{;_j_u(;$Hx#x44<kZLwhHqH-l9Lu{!X77@znxB>qhIqb*&GKQ(s-zjU=W
zr6{A^;B%O^rdviFR<+!g=j^v~d5ax2@%4eehIv?bG=HW2(UhfMkMp0QI^5E)&-Wi6
ztr}TIx*qtJyv=cA&N8#HRQ)IQ>whY~dVU+N+xCvjyXZZwFbM0)Z|@l0b?+HxX^`-j
zx_ia6%KP!zVn~~<(rMm&2)aGG#eN;T-b(xJK>x!USc7pMKwn(KzBtPrJm?9Ha<@)Q
zaRr_0+#z6S`Yu<?+xF!n(LpgSY;=Xxj>px!Yk(&-3=S}lIPq7$5vz{Np7#uvaoO7x
zgyvvE)P1z2J#Y#P?9GGVM^7{oRsoh*1OY!$&#n-58OW>EiNEp<o}BO@J=<VlZ*Im!
ziS>mm5+^Tfq}pF3Qmj|8{@kH!b<ahZeW7i<3cU)wq<mdhqfW0!<`ivqt0G5xcmVRZ
z-*`0|c+Q39d}z*<J20SkVx_=}feH^T!QfW=%Z0au-?7fW_8WJ9ckp0%OMGjuMT@>H
zeJK1p-9Pm5)Sc<)72Ox!iR>R(MQHc$yMCtrUs*rVpZ<SYKf4-V^^x&~rNX%e;|qHX
z8DCC4zSdbrfgWFIcPIYJ*L5|%k~)pAaf!y)T8n2r9?-d+_$y!A)%db{*5m8T*zskJ
zRQroW+ST|<QXLTE%MNYBG4>m9*^1#h-oQx1&@VUF`sgf(eRO1`ZLqFy0X2aq8c!(D
zD{Az1vF1no#SENF)esG@mucz7zi|A8&GBo$@feKf@Y`|Y(Z0G#P4s~mWK4F<Q#^Lt
za32QkOUgjy(UDIZwcy5-sH?f(8lu0;xnIu);V$R?7xj4mb!5E9Uhgd1(}wEDw$2ke
z*B$CJRPXD`P<O})GhY{V7uhda1GBg6Mt}P={*2%btg4vca8(t;RaGdUCb;p2WBZdA
zLTz?bmcDuaLHqJDB=WQd*1CdEJGNu{9l78Mp}S*saW!Wf_T^8ir29NUo&EB5`*PeT
zK&L6~rQ#k_yvu&$w{V59m%27Tjru(ZXOUhMaxRTHYdKxn-C3_}4!J3Of;Q}Pp2!B=
z-tt2vcf5^xA1<NE`NTgnu2WoBfcAbvSN#N8-w;^a;kKY{@mW2NGODal6`v1q=Nzyv
z|2cYPTz2-=H!5M^HI-$@VleC%uiS9B{9-!aBFEbum(UNdT%*<e8bnfh)xI6QStYTT
zH1^fKbO8DyL)(4%Z5MVIsl<W5sz8z9kgl9HYNNMJqx-w^bhXa$e@vqVimMAqB|-<2
zu+dVg`gp-KKhh)A=!>gx|LbuDyN=gtZz+GcR#QpZ*%GqY`+pyAzZUj#ZFg(DZaH+X
zD_<RI&Imr+p)OfE%>(x3Q@g5`TwN{t@~|U=j7hubqk-|3-f3U{jjEcM8Ogr-V_ko5
z>VS5TMQW_`HS6yX`wm?X_v-mk_K(;*sOuN(6u(h=+@dk-Snc*V<=StJNOFgOKDsG#
zPeonK>+413??1gCa3no8-D(V2dT9^tryQxjBlUNr|6tKIj*OqkDtBc5*xG4to#1}-
zk@@q;{CQ;lJTiYCSwFtt`WcLSp1Ew#He77GgWtLESiyYkRDP)26Y{jwd}OEZiP~HK
z05?v@hxx&so$pTQ>lsh$gK4-3dW@$5%<ErV^lUTVhn(9EZW#xQ!A*WVPTb%Mz9qLu
zBDXYJuUu=n=kVBZ+(vY92PG1sx+;x6RkXM8`~$As^ksR@H})3Z4Mf;sJD&gOr;oXh
zLj)sz_r0|kH^^^g+^*K*d3d{qZ=2i4yMis_`PRIb-j3_D7MGGd(WY#$yyv`cZ)vx9
zYi>_*2b}}ltxJm4rJO6IpO}Uw;67!G$|dC5<qA!}!<qc!5X6M+NInzr@W+YCU+ITk
z8q7ZrWCC-wq(iXFk5hbeOE#iF-Uf1;X9*Kt=IKk)Vul%ipMj~+D*8SHYNq4-uB?XZ
zD`mO19n{su^slrdeN9V8_jl!}PFv|a038)%k&9%rp>SKl-g2U9x&K0=C~v>~-`XhV
zl|5<!&!*xV$E~Yf-;(JV(^a*r`wXpe|EGg@Sk*lYxj_@X$+rBiu9_pLn?vq^{3vni
zSzV=`tW)dTN*x@^(Z-ZJUy%pya)ZadoHu<t74)CllfKc@@d;Su{;KtP3Wmf1PF$@`
z1LW2SpNC>h;0Bw19Cn!Jq1N*@!+4jr^*Wrin49DZO~T=hP5v}Fd%`+wb-v;XIyYc4
zGtZBV;T-JA`Bxyo!z1pTcLHH|=n@`t=&QmhXbs@p$($s2$O-Kxf4V0$f+G^%a-Tx6
zQEunU@VQYvpK^u7-{%3B#oxtIe>i(H%yRGt$0t%AqZ=IINNL$FH_AhS4SIO%+vJl{
z@`GP%gX`{hg#sIuGJKb=&-n9J(fU}nXQPVriSdkcvvUOl-`ql{eCOKS!aKKo>uG&r
z7Ty-L*5OgcgNyJMPrH`7LW5BVm)W1)(VJGBCt;-SVWL*-%MZXw?vtE#kv<zLR7*SO
zHM(k5&plrN9i}xe;cY73wz*qztVcDqJZ%`$!o>di=)!?}cXXnP><T@i9Lk;7$C8m>
zWPQ<hV?Dvokb(u46nddB&mW<o7h+CQ_b1&s-`QJM!iCeZ&l*Fpr5MSvPE1$eY_mVA
z-mbuNm!Na4yLnTZC+9wv-`>LUi<@=tA+mbBHJ`%Z{{FH}to%bYwV&=okFX+CtR0mU
z#CHg<wqngGD+Jq7NEvTy#$;-?6Ex;CakWTV%0AL8J9@moJ#NTe$NQJ^EaYA|k#yk~
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

literal 0
HcmV?d00001

diff --git a/src/windowBed/Makefile b/src/windowBed/Makefile
index 0b5303f3..e32b09b3 100644
--- a/src/windowBed/Makefile
+++ b/src/windowBed/Makefile
@@ -24,14 +24,10 @@ BUILT_OBJECTS= $(patsubst %,$(OBJ_DIR)/%,$(OBJECTS))
 PROGRAM= windowBed
 
 
-all: $(PROGRAM)
+all: $(BUILT_OBJECTS)
 
 .PHONY: all
 
-$(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
-	@echo "  * linking $(PROGRAM)"
-	@$(CXX) $(LDFLAGS) $(CXXFLAGS) -o $(BIN_DIR)/$@ $^ -L$(UTILITIES_DIR)/BamTools/lib/ -lbamtools $(LIBS)
-
 $(BUILT_OBJECTS): $(SOURCES)
 	@echo "  * compiling" $(*F).cpp
 	@$(CXX) -c -o $@ $(*F).cpp $(LDFLAGS) $(CXXFLAGS) $(INCLUDES)
diff --git a/src/windowBed/windowMain.cpp b/src/windowBed/windowMain.cpp
index cbb5739a..9bf830ee 100644
--- a/src/windowBed/windowMain.cpp
+++ b/src/windowBed/windowMain.cpp
@@ -15,16 +15,16 @@
 using namespace std;
 
 // define the version
-#define PROGRAM_NAME "windowBed"
+#define PROGRAM_NAME "bedtools window"
 
 // define our parameter checking macro
 #define PARAMETER_CHECK(param, paramLen, actualLen) (strncmp(argv[i], param, min(actualLen, paramLen))== 0) && (actualLen == paramLen)
 
 // function declarations
-void ShowHelp(void);
+void window_help(void);
 
 
-int main(int argc, char* argv[]) {
+int window_main(int argc, char* argv[]) {
 
     // our configuration variables
     bool showHelp = false;
@@ -65,7 +65,7 @@ int main(int argc, char* argv[]) {
         }
     }
 
-    if(showHelp) ShowHelp();
+    if(showHelp) window_help();
 
     // do some parsing (all of these parameters require 2 strings)
     for(int i = 1; i < argc; i++) {
@@ -198,17 +198,16 @@ int main(int argc, char* argv[]) {
         return 0;
     }
     else {
-        ShowHelp();
+        window_help();
     }
+    return 0;
 }
 
 
-void ShowHelp(void) {
-
-    cerr << endl << "Program: " << PROGRAM_NAME << " (v" << VERSION << ")" << endl;
-
-    cerr << "Author:  Aaron Quinlan (aaronquinlan@gmail.com)" << endl;
+void window_help(void) {
 
+    cerr << "\nTool:    bedtools window (aka windowBed)" << endl;
+    
     cerr << "Summary: Examines a \"window\" around each feature in A and" << endl;
     cerr << "\t reports all features in B that overlap the window. For each" << endl;
     cerr << "\t overlap the entire entry in A and B are reported." << endl << endl;
@@ -219,7 +218,7 @@ void ShowHelp(void) {
 
     cerr << "\t-abam\t"         << "The A input file is in BAM format.  Output will be BAM as well." << endl << endl;
 
-    cerr << "\t-ubam\t"         << "Write uncompressed BAM output. Default is to write compressed BAM." << endl << endl;
+    cerr << "\t-ubam\t"         << "Write uncompressed BAM output. Default writes compressed BAM." << endl << endl;
 
     cerr << "\t-bed\t"          << "When using BAM input (-abam), write output as BED. The default" << endl;
     cerr                        << "\t\tis to write output in BAM when using -abam." << endl << endl;
-- 
GitLab