molfeat - 您的分子特征化工具集
Molfeat是一个分子特征化工具集。它支持多种开箱即用的分子特征化器,并且可以轻松扩展以包含您自定义的特征化器。
- 🚀 快速,具有简单高效的API。
- 🔄 在单个包中统一预训练的分子嵌入和手工制作的特征化器。
- ➕ 通过插件轻松添加您自己的特征化器。
- 📈 通过简单的缓存系统提高性能。
访问我们的网站:https://molfeat.datamol.io。
安装
安装Molfeat
使用mamba:
mamba install -c conda-forge molfeat
提示: 您可以用conda
替换mamba
。
注意: 我们强烈建议使用Conda Python发行版来安装Molfeat。如果需要,该软件包也可以通过pip安装:pip install molfeat
。
可选依赖
默认情况下,Molfeat核心包中并非所有特征化器都受支持。某些特征化器需要额外的依赖项。如果您尝试使用需要额外依赖项的特征化器,Molfeat将引发错误并告诉您缺少哪些依赖项以及如何安装它们。
- 安装
dgl
:运行mamba install -c dglteam "dgl<=2.0"
# "dgl>2.0.0"存在一些与graphbolt相关的问题 - 安装
dgllife
:运行mamba install -c conda-forge dgllife
- 安装
fcd_torch
:运行mamba install -c conda-forge fcd_torch
- 安装
pyg
:运行mamba install -c conda-forge pytorch_geometric
- 安装
graphormer-pretrained
:运行mamba install -c conda-forge graphormer-pretrained
- 安装
map4
:参见https://github.com/reymond-group/map4 - 安装
bio-embeddings
:运行mamba install -c conda-forge 'bio-embeddings >=0.2.2'
如果您使用pip安装Molfeat,可以随主包一起安装可选依赖项。例如,pip install "molfeat[all]"
允许安装小分子特征化所需的所有兼容可选依赖项。还有其他选项,如molfeat[dgl]
、molfeat[graphormer]
、molfeat[transformer]
、molfeat[viz]
和molfeat[fcd]
。有关更多信息,请参阅optional-dependencies。
安装插件
Molfeat的功能可以通过插件扩展。使用插件系统确保核心包保持易于安装且尽可能轻量,同时使其功能易于通过即插即用组件扩展。此外,它确保插件可以独立于核心包开发,消除了中央方审查和批准新插件的瓶颈。有关如何创建自己的插件的更多详细信息,请查阅molfeat文档。
然而,这确实意味着插件的安装取决于具体插件:请查阅相关文档以了解更多信息。
API 概览
import datamol as dm
from molfeat.calc import FPCalculator
from molfeat.trans import MoleculeTransformer
from molfeat.store.modelstore import ModelStore
# 加载一些示例数据
data = dm.data.freesolv().sample(100).smiles.values
# 特征化单个分子
calc = FPCalculator("ecfp")
calc(data[0])
# 定义并行特征化管道
mol_transf = MoleculeTransformer(calc, n_jobs=-1)
mol_transf(data)
# 轻松保存和加载特征化器
mol_transf.to_state_yaml_file("state_dict.yml")
mol_transf = MoleculeTransformer.from_state_yaml_file("state_dict.yml")
mol_transf(data)
# 列出所有可用的特征化器
store = ModelStore()
store.available_models
# 查找特征化器并了解如何使用它
model_card = store.search(name="ChemBERTa-77M-MLM")[0]
model_card.usage()
如何引用
贡献
有关如何为molfeat
做出贡献的综合指南,请参阅developers。molfeat
是一个社区主导的项目,无论您是首次贡献者还是开源老手,本项目都会从您的贡献中受益匪浅。要了解更多关于社区和datamol.io生态系统的信息,请参阅community。
维护者
- @cwognum
- @maclandrol
- @hadim
许可证
根据Apache-2.0许可证。请参阅LICENSE。