]> git.donarmstrong.com Git - bamtools.git/commitdiff
Added BamConversion back to BamTools
authorbarnett <barnett@9efb377e-2e27-44b9-b91a-ec4abb80ed8b>
Thu, 16 Jul 2009 15:02:14 +0000 (15:02 +0000)
committerbarnett <barnett@9efb377e-2e27-44b9-b91a-ec4abb80ed8b>
Thu, 16 Jul 2009 15:02:14 +0000 (15:02 +0000)
Updated Makefile

git-svn-id: svn+ssh://gene.bc.edu/home/subversion/Derek/BamTools/trunk@22 9efb377e-2e27-44b9-b91a-ec4abb80ed8b

BamConversionMain.cpp [new file with mode: 0644]
Makefile

diff --git a/BamConversionMain.cpp b/BamConversionMain.cpp
new file mode 100644 (file)
index 0000000..51693b6
--- /dev/null
@@ -0,0 +1,41 @@
+#include <iostream>
+#include "BamReader.h"
+#include "BamWriter.h"
+using namespace BamTools;
+using namespace std;
+
+int main(int argc, char* argv[]) {
+
+       if(argc != 3) {
+               cout << "USAGE: " << argv[0] << " <input BAM file> <output BAM file>" << endl;
+               exit(1);
+       }
+
+       // localize our arguments
+       const char* inputFilename  = argv[1];
+       const char* outputFilename = argv[2];
+
+       // open our BAM reader
+       BamReader reader;
+       reader.Open(inputFilename);
+
+       // retrieve the SAM header text
+       string samHeader = reader.GetHeaderText();
+
+       // retrieve the reference sequence vector
+       RefVector referenceSequences = reader.GetReferenceData();
+
+       // open the BAM writer
+       BamWriter writer;
+       writer.Open(outputFilename, samHeader, referenceSequences);
+
+       // copy all of the reads from the input file to the output file
+       BamAlignment al;
+       while(reader.GetNextAlignment(al)) writer.SaveAlignment(al);
+
+       // close our files
+       reader.Close();
+       writer.Close();
+
+       return 0;
+}
index a056ae5e84279b1104486ec7f745740fcd90e39c..b2b6c922373a1b236f96393fb15bf17947b92910 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,10 +1,13 @@
 CXX=           g++\r
 CXXFLAGS=      -Wall -O3\r
-PROG=          BamDump BamTrim\r
+PROG=          BamConversion BamDump BamTrim\r
 LIBS=          -lz\r
 \r
 all: $(PROG)\r
 \r
+BamConversion: BamReader.o BamWriter.o BamConversionMain.o\r
+       $(CXX) $(CXXFLAGS) -o $@ BamReader.o BamWriter.o BamConversionMain.o $(LIBS)\r
+\r
 BamDump: BamReader.o BamDumpMain.o\r
        $(CXX) $(CXXFLAGS) -o $@ BamReader.o BamDumpMain.o $(LIBS)\r
 \r