# Welcome to pyABC’s documentation!¶

Version: 0.9.3

Source code: https://github.com/icb-dcm/pyabc

pyABC is a framework for distributed, likelihood-free inference. That means, if you have a model and some data and want to know the posterior distribution over the model parameters, i.e. you want to know with which probability which parameters explain the observed data, then pyABC might be for you.

All you need is some way to numerically draw samples from the model, given
the model parameters. pyABC “inverts” the model for you and tells you
which parameters were well matching and which ones not. You do **not** need
to analytically calculate the likelihood function.

pyABC runs efficiently on multi-core machines and distributed cluster setups. It is easy to use and flexibly extensible.

If you’re interested in using it, you can cite the paper:

Emmanuel Klinger, Dennis Rickert, Jan Hasenauer; pyABC: distributed, likelihood-free inference; Bioinformatics; https://doi.org/10.1093/bioinformatics/bty361

## User’s Guide¶

This part of the documentaiton guides you step by step through the usage of this package.

- What is pyABC about?
- Quickstart
- Installation und Upgrading
- Examples
- Quickstart
- Parameter inference
- Early stopping of model simulations
- Resuming stored ABC runs
- Using R with pyABC
- Ordinary Differential Equations: Conversion Reaction
- Markov Jump Process: Reaction Network
- Multi-scale model: Tumor spheroid growth
- Stochastic Differential Equation: Ion channel noise in Hodgkin-Huxley neurons
- Adaptive Distances
- Download the examples as notebooks

- Parallel and Distributed Sampling
- Parallel job execution on an SGE cluster environment
- Exporting pyABC’s database to other file formats
- Web based visualizations
- Release Notes
- About

## API reference¶

This part of the documentation describes the individual classes, functions, modules and packages.

- Parallel Approximate Bayesian Computation - Sequential Monte Carlo
- Distance functions
- Acceptor
- Models
- Acceptance threshold scheduling strategies
- Data store
- Transitions (Perturbation Kernels)
- Population strategy
- Multi-core and Distributed Sampling
- Parameters
- Random Variables
- Parallel job execution on SGE like environments
- External
- Visualizations

## Developer’s Guide¶

Interested in contributing? It is not that hard.