pandas提取时间里面的年月日_使用Pandas辅助化学数据处理

从Rdkit到pandas。

Rdkit里面有一个Chem.PandasTools提供了许多便利的扩展工具。

先导入本文需要用到的一些library:

from rdkit import rdBase, Chem, DataStructs
from rdkit.Chem import AllChem, Draw, Descriptors, PandasTools
import pandas as pd
import xlsxwriter

数据集

这次我们使用的数据集「Platinum dataset」是德国汉堡大学通过高精度XRC得到的化合物分子构造。相关论文:

「High-Quality Dataset of Protein-Bound Ligand Conformations and Its Application to Benchmarking Conformer Ensemble Generators」

(J. Chem. Inf. Model. 57, 3, 529-539.)

「Benchmarking Commercial Conformer Ensemble Generators」

(J. Chem. Inf. Model. 57, 11, 2719-2728.) →请左转sci-hub

下载地址如下

Software & Datasets​www.zbh.uni-hamburg.de
b6b63599dd4acc546a32cf66310687f6.png
https://pan.baidu.com/s/11EfwLaGGoXEO2GbCrsBuBQ​pan.baidu.com

提取码:p5ux

下载到任意地址创建文件夹之后使用pandas导出sdf文档即可查看全部信息:

df = PandasTools.LoadSDF('C:/Users/.../platinum_dataset_2017_01.sdf')
df.head()

输出结果如下:

deae2a3d8b42d94f437e9b1ad5ab7f22.png
还可以加入rdkit的描述子等其他信息到这个dataframe里

检索部分分子结构

以部分结构苯环为例,在pubchem一块钱买中巴:化合物数据库的使用方法入门[Python]里我们可以很轻易地找到苯环的smiles表达式:c1ccccc1

之后我们可以检索数据集中所有分子式中所存在的苯环并进行定位:

苯环 = Chem.MolFromSmiles('c1ccccc1')
df[df.ROMol >= 苯环].head()

输出结果如下:

a40d0d0060033f6c8347a7acc5d05281.png

当分子式中含有多个苯环的时候,只会标记其中的一个。当然我们也可以用这个方法去检索一些更特殊的部分分子构造。

提取并添加bemis・Murcko框架

Bemis・Murckohttps://pubs.acs.org/doi/10.1021/jm9602928定义的分子框架指是和链式构造(linker)相接的环状构造。

73da4eae1a3e8eb6672da21edbbd1d12.png

可以使用Bemis・Murcko的框架来提取分子框架(moleculer framwork)以及分子框架的smiles。

PandasTools.AddMoleculeColumnToFrame(df, molCol='Murcko_Mol', smilesCol='Murcko_SMILES')
df.head(10)

输出结果如下:

c18843e2fa87582a23f3a5bbf74105c9.png

最后

我们可以将pandas编辑完的datafram保存到excel

PandasTools.SaveXlsxFromFrame(df, 'C:/Users/.../sample.xls', molCol='Murcko_Mol', size=(150,150))

此外,如果要保存信息到原来的sdf文件里,还可以使用WriteSDF(dataframe,output_file,idName=None,properties=None)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值