Skip to content

Commit 366d803

Browse files
committed
Validation part two
1 parent efca987 commit 366d803

File tree

3 files changed

+23
-6
lines changed

3 files changed

+23
-6
lines changed

README.md

+23-6
Original file line numberDiff line numberDiff line change
@@ -56,26 +56,42 @@ $ gorder YOUR_INPUT_YAML_FILE
5656
## Validation
5757
5858
### Atomistic order parameters
59-
🏗️ Work in progress... 🏗️
59+
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:
60+
- [`OrderParameter.py` by NMR Lipids](https://github.com/NMRLipids/Databank/blob/main/Scripts/AnalyzeDatabank/calcOrderParameters.py)
61+
- [VMD's `calc_op.tcl` script](https://www.ks.uiuc.edu/Research/vmd/mailing_list/vmd-l/att-14731/calc_op.tcl)
62+
63+
We also present a comparison of the calculated order parameters with the results from `gmx order`. Note that `gmx order` actually calculates united atom order parameters, so it is not suitable for atomistic systems. (However, many users still utilize it.)
64+
65+
![Three completely overlapping curves, appearing as a single curve, and an additional dashed curve corresponding to `gmx order`.](validation/aaorder_validation.png)
66+
67+
*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.*
6068
6169
### Coarse-grained order parameters
62-
A Martini 3 simulation of a membrane consisting of 512 POPC lipids was used to validate 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:
70+
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:
6371
- [Martini's `do-order` script](https://cgmartini.nl/docs/downloads/tools/other-tools.html#do-order)
6472
- [`lipyphilic` library](https://lipyphilic.readthedocs.io/en/stable/index.html)
6573
- [Ladme's `order` program](https://doi.org/10.5281/zenodo.8369479)
6674
6775
![Four completely overlapping curves, appearing as a single curve.](validation/cgorder_validation.png)
6876
69-
*Yes, all programs returned the same results. Minor variations due to the employed calculation approaches are too small to be visible in the chart.*
77+
*All programs produce the same results. Minor variations due to the employed calculation approaches are too small to be visible in the chart.*
7078
7179
## Benchmarking
72-
> **tl;dr `gorder` is fast. Like *really* fast.**
80+
### Atomistic order parameters
81+
Run time of the analyses performed in the Validation section by various programs:
82+
![Bar chart showing the run time of various programs.](validation/aaorder_benchmark.png)
83+
84+
*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`](https://github.com/sharkdp/hyperfine). The `NMR lipids` script and `calc_op.tcl` were dramatically slower, so only approximate values obtained using GNU's `time` are reported.*
85+
86+
<sup>a</sup> 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.
87+
88+
<sup>b</sup> 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]](https://doi.org/10.1021/acs.jctc.7b00643). Additionally, it is slower and more tedious to use than `gorder`, so there is little justification for using it for atomistic systems.
7389
7490
### Coarse-grained order parameters
7591
Run time of the analyses performed in the Validation section by various programs:
7692
![Bar chart showing the run time of various programs.](validation/cgorder_benchmark.png)
7793
78-
*Benchmarks were run on 8-core Intel Core i7-10700 CPU. Benchmarking of `order` and `gorder` was performed using [`hyperfine`](https://github.com/sharkdp/hyperfine). `do-order` and `lipyphilic` were really slow, so only an approximate value obtained using GNU's `time` is reported.*
94+
*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`](https://github.com/sharkdp/hyperfine). `do-order` and `lipyphilic` were dramatically slower, so only an approximate value obtained using GNU's `time` is reported.*
7995
8096
<sup>a</sup> 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.
8197
@@ -88,4 +104,5 @@ Run time of the analyses performed in the Validation section by various programs
88104
The command line tool and the crate are both released under the MIT License.
89105
90106
## Limitations
91-
Only works for simulations with orthogonal simulation boxes.
107+
- `gorder` only works for simulations with orthogonal simulation boxes.
108+
- `gorder` is developed on Linux for Linux. While it should work on other operating systems, it is not guaranteed.

validation/aaorder_benchmark.png

35.7 KB
Loading

validation/aaorder_validation.png

68.9 KB
Loading

0 commit comments

Comments
 (0)