diff --git a/src/sampleFile/SampleFile.cpp b/src/sampleFile/SampleFile.cpp index 8f532c5f47a8eb89da81fac4d5c3a35f15a17187..8291824cef1cb5a67d7827c9bf0e867b7df4f48f 100644 --- a/src/sampleFile/SampleFile.cpp +++ b/src/sampleFile/SampleFile.cpp @@ -35,11 +35,7 @@ SampleFile::~SampleFile() { bool SampleFile::takeSample() { //we're only operating on one file, so the idx is zero. - _inputFile = new FileRecordMgr(0, _context); - if (!_inputFile->open()) { - return false; // FRM will give the error and die anyway, - //no error message needed here. - } + _inputFile = _context->getFile(0); _samples.resize(_numSamples, NULL); @@ -50,7 +46,6 @@ bool SampleFile::takeSample() _context->getUnspecifiedSeed(); } - _context->determineOutputType(); _outputMgr = new RecordOutputMgr(); _outputMgr->init(_context); @@ -82,10 +77,6 @@ bool SampleFile::takeSample() } delete _outputMgr; _inputFile->close(); - - //clean up. - delete _inputFile; - return true; } diff --git a/src/utils/FileRecordTools/FileReaders/BamFileReader.cpp b/src/utils/FileRecordTools/FileReaders/BamFileReader.cpp index a9d129d75f9fb3904ef4f7e06b0211842d2607a9..ab717f921236e17c8610e683a91c843b628c1736 100644 --- a/src/utils/FileRecordTools/FileReaders/BamFileReader.cpp +++ b/src/utils/FileRecordTools/FileReaders/BamFileReader.cpp @@ -4,44 +4,17 @@ BamFileReader::BamFileReader() : _bamReader(NULL), _eof(false), - _useTags(true), - _shouldDeleteBamReader(false) + _useTags(true) { } BamFileReader::~BamFileReader() { - if (_bamReader != NULL && _shouldDeleteBamReader) { - delete _bamReader; - _shouldDeleteBamReader = false; - _bamReader = NULL; - } } bool BamFileReader::open() { -// if (_bamReader == NULL) { -// _bamReader = new BamTools::BamReader(); -// _shouldDeleteBamReader = true; -// } -// if (_inputStream != NULL) { -// try { -// _bamReader->OpenStream(_inputStream); -// } -// catch (...) { -// fprintf(stderr, "ERROR: Unable to open BAM file from standard input.\n"); -// exit(1); -// } -// } else { -// try { -// _bamReader->Open(_filename); -// } -// catch (...) { -// fprintf(stderr, "ERROR: Unable to open BAM file %s\n", _filename.c_str()); -// exit(1); -// } -// } _bamHeader = _bamReader->GetHeaderText(); _references = _bamReader->GetReferenceData(); diff --git a/src/utils/FileRecordTools/FileReaders/BamFileReader.h b/src/utils/FileRecordTools/FileReaders/BamFileReader.h index e9861b9e93ccc28bdf7347bec90af23165284a02..8bea945ed8b1bdbecfaec9e8e20d82bf6e26f295 100644 --- a/src/utils/FileRecordTools/FileReaders/BamFileReader.h +++ b/src/utils/FileRecordTools/FileReaders/BamFileReader.h @@ -58,7 +58,6 @@ protected: QuickString _bamHeader; BamTools::RefVector _references; bool _useTags; - bool _shouldDeleteBamReader; static const int MINIMUM_PRINTABLE_BAM_FIELDS = 6; void extractNameFromCore(); diff --git a/src/utils/FileRecordTools/FileReaders/BufferedStreamMgr.cpp b/src/utils/FileRecordTools/FileReaders/BufferedStreamMgr.cpp index 55ec8865e0745c90f7d80a5b93b48b07d0f4fc74..27f07894c347c2b871201f933287ed410c555bd0 100644 --- a/src/utils/FileRecordTools/FileReaders/BufferedStreamMgr.cpp +++ b/src/utils/FileRecordTools/FileReaders/BufferedStreamMgr.cpp @@ -26,13 +26,11 @@ BufferedStreamMgr::BufferedStreamMgr(const QuickString &filename) BufferedStreamMgr::~BufferedStreamMgr() { - if (_mainBuf != NULL) { - delete [] _mainBuf; - } - if (_inputStreamMgr != NULL) { - delete _inputStreamMgr; - _inputStreamMgr = NULL; - } + delete [] _mainBuf; + _mainBuf = NULL; + + delete _inputStreamMgr; + _inputStreamMgr = NULL; } bool BufferedStreamMgr::init() diff --git a/src/utils/FileRecordTools/FileReaders/InputStreamMgr.cpp b/src/utils/FileRecordTools/FileReaders/InputStreamMgr.cpp index 5b1d0a9c10831dcfc123efe560ec86acf4fbac3b..2035b9c6529e8ac97f53766b22c2fd98c8eba56b 100644 --- a/src/utils/FileRecordTools/FileReaders/InputStreamMgr.cpp +++ b/src/utils/FileRecordTools/FileReaders/InputStreamMgr.cpp @@ -35,38 +35,29 @@ InputStreamMgr::InputStreamMgr(const QuickString &filename, bool buildScanBuffer InputStreamMgr::~InputStreamMgr() { - if (_pushBackStreamBuf != NULL) { - delete _pushBackStreamBuf; - _pushBackStreamBuf = NULL; - } - if (_inputFileStream != NULL) { - delete _inputFileStream; - _inputFileStream = NULL; - } - if (_oldInputStream != NULL) { - delete _oldInputStream; - _oldInputStream = NULL; - } - if (_infStreamBuf != NULL) { - delete _infStreamBuf; - _infStreamBuf = NULL; - } - if (_bamReader != NULL) { - delete _bamReader; - _bgStream = NULL; - } - if (_bgStream != NULL) { - delete _bgStream; - _bgStream = NULL; - } - if (_finalInputStream != NULL) { - delete _finalInputStream; - _finalInputStream = NULL; - } - if (_tmpZipBuf != NULL) { - delete [] _tmpZipBuf; - _tmpZipBuf = NULL; - } + delete _pushBackStreamBuf; + _pushBackStreamBuf = NULL; + + delete _inputFileStream; + _inputFileStream = NULL; + + delete _oldInputStream; + _oldInputStream = NULL; + + delete _infStreamBuf; + _infStreamBuf = NULL; + + delete _bamReader; + _bgStream = NULL; + + delete _bgStream; + _bgStream = NULL; + + delete _finalInputStream; + _finalInputStream = NULL; + + delete [] _tmpZipBuf; + _tmpZipBuf = NULL; } bool InputStreamMgr::init() @@ -98,7 +89,6 @@ bool InputStreamMgr::init() //now we have a PushBackStreamBuf. Make a new stream. _finalInputStream = new istream(_pushBackStreamBuf); populateScanBuffer(); -// resetStream(); return true; } @@ -240,9 +230,7 @@ bool InputStreamMgr::detectBamOrBgzip(int &numChars, int currChar) _bamRuledOut = true; _numBytesInBuffer = 0; _infStreamBuf = new InflateStreamBuf(_finalInputStream); - if (_oldInputStream != NULL) { - delete _oldInputStream; - } + delete _oldInputStream; _oldInputStream = _finalInputStream; _finalInputStream = new istream(_infStreamBuf); return false; @@ -251,23 +239,6 @@ bool InputStreamMgr::detectBamOrBgzip(int &numChars, int currChar) return false; } -//void InputStreamMgr::decompressBuffer() -//{ -// //allocate an array to hold uncompressed data. -// _saveDataStr.clear(); -// uInt maxDecompressSize = 20 * _numBytesInBuffer; -// unsigned char *newScanBuffer = new unsigned char[maxDecompressSize]; -// memset(newScanBuffer, 0, maxDecompressSize); -// -// unsigned int numDecompressChars = inflateGzippedArray(_scanBuffer, newScanBuffer, maxDecompressSize, _numBytesInBuffer); -// -// // newScanBuffer should now contain uncompressed data. -// //delete old buffer, point it at new buffer. -// _saveDataStr.append((char *)newScanBuffer, numDecompressChars); -// -// delete [] newScanBuffer; -//} - void InputStreamMgr::readZipChunk() { if (_tmpZipBuf == NULL) { diff --git a/src/utils/FileRecordTools/FileReaders/SingleLineDelimTextFileReader.cpp b/src/utils/FileRecordTools/FileReaders/SingleLineDelimTextFileReader.cpp index 12739abe41b42c9412c989387e846cd5464eaf01..38074edf3513817e7413cf4426269fe618d84b7d 100644 --- a/src/utils/FileRecordTools/FileReaders/SingleLineDelimTextFileReader.cpp +++ b/src/utils/FileRecordTools/FileReaders/SingleLineDelimTextFileReader.cpp @@ -16,6 +16,7 @@ SingleLineDelimTextFileReader::SingleLineDelimTextFileReader(int numFields, char SingleLineDelimTextFileReader::~SingleLineDelimTextFileReader() { delete [] _delimPositions; + _delimPositions = NULL; } bool SingleLineDelimTextFileReader::readEntry() diff --git a/src/utils/FileRecordTools/FileRecordMgr.cpp b/src/utils/FileRecordTools/FileRecordMgr.cpp index 8b3c2cadcf79609ace299dec0b3d3b5d999d63bd..38fc056b483236611748943ebcce4a7228f0a95f 100644 --- a/src/utils/FileRecordTools/FileRecordMgr.cpp +++ b/src/utils/FileRecordTools/FileRecordMgr.cpp @@ -30,19 +30,15 @@ FileRecordMgr::FileRecordMgr(const QuickString &filename, bool isSorted) FileRecordMgr::~FileRecordMgr(){ - if (_bufStreamMgr != NULL) { - delete _bufStreamMgr; - _bufStreamMgr = NULL; - } - if (_fileReader != NULL) { - close(); //just make sure file was closed. - delete _fileReader; - _fileReader = NULL; - } - if (_recordMgr != NULL) { - delete _recordMgr; - _recordMgr = NULL; - } + delete _bufStreamMgr; + _bufStreamMgr = NULL; + + close(); //just make sure file was closed. + delete _fileReader; + _fileReader = NULL; + + delete _recordMgr; + _recordMgr = NULL; } bool FileRecordMgr::open(){ @@ -78,10 +74,9 @@ bool FileRecordMgr::open(){ } void FileRecordMgr::close(){ - if (_bufStreamMgr != NULL) { - delete _bufStreamMgr; - _bufStreamMgr = NULL; - } + delete _bufStreamMgr; + _bufStreamMgr = NULL; + if (_fileReader != NULL) { _fileReader->close(); delete _fileReader; @@ -91,7 +86,6 @@ void FileRecordMgr::close(){ bool FileRecordMgr::eof(){ return _fileReader->eof(); -// return _storedRecords.empty() && _fileReader->eof() ? true: false; } Record *FileRecordMgr::allocateAndGetNextRecord() @@ -109,8 +103,9 @@ Record *FileRecordMgr::allocateAndGetNextRecord() return NULL; } - // In the rare case of Bam records where both the read and it's mate failed to map, - // Ignore the record. Delete and return null. + // If the record is unmapped, don't test for valid coords or sort order, + // but still return it so the -v (noHit) option and the like will still + // see it. if (!record->isUnmapped()) { if (!record->coordsValid()) { diff --git a/src/utils/NewChromsweep/NewChromsweep.cpp b/src/utils/NewChromsweep/NewChromsweep.cpp index 14e9a908f0dbfbc425718956af0afa50964ebd61..5e6045be625799cca515ac056e9a17b33f1908a6 100644 --- a/src/utils/NewChromsweep/NewChromsweep.cpp +++ b/src/utils/NewChromsweep/NewChromsweep.cpp @@ -68,12 +68,12 @@ NewChromSweep::~NewChromSweep(void) { if (!_wasInitialized) { return; } - if (_currQueryRec != NULL) { - _queryFRM->deleteRecord(_currQueryRec); - } - if (_currDatabaseRec != NULL) { - _databaseFRM->deleteRecord(_currDatabaseRec); - } + _queryFRM->deleteRecord(_currQueryRec); + _currQueryRec = NULL; + + _databaseFRM->deleteRecord(_currDatabaseRec); + _currDatabaseRec = NULL; + _queryFRM->close(); _databaseFRM->close(); }