Skip to content

A Snakemake workflow to run and benchmark structure learning (a.k.a. causal discovery) algorithms for probabilistic graphical models.

License

Notifications You must be signed in to change notification settings

felixleopoldo/benchpress

Repository files navigation

Benchpress logo

Snakemake Documentation Status License: GPL v2


Benchpress [1] is a Snakemake workflow where structure learning (sometimes called causal discovery) algorithms, implemented in possibly different languages, can be executed and compared. The computations scale seamlessly on multiple cores or "... to server, cluster, grid and cloud environments, without the need to modify the workflow definition" - Snakemake. The documentation is found at https://benchpressdocs.readthedocs.io.

The following main functionalities are provided by Benchpress

  • Benchmarks - Benchmark structure learning algorithms.
  • Algorithm development - Benchmark your own algorithm along with the existing ones while developing.
  • Data analysis - Estimate the underlying graph structure for your own dataset(s).

You may also have a look at this Medium story for an introduction.

Citing

@misc{rios2021benchpress,
      title={Benchpress: a scalable and versatile workflow for benchmarking structure learning algorithms for graphical models}, 
      author={Felix L. Rios and Giusi Moffa and Jack Kuipers},
      year={2021},
      eprint={2107.03863},
      archivePrefix={arXiv},
      primaryClass={stat.ML}
}

Contact

For problems, bug reporting, or questions please raise an issue or open a discussion thread.

Contributing

Contributions are very welcomed. See CONTRIBUTING.md for instructions.

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Open a pull request

License

This project is licensed under the GPL-2.0 License - see the LICENSE file for details

References