diff --git a/src/shiftBed/shiftBed.cpp b/src/shiftBed/shiftBed.cpp index b6f92416..bea2c3e1 100644 --- a/src/shiftBed/shiftBed.cpp +++ b/src/shiftBed/shiftBed.cpp @@ -10,46 +10,42 @@ #include "lineFileUtilities.h" #include "shiftBed.h" -BedShift::BedShift(string &bedFile, string &genomeFile, float shiftMinus, - float shiftPlus, bool fractional, bool printHeader) { - - _bedFile = bedFile; - _genomeFile = genomeFile; - _shiftMinus = shiftMinus; - _shiftPlus = shiftPlus; - _fractional = fractional; - _printHeader = printHeader; - - _bed = new BedFile(bedFile); - _genome = new GenomeFile(genomeFile); - +BedShift::BedShift(const string &bedFile, const string &genomeFile, float shiftMinus, + float shiftPlus, bool fractional, bool printHeader) : + _bedFile(bedFile), + _genomeFile(genomeFile), + _shiftMinus(shiftMinus), + _shiftPlus(shiftPlus), + _fractional(fractional), + _printHeader(printHeader), + _bed(_bedFile), + _genome(genomeFile) +{ // get going, shift it around. ShiftBed(); } -BedShift::~BedShift(void) {} - void BedShift::ShiftBed() { BED bedEntry; // used to store the current BED line from the BED file. - _bed->Open(); + _bed.Open(); // report header first if asked. if (_printHeader == true) { - _bed->PrintHeader(); + _bed.PrintHeader(); } - while (_bed->GetNextBed(bedEntry)) { - if (_bed->_status == BED_VALID) { + while (_bed.GetNextBed(bedEntry)) { + if (_bed._status == BED_VALID) { AddShift(bedEntry); - _bed->reportBedNewLine(bedEntry); + _bed.reportBedNewLine(bedEntry); } } - _bed->Close(); + _bed.Close(); } void BedShift::AddShift(BED &bed) { - CHRPOS chromSize = (CHRPOS)_genome->getChromSize(bed.chrom); + CHRPOS chromSize = _genome.getChromSize(bed.chrom); double shift; diff --git a/src/shiftBed/shiftBed.h b/src/shiftBed/shiftBed.h index d6be110d..004a4d94 100644 --- a/src/shiftBed/shiftBed.h +++ b/src/shiftBed/shiftBed.h @@ -28,12 +28,7 @@ class BedShift { public: // constructor - BedShift(string &bedFile, string &genomeFile, float shiftMinus, float shiftPlus, bool fractional, bool printHeader); - - // destructor - ~BedShift(void); - - + BedShift(const string &bedFile, const string &genomeFile, float shiftMinus, float shiftPlus, bool fractional, bool printHeader); private: @@ -45,11 +40,10 @@ class BedShift { bool _fractional; bool _printHeader; - BedFile *_bed; - GenomeFile *_genome; + BedFile _bed; + GenomeFile _genome; // methods - void ShiftBed(); // method to add requested "slop" to a single BED entry