1 // ***************************************************************************
2 // bamtools_sortt.h (c) 2010 Derek Barnett, Erik Garrison
3 // Marth Lab, Department of Biology, Boston College
4 // All rights reserved.
5 // ---------------------------------------------------------------------------
6 // Last modified: 26 May 2010
7 // ---------------------------------------------------------------------------
8 // Sorts an input BAM file (default by position) and stores in a new BAM file.
9 // ***************************************************************************
11 #ifndef BAMTOOLS_SORT_H
12 #define BAMTOOLS_SORT_H
17 #include "BamReader.h"
18 #include "bamtools_getopt.h"
22 int BamSortHelp(void) {
23 std::cerr << std::endl;
24 std::cerr << "usage:\tbamtools sort [--in FILE] [--out FILE]" << std::endl;
25 std::cerr << std::endl;
26 std::cerr << "\t--in FILE Input BAM file to sort [stdin]" << std::endl;
27 std::cerr << "\t--out FILE Destination of sorted BAM file [stdout]" << std::endl;
28 std::cerr << std::endl;
32 int RunBamSort(int argc, char* argv[]) {
34 // else parse command line for args
35 GetOpt options(argc, argv, 1);
37 std::string inputFilename;
38 options.addOption("in", &inputFilename);
40 std::string outputFilename;
41 options.addOption("out", &outputFilename);
43 if ( !options.parse() ) return BamCoverageHelp();
44 if ( inputFilename.empty() ) { inputFilename = "stdin"; }
45 if ( outputFilename.empty() ) { outputFilename = "stdout"; }
47 // open our BAM reader
49 // reader.Open(inputFilename);
51 // // retrieve header & reference dictionary info
52 // std::string header = reader.GetHeaderText();
53 // RefVector references = reader.GetReferenceData();
56 // writer.Open(outputFilename, header, references);
59 std::cerr << "Sorting " << inputFilename << std::endl;
60 std::cerr << "Saving sorted BAM in " << outputFilename << endl;
61 std::cerr << "FEATURE NOT YET IMPLEMENTED!" << std::endl;
69 } // namespace BamTools
71 #endif // BAMTOOLS_SORT_H