使用Biopython解析PDB结构
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 文件读取
- 结构的表示
- 随缘更新后续内容
文件读取
导入PDBParser
读取本地pdb文件
>>> from Bio.PDB import PDBParser
>>> p=PDBParser()
>>> s=p.get_structure("7kn5","7kn5.pdb")
>>> s
<Structure id=7kn5>
get_strucutre()
方法有两个参数,第一个参数为id,相当于一个可以自己指定的名字,第二个参数是文件名
结构的表示
一个 Structure
对象的整体布局遵循称为SMCRA(Structure/Model/Chain/Residue/Atom,结构/模型/链/残基/原子)的体系架构:
- 结构由模型组成
- 模型由多条链组成
- 链由残基组成
- 多个原子构成残基
>>> model=s[0] >>> model <Model id=0> >>> chain=model['A'] >>> chain <Chain id=A> >>> for i in chain: ... print(i) ... <Residue GLN het= resseq=1 icode= > <Residue VAL het= resseq=2 icode= > <Residue GLN het= resseq=3 icode= > >>> chain[3] <Residue GLN het= resseq=3 icode= >
笔者这里导入的蛋白是一个只有单链的蛋白,因此chain也只有一条,对于有多条链的蛋白可以用ABCDEF一直索引下去;而每个链由多个氨基酸组成,直接使用下标索引可以找到,这里只列出了遍历结果的小部分。
注意:chain的下标是从1开始的,不是从0开始的对于不同链的描述,其实用PDB也可以看到的
残基对象的一些其他方法:
>>> residue.get_resname() # 返回残基名称,如 "ASN" >>> residue.is_disordered() # 返回1如果该残基含有无序原子 >>> residue.get_segid() # 返回其SEGID如"CHN1" >>> residue.has_id(name) # 判断一个残疾是否有某个原子
atom对象包含在chain:
>>>chain[1] <Residue GLN het= resseq=1 icode= > >>> for atom in chain[1]: ... print(atom) ... <Atom N> <Atom CA> <Atom C> <Atom CB> <Atom O> <Atom CG> <Atom CD> <Atom NE2> <Atom OE1>
用文字索引可以指向某个chain的atom:
>>> atom=residue['CA']
>>> for key in atom.__dict__: ... print(key,atom.__dict__[key]) ... level A parent <Residue GLN het= resseq=1 icode= > name CA fullname CA coord [20.024 -3.073 -1.719] bfactor 86.76 occupancy 1.0 altloc full_id ('7kn5', 0, 'A', (' ', 1, ' '), ('CA', ' ')) id CA disordered_flag 0 anisou_array None siguij_array None sigatm_array None serial_number 2 xtra {} element C mass 12.0107 pqr_charge None radius None _sorting_keys {'N': 0, 'CA': 1, 'C': 2, 'O': 3}
可以看出,atom对象中存储了包括原子名称,原子坐标,B因子,原子质量,altloc标识符和原子名称等数据
随缘更新后续内容
使用Biopython解析PDB结构相关推荐
- Biopython使用4:PDB结构
Biopython 第十一章:走向3D:PDB模块 PDBParser和MMCIFParser PDBParser 解析器 使用p=PDBParser(参数)来构建一个PDB解释器. 接收以下参数 ( ...
- 单分子测序技术精准解析复杂结构变异
单分子测序技术精准解析复杂结构变异 发表期刊:Nature Methods 2018年8月,来自美国的研究团队基于三代测序读长较长的特性,利用基因组比对工具NGMLR和结构变异识别工具Sniffles ...
- cjson 对象是json数组型结构体_cJSON创建并解析json结构体 | 学步园
cJSON 对于cJSON的使用,我主要是用来模拟远程服务器端返回的一个json类型的目录结构,客户端进行获取并进行解析,把解析出来的目录按照原本的结构显示在本地. cJSON简介 cJSON是一个超 ...
- go语言json字符串解析为结构体数组,结构体指针的数组
废话不多说直接上效果图 完整代码如下 package main import ("encoding/json""fmt" ) // 结构体定义 type rob ...
- postgresql9.1_gaussdb200_解析表结构
--解析表结构 SELECT a8.nspname as schema_name,a5.relname as table_name,a5.relnamespace,a8.nspowner,a9.tab ...
- Golang Json文件解析为结构体工具-json2go
代码地址如下: http://www.demodashi.com/demo/14946.html 概述 json2go是一个基于Golang开发的轻量json文件解析.转换命令行工具,目前支持转换输出 ...
- Python解析证书结构方法
Python解析证书结构方法 示例代码 示例代码 推荐使用:Python库 pyasn1 和 pyasn1-modules,pip安装失败的话,用conda安装即可. from pyasn1_modu ...
- 小程序使用富文本编辑器以及使用wxParse解析html结构
小程序使用富文本编辑器以及使用wxParse解析html结构 13小程序发布文章功能(富文本编辑器的使用和解析html结构数据的wxParse)
- 拆分PDB结构,使每条链成为一个单独的pdb结构
说明:parse_pdb_split_chain()函数用于将PDB中包含的链拆开,包括对应的alpha-helix.beta-sheet.links信息 (不足之处在于由于暂时没有遇到含有TURN的 ...
最新文章
- 关于Visual C#装箱与拆箱的研究
- 深度学习在CTR预估的应用
- Spring Cloud笔记
- IOS安装CocoaPods完整流程
- tkinter打开文件选择窗口
- 多态方法调用的解析和分派
- python导入xlsxwriter要安装什么吗_windows下安装Python的XlsxWriter模块方法
- 2019有的图纸打印出来看不清楚_CAD制图初学入门:CAD打印实用技巧
- java在线支付---05_在线支付_编写用于准备请求数据的Servlet
- 无平行文本照样破解密码,CipherGAN有望提升机器翻译水平
- elcipse 编译cocos2d-x android
- Java vbnullstring_VB中Null、Empty、Nothing及vbNullString的区别
- 北大清华人大中关村周围二手书店淘书全攻略
- matlab getdata函数,用getdata函数读取数据的时候数据读取不过来
- ubuntu16.04安装NVIDIA显卡驱动
- 邮件服务器lp在哪找,lp地址查询_ip地址查询定位
- github连接显示隐私设置错误的解决方案
- 京东如何建设基于云原生架构的监控 - 日志系统?
- 如何优雅地管理微信数据库?
- Quick BI企业报表制作——个人笔记
热门文章
- dig命令使用详解|使用dig命令挖掘域名解析信息
- 四位行波进位加法器_《城市:天际线》中的图灵机:用水电管道做一个四位加法器...
- Windows命令行查看盘符-列盘符
- 区块链(Block Chain)结构解析
- 【渝粤教育】电大中专市场营销管理 (3)作业 题库
- 解决Microsoft Store无法下载软件问题
- Crypto++编译使用
- 记山世光老师的讲座—以计算机视觉为例的人工智能初探
- 【190222】VC++ YY辅助工具-YY语音抢麦程序源码源代码
- [简历] PHP 技能关键字列表