BNs for large cohort genomic studies.

gBN runs the BN learning algorithm Gobnilp and implements many post-processing visualisation functions for analysing large scale patient studies from genomic information. Specially so for cancer patient data. Currently only tested on *nix like systems. Developed on Linux Mint 2020.
It should also work on MacOS with one of the linux-like platforms installed on them.

gBN works on current versions of SWI.

We also provide a Raspberry 4 complete OS image that includes all dependencies.


Executable Dependencies

The following executables should be installed on your local machine.

R Dependencies

The following R packages will be asked for installation at loading time, if not already present in local R installation. The above depend themselves, on a large number of other R libraries (system will have in total 133 libraries installed- up from 29 on a naked installation).

SWI Pack Dependencies

Pack lib (pack(lib)), developed by us is central to loading all the Prolog dependencies.
% swipl
?- pack_install(lib).
The following will be installed, interactively, by pack(lib), at loading time if they are not already present in the local SWI installation. You can install each pack above independently/separately from within SWI-Prolog, for example:
% swipl
?- pack_install(mtx).
All packs installable this way can be found on the SWI-Prolog pack list.



% swipl 
?- pack_install(gbn).


% swipl 

?- use_module(library(gbn)).
% Loading installed R library: RColorBrewer
% Loading installed R library: cowplot
% Loading installed R library: ggplot2
% Loading installed R library: ggpubr
% Loading installed R library: gridExtra

?- gbn([debug(true)]).
% Turning debugging on for predicate handle: gbn(gbn)
% Options: [$restore(gbn,debug,false),copy(false),data(pack(gbn/data/asia.dat)),display_dot(svg),odir(_33202),std_output(std_file)]
% Output directory: 'asia-20.09.27'
% Settings on: asia.set


Cancer datasets from our paper (each can be run as per example above): Each can be run with following sequence (replace aml, for any of the 3 letter abbreviations above):
% swipl

?- use_module(library(gbn)).

?- [cancer(aml)].

?- aml.
% Starting: aml
% Starting: fisher_nets
% Starting: fam_hmaps
% Starting: gates_nets
% Starting: svg_legend
% Finished: aml

The above would create an output directory such as:  aml_min60-21.01.19/.


Datasets are in the source directory: data/ (with cancer datasets in data/gbns_in_cancer/).


Html docs. Also available in distribution directory doc/html/


Classification and Personalized Prognosis in Myeloproliferative Neoplasms
Jacob Grinfeld, Jyoti Nangalia, E. Joanna Baxter, David C. Wedge, Nicos Angelopoulos, Robert Cantrill ... Peter J. Campbell
New England Journal of Medicine, 379:1416-1430, October 11, 2018.
[10.1056/NEJMoa1716614 | NEJMoa1716614 | Cambridge Uni: 283087 ]

Genomic Landscape and Chronological Reconstruction of Driver Events in Multiple Myeloma
Francesco Maura, Niccolo Bolli, Nicos Angelopoulos, Kevin J. Dawson, Daniel Leongamornlert, Inigo Martincorena, Federico Abascal, Thomas J. Mitchell, Anthony Fullam, Santiago Gonzalez, Raphael Szalat, Bernardo Rodriguez-Martin, Mehmet Kemal Samur, Dominik Glodzik, Marco Roncador, Mariateresa Fulciniti, Yu Tzu Tai, Stephane Minvielle, Florence Magrangeas, Philippe Moreau, Paolo Corradini, Kenneth Anderson, Jose M. C. Tubio, David C. Wedge, Moritz Gerstung, Herve Avet-Loiseau, Nikhil Munshi and Peter J. Campbell
Nature Communications 10, Article number: 3835 (2019).

Molecular Evolution of IDH Wild-Type Glioblastomas Treated With Standard of Care Affects Survival and Design of Precision Medicine Trials: A Report From the EORTC 1542 Study
K. Draaisma, A. Chatzipli, M. Taphoorn, M. Kerkhof, A. Weyerbrock, M. Sanson, A. Hoeben, S. Lukacova, G. Lombardi, M. Hanse, R. Fleischeuer, S. Leenstra, C. Watts, J. McAbee, N. Angelopoulos, T. Gorlia, V. Golfinopoulos, J. M. Kros, R.G.W. Verhaak, M.J. van den Bent, U. McDermott, P. A. Robe and P. J. French
Journal of Clinical Oncology, 38 (1), (January 01, 2020) 81-99.


We welcome comments on use cases. Particularly, applications and publications that use this pack.
We also welcome bug reports and fixes.
For contact details see: contact


Nicos Angelopoulos

January 2021