diff BEDTools-Version-2.14.3/src/sortBed/sortBed.cpp @ 1:bec36315bd12 default tip

Deleted selected files
author aaronquinlan
date Sat, 19 Nov 2011 14:17:03 -0500
parents dfcd8b6c1bda
children
line wrap: on
line diff
--- a/BEDTools-Version-2.14.3/src/sortBed/sortBed.cpp	Thu Nov 03 10:25:04 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,201 +0,0 @@
-/*****************************************************************************
-  sortBed.cpp
-
-  (c) 2009 - Aaron Quinlan
-  Hall Laboratory
-  Department of Biochemistry and Molecular Genetics
-  University of Virginia
-  aaronquinlan@gmail.com
-
-  Licenced under the GNU General Public License 2.0 license.
-******************************************************************************/
-#include "lineFileUtilities.h"
-#include "sortBed.h"
-
-//
-// Constructor
-//
-BedSort::BedSort(string &bedFile) {
-    _bedFile = bedFile;
-    _bed = new BedFile(bedFile);
-}
-
-//
-// Destructor
-//
-BedSort::~BedSort(void) {
-}
-
-
-void BedSort::SortBed() {
-
-    // load the "B" bed file into a map so
-    // that we can easily compare "A" to it for overlaps
-    _bed->loadBedFileIntoMapNoBin();
-
-    // loop through each chromosome and merge their BED entries
-    for (masterBedMapNoBin::iterator m = _bed->bedMapNoBin.begin(); m != _bed->bedMapNoBin.end(); ++m) {
-
-        // bedList is already sorted by start position.
-        vector<BED> bedList = m->second;
-
-        for (unsigned int i = 0; i < bedList.size(); ++i) {
-            _bed->reportBedNewLine(bedList[i]);
-        }
-    }
-}
-
-
-void BedSort::SortBedBySizeAsc() {
-
-    // load the "B" bed file into a map so
-    // that we can easily compare "A" to it for overlaps
-    _bed->loadBedFileIntoMapNoBin();
-
-    vector<BED> masterList;
-    masterList.reserve(1000000);
-
-    // loop through each chromosome and merge their BED entries
-    for (masterBedMapNoBin::iterator m = _bed->bedMapNoBin.begin(); m != _bed->bedMapNoBin.end(); ++m) {
-
-        // bedList is already sorted by start position.
-        vector<BED> bedList = m->second;
-
-        // add the entries from this chromosome to the current list
-        for (unsigned int i = 0; i < m->second.size(); ++i) {
-            masterList.push_back(m->second[i]);
-        }
-    }
-
-    // sort the master list by size (asc.)
-    sort(masterList.begin(), masterList.end(), sortBySizeAsc);
-
-    // report the entries in ascending order
-    for (unsigned int i = 0; i < masterList.size(); ++i) {
-        _bed->reportBedNewLine(masterList[i]);
-    }
-}
-
-
-void BedSort::SortBedBySizeDesc() {
-
-    // load the "B" bed file into a map so
-    // that we can easily compare "A" to it for overlaps
-    _bed->loadBedFileIntoMapNoBin();
-
-    vector<BED> masterList;
-    masterList.reserve(1000000);
-
-    // loop through each chromosome and merge their BED entries
-    for (masterBedMapNoBin::iterator m = _bed->bedMapNoBin.begin(); m != _bed->bedMapNoBin.end(); ++m) {
-
-        // bedList is already sorted by start position.
-        vector<BED> bedList = m->second;
-
-        // add the entries from this chromosome to the current list
-        for (unsigned int i = 0; i < m->second.size(); ++i) {
-            masterList.push_back(m->second[i]);
-        }
-    }
-
-    // sort the master list by size (asc.)
-    sort(masterList.begin(), masterList.end(), sortBySizeDesc);
-
-    // report the entries in ascending order
-    for (unsigned int i = 0; i < masterList.size(); ++i) {
-        _bed->reportBedNewLine(masterList[i]);
-    }
-}
-
-void BedSort::SortBedByChromThenSizeAsc() {
-
-    // load the "B" bed file into a map so
-    // that we can easily compare "A" to it for overlaps
-    _bed->loadBedFileIntoMapNoBin();
-
-    // loop through each chromosome and merge their BED entries
-    for (masterBedMapNoBin::iterator m = _bed->bedMapNoBin.begin(); m != _bed->bedMapNoBin.end(); ++m) {
-
-        // bedList is already sorted by start position.
-        vector<BED> bedList = m->second;
-        sort(bedList.begin(), bedList.end(), sortBySizeAsc);
-
-        for (unsigned int i = 0; i < bedList.size(); ++i) {
-            _bed->reportBedNewLine(bedList[i]);
-        }
-    }
-}
-
-
-void BedSort::SortBedByChromThenSizeDesc() {
-
-    // load the "B" bed file into a map so
-    // that we can easily compare "A" to it for overlaps
-    _bed->loadBedFileIntoMapNoBin();
-
-    // loop through each chromosome and merge their BED entries
-    for (masterBedMapNoBin::iterator m = _bed->bedMapNoBin.begin(); m != _bed->bedMapNoBin.end(); ++m) {
-
-        // bedList is already sorted by start position.
-        vector<BED> bedList = m->second;
-
-        sort(bedList.begin(), bedList.end(), sortBySizeDesc);
-
-        for (unsigned int i = 0; i < bedList.size(); ++i) {
-            _bed->reportBedNewLine(bedList[i]);
-        }
-    }
-}
-
-
-void BedSort::SortBedByChromThenScoreAsc() {
-
-    // load the "B" bed file into a map so
-    // that we can easily compare "A" to it for overlaps
-    _bed->loadBedFileIntoMapNoBin();
-
-    if (_bed->bedType >= 5) {
-        // loop through each chromosome and merge their BED entries
-        for (masterBedMapNoBin::iterator m = _bed->bedMapNoBin.begin(); m != _bed->bedMapNoBin.end(); ++m) {
-
-            // bedList is already sorted by start position.
-            vector<BED> bedList = m->second;
-            sort(bedList.begin(), bedList.end(), sortByScoreAsc);
-
-            for (unsigned int i = 0; i < bedList.size(); ++i) {
-                _bed->reportBedNewLine(bedList[i]);
-            }
-        }
-    }
-    else {
-        cerr << "Error: Requested a sort by score, but your BED file does not appear to be in BED 5 format or greater.  Exiting." << endl;
-        exit(1);
-    }
-}
-
-
-void BedSort::SortBedByChromThenScoreDesc() {
-
-    // load the "B" bed file into a map so
-    // that we can easily compare "A" to it for overlaps
-    _bed->loadBedFileIntoMapNoBin();
-
-    if (_bed->bedType >= 5) {
-        // loop through each chromosome and merge their BED entries
-        for (masterBedMapNoBin::iterator m = _bed->bedMapNoBin.begin(); m != _bed->bedMapNoBin.end(); ++m) {
-
-            // bedList is already sorted by start position.
-            vector<BED> bedList = m->second;
-            sort(bedList.begin(), bedList.end(), sortByScoreDesc);
-
-            for (unsigned int i = 0; i < bedList.size(); ++i) {
-                _bed->reportBedNewLine(bedList[i]);
-            }
-        }
-    }
-    else {
-        cerr << "Error: Requested a sort by score, but your BED file does not appear to be in BED 5 format or greater.  Exiting." << endl;
-        exit(1);
-    }
-}
-