X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=EM.cpp;h=59783f3089b5a96c7ea67db0113f9b558818d861;hb=52f1bd6f44f9b2630b839f192fb9ece18581983b;hp=fdc75cce046eb533755b4f99a669d48cf8e13c7b;hpb=d484af5f8ab839e296f01d01ff713c37a8db6e02;p=rsem.git diff --git a/EM.cpp b/EM.cpp index fdc75cc..59783f3 100644 --- a/EM.cpp +++ b/EM.cpp @@ -336,7 +336,7 @@ void calcExpressionValues(const vector& theta, const vector& eel frac[i] = theta[i]; denom += frac[i]; } - general_assert(denom > 0, "No alignable reads?!"); + general_assert(denom >= EPSILON, "No alignable reads?!"); for (int i = 1; i <= M; i++) frac[i] /= denom; //calculate FPKM @@ -384,18 +384,18 @@ void writeResults(ModelType& model, double* counts) { } if (gene_tpm[i] < EPSILON) { - double frac = 1.0 / (e - b); - for (int j = b; j < e; j++) { - glens[i] += tlens[j] * frac; - gene_eels[i] += eel[j] * frac; - } + double frac = 1.0 / (e - b); + for (int j = b; j < e; j++) { + glens[i] += tlens[j] * frac; + gene_eels[i] += eel[j] * frac; + } } else { - for (int j = b; j < e; j++) { - isopct[j] = tpm[j] / gene_tpm[i]; - glens[i] += tlens[j] * isopct[j]; - gene_eels[i] += eel[j] * isopct[j]; - } + for (int j = b; j < e; j++) { + isopct[j] = tpm[j] / gene_tpm[i]; + glens[i] += tlens[j] * isopct[j]; + gene_eels[i] += eel[j] * isopct[j]; + } } }