文章目录
一、环境配置
- windows下的安装与初始化
- 用户设置与服务启动
二、操作使用
- cmd操作
- python操作
一、环境配置
PostgreSQL是一个开源、可扩展的关系型数据库,rdkit官网文档里也是以postgresql作为案例进行演示。本文介绍带rdkit插件的postgresql在windows系统上的环境配置,以及在python环境下的基本操作。
1.windows下的安装与初始化
- 直接在cmd下使用conda安装继承了rdkit插件的postgresql
C:UsersAdministrator> conda install -c rdkit rdkit-postgresql
- 安装完成后需要初始化一下,在"-D"后加上数据库的数据存储目录
C:UsersAdministrator> initdb –D d:postgresqldata
2.用户设置与服务启动
- 安装完成后,直接在cmd中执行“postgres -D d:postgresqldata”启动服务会出现如下提示,即不能用带管理员权限的用户来启动服务
Execution of PostgreSQL by a user with administrative permissions is not permitted.
- 接下来在cmd命令行中进行用户设置,这部分内容会被360报错,需要暂时关闭杀毒软件或手动操作
- 新建一个用户postgres
C:UsersAdministrator> net user postgres /add
- 激活该用户
C:UsersAdministrator> net user postgres /active:yes
- 在<password>中设置密码
C:UsersAdministrator> net user postgres <password>
- 切换到postgres用户,并根据提示输入上一步中设置的密码
C:UsersAdministrator> runas /user:postgres cmd
- 在弹出的新窗口中启动postgresql服务
C:UsersAdministrator> postgres -D d:postgresqldata
- 服务启动成功,可以在cmd或python中操作数据库了
二、操作使用
1.cmd操作
- 再打开一个cmd终端,创建一个新数据库命名为mols(需要添加conda的环境变量)
C:UsersAdministrator> createdb mols
- 为数据库加载rdkit扩展模块
C:UsersAdministrator> psql –c “create extension rdkit” mols
- 进入mols数据库的交互界面.
C:UsersAdministrator> psql mols
- 操作失误还可以删除数据库.
C:UsersAdministrator> dropdb mols
2.python操作
- 这里选择psycopg2库用于连接postgresql,同样使用conda安装psycopg2
C:UsersAdministrator> conda install -c conda-forge psycopg2
- 接下来导入psycopg2,并创建一个connection连接:connect() database:设置连接数据库的名称 user:用户 password:密码 port:端口号,默认5432 host:宿主ip
>>>
- 创建一个游标cursor,在内存中开辟一块区域,用于存储数据操作的结果:connection.cursor()
>>>
- 执行一条SQL语句测试一下,查看操作用户
>>>
- 写一条postgresql语句,记为query,创建一个数据表,命名为info,并表添加列名,设置数据格式
- 使用游标来执行语句:execute(query)
>>>
- 读取1000条左右的数据
>>>
获取mol对象列表
>>>
创建一个描述符计算对象,将类药五规则设置到计算器中,这部分不明白的可以参考这篇文章
from
- 使用计算器,对每个分子计算所需描述符
>>>
- 在query中写入一条向数据表info插入数据的语句,并执行该语句
>>>
- 通过聚合函数count(*)看一下有多少条结果
- 通过游标获取查询结果:fetchall()
>>>
- 最后操作完后,记得提交对数据库的修改:commit()
>>>
本文参考自rdkit、postgresql安装文档。 python代码及源文件在这里。