Efficient data-structures to handle mutations and mutation profiles. The library is written to be fast, straightforward, and simple to use. All functions are documented and tests/examples are provided.
The library is named after Hugo de Vries (1848-1935), an important but often forgotten scientist who rediscovered Mendel's law of genetics and coined the term 'Mutation' (from the latin muto, 'to change').
Philippe Desjardins-Proulx <[email protected]>
C++-compatible ANSI C. Development is done on Linux x86_64 with the GCC, Intel, and Clang compilers.
deVries has only two important objects: sequence and mutation.
A sequence can be, well, any sequence (RNA, DNA, amino acids). The object stores a char array (the sequence), an info object with details on the sequence (e.g.: gi number), and a list of mutations.
Mutations are very small immutable objects. They store a position, a type, and either the new character (point mutation), the number of elements to delete (deletions) or the sequence to insert (for insertions). Like sequences, mutations can themself have mutations, leading to a tree of mutations. It's possible to recover the sequence from any mutation in the tree.
MIT <http://www.opensource.org/licenses/mit-license.php>.
None (but it might change).