X-Git-Url: https://git.donarmstrong.com/?p=rsem.git;a=blobdiff_plain;f=PairedEndModel.h;h=0d2c9b3f216db8df91fa47a85c57065123fe2331;hp=575344c348c6aa1783b66e98a3d760484ec27e22;hb=83ce658a4b9c5f04c081316314b66b94ad5ffbde;hpb=1f6726865dc80d8dd36462c559da46c9e4a8de8a diff --git a/PairedEndModel.h b/PairedEndModel.h index 575344c..0d2c9b3 100644 --- a/PairedEndModel.h +++ b/PairedEndModel.h @@ -8,6 +8,8 @@ #include #include #include +#include +#include #include "utils.h" #include "my_assert.h" @@ -192,12 +194,12 @@ public: const LenDist& getGLD() { return *gld; } - void startSimulation(simul*, double*); - bool simulate(int, PairedEndRead&, int&); + void startSimulation(simul*, const std::vector&); + bool simulate(READ_INT_TYPE, PairedEndRead&, int&); void finishSimulation(); //Use it after function 'read' or 'estimateFromReads' - double* getMW() { + const double* getMW() { assert(mw != NULL); return mw; } @@ -209,7 +211,7 @@ private: static const int read_type = 2; int M; - int N[3]; + READ_INT_TYPE N[3]; Refs *refs; int seedLen; @@ -241,7 +243,7 @@ void PairedEndModel::estimateFromReads(const char* readFN) { genReadFileNames(readFN, i, read_type, s, readFs); ReadReader reader(s, readFs, refs->hasPolyA(), seedLen); // allow calculation of calc_lq() function - int cnt = 0; + READ_INT_TYPE cnt = 0; while (reader.next(read)) { SingleRead mate1 = read.getMate1(); SingleRead mate2 = read.getMate2(); @@ -256,14 +258,14 @@ void PairedEndModel::estimateFromReads(const char* readFN) { } } else if (verbose && (mate1.getReadLength() < seedLen || mate2.getReadLength() < seedLen)) { - printf("Warning: Read %s is ignored due to at least one of the mates' length < seed length %d!\n", read.getName().c_str(), seedLen); + std::cout<< "Warning: Read "<< read.getName()<< " is ignored due to at least one of the mates' length < seed length "<< seedLen<< "!"<< std::endl; } ++cnt; - if (verbose && cnt % 1000000 == 0) { printf("%d READS PROCESSED\n", cnt); } + if (verbose && cnt % 1000000 == 0) { std::cout<< cnt<< " READS PROCESSED"<< std::endl; } } - if (verbose) { printf("estimateFromReads, N%d finished.\n", i); } + if (verbose) { std::cout<< "estimateFromReads, N"<< i<< " finished."<< std::endl; } } mld->finish(); @@ -348,7 +350,7 @@ void PairedEndModel::write(const char* outF) { fclose(fo); } -void PairedEndModel::startSimulation(simul* sampler, double* theta) { +void PairedEndModel::startSimulation(simul* sampler, const std::vector& theta) { this->sampler = sampler; theta_cdf = new double[M + 1]; @@ -362,7 +364,7 @@ void PairedEndModel::startSimulation(simul* sampler, double* theta) { npro->startSimulation(); } -bool PairedEndModel::simulate(int rid, PairedEndRead& read, int& sid) { +bool PairedEndModel::simulate(READ_INT_TYPE rid, PairedEndRead& read, int& sid) { int dir, pos; int insertL, mateL1, mateL2; std::string name;