Research Article

The Dynamics of Canalizing Boolean Networks

Algorithm 1

Finding the sizes of the attractors and their basins.
In: A Boolean network in n variables
Out: A list of pairs , where is the size of the ith attractor of and is the size of its basin
(1)(Network  Graph) Build a directed graph G with vertices corresponding to possible states and a directed edge from to for every .
(2)(Attractors) Perform a depth-first search [18, § 22.3] traversal on G viewed as an undirected graph to detect the unique cycle in each connected component, these cycles are the attractors.
(3)(Basins) For each cycle from Step 2, perform a depth-first search traversal on G with all the edges reversed. The dfs trees will be the basins.
(4)Return the sizes of the attractors and basins found on Steps 2 and 3.