barry: your go-to motif accountant¶
This repository contains a C++ template library that essentially counts sufficient statistics on binary arrays. Its primary goal is to provide a general framework for building discrete exponential-family models. A particular example is Exponential Random Graph Models (ERGMs), but we can use barry to deal with non-square arrays.
Among the key features included in barry, we have:
- Sparse arrays.
- User-defined count statistics.
- User-defined constrain of the support set.
- Powerset generation of binary arrays.
- Discrete Exponential Family Models module (DEFMs).
- Pooled DEFMs.
To use barry, you can either download the entire repository or, since it is header-only, the single header version barry.hpp.
This library was created and maintained by Dr. George G. Vega Yon as part of his doctoral dissertation "Essays on Bioinformatics and Social Network Analysis: Statistical and Computational Methods for Complex Systems."
Where to go next¶
- Getting Started: examples of counting statistics, and how to build and run the tests.
- Implementation: how barry represents supports and computes exact likelihoods.
- API Reference: classes, namespaces, and files, generated from the Doxygen comments in the headers.