Mercurial > repos > aaronquinlan > multi_intersect
comparison BEDTools-Version-2.14.3/src/utils/bedGraphFile/bedGraphFile.cpp @ 0:dfcd8b6c1bda
Uploaded
| author | aaronquinlan |
|---|---|
| date | Thu, 03 Nov 2011 10:25:04 -0400 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:dfcd8b6c1bda |
|---|---|
| 1 /***************************************************************************** | |
| 2 bedGraphFile.cpp | |
| 3 | |
| 4 (c) 2010 - Assaf Gordon | |
| 5 Hall Laboratory | |
| 6 Department of Biochemistry and Molecular Genetics | |
| 7 University of Virginia | |
| 8 aaronquinlan@gmail.com | |
| 9 | |
| 10 Licenced under the GNU General Public License 2.0 license. | |
| 11 ******************************************************************************/ | |
| 12 #include "bedGraphFile.h" | |
| 13 #include <sstream> | |
| 14 | |
| 15 // Constructor | |
| 16 BedGraphFile::BedGraphFile(string &_file) : | |
| 17 bedGraphFile(_file), | |
| 18 _bedGraphStream(NULL) | |
| 19 {} | |
| 20 | |
| 21 | |
| 22 // Destructor | |
| 23 BedGraphFile::~BedGraphFile() { | |
| 24 Close(); | |
| 25 } | |
| 26 | |
| 27 | |
| 28 // Open the BEDGRAPH file | |
| 29 void BedGraphFile::Open() { | |
| 30 if (bedGraphFile == "stdin" || bedGraphFile == "-") { | |
| 31 _bedGraphStream = &cin; | |
| 32 } | |
| 33 else { | |
| 34 _bedGraphStream = new ifstream(bedGraphFile.c_str(), ios::in); | |
| 35 | |
| 36 if (isGzipFile(_bedGraphStream) == true) { | |
| 37 delete _bedGraphStream; | |
| 38 _bedGraphStream = new igzstream(bedGraphFile.c_str(), ios::in); | |
| 39 } | |
| 40 // can we open the file? | |
| 41 if ( !(_bedGraphStream->good()) ) { | |
| 42 cerr << "Error: The requested bed file (" << bedGraphFile << ") could not be opened. Exiting!" << endl; | |
| 43 exit (1); | |
| 44 } | |
| 45 } | |
| 46 } | |
| 47 | |
| 48 | |
| 49 // Close the BEDGRAPH file | |
| 50 void BedGraphFile::Close() { | |
| 51 if (bedGraphFile != "stdin" && bedGraphFile != "-") { | |
| 52 if (_bedGraphStream) { | |
| 53 delete _bedGraphStream; | |
| 54 _bedGraphStream = NULL ; | |
| 55 } | |
| 56 } | |
| 57 } | |
| 58 |
