| Literature DB >> 32401799 |
Eric Wright1, Mauricio H Ferrato1, Alexander J Bryer2, Robert Searles1, Juan R Perilla2, Sunita Chandrasekaran1.
Abstract
Experimental chemical shifts (CS) from solution and solid state magic-angle-spinning nuclear magnetic resonance (NMR) spectra provide atomic level information for each amino acid within a protein or protein complex. However, structure determination of large complexes and assemblies based on NMR data alone remains challenging due to the complexity of the calculations. Here, we present a hardware accelerated strategy for the estimation of NMR chemical-shifts of large macromolecular complexes based on the previously published PPM_One software. The original code was not viable for computing large complexes, with our largest dataset taking approximately 14 hours to complete. Our results show that serial code refactoring and parallel acceleration brought down the time taken of the software running on an NVIDIA Volta 100 (V100) Graphic Processing Unit (GPU) to 46.71 seconds for our largest dataset of 11.3 million atoms. We use OpenACC, a directive-based programming model for porting the application to a heterogeneous system consisting of x86 processors and NVIDIA GPUs. Finally, we demonstrate the feasibility of our approach in systems of increasing complexity ranging from 100K to 11.3M atoms.Entities:
Mesh:
Substances:
Year: 2020 PMID: 32401799 PMCID: PMC7250467 DOI: 10.1371/journal.pcbi.1007877
Source DB: PubMed Journal: PLoS Comput Biol ISSN: 1553-734X Impact factor: 4.475
Fig 1Visual representation of serial profiling data.
(A) The pie chart represents the time taken by the original version of the code. (B) The pie chart represents the time consumed by the different parts of the code after implementing various optimizations.
Fig 2Visual rendering of used datasets.
(A) The first tested dataset constitutes 100,000 atoms, roughly a quarter-turn, of the Dynamin GTPase extracted and written to their own Protein Database (PDB) file. (B) Structure B was the HIV-1 capsid assembly (CA) without Hydrogens. (C) Structure C is the HIV-1 CA decorated with Cyclophilin A (CypA). (D) structure D is the same HIV-1 CA decorated with Myxovirus resistance protein B (MxB). (E) Structure E is a 6.8 million atom model, 14 turns, of the GTPase.
Results for small to large dataset.
| 100k atoms | 1.5m atoms | 5m atoms | 6.8m atoms | 11.3m atoms | |
|---|---|---|---|---|---|
| Serial (Unoptimized) | 167.11s | 572.01s | 3547.07s | 7 hrs (esimate) | 14 hrs (estimate) |
| Serial (Optimized) | 53.57s | 196.12s | 2003.6s | 1510.71s | 2614.4s |
| Multicore | 4.67s | 32.82s | 116.66s | 153.8s | 146.06s |
| P40 | 3.47s | 17.15s | 56.2s | 78.57s | 72.55s |
| V100 | 3.11s | 13.62s | 39.79s | 49.63s | 46.71s |
For these results, an Intel Xeon e5-2698 v4 20 cores CPU and a NVIDIA Volta V100 GPU were used.
Runtime for medium dataset by function.
| 5m atoms | Total Runtime | get_contact | getani | getring | gethbond |
|---|---|---|---|---|---|
| Serial (Optimized) | 2003.60 | 1177.61s | 58.95s | 22.53s | 708.07s |
| Multicore | 116.66s | 51.73s | 2.4s | 0.6s | 25.39s |
| P40 | 56.2s | 1.69s | 1.06s | 0.5s | 17.05s |
| V100 | 39.79s | 0.2s | 0.24s | 0.18s | 2.35s |
RMSE difference between CPU and GPU code.
| C_a | C_b | C | HN | N | H_a | |
|---|---|---|---|---|---|---|
| RMS error (ppm) | 1.58e-4 | 8.48e-5 | 1.97e-4 | 5.22e-5 | 2.84e-4 | 1.02e-4 |
| Max error (ppm) | 0.013 | 0.008 | 0.017 | 0.007s | 0.025 | 0.013 |