#pdb #protein #crystal #scientific-computing #mmcif

pdbtbx

一个用于打开/编辑/保存(晶体学)蛋白质数据银行(PDB)和mmCIF文件的库

27个发布版本

0.11.0 2023年9月1日
0.10.2 2023年5月23日
0.10.1 2022年12月4日
0.10.0 2022年8月13日
0.6.2 2021年3月31日

#268 in 生物学

Download history 113/week @ 2024-04-22 19/week @ 2024-04-29 8/week @ 2024-05-06 24/week @ 2024-05-13 61/week @ 2024-05-20 31/week @ 2024-05-27 21/week @ 2024-06-03 43/week @ 2024-06-10 18/week @ 2024-06-17 37/week @ 2024-06-24 13/week @ 2024-07-01 6/week @ 2024-07-08 33/week @ 2024-07-15 17/week @ 2024-07-22 45/week @ 2024-07-29 11/week @ 2024-08-05

107 每月下载量
用于 6 crates

MIT 许可证

525KB
11K SLoC

DOI Compile & Test pdbtbx documentation Crates.io rustc 1.56+

描述

这是一个Rust库,帮助解析、编辑和保存晶体学PDB/mmCIF文件。它可以读取PDB/mmCIF文件中的大多数原子数据。其高级目标是创建一个稳定、高效且易于使用的纯Rust编写的PDB/mmCIF文件接口。

贡献

由于这是一个处于积极开发中的库,请随时分享您的想法、观点、希望和批评。每个评论都将被阅读和讨论,以便使这个库尽可能地为所有用户有用。当然我们都喜欢文明讨论,所以请遵循社区指南,但总的来说,请做一个文明的人。

许可证

MIT

为什么

这最初是为了在科学项目中使用Rust而开始的。但它变成了一个开源项目,因为我认为在科学计算中使用Rust非常有帮助,并且是一个很好的补充,与无处不在的Python并列。所以通过创建它,我希望扩展Rust的可用性。自从《自然》杂志发表了一篇(技术特性)文章(文章),阐述了使用Rust的好处,并表明Rust的使用越来越广泛,我计划在科学项目中更多地使用Rust。我认为帮助Rust(在科学社区中)前进的最好方法是创建更多支持Rust科学项目的支持。

贡献者

支持的功能

由于这个库的主要目标是允许访问原子数据,因此不支持PDB和mmCIF的许多元数据功能。对于这两种文件格式,使用最新版本(PDB v3.30和mmcif v5.338),但鉴于它们都是非常稳定的文件格式,确切版本不应影响最终用户。

PDB功能 PDB mmCIF 在mmCIF中对应
HEADER (ID) ✔️ ✔️ entry.id
REMARK ✔️ _pdbx_database_remark.id
ATOM ✔️ ✔️ 原子站点
ANISOU ✔️ ✔️ 原子站点
SCALE ✔️ ✔️ _atom_sites.Cartn_transf
ORIGX ✔️ ✔️ _database_PDB_matrix.origx
MATRIX ✔️ ✔️ struct_ncs_oper
CRYSTAL ✔️ ✔️ cell + symmetry
MODEL ✔️ ✔️ 原子站点
MASTER 〰️ _pdbx_database_PDB_master
SEQRES 〰️ ?
DBREF ✔️ pdbx_dbref
DBREF1/2 ✔️ pdbx_dbref
MODRES ✔️ ?
SEQADV ✔️ ?
部分 关键词 支持
异质 HET, HETNAM, HETSYN, FORMUL 🔍
二级结构 HELIX, SHEET 🔍
连接性 SSBOND, LINK, CISPEP, CONNECT 🔍
标题 OBSLTE, TITLE, SPLIT, CAVEAT, COMPND, SOURCE, KEYWDS, EXPDTA, NUMMDL, MDLTYP, AUTHOR, REVDAT, SPRSDE, JRNL, HEADER (其他列)
其他 站点
符号 描述
✔️ 支持
〰️ 部分支持
支持计划(v1.0)
🔍 支持预期(>v1.0)
不支持

计划支持的功能将包含在1.0版本中。预期支持的功能将是候选者,但不一定包含在1.0版本中。不支持的功能被认为对于这些文件上的原子数据计算不是必要的。如果您确实需要这些功能,请提出问题,我们可以讨论其包含。另外,如果您需要“计划”或“预期”的功能,请随时提出问题以指导开发,使其对现实生活产生影响。

其他功能包

  • 该功能包利用功能包Rayon的力量,提供对PDB结构的多线程迭代器。
  • 该功能包利用功能包rstar的力量,提供非常高效的空间查找。
  • 该功能包有选择原子(s)的健壮方式,请参阅Search
  • 该功能包有许多针对常见PDB操作的出色辅助方法(重新编号、排序、原子属性查找)。
  • 该功能包有许多遍历PDB结构的方法,以方便访问和控制性能。

最新更新

v0.11.0

  • 添加了对压缩文件(.gz)的支持(感谢OWisset)
  • 不再自动将链名称转换为大写(感谢OWisset)

另请参阅变更日志

支持和开发

当我在自己的项目中积极使用此功能包时,该功能包正在积极开发和扩展。我非常愿意接收并处理PR和问题,即使项目看起来有点过时。但如果有人发现这个项目过时,并想接管管理和/或主要开发,请随时联系,我们可以讨论。如果这意味着项目将继续存在,我将很高兴将项目和crates.io的访问权转让。

依赖关系

~4.5MB
~93K SLoC