force-h2020 / force-bdss-plugin-gromacs

Gromacs BDSS data sources, as well as a stand-alone wrappers around Gromacs tools.
MIT License
0 stars 0 forks source link

FEAT: New DataSources for pre-processing and running Simulations #6

Closed flongford closed 5 years ago

flongford commented 5 years ago

This PR expands on the plugin features for force-bdss, by introducing new BaseDataSource subclasses to pre-process input Gromacs files and generate GromacsPipeline capable of running a simulation.

In doing so, two new data source types have been included: FragmentDataSource and SimulationDataSouce, with the MoleculeDataSource class having undergone significant restructuring. This reflects the hierarchical nature of building unique (neutrally charged) molecules from combinations of 'building block' fragments. For example, using sodium ion (Na+), hydrogen ion (H+) and a chloride ion (Cl-) fragments we can create sodium chloride (NaCl) and hydrogen chloride (HCl) molecules. In this case we would only need to provide one FragmentDataSource for the chloride ion, though would be is present in two MoleculeDataSources.

This method also reflects the way that Gromacs inserts and treats charged chemical species into simulation cells using the genion command. Gromacs molecular topology and coordinate files describe a set atoms or atomic beads that are permanently bonded together during the simulation (such as a carbonate ion CO2-). Therefor, if we wanted to add a specific concentration of NaCl into a simulation, we would need separate input files for both the Na+ and Cl- ions, since they posses an ionic bond and so can become dissociated during the simulation.

Changelog