Skip to content
/ deVries Public
forked from astrotycoon/deVries

Efficient C data-structures to handle mutations and mutation profiles.

Notifications You must be signed in to change notification settings

isag/deVries

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 

Repository files navigation

deVries

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').

Author

Philippe Desjardins-Proulx <[email protected]>

Language

C++-compatible ANSI C. Development is done on Linux x86_64 with the GCC, Intel, and Clang compilers.

Design

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.

License

MIT <http://www.opensource.org/licenses/mit-license.php>.

Dependencies

None (but it might change).

About

Efficient C data-structures to handle mutations and mutation profiles.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published