Date Published: June 01, 2017
Publisher: International Union of Crystallography
Author(s): Daniel Castaño-Díez.
A technical description of the Dynamo software package for subtomogram averaging is provided. Details are given on advanced MATLAB libraries, parallelization strategies, the use of GPUs and accessibility though the Amazon cloud computing services.
The cryo-electron tomography technique allows the imaging of cellular structures in a close-to-native context (Lučić et al., 2005 ▸, 2013 ▸), representing them as three-dimensional models called tomograms. Copies of a given macromolecular structure can be located and averaged together by the technique known as subtomogram averaging, which aligns the noisy copies with their common signal, possibly classifying different conformational states (Briggs, 2013 ▸). The scope of the attainable level of detail has dramatically increased since the introduction of direct detector cameras, with several reports of resolutions below one nanometre (Schur et al., 2015 ▸; Khoshouei et al., 2016 ▸; Pfeffer et al., 2015 ▸) or even close to the atomic level (Schur et al., 2016 ▸).
The Dynamo package offers a flexible software infrastructure for tomography-related projects, embracing most of the possibly required processing steps inside an integrated environment. Its internal structure exploits the simplicity of the MATLAB programing language in several aspects, in particular its parallelization and GPU-enabling engines, the application of which inside Dynamo 1.2.x has been described and documented to facilitate their use as modular components in other applications. Dynamo aims at helping cryo-electron tomography practitioners to adopt the GPU technology as a standard computing device, especially for subtomogram averaging. Advanced users or developers are provided with ready-to-use tools that greatly simplify the production of efficient GPU code. New users have the option of simply running Dynamo GPU projects in the cloud on a pay-as-you-go basis, avoiding costly initial purchases and the complex software and hardware setup.