diff --git a/app/frictionlesser.cpp b/app/frictionlesser.cpp index 86fcfb7dba26405852ac6b99638c7c896bbdcd7c..cb9046cc4487203f614cb30e33ab50a67067dbc1 100644 --- a/app/frictionlesser.cpp +++ b/app/frictionlesser.cpp @@ -75,7 +75,7 @@ int main(int argc, char* argv[]) // const bool permute = argparser.createParam<bool>(false, "permute", // "Randomly permute the data to get rid of the signal", 'R', "Data").value(); // TODO - const double alpha = argparser.createParam<double>(1, "alpha", + const double alpha = argparser.createParam<double>(0, "alpha", "Score adjustment exponent on the number of genes", 'a', "Parameters").value(); // const double beta = argparser.createParam<double>(2, "beta", diff --git a/src/score.cpp b/src/score.cpp index dff2673266bf4bb1717e7caeaca1dfd5200090db..8a9ca130adbc7c20d1736494533f0d6c8f7ed98f 100644 --- a/src/score.cpp +++ b/src/score.cpp @@ -19,7 +19,7 @@ FriedmanScore::FriedmanScore( const Transcriptome& rt, const double a) : ASSERT(_transcriptome.genes_nb() > 0); ASSERT(_transcriptome.samples_nb() > 0); ASSERT(_transcriptome.cells_nb(0) > 0); - ASSERT(alpha > 0); + ASSERT(alpha >= 0); const size_t samples_nb = _transcriptome.samples_nb(); @@ -105,10 +105,10 @@ void FriedmanScore::new_transcriptome(const bool print_progress) CLUTCHCODE(xdebug, std::ostringstream ssr; for(double s : SSR_j) { ssr << " " << s; } - CLUTCHLOGD(xdebug, "SSR={" << ssr.str() << "}", 2); + // CLUTCHLOGD(xdebug, "SSR={" << ssr.str() << "}", 2); std::ostringstream ts; for(double t : T_j ) { ts << " " << t; } - CLUTCHLOGD(xdebug, "T={" << ts.str() << "}", 2); + // CLUTCHLOGD(xdebug, "T={" << ts.str() << "}", 2); ); } // for i in samples diff --git a/tests/evals_t.cpp b/tests/evals_t.cpp index 97ed87fe3a4c46a5edaa1b747f38d691aa895d8f..902abd951e4039588580a6435d5a147bfe5b9ccf 100644 --- a/tests/evals_t.cpp +++ b/tests/evals_t.cpp @@ -17,9 +17,9 @@ SCENARIO( "Evaluators are consistent" ) { std::istringstream iss(ssv); frictionless::CommonRankParser parser(/*max_errors*/0); frictionless::Transcriptome rk = parser(iss); - frictionless::FriedmanScore ffrs(rk, /*alpha*/2); + frictionless::FriedmanScore ffrs(rk, /*alpha*/0); ffrs.new_transcriptome(false); - frictionless::FriedmanScore pfrs(rk, /*alpha*/2); + frictionless::FriedmanScore pfrs(rk, /*alpha*/0); pfrs.new_transcriptome(false); frictionless::EvalFull feval(ffrs); frictionless::EvalSwap peval(pfrs); diff --git a/tests/frictionless_t.cpp b/tests/frictionless_t.cpp index 34194f2164f466800972c9d3c4aaef7bd5182b80..c1477e410fa50219a49050a5c8ee2d24fe2e88f3 100644 --- a/tests/frictionless_t.cpp +++ b/tests/frictionless_t.cpp @@ -18,7 +18,7 @@ SCENARIO("Test pgamma ~ chi^2") { const double f = std::sqrt(-1 * R::pgamma(/*x*/5, /*alph*/(m-1)/2, /*scale*/2, /*lower_tail*/0, /*log_p*/1)); THEN("should be equal to manually computed p-value of chi^2") { - // Correct way to do floating point comparison in Catch2. + // Correct way to do floating point comparison in recent Catch2. REQUIRE_THAT(f, Catch::Matchers::WithinAbs(0.4256199342, 1e-9)); } } @@ -257,7 +257,7 @@ SCENARIO( "Friedman cache" ) { frictionless::Transcriptome rk = parser(iss); WHEN( "Computing transcriptome cache" ) { - frictionless::FriedmanScore frs(rk, /*alpha*/2); + frictionless::FriedmanScore frs(rk, /*alpha*/0); frs.new_transcriptome(false); THEN( "Transcriptome cache for cells number is consistent" ) { @@ -293,7 +293,7 @@ SCENARIO( "Friedman cache" ) { } } WHEN( "Computing a two-geneset cache" ) { - frictionless::FriedmanScore frs(rk, /*alpha*/2); + frictionless::FriedmanScore frs(rk, /*alpha*/0); frs.new_transcriptome(false); frs.new_signature_size(2); @@ -305,7 +305,7 @@ SCENARIO( "Friedman cache" ) { } } WHEN( "Computing a three-geneset cache" ) { - frictionless::FriedmanScore frs(rk, /*alpha*/2); + frictionless::FriedmanScore frs(rk, /*alpha*/0); frs.new_transcriptome(false); frs.new_signature_size(3); @@ -317,7 +317,7 @@ SCENARIO( "Friedman cache" ) { } } WHEN( "Computing two-geneset signature cache from scratch") { - frictionless::FriedmanScore frs(rk, /*alpha*/2); + frictionless::FriedmanScore frs(rk, /*alpha*/0); frs.new_transcriptome(false); frictionless::Signature geneset(4); // 4 genes. // Selects two geneset. @@ -361,7 +361,7 @@ SCENARIO( "Friedman score" ) { std::istringstream iss(ssv); frictionless::CommonRankParser parser(/*max_errors*/0); frictionless::Transcriptome rk = parser(iss); - frictionless::FriedmanScore frs(rk, /*alpha*/2); + frictionless::FriedmanScore frs(rk, /*alpha*/0); frs.new_transcriptome(false); WHEN( "Considering a new signature" ) { @@ -428,8 +428,8 @@ SCENARIO("Score cache save/reload is consistent on fake data and low-level API") std::istringstream iss(ssv.str()); frictionless::CommonRankParser parser(/*max_errors*/0); frictionless::Transcriptome rk = parser(iss); - frictionless::FriedmanScore frs1(rk, /*alpha*/2); - frictionless::FriedmanScore frs2(rk, /*alpha*/2); + frictionless::FriedmanScore frs1(rk, /*alpha*/0); + frictionless::FriedmanScore frs2(rk, /*alpha*/0); frs1.new_transcriptome(false); WHEN("Saving and reload transcriptome cache") { @@ -530,8 +530,8 @@ SCENARIO("Score cache save/reload is consistent on realistic data and high-level std::istringstream iss(ssv.str()); frictionless::CommonRankParser parser(/*max_errors*/0); frictionless::Transcriptome rk = parser(iss); - frictionless::FriedmanScore frs1(rk, /*alpha*/2); - frictionless::FriedmanScore frs2(rk, /*alpha*/2); + frictionless::FriedmanScore frs1(rk, /*alpha*/0); + frictionless::FriedmanScore frs2(rk, /*alpha*/0); frs1.new_transcriptome(false); WHEN("Saving and reload transcriptome cache") {