gitter-lab / SINGE

Gene regulatory network reconstruction from pseudotemporal single-cell gene expression data
MIT License
11 stars 6 forks source link

Branching processes #57

Closed atuldeshpande closed 4 years ago

atuldeshpande commented 4 years ago

Closes #49

Handles branching processes. Data file has an additional branches matrix with dimensions N_cells x N_branches, with its b-th column representing the b-th branch of the trajectory. If a cell is part of the b-th branch, the corresponding entry in the b-th column of branches = b, otherwise the corresponding entry = 0.

This generates a GLG output for each branch separately, and the SINGE_Aggregate effectively provides a regulatory network describing the entire branching process.

MEX BUG workaround: This version also has a workaround to reduce the memory segmentation violations by clearing the mex file from MATLAB memory after each glmnet call. As a result, the memory occupied by the glmnetMex is released in each iteration.

agitter commented 4 years ago

The existing test cases are failing in this build

Comparing SINGE_Gene_Influence.txt
files are identical
Comparing SINGE_Ranked_Edge_List.txt
0 rows removed (0.0%)
0 rows added (0.0%)
1 rows changed (0.0%)
Comparing sparse adjacency matrices
Spare matrices in standalone_output/AdjMatrix_data1_X_SCODE_datapmat_ID_541_lambda_0p01_replicate_1.mat and tests/reference/latest/AdjMatrix_data1_X_SCODE_datapmat_ID_541_lambda_0p01_replicate_1.mat have different values
Maximum absolute difference: 6.4849853515625e-05
Spare matrices in standalone_output/AdjMatrix_data1_X_SCODE_datapmat_ID_541_lambda_0p01_replicate_2.mat and tests/reference/latest/AdjMatrix_data1_X_SCODE_datapmat_ID_541_lambda_0p01_replicate_2.mat have different values
Maximum absolute difference: 0.0001385211944580078
Spare matrices in standalone_output/AdjMatrix_data1_X_SCODE_datapmat_ID_542_lambda_0p01_replicate_1.mat and tests/reference/latest/AdjMatrix_data1_X_SCODE_datapmat_ID_542_lambda_0p01_replicate_1.mat have different values
Maximum absolute difference: 7.724761962890625e-05
Spare matrices in standalone_output/AdjMatrix_data1_X_SCODE_datapmat_ID_542_lambda_0p01_replicate_2.mat and tests/reference/latest/AdjMatrix_data1_X_SCODE_datapmat_ID_542_lambda_0p01_replicate_2.mat have different values
Maximum absolute difference: 0.011023879051208496

We expected the non-branching input data would give identical outputs, right?

atuldeshpande commented 4 years ago

No, there would be some difference within a threshold because we calculate one of the variables after the single precision conversion as opposed to before. On Aug 12, 2020, 11:51 AM -0400, Anthony Gitter notifications@github.com, wrote:

The existing test cases are failing in this build Comparing SINGE_Gene_Influence.txt files are identical Comparing SINGE_Ranked_Edge_List.txt 0 rows removed (0.0%) 0 rows added (0.0%) 1 rows changed (0.0%) Comparing sparse adjacency matrices Spare matrices in standalone_output/AdjMatrix_data1_X_SCODE_datapmat_ID_541_lambda_0p01_replicate_1.mat and tests/reference/latest/AdjMatrix_data1_X_SCODE_datapmat_ID_541_lambda_0p01_replicate_1.mat have different values Maximum absolute difference: 6.4849853515625e-05 Spare matrices in standalone_output/AdjMatrix_data1_X_SCODE_datapmat_ID_541_lambda_0p01_replicate_2.mat and tests/reference/latest/AdjMatrix_data1_X_SCODE_datapmat_ID_541_lambda_0p01_replicate_2.mat have different values Maximum absolute difference: 0.0001385211944580078 Spare matrices in standalone_output/AdjMatrix_data1_X_SCODE_datapmat_ID_542_lambda_0p01_replicate_1.mat and tests/reference/latest/AdjMatrix_data1_X_SCODE_datapmat_ID_542_lambda_0p01_replicate_1.mat have different values Maximum absolute difference: 7.724761962890625e-05 Spare matrices in standalone_output/AdjMatrix_data1_X_SCODE_datapmat_ID_542_lambda_0p01_replicate_2.mat and tests/reference/latest/AdjMatrix_data1_X_SCODE_datapmat_ID_542_lambda_0p01_replicate_2.mat have different values Maximum absolute difference: 0.011023879051208496 We expected the non-branching input data would give identical outputs, right? — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

agitter commented 4 years ago

Was that change in precision introduced in 1f6ac73eec6a285fb0c271a0b09cb7ef13706613? Moving the rind selection line made sense, but I wasn't sure why the precision changed.

agitter commented 4 years ago

The new branching test case passes. We're still deciding how to adjust the failed tests for the original non-branching data.