| Literature DB >> 28580909 |
Abstract
Dynamo is a package for the processing of tomographic data. As a tool for subtomogram averaging, it includes different alignment and classification strategies. Furthermore, its data-management module allows experiments to be organized in groups of tomograms, while offering specialized three-dimensional tomographic browsers that facilitate visualization, location of regions of interest, modelling and particle extraction in complex geometries. Here, a technical description of the package is presented, focusing on its diverse strategies for optimizing computing performance. Dynamo is built upon mbtools (middle layer toolbox), a general-purpose MATLAB library for object-oriented scientific programming specifically developed to underpin Dynamo but usable as an independent tool. Its structure intertwines a flexible MATLAB codebase with precompiled C++ functions that carry the burden of numerically intensive operations. The package can be delivered as a precompiled standalone ready for execution without a MATLAB license. Multicore parallelization on a single node is directly inherited from the high-level parallelization engine provided for MATLAB, automatically imparting a balanced workload among the threads in computationally intense tasks such as alignment and classification, but also in logistic-oriented tasks such as tomogram binning and particle extraction. Dynamo supports the use of graphical processing units (GPUs), yielding considerable speedup factors both for native Dynamo procedures (such as the numerically intensive subtomogram alignment) and procedures defined by the user through its MATLAB-based GPU library for three-dimensional operations. Cloud-based virtual computing environments supplied with a pre-installed version of Dynamo can be publicly accessed through the Amazon Elastic Compute Cloud (EC2), enabling users to rent GPU computing time on a pay-as-you-go basis, thus avoiding upfront investments in hardware and longterm software maintenance.Entities:
Keywords: Amazon EC2; GPU computing; cloud computing; cryo-electron tomography; subtomogram averaging
Mesh:
Year: 2017 PMID: 28580909 PMCID: PMC5458489 DOI: 10.1107/S2059798317003369
Source DB: PubMed Journal: Acta Crystallogr D Struct Biol ISSN: 2059-7983 Impact factor: 7.652
Figure 1User interface for subtomogram-averaging projects.
Figure 2Model functionalities exemplified for membrane geometries. (a) shows a bacterial membrane where the user defines an area of interest in the tomogram browser and a group of seed points (in red). (b) is one of the user interfaces attached to the membrane model, offering a montage view of the area of interest. Each slice represent a z-cut of the tomogram for different, equispaced values of z. Seed points entered by the user on the first section are used to automatically compute points belonging to the membrane in the next section. The GUI allows the immediate evaluation and correction of the automatic detection. (c) The detected set of points. These are processed by the workflow GUI in (d) to parameterize the membrane as a smoothly triangulated surface, which is then used to define a regular distribution of points, each of which is provided with an initial orientation normal to the membrane, as shown in (e).
Figure 3Functionality areas of Dynamo and associated commands. Catalogues (opened with the command dcm) take care of archiving lists of tomograms. Individual tomograms are visualized inside the volume browser dtmslice, with is connected to the model system and its geometric tools. The annotations created by models are stored in the catalogue, which can produce a data set of cropped subtomograms, a process driven by the command dtcrop. Alignment projects on the formed data set can be run through the GUI dcp. While the main result of an alignment project is the final average, in practice it is frequently necessary to closely inspect all of the results of an alignment process to further the analysis. To this end, Dynamo includes tools for PCA-based classification (dccm_analysis), visualization of averages (dview, dmapview) and metadata (dtshow) in the context of the original tomograms (dpktomo.volume.slices.Slice, dtplace) and database access to all elements generated by the project (ddb).
Features of compared GPU models
| GPU model | CUDA cores | Clock speed (MHz) | Price estimate ($) |
|---|---|---|---|
| Quadro K620 | 384 | 1059 | 190 |
| GTX 1080 | 2560 | 1670 | 700 |
| Titan X Pascal | 3072 | 1000 | 1700 |
| K20m | 2496 | 706 | 2200 |
| K80 (dual) | 2 × 2496 | 562 | 4400 |
Speedup attained by the tested GPUs for three-dimensional (3D) FFT computations at different cube sizes
| CPU | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| K620 | GTX 1080 | Titan X | K20m | K80 | |||||||
| Cube size | Time per 3D FFT (ms) | Speedup | Speedup per $1000 | Speedup | Speedup per $1000 | Speedup | Speedup per 1000$ | Speedup | Speedup per $1000 | Speedup | Speedup per $1000 |
| 32 | 5.8 | 35× | 176 | 45× | 64 | 49× | 27 | 38× | 17 | 100× | 23 |
| 64 | 6.2 | 16× | 78 | 45× | 65 | 50× | 28 | 39× | 18 | 102× | 23 |
| 128 | 68.3 | 14× | 71 | 131× | 188 | 179× | 100 | 78× | 36 | 198× | 43 |
| 256 | 566.0 | 13× | 67 | 178× | 254 | 261× | 145 | 100× | 45 | 236× | 54 |
| 512 | 6719.8 | — | — | 137× | 296 | 202× | 112 | 73× | 33 | 178× | 40 |