Advanced Algorithm Development for
Cryo-EM Calculations
Director: Esmond Ng,
LBL

The goal of this project
is to draw on the experience of the PI and the staff in scientific
computing at the National Energy Research Scientific Computation Center
(NERSC) to improve the performance and quality of the software packages
(SPIDER and SPARX) that are developed withing this program
project.
One of our specific aim for Project C is that in collaboration with
projects A, B, and E, we will provide a unified framework in which the
refinement of the 3-D density map and orientation parameters of each
particle image will be treated as closely related objects of the same
optimization problem. In addition to improving the efficiency of
the existing algorithm through parallel progressively localized
projection matching, preconditioning, regularization, and efficient
implementation of the projection and back-projection operators, we will
also investigate the possibility of combing derivative-based local
optimization schemes with the global combinatorial search algorithm to
be developed in Project E to update the e-D density map and orientation
parameters of particle data simultaneously.
Another aim is to enable the existing cryo-EM software package (SPIDER)
to run with optimal efficiency on distributed-memory parallel
computers. Our primary focus is on LINUX clusters consisting of
commodity processors. In order to achieve this goal, we will
assist in the development of a "publish & subscribe" version of the
software (Project A) that can be used in a heterogeneous parallel
environment by experimenting with different task partitioning
strategies and analyzing task dependencies. We will also work
with the PI and staff of Project A to provide a medium to fine-grain
level parallelism by adding Message Passing Interface (MPI)
communication primitives to several components of SPIDER. This effort
will augment the "publish & subscribe" parallelism to be developed
in Project A, and allow users to take advantage of homogeneous
computing
environment whenever possible. Furthermore, we will apply other
performance enhancement techniques such as data locality optimization
and non-blocking communication to reduce memory and communication
latency.
Besides the goals mentioned above, we also aim to provide algorithmic
and implementation support to the new cryo-EM software package (SPARX)
to be developed in Project B by applying both new theoretical results
and computational experience gathered in the first two specific aims to
ensure that SPARX is not only easy to use but also capable of providing
efficient and accurate solutions to high-resolution single-particle
reconstructions.
Our ultimate goal in this project is to bridge the gap between cryo-EM
research and the current hardware and algorithmic innovation in
scientific computing. Our effort will be devoted directly to
improving the performance and quality of two complementary cryo-EM
software packages SPIDER and SPARX. The primary focus is to
enable the existing (SPIDER) and new (SPARX) cryo-EM software packages
to run efficiently on LINUX clusters consisting of commodity
processors.