Conversation
|
这个pr的冲突也解决了,可以作为第二个审阅的对象 |
|
SEA官方python文件? |
https://sea.bkslab.org/datasets SEA官方提供的数据集如下: 最后生成一个二进制文件 |
|
从头实现为什么不用R? |
目前的问题在于指纹生成的算法一致性。原有的SEA统计模型(即 .fit 背景文件)是基于RDKit的Morgan指纹训练出来的,R原生的rcdk包虽然也能计算ECFP4指纹,但其底层的哈希算法和 RDKit(C++底层)存在细微差异。如果直接用rcdk算出的指纹去匹配基于 RDKit训练的统计模型,会导致计算出的Z-score和 P-value 出现偏差。 如果要用R,目前我想到比较好的方法就是用 |
你这不思路有点坑! |
老师我没明白您的意思,官方的数据描述是:Uniprot Entry to Zinc ID with Extended Connectivity Fingerprint with diameter 4 (Hashed) fingerprints。这个数据库(包括 .fit 文件里的统计参数 MU 和 SIGMA)在构建的时候,也就是原作者在做数据的时候,用的就是 RDKit 的 Morgan 指纹(Radius=2, 相当于 Diameter=4)。我处理的时候用的也是RDKit,参数和官方一样也是 Radius=2(即 Diameter=4),这样就和官方的一致了。 |
|
为什么觉得有坑,因为不兼容是你自己搞出来的。你应该统一在R里,这个功能才是可用的。现在这上,等同于没有用。 用rcdk,如果差别太大,不能接受,那就用C++版的RDKit,用R封装。要么不做,要么就做到让别人容易用。 |
我明白了老师,我研究一下能否用R封装C++版的RDKit来实现这个功能。 |

添加基于SEA的化合物靶点预测。
dataloader.py是从google drive下载数据库和配置文件到本地,如果本地已经有的话脚本就默认跳过这个步骤。runsea.py是实现SEA预测过程的模块。main.py是主脚本,导入前面两个模块进行靶点预测。用户可以自己修改该脚本的输出化合物信息,最后会保存一个靶点预测结果的csv文件到文件夹下。详细的说明可以见该目录的readme文件。