biosolveit::cli
组件 07 · 指纹类似物检索 · v2.1

SpaceLight — 指纹相似性搜索

SpaceLight 用经典相似性描述符(指纹)在数十亿乃至更大规模的组合化学空间里导航。它是 FTrees 模糊药效团方法的完美补充:FTrees 擅长找有化学相似性的远邻,SpaceLight 擅长找化学空间里的近邻(near-neighbor)。基于片段的 Tanimoto 相似性配合每个反应的"拓扑图"组合,可在数秒内从超大空间构建并枚举出最相似的命中。

可执行文件
spacelight
默认指纹
fCSFP4
相似性度量
Tanimoto 0–1
默认输出/阈值
100 / 0

01 它能做什么

  • 跨超大组合化学空间做超快、基于指纹的相似性搜索。
  • 支持多种指纹类型与大小(ECFP 与三种 CSFP 子类)。
  • 在枚举库文件(SMILES/SDF/MOL2)中做相似性搜索。
  • 可视化构成命中分子的各片段的局部相似性。

SpaceLight 是 infiniSee 平台 Analog Hunter 模式背后的引擎。默认描述符不感知立体化学,但捕获元素、连接性、价态与环成员,因此找的是"近邻"相似化合物。

SpaceLight 在幕后用"乐高式"化学反应组合遍历巨大化学空间:每个反应存为一张拓扑图(topology graph),图的每个节点含形式化的虚拟构建块(即"预见反应结果"的片段)。基于片段算出的指纹 Tanimoto 相似性先得到局部相似性,再借拓扑图的组合学高效构建并枚举出最相似的命中分子——即便面对数十亿乃至更大的空间也只需数秒。

表示一个反应的拓扑图
Figure 1:表示某反应的拓扑图,含组合片段

02 前提与授权

需要 SpaceLight 程序包、命令行环境与有效许可证。测试许可证直接放在 spacelight 旁。化学空间(.space)从官网下载或用 CoLibri 自建。

检查 license
./spacelight --license-info

03 Jump Start:在化学空间里找类似物

spacelight — 最小搜索
./spacelight -i query.sdf -s chemical_space.space

查询可为文件或 SMILES 串。默认把 100 个最相似命中打印到控制台。写文件用 -o(每查询一个)或 -O(合并):

写 CSV + 限结果数 + 设阈值
./spacelight -i "CC(C)C(=O)N" -s chemical_space.space \
           -o output.csv --max-nof-results 30 --min-similarity-threshold 0.7

切换到经典 ECFP4 指纹:

用 ECFP4
./spacelight -i "CC(C)C(=O)N" -s chemical_space.space -f ecfp4

04 程序选项

-i / --input 必填

查询分子或单个 SMILES 串,可多次使用。

-s / --search-files 必填

化学空间(.space)或库文件,可多次使用、可混用。

-o / --output-files

输出基名(.csv/.sdf)。多查询时每个查询单独一个文件。

-O / --single-output-files

所有查询结果合并到单个文件。

-m / --match-image-base-file

为每个命中生成 2D 匹配图(.png .pdf .svg),按片段着色。增加运行时间。

--gen-mapping-output

把局部/片段相似性值与子结构 SMILES 写入输出(增加运行时间)。

SpaceLight 匹配图示例
Figure 2:匹配图示例。左为查询(Tofacitinib),右为命中,命中按构成它的片段/构建块着色

如 Figure 2:芳香杂环系统(青色)在查询与命中之间完全相同(相似性 1.0),含脂肪环的部分(橙色)相似性较低(0.556)。右侧色块列出各片段的局部相似性。

性能提示
与 FTrees 一样,把 .space 放本地磁盘最快,首次搜索后会缓存到本地 tmp。可用 TMPDIR(Linux/Mac)或 $Env:TMP(Windows)改缓存目录。

05 配置与指纹选择

选项默认说明
-f / --fingerprintfCSFP4指纹类型与大小(见下表,大小写不敏感)。
--min-similarity-threshold0低于此 Tanimoto 相似性(0–1)的结果丢弃。默认 0 即不丢弃。
--max-nof-results100每个查询输出数(1–1,000,000),按相似性降序。
--expand-alternative-results展开同一命中的其他反应路径(相同排名/相似性,不同试剂)。

该用哪种指纹?

CSFP(连接子图指纹)描述分子中所有 ≤5 个重原子的子结构,专为片段空间搜索优化;ECFP(扩展连接性指纹)用以某原子为中心、逐渐扩大半径的圆形特征集。可选 ECFP0–ECFP8 与三种 CSFP(fCSFP1–5iCSFP1–5tCSFP1–5)。

指纹适用场景
fCSFP(片段 CSFP,默认)希望结果与查询高度相似时用;最接近传统 ECFP 的体验。捕获每个原子的元素、价态与连接性。
tCSFP(拓扑 CSFP)不考虑子结构内连接性与价态,但存芳香性信息,因此判定相似更宽松。用 fCSFP/ECFP 找不到近邻时尝试它。
iCSFP(独立 CSFP)推荐用于子结构检索;描述与环境无关的原子性质,适合按任意顺序找含某子结构的分子。
ECFP传统相似性搜索广泛使用;当你想贴近或对比另一个用 ECFP 的工具时用。

06 输出文件里有什么

每个命中提供:结果排名、所用指纹指纹相似性(Tanimoto)、命中名称、查询名称与 SMILES、被检索空间名,以及(仅空间搜索)反应名称与各试剂的名称和 SMILES。控制台默认输出形如 Rank: 1 sim: 0.706 O(CCCOC)C EN300-1717039