gpt4 book ai didi

Postgresql - % 和 <%> 是什么意思?

转载 作者:行者123 更新时间:2023-12-04 10:34:19 24 4
gpt4 key购买 nike

我正在尝试在 Postgresql 上探索 RDkit 墨盒。我已经在 Postgresql 上安装了 RDkit,现在正在尝试阅读 http://rdkit.org/docs_temp/Cartridge.html 上的文档。 .在尝试理解相似性搜索时,我遇到了以下代码。但是我无法完全理解它,因为我对 Postgresql 和 RDkit 都是全新的。

chembl_23=# create or replace function get_mfp2_neighbors(smiles text)
returns table(molregno integer, m mol, similarity double precision) as
$$
select molregno,m,tanimoto_sml(morganbv_fp(mol_from_smiles($1::cstring)),mfp2) as similarity
from rdk.fps join rdk.mols using (molregno)
where morganbv_fp(mol_from_smiles($1::cstring))%mfp2
order by morganbv_fp(mol_from_smiles($1::cstring))<%>mfp2;
$$ language sql stable ;

我的问题是——

1) WHERE 子句中的 %mfp2 是什么意思? - 我在谷歌上搜索过,偶然发现了一些页面,其中提到它是 SQL 中的 LIKE %% 运算符。但是这里没有使用LIKE运算符,意思还是一样吗?

2) <%>mfp2 在 ORDER BY 子句中是什么意思? - 我对这个运营商一无所知。

任何人都可以帮助我理解这一点吗?

最佳答案

这些操作符由 RDkit 定义,它们对 PostgreSQL 本身没有内在意义(使用的数据类型)。您会发现它们记录在您链接到的页面上的 RDkit 上下文中。其他扩展具有具有相同“拼写”(但参数类型不同)但以其他方式使用的运算符。

%: operator used for similarity searches using Tanimoto similarity. Returns whether or not the Tanimoto similarity between two fingerprints (either two sfp or two bfp values) exceeds rdkit.tanimoto_threshold.

<%>: used for Tanimoto KNN searches (to return ordered lists of neighbors).



mfp2 是列名,所以 %mfp2用空格写得更清楚 someconstant % mfp2

关于Postgresql - % 和 <%> 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60262414/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com