McNicholas Stuart, Croll Tristan, Burnley Tom, Palmer Colin M, Hoh Soon Wen, Jenkins Huw T, Dodson Eleanor, Cowtan Kevin, Agirre Jon
Department of Chemistry, York Structural Biology Laboratory, The University of York, York, YO10 5DD, United Kingdom.
Department of Haematology, Cambridge Institute for Medical Research, University of Cambridge, Cambridge, CB2 0XY, United Kingdom.
Protein Sci. 2018 Jan;27(1):207-216. doi: 10.1002/pro.3299. Epub 2017 Nov 6.
Scripting programming languages provide the fastest means of prototyping complex functionality. Those with a syntax and grammar resembling human language also greatly enhance the maintainability of the produced source code. Furthermore, the combination of a powerful, machine-independent scripting language with binary libraries tailored for each computer architecture allows programs to break free from the tight boundaries of efficiency traditionally associated with scripts. In the present work, we describe how an efficient C++ crystallographic library such as Clipper can be wrapped, adapted and generalized for use in both crystallographic and electron cryo-microscopy applications, scripted with the Python language. We shall also place an emphasis on best practices in automation, illustrating how this can be achieved with this new Python module.
脚本编程语言提供了实现复杂功能原型的最快方法。那些语法和文法类似于人类语言的脚本编程语言还极大地提高了所生成源代码的可维护性。此外,将强大的、与机器无关的脚本编程语言与针对每种计算机架构量身定制的二进制库相结合,可使程序摆脱传统上与脚本相关的效率严格限制。在本工作中,我们描述了如何对高效的C++晶体学库(如Clipper)进行包装、适配和通用化,以便在晶体学和电子冷冻显微镜应用中使用,并使用Python语言进行脚本编写。我们还将重点介绍自动化方面的最佳实践,说明如何通过这个新的Python模块来实现这一点。