# API for pmda¶

The pmda package implements a simple map-reduce scheme for parallel trajectory analysis [Khoshlessan2017] and extends MDAnalysis [Gowers2016] [Michaud-Agrawal2011]. In order to make use of it, a user should be familiar with MDAnalysis.

## Building blocks¶

Building new parallel analysis classes is easy with the pmda.custom.AnalysisFromFunction base class if you can formulate the problem as a calculation over one AtomGroup for a single frame. If your need more flexibility you can use the pmda.parallel.ParallelAnalysisBase.

pmda also has various predefined analysis tasks to use. They also function as examples for how to implement your own functions with pmda.parallel.ParallelAnalysisBase.