NMRlipids Databank Project
NMRlipids databank is a community-driven catalogue of biologically relevant lipid membranes emerging from the NMRlipids Open Collaboration. It gathers atomistic MD simulations, X-ray scattering experiments, and NMR experiments on C-H bond order parameters in one place.
NMRlipids databank is an overlay databank. Each databank entry (molecule, simulation or experiment) contains the metadata YAML-file, which stores all the essential information for the data upcycling and reuse. This includes, for example, the information about permanent location of each simulation file, but raw data is located in distributed locations outside the NMRlipids Databank. The organisation of the data as well as description of metadata schemas are described in Data Organization. Physically, the database is located in BilayerData GitHub repository.
The scientific background and initial motivation of the project is described in the NMRlipids Databank Manuscript (Nat.Comm., 2024).
databank.nmrlipids.fi web-UI
NMRlipids Databank-webUI provides easy access to the NMRlipids Databank content. Simulations can be searched based on their molecular composition, force field, temperature, membrane properties, and quality; the search results are ranked based on the simulation quality as evaluated against experimental data when available. Web-UI provides basic graphical reports for the computed properties as well as graphical comparison between simulation and experimental data.
The Web-UI is being developed in the repository BilayerGUI_laravel.
NMRlipids Databank-API
The NMRlipids Databank-API provides programmatic access to all simulation data in the NMRlipids Databank. This enables wide range of novel data-driven applications from construction of machine learning models that predict membrane properties, to automatic analysis of virtually any property across all simulations in the Databank. For examples of novel analyses enabled by the NMRlipids databank API see the NMRlipids databank manuscript.
Functions available for simulation analyses are described in DatabankLib.core
and DatabankLib.databankLibrary
.
A project template designed to intialize projects that analyse data from NMRlipids databank contains
a minimum example for looping over available simulations.
For further examples, see codes that analyze the area per lipid,
C-H bond order parameters,
X-ray scattering form factors,
and principal component equilibration.
For these analyses, the universal molecule and atom names are connected to simulation specific names using README.yaml and mapping files
as described in Universal molecule and atom names.
Adding simulations into the NMRlipids databank
The NMRlipids Databank is open for additions of simulation and experimental data by anyone. For detailed instructions to add new data, to update databank analyses and run quality evaluations, see Adding simulations. Quick and minimal steps to add a new simulation are here:
Add trajectory and topology (tpr for Gromacs, pdb or corresponding to other programs) file into a Zenodo repository.
Login to NMRlipids Upload Portal and fill up the form with metadata for your simulation. For instructions, see Simulation metadata (README.yaml) and examples. Mapping files are described in Universal molecule and atom names and are available from here .
Your simulation will be automatically processed via GitHub Actions on the server side after the approval of your submission by one of the NMRlipids contributors.
Experimental data addition is currently not automatized and should be performed manually via making pull request to the BilayerData repository. The instrutions are available at Adding experimental data.
Do not hesitate to ask assistance regarding data addition on the GitHub page of BilayerData Issues.
Installation and system requirements
The code has been tested in Linux, MacOS and Windows environment with python 3.10 or newer and recent Gromacs version installed.
Setup is straingforward using pip
or uv pip
:
pip install nmrlipids_databank
nml_initialize_data dev
source databank_env.rc
More detailed instructions are coming soon.
TODO: write the block
Python Interface
Membrane Databank