Mychem在Ubuntu 24.04 平台上的编译与配置
Mychem简介
Mychem 是一个面向 MySQL 和 MariaDB 数据库的开源化学信息学扩展模块,基于 GNU GPL 许可发布。该扩展通过在数据库中提供一系列化学信息学函数,使用户能够在 SQL 查询环境中直接操作和分析化学数据。
Mychem 构建于 Open Babel 工具包之上,支持在数据库中执行分子搜索、结构分析以及格式转换等操作,从而实现对分子信息的高效管理与检索。研究人员可以利用 SQL 语句直接进行子结构匹配、相似性搜索以及分子格式(如 SMILES、InChI)的互相转换,而无需借助外部程序。
Mychem 的 SQL API 设计理念与其他基于 Open Babel 的项目(如 Pgchem::tigress(PostgreSQL 平台)和 OrChem(Oracle 平台))保持一致,为不同数据库系统提供了统一且易用的开发体验。
官方在线文档提供了完整的安装说明、使用示例以及函数接口描述,并展示了 Mychem 在大规模化学数据库管理与计算化学研究中的广泛应用潜力。
获取 Mychem
Mychem 的稳定版本以压缩包(ZIP 或 TAR)形式发布在 GitHub 的 Release 页面,也可以直接通过 Git 克隆源码仓库。
获取最新稳定版本(v2.0.0)
wget https://github.com/mychem/mychem-code/archive/refs/tags/v1.0.0.tar.gz
tar -xf mychem-1.0.0.tar.gz
或直接从 Git 仓库克隆开发版:
git clone https://github.com/mychem/mychem-code.git
cd mychem-code
系统与软件依赖
要成功编译并安装 Mychem,需要以下程序与库文件:
组件 | 要求 | 安装方式(Ubuntu) |
---|---|---|
C/C++ 编译器 | GNU GCC(推荐) | 已预装或使用 sudo apt install build-essential |
CMake | ≥ 2.6.0 | sudo apt install cmake |
MySQL / MariaDB | MySQL ≥ 4.0 或 MariaDB 任意版本 | sudo apt install mariadb-server libmysqlclient-dev |
Open Babel | ≥ 2.3.2 | sudo apt install libopenbabel-dev |
编译与安装步骤
Mychem 支持两种构建方式:
-
源内构建(in-source build)
-
源外构建(out-of-source build,推荐)
cd mychem-2.0.0
mkdir build
cd build
cmake ..
make
sudo make install
安装完成后,可通过以下命令查看插件安装目录:
mysql_config --plugindir
MySQL 中加载 Mychem
进入 MySQL 控制台:
mysql -u root -p
加载 Mychem 插件:
INSTALL PLUGIN mychem SONAME 'ha_mychem.so';
查看插件状态:
SHOW PLUGINS;
如安装成功,将看到:
| mychem | ACTIVE | STORAGE ENGINE | GPL |
然后执行 SQL 文件以创建 Mychem 函数:
mysql -u root -p < src/mychemdb.sql
测试安装
从 v0.5 起,Mychem 自带测试套件,可验证编译和数据库连接。
示例命令如下
cd mychem-2.0.0
mkdir build && cd build
cmake -DMY_HOST=localhost -DMY_USER=user -DMY_PASSWD=passwd ..
make
make install
make test
执行测试后,输出类似:
Running tests...
Test project mychem-code/build
Start 1: ConversionTest ............. Passed
Start 2: HelperTest ................. Passed
Start 3: ModificationTest ........... Passed
Start 4: MolmatchTest ............... Passed
Start 5: PropertyTest ............... Passed100% tests passed, 0 tests failed out of 5
参考资料
https://github.com/mychem/mychem-code
https://github.com/mychem/
https://mychem.github.io/