研究论文\(\def\h填{\hskip5em}\def\hfil{\hski p3em}\def\eqno#1{\hfil{#1}}\)

期刊徽标结构性的
生物学
编号:2059-7983

中央对手方清算所42:新的图形用户界面中央对手方清算所4程序集

十字标记_颜色_方形_文本.svg

约克大学化学系约克结构生物学实验室,约克YO10 5DD,英国,b条STFC Rutherford Appleton实验室,英国迪德科特OX11 0QX Chilton,c(c)英国剑桥CB2 0QH Francis Crick大道MRC分子生物学实验室,d日纽卡斯尔大学泰恩河畔分校,北癌症研究所,弗拉姆林顿广场,纽卡斯尔泰恩河岸NE2 4HH,英国,e(电子)生物物理结构化学,莱顿大学,邮政信箱9502,2300 RA Leiden,The Netherlands,(f)德国哥廷根Tammannstrasse 4,37077,Georg-August-Universität Göttingen,结构化学系,英国牛津OX3 7BN牛津大学纳菲尔德医学院小时英国迪德科特OX11 0QX哈维尔科技创新园区钻石光源有限公司
*通信电子邮件:martin.noble@newcastle.ac.uk网站,keith.wilson@york.ac.uk

(2017年8月1日收到; 2017年11月6日接受; 在线2018年2月1日)

这个中央对手方清算所4(协作计算项目,第4号)高分子软件套件结构测定通过X射线晶体学小组将许多程序和库集合在一起,这些程序和库通过良好的约定有效地互操作,而无需遵守严格的设计准则。由于这种固有的灵活性,用户在解决每种类型的问题时往往会有不同甚至是不同的选择。最近,CCP4推出中央对手方清算所42,一个现代图形界面,旨在帮助结构生物学家导航结构确定,强调流水线和结果的简化表示。此外,中央对手方清算所42为编写结构解决脚本提供了一个框架,可以逐步构建这些脚本来创建越来越自动化的过程。

1.简介

CCP4(协作计算项目,编号4)始于1979年,是学术高分子结晶学(MX)软件开发人员之间的协作论坛。今天,它以支持和发布一套程序而闻名(Winn等。, 2011【Winn,M.D.等人(2011),《结晶学报》,D67,235-242。】)这是由众多开发人员贡献的,并用于组织会议和研讨会,这些会议和研讨会特别适合教育缺乏经验的晶体学家。CCP4有几个固定的工作人员,他们确保软件套件是健壮的、多平台的、易于安装、定期更新并有良好的文档记录。他们提供在线支持和培训研讨会,并维护一个活跃的同行支持的公告栏。

大约在2003年之前,使用程序套件的晶体学家通常必须使用命令行和脚本来运行程序。中央对手方清算所4(波特顿等。2002年[波特顿,E.,麦克尼古拉斯,S.,克里斯内尔,E.,考坦,K.&诺布尔,M.(2002),《水晶学报》D581955-1957.])这是该套件中第一个广泛使用的图形用户界面(GUI),简化并加快了该套件的使用,并提供了查看文件和跟踪数据库中结构求解过程的工具。MX程序的类似图形界面包括香港(HKL)2地图(Pape&Schneider,2004年【Pape,T.&Schneider,T.R.(2004),《应用结晶杂志》,第37期,第843-844页。】),香港(HKL)-3000(次要等。, 2006[米诺·W·米诺、辛布罗夫斯基·M·米诺(Cymborowski)、奥特温诺夫斯基(Otwinowski),Z·&赫鲁斯茨(Chruszcz),M·(2006),《水晶学报》D62,859-866.])和菲尼克斯(回声等。, 2012【Echols,N.、Grosse Kunstleve,R.W.、Afonine,P.V.、Bunkóczi,G.、Chen,V.B.、Headd,J.J.、McCoy,A.J.、Moriarty,N.W.、Read,R.J.、Richardson,D.C.、Richardson,J.S.、Terwilliger,T.C.和Adams,P.D.(2012)。《应用晶体》第45581-586期。】). 一种不同的方法,它提供了电子密度图和模型的图形视图,以及主要用于模型构建的交互式工具,用于库特(埃姆斯利等。, 2010【Emsley,P.、Lohkamp,B.、Scott,W.G.和Cowtan,K.(2010),《水晶学报》D66、486-501。】).

中的图形界面中央对手方清算所4基于支持较差的Tcl/Tk工具包的,现在已经过时,因此现在适合中央对手方清算所42项目将提供一个替代自动化和GUI系统,通过更现代的GUI原理和从实施中吸取的教训中央对手方清算所4关键目标是提供自动化结构解决方案主要阶段的高级任务,并消除对文件格式、程序输入、程序日志文件组织等专业知识的需要。中央对手方清算所42控制任务和显示任务结果的工作流和科学决策被设计为尽可能透明,并已注意保持底层数据的可访问性。关键目标中央对手方清算所42是为了提高缺乏经验的晶体学人员的可访问性,使用默认方法实现简单的结构解决方案,提供清晰的报告和文档,使用户能够理解过程并调查结果。我们还试图让更有经验的晶体学家对每一步进行微调,以解决更困难的问题。有关结构求解过程的关键信息捕获在数据库中,该数据库维护所有运行的作业以及导入和生成的所有数据的记录。

1.1. 用户界面

中央对手方清算所42包括三个主要元素:数据库支持的项目/作业管理系统、脚本/报告框架和这些元素的图形用户界面。用户对软件套件的大多数体验都是由其用户界面决定的,这里对此进行了描述。鼓励用户将其工作组织到项目中:通常,一个项目可能会产生一个已解决的结构。用户通过项目窗口查看项目的状态,如图1所示[链接]。此窗口的左侧是“作业列表”,是与项目关联的所有作业和数据对象的嵌套列表,右侧最初是“任务菜单”,是组织到与结构解决方案中的阶段对应的模块中的所有可用任务的列表。当用户从菜单中选择任务时,菜单将被相应的“任务输入”框替换。执行作业后,“任务输入”框架将替换为“报告”框架,该框架显示任务的结果。对于运行时间较长的任务,“报告”框架将在任务运行时不断更新。

[图1]
图1
项目窗口的三个视图。()任务菜单。(b条)任务输入框。(c(c))任务报告。

“输入”通常有几个选项卡,最上面的选项卡被标记为“输入数据”,并允许用户选择任务的输入数据。其他选项卡提供对任务不同方面的控制,但通常用户只需要为任务选择足够的输入数据,然后使用合理的默认参数运行。所有数据对象(坐标、反射、相位等。)存储在离散文件中,但数据库为每个文件维护一个用户可编辑的标签,这比文件在文件系统中的路径更有意义。晶体仪使用中央对手方清算所4鼓励2考虑“数据对象”而不是“文件”:用户只需关注数据内容,因为软件将在后台处理文件存储。用于选择输入数据的小部件都具有类似的外观(图2[链接]),带有一个下拉菜单,其中列出了项目中已存在的任何适当数据的标签。此类数据必须是由项目中的前一个作业导入或创建的。在许多情况下,默认值是自动选择的,即来自最近运行的作业的数据。下拉菜单右侧有一些按钮,用于从web服务器下载数据,并从中的其他项目中选择数据中央对手方清算所42数据库或从本地文件系统导入文件。小部件的左侧是“图标按钮”,其中有一个图标指示数据类型,还有一个关联的上下文菜单,用于访问文档以及显示、复制或粘贴数据的功能。上下文菜单提供特定于给定数据类型的附加功能,例如从坐标数据对象中选择有限的原子集。

[图2]
图2
典型任务输入的片段,显示小部件以选择与“反射”和“阶段”对应的数据。

任务设计为需要最少的用户输入。如果输入是必需的,但用户尚未提供,则相应的小部件以红色突出显示。同样,任务界面提供的控制参数将根据开发人员指定的标准进行验证,不适当的输入以红色突出,并在解决不一致问题之前阻止任务的执行。界面是动态的,因为可用的详细选项可能会根据用户的数据选择进行更新。

默认情况下,所有文件和作业都指定了标签。然而,用户可以编辑这些标签,使其更有意义和描述性,这可能有助于他们将来审查项目。在“输入”和“结果”选项卡旁边还有一个“注释”选项卡,用户可以在其中输入有关特定作业的更详细注释。

作业列表(图3[链接])显示了与项目相关联的所有作业,以最新的第一个作业和指示状态的图标列出(例如“挂起”或“正在运行”)。许多作业都有关联的“评估”,例如R(右)的值精细化。还有一列图标表示用户的手动评估,如“最佳”、“良好”或“被拒绝”。作业在树状视图小部件中按层次显示:可以单击每个作业的公开三角形,以显示父作业派生的“子作业”,以及由此导入或生成的数据对象。树视图中的每个条目(作业、子作业或数据对象)都有一个关联的上下文菜单,可以访问相关功能。例如,对于作业和子作业,此功能可能是查看关联的日志文件,而对于数据对象,此功能可以在合适的查看实用程序中打开。因此,用户可以深入查看特定作业的详细信息。中央对手方清算所42使用其他图形查看器显示文件的内容。这个中央对手方清算所4程序qtR视图显示程序日志文件。查看HKL(Krissinel和Evans,2012年【Krissinel,E.&Evans,P.(2012)。CCP4新闻。蛋白质结晶器。48,贡献3。https://www.ccp4.ac.uk/newsletters/newsletter48/articles/ViewHKL/ViewHKL.html。])用于查看MTZ实验数据文件。库特(埃姆斯利等。, 2010【Emsley,P.、Lohkamp,B.、Scott,W.G.和Cowtan,K.(2010),《水晶学报》D66、486-501。】)和中央对手方清算所4毫克(麦克尼古拉斯等。, 2011[McNicholas,S.,Potterton,E.,Wilson,K.S.和Noble,M.E.M.(2011)。晶体学报,D67386-394。])用于查看地图和坐标文件。“作业列表”选项卡旁边的“项目目录”选项卡显示了执行作业的文件系统目录的内容,从而可以访问软件开发人员或专家用户可能感兴趣的信息。

[图3]
图3
显示项目中已运行两个作业的作业列表(“数据缩减”和`MOLREP公司')以及与这些作业关联的子作业和文件。

广泛的文档中央对手方清算所4CCP4网站为2名用户和开发人员提供了该程序。文档包括一个介绍性的“快速入门”教程(也可以在YouTube上的视频获得https://www.youtube.com/watch?v=fB7BRVzBURg),讨论中使用的不同类型的数据中央对手方清算所42和关于所有任务的全面文档,解释任务输入选项和报告。

2.实施概述

中央对手方清算所42是用Python脚本语言编写的(https://www.python.org). 这是为了便于与其他主要的大分子晶体学软件包协作而选择的,至少在一定程度上是这样。与Python捆绑在一起的库种类繁多,并且可以作为易于安装的第三方插件使用,这使得它成为许多项目的一个有吸引力的选择。中使用的图形工具包中央对手方清算所42为Qt(网址:https://www.qt.io/),具有PyQt项目提供的Python接口(https://riverbankcomputing.com/software/pyqt/intro). 如表1所示,还使用了其他一些Python语言软件工具[链接]SWIG系统(网址:https://www.swig.org)已用于为中使用的科学C++库提供Python接口中央对手方清算所4,包括模型坐标库MMDB(Krissinel等。, 2004【Krissinel,E.B.,Winn,M.D.,Ballard,C.C.,Ashton,A.W.,Patel,P.,Potterton,E.A.,McNicholas,S.J.,Cowtan,K.D.&Emsley,P.(2004),《水晶学报》,D60,2250-2255。】)和晶体库Clipper(Cowtan,2003)[Cowtan,K.D.(2003),《IUCr计算通讯》,第2期,第4-9页。https://www.iucr.org/resources/commissions/crystallographic-computing/newsletters/2。]). 所有这些工具都作为定制的Python发行版收集在一起,称为ccp4-Python,它是作为中央对手方清算所4套房。ccp4-python可用于三种最广泛使用的桌面平台(Windows、MacOSX和Linux),并提供了一系列优秀的工具,允许开发人员分发软件中央对手方清算所4发行版提供了所有基本的依赖关系。图形界面和科学脚本都是用Python编写的,因此它们都可以访问ccp4-Python、数据模型以及编码在中央对手方清算所42

表1
第三方Python库捆绑在ccp4-Python中,用于中央对手方清算所42

Python库 功能 统一资源定位地址
lxml 处理XML文件 https://lxml.de
笨蛋 科学计算 https://www.numpy.org
马特普洛特利布 二维图形绘制 https://matplotlib.org网站
帕拉米科 机器间通信 https://www.paramiko.org/
psutil公司 访问操作系统实用程序 https://pypi.python.org/pypi/psutil

这个中央对手方清算所42软件包括两个组件:提供框架的“核心”软件,包括图形界面、数据库和数据模型,以及对科学功能进行编码的“任务”,通常为包含在中央对手方清算所4套房。每个包装器为包装好的程序生成适当的输入,运行程序并处理程序输出。套件中的一些水晶图形软件可以直接访问通过Python接口,以便“包装器”脚本可以使用此接口,而不是包装和执行单独的程序。包装器脚本的编程接口是一组具有严格定义的接口的Python函数,这意味着可以通过组合多个包装器脚本来直接生成“管道”脚本,从而运行多个不同的程序。中央对手方清算所42包装器和管道都被称为“任务”。任务的一致Python接口也有助于以最少的编程工作量创建一致的图形界面。这些任务处理单个程序的特性,并对大量晶体专业知识进行编码,以促进优化使用中央对手方清算所由不熟练的晶体学家开发的4个软件。为“任务”提供一致的Python接口的基本思想与其他结构解决系统(例如菲尼克斯并使与在这些系统中开发的软件的接口变得可行。

这些任务由许多不同的开发人员执行,他们在结构解决方案的不同方面具有专业知识,涵盖了从数据处理到最终结构验证和分析的整个结构解决过程。虽然大多数任务都运行非图形程序,但仍有一些任务运行交互式软件,如库特中央对手方清算所4毫克将这些程序集成到中央对手方清算所42框架使其使用不太容易出错,简化了应用程序之间的数据移动,并创建了该过程中使用和创建的数据和文件的永久记录。

关键进展中央对手方清算所42个以上中央对手方清算所4(以及类似的菲尼克斯GUI)是对项目中所有数据的清晰跟踪。这不仅改善了用户界面,而且重要的是,它还可以作为结构解决过程的长期记录。通过实现数据模型,明确定义流程每个步骤中使用的所有数据类型,以及维护一个健壮的数据库,可以实现数据跟踪。在数据模型中,每个数据类型都由Python类表示。这些类涵盖了一系列复杂性,例如CInt公司,整数;C电池,晶体学单位-细胞参数;CMtz数据文件MTZ数据文件的引用;CEnsemble公司,输入模型集合的完整描述分子替换。Python数据类提供了许多实用函数。例如,CMtz数据文件具有从MTZ文件返回信息的函数。对于每个数据类,界面中都使用了一个适当的图形小部件。所有任务都有根据Python数据类明确定义的输入和输出数据,以便可以在任务之间无缝传递数据。输入和输出数据以传统文件格式保存[例如PDB(Callaway等。, 1996【Callaway J.等人(1996)。蛋白质数据库内容指南:原子坐标输入格式描述。厄普顿:布鲁克海文国家实验室。https://cdn.rcsb.org/wwpdb/docs/documentation/file-format/PDB_format_1996.pdf。])或成本加保险费、运费(Westbrook&Fitzgerald,2009年【Westbrook,J.D.&Fitzgerald,P.M.D.(2009)。结构生物信息学,第二版,J.Gu&P.E.Bourne编辑,第271-291页。霍博肯:约翰·威利父子公司。])对于模型坐标,MTZ用于反射数据]和内部中央对手方清算所42数据类只跟踪文件名,而不是实际的科学数据。

数据库保存所有运行的作业和使用的所有文件的记录。中的关键数据中央对手方清算所42数据库是“项目”、“作业”、“文件”和“文件使用”。作业对应于一个实例,其中中央对手方清算所42任务已运行。每个作业都与一个项目关联。对于每个作业,都会记录所有输出数据(数据库中的“文件”)和输入数据(数据库内的“文件使用”)。

每个中央对手方清算所42项目有一个关联的目录结构,其中与项目关联的所有文件都以严格组织的方式保存。导入到项目中的任何文件的副本始终保存在项目目录中,与任何给定作业关联的所有文件都会自动保存在该作业的子目录中。

2.1. 数据模型

中央对手方清算所42具有明确定义的数据类型,接口和脚本中的所有数据和参数都必须是定义的类型之一。这种方法使不同任务之间以及图形界面、脚本和数据库之间的数据传输更加容易。每个数据类型都由一个提供相关功能的Python类表示,每个数据类型有一个关联的图形小部件,以便用户看到一致的表示。

中央对手方清算所42,尽可能引导用户输入适当的参数,并在输入无效或丢失时发出警告。任务开发人员可以将条件与任务的每个控制参数相关联。此类标准的示例包括最小允许值、最大允许值、默认值以及是否可以不定义该值。这些标准存储在限定符的属性中央对手方清算所42个数据类,可以为代表一个任务参数的类的每个实例设置。大多数限定符与用户界面中的数据验证或表示相关。前者的一个例子:CInt公司(整数)可以指定最大值和/或最小值定义整数允许范围的限定符。后者的例子有gui标签工具提示为参数指定默认标签和“弹出”帮助的限定符。

基本数据类包括CInt公司(整数),C浮标(浮点数),CBoolean公司(布尔值),C管柱(字符串)和C列表(列表)。更具体的数据类可以从这些子类中划分出来;例如,单元格角度的定义(图4[链接]).

[图4]
图4
代码示例。()单元格角度的定义。(b条)用于处理单元参数的类的定义。(c(c))C空间组单元格类。(d日)的任务输入精炼使用REFMAC公司5

在这里,C倾斜角度派生自C浮标具有最大值最小值设置限定符,以便在CFloat.有效性()方法将为超出允许范围0–180°的值标记错误。默认值为因为没有合理的“最佳猜测”值工具提示它将出现在用户界面上,提醒用户该值以度为单位。该类唯一的附加代码是方法获取Radians()设置辐射(),它启用以弧度为单位的值的输入和输出。

更复杂的数据可以由多个基本数据类组成;例如,定义一个类来处理单元格参数所需的所有操作(图4[链接]b条).

在这里,C电池派生自C数据,它是复杂数据的基类,并提供通用功能和目录是指定单元格参数的字典,b条,c(c),α,βγ。每个组件都指定了一个类,并且工具提示限定符也被重新定义,以通知用户它是单元格中的哪个组件C电池类别;当它被实例化时C数据构建()方法基于目录定义和所有基本功能都继承自C数据.

还有一个C空间组派生自的类C管柱但有一个重要的有效性()方法来检查空间组有效,并且修复()该方法,除其他外,将通过将其转换为赫尔曼-莫根约定来“修复”替代空间组约定中输入的值。下一级的复杂性是C空间组单元格类,它由C电池C空间组(图4[链接]c(c)).

这个CSpaceGroupCell.validity()方法首次调用C单元格有效性()CSpaceGroup.validity()以确保组件有效,然后检查单元参数是否适合空间组。

用于处理中使用的所有数据的类中央对手方清算所42是根据与单元和空间群示例类似的原理建立的。对于中的每个数据类中央对手方清算所42有一个图形小部件来表示图形用户界面中的数据。

最重要的类是那些处理数据文件的类。中使用的所有数据中央对手方清算所42保存在文件中,通常采用常规格式,例如模型坐标的PDB或mmCIF,实验数据的MTZ。这个CDataFile(数据文件)类处理对文件的引用,并具有如下子类CPdb数据文件用于模型数据和CMtz数据文件用于实验数据。使用特定的数据文件类表明相应的数据对象是特定类型的,但文件处理类也有文件“子类型”和“文件内容”的概念,可以提供更多信息,例如反射数据是否以结构因子振幅或强度的形式出现,以及坐标文件是否包含完整模型、结构片段、重原子或同系物。虽然这些类别不能总是明确定义,但它们可以用于指导为特定任务选择适当的文件。在数据库中记录数据文件时,还会记录其文件类型、子类型和文件内容。因此CDataFile(数据文件)具有定义文件中与其在中的使用相关的元数据的属性中央对手方清算所42

CDataFile(数据文件)类提供了一个应用程序编程接口(API)来访问文件中的实际数据。可访问的数据仅限于对中央对手方清算所42个界面或脚本。对文件的访问通常是通过Python接口到常见的CCP4 C++库,例如用于坐标文件的MMDB和用于MTZ文件的Clipper。

重大变化中央对手方清算所42是实验数据的处理方式。MTZ文件格式旨在保存所有可能的实验数据类型(例如结构-系数振幅、相位和自由R(右)标记),文件中每列一组数据。某些数据(例如强度)需要多列,它们的误差由两列组成。中的大多数程序中央对手方清算所4套件只需要一个输入MTZ文件,并将输出一个MTZ文件。该文件是输入文件的副本,新数据附加在其他列中。要通过旧界面使用这些程序,如中央对手方清算所4,用户必须选择一个输入MTZ文件,然后指定要使用文件中的哪些列。这是一个两步过程,现已简化为中央对手方清算所42将数据组织在一个单独的“mini-MTZ”中,用于每个自给自足的数据集。不同的mini-MTZ包含一到四列数据。有四种类型的mini-MTZ。

  • (i) 反射数据:以反常反射对或平均值表示的合并结构因子振幅或强度。

  • (ii)相位概率分布,表示为具有相关优值(FOM)的相位或Hendrickson–Lattmann系数。

  • (iii)映射系数,对应于加权结构系数振幅和相关相位。

  • (iv)免费R(右)旗帜。

反射数据和相位都有可相互转换的替代表示法,尽管有些表示法携带更多信息,因此是首选的。中央对手方清算所42具有转换表示的工具,并将自动转换,以便输入到只能处理特定表示的任何程序。由于大多数程序仍然只需要一个MTZ输入文件,并且只输出一个MTZ文件中央对手方清算所42个包装器脚本在调用底层程序之前将mini-MTZ合并到一个输入文件中,并在程序完成后从输出MTZ文件中提取有用的新数据。虽然传统的MTZ文件仍然由中央对手方清算所4个程序“在引擎盖下”,并在需要时转换为mini-MTZ文件或从mini-MTZ文件转换而来,用户应该只看到与中的数据类型对应的小部件中央对手方清算所42,并且从外部导入MTZ文件时只需要暴露于传统的多列MTZ文件中央对手方清算所42或在导出数据时,例如在项目结束时进行沉积。使用mini-MTZ而不是传统的MTZ文件,这些文件可以有大量冗余数据,这将有助于减少使用时的磁盘空间需求中央对手方清算所42,但这种保存也依赖于清理机制,该机制通过多个步骤从管道中删除冗余工作文件(通常是大型MTZ文件)和中间文件。

2.2. 数据库

项目的所有关键科学数据都保存在项目目录中的文件中,但使用关系数据库来记录这些文件及其出处。项目的完整记录包括项目目录和特定于项目的数据库内容,该完整记录可以作为单个捆绑包导出和导入,如下所述。

数据库的当前实现基于SQLite v.3(https://www.sqlite.org/)已访问通过Python sqlite3接口(https://docs.python.org/2/library/sqlite3.html). 与大多数其他关系数据库管理系统相比,其主要优势是许可,它允许作为中央对手方清算所4套房。SQLite不是一个客户端-服务器系统,而是嵌入在中央对手方清算所42个软件。这意味着每个数据库文件实际上只能由一个中央对手方清算所42个用户。未来,我们预计中央对手方清算所42将支持多用户客户端-服务器数据库;这个中央对手方清算所42数据库接口的编写考虑到了这一点,应该易于移植。

表2中列出了数据库中的一些关键数据表[链接]。每个表中的每个项目都有一个自动分配的UUID(通用唯一标识符,https://pubs.opengroup.org/onlinepubs/9629399/apdxa.htm),用于与其他表中的项进行交叉引用。

表2
中的关键表中央对手方清算所42数据库

主数据库表 代表 关键数据
用户 中央对手方清算所42个用户 用户名
项目 结构解决方案 用户ID、项目名称、目录、父项目
乔布斯 作业或子作业 项目ID、父作业ID、任务名称、状态、作业标题
文件夹 在项目中导入或创建的文件 作业ID、文件路径、注释、文件类型、子类型、文件内容
文件使用 作业的文件输入 文件ID,作业ID
导入文件 导入到项目的文件的源 文件ID、源文件路径、注释
作业键值 工作的关键进度数据 作业ID、数据类型、数据值
评论 用户对作业的评论 用户ID,作业ID,文本
项目意见 用户对项目的评论 用户ID,项目ID,文本

每个项目都与一个用户关联,并有一个用户名和记录的项目目录。在数据库模式中,项目有一个所有者,其他用户可以拥有不同级别的访问权限。这种多用户访问在当前的SQLite实现中不可用,但在实现客户机-服务器系统时会很有用。可以将项目组织到层次结构中,为了支持此属性,每个项目可以有一个父项目。

所有作业都与项目关联,并使用任务名称、当前作业状态进行记录(例如`running或finished)和可编辑标题。带有相应子任务的管道任务将使用父作业标识符(父作业的UUID)记录在数据库中。

在项目中导入或创建的每个文件的记录都会输入到数据库中。该记录包含文件的路径、类型、任何用户注释和内容(如上所述)。每当将文件用作作业的输入时,它都会记录在“file use”表中。除了保存在数据库中的项目、作业和文件的注释外,对于许多任务,关键的进度参数,例如“构建百分比”或`R(右)系数”记录在数据库中。然后可以快速检索这些参数并将其显示在作业列表中,作为用户的快速参考。

对数据库的所有访问都是通过Python APICDbApi公司类,该类提供工具来创建、修改、删除和查询数据库中每个表中的项。还有更多用于常用功能的自定义工具,特别是用于支持图形用户界面所需的常见查询。数据库在控制作业的运行以及图形前端进程和后台进程中运行的作业之间的通信方面非常重要。当用户在界面中创建新作业时,作业将记录在数据库中,状态为“挂起”。当用户运行作业时,界面中设置的参数将写入名为输入参数.xml在相应的作业目录中,作业状态更改为“queued”。作业控制器模块,CJob控制器,轮询数据库中的排队作业,如果未达到加载限制,将通过运行运行任务脚本,使用输入参数.xml文件作为参数传递。作业状态随后更新为“正在运行”。非图形流程将在作业完成时更新数据库,并将状态记录为“完成”、“失败”或“不满意”;最后一个状态意味着尽管没有明显的失败,但任务并没有产生有用的结果。如果正在运行的作业是包含子作业的管道,则子作业及其输出文件将记录在数据库中。作业完成后,作业参数将写入参数.xml文件;这通常与输入参数.xml文件,但填充了相应的“输出数据”部分。的内容参数.xml也传递给数据库APICDbApi.收集作业文件(),扫描加载到数据库中的输出文件和作业密钥数据。这个输入参数.xml参数.xml文件用作图形界面、脚本和数据库之间的通信,并作为备份保留在项目目录中。这个完整的作业记录机制在不需要访问数据库的单个任务的实现者的情况下工作。

图形化进程轮询数据库中的新作业和作业状态更改(由非图形化进程输入),并将在作业列表中更新这些信息,以便用户可以看到进度;他们通常还可以看到实时更新报告,但这是由不同的机制处理的。

由于结构解决过程中的每项工作都有一个输入参数.xml文件,其中记录了用于运行作业的确切参数,这些参数以及作业之间数据流的数据库记录,提供了完全重现结构解决方案所需的所有信息。

2.3. 任务应用程序编程接口

许多不同的开发人员为中央对手方清算所42项目,因此写一个任务很简单很重要。中央对手方清算所42提供了一个尽可能多地执行通用工作的框架,任务实现只需要提供必须为任务定制的功能片段。实现一个任务通常需要从四个文件的样板代码创建或裁剪。

  • (i) 定义文件是一个XML文件,指定任务的所有输入数据、控制参数和输出数据。

  • (ii)脚本是一个Python脚本,通常包装程序或编码管道。

  • (iii)图形用户界面(图形用户界面)是一个定义用户界面的Python脚本。

  • (iv)报告文件是一个Python脚本,定义作业完成后(在某些情况下,作业正在运行时)向用户显示的作业报告。

这个定义文件是任务接口的定义。这个定义可以使用提供的图形编辑器创建文件定义Ed。无论何时定义Ed应用程序运行时,它使用Python自省工具创建一个包含所有数据类的列表中央对手方清算所42,它们关联的限定符和类文档,以便向开发人员提供所有可用的选项。或者,样板代码与工具一起提供,以帮助派生新任务的代码。这个定义文件大致相当于菲尔中使用的文件菲尼克斯软件,我们正在开发菲尔-至-定义文件转换工具,简化与已经支持的软件的接口菲尔文件夹。

一项任务脚本通过子类化创建C插件脚本。创建程序包装通常需要编写三种方法。

  • (i)处理输入文件()在程序运行之前调用,并执行程序所需的任何输入数据转换。一个常见的需求是将用户特定的反射数据对象合并到一个MTZ文件中。

  • (ii)创建命令和脚本()也会在程序运行之前调用,并定义程序的命令行和任何输入脚本。

  • (iii)处理输出文件()在程序完成并执行任何必要的文件格式转换为中央对手方清算所42标准。它还必须生成程序.xml包含任务报告所需数据的文件;如果程序未提供此功能,则处理输出文件()方法应该提供逻辑来计算此类数据或从日志文件中提取它们。

管道任务也派生自C插件脚本,但这需要重新实现处理()方法来控制一系列“子任务”的运行。

中央对手方清算所42可以根据中的参数列表自动生成任务输入的图形界面定义文件,但这并不理想:自定义图形用户界面脚本可以组织参数,提供有用的注释,并提供处理相互依赖参数的逻辑,其相关性或最优值在某种程度上取决于另一个参数的值的参数。正确处理相互依赖的参数图形用户界面脚本提供了一个动态界面,该界面根据用户选择自定义详细选项,并可以确保用户不会看到不相关的选项。中央对手方清算所42有一个图形小部件类来表示每个数据类,因此可以为任务界面中指定的每个参数自动插入适当的小部件。这个图形用户界面脚本使用创建线条()方法,通过它可以指定要显示在一行上的小部件和标签。

图5[链接]显示了从接口到精炼使用REFMAC公司5(穆尔舒多夫等。, 2011【Murshudov,G.N.,Skubák,P.,Lebedev,A.A.,Pannu,N.S.,Steiner,R.A.,Nicholls,R.A..,Winn,M.D.,Long,F.&Vagin,A.A..(2011),《晶体学报》,D67,355-367。】),其中用户可以选择“原子模型”和“反射”(代码中的参数名称:氧锌F_SIGF公司)然后选择如何使用异常数据(USEANOMALOUSFOR公司参数)并输入波长(波长参数)。如果用户选择没有异常数据的反射数据,则最后一行将从界面中删除。此任务输入由图4中的代码编码[链接](d日).

[图5]
图5
的任务输入片段REFMAC公司5个任务,显示“原子模型”和“反射”数据的选择以及使用异常数据的一行详细信息。只有当用户选择了属于异常数据的反射时,才会显示此行。

在该代码中,接口中的四行中的每一行都由一个调用指定创建线条(); 首先指定“subtitle”,然后指定“labels”和“widgets”的组合。控件参数的数据类型已在定义文件,因此中央对手方清算所42框架能够提供正确的小部件。可以对小部件进行一些自定义。例如,在此代码中-浏览Db参数用于指示在小部件中绘制“数据库”图标,用户可以通过该图标访问所有项目中的所有数据。最后一次呼叫创建线条()还有一个-切换功能指定函数的自变量,异常数据可用(),这将控制第四行的可见性。在这种情况下异常数据可用()收益真的False(错误)取决于用户选择的输入反射数据对象中可用的数据。每当F_SIGF公司由用户更改,并将返回一个标志,指示是否应根据用户选择的数据文件是否包含异常数据来显示该行。

任务输入界面被组织为选项卡,第一个选项卡包含所有基本数据选择,随后的选项卡包含较少使用的选项。

中央对手方清算所42提供所有已完成作业的报告。此外,对于某些任务,在作业仍在运行时会生成一个简短、频繁更新的报告。报告显示了作业的详细数据,通常以图表的形式呈现,包括强调数据重要方面的注释。报告中提供的数据来自程序.xml由运行程序或任务脚本创建的文件。该报告是一个HTML文件,创建于中央对手方清算所42如果用户选择查看尚未存在的报告,则按需进行图形处理。

HTML报告文件的外观由报告类。除了报告类中,每个报表元素都有一个类,例如文件夹、图形、表格、文本和图片。任务报告在与HTML报告中所需布局相对应的排列中创建这些元素的层次结构。这个报告类从程序.xml文件放入相应的报告元素中。在此类实例中完全定义报告后报告.as_html()方法被调用;它通过调用所有报表元素来返回其自身的HTML表示,从而返回完整报表的HTML文件。

task-report类可以包含作业仍在运行时显示的“正在运行”报告的定义;通常,这将是一个非常简短的报告,例如一个简单的图表。这个中央对手方清算所42图形化进程在看到程序.xml程序创建的文件已更新。

为开发的图形查看器中央对手方清算所42的情况下,粉刺JSPimple公司,在报告页面中显示图形,或者可以显示日志文件中的图形。JSImple公司用于中央对手方清算所42个HTML报告页面,并使用jquery.flot以JavaScript编写(https://www.flotcharts.org/)或Plotly(网址:https://plot.ly)后端。粉刺是一个独立的应用程序,具有附加的图形编辑、导出和打印功能,使用PyQt和库Matplotlib构建(用于图形;https://matplotlib.org网站)和NumPy(用于数值计算;https://www.numpy.org).

2.3.1. 插入式兼容性中央对手方清算所4在线报告

中央对手方清算所4在线(https://www.ccp4.ac.uk/ccp4在线)提供了对不断增长的列表的web服务器访问中央对手方清算所4个程序,如曲柄2的情况下,国际学生成绩评估BUMP先生.J视图(https://www.ccp4.ac.uk/dist/checkout/jsrview网站)是一个函数调用驱动的服务器端中央对手方清算所4提供报告机制的框架中央对手方清算所4在线。为了方便开发人员J视图中央对手方清算所4已包含2份报告。模块,CCP4­Rvapi分析器,通过继承标准提供了一个类报告类,提供所有基本中央对手方清算所42报告功能,同时在检测到单独XML文件上的更改时自动执行转换(i2.xml). 此文件由J视图每次更新报告时,都应包括报告严格要求的所有图形数据点、演示细节(例如线条颜色和厚度)和随附文本(图6[链接]).

[图6]
图6
图形元素之间的对应关系中央对手方清算所4在线()和中央对手方清算所42 (b条)报告。尽管底层数据严格相同,但会对其施加不同的布局J视图出于一致性的原因进行报告。不同的进程(1)被展开为各个选项卡,每个图形都可以从主图形(2)的标题栏中选择。其他图形元素包括阴影区域(3),阴影区域作为单独的实体呈现,而不是作为附加曲线呈现,以及附带的文本(4)。就像他们的情况一样J视图相应的,这些报告实时无缝更新。

3.用户界面实用程序

3.1. 项目进出口

此实用程序使用户能够在计算机之间传输项目或选定作业。这些工具还用于自动传输在服务器上运行作业所需的有限数据量(见下文)。基本机制还可以支持向电子笔记本系统或从电子笔记本系统传输信息,尽管创建用户友好的自动通信机制需要一些特定于软件的功能。

可以将整个项目或选定作业的数据库内容写入XML文件。要导出项目,项目目录的内容(例如数据文件)与相应数据库条目的XML表示一起绑定到压缩存档文件中。由于项目目录是由一个作业目录中的一个作业的文件组织的,因此只选择相关的作业目录进行导出是很简单的。压缩文件可以重新导入到另一个中央对手方清算所42数据库;这是通过仔细检查数据库和未打包项目目录之间的一致性来执行的,并使用数据库数据项UUID来确保数据既不会重复,也不会被不适当地覆盖。

3.2. 在服务器上运行作业

中央对手方清算所42提供了在服务器上运行需要大量计算资源的作业的机制。服务器计算机必须具有适当版本的中央对手方清算所已安装4个套件。客户中央对手方清算所42必须由系统管理员或知识渊博的用户配置,以选择服务器机器、通信机制、中央对手方清算所4安装目录和服务器上的临时文件系统空间。配置后,如果提供了多个服务器,用户只需选择一个服务器,并根据通信机制提供登录名和密码以在服务器上运行作业。

中央对手方清算所42目前支持三种可能的通信机制:

对于所有这三种机制,项目的一个片段都会如上所述导出,并复制到服务器上,然后在服务器上将其解压缩到临时项目目录和数据库中。在服务器上运行作业会更新临时项目目录和数据库的内容,当作业完成时,这些内容将导出到一个压缩文件中,该文件将返回到客户端计算机,并重新集成到用户的项目目录和数据库中。此机制要求客户端和服务器之间的通信最少,但用户可以通过更新“正在运行”的报告来了解进度,该报告由客户端定期检索程序.xml来自服务器的数据文件。

3.3. 组织和搜索工作和项目

鉴于大多数晶体学家承担了大量的结构解析项目,项目和数据的组织至关重要。这个中央对手方清算所42用户界面为晶体学家提供了多种方式来组织他们的工作,并标记和注释他们的文件、作业和项目。这些附加信息可能有助于将来审查工作。

中的“项目管理器”窗口中央对手方清算所42提供了用于组织和导出或导入项目的工具。最有用的组织工具是可以将项目分组到文件夹中,并且可以嵌套文件夹。此外,还提供了标记和提供项目描述的选项。有基于项目名称、描述、标记或项目使用日期的项目搜索工具。还可以搜索使用了用户特定文件的项目。

中央对手方清算所42具有工具,可以根据简单属性(例如任务名称、批注或注释中的文本以及作业运行的时间)搜索项目中的作业。还有更复杂的搜索,可以查找使用特定控制参数的给定值运行的作业,并显示给定数据对象在项目中的进度。对于后一种搜索,用户可以为给定作业选择任何数据对象、输入或输出,并且在所选作业之前或之后使用这些数据的所有作业都将在作业列表中突出显示。对于某些类型的数据,特别是模型坐标,数据值将在许多作业中更新,以便输出数据对象(数据文件)与输入数据对象不同,但搜索过程可以跟踪这些更改。例如,数据对象的使用可能会产生分支,以生成几个可能的“最终”模型坐标。该界面允许用户突出显示选定分支中的作业或所有分支中的任务。

3.4. 查看旧的中央对手方清算所4项目

两者之间的重要概念差异中央对手方清算所4中央对手方清算所42使两个接口无法互换使用:例如,中央对手方清算所4允许重新运行作业,从而覆盖文件,因此在旧系统中跟踪文件来源是不可靠的。然而,已经实现了一种机制来查看旧的中央对手方清算所4项目,并选择和导入文件。

中央对手方清算所42可以从中央对手方清算所4用户界面,并以新界面的作业列表的样式显示项目、作业和文件。用户可以查看日志文件和数据文件,并可以从以下位置拖放作业列表中列出的文件中央对手方清算所4项目转换为中的作业中央对手方清算所42个项目。

4.任务

中央对手方清算所42为由中央对手方清算所4套房。使用这些程序的任务被组织成任务列表中的各个部分(图7[链接]). 任务列表用于引导用户完成解决晶体结构,从数据处理开始,到沉积结束。任务列表每个部分中的主要任务如下所述。

[图7]
图7
打开带有“X射线数据还原和分析”模块文件夹的任务菜单,显示该模块中的任务。

4.1. 集成X射线图像:2

专家系统2(冬季等。, 2013【Winter,G.、Lobley,C.M.C.和Prince,S.M.(2013),《水晶学报》D691260-1273。】)提供从衍射图像到缩放和合并数据的全自动数据处理。作为决策管道,它使用其他软件执行离散任务,如索引、集成和缩放。在每个阶段评估结果的质量,以动态的方式通知决策。该软件现在的功能是,即使在具有挑战性的情况下,它也可以代替专业的晶体学家。当驱动没有自己内置图形界面的命令行程序时,它特别有用,而且对许多用户来说,操作起来可能会令人生畏或乏味。尽管2本身主要是一个命令行程序,它使用菲尔的语法cctbx公司(https://cctbx.sourceforge.net/libtbx_phil.html). 这个界面非常丰富,足以描述GUI的基本组件,包括参数类型、工具提示、帮助字符串和专家级别。可以映射菲尔接口到定义文件。因此中的2个接口中央对手方清算所42与大多数其他接口的不同之处在于我们选择不使用定义Ed或者使用样板代码模板来设计GUI,但我们可以从菲尔定义。将来,这可能是为其他用户创建GUI的一种方便机制cctbx公司-基于软件。

有两个接口用于2自动处理中央对手方清算所42,一个特定于刻度盘套装(冬季等。, 2018【Winter,G.、Waterman,D.G.、Parkhurst,J.M.、Brewster,A.S.、Gildea,R.J.、Gerstel,M.、Fuentes-Montero,L.、Vollmar,M.,Michels-Clark,T.、Young,I.、Sauter,N.K.和Evans,G.(2018),《结晶学报》第74期,第85-97页。】),包含在中央对手方清算所4,另一个用于XDS公司(Kabsch,2010年【Kabsch,W.(2010),《结晶学报》,D66,125-132。】),如果用户已安装。两个界面之间共享了大量代码,为了用户的方便,将其拆分为单独的任务。许多可选参数特定于刻度盘XDS公司并且在每个任务中可以隐藏不相关的参数。无论哪种情况,2个用途中央对手方清算所4个软件用于计算合并统计信息,允许重复使用数据还原任务报告代码的2个任务,确保与下面描述的数据还原管道一致。

中央对手方清算所42还集成了iMosflm公司GUI到MOSFLM公司(鲍威尔等。, 2017【Powell,H.R.,Battye,T.G.G.,Kontogiannis,L.,Johnson,O.&Leslie,A.G.W.(2017),《自然协议》,第12期,第1310-1325页。】)并将此GUI的活动记录在中央对手方清算所42数据库。

4.2. X射线数据整理和分析:无AIMLESS

这是整合图像强度后数据处理的主要任务。作为输入,它从集成任务中获取一个或多个未合并和(通常)未缩放的数据集中央对手方清算所42 (2或MOSFLM公司)或外部来源。即使自动管道,例如2已经对数据进行了缩放和合并,可能需要重新运行数据还原步骤,以便对结果进行更仔细的分析。管道运行一系列程序,生成两个输出数据对象,用于结构解决方案和精细化:一组观察到的强度(及其相应的振幅)和一个自由-R(右)反射集。反过来,这些程序是无意义(埃文斯,2011年【Evans,P.R.(2011),《水晶学报》,D67,282-292。】),它确定点编组如果可能空间群; 无AIMLESS(Evans和Murshudov,2013年【Evans,P.R.和Murshudov,G.N.(2013),《结晶学报》D691204-1214。】)缩放和合并数据;CTRUNCATE公司根据强度生成振幅;自由旗帜生成或扩展自由-R(右)的反射集精细化。管道生成了一份广泛的报告,突出了任何值得注意的问题(图8[链接])例如替代索引(在这种情况下,可以提供参考数据集以获得一致的索引)。报告由顶部的总体摘要组成(图9[链接]),并提供了深入到更详细的图表的可能性。检查报告后,通常会重新运行任务、更改分辨率限制、忽略数据的某些部分或合并多个同构数据集。

[图8]
图8
数据缩减管道的主要摘要报告(也用作2个任务)。这包括主要结果和潜在问题的警告。
[图9]
图9
数据缩减任务的总体总结,包括一个“表1”,可以作为CSV文件下载以包含在其他文档中。

4.3. 实验阶段:曲柄2和SHELXC公司/D类/E类管道

曲柄2(斯科巴克和潘努,2013年【Skubák,P.&Pannu,N.S.(2013),《自然通讯》第4期,第2777页。】)和SHELXC公司/D类/E类(谢尔德里克,2010年[Sheldrick,G.M.(2010),《水晶学报》,D66479-485.])是来自SAD、MAD或SIRAS实验数据的自动化结构解决方案管道。这个SHELXC公司/D类/E类管道实现为曲柄2,呼叫SHELXC公司,SHELXD公司SHELXE公司(谢尔德里克,2010年[Sheldrick,G.M.(2010),《水晶学报》,D66479-485.])然后是海盗REFMAC公司5通过程序包装器。这样,大多数中央对手方清算所42代码用于曲柄2和SHELX公司管道是共享的,因此为用户提供相同的输入和输出。这个曲柄2接口还支持MR-SAD实验–(重新)构建输入部分模型,通常由分子置换–使用SAD数据和强大的“组合”算法(Skubák&Pannu,2013)[Skubák,P.和Pannu,N.S.(2013)。自然公社。42777。]).曲柄2具有多种程序的包装器,包括SHELXC公司,SHELXD公司,SHELXE公司,普拉萨(斯科巴克,2018年【Skubák,P.(2018),《水晶学报》,D74,117-124。】),鹦鹉(Cowtan,2010年【Cowtan,K.(2010),《水晶学报》,D66,470-478。】),所罗门群岛(Abrahams和Leslie,1996年【Abrahams,J.P.&Leslie,A.G.W.(1996),《晶体学报》,D52,30-42。】),ARP协议/弯曲(兰格等。, 2008[Langer,G.,Cohen,S.X.,Lamzin,V.S.&Perrakis,A.(2008),《自然协议》31171-1179。]),海盗(Cowtan,2006年【Cowtan,K.(2006),《水晶学报》,D621002-1011。】)和REFMAC公司5(穆尔舒多夫等。, 2011【Murshudov,G.N.,Skubák,P.,Lebedev,A.A.,Pannu,N.S.,Steiner,R.A.,Nicholls,R.A..,Winn,M.D.,Long,F.&Vagin,A.A..(2011),《晶体学报》,D67,355-367。】).

管道由几个步骤组成:从异常的确定下部结构,通过阶段划分、手动确定和阶段改进来建立模型。每个步骤都作为单独的中央对手方清算所42包装器,因此可以克隆任何步骤并使用修改的参数重新运行它。此外,可以自定义管道以在任何步骤启动和停止:例如,可以从以下位置启动管道下部结构通过输入已知的下部结构,或可以在下部结构已确定。A类中央对手方清算所42运行报告指示每个步骤的进度,对于许多步骤,如果用户发现当前性能令人满意,则会提供一个按钮,用于在当前周期结束时停止并继续下一步(例如,如果用户认为下部结构已充分确定)。

所需的最小用户输入包括异常数据集(或MAD或SIRAS实验中的多个数据集)、序列描述和异常重原子类型。部分模型(通常来自MR)需要输入MR-SAD。虽然强制输入对于许多数据集来说已经足够了,但还提供了其他选项来处理难以求解的数据集或优化结构求解过程。所有选项的默认值都依赖于输入,并在提供最小用户输入后立即动态生成并显示在图形用户界面中。自从GUI调用曲柄为了生成默认值,防止了接口和底层程序默认值重复的典型问题。

也有使用的阶段划分接口相位器并使用橡子鹦鹉.

4.4。模型准备分子替换: 中央对手方清算所4毫克BUMP先生

BUMP先生(Keegan和Winn,2008年[Keegan,R.M.和Winn,M.D.(2008),《水晶学报》,D64,119-124。])是一个自动化方案分子置换有自己的中央对手方清算所42接口。给定目标序列和测量的反射,它将搜索同源结构,根据模板结构创建一组合适的搜索模型,执行分子置换并用几轮有节制的精致。 BUMP先生已集成到中央对手方清算所4毫克(麦克尼古拉斯等。, 2011[McNicholas,S.,Potterton,E.,Wilson,K.S.和Noble,M.E.M.(2011)。晶体学报,D67386-394。])用于交互式模型准备的分子图形程序,可以直接从中央对手方清算所42.关于此任务的更完整描述,请参阅BUMP先生在这些诉讼中(基根等。, 2018【Keegan,R.M.,McNicholas,S.J.,Thomas,J.M.H.,Simpkin,A.J.,Simkovic,F.,Uski,V.,Ballard,C.C.,Winn,M.D.,Wilson,K.S.&Rigden,D.J.(2018),《结晶学报》第74期,第167-182页。】).

中央对手方清算所42也有任务接口来运行分子再放置模型分离工具CHAINSAW公司(斯坦因,2008[Stein,N.(2008),《应用结晶杂志》,第41期,第641-643页。]),雕塑家(Bunkóczi&Read,2011年【Bunkóczi,G.&Read,R.J.(2011),《水晶学报》,D67,303-312。】)和合奏者(属于相位器一套;麦考伊等。, 2007【McCoy,A.J.,Grosse-Kunstleve,R.W.,Adams,P.D.,Winn,M.D.,Storoni,L.C.&Read,R.J.(2007),《应用结晶杂志》,第40期,第658-674页。】)和序列对齐工具ClustalW公司(拉金等。, 2007【Larkin,M.A.、Blackshields,G.、Brown,N.P.、Chenna,R.、McGettigan,P.A.、McWilliam,H.、Valentin,F.、Wallace,I.M.、Wilm,A.、Lopez,R.,Thompson,J.D.、Gibson,T.J.和Higgins,D.G.(2007)。生物信息学,23,2947-2948。】).

4.5. 分子替换

中央对手方清算所42使用BUMP先生管道,MOLREP公司(Vagin&Teplyakov,2010年【Vagin,A.和Teplyakov,A.(2010),《水晶学报》,D66,22-25。】)和相位器。有两个版本的相位-MR界面:单个搜索模型的基本模式,更复杂模型和晶体合成的专家模式,提供了访问更高级关键字选项的途径。

4.6.精炼: REFMAC公司5

这个精炼流水线是执行模型的主要任务精炼使用REFMAC公司5(穆尔舒多夫等。, 2011【Murshudov,G.N.,Skubák,P.,Lebedev,A.A.,Pannu,N.S.,Steiner,R.A.,Nicholls,R.A..,Winn,M.D.,Long,F.&Vagin,A.A..(2011),《晶体学报》,D67,355-367。】),可选择使用来自智能项目(尼科尔斯等。, 2014[Nicholls,R.A.,Fischer,M.,McNicholas,S.和Murshudov,G.N.(2014)。晶体学报D70,2487-2499。]). 模型坐标、反射数据和(通常)自由-R(右)设置作为主要输入。可选的附加输入包括实验相位信息、TLS系数、配体字典和参考模型。TLS系数,用于描述刚体的协同螺旋运动(Winn等。, 2003[Winn,M.D.,Murshudov,G.N.&Papiz,M.Z.(2003)。《酶学方法》374,300-321。]),可以使用“优化”菜单中的相应实用程序导入和/或编辑。可以使用“配体”菜单中的“生成配体”任务生成定制配体词典(CIF文件)。如果提供了参考同源模型,则专业智能将由管道执行以生成外部约束。然后,这些约束装置将由REFMAC公司5期间精细化:此选项可能适用于较低的分辨率(Nicholls等。, 2012【Nicholls,R.A.、Long,F.和Murshudov,G.N.(2012),《结晶学报》D68、404-417。】).

主要精炼选项包括循环次数、几何重量、晶体是否被认为是孪晶以及是否要生成和使用骑H原子。默认情况下,几何体权重在精炼为了确保先验信息(几何)和观测数据之间的合理平衡。如果孪生假设,精炼根据主要输入数据的性质,可以针对结构因子振幅或强度执行。与模型参数化相关的其他选项(B类因子、TLS组)、先验信息(NCS约束、凝胶体约束)和缩放方法(溶剂模型)。还提供了在计算电子密度图时执行各向异性正则化图锐化的能力,注意该选项不影响精炼模型:它只是修改输出映射。

与中的等效任务相比中央对手方清算所4,的精炼接口在中央对手方清算所42是相对最低限度的,以避免向用户呈现过多的模式和选项。界面中只显示标准用户最常需要的选项,但可以提供其他关键字,以便专家用户根据需要调整高级选项和参数。请注意,该管道是专为全型号设计的有节制的精致。为了便于应用REFMAC公司5(无约束精细化,刚性体精炼和结构理想化)被排除在界面之外,因为在现代晶体学结构求解过程中超出了范围,并且被认为不太实用。还要注意的是,虽然以前刚体很常见精炼之后立即执行分子替换,现在更典型的是执行大量的凝胶体约束精炼循环。

当作业正在运行时,会迭代更新结果页面,以便向用户提供有关的当前状态的反馈精细化。全球的细化统计,当前几何权重和对应于循环演化的图R(右)系数和r.m.s.(债券)分别更新精炼周期,加快有关工作质量的手动评估(监控精炼收敛,过度拟合等。),在次优结果的情况下,这可能会导致用户终止作业,使用不同的参数值或选项克隆并重新运行它。成功执行的作业可以立即执行精炼使用精炼管道,手动建模使用库特或使用海盗.

4.7. 模型构建和图形

为手动和自动模型构建提供了任务。自动模型构建在实验阶段管线中实现(尤其是曲柄2和SHELX公司任务)和独立的建模任务。使用海盗ARP协议/弯曲软件(Cowtan,2006【Cowtan,K.(2006),《水晶学报》,D621002-1011。】; 兰格等。, 2008[Langer,G.,Cohen,S.X.,Lamzin,V.S.&Perrakis,A.(2008),《自然协议》31171-1179。]).

4.7.1. 手动建模库特

这个库特任务启动库特分子颗粒学计划(埃姆斯利等。, 2010【Emsley,P.、Lohkamp,B.、Scott,W.G.和Cowtan,K.(2010),《水晶学报》D66、486-501。】)使用来自中央对手方清算所42项目。任务输入允许将任意数量的坐标集、密度和差异密度图加载到库特会话。此外,还可以指定配体字典。中央对手方清算所42还可以生成脚本来自动执行库特会话,这样的脚本可以通过这个任务接口加载。中央对手方清算所42库特会话,菜单库特修改以允许将坐标集保存到中央对手方清算所42数据库,这些坐标可供后续用户使用中央对手方清算所4库特会话已退出。类似地,使用工具生成的配体词典库特库特会话结束,并可用于后续作业。

还有一个中央对手方清算所42扩展菜单允许用户访问用户数据库中已知的所有坐标、地图和字典数据对象,允许快速比较不同阶段的地图和模型精炼程序。库特从启动中央对手方清算所42自动包括各种密钥绑定,这些绑定是为了方便地“一键”访问库特在手动建模期间。

4.7.2. 脚本化模型构建库特

在此任务中库特在未打开的情况下运行库特图形用户界面。A类库特脚本文件是定义以下操作所必需的库特将执行。模型、地图和字典输入与“手册”中的相同库特'任务,但提供了更多选项中央对手方清算所42(填充部分残留物,适合蛋白质,阶梯式精炼无论是否有Ramachandran约束和迭代变形拟合),都可以选择手动输入脚本。

还有一个单独的任务“查找水域”,它需要一个地图和一个模型并运行库特在无窗口模式下查找水分子。

4.7.3. 自建蛋白

此工具取代海盗管道输入中央对手方清算所4,引入了脚本化使用提供的一系列新可能性库特。它由以下迭代组成海盗(Cowtan,2006年【Cowtan,K.(2006),《水晶学报》,D621002-1011。】),库特REFMAC公司5,可选使用智能项目.主要输入因所用阶段的来源而异。如果这些是在MR作业中生成的,则必须提供MR解决方案,以便海盗利用它:放置新模型并在其后面命名链,还可以从完整的MR解决方案或其编辑版本(称为种子模式)导出第一组坐标。如果没有提供相位估计值,MR解决方案将在REFMAC公司为了生产它们。如果初始阶段来自实验方法,则必须明确提供,在这种情况下,用户可以选择指定模型R(右)-在迭代建模和阶段组合中不再使用低于实验阶段的因子阈值。

由于它们非常依赖于地图的可解释性精炼选项仅在R(右)系数低于某个阈值:这也是可配置的,尽管默认情况下提供了0.35的合理估计值。默认情况下,在库特轮。

除第一次迭代外,映射系数和由REFMAC公司上一个迭代中的5作为输入提供给海盗然后对输入模型进行过滤(删除不合适的区域)、扩展和再次细化,大多数问题在~5次迭代(MR阶段)或~15次迭代(实验阶段)中收敛。

这个中央对手方清算所4毫克任务启动中央对手方清算所4毫克分子颗粒学计划(麦克·尼古拉斯等。, 2011[McNicholas,S.,Potterton,E.,Wilson,K.S.和Noble,M.E.M.(2011)。晶体学报,D67386-394。])使用来自中央对手方清算所42项目。任务输入允许将任意数量的坐标集、密度和差异密度图以及序列加载到中央对手方清算所4毫克会话。

4.8. 配体

为了细化含有新型配体的结构,晶体学家需要配体的临时起始坐标和几何字典。这些可以在中创建中央对手方清算所42使用AceDRG公司(长等。, 2017【Long,F.,Nicholls,R.A.,Emsley,P.,Graíulis,S.,Merkys,A.,Vaitkus,A.&Murshudov,G.N.(2017),《冰晶学报》第73期,第112-122页。】)通过“制作配体”任务。该任务还允许使用由利迪娅程序(的一部分库特; 埃姆斯利等。, 2010【Emsley,P.、Lohkamp,B.、Scott,W.G.和Cowtan,K.(2010),《水晶学报》D66、486-501。】).

为了说明晶体功能阵列的威力中央对手方清算所4如上所述,我们还开发了一个配体管道,该管道跨越了从数据简化到配体构建和自动配体放置的整个工作流程,以满足研究片段和/或药物结合到特征良好的配体的情况晶体系统。配体管道嵌入(i)“生成配体”任务,(ii)数据还原管道,(iii)刚体精炼在内部相位器和(iv)非图形脚本运行库特进行实际配体拟合。作为内部刚性体配件的替代方案相位器,用户可以选择使用酒窝管道(沃迪尔等。, 2013【Wojdyr,M.,Keegan,R.,Winter,G.&Ashton,A.(2013),《水晶学报》A69,第299页。】)作为刚性车身改进的发动机。

为了便于在一次同步加速器跳闸中收集的数十个数据集上使用这个配体管道,我们还开发了一个元任务,(i)调查钻石光源同步加速器跳闸返回的文件的目录层次,(ii)生成一个中央对手方清算所42个项目用于识别的每个数据集,(iii)使用用户特定的SMILES字符串启动每个项目中的配体管道,以定义与每个数据集关联的配体和通用启动模型。

综上所述,这些工具允许用户在单个任务中对数十个数据集统一应用最优秀的工具,对于这些数据集,总设置时间可能只有几分钟。在多处理环境中,综合分析可以在不到一个小时的时间内完成。这种方法的输出也可以提供给PanDDA公司(柯林斯等。, 2017[柯林斯,P.M.,Ng,J.T.,塔龙,R.,内克罗西特,K.,克罗杰,T.,杜安加马特,A.,白兰度-内托,J.,赖特,N.,皮尔斯,N.M.和冯·代尔夫特,F.(2017),《结晶学报》第73期,第246-255页。])确定低入住率约束事件。

4.9. 验证和分析

4.9.1. 碳水化合物结构的验证:Privater公司

这个Privater公司软件最初由发布中央对手方清算所2015年4次(阿吉雷、伊格莱西亚斯·费尔南德斯等。, 2015【Agire,J.、Iglesias-Fernández,J.,Rovira,C.、Davies,G.J.、Wilson,K.S.和Cowtan,K.D.(2015)。《自然结构分子生物学》22,833-834。】)作为辅助工具精细化,验证和图形分析聚糖。它能够执行构象分析,根据OMIT图进行密度相关,并分析链路的异度和扭转,并以表格形式和矢量图形(SVG;见图10[链接]).

[图10]
图10
运行后的结果页面Privater公司在PDB条目上4个字节。该报告包括构象分析单糖在提供的结构中自动找到,以及实空间相关系数 B类因素和其他。无论何时发现任何类型的糖基化,报告还将包括树的二维矢量图,这些树是根据第三版糖生物学基础(瓦尔基等。, 2015[Varki,A.等人(2015),《糖生物学》,第25期,第1323-1324页。]).

与捆绑的图形前端中央对手方清算所42允许校正构象异常(Agire,Davies等。, 2015【Agire,J.、Davies,G.、Wilson,K.和Cowtan,K.(2015),《自然化学生物学》11,303。】)使用字典Privater公司生产。这些将作为输入出现在任何后续库特REFMAC公司5个工作。此外,库特jobs将收到一个Python脚本,该脚本将指导用户解决检测到的问题,激活扭转约束并为OMIT地图着色。

4.9.2. 分析模型和密度之间的拟合

密度相关性工具EDSTATS公司(Tickle,2012年【Tickle,I.J.(2012),《水晶学报》,D68,454-467。】)以完全不同的方式捆绑在一起中央对手方清算所4:不是为程序生成一个全面的前端,而是开发了一个涵盖数据转换和分析的管道,使结果分析更加直观。

作为贴图系数(F类,φ)是内地图的首选表示形式中央对手方清算所42,而EDSTATS公司需要过采样的地图文件,预处理步骤使用CFFT公司已添加。这将以所需格式生成对用户透明的地图文件。此外,在界面中,可以为不同的准确度和精密度指标设置一组可配置的阈值,由蛋白质主链和侧链分开。使用这些标准找到的异常值列在Python脚本中,该脚本可用于后续库特作业,使用户可以快速跟踪和修复它们。通常可以通过翻转肽来改进孤立的主链异常值,而修复侧链异常值可能需要使用旋转体搜索。

5.总结与展望

中央对手方清算所42现在提供了一个计算环境,在该环境中可以完成生产晶体学,并可以保留结构确定过程的有效记录。开发团队当前的重点是整合和扩展现有功能,我们将非常感谢用户的反馈。其他计划中的发展包括允许集团访问中央对手方清算所4通过引入一个可用的客户机-服务器数据库管理系统以及当前的机载SQLite系统和从中央对手方清算所42.我们希望在中央对手方清算所42结构解析过程将变得更加自动化,该系统为自动化提供了良好的基础,同时还能使晶体学家查看过程的细节,并在需要时进行干预。

对于程序和工作流开发人员,中央对手方清算所42提供了一个框架,在该框架中,流水线、数据跟踪和图形报告呈现等方面为任务实现者提供了相对较低的开销。开发团队将欢迎潜在的开发人员并支持他们使其软件可访问通过 中央对手方清算所42.包装器的模块化设计和管道的增量构建将提高自动化程度,但通过为用户提供图形工具来审查和控制任务,我们可以避免结构求解过程成为一个黑匣子。中央对手方清算所42处于有利地位,能够支持用户和开发人员通过下一个时期增加的吞吐量和产量来进行高分子晶体学和相关学科的研究。

6.可用性

中央对手方清算所42可从中获得https://www.ccp4.ac.uk/下载作为的一部分中央对手方清算所4套程序。

资金筹措信息

本工作由第4号合作计算项目(CCP4)资助,并得到以下资助机构/资助:英国生物技术和生物科学研究委员会(BBSRC;编号BB/K008153/1和BB/L006383/1的奖项;Jon Agirer和Kevin Cowtan)、医学研究委员会(MRC;编号U105178845的奖项;Phil Evans)、,CCP4/科学和技术设施委员会(STFC;批准号:PR140014;Rob Nicholls)和荷兰科学研究组织(NWO)领域应用和工程科学(TTW)(批准号:13337;Navraj Pannu和Pavol Skubak)。

工具书类

第一次引用Abrahams,J.P.和Leslie,A.G.W.(1996)。《水晶学报》。D类52, 30–42. 交叉参考 中国科学院 科学之网 IUCr日志 谷歌学者
第一次引用Agire,J.、Davies,G.、Wilson,K.和Cowtan,K.(2015)。自然化学。生物。 11,第303页科学网 交叉参考 谷歌学者
第一次引用Agire,J.、Iglesias-Fernández,J.,Rovira,C.、Davies,G.J.、Wilson,K.S.和Cowtan,K.D.(2015)。自然结构。分子生物学。 22, 833–834. 科学网 交叉参考 中国科学院 谷歌学者
第一次引用Bunkóczi,G.&Read,R.J.(2011)。《水晶学报》。D类67, 303–312. 科学网 交叉参考 IUCr日志 谷歌学者
第一次引用Callaway J。等。(1996).蛋白质数据库内容指南:原子坐标输入格式描述厄普顿:布鲁克海文国家实验室。https://cdn.rcsb.org/wwpdb/docs/documentation/file-format/PDB_format_1996.pdf谷歌学者
第一次引用Collins,P.M.、Ng,J.T.、Talon,R.、Nekrosiute,K.、Krojer,T.、Douangamath,A.、Brandao-Neto,J.、Wright,N.、Pearce,N.M.和von Delft,F.(2017)。《水晶学报》。D类73, 246–255. 科学网 交叉参考 IUCr日志 谷歌学者
第一次引用Cowtan,K.D.(2003)。IUCr计算。通讯新闻。 2, 4–9.https://www.iucr.org/resources/commissions/crystallographic-computing/newsletters/2谷歌学者
第一次引用Cowtan,K.(2006)。《水晶学报》。D类62,1002–1011科学网 交叉参考 中国科学院 IUCr日志 谷歌学者
第一次引用Cowtan,K.(2010年)。《水晶学报》。D类66, 470–478. 科学网 交叉参考 中国科学院 IUCr日志 谷歌学者
第一次引用Echols,N.、Grosse-Kunstleve,R.W.、Afonine,P.V.、Bunkóczi,G.、Chen,V.B.、Headd,J.J.、McCoy,A.J.、Moriarty,N.W.,Read,R.J.,Richardson,D.C.、Richardsson,J.S.、Terwilliger,T.C.和Adams,P.D.(2012)。J.应用。克里斯特。 45, 581–586. 科学网 交叉参考 中国科学院 IUCr日志 谷歌学者
第一次引用Emsley,P.、Lohkamp,B.、Scott,W.G.和Cowtan,K.(2010年)。《水晶学报》。D类66, 486–501. 科学网 交叉参考 中国科学院 IUCr日志 谷歌学者
第一次引用Evans,P.R.(2011)。《水晶学报》。D类67, 282–292. 科学网 交叉参考 中国科学院 IUCr日志 谷歌学者
第一次引用Evans,P.R.和Murshudov,G.N.(2013)。《水晶学报》。D类69, 1204–1214. 科学网 交叉参考 中国科学院 IUCr日志 谷歌学者
第一次引用Kabsch,W.(2010年)。《水晶学报》。D类66, 125–132. 科学网 交叉参考 中国科学院 IUCr日志 谷歌学者
第一次引用Keegan,R.M.和Winn,M.D.(2008年)。《水晶学报》。D类64,119–124科学网 交叉参考 中国科学院 IUCr日志 谷歌学者
第一次引用Keegan,R.M.、McNicholas,S.J.、Thomas,J.M.H.、Simpkin,A.J.、Simkovic,F.、Uski,V.、Ballard,C.C.、Winn,M.D.、Wilson,K.S.和Rigden,D.J.(2018年)。《水晶学报》。D类74, 167–182. 交叉参考 IUCr日志 谷歌学者
第一次引用Krissinel,E.和Evans,P.(2012年)。CCP4新闻。蛋白质结晶仪。 48,贡献3。https://www.ccp4.ac.uk/newsletters/newsletter48/articles/ViewHKL/ViewHKL.html谷歌学者
第一次引用Krissinel,E.B.,Winn,M.D.,Ballard,C.C.,Ashton,A.W.,Patel,P.,Potterton,E.A.,McNicholas,S.J.,Cowtan,K.D.&Emsley,P.(2004)。《水晶学报》。D类60, 2250–2255. 科学网 交叉参考 中国科学院 IUCr日志 谷歌学者
第一次引用Langer,G.、Cohen,S.X.、Lamzin,V.S.和Perrakis,A.(2008年)。自然协议。 , 1171–1179. 科学网 交叉参考 中国科学院 谷歌学者
第一次引用Larkin,M.A.、Blackshields,G.、Brown,N.P.、Chenna,R.、McGettigan,P.A.、McWilliam,H.、Valentin,F.、Wallace,I.M.、Wilm,A.、Lopez,R.、Thompson,J.D.、Gibson,T.J.和Higgins,D.G.(2007年)。生物信息学,23, 2947–2948. 科学网 交叉参考 公共医学 中国科学院 谷歌学者
第一次引用Long,F.、Nicholls,R.A.、Emsley,P.、Graíulis,S.、Merkys,A.、Vaitkus,A.和Murshudov,G.N.(2017年)。《水晶学报》。D类73, 112–122. 科学之网 交叉参考 IUCr日志 谷歌学者
第一次引用McCoy,A.J.、Grosse-Kunstleve,R.W.、Adams,P.D.、Winn,M.D.、Storoni,L.C.和Read,R.J.(2007年)。J.应用。克里斯特。 40, 658–674. 科学网 交叉参考 中国科学院 IUCr日志 谷歌学者
第一次引用McNicholas,S.、Potterton,E.、Wilson,K.S.和Noble,M.E.M.(2011年)。《水晶学报》。D类67, 386–394. 科学网 交叉参考 中国科学院 IUCr日志 谷歌学者
第一次引用Minor,W.、Cymborowski,M.、Otwinowski,Z.和Chruszcz,M.(2006年)。《水晶学报》。D类62, 859–866. 科学网 交叉参考 中国科学院 IUCr日志 谷歌学者
第一次引用Murshudov,G.N.、Skubák,P.、Lebedev,A.A.、Pannu,N.S.、Steiner,R.A.、Nicholls,R.A、Winn,M.D.、Long,F.&Vagin,A.(2011)。《水晶学报》。D类67, 355–367. 科学网 交叉参考 中国科学院 IUCr日志 谷歌学者
第一次引用Nicholls,R.A.、Fischer,M.、McNicholas,S.和Murshudov,G.N.(2014)。《水晶学报》。D类70, 2487–2499. 科学之网 交叉参考 IUCr日志 谷歌学者
第一次引用Nicholls,R.A.、Long,F.和Murshudov,G.N.(2012年)。《水晶学报》。D类68, 404–417. 科学网 交叉参考 中国科学院 IUCr日志 谷歌学者
第一次引用Pape,T.&Schneider,T.R.(2004)。J.应用。克里斯特。 37, 843–844. 科学网 交叉参考 中国科学院 IUCr日志 谷歌学者
第一次引用Potterton,E.,McNicholas,S.,Krissinel,E.,Cowtan,K.&Noble,M.(2002年)。《水晶学报》。D类581955年至1957年科学网 交叉参考 中国科学院 IUCr日志 谷歌学者
第一次引用Powell,H.R.、Battye,T.G.G.、Kontogiannis,L.、Johnson,O.和Leslie,A.G.W.(2017)。自然协议。 12, 1310–1325. 科学网 交叉参考 中国科学院 谷歌学者
第一次引用Sheldrick,G.M.(2010年)。《水晶学报》。D类66, 479–485. 科学网 交叉参考 中国科学院 IUCr日志 谷歌学者
第一次引用Skubák,P.(2018)。《水晶学报》。D类74, 117–124. 交叉参考 IUCr日志 谷歌学者
第一次引用Skubák,P.&Pannu,N.S.(2013年)。自然社区。 4, 2777. 谷歌学者
第一次引用Stein,N.(2008)。J.应用。克里斯特。 41, 641–643. 科学网 交叉参考 中国科学院 IUCr日志 谷歌学者
第一次引用Tickle,I.J.(2012年)。《水晶学报》。D类68, 454–467. 科学网 交叉参考 中国科学院 IUCr日志 谷歌学者
第一次引用Vagin,A.和Teplyakov,A.(2010年)。《水晶学报》。D类66, 22–25. 科学网 交叉参考 中国科学院 IUCr日志 谷歌学者
第一次引用A.瓦尔基。等。(2015).糖生物学,25, 1323–1324. 科学网 交叉参考 中国科学院 公共医学 谷歌学者
第一次引用Westbrook,J.D.&Fitzgerald,P.M.D.(2009)。结构生物信息学第二版,由J.Gu和P.E.Bourne编辑,第271-291页。霍博肯:约翰·威利父子公司。 谷歌学者
第一次引用医学博士温恩。等。(2011).《水晶学报》。D类67, 235–242. 科学网 交叉参考 中国科学院 IUCr日志 谷歌学者
第一次引用Winn,M.D.、Murshudov,G.N.和Papiz,M.Z.(2003年)。方法酶制剂。 374, 300–321. 科学网 交叉参考 公共医学 中国科学院 谷歌学者
第一次引用Winter,G.、Lobley,C.M.C.和Prince,S.M.(2013)。《水晶学报》。D类69, 1260–1273. 科学网 交叉参考 中国科学院 IUCr日志 谷歌学者
第一次引用Winter,G.、Waterman,D.G.、Parkhurst,J.M.、Brewster,A.S.、Gildea,R.J.、Gerstel,M.、Fuentes-Montero,L.、Vollmar,M.,Michels-Clark,T.、Young,I.、Sauter,N.K.和Evans,G.(2018年)。《水晶学报》。D类74, 85–97. 交叉参考 IUCr日志 谷歌学者
第一次引用Wojdyr,M.、Keegan,R.、Winter,G.和Ashton,A.(2013)。《水晶学报》。A类69,第299节交叉参考 IUCr日志 谷歌学者

这是一篇根据知识共享署名(CC-BY)许可证它允许在任何介质中不受限制地使用、分发和复制,前提是引用了原始作者和来源。

期刊徽标结构性的
生物学
编号:2059-7983