Our asynchronous replica exchange simulation uses DESRES Molecular System (.dms) files as input and produces output files with information about the system. We wanted to create a way to collect and join the structural information found in .dms files with other information about the system, such as the thermodynamic and energetic properties. We propose adding a "properties" table to .dms files in order to store non-structural information about the system.
Since .dms files are sqlite databases, they can be accessed using sql commands. The properties class acts as a wrapper around the sqlite3 python library, and is intended to specifically create and manipulate properties tables within .dms files. The api supports creation of custom columns for the properties table, as well as standard manipulation and access of properties data.
Included in the package below is the properties class (properties.py) as well as two scripts and a sample directory that demonstrate some of the uses of the properties class. add_properties.py uses regular expressions to extract the temperature and lambda values from .out files and adds those to a new properties table for each receptor and ligand .dms file. get_properties.py queries the .dms file for properties information for each ligand and receptor file, and prints it to standard output.