• 正文
    • 動機和意義
    • 指紋選擇和計算
    • 并行計算和內(nèi)存優(yōu)化
    • 指紋超參數(shù)調(diào)優(yōu)
    • 復雜的3D指紋處理管道
    • scikit-fingerprints庫的影響
  • 推薦器件
  • 相關推薦
申請入駐 產(chǎn)業(yè)圖譜

Scikit-fingerprints: 在Python中輕松高效地計算分子指紋

2024/08/01
4453
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

論文 Scikit-fingerprints: easy and efficient computation of molecular fingerprints in Python 介紹了分子指紋在計算化學中的計算和應用,特別是其在機器學習和大規(guī)模數(shù)據(jù)處理中的重要性。

動機和意義

分子是計算化學處理的基本結構,通常表示為分子圖,需要轉(zhuǎn)換為多維向量以便大多數(shù)處理算法使用,尤其是機器學習(ML)應用。分子指紋是一種特征提取算法,將分子的結構信息編碼為向量,廣泛用于化學信息學中的各種任務,如化學空間多樣性測量、可視化、聚類、虛擬篩選和分子性質(zhì)預測等。這些任務在新藥設計中尤為重要。為了正確評估預測模型的性能,訓練-測試數(shù)據(jù)集的劃分至關重要,分子指紋也可以用于此。指紋模型的性能與最先進的圖神經(jīng)網(wǎng)絡(GNNs)相比仍然具有競爭力。

指紋選擇和計算

選擇適合特定應用的最佳指紋表示并不簡單,通常需要計算多種不同的指紋,并可能需要調(diào)整其超參數(shù)。使用多個指紋通常能改善結果,例如通過連接或數(shù)據(jù)融合。處理大型分子數(shù)據(jù)集需要利用現(xiàn)代多核CPU的高效實現(xiàn)。Python是當前化學信息學中最流行的語言,包含的scikit-learn庫已成為機器學習任務的事實標準工具。然而,許多流行的開源工具如Chemistry Development Kit (CDK)、OpenBabel或RDKit是用Java或C++編寫的,只有RDKit有官方的Python接口。

并行計算和內(nèi)存優(yōu)化

并行計算分子指紋對于處理大型數(shù)據(jù)庫(如虛擬篩選)非常有用。論文展示了五種指紋在稠密和稀疏表示下的內(nèi)存使用情況,稀疏表示顯著減少了內(nèi)存使用。具體數(shù)據(jù)如下:

Klekota-Roth: 稠密數(shù)組大小2029MB,稀疏數(shù)組大小23MB,內(nèi)存節(jié)省88.2倍。

FCFP: 稠密數(shù)組大小855MB,稀疏數(shù)組大小15MB,內(nèi)存節(jié)省57倍。

Physiochemical Properties: 稠密數(shù)組大小855MB,稀疏數(shù)組大小17MB,內(nèi)存節(jié)省50.3倍。

ECFP: 稠密數(shù)組大小855MB,稀疏數(shù)組大小19MB,內(nèi)存節(jié)省45倍。

Topological Torsion: 稠密數(shù)組大小855MB,稀疏數(shù)組大小19MB,內(nèi)存節(jié)省45倍。

指紋超參數(shù)調(diào)優(yōu)

大多數(shù)文獻中忽略了分子指紋的超參數(shù)調(diào)優(yōu),僅調(diào)優(yōu)下游分類器。論文進行了所有2D指紋的超參數(shù)調(diào)優(yōu),使用了MoleculeNet單任務分類數(shù)據(jù)集,結果顯示調(diào)優(yōu)帶來了顯著的性能提升。特別是基于子結構的Ghose-Crippen指紋在平均AUROC上提升了4%。具體結果如下:

RDKit指紋

    • 在BBBP數(shù)據(jù)集上的AUROC提升高達5.8%。

Ghose-Crippen指紋

    在所有數(shù)據(jù)集上的平均AUROC提升為4%。

復雜的3D指紋處理管道

對于需要3D信息的任務,如基于構象的指紋,整個處理管道變得更加復雜。需要生成構象并進行力場優(yōu)化,結果指紋可能有缺失值。使用多個指紋通常是有益的,特別是對于虛擬篩選,因為它們考慮了不同的幾何特征。論文展示了一個創(chuàng)建用于篩選的分子向量化管道的示例,使用了GETAWAY和WHIM描述符。這個示例在RDKit中需要超過100行代碼,而在scikit-fingerprints中則簡化了很多。

from?sklearn.impute?import?SimpleImputer
from?skfp.fingerprints?import?(GETAWAYFingerprint,?WHIMFingerprint)
from?skfp.preprocessing?import?ConformerGenerator
from?sklearn.pipeline?import?make_pipeline,?make_union

pipeline?=?make_pipeline(
????ConformerGenerator(optimize_force_field?=?"MMFF94",?n_jobs?=?-1),
????make_union(GETAWAYFingerprint(n_jobs?=?-1),?WHIMFingerprint(n_jobs?=?-1)),
????SimpleImputer(strategy?=?"mean"),
????)

scikit-fingerprints與CDK和OpenBabel的比較

scikit-fingerprints庫的影響

scikit-fingerprints是一個計算分子指紋的綜合庫,完全兼容scikit-learn接口,易于集成到復雜的分子數(shù)據(jù)處理管道中。庫中包含30多種指紋(2D和3D),并支持高效的構象生成。其直觀和統(tǒng)一的API使得領域?qū)<遥ㄈ缬嬎慊瘜W家、化學信息學家或分子生物學家)易于使用。庫還強調(diào)代碼質(zhì)量、安全性和自動化檢查。

并行計算:利用所有可用核心,顯著加速了大數(shù)據(jù)集的處理。

超參數(shù)調(diào)優(yōu):有助于提高模型性能。

指紋連接和數(shù)據(jù)融合:支持復雜的計算任務。

相關信息

代碼:https://github.com/scikit-fingerprints/scikit-fingerprints

論文:https://arxiv.org/abs/2407.13291v1

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
DSPIC33EP512MU810-I/PF 1 Microchip Technology Inc 16-BIT, FLASH, 60 MHz, MICROCONTROLLER, PQFP100, 14 X 14 MM, 1 MM HEIGHT, LEAD FREE, PLASTIC, TQFP-100
$9.69 查看
AT89C51CC03UA-RDTUM 1 Atmel Corporation Microcontroller, 8-Bit, FLASH, 8051 CPU, 60MHz, CMOS, PQFP64, GREEN, VQFP-64

ECAD模型

下載ECAD模型
$9.5 查看
ATMEGA128A-MU 1 Atmel Corporation RISC Microcontroller, 8-Bit, FLASH, AVR RISC CPU, 16MHz, CMOS, 9 X 9 MM, 1 MM HEIGHT, 0.50 MM PITCH, GREEN, MO-220VMMD, QFN-64

ECAD模型

下載ECAD模型
$5.69 查看

相關推薦