ankane/

PHP 的化学信息学,由 RDKit 驱动

v0.1.1 2024-09-09 05:55 UTC

This package is not auto-updated.

Last update: 2024-09-23 06:13:11 UTC


README

PHP 的化学信息学,由 RDKit 驱动

Build Status

安装

运行

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