Fast DP: 使用XDS进行快速数据处理
项目描述
简介
Fast DP是一个使用XDS、CCP4和CCTBX快速提供数据处理结果的Python小程序:具体速度取决于运行环境。本质上,将扫描的第一个图像传递给程序,读取其标题,然后使用从数据开始处、45度处和90度处的小楔形数据中绘制的小点,使用XDS进行三斜晶格索引(尽可能接近这一点)。然后,如果XDS forkintegrate脚本是适当配置的,将并行执行积分,使用多个核心或多个处理器。然后,使用XDS在P1中对数据进行缩放,然后使用Pointless进行分析。最后,使用Pointless的分析结果和XDS CORRECT步骤的全局后优化结果来选择点群,之后使用XDS在这个点群中对数据进行重新缩放,并与Aimless合并。
在Diamond Light Source,使用配置适当的集群和并行文件存储,这个过程通常需要长达两分钟的时间来处理任何数量的图像。
使用方法
fast_dp -h Usage: fast_dp.py [options] Options: -h, --help show this help message and exit -b BEAM, --beam=BEAM Beam centre: x, y (mm) -a ATOM, --atom=ATOM Atom type (e.g. Se) -j NUMBER_OF_JOBS, --number-of-jobs=NUMBER_OF_JOBS Number of jobs for integration -k NUMBER_OF_CORES, --number-of-cores=NUMBER_OF_CORES Number of cores for integration -J MAXIMUM_NUMBER_OF_JOBS, --maximum-number-of-jobs=MAXIMUM_NUMBER_OF_JOBS Maximum number of jobs for integration -c CELL, --cell=CELL Cell constants for processing, needs spacegroup -s SPACEGROUP, --spacegroup=SPACEGROUP Spacegroup for scaling and merging -1 FIRST_IMAGE, --first-image=FIRST_IMAGE First image for processing -N LAST_IMAGE, --last-image=LAST_IMAGE Last image for processing -r RESOLUTION_HIGH, --resolution-high=RESOLUTION_HIGH High resolution limit -R RESOLUTION_LOW, --resolution-low=RESOLUTION_LOW Low resolution limit
传统用法,例如在笔记本电脑上,可以是这样的:
fast_dp ~/data/i04-BAG-training/th_8_2_0001.cbf
在2011 Macbook Pro上得到以下输出
Fast_DP installed in: /Users/graeme/svn/fast_dp Starting image: /Users/graeme/data/i04-BAG-training/th_8_2_0001.cbf Number of jobs: 1 Number of cores: 0 Processing images: 1 -> 540 Phi range: 82.00 -> 163.00 Template: th_8_2_####.cbf Wavelength: 0.97625 Working in: /private/tmp/fdp All autoindexing results: Lattice a b c alpha beta gamma tP 57.80 57.80 150.00 90.00 90.00 90.00 oC 81.80 81.70 150.00 90.00 90.00 90.00 oP 57.80 57.80 150.00 90.00 90.00 90.00 mC 81.80 81.70 150.00 90.00 90.00 90.00 mP 57.80 57.80 150.00 90.00 90.00 90.00 aP 57.80 57.80 150.00 90.00 90.00 90.00 Mosaic spread: 0.04 < 0.06 < 0.07 Happy with sg# 89 57.80 57.80 150.00 90.00 90.00 90.00 -------------------------------------------------------------------------------- Low resolution 28.89 28.89 1.37 High resolution 1.34 5.99 1.34 Rmerge 0.062 0.024 0.420 I/sigma 13.40 44.70 1.60 Completeness 99.6 98.9 96.1 Multiplicity 5.3 5.0 2.8 Anom. Completeness 96.5 100.0 71.4 Anom. Multiplicity 2.6 3.1 1.2 Anom. Correlation 99.9 99.9 76.0 Nrefl 306284 3922 11217 Nunique 57886 786 4030 Mid-slope 1.007 dF/F 0.075 dI/sig(dI) 0.823 -------------------------------------------------------------------------------- Merging point group: P 4 2 2 Unit cell: 57.78 57.78 150.01 90.00 90.00 90.00 Processing took 00h 03m 59s (239 s) [306284 reflections] RPS: 1277.6
主要结果是包含缩放和合并强度的文件fast_dp.mtz,Aimless的日志文件用于绘制合并统计信息和fast_dp.log中的上述信息。
另请参阅fast_rdp以重新运行最后步骤以更改选择。
如果您觉得fast_dp很有用,请引用以下内容作为源代码的DOI:,以及/或
Winter, G. & McAuley, K. E. “用于大分子晶体学的数据收集自动化。”方法55,81-93(2011)。
请还引用XDS、CCTBX和CCP4
依赖关系
fast_dp依赖于
XDS
CCP4
CCTBX
如果所有这些都已安装和配置,则无需进一步操作。在积分的并行操作中,需要一个forkintegrate脚本来将作业发送到您的队列系统。
安装
您可以通过加载您的CCTBX环境然后运行来从PyPI安装fast_dp的最新发布版本
libtbx.pip install fast_dp
并使用以下命令将现有安装更新到新版本
libtbx.pip install --upgrade fast_dp
然后您必须运行例如
libtbx.configure libtbx
以确保所有命令行程序都设置正确。
开发者安装
如果您是开发者,则可以运行
libtbx.install fast_dp
而不是。这将从cctbx模块目录中检出fast_dp的开发副本,然后将其安装到系统中。要更新您的开发副本,您需要像通常那样更新存储库,然后在源目录中运行
libtbx.python setup.py develop
。
编码标准
fast_dp的风格指南与PEP8保持一致,由black实现https://black.pythonlang.cn/en/stable/ - 安装几乎非常简单(pip3 install black)并运行不带选项,即在fast_dp目录中
black .
将执行所需的操作,以便将格式化还原为默认设置,从而使diff仅显示代码差异而不是任何格式化差异。我们无意过于严格,但有一个风格指南有助于贡献的开发者,因为他们没有疑问。
假设
fast_dp生成的XDS.INP文件做出以下假设
所有扫描都是关于单一轴,大约平行于检测器“快”轴(多轴回转仪是可以的,只要扫描的轴是固定的)
检测器在两theta方向上没有偏移,即光束大约垂直于检测器表面。
目前包括Pilatus 2M & 6M,ADSC和Rayonix CCD检测器的模板 - 可能可以对其他检测器进行修改。
支持
fast_dp提供无保证的支持,然而在联系scientificsoftware@diamond.ac.uk时将提供“尽力”支持。在发生错误报告时,可能会要求用户提供示例数据。
致谢
fast_dp是在Diamond Light Source开发的,旨在以尽可能短的时间内为用户提供关于其数据合并统计的反馈。然而,它非常依赖于XDS及其固有的并行化以及CCP4和CCTBX来运行,没有这些fast_dp将无法存在。
许可
版权所有2014 Diamond Light Source
根据Apache License,版本2.0(“许可证”);您不得使用此文件,除非遵守许可证。您可以在以下位置获取许可证副本:
https://apache.ac.cn/licenses/LICENSE-2.0
除非适用法律要求或经书面同意,否则在许可证下分发的软件按“原样”基础分发,不提供任何明示或暗示的保证或条件。请参阅许可证了解特定语言的许可权限和限制。
发布流程
请确保您已将更改写入HISTORY.rst文件。
为了准备新的fast_dp发布,您需要安装bump2version,例如通过运行
pip install bump2version
或者使用CCTBX环境中的libtbx.pip,然后执行libtbx.configure。之后可以通过以下方式发布版本:
# Assuming current version is 1.1.1 bumpversion major # 1.1.1 -> 2.0.0 # or bumpversion minor # 1.1.1 -> 1.2.0 # or bumpversion patch # 1.1.1 -> 1.1.2 git push git push origin v1.1.2 # or git push origin v1.2.0 # or git push origin v2.0.0
发布标签一旦推送到GitHub,Travis将捕获它,生成新的包并将其直接上传到PyPI。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
构建分发
fast_dp-1.7.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ade6bf3d398a80e169980e8ae608bf20e883c1094a2062665f3cc1dc273e99f5 |
|
MD5 | b941d6c16b54b06128f6d5faffd2ea15 |
|
BLAKE2b-256 | 1b6769932b40335121434bfc01511569681ad333ba812192e4ce0cffd2993831 |
fast_dp-1.7-py3-none-any.whl的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6620c9f23046333995c4cc7621746f4a0fc6e09cae52b7995515535ad2f40809 |
|
MD5 | 7635a1fd8e54dcca21e597e98b63f65b |
|
BLAKE2b-256 | 01c3723b88e3478994371c858086ac9ff1d10d0a16eeda4adde7124c3b10f041 |