ankane /
PHP 的化学信息学,由 RDKit 驱动
v0.1.1
2024-09-09 05:55 UTC
Requires
- php: >= 8.1
- ext-ffi: >= 8.1
Requires (Dev)
- phpunit/phpunit: ^10
This package is not auto-updated.
Last update: 2024-09-23 06:13:11 UTC
README
PHP 的化学信息学,由 RDKit 驱动
安装
运行
composer require ankane/rdkit
将脚本添加到 composer.json
中以下载共享库
"scripts": { "post-install-cmd": "RDKit\\Vendor::check", "post-update-cmd": "RDKit\\Vendor::check" }
然后运行
composer install
入门指南
创建一个分子
use RDKit\Molecule; $mol = Molecule::fromSmiles('c1ccccc1O');
获取原子数量
$mol->numAtoms();
获取子结构匹配
$mol->match(Molecule::fromSmarts('ccO'));
获取片段
$mol->fragments();
生成 SVG
$mol->toSvg();
指纹
支持多种 指纹
RDKit
$mol->rdkitFingerprint();
Morgan
$mol->morganFingerprint();
模式
$mol->patternFingerprint();
原子对
$mol->atomPairFingerprint();
拓扑扭曲
$mol->topologicalTorsionFingerprint();
MACCS
$mol->maccsFingerprint();
您可以使用类似 pgvector-php 的库来查找相似的分子。请参阅 示例。
更新
添加或删除氢原子
$mol->addHs(); $mol->removeHs();
标准化
$mol->cleanup(); $mol->normalize(); $mol->neutralize(); $mol->reionize(); $mol->canonicalTautomer(); $mol->chargeParent(); $mol->fragmentParent();
转换
SMILES
$mol->toSmiles();
SMARTS
$mol->toSmarts();
CXSMILES
$mol->toCXSmiles();
CXSMARTS
$mol->toCXSmarts();
JSON
$mol->toJson();
反应
创建一个反应
use RDKit\Reaction; $rxn = Reaction::fromSmarts('[CH3:1][OH:2]>>[CH2:1]=[OH0:2]');
生成 SVG
$rxn->toSvg();
历史记录
查看 变更日志
贡献
鼓励每个人帮助改进这个项目。以下是一些您可以提供帮助的方式
开始开发
git clone https://github.com/ankane/rdkit-php.git cd rdkit-php composer install composer test