NeurogenPy is a Python package for working with Bayesian networks. It is focused on the analysis of gene expression data and learning of gene regulatory networks, modeled as Bayesian networks. For that reason, at the moment, the Gaussian and fully discrete cases are the only supported.
The package provides different structure learning algorithms, parameters estimation and input/output formats. For some of them, already existing implementations have been used, being bnlearn, pgmpy, networkx and igraph the most relevant used packages. Particularly, we provide an implementation of the FGES-Merge algorithm :cite:`fges_merge`.
This project has been conceived to be included as a plugin in the EBRAINS interactive atlas viewer, but it may be used for other purposes.
NeurogenPy has been developed from BayeSuites :cite:`bayesuites`, which is included in the already existing web framework NeuroSuites.
neurogenpy
can be installed with pip
using the command:
pip install git+https://github.com/javiegal/neurogenpy.git@master
As it makes use of R's packages bnlearn
and sparsebn
via rpy2, you should have installed an R compatible version. For any installation issues related to this, we recommend to check rpy2 documentation.
If bnlearn
or sparsebn
are not installed, the package does it via rpy2
.
The documentation is available in Read the Docs and includes a user guide.
This project has been developed by the Computational Intelligence Group (CIG) of Universidad Politécnica de Madrid (UPM). Javier Gallego Gutiérrez has developed the package based on NeuroSuites, done by Mario Michiels Toquero and Hugo Nugra.
This project has received funding from the European Union’s Horizon 2020 Framework Programme for Research and Innovation under the Specific Grant Agreement No. 945539 (Human Brain Project SGA3).