Crates.io | gorder |
lib.rs | gorder |
version | 0.2.0 |
source | src |
created_at | 2024-12-07 21:30:29.728982 |
updated_at | 2024-12-11 14:37:23.38007 |
description | Calculating lipid order parameters from Gromacs simulations |
homepage | |
repository | https://github.com/Ladme/gorder |
max_upload_size | |
id | 1475893 |
size | 366,943 |
Command line tool for calculating atomistic or coarse-grained lipid order parameters from Gromacs simulations.
Install gorder:
$ cargo install gorder
structure: system.tpr
trajectory: md.xtc
analysis_type: !AAOrder
heavy_atoms: "@membrane and element name carbon"
hydrogens: "@membrane and element name hydrogen"
output: order.yaml
gorder
tool. The program will automatically find bonds between the selected atoms, classify lipid molecules, and calculate order parameters for them.$ gorder YOUR_INPUT_YAML_FILE
order.yaml
.See the gorder manual for more information about using this program.
gorder
is able to calculate atomistic and coarse-grained order parameters for individual bonds of individual lipid types.gorder
allows for simple yet powerful atom selection using a VMD-like selection language, supporting regular expressions and groups from NDX files.gorder
automatically recognizes bonds and classifies molecule types based on their topology.gorder
can output results in YAML, XVG, CSV, and custom "table" format.gorder
can perform scrambling-safe assignment of lipids to membrane leaflets using three different methods, and then calculate lipid order parameters for individual leaflets.gorder
can construct 2D maps of order parameters, so you know what parts of the membrane are ordered and disordered.gorder
is completely force-field agnostic. Martini? CHARMM? Slipids? Your own toy force-field? As long as your lipids have bonds, it will work.gorder
is very fast (see below) through multithreading support.gorder
as a Python library.A CHARMM36m simulation of a membrane consisting of 256 lipids was used to validate the calculation of atomistic order parameters by the gorder
program. In total, the system contained ~64,500 atoms. The trajectory was 200 ns long and consisted of 10,000 frames. The following programs were used for validation:
We also present a comparison of the calculated order parameters with the results from gmx order
(version 2021.4). Note that gmx order
actually calculates united atom order parameters, so it is not suitable for atomistic systems. (However, many users still utilize it.)
All programs, except for gmx order
, produce the same results. Minor variations due to different calculation approaches are too small to be visible in the chart. gmx order
returns slightly different values (and no value for carbon #16) because it calculates united atom, not atomistic, order parameters.
A Martini 3 simulation of a membrane consisting of 512 POPC lipids was used to validate the calculation of CG order parameters by the gorder
program. In total, the system contained ~16,800 beads. The trajectory had a length of 1 μs and consisted of 10,000 frames. The following programs/libraries were used for validation:
All programs produce the same results. Minor variations due to the employed calculation approaches are too small to be visible in the chart.
Run time of the analyses performed in the Validation section by various programs:
Benchmarks were conducted on Debian 12 with an 8-core Intel Core i7-10700 CPU. Benchmarking of gmx order
and gorder
was performed using hyperfine
. The NMR lipids
script and calc_op.tcl
were dramatically slower, so only approximate values obtained using GNU's time
are reported.
a Note that, unlike calc_op.tcl
and gmx order
, the NMR lipids script provides information about the order of individual C-H bonds. gorder
also provides this information.
b Note that gmx order
calculates united atom order parameters, not atomistic order parameters. For saturated tails, this calculation is reasonably accurate; however, for unsaturated tails, it is very inaccurate [1]. Additionally, it is slower and more tedious to use than gorder
, so there is little justification for using it for atomistic systems.
Run time of the analyses performed in the Validation section by various programs:
Benchmarks were conducted on Debian 12 with with an 8-core Intel Core i7-10700 CPU. Benchmarking of order
and gorder
was performed using hyperfine
. do-order
and lipyphilic
were dramatically slower, so only an approximate value obtained using GNU's time
is reported.
a Note that the do-order
script is not able to calculate order parameters for individual leaflets in the same run. In contrast, both order
and gorder
were run with this capability enabled.
b Note that the lipyphilic
library is not able to calculate order parameters for the individual bonds simultaneously, requiring the analysis to be run multiple times. If you are only interested in average order parameters for one entire lipid tail, lipyphilic
is quite fast (though still slower than gorder
). Additionally, in this run, lipyphilic
calculated order parameters only for the entire membrane, not for individual leaflets. In contrast, both order
and gorder
were run with this capability enabled.
gorder
is also available as a Rust crate. See the gorder manual and the corresponding docs.rs page for more information.
The command line tool and the crate are both released under the MIT License.
gorder
only works for simulations with orthogonal simulation boxes.gorder
is developed on Linux for Linux. While it should work on other operating systems, it is not guaranteed.