NVIDIA Clara Discovery Platform

NVIDIA CLARA DISCOVERY 生态 Nvidia进军医疗领域,从封面我们可以看到一个环状结构: 自然语言 -> 病毒基因序列 -> 病毒蛋白质结构 -> 新药物与病毒蛋白质对接 -> 分子对接动力学模拟 -> 候选药物临床试验检测病人肺部医疗影像 -> 自然语言 简介 在Nvidia GTC 2020秋季大会上,Nvidia发布了NVIDIA CLARA DISCOVERY 药物研发框架,目的就是加速全球药物研发的进度,之前Nvidia收购ARM的消息,我就意识到未来Nvidia有想要统治边缘计算领域的野心。不出所料,这次GTC发布会上Nvidia更新了很多产品线,包括大到数据中心的计算模块BlueField-2,小到边缘领域jetson Nano 2G,最让我激动的还是CLARA DISCOVERY,因为自己短期的目标就是如何将边缘计算用于医疗领域,比如个人可以通过边缘计算设备结合自己从医院检查获得的诊断数据来计算出自身疾病的现状,还有对Covid-19 CT,ChestXRay的判断检测。 是什么 Clara Discovery 集成了很多框架和应用,包括基因序列分析,蛋白质对接和结构预测,分子动力学模拟,医学图像识别和分割,自然语言处理。 基因序列生成 NVIDIA Clara Parabricks Collection 图像处理 NVIDIA Clara Imaging 蛋白质结构 RELION MELD 分子动力学模拟 GROMACS VMD NAMD 重点 NVIDIA Clara Imaging 主要分为两部分: Clara Train SDK -> 用于训练模型 架构图: Getting started with Clara Train SDK Clara Deploy Bootstrap -> 将模型部署到kubernets集群中 ...

October 6, 2020

News of SARS COV 2 MiniProtein Binder

Rosetta@home 新发现了一种抑制SARS-Cov-2的计算机合成药物,论文发表在Science科学杂志上,De novo design of picomolar SARS-CoV-2 miniprotein inhibitors。 下图为目前自己的算力贡献。 论文内容解析 Doing…

September 10, 2020

ACM Professional Membership

题外话 为什么深度学习有这么强大的功能,这背后我们可以想到人类的大脑神经元,单个神经元不能起到任何作用,但是一堆神经元在一起的力量是无穷的。 观看一部关于生命体中细胞和蛋白质都是怎么运作的,我们会非常惊讶为什么小小的微观世界会以如此精妙的方式运作。 Inner Life Of A Cell - Full Version 有时候想到上面的问题,自己就有点冲动,想去了解更多关于这个世界是如何运作的知识,人与人之间的沟通交流是否可以类比成分子间的相互作用,为什么一堆神经元组成在一起就可以造就智慧的生命体,这种生命体的自由意识是如何形成的,神经元之间的信息传递是如何编码的,在深度学习领域是否还能继续利用大脑神经元的某些特点来增强模型的设计。 为了解开这些困惑的问题,开阔自己的见识,我买了四本重要的外文书籍。 关于引力理论的探索 有关基因与遗传方面的介绍 神经理论科学 分子机器理论 这里的每一本书或许都可以帮助我们在深度学习领域里走得更远。 最低价格看Oreilly动物书 因为工作原因需要购买programming Kubernetes这本书,我在国内找了好几家线上书店,价格都非常贵,基本上一本就要600RMB,自己又不想使用盗版书籍,所以就想办法能不能通过第三方渠道低价格去看这些技术书,于是就有了下面的解决方案。 购买途径 注册ACM会员,ACM全称是Association For Computing Machinery 国际计算机协会,进入发展中国家会员注册,在国家里面选择中国,然后按照流程注册即可,最后支付年费就可以了。 目前的费用表单: 如果只是为单纯的获取电子刊物信息,可以选择最基本的170RMB。 注册完成之后我们就可以进入动物园看书了。 访问ACM Learning Center 点击右上角的O’Reilly就可以登入到O’Reilly上在线查看和学习各种新技术的书籍,因为新技术一直会更新迭代,如果纯粹是为了学习一门新技术,那么还是建议购买电子书,外文纸质书一般都比较贵,省下的钱可以考虑买经典的纸质书,就像我上面列举的那四本,经典的永远不会过时。

September 9, 2020

What Is Lung Opacity

课题研究 参考文献 What are lung opacities? 本篇文章是Covid-19 Xray 肺部检测的续写,因为在对前期样本数据处理时,需要能够更清楚的知道医学领域是如何处理和分析这些X射线图的,这样我们能够更好的设计自己的深度神经网络架构。 先来看一张我们正常人的肺部X光片,通过图片中的黑白灰来判断肺部是否有病变。 黑色 -> 空气 白色 -> 骨架 灰色 -> 软组织或者液体 可以这么理解透明度,黑色部分就像是图像中alpha通道,这里充满着空气是,骨架会呈现白色相当于这块区域不透明,灰色区域相当于一个透明度,透明度越高,说明黑色占的越多,这里空气也就越多,当灰色慢慢靠近白色时,说明有一定密度的物质积累在这一个区域。 对比有病变症状病人的X光片,可以发现图中的标记处出现了模糊的透明度阴影,说明这里有病症出现。 透明度的变化表明了一点,当肺部被感染时,本来应该有空气的地方,被一些其他物质填充,比如液体,细菌,抗体,这样原本应该是偏黑色的区域的地方,在X光片中会看到模糊的灰色。 通过透明度上的变化,我们可以去判断肺部的病症出现在哪里。 左边是正常肺部,右边是存在肺炎的肺部,可以发现图中标记的区域有明显的毛玻璃模糊状,透明度明显减弱,说明肺部本应该是充满空气的地方被一些其他的物质填充着。 为什么我们可以通过辨别透明度来分析肺部的健康状态,下图可以给我们解开这个谜题。 当我们吸入空气时,连接在我们肺部支气管上的肺泡是用来交换气体的,将二氧化碳排出体外,并输入氧气到血液中。当肺泡出现炎症,肺泡中的细胞就会被细菌或者病毒侵占,原本肺泡中存在着大量的空气,现在肺泡中出现大量的液体和其他物质,从而导致肺泡中存放空气的空间减少,这就是我们能够从X光片中读到的信息,灰色区域会像毛玻璃状态一样占据在肺部那些发生病变的区域。 关于透明度的分类具体可以参看专业书籍Felson’s Principles of Chest Roentgenology 下图为Consolidation和Ground Glass两种病变。 理解了上述内容之后,我们就可以更加仔细地去分析和处理前期的X光片数据,并为后面自动图像分割找到病变区域做准备。

September 4, 2020

Covid19 AI Research

A Review of Automated Diagnosis of COVID-19 Based on Scanning Images 最近一周一直在优化自己结合论文和其他研究资料开发的Covid-Net,用于诊断Covid19的深度学习模型,在2万+的xRay数据集上训练得到的精度低于90%,为了能够达到更高的精度,自己尝试了改进模型和做数据集增强,但是还会有两个极端,要不就是精度达不到标准,要不就出现过拟合,自己的工作站用的显卡是P2000 5G,当模型越来越复杂时,显存明显会不够,于是狠了狠心,卖掉了DJI Inspire 2,用赚来的钱买了一张TITAN RTX 24G,然后继续优化模型,并增加训练的batch_size。 后面自己的目标就是建立能够精准判断肺炎,并且将肺炎的特征区域自动标注和分割出来的深度模型,然后运行在本地Coral TPU设备上,研发肺炎检测的原型设备。在调研过程中发现了一个很好的关于Covid19-AI的收集网站COVID-19 Imaging-based AI Research Collection,作者是一位人工智能领域的科研人员,发表过很多论文,作者的个人网站。

August 31, 2020

Wolfram 2020 08 中国学生大使演讲会总结

今晚通过Zoom参加了了Wolfram 2020 08-20 中国学生大使演讲会。 在中场休息的时候,无意中还中了一个大奖,自己就免费获得了一套价值3000RMB的System Modeler建模程式,准备在自己的MacBookPro笔记本上装一套System Modeler,用来研究各种物理和生物建模。 对Mathematica有兴趣的小伙伴可以参加Wolfram 2020/09/08 中国虚拟技术大会,有很多大佬来演讲。 Mathematica 元编程 演讲者的Github地址 一提到MetaProgramming,就会想起Lisp,通过代码来生成代码是Lisp语言的强项,当然Mathematica也可以做得很好,从演讲中,学习到如何通过一段简洁优雅的代码来生成一段复杂的代码,有点艺术份儿在里面了。我突然想起计算机科学里的名著SICP,从google上搜索了一把看看有没有人用Mathematica来学习SICP,最后发现很少,所以自己决定用Mathematica来实现SICP当中的例子。 Mathematica 编译 MMA可以通过Compile,FunctionCompile来加速代码的运行,同时我们也可以将MMA Code 转换成 C Code 进行编译,最后得到一个完整的不依赖于MMA运行时环境的二进制文件,可以直接在操作系统上运行。 其中有一个值得学习的项目 MathCompile,通过它能够比Compile更加靠近函数式编程。 Mathematica R-Link 处理生物医学信息 这里讲到了如何在Mathematica中结合R语言来做数据分析,大部分介绍了如何使用和编码,在医学领域的例子没有讲。 Mathematica 深度视网膜分析 这一讲我比较喜欢,因为自己最近一直在研究疾病方面的深度学习,包括深度检测Covid-19,视网膜病变,以及心脏等疾病的预测。 演讲的内容,基本就是收集图像,图像预处理,图像增强处理(通过DeepLearning增强图像的细节),搭建UNet图像分割神经网络(用于分割视网膜血管和视盘),训练神经网络,最后检测网络模型的准确度,主要的目标就是检测分类糖尿病引起的视网膜病变,青光眼,黄斑变性。 几张PPT截图: Mathematica 和 Python 之间相互调用 这个基本上就是两种语言相互取长补短。Python语言可以做很多底层琐碎的事情,Mathematica有高级函数。 写在最后 期待 2020 Wolfram 中国虚拟技术大会 会议内容如下: 9/8 7 pm - 8 pm: Wolfram System Modeler 简介——杨圣汇 9/8 8 pm - 9 pm: Wolfram Mathematica 综述——严密博士 9/9 9 am - 10 am: 智能问答系统 Wolfram|Alpha 简介 —— 陆蒙博士 9/9 10 am - 11 am: Wolfram 语言中的影音处理——陳建宇 9/9 6:30 pm - 7:15 pm: 采用 Mathematica 设计金属 3D 打印工业产品级制品——吴飞 9/9 7:15 pm - 8:00 pm: Wolfram 语言中的图像处理技术——Silvia Hao 9/9 8:00 pm - 9:00 pm: Wolfram 语言在平面几何中的应用——杨圣汇 9/10 9 am - 10 am:Mathematica 图形图像语言——陆玉柱博士 9/10 10 am - 10:30 am: 适用于主流编辑器的 Wolfram 语言开发环境——康明宇 9/10 10:30 am - 11:30 am: 类神经网路的原理介绍以及其在 Wolfram 语言里的使用——叶茂创博士

August 20, 2020

Wolfram 2020 08 20演讲会

Wolfram 2020 08-20 中国学生大使演讲会 以下主题都是我感兴趣的内容,目前自己创业主要用的语言就是 Wolfram 和 Python,Wolfram 主要进行原型设计和对最初思路的探索验证。看完以下演讲之后,我会专门针对生物医学和视网膜图像分析这块领域做为深度学习的研究课题。 18:00-19:00 北大物理系王竞先: Mathematica 中的 Meta-programming 基础 将介绍 Mathematica 计算流程,相关函数及机制,编程思路,案例详解。主要思路即从 Mathematica 的计算流程入手,讲解在 Mathematica 中做 Meta-programming 的思路和一些基础手段,以大小案例为主要内容。 19:00-19:30 上海交大电子电气学院吴可:Wolfram 语言中的编译 我们都知道在最常用的 Mathematica 中,通过前端与内核通信执行命令;在Wolfram Engine 中则需要其作为解释器来运行指令,然而这种解释型的运行方式通常需要为虚拟机提供内存,同时速度较慢。并且在任何一台希望执行Wolfram 语言的机器上都需要部署解释器。在此次讲座中,我们将通过 Compile 及版本12中的新函数 CompileFunction 了解 Wolfram 语言中通过编译加速运行及部署代码的可能性。 19:30-19:40 中场休息 19:40-20:10 上海交大医学院荆泽宇:使用 Mathematica 中的 R-Link 处理生物和医学信息 R语言是很多科研人员处理医学和生物信息过程的首选。因其很好的开源性,R有许多适用于处理生物信息的扩展包,不过R编程的复杂性限制了其推广和应用。而神奇的 Wolfram 语言却具有简洁、智能和美观等互补特点,R 与 Mathematica的强强联合催生出了处理生物信息的强大工具,R-Link 应运而生。本期学生大使演讲将为大家介绍R-Link的安装和使用,并结合实际案例来演示 R-Link 的强大功能,并希望能在未来帮到听众朋友们。 20:10-20:40 西南大学化学工程系祝模芮:利用 Matheamtica 进行深度视网膜图像分析 利用 Mathematica 对人眼视网膜进行分割与分类两个任务,分割任务要求清晰分割出视网膜血管以及视盘。分类部分提供了糖尿病性视网膜病变(DR),青光眼和年龄相关性黄斑变性的分类。 20:40-21:10 华东理工计算机吴宇迪: Python 与 Mathematica 的交互 多语言交互是件很有意义的事,而且 Python 受众广,生态丰富。本次介绍易上手的 Mathematica 调用 Python,与 Python 调用 Mathematica 的方法。以及利用 Mathematica 强大函数在Python中解决问题的案例。 ...

July 28, 2020

Automate Analyse Covid 19 XRay Image by DeepLearning

动画程式代码如下: lung-3D.nb lung3d = AnatomyPlot3D[lung anatomical structure, PlotTheme->"XRay"] gif = {}; Do[ image = ImageResize[ Show[lung3d, ViewPoint -> {3 Cos[x], 3 Sin[x], 0}, ViewAngle -> 20 Degree], {256, 256}]; gif = Append[gif, image], {x, 0, 2 Pi, 0.1}] Export["lung-3D.gif", gif, "AnimationRepetitions" -> Infinity ] image = ImageResize[ Show[lung3d, ViewPoint -> {3 Cos[Pi/2], 3 Sin[Pi/2], 0}, ViewAngle -> 20 Degree], {512, 512}] 训练集收集 covid-chestxray-dataset paultimothymooney/chest-xray-pneumonia muhammedtalo/COVID-19 Labeled Optical Coherence Tomography (OCT) and Chest X-Ray Images for Classification ...

July 13, 2020

Rosetta Covid 19 研讨会

线上研讨会的视频地址 文章中的截图均来自研讨会中的文稿。 因为自己不是生物学专业的,又本着对病毒蛋白质研究的兴趣而了解了一些关于蛋白质折叠的基础知识,然后就观看了该研讨会,前面40分钟还能大致看懂,到后半段就云迷雾里了,也许是缺乏分子生物学方面的知识,我把自己从该视频中领悟到一些知识分享出来(多图)。 介绍关于蛋白质折叠过程中能量势函数图,当蛋白质未折叠完成的时候,能量是较高的,折叠完成之后,整个蛋白质的能量趋于全局最小值。这里我们可以看出,蛋白质的折叠理论上就是计算给定肽链的氨基酸序列,最终肽链折叠成怎么样的三维结构才能使得蛋白质的能量趋于最小值。 自然界中蛋白质的氨基酸序列其实是被编码到我们的基因序列里的,基因序列通过转录和翻译最终将多种氨基酸通过一定序列合成在一起,合成完之后的序列我们称之为多肽链,然后肽链完成自我折叠,形成一个稳定的三维结构,这样蛋白质也就有了具体的生物学功能。 如果通过反向操作,我们研究怎么样的蛋白质结构能够完成特定的生物学功能,然后倒推出该蛋白质的氨基酸序列,因为多肽链的一级结构决定了蛋白质的三维结构,所以我们可以将这些蛋白质的氨基酸序列编码到基因库中,然后人工合成该蛋白质。而在计算蛋白质的折叠时,我们需要消耗很多的算力,如果简单考虑一条肽链有100个氨基酸,而一般常见的氨基酸有20种,那么我们需要尝试的计算可能的肽链个数为20^100。 计算蛋白质能量的函数,目前还没看懂该方程,大致理解就是总能量为热能+结构能。 病毒传播过程中,下图可以理解为科研人员的整个Worflow: 向外界发出通知和警告⚠️。 分析病毒遗传物质的基因🧬序列。 对病毒的蛋白质进行研究建模。 诊断 -> 治疗 -> 疫苗开发。 在十二月初诊断出第一例COVID-19病人,一月初,病毒的基因序列公布,二月初,Robetta 对病毒的刺突蛋白进行三维建模,在二月末在实验室中通过X射线衍射技术获得病毒蛋白质的三维晶体结构。 右图为Robetta和X-ray分别获得的三维结构进行比较,RMSD小于1埃。 RMSD 用于描述两个蛋白质三维结构的差异,用数学符号表示 (v,w 分别代表两种三维空间结构的原子集合): 通过计算预测得到的三维结构已经很接近实验室测得的实际结构。 设计一种全新的检测系统用于COVID-19的诊断。 下面的图片里面的内容不是很懂。猜测就是如何精准识别和检测出SARS-COV-2。 第二部分讲述研发的药物与SARS-COV-2表面的蛋白质结合,从而使得病毒丧失入侵人体细胞的能力。 由计算机生成的药物通过与Spike蛋白结合,从而抑制病毒的扩散。 寻找该抑制药物的方案: 找到病毒蛋白的靶点。 对接结构的选择。 模拟组装结构与靶点的对接。 使用Rosetta来预测对接结构的氨基酸序列。 可以理解为就是设计一种 mini protein binder来阻止SARS-COV-2通过ACE2受体进入人体细胞。 接下来就是介绍自主装系统。第一张图片,我们可以理解为一个系统是如何自我演化及装配是由系统中每个部分已编码的属性所决定的。复杂和不规则的蛋白质结构使得设计新的分子间相互作用成为一种挑战,下图显示出了自主装的蛋白质结构,通过简单的结构,使得蛋白质演化出复杂的形态。 借助Rosetta工具,我们可以研究生物大分子聚合物的折叠,对接以及蛋白酶的设计,RNA的折叠等课题上。 下图为使用自组装系统的方法,所设计出的模型和实验室所测到的晶体结构对比。 该论文发表在2016年的Science期刊上: Accurate design of megadalton-scale two-component icosahedral protein complexes 用该方法研发出绑定病毒蛋白质的纳米粒子,并用于治疗SARS-COV-2。 最后总结,在下次的全球大流行下,科研人员能够更快更精准的测定蛋白质的结构,快速诊断被感染人群,通过更深入的理解分子之间的相互作用快速的治疗病人,最后在疫苗的研发阶段,对免疫系统有更加深一层次的理解,最后在Rosetta程序中使用深度学习更精确的建立和设计蛋白质模型。 个人观点 从宏观世界到微观世界,我们可能仅仅只是了解了这个世界的运作方式,而并不能理解这个运作背后精密的计算。当我们探讨整个宇宙的时候,可能银河系之外离我们很遥远,宇宙中黑洞的碰撞,时空的弯曲,时间旅行,这些看起来也和我们生活无关,但到了微观世界却与人类的繁衍生息息息相关,如果蛋白质错误的折叠了,人就会出现疾病,当病毒入侵人体细胞时,免疫系统就会启动,然而一旦病毒可以抑制免疫系统的启动,那么这个疾病就是灾难性的,或许在微观世界,从被隐藏的另外时空维度看,就是另外一个宏伟的"宇宙"。对量子世界的研究,更能帮助人类的前行。 回到个人想创业的路途上,如果我们要做一款产品,那么首先我们会从商业利益出发,只是投机取巧最后创业公司不会存活很久就倒闭,这款产品最好是能够帮助需要的人完成他们不能完成的事情,或者能促进科技的发展,给人带来便利。就是出发点得是善。

July 7, 2020