5 个版本
0.0.9 | 2020年10月21日 |
---|---|
0.0.8 | 2020年10月20日 |
0.0.6 | 2020年10月19日 |
0.0.2 | 2020年10月18日 |
0.0.1 | 2020年10月17日 |
在 解析器实现 中排名 #1832
在 2 个包中使用
4MB
2K SLoC
nom-pdb
使用 nom 在 Rust 中实现的 PDB 解析器。
注意:此包处于早期开发阶段,API 尚未稳定,因此请勿在生产环境中使用此包。如果您有任何建议,请随时提交问题或提出 PR!
特性
- 解析结构信息和重要元数据的一个子集。
- 一级结构
- 二级结构(片层和螺旋)
- 坐标和键合
- 能够处理非标准残基(尚不成熟)
- 由 serde 提供的 JSON 序列化。
解析的数据存储在 Structure
中,这是一个由 protein-core
包提供的结构。
示例
读取到 JSON
cargo run --example read 1a8o
{
"header": {
"classification": "VIRAL PROTEIN",
"deposition_date": "1998-03-27",
"id_code": "1A8O"
},
"title": "HIV CAPSID C-TERMINAL DOMAIN",
"authors": [
"T.R.GAMBLE",
"S.YOO",
"F.F.VAJDOS",
"U.K.VON SCHWEDLER",
"D.K.WORTHYLAKE",
"H.WANG",
"J.P.MCCUTCHEON",
"W.I.SUNDQUIST",
"C.P.HILL"
],
"experimental_techniques": [
"XRayDiffraction"
],
"cryst1": {
"a": 41.98,
"b": 41.98,
"c": 88.92,
"alpha": 90.0,
"beta": 90.0,
"gamma": 90.0,
"lattice_type": "Primitive",
"space_group": [
[
4,
3
],
[
2,
1
],
[
2,
1
]
],
"z": 8
},
"modres": {
"MSE": {
"standard_res": "Met",
"description": "SELENOMETHIONINE",
"occurence": [
[
"A",
151
],
[
"A",
185
],
[
"A",
214
],
[
"A",
215
]
]
}
},
"seqres": [
[
"A",
[
{
"Custom": "MSE"
},
"Asp",
"Ile",
"Arg",
"Gln",
"Gly",
"Pro",
// snip //
]
]
],
"models": [
{
"atoms": [
"id": 1,
"name": "N",
"id1": " ",
"residue": "Ser",
"chain": "A",
"sequence_number": 0,
"insertion_code": " ",
"x": -12.138,
"y": 1.867,
"z": 20.782,
"occupancy": 1.0,
"temperature_factor": 67.46,
"element": "N",
"charge": 0,
"hetatom": false
},
// snip //
]
"anisou": [
// snip //
],
"sheets": [
{
"id": "A",
"strands": [
{
"start": [
"A",
34
],
"end": [
"A",
38
],
"sense": "Unknown"
},
// snip //
]
},
// snip //
]
"helices": [
// snip
],
"connect": [
// snip //
]
}
]
}
注意
参考
- http://www.wwpdb.org/documentation/file-format-content/format33/v3.3.html
- https://proteopedia.org/wiki/index.php/Non-Standard_Residues#cite_note-pdb22-0
路线图
注意:优先级应放在解析结构信息上,而不是元数据,因为后者基本上是无序的文本,并且通常对用户来说没有特别的意义(即使它们有,用户也可以直接检查 PDB 文件)。
标题部分
一级结构部分
异质部分
二级结构部分
连接注释部分
其他特性部分
晶体学和坐标变换部分
坐标部分
连接部分
账目部分
示例 PDB 文件
该目录下assets/
中的文件是通过RSCB的FTP服务器使用我的博客文章中描述的方法检索的。以下是存储在该目录中的选定PDB文件的一些特性
- 1a8o: 一个简单的X射线结构
- 4f7i: 许多片层
- 7znf: 溶液NMR;许多模型
- 3l1p: 与DNA的复合物
依赖关系
~5MB
~101K SLoC