MORT (Molecular Objects and Relevant Templates) is a foundational library to develop new software packages and tools for computational biology and computer-aided drug design (CADD). There are several advantages of MORT compared with other similar libraries. Firstly, MORT written in C++ natively supports the paradigm of object-oriented design, and it can be understood and extended easily. Secondly, the relational model has been introduced for the representation of a molecule, which is more convenient and flexible than the traditional hierarchical model employed by many other libraries. Thirdly, a lot of functions have been included in this library, which makes it very convenient to manipulate a molecule at different levels.
Following is a figure shows how MORT works:
This working flowchart of MORT. All the information parsed will be stored in the database, and users can load those data when doing any operations. Results can be output by using some functions or commands.
MORT contains lots of functions, which can be used to accomplish many operations. The following is the detailed description for one function.
One function is composed of data structure and algorithm. Algorithm is the operations that users want to apply to the target, and the data structure is separated into two parts: one for information storage and the other for handling Molecular Objects. Proteins, ligands and parameters are stored in molecules (represented by class molecule_t), which are composed of Molecular Objects (atom, residue, etc.), and molecules are stored in database (represented by class database_t). Both of molecule_t and database_t are inherited from class entity_t. Class morf_t and its child classes are used to modify, add and delete Molecular Objects.
Source code is available: MORT_v1.0