在他的童年时期,罗伯特布莱克威尔通过修补家庭计算机自学了计算基础知识。在安装新操作系统以测试计算机功能的极限时,布莱克威尔经常破坏计算机——有时会在此过程中丢失数字家庭照片和其他文件——然后必须弄清楚如何让它再次正常运行。
从那时起,布莱克威尔的技能已经取得了长足的进步。他现在是熨斗研究所科学计算核心(SCC) 的一名软件工程师,与科学家一起编写和改进他们的科学计算程序。他还举办教育研讨会和讲习班,以帮助研究所的研究人员提高他们的技能,并成为他们所在领域的大使,以更好地进行科学计算实践。
在加入熨斗研究所之前,布莱克威尔在德国埃尔兰根-纽伦堡的弗里德里希亚历山大大学担任生物物理学博士后研究员。他拥有乔治亚大学的物理学学士学位和科罗拉多大学的物理学博士学位,专注于计算生物物理学。
布莱克威尔最近与西蒙斯基金会谈论了他的工作。为清楚起见,已对对话进行了编辑。
您在 SCC 从事什么工作?
我的大部分工作是帮助科学家构建和编写他们的软件以在超级计算环境中运行。例如,如果科学家的代码运行不好或运行时间过长,我会帮助优化它。我在生物物理学、计算编程和计算机系统管理方面的背景使我能够填补这个空白;我可以在计算机支持方面和科学方面帮助科学家。
我也是SkellySim的核心开发人员,这是一个新的生物物理学包,可以模拟生物细胞成分的运动。几乎所有生命形式的细胞都有共同的成分,但对这些成分如何物理相互作用知之甚少。这是因为它们的相互作用涉及很多流体动力学——描述液体和气体如何流动的物理学。由于流体动力学通常很难计算,因此经常被忽略。
然而,SkellySim 计算流体动力学的影响,同时还以非常严格的方式模拟细胞中一些更常见的组件。没有多少近似值,这通常是流体动力学的处理方式,如果有的话。 SkellySim 背后的数学非常复杂,因此我与科学家密切合作。它们提供了我在程序中编码的数学。我们认为 SkellySim 将推进我们对细胞组件如何相互作用和移动的了解。在一些初步测试中,我们已经表明,即使是最简单的系统,当您添加流体动力学时,也会表现出非常不同的行为。在没有它的系统中,粒子只与它们自己和它们接触的任何东西相互作用。但是通过流体动力学,一切都在移动,并且有不同的集体行为会影响从不物理接触的物体的相互作用。
在这个项目上工作了两年之后,这个模拟现在才刚刚开始被熨斗研究所的其他科学家使用,特别是计算生物学中心生物物理建模小组的科学家,我们很快就会发表一些关于它的论文。在准备好供公众使用之前,它还有一些工作要做,但一旦完成,我们想向更大的科学界宣传它。很多科学家已经表现出兴趣,我认为一旦他们看到它可以做什么,它就会很快流行起来。
科学家将能够使用 SkellySim 研究什么?
一种应用是研究微管,它是细胞内的蛋白质复合物,对于将物质从细胞的一个部分运输到另一部分很重要。微管也参与有丝分裂,这是细胞分裂和复制的主要方式。在有丝分裂中,微管有助于排列和分裂 DNA。了解微管的工作原理可以帮助我们了解驱动有丝分裂的潜在机制。 SkellySim 还可用于了解其他细胞成分,如肌动蛋白和其他细丝,以及细胞运动,包括细菌如何游泳。
了解细胞运动有实际应用吗?
从根本上说,我们并不真正了解细胞是如何在小范围内工作的。微管比大多数显微镜的分辨率小很多倍,因此建模确实是我们了解它们如何单独工作的唯一方法。在更实际的层面上,如果你了解事物如何移动以及它们如何相互作用,你就可以开始思考如何你可以操纵它们。生物学中有一个内部笑话,任何基础研究都可以应用于癌症。对我们来说,了解运动可以帮助科学家设计“游泳”的药物,从而实现靶向给药。了解有丝分裂可以帮助科学家研究由细胞分裂或细胞内任何类型的运输问题引起的遗传疾病。未来的应用程序真的可以是任何东西。
外壳是卵的边界,而蓝色的杆是固定在称为微管的表面的柔性细丝。由于其他蛋白质沿其轴压缩微管,导致它们弯曲,因此存在一种力。它们通过与流体相互作用而共同弯曲,从而产生这些涡流。学分:罗伯特布莱克威尔
SkellySim 等程序如何帮助推动科学进步?
我们可以通过多种方式使用 SkellySim 等工具来促进科学理解。如今,科学中的许多前沿问题都很难“分析”解决——基本上是手工解决。像 SkellySim 这样的软件使我们能够利用计算机的力量来解决问题。由此我们可以做出预测以推动新的实验和发现。尽管设计这样的软件可能需要做很多工作,但这种方法通常比尝试从理论角度解决问题要快得多,这需要大量的反复试验。
在 SCC,我们很幸运拥有专业的计算机工程人员,他们了解科学,但专注于软件。这使我们能够创建可以正确支持和共享的更好、更专业的软件。通过自己承担一些计算机编程负担,科学家们可以专注于发表论文和分析新结果。我们当然会尽可能地“教人钓鱼”,但我们也可以实施更先进的技术,这些技术远远超出了科学家可以合理预期掌握的程度。
原文: https://www.simonsfoundation.org/2022/11/07/putting-the-code-in-scientific-computation/