BIU - Bioinformatic Utility Library
This document provides reference information about the Bioinformatic Utility Library.
The goalThis C++ programming library provides a classes and functions often used in the bioinformatics context of our group. It collects data structures and class hierarchies for biomolecule modelling and general usefull functionalities as program parameter parsing, string conversions, etc.
The C++ standard has only a few predefined string operations for immediate calling. We provide a set of wrapper functions around STL functionalities to ease their usage.
Program parameter parsing
Type safe parameter parsing, parameter information generation and error message generation is an anoying part of developing new command line tools. The provided option parser will help to focus on the method than on the mentioned tasks.
Random number generation
The generation of (pseudo) random numbers is an important part for reproducible simulations and experiments. The provided generator facility allows a central and flexible application of different generators.
The following random number generators are provided:
- a wrapper around ISO C random number functions (CPU dependent results)
- linear congruent generator
- a quasi random number generator wrapping the sobol sequence generator from the GNU Scientific Library
Currently we provide representations for lattice proteins with contact based energy functions on arbitrary lattices.
Currently the following lattice models inclusive automorphisms etc are provided:
- 2D square
- 3D cubic
- 3D face centered cubic (FCC)
The energy functions can be defined on an arbitrary monomer alphabet. We support different distance based energy functions:
- contact based (only in the lattice neighbored positions contribute)
- distance interval based (different energy tables for discrete distance intervals)
For structural neighbor generation move sets are provided:
- pull moves (ergodic)
- pivot moves (ergodic)
AppendixAdditionally, the documentation also features the following parts:
The following lists and indices are available