Which software or code is more suitable for modeling gene networks by BN?

Most of these are filtered from Murphy's list; we are looking for free code capable of structure learning of directed graphs. A good candidate should have Banjo capabilities mentioned here. I have not looked at DSL list yet.

Name
Authors
Sr
Par
Inf
Comments
Pros
Cons
Details
Score
Search
Use
Banjo

Java (C++)
N
N (XML output)
structure learning of static or dynamic networks of discrete variables
Used for gene network. Control on structure,etc.
No inference

BDe
sim.Ann, Greedy
Maybe
Bayes net learner

N
Y
SL
optimal reinsertion algorithm

categorical data, No MCMC


RADSEARCH,
Optimal Reinsertion Search
N
BNFinder

Python



Fast
Python, needs ordering


polynomial-time algorithm for ordered variables
N
BNT

Matlab
Y
Many
By Murphy. Also handles dynamic models, like HMMs and Kalman filters.
Does almost every thing, well debugged.
Matlab



N?
catNet
Nikolay Balov
R
Y
N
Learns and uses ordering.
Using ordering.
Frequentist

BIC & AIC
exhaustive search via Dynamic Programming
(DP)
Maybe
Causal discoverer
Vanderbilt
N
N
N
structure learning only
developer interested in causality
Greedy search


Max-Min Hill-Climbing (MMHC)
N
Deal

R
Y
N
Structure learning.
R
Greedy search


Greedy.
N
Elvira
Elvira consortium (Spain)
Java
Y
JTree,varelim,IS
Also includes classification, abductive inference and model fusion

Spanish manual, methodology not clear



N
GeNIe and SMILE

N
Y
JTree,sampling
DBNs, support for diagnostic applications

unclear methodology, greedy search

BDeu
hill climbing
N
GGM
West et al (Duke)
C++
Y
SL
MCMC and stochastic search for structure learning of GGMs
Used for gene network
Gaussian



N
GOBNILP
U. of York
C
N
N
exact structure learning from data or local scores, k-best learning possible

complete discrete data, greedy search (default)
BDeu

Greedy, BFS, DFS
N
HdBCS

C++
Y
SL
stochastic search for structure learning of GGMs
"Sparse graphical models for exploring gene expression data.", large (~12,558) networks
Need parallel computation for > 250 variables
Gaussian

forward/backward variable selection within sets of linear regressions that define the full joint graphical model
N?
LibB

N
Y
SL
Structure learning

little control on structure by
-c <constraintfile>



N
NATbox






Greedy


Hill climbing
N
OpenMarkov
CISIAD(UNED, Spain)
Y
Y
jtree,varelim,sampling
Java, open source, extensible; dynamic models, object oriented networks, interactive learning, ProbModelXML format
extensible
Hill climbing
K2

Hill climbing, PC, costum..
N
PNL
Eruhimov (Intel)
C++
Y
Jtree
A C++ version of BNT; will be released 12/03.
A C++ version of BNT (Murphy's code).
Still maintained? Greedy search.

BIC
Greedy, Gradient method, Conjugate Gradient method and Newton-Ravsen method
N
RIMBANet
Zhu et al.
C&Perl
N?
N?
Developed for gene networks.
Integrates genetic data too.
No manual, depends on an old version of xerces.
Gene Network Inference., Springer, 2013 [pdf].
BIC
simulated annealing (MCMC)
Maybe
UnBBayes
Prof. Marcelo Ladeira et al., Brazil
Java
Y
jtree, G, sampling, VMP
Supports other probabilistic graphical models: MSBN, OOBN, PRM, and MEBN.






Uninet
Technical University Delft, Lighttwist Software
N
Y
sampling
All probabilistic nodes (discrete, Gaussian, non-Gaussian) are supported analytically through the Vine-Copula method with Gaussian copula. Functional nodes are supported by sampling.

Windows



N
WinMine
Microsoft
N
Y
SL
Learns BN or dependency net structure.

Microsoft



N
bnlearn
Scutari (Oxford)
Y
Y
Y
Best in pure R.
Claims to learn a ~1000-nodes network. Has a good introductory book.
Greedy search only.

Many; AIC, BIC, BDe, K2, etc.
Hill Climbing,
Tabu.
N
Weaka

Java

No, instead recommends javabayes which accepts XML BIF format.

Java classes are flexible enough to allow for implementing new learners.
No control on structure

AIC, MDL, BDe,etc.
Simulated annealing, K2, hill climbing, etc.
N?