当前位置: 首页 > news >正文

Rdkit常用命令/参数设置

rdkit

1.查看sdf

在这里插入图片描述

	"""
	查看sdf
	"""
mols = Chem.SDMolSupplier('file_path')
for mol in mols:
	#隐藏属性,得到第一行文字
	ID = mol.GetProp('_Name') 
	#得到所有分子属性
	mol_keys = mol.GetPropsAsDict().keys()
	
2.绘制可视图片

可以highlight反应物和生成物里相同的结构
绘制带id的mol文件

	"""
	绘制反应可视图片
	"""
def draw_mol(mol_file, save_mol_path):

    opts = DrawingOptions()
    opts.includeAtomNumbers = True
    opts.includeAtomNumbers = True
    opts.bondLineWidth = 2.8
    Draw.MolToFile(
        mol_file,  # mol对象
        save_mol_path,  # 图片存储地址
        size=(4000, 2000),
        kekulize=True,
        wedgeBonds=True,
        imageType=None,
        fitImage=False,
        options=opts,
    )
    """
    high light
    """
def draw_highlight(reaction, save_reaction_path):
	d2d = Draw.MolDraw2DCairo(4000, 2000)
	d2d.DrawReaction(reaction, highlightByReactant=True)
	png = d2d.GetDrawingText()
	open(save_reaction_path, 'wb+').write(png)

    """
    从mol文件绘制带标签的原子图
    """
def mol_with_atom_index(mol_file):
	atoms = mol_file.GetNumAtoms()
	for idx in range(atoms):
		mol_file.GetAtomWithIdx(idx).SetProp('molAtomMapNumber',
		 str(mol.GetAtomWithIdx(idx).GetIdx()))
def draw_mol(mol_file, save_mol_path):
    opts = DrawingOptions()
    opts.includeAtomNumbers = True
    opts.includeAtomNumbers = True
    opts.bondLineWidth = 2.8
    Draw.MolToFile(
        mol_file,  # mol对象
        save_mol_path,  # 图片存储地址
        size=(4000, 2000),
        kekulize=True,
        wedgeBonds=True,
        imageType=None,
        fitImage=False,
        options=opts,
    )

完整代码:github(Draw.py)

3.根据反应aam识别反应位点
aam = '[CH3:1][CH:28]([CH:26]([CH:25]=[CH:24][CH:23]([CH3:19])[C:20]1([C:17]2([C:2]([H:30])([C:3](=[CH:4][CH:5]=[C:6]3[C:7](=[CH2:8])[CH2:9][CH2:10][CH:11]([OH:12])[CH2:13]3)[CH2:14][CH2:15][CH2:16]2)[CH2:22][CH2:21]1)[CH3:18])[H:31])[CH3:27])[CH3:29]>>[CH3:1][CH:28]([CH3:29])[CH:26]([CH:25]=[CH:24][CH:23]([CH3:19])[C:20]1([C:17]2([C:2]([H:30])([C:3](=[CH:4][CH:5]=[C:6]3[C:7](=[CH2:8])[CH2:9][CH2:10][CH:11]([OH:12])[CH2:13]3)[CH2:14][CH2:15][CH2:16]2)[CH2:22][CH2:21]1)[CH3:18])[H:31])[CH3:27]'
rxn = AllChem.ReactionFromSmarts(aam)
sub_mol = Chem.MolFromSmiles(aam.split('>>')[0])
products = rxn.RunReactants([sub_mol])
print(rxn.GetReactingAtoms())
4.关于mol文件的一些参数

1.MolFromSmiles
在这里插入图片描述

sanitize,分子结构检查,默认值是True。这个选项会列出一些显式H原子(同下面的mergeHs=True),这样的mol文件有些软件识别不了

smi = 'xxxxxxxx'
mol = Chem.MolFromSmiles(smi, sanitize=True/False)

2.MolFromSmarts
mergeHs默认值为False,当值为True时,‘C[H]’ becomes ‘[C;!H0]’

smart = 'xxxxxxxx'
mol = Chem.MolFromSmarts(smi, mergeHs=True/False)

3.SDMolSupplier
removeHs默认值是True。是否忽略H原子

suppl = Chem.SDMolSupplier(sdf_file,removeHs=True)

4.MolToSmiles
isomericSmiles: 立体化学信息。Defaults to true.
kekuleSmiles: 无芳香族键。Defaults to false.
rootedAtAtom: smiles从特定原子开始。 Defaults to -1.
canonical:是否规范化。Defaults to true.
allBondsExplicit: 明确所有键。G Defaults to false.
allHsExplicit: 显示所有H。Defaults to false.

5.MolFromSmarts与MolFromSmiles

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • python按列标题读取csv内容
  • rdkit 识别反应中心
  • 识别反应中心原子
  • windows 脚本中心
  • git 一些报错
  • 算法图解笔记(整合)
  • 摄影相关网址
  • linux系统pytorch重装
  • conda安装某些包时找不到合适的源
  • 忆友人
  • 对梯度爆炸和梯度消失的一些理解
  • 在注册表中删除MSSQL无用的数据库注册
  • 发现一个专么收集Google图标的有趣站点
  • conda命令失效
  • 跟日期有关的两条经典SQL语句
  • 【个人向】《HTTP图解》阅后小结
  • express.js的介绍及使用
  • HTTP 简介
  • k8s如何管理Pod
  • learning koa2.x
  • QQ浏览器x5内核的兼容性问题
  • text-decoration与color属性
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • vue 配置sass、scss全局变量
  • Vue.js源码(2):初探List Rendering
  • Windows Containers 大冒险: 容器网络
  • 给github项目添加CI badge
  • 缓存与缓冲
  • 基于游标的分页接口实现
  • 今年的LC3大会没了?
  • 坑!为什么View.startAnimation不起作用?
  • 力扣(LeetCode)965
  • 前端性能优化--懒加载和预加载
  • 全栈开发——Linux
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 使用agvtool更改app version/build
  • 手写一个CommonJS打包工具(一)
  • 算法-图和图算法
  • 问题之ssh中Host key verification failed的解决
  • 项目实战-Api的解决方案
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • 走向全栈之MongoDB的使用
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • 正则表达式-基础知识Review
  • ​zookeeper集群配置与启动
  • "无招胜有招"nbsp;史上最全的互…
  • # Java NIO(一)FileChannel
  • #QT(智能家居界面-界面切换)
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (1)SpringCloud 整合Python
  • (二)学习JVM —— 垃圾回收机制
  • (六)激光线扫描-三维重建
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (十一)手动添加用户和文件的特殊权限