# ELL - Energy Landscape Library

This document provides reference information about the Energy Landscape Library.

## The goal

This C++ programming library provides a platform for generic algorithms to study kinetics and structure of energy landscapes with descrete states. This algorithms need an abstract representation of this states to be applied to a multitude of models and the corresponding energy or fitness landscapes.## Features

### Generic algorithms

A set of walks to traverse energy landscapes:

- random walks
- adaptive walks
- gradient (steepest descent) walks
- Monte Carlo walks with Metropolis criterion

Exhaustive landscape flooding:

- flooding of single basins
- flooding of multiple basins in parallel

All algorithms are fully parameterisable and very flexible concerning output and results.

### States = Landscape Models

- Lattice protein representations with Pull-Move and Pivot-Move neighborhood for different lattice models with arbitrary distance based energy functions (based on the BIU library)
- an RNA representation interfacing the Vienna RNA package for energy calculation
- State for Ising spin glass models (ring of spins)
- State for the Number Partitioning Problem (ring of spins)

### General features

- compressed State representations to minimize the memory usage for storing huge numbers of states (e.g. for energy landscape flooding)
- generic neighborhood generators
- the random number generation can be globally set or one of the already available generators of the BIU library can be used
- tests for most of the given functionality to enable a high standard of the source code. Furthermore, these tests can serve as an example for the own first steps using the ELL

## Dependencies

The ELL depends on the following libraries:

- the Bioinformatic Utility library (BIU)
- the Vienna RNA package

## Appendix

Additionally, the documentation also features the following parts:The following lists and indices are available