SystemsGenetics / KINC

Knowledge Independent Network Construction
MIT License
11 stars 4 forks source link

cond-test with MPI makes all clusters significant #138

Closed spficklin closed 4 years ago

spficklin commented 4 years ago

When using the cond-test analytic with MPI all of the clusters become signficant. This is obviously a bug.

spficklin commented 4 years ago

So debugging this, I noticed that in the ConditionalTest::Serial::execute function that the _base.features array is empty. This is why all of the p-values come back as zero because that's the default value. That makes everything seem signficant.

We should probably initialize the p-value array to 1 instead of 0. But I dug into this a bit and noticed that the initalize and initializeOutput functions got a bit convoluted. So, I spent some time renaming functions, variables and reorganizing the code so that the output files metadata was properly being set in the intializeOutput function rather than the initialize function. Some class member variables were also getting set in some of the functions meant to initialize the output files. So, I cleaned all of that up. But... the problem persists.

spficklin commented 4 years ago

The branch with these fixes is named 138-cond-test-mpirun