  The biomolecular networks underpinning cell function exhibit canalization, or
the buffering of fluctuations required to function in a noisy environment. One
understudied putative mechanism for canalization is the functional equivalence
of a biomolecular entity's regulators (e.g., among the transcription factors
for a gene). In these discrete dynamical systems, activation and inhibition of
biomolecular entities (e.g., transcription of genes) are modeled as the
activity of coupled 2-state automata, and thus the equivalence of regulators
can be studied using the theory of symmetry in discrete functions. To this end,
we present a new exact algorithm for finding maximal symmetry groups among the
inputs to discrete functions. We implement this algorithm in Rust as a Python
package, schematodes. We include schematodes in the new CANA v1.0.0 release, an
open source Python library for analyzing canalization in Boolean networks,
which we also present here. We compare our exact method implemented in
schematodes to the previously published inexact method used in earlier releases
of CANA and find that schematodes significantly outperforms the prior method
both in speed and accuracy. We also apply CANA v1.0.0 to study the symmetry
properties of regulatory function from an ensemble of experimentally-supported
Boolean networks from the Cell Collective. Using CANA v1.0.0, we find that the
distribution of a previously reported symmetry parameter, $k_s/k$, is
statistically significantly different in the Cell Collective than in random
automata with the same in-degree and activation bias (Kolmogorov-Smirnov test,
$p<0.001$). In particular, its spread is much wider than in our null model (IQR
0.31 vs IQR 0.20 with equal medians), demonstrating that the Cell Collective is
enriched in functions with extreme symmetry or asymmetry.
