jcrozum / biobalm

The biologist's Boolean attractor landscape mapper, building Waddington landscapes from Boolean networks.
https://jcrozum.github.io/biobalm/
MIT License
2 stars 0 forks source link

Skip nodes #125

Closed daemontus closed 1 week ago

daemontus commented 1 week ago

This PR introduces "skip nodes". These are nodes that are not expanded, but instead "skip" the rest of the succession diagram and lead to some of the child spaces further down in the succession diagram (by default, these are minimal trap spaces). To preserve the correctness of other methods, it is required that each skip node still has successors that cover every minimal trap space relevant for that skip node (this is mainly to ensure that we don't detect the attractors in minimal trap spaces multiple times).

This makes it possible to stop the expansion at a particular SD size and run attractor detection that uses all available information, even if the SD is incomplete.

github-actions[bot] commented 1 week ago

Coverage

Coverage Report
FileStmtsMissCoverMissing
biobalm
   _pint_reachability.py615018%24, 40–54, 69–93, 101–146
   control.py1141488%107, 119, 125, 129, 134, 143–159, 477, 480, 493
   interaction_graph_utils.py52688%11–13, 151–152, 222–223
   petri_net_translation.py1491292%22–26, 79, 136, 234, 308–309, 333–334, 343, 452
   space_utils.py1322085%26–28, 104–110, 133–139, 347–350, 414, 462
   succession_diagram.py4399279%6, 128, 218–223, 236, 283–290, 394–401, 418–419, 429, 435, 551, 638–644, 760, 763, 858–872, 903–921, 953, 963, 1006, 1013, 1064, 1082, 1204, 1395–1423, 1441, 1474, 1505, 1516, 1524, 1567, 1579, 1584
   symbolic_utils.py32584%10, 39–44, 100, 128
   trappist_core.py1842388%14–18, 55, 57, 92, 215, 217, 219, 254–256, 276–282, 340, 342, 372, 420, 422
biobalm/_sd_algorithms
   expand_attractor_seeds.py60788%6, 28, 42, 109–114, 119
   expand_bfs.py28196%6
   expand_dfs.py30197%6
   expand_minimal_spaces.py68691%6, 36, 49, 64, 101, 116
   expand_source_SCCs.py1111686%11–13, 50, 69, 77, 82, 103, 112, 120, 131, 140, 143, 167, 179, 242–243
   expand_source_blocks.py1231985%10, 31, 43–46, 68, 75, 83, 142, 168, 177, 208, 216–217, 221, 231, 237, 246
   expand_to_target.py31390%6, 38, 43
biobalm/_sd_attractors
   attractor_candidates.py2809168%13–15, 27–28, 94, 102, 108–109, 153, 162, 184, 219, 225–236, 255, 271–352, 357, 361, 367, 373, 388, 415, 420, 424, 430, 432–470, 543, 614–615, 716
   attractor_symbolic.py2244082%6–7, 39–40, 54–68, 77, 95, 102, 107, 112, 193, 206–210, 221, 230, 262, 298, 328–330, 349, 359–361, 371, 380, 422, 442, 449
TOTAL220940682% 

Tests Skipped Failures Errors Time
359 0 :zzz: 0 :x: 0 :fire: 1m 0s :stopwatch: