计算化学公社

标题: 人工智能解析未知NMR谱图进展如何? [打印本页]

作者
Author:
yszzz    时间: 2019-1-9 00:23
标题: 人工智能解析未知NMR谱图进展如何?
有机化学计算化学小白一枚

如题所示,学习了未知有机物核磁共振谱图解析后,就一直对利用人工智能相关的方法(比如各种深度学习和人工神经网络模型),根据核磁共振谱图指认未知有机小分子结构这一话题有兴趣。但最近简单搜索了一下相关论文,只有很少一点在生物大分子或晶体结构领域的应用。

所以不知道本站大佬对此有没有了解,比如推荐论文或软件之类。。。谢谢!

以下是我搜到的可能相关的文章,粗看基本没有成形算法或软件可用(希望不是我看漏了)


https://pubs.acs.org/doi/pdf/10.1021/ac60316a008

https://www.nature.com/articles/s41467-018-06972-x

https://doi.org/10.1093/bioinformatics/bty134

https://bmcbioinformatics.biomed ... 186/1471-2105-9-400



作者
Author:
1932211370    时间: 2019-1-9 01:49
目前需要大量准确的数据集训练和测试,超参的选取,还需要好的机器来训练。
作者
Author:
1932211370    时间: 2019-1-9 01:53
想转机器学习的话,这有四个问题,如果答案都是yes,那就比较好转。当然默认的前提是,你真的对机器学习感兴趣。
硬件:现在的机器学习还是需要不少计算资源,比如GPU,你们课题组有吗?或者有天河2号的资源也可以。或者,你自己投资硬件也是没啥问题的(Titan也可以玩游戏,不亏)
编程:光有python基础其实是不够的,基于TensorFlow等框架搭建复杂模型对编程能力的要求不低的,需要花大量时间学习。
精力:机器学习,特别是各类神经网络,现在的发展实在是太快了,你要跟上发展潮流需要花费大量时间,你能全力做这个吗?
氛围:你们组只有你一个人做机器学习还是还有其他人?能找到一起讨论的吗?老板能给你(一定)的指导吗?
总之,要转的话,需要投入大量时间,这个心理预期一定要有。
作者
Author:
1932211370    时间: 2019-1-9 01:54
目前机器学习在化学领域属于起步阶段,很多组还是在做一些基础性的工作,比如怎么能更好的拟合结构的总能量。
作者
Author:
1932211370    时间: 2019-1-9 01:56
机器学习在量子化学中的应用是一个从2011年开始越来越火的领域,我个人觉得在机器学习上的难度并不是非常大,重要的是如何跳出原有的量子化学的框架重新定义新的问题。我的博士研究是在DFT中发展和应用机器学习。
作者
Author:
1932211370    时间: 2019-1-9 01:58
如果说的是cousera的Ng的机器学习,那个比较基础,建议先复习一下基本的线性代数,统计,概率论,再看其他的课,推荐mit 18.06,网易公开课也有。
理论machine learning: cs 229
Computer vision: cs 231n
NLP and deep learning: cs 224d
Cousera镇馆之宝之一: stanford的probabilistic graphic model
教材: Pattern recognition and machine learningDeep learning by Ian goodfellow
我推荐的都是自己看过的,所以比较少,但是其实这些全部刷完肯定差不多掌握基础了然后去看看arxiv比较有名的paper,找open source的code,掌握caffe,tensorflow等,毕竟这一行还是很需要实践经验的
作者
Author:
flwboka    时间: 2019-1-9 10:02
对于分子或周期性结构的一些性质,已经有一些较为通用的模型了,似乎精度也还不错
下面的前两篇文章的模型都是基于google的graph nets,第三篇文章似乎只需要原子的种类和坐标,没有仔细看

http://arxiv.org/abs/1812.05055
https://journals.aps.org/prl/abs ... sRevLett.120.145301
https://aip.scitation.org/doi/abs/10.1063/1.5019779

第一篇综述部分介绍一些模型,可以看看
作者
Author:
etoac    时间: 2019-1-9 11:29
我不是特别懂懂,但是觉得你这个想法可行性应该不高。
机器学习手段的输出一般是有限的,长度确定的向量。比如SVM就是一个正或者负的判断,AlphaGo是19*19的获胜概率的向量,MNIST是0-9的数也就是一个10维的向量,现在很多机器学习的方法可以算分子总能量,也就是一个一维向量。当然不同向量之间可以组合,也能表示很丰富的信息。
但是你的这个目标(解析小分子结构),要求输出的是一个无向有环图的数据结构,这个技术难度相对就比较高了,应该属于机器学习不怎么成熟的领域。
如果退一步,给一张核磁图判断是否含有某个官能团之类的,应该容易些,但是意义相对就不那么大了。

一点个人观点,欢迎讨论
作者
Author:
get-it    时间: 2019-1-9 12:55
正好看过第二篇文献,可以说说。
文中用的描述符是SOAP,算法是高斯过程回归(GPR),SOAP+GPR之前是用来拟合力场的,能够达到较高的精度。后来他们(主要是Csanyi和Ceriotti组)又用这套方法拟合其他性质,比如偶极矩,极化率等等。这篇文章也是一样的套路。他们拟合了结构和NMR谱的关系,这样可以快速计算给定结构的NMR,不用通过DFT计算。
他们的程序已经开源了,还有一个网页工具,上传结构后会给出ML拟合的NMR。文中可以找到github和工具的链接。
这篇文章是结构->NMR,意义是可以快速计算大量结构的NMR,方便筛选实验结构(其他文章似乎也是这个卖点,不过模型和数据不同)。这和你想要的NMR->结构还有很大的差距。
作者
Author:
yszzz    时间: 2019-1-10 18:54
1932211370 发表于 2019-1-9 01:58
如果说的是cousera的Ng的机器学习,那个比较基础,建议先复习一下基本的线性代数,统计,概率论,再看其他 ...

感谢您的回复!现在不过是组里导师明里暗里在提,貌似也没有师兄师姐在具体学和做,所以估计不会有什么帮助;我自己主要是出于兴趣,想了解下大致情况,估计未来不太可能all in,最多是个副业。另外吴恩达的课、cs 229 和 cs 231 n已经收藏很久,希望今年下半年有时间能看看哈哈。

另外以前倒是确实看到过用深度学习代替DFT拟合能量的文章,收藏夹里放了一段时间因为看不懂就放弃了。关于跳出原有化学框架重新定义问题,我看到这话一下子就想起了18年年初 Doyle 在 Science 上的文章,我也是从这两年的几篇高通量筛选有机反应与机器学习相结合的文章想起来的这个之前的老想法233333。
作者
Author:
yszzz    时间: 2019-1-10 18:57
flwboka 发表于 2019-1-9 10:02
对于分子或周期性结构的一些性质,已经有一些较为通用的模型了,似乎精度也还不错
下面的前两篇文章的模型 ...

以前看到有 deepchem 有 Molecule Net,这又看到了 NMR Net 和 Graph Net 和 Sch Net
作者
Author:
yszzz    时间: 2019-1-10 18:59
get-it 发表于 2019-1-9 12:55
正好看过第二篇文献,可以说说。
文中用的描述符是SOAP,算法是高斯过程回归(GPR),SOAP+GPR之前是用来拟 ...

谢谢!看来我粗读感觉得还行,详细的这几天再看看
作者
Author:
quora    时间: 2019-2-19 12:36
理论计算方面我不太懂,但是一些辅助解析NMR的已经诞生,比如中国的微谱数据,http://www.nmrdata.com/,只要有13C NMR,马上可以搜索类似结构。还有商业软件,也可以辅助解析2D NMR。个人感觉AI在化学反应预测可能会比较有用
作者
Author:
昼夏の忧郁    时间: 2022-2-20 21:43
get-it 发表于 2019-1-9 12:55
正好看过第二篇文献,可以说说。
文中用的描述符是SOAP,算法是高斯过程回归(GPR),SOAP+GPR之前是用来拟 ...

大佬,请问SOAP描述符的使用多个结构的机器学习的时候,在设置元素种类的时候是每个结构用一次,写个循环?还是必须是所有结构的的元素总和?
作者
Author:
get-it    时间: 2022-3-5 19:45
昼夏の忧郁 发表于 2022-2-20 21:43
大佬,请问SOAP描述符的使用多个结构的机器学习的时候,在设置元素种类的时候是每个结构用一次,写个循环 ...

没看懂你的问题
作者
Author:
昼夏の忧郁    时间: 2022-3-7 14:27
get-it 发表于 2022-3-5 19:45
没看懂你的问题

就是在设置SOAP描述符长的时候怎么来设置,能不能人为的设置特征向量长度?
作者
Author:
get-it    时间: 2022-3-7 16:49
昼夏の忧郁 发表于 2022-3-7 14:27
就是在设置SOAP描述符长的时候怎么来设置,能不能人为的设置特征向量长度?

向量长度由元素类型,nmax,lmax决定。
如果你想要一个特定长度,直接截断也行
作者
Author:
昼夏の忧郁    时间: 2022-3-8 15:21
get-it 发表于 2022-3-7 16:49
向量长度由元素类型,nmax,lmax决定。
如果你想要一个特定长度,直接截断也行

感谢大佬的解答,我的最重要的疑惑就是假如我有500个晶体结构要做成训练集,但是总共有80种化学元素,在做这个描述符的时候是不是得把所有元素考虑进去作为元素类型?还是每个晶体结构中的元素作为元素类型?就是红框这里设置的时候,是选取所有的元素吗?还是在每种晶体遍历的时候把这个描述符写在遍历的内部只取该晶体的元素类型?(貌似好像得取全部元素的样子,我不是很确定,因为全取的话长度太大了,感觉对这个描述符不是很理解)

(, 下载次数 Times of downloads: 28)


作者
Author:
get-it    时间: 2022-3-8 16:12
昼夏の忧郁 发表于 2022-3-8 15:21
感谢大佬的解答,我的最重要的疑惑就是假如我有500个晶体结构要做成训练集,但是总共有80种化学元素,在 ...

应该是全部元素
作者
Author:
昼夏の忧郁    时间: 2022-3-9 14:42
get-it 发表于 2022-3-8 16:12
应该是全部元素

好的,谢谢大佬




欢迎光临 计算化学公社 (http://ccc.keinsci.com/) Powered by Discuz! X3.3