由于主要自己做蛋白计算方面,所以主要关注的为PDB方面内容 Biopython是python用于做生物计算比较有名的底层包,这里总结自己的一些笔记,因为自己也是刚刚学,若有错误的地方请斧正。
1.PDB模块学习
1.1 读取pdb文件
我们以2b3p为例,我的文件结构如下
file -readpdb.py
dir -pdb
file –2b3p.pdb
|
|
头部信息一般可以获取如下:
name
, head
, deposition_date
, release_date
, structure_method
, resolution
, structure_reference
(参考文献),journal_reference
, author
, compound
(复合物),has_missing_residues
, missing_residues
, 和astral
1.2 数据结构表示
如官方给的图所示:
Structure
,Model
, Chain
和Residue
均为Entity 的基础类的子类,Atom
部分继承了Entity类,因为Atom
没有children类
杂乱的 atoms
和residues
分别属于 DisorderedAtom
和 DisorderedResidue
类,其属于DisorderedEntityWrapper
子类
获取模型:
|
|
输出
|
|
得到模型并获取链和残基:
|
|
输出
|
|
获取当前位置的层级信息:
|
|
输出:
|
|
若需要获得这个实例的id可以使用
|
|
残基有许多有用的方法:
|
|
原子的方法就更多了:
|
|
例子: 旋转原子
|
|
输出的结果为:
|
|
结构object“巡航”
基础操作
查找结构的所有原子:
|
|
同样其有一个get_atoms()方法:
|
|
当然chain也有这个方法,这里不展开了
获取residue列表:
|
|
获取所有的hetero残基:
|
|
输出结果为:
|
|
H的原因为hetero残基在残基的第一个框框里面为“H”开头
打印B factor大于10的所有原子坐标
|
|
提炼多肽
通过从结构内提炼多肽,提炼序列
|
|
输出结果为:
|
|
3. 分析结果
3.1 平均距离
|
|
输出的结果为:
|
|
3.2 计算角度和二面角
|
|
3.3 获取标准残基的内部坐标
TODO:待研究
|
|
TODO:可以模仿制作拉试图
3.4 检测原子原子之间的联系
即临近搜索
|
|
可以搜索半径10埃范围的氨基酸残基。