This package was built to investigate the use of Novelty Search to find novel behaviours from small modifications of Boolean logic circuits with a view to using similar methods to explore plasmid circuits for synthetic biology. It implements all experiments and analysis used in "Exploring the potential of a Boolean Circuit with Novelty Search" by Rainford et al. Instructions for installation and reimplementation are provided before code documentation for all classes and functions.
We provide details of the requirements for the package and how to find and download or install RandomBooleanCircuits.
If installing the RandomBooleanCircuits dependencies will be installed automatically. Otherwise you will need:
- python version 3.8+
- numpy version 1.24.1+
- pandas version 1.5.2+
- sklearn version 0.0.post1
- scikit-learn version 1.2.0+
- seaborn version 0.12.2+
You will also need to install PyCharc the python port of the CHARC framework: https://github.com/dgdguk/pycharc
The code for RandomBooleanCircuits can be found in the RandomBooleanCircuits GitHub repository: https://github.com/faulknerrainford/RandomBooleanCircuits
and the package can also be installed through PYPI using:
pip install RandomBooleanCircuits