Abstract

Image-processing software has always been an integral part of structure determination by cryogenic electron microscopy (cryo-EM). Recent advances in hardware and software are recognized as one of the key factors in the so-called cryo-EM resolution revolution. Increasing computational power has opened many possibilities to consider more demanding algorithms, which in turn allow more complex biological problems to be tackled. Moreover, data processing has become more accessible to many experimental groups, with computations that used to last for many days at supercomputing facilities now being performed in hours on personal workstations. All of these advances, together with the rapid expansion of the community, continue to pose challenges and new demands on the software-development side. In this article, the development of emcore and emvis, two basic software libraries for image manipulation and data visualization in cryo-EM, is presented. The main goal is to provide basic functionality organized in modular components that other developers can reuse to implement new algorithms or build graphical applications. An additional aim is to showcase the importance of following established practices in software engineering, with the hope that this could be a first step towards a more standardized way of developing and distributing software in the field.

Highlights

  • Advances in cryogenic electron microscopy (cryo-EM) have been closely related to imageprocessing and software development since the early days of the field (Kuhlbrandt, 2014; Belnap, 2015; Bai et al, 2015)

  • Back in 1992, seven software packages that were in use at the time were reviewed by Hegerl (1992), and just a few years later, in 1996, a special issue of the Journal of Structural Biology was dedicated to software tools for molecular microscopy (Carragher & Smith, 1996)

  • At the time of writing, the Wikipedia page https://en.wikibooks.org/wiki/Software_Tools_For_Molecular_Microscopy contained 17 general packages, 27 specific packages, 38 application tools, 19 visualization tools and six utilities, with many programs not being registered on the list

Read more

Summary

Introduction

Advances in cryo-EM have been closely related to imageprocessing and software development since the early days of the field (Kuhlbrandt, 2014; Belnap, 2015; Bai et al, 2015). Despite the clear advantages of a common dependencies into a project that are not needed by commandeffort in terms of software libraries, there are many complex line programs or if other graphical implementations are factors that should be taken into account to analyze the considered For both emcore and emvis we have chosen to reasons for such an initiative to be widely adopted (or not) by follow object-oriented programming paradigms, which have the community (Smith & Carragher, 2008). We present the design and implementation of high flexibility and elegant syntax Both languages are widely two basic software libraries for cryo-EM: emcore and emvis. A binding layer provides access to emcore from libraries or applications written in Python This binding is used by emvis to implement visualization components, based on general models, views and widgets defined in datavis. The emvis library implements some of the defined models for cryo-EM data using the Python binding provided by emcore

Using emcore and emvis
Applications
Conclusions and future plans
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call