方法文章

模拟细胞骨架系统的典型工作流程

DOI:

10.3791/64125

2023年4月7日

* These authors contributed equally

本文内容

摘要

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

本方案演示了如何使用开源细胞骨架模拟软件 Cytosim,研究由分子马达和被动交联蛋白连接的微丝网络的行为。通过一个通用的工作流程并按照逐步说明,改变交联蛋白的数量,并绘制由此产生的网络收缩性曲线。

摘要

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

目前,许多细胞骨架系统已被充分研究,足以进行精确的定量建模。微管和肌动蛋白丝的特性已被明确表征,相关的蛋白质、其丰度以及这些组分之间的相互作用也大多已被阐明。因此,计算机模拟可被用于以与实验相辅相成的方式,精确研究该系统的集体行为。Cytosim 是一个开源的细胞骨架模拟软件套件,旨在处理包含柔性纤维及其相关蛋白(如分子马达)的大规模系统。该软件还支持模拟被动交联蛋白、可扩散交联蛋白、成核因子、剪切蛋白,以及仅在纤维晶格位点未被占据时才进行步进的离散化马达模型。此外,软件提供了具有球形或更复杂几何形状的其他对象,可用于表示细胞中的染色体、细胞核或囊泡。

Cytosim 提供了简单的命令行工具,用于运行模拟并显示其结果,这些工具用途广泛且无需编程技能。在此工作流程中,逐步说明了以下操作:i) 在新计算机上安装必要的环境,ii) 配置 Cytosim 以模拟二维肌动球蛋白网络的收缩,以及 iii) 生成系统的可视化表示。接着,通过系统性地改变一个关键参数——交联分子的数量,对系统进行探究。最后,通过数值量化收缩性,补充系统的可视化表示,从而在图表中观察收缩性如何依赖于系统的组成。总体而言,这些不同步骤构成了一种典型的工作流程,稍作修改即可应用于解决细胞骨架领域的许多其他问题。

引言

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

细胞骨架由细胞内的纤维结构及相关分子(如分子马达)组成,通常构成具有显著力学特性的动态网状结构。在几乎所有生命形式的不同细胞类型中,细胞骨架均以多种构型存在。其正常功能对于细胞分裂、运动和极化等基本生命过程至关重要。细胞骨架还调控细胞间的力学相互作用,从而影响组织和生物体的形态发生。细胞骨架参与多种功能,并在众多生物学过程中发挥作用。例如,肌肉收缩与肌球蛋白分子马达在肌动蛋白纤维上的做功冲程密切相关;另一个例子是神经元的维持,依赖于驱动蛋白马达在神经元轴突内部微管上的运动。肌动蛋白和微管是两种主要的细胞骨架纤维类型,若无它们,我们所知的生命将不可能存在。

细胞骨架本质上是一个生物力学系统,不能仅用其化学成分来解释。微管或肌动蛋白丝由数千个单体组成,长度可达数微米。这些纤维在空间中的构象及其能够向质膜、细胞核或其他细胞器传递的力,是其在细胞中发挥功能的关键方面。例如,由肌动蛋白丝和肌球蛋白马达组成的网络,称为肌动蛋白-肌球蛋白皮层1,可产生力以维持动物细胞的运动性和形态变化。在植物细胞中则观察到一种截然不同的结构,其中皮层微管引导纤维素原纤的沉积,从而控制细胞壁的结构,最终决定这些细胞未来的生长方式2

尽管力学在细胞骨架活动中显然起着重要作用,但化学因素同样至关重要。纤维会生长 通过 一种自组装过程,单体通过细胞质扩散后,在纤维末端找到其结合位点3在分子尺度上,丝状结构末端的组装与解聚因此由分子亲和力决定4同样,细胞骨架蛋白也会发生扩散,其与所遇到的纤维丝之间的亲和力由结合与解离速率决定。对于分子马达而言,涉及ATP水解的化学反应循环与沿纤维丝的运动相关联,并可能产生相应的力。5值得注意的是,细胞骨架带来了许多不同寻常的挑战,以及涉及相似组分的多种多样的生物学过程。它构成了生物学、化学与物理学交叉领域中一个极为丰富的研究平台。

细胞骨架系统适用于数学建模。事实上,得益于过去几十年的卓越研究,其主要的分子组分很可能已被鉴定,内吞作用即为一例6在模式生物(如酵母)中,这些元件的特性及其部分生物学过程的系统组成已被阐明。例如,微管的结构与材料特性7,以及有丝分裂纺锤体在不同阶段的数量和平均长度已有描述8连接微管形成连贯力学结构的驱动蛋白数量通常是已知的9许多马达的速度已被测量 体外10此外,实验人员可以观察并量化这些系统 体内 在野生型或突变条件下。将理论与实验相结合 体内体外 实验使研究人员能够检验当前对细胞骨架系统的认知是否足以解释其观察到的行为。利用数学和计算工具,还可以基于分子尺度观察所得的假设(通常在简化条件下)推断各组分如何协同发挥作用。., 单分子实验

理论的作用可以通过一个实际例子来说明:纤毛的摆动。这种摆动是由纤毛内驱动蛋白沿微管运动所引起的。人们可能会问,是什么决定了该系统中驱动蛋白的运动速度?一种可能的回答是,最大速度受到维持特定摆动模式需求的限制。如果这种摆动处于自然选择的作用之下,这一解释是合理的。在这种情况下,如果驱动蛋白运动得更快,该过程就会失去其理想特性——纤毛的摆动效率会降低,甚至完全失效。尽管这种情况是可能的,但另一种可能性是,某些内在因素可能限制了驱动蛋白的速度。

例如,细胞可能没有足够的ATP来加快驱动蛋白的运动速度,或者驱动蛋白活性所依赖的蛋白质运动本身无法被加速。在这种情况下,如果能够克服物理限制使马达蛋白运动加快,或许就能改善纤毛或鞭毛的摆动。当然,第三种可能性是改变马达蛋白的速度对整个过程并无显著影响,这反而可能为生物体带来一定优势,使其在面对不可控因素时具备一定的"鲁棒性"。在这三种可能性中,可以通过从驱动蛋白的特性出发计算其摆动模式,来确定哪一种是正确的。实际上,一个合适的数学模型应当能够预测改变驱动蛋白速度如何影响摆动模式,并且不受现实物理世界中各种限制的约束。当然,模型的有效性必须经过验证,但即使是"不正确"的模型,也可能激发出有价值的新思路。

该模型可以表现为一种分析框架,也可以是对系统的数值模拟。无论哪种形式,分子尺度与功能尺度之间的鸿沟仍然是一个障碍,而构建这些模型并非易事,因为需要将多个力学和化学过程整合到描述生物系统的方程中。理论以多种形式存在,在简洁性与真实性之间提供了不同的权衡。增加模型的细节程度并不总是有利的,因为它可能限制我们求解方程的能力,换句话说,限制我们推导理论预测结果的能力。对于模拟而言,同样的权衡也存在。建模者必须选择系统中需要考虑的组成部分,同时忽略某些方面。这些关键决策将高度依赖于研究目标。如今,计算机硬件的显著进步使得对许多细胞骨架系统进行足够详细且持续足够长时间的模拟成为可能,从而可以分析其行为。这通常会激发意想不到的想法并开辟新的研究方向。例如,本实验方案中将要使用的这类模拟曾导出一个粗略估算方法,能够根据网络的组成预测其收缩性11

数值方法在工程学和物理科学中无处不在,其在生物学中的应用也日益增多。如今,几乎所有的技术产品(如手表、手机、汽车和计算机)都是首先在计算机上进行设计的,且已有强大的软件可用于实现这一过程。对于一个特征明确的细胞骨架系统,即使已确定了合适的描述层次,在对其进行模拟之前仍需解决若干问题。对于最简单的问题,最合适的解决途径可能是自行编写模拟程序 "从零开始编码",换句话说,从一种通用编程语言或数学平台(如 MATLAB)开始。这种方法的优势在于,代码编写者能够深入了解所实现的内容,并确切掌握软件的工作原理。然而,这条路径并非没有风险,常常可以看到博士生将大部分工作时间用于编写代码,而非解决科学问题。

另一种选择是使用他人开发的软件,但这同样存在风险;任何大型源代码都倾向于自发地演变为难以理解的黑箱,尽管其作者已尽最大努力避免这种情况。使用黑箱显然不是科学家的理想。大型源代码还可能成为负担,与其修改现有代码库以实现不同的功能,从头开始反而可能更快。为缓解这一问题,人们可以邀请软件作者提供帮助,但这可能并不足够。通常情况下,软件开发者与潜在使用者之间存在科学文化上的差异,这意味着许多隐含的假设需要被澄清。通过将代码开源,有望吸引更多人员参与软件的开发并维护其文档,从而提升其质量。在进行任何投入之前,这些重要问题都必须得到充分考虑。然而,从长远来看,唯一可行的进步途径是推广由具有共同科学兴趣的广泛社区所使用和维护的稳健软件解决方案。

尽管本方案使用 Cytosim,但还有其他一些开源工具可能能够模拟相同的系统,例如 AFINES12、MEDYAN13、CyLaKS14、aLENS15 和 AKYT16 等。遗憾的是,比较这些项目超出了本文的范围。本文提供了逐步说明,用于模拟一个可收缩的二维肌动球蛋白网络。该系统较为简单,并利用了 Cytosim 中较为成熟的功能。Cytosim 基于一个跨平台的核心引擎构建,可在二维或三维空间中运行模拟。其代码具有模块化结构,便于定制以执行特定任务。Cytosim 在三维模拟中同样稳定高效,过去已成功用于研究涉及微管和肌动蛋白丝的多种问题:微管星状体之间的相互关联17、细胞内细胞核的运动18,19、内吞作用6、胞质分裂20、有丝分裂纺锤体的形成21、有丝分裂纺锤体的运动22、染色体的捕获23、肌动球蛋白网络的收缩11,24,以及血小板中微管环的力学特性25;为这些项目开发的功能均已保留在代码中。此处描述的工作流程可适用于许多其他问题。该流程使用 Unix 命令行,部分读者可能对此不熟悉。然而,使用命令行是实现模拟过程自动化的最通用且便捷的方式。集成的图形用户界面旨在提供简单直观的软件访问方式,但这通常以牺牲通用性为代价。本文的目的是展示一种易于修改或适配于其他问题的研究方法。文中提供了注释,以解释各命令的含义。

为了模拟肌动蛋白-肌球蛋白网络,将丝状结构建模为有方向的线段,并用沿其长度分布的顶点表示(图1)。这是一种介于微观与宏观之间的描述层次,在聚合物物理学中较为常见,虽忽略丝状物真实的三维结构,但可计算其弯曲行为。丝状物的两端可根据不同模型进行生长或缩短,涵盖肌动蛋白和微管的动力学现象。在细胞内,丝状物主要通过限制其运动的相互作用实现有序排列,例如与其他丝状物连接,或简单地受限于细胞边界。在Cytosim中,所有此类相互作用被线性化并整合为一个大型矩阵26。假设介质具有黏性,并包含代表布朗运动的随机涨落项,由此矩阵推导出描述所有丝状物顶点运动的方程。这些方程通过数值方法求解,以自洽且高效的方式获得丝状物的运动轨迹及其所受的全部作用力26。在此力学引擎基础上,还设有一个随机引擎,用于模拟各类离散事件,例如分子马达的结合与解离,或丝状物的组装动力学。总之,Cytosim首先采用模拟动力学方法计算任意连接方式的丝状物网络的力学行为,其次利用随机方法模拟连接或影响丝状物的蛋白质的结合、解离及扩散过程。

此处所示的工作流程通常用于首次使用 Cytosim 探索一个系统。对许多潜在用户而言,关键步骤可能是软件组件的安装。以源代码形式分发软件符合开放科学的基本要求,但也容易出现错误,因为软件开发者可用于测试程序的硬件架构有限。由于操作系统不同,编译过程可能会失败。随着计算机系统和源代码的不断更新,此处提供的说明可能会逐渐过时。因此,定期在线查阅最新的安装指南至关重要。如果遇到问题,强烈建议用户通过相关反馈渠道(目前为 Gitlab 上的 Cytosim 主页)提交报告,以帮助解决存在的问题。

访问受限。请登录或开始试用以查看此内容。

方案

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

注意:本实验方案包含以下步骤:Windows 10、MacOS 和 Linux 系统的平台准备;Cytosim 的安装;模拟的配置、测试运行及图形化显示;通过多次运行并改变一个参数——网络中交联分子的数量;生成图表以观察交联分子数量对收缩性的影响;并行运行;以及随机抽样。所有位于“>”符号后的文本均为需在终端窗口中逐字输入的命令。“>”表示终端提示符,输入时不应包含该符号,但其余所有字符均需准确输入。

1. 平台准备

注意:根据操作系统(MacOS、Windows 10 或 Linux),执行步骤 1.1、步骤 1.2 或步骤 1.3。

  1. 准备(MacOS)
    1. 通过打开终端(位于“应用程序/实用工具”中)并输入以下命令来安装Xcode 命令行工具
      gt; xcode-select --install
    2. 如需查看或编辑 Cytosim 的代码,请从 Apple App Store(https://apps.apple.com/us/app/Xcode/id497799835?mt=12)安装Xcode
      注意:Xcode 自带的编辑器完全适用。其他面向代码的编辑器也可使用,例如 TextMate。如需使用 TextMate,请从 https://macromates.com 下载并按照说明操作。
  2. 准备(Windows)
    注意:对于 Windows 10 或更高版本,Cytosim 可通过“适用于 Linux 的 Windows 子系统”(WSL)运行,如下所述。对于较早版本的替代方案是 Cygwin,但此处不提供相关说明。
    1. 更新计算机操作系统以满足 WSL 2 的要求:x64 系统需 Windows 10 版本 1903 或更高版本且构建版本为 18362 或更高,ARM64 系统需版本 2004 或更高且构建版本为 19041 或更高。后续版本更新请查阅 https://docs.microsoft.com/zh-cn/windows/release-health/release-information。
    2. 在任务栏的搜索框中输入启用或关闭 Windows 功能。手动启用(静力平衡 ΣFx=0 示意图;受力体分析;矢量;力平衡;物理概念)虚拟机平台和(静力平衡 ΣFx=0 示意图;受力体分析;矢量;力平衡;物理概念)适用于 Linux 的 Windows 子系统。点击确定重启Windows。
    3. 进入 Windows Microsoft 商店,搜索Ubuntu。下载并安装当前版本(截至 2022 年 3 月为 Ubuntu 20.04 LTS)。
    4. 点击启动以打开 Ubuntu 终端。如果提示下载最新的 WSL2 Linux 内核,请按照提供的说明进行操作。安装更新后重新启动 Ubuntu。
    5. 根据终端提示输入新的 UNIX 用户名并设置密码。用户账户设置完成后,从 Windows 任务栏的搜索框中启动 Ubuntu。在命令窗口中打开主目录(即“.”):
      > explorer.exe .
    6. 安装支持 WSL 的 X-Window 服务器,例如Xming:https://sourceforge.net/projects/xming/
    7. 通过双击Xming 图标启动 X-Window 服务器Xming,并选择多窗口模式。之后,请打开 Ubuntu 终端并继续执行第 1.3 节(Linux)中的步骤。
  3. 准备(Linux)
    注意:这些说明适用于使用 APT 包管理器的 Linux 发行版。对于使用其他包管理器(如 Red Hat Linux)的发行版,需对这些命令进行相应修改。在此情况下,请遵循相应 Linux 发行版的说明来安装相同的软件包。
    1. 更新 Linux 系统:
      > sudo apt-get update
      > sudo apt-get upgrade
    2. 安装 C++ 编译器和 GNU 的 make 工具(https://www.gnu.org/software/make):
      > sudo apt-get install build-essential
    3. 安装 BLAS/LAPACK 库(http://www.netlib.org/lapack):
      > sudo apt-get install libblas-dev liblapack-dev
    4. 安装 OpenGL 开发库和头文件(https://www.mesa3d.org):
      > sudo apt-get install mesa-common-dev
    5. 安装 GLEW 库(http://glew.sourceforge.net):
      > sudo apt-get install libglew-dev
    6. 安装 freeGLUT 库(http://freeglut.sourceforge.net):
      > sudo apt-get install freeglut3-dev
    7. 安装 GIT 版本控制系统(https://git-scm.com):
      > sudo apt-get install git
    8. 安装 X11 测试程序(例如 xeyes、xclock、xcalc):
      > sudo apt-get install x11-apps
    9. 调整环境变量 DISPLAY:
      > export DISPLAY=:0
      1. 尝试打开一个 X11 窗口:
        > xeyes
      2. 如果成功,继续执行第 2 步。如果出现无法打开显示的错误,请尝试使用不同的 DISPLAY 值。
      3. 查找 WSL2 机器的 IP 地址:
        > cat /etc/resolv.conf
      4. 如果显示了 IP 地址,例如“nameserver 10.16.0.7”,请将该 IP 地址替换下方的 X.X.X.X:
        > export DISPLAY=X.X.X.X:0
        > xeyes
      5. 如果成功,继续执行第 2 步。如果“play”无法“打开显示”,请尝试在“xterm”窗口中运行:
        > sudo apt install xterm
        > xterm -display :0
      6. 在新打开的窗口中输入:
        > xeyes

2. Cytosim 的安装

注意:这些步骤适用于任何操作系统,包括 MacOS、WSL 和 Linux。在接下来的部分中,将在终端中执行命令,且“当前工作目录”应设置为仿真程序被编译的目录。该目录将被称为基础目录。或者,也可以在单独的目录中完成所有操作,前提是根据需要复制相关文件。如果不熟悉命令行,建议先学习相关教程,例如 https://www.learnenough.com/command-line-tutorial 或 https://learnpythonthehardway.org/book/appendixa.html。

  1. 下载 Cytosim 源代码:
    > git clone https://gitlab.com/f-nedelec/cytosim.git cytosim
    注意:下载代码无需 Gitlab 账户。此操作将在当前目录下创建一个名为“cytosim”的新子目录。
  2. 编译:
    > cd 胞质模拟
    > 制备
    1. 检查是否在名为“bin”的子目录中创建了三个文件,方法是运行:
      > ls bin
    2. 如果步骤 2.2.1 失败,请尝试通过安装 cmake(https://cmake.org)来使用以下替代方法进行编译:
      > mkdir b
      > cd b
      > cmake ..
      > 制备
      > cd ..
  3. 检查可执行文件:
    > bin/sim 信息
    > bin/播放 信息
    1. 验证两个可执行文件是否均已编译为执行二维模拟。查看上述“info”查询的输出结果,确认以下内容:
      维度:2 周期性:1 精度:8 字节
    2. 如果情况并非如此,且 仅在此时修改文件“src/math/dim.h”(打开,编辑并将 DIM 更改为 2,保存),然后重新编译 Cytosim:
      > 清洁处理
      > 制作
  4. 测试运行
    1. 复制三个可执行文件:
      > cp bin/sim sim
      > cp bin/play play
      > cp bin/report report
    2. 创建一个新目录:
      > mkdir run
    3. 复制并重命名标准配置文件:
      > cp cym/fiber.cym run/config.cym
    4. 开始模拟:
      > cd 运行
      > ../sim
    5. 可视化模拟结果:
      > ../播放
      1. 按空格键开始动画。按 h 有关键盘快捷键的帮助。
      2. 要退出程序,在 macOS 上尝试 Chromatography system, ΣFx=0, diagram, protein purification, data analysis fitting, spectral absorption-Q,或按 Ctrl+Q,或选择 退出 从菜单中选择。作为最后手段,可在启动“play”的终端窗口中输入 CTRL-C。
    6. 实时运行模式:
      > ../播放实况

3. 模拟配置

  1. 如果尚未安装代码导向的文本编辑器(例如 TextMate、SublimeText),请先安装。
    打开编辑器,然后打开位于第 2.4.2 步创建的“run”目录中的文件“config.cym”。熟悉该配置文件的不同部分,该文件是“fiber.cym”的副本(补充文件 1)。
    注意:Cytosim 通常仅读取一个以“.cym”结尾的配置文件。所有修改都将在“config.cym”中进行。有关参数列表,请参见补充表 S1
  2. 通过在“config.cym”中进行以下修改来调整模拟:
    radius=5 → radius=3
    new 1 filament → new 100 filament
  3. 保存文件时不要更改其名称或位置(覆盖“config.cym”)。切换到终端窗口,并使用以下命令检查模拟是否按预期修改:
    > ../play live
    注意:圆的半径以微米(µm)为单位,Cytosim 中所有距离均以微米为单位。Cytosim 采用一套适用于细胞尺度的单位系统,其基础单位为微米、皮牛顿和秒。
  4. 在“set fiber filament”段落中进行以下修改:
    rigidity=20 → rigidity=0.1
    segmentation= 0.5 → segmentation=0.2
    confine=inside, 200, cell → confine= inside, 10, cell
    在“new filament”段落中修改:
    length=12 → length=2
    通过修改以下内容减少模拟时间:
    run 5000 system → run 1000 system
    注意:此操作调整了纤维的属性。“set”段落定义纤维的持久性属性,而“new”中的参数通常是初始条件。弯曲刚度以 pN µm2 为单位。分段长度(segmentation)是描述纤维的顶点之间的近似距离,单位为微米(µm);当纤维变得更柔韧时,该值需要减小。最后的修改降低了与“cell”边界相关的限制势的刚度(pN/µm)。“new”段落中声明的长度(2 µm)是纤维的初始长度;由于本模型中纤维不具备动态性,其长度不会改变。建议通过编辑第一行来签署配置文件:
    ​% 您的姓名,日期,地点
    1. 检查配置文件的有效性(重复第 3.3 步)。
  5. 创建被动连接子。
    1. 在“config.cym”中添加一个新段落,位于“new”和“run”命令行之前,用于定义具有纤维亲和性的分子活性:
      set hand binder {
      binding_rate = 10
      binding_range = 0.01
      unbinding_rate = 0.2
      }
    2. 为定义双功能实体,在其下方紧接着添加另一个段落:
      set couple crosslinker {
      hand1 = binder
      hand2 = binder
      stiffness = 100
      diffusion = 10
      }
    3. 在前述段落之后、“run”命令之前添加一条“new”命令:
      new 1000 crosslinker
      注意:在 Cytosim 中,速率以 s−1 为单位,作用范围以微米(µm)为单位。刚度以皮牛顿每微米(pN/µm)为单位,扩散系数以平方微米每秒(µm2/s)为单位。配置文件中命令的顺序至关重要,这些段落必须出现在任何“run”命令之前,否则将无效。如需了解更多关于 Cytosim 对象的信息,请参考基础目录下子文件夹“doc”中的教程“tuto_introduction.md”:doc/tutorials/。
  6. 创建双功能马达。
    1. 在“config.cym”中添加一个新段落,位于“new”和“run”命令行之前:
      set hand motor {
      binding_rate = 10
      binding_range = 0.01
      unbinding_rate = 0.2
      activity = move
      unloaded_speed = 1
      stall_force = 3
      }
    2. 在上一段之后添加另一个段落:
      set couple complex {
      hand1 = motor
      hand2 = motor
      stiffness = 100
      diffusion = 10
      ​}
    3. 在前述段落之后、“run”命令之前添加一条“new”命令:
      new 200 complex
      注意:“activity = move”指定一种在纤维上持续移动的马达。该马达遵循线性的力-速度曲线(图 1),其特征由无载速度(µm/s)和失速力(皮牛顿)决定。在每个时间步 τ 中,它移动的距离为 v × τ。“activity = none”表示不移动的分子;由于这是默认活性,因此可省略“activity”字段。其他活性也是可能的,例如“activity = walk”表示沿纤维进行离散步进的马达。“unloaded_speed”为正值时,表示朝向正端移动的马达;若指定负值,则马达将朝向负端移动。更多说明见 Cytosim 的第一个教程(参见第 3.5.2 步中的链接)。
  7. 保存文件。
    检查模拟:
    > ../play live
    运行模拟:
    > ../sim
    可视化结果:
    > ../play
    将最终的配置文件复制到基础目录:
    > cp config.cym ../config.cym
    注意:您的最终文件应类似于补充文件 2(“jove.cym”)。注意计算此模拟所需的时间。在后续章节中,该时间将乘以生成参数变化图所需的模拟次数。

4. 参数扫描

注意:在本节中,网络中交联剂的数量被系统地改变。

  1. 导入 Python 脚本。
    1. 在基础目录中创建一个名为 "byn" 的子目录:
       > mkdir byn
    2. 从标准的 Cytosim 发行版中复制三个脚本:
      > cp python/run/preconfig.py byn/preconfig
      > cp python/look/scan.py byn/.
      > cp python/look/make_page.py byn/.
      注意:出于安全考虑,这些文件的副本已作为本文的补充文件3、补充文件4补充文件5提供。
  2. 使文件可执行:
    > chmod +x byn/preconfig
    > chmod +x byn/scan.py
    > chmod +x byn/make_page.py
    1. 检查脚本是否能正确执行:
      > byn/preconfig help
      > byn/scan.py help
      > byn/make_page.py help
      ​注意:这应会打印出每条命令使用方法的说明。可以修改 PATH 变量以更简便地调用脚本;详见 https://en.wikipedia.org/wiki/PATH_(variable)。
    2. 故障排除
      1. 如果出现“命令未找到”错误,请检查指定的路径,该路径应与文件位置一致。如果由于操作系统未提供 python2 而出现其他类型的错误,请编辑这三个 .py 文件并修改 shebang(即每个文件的第一行),只需在末尾添加“3”:
        #!/usr/bin/env python → #!/usr/bin/env python3
  3. 复制配置文件以创建“模板”(补充文件6):
    > cp config.cym config.cym.tpl
  4. 编辑模板配置文件。在代码编辑器中打开位于基础目录中的文件“config.cym.tpl”,修改其中一行以引入一个可变的文本元素:
    new 1000 crosslinker → new [[range(0,4000,100)]] crosslinker
    注意:Preconfig 将识别双括号中包含的代码,并通过在 Python 中执行该代码来替换为相应的值。在 Python 中,“range(X,Y,S)”表示从 X 到 Y 以步长 S 递增的整数;在此例中为 [0, 100, 200, 300, ... 4000]。其目的是改变添加到模拟中的交联分子数量。
  5. 从模板生成配置文件:
    > byn/preconfig runi/config.cym config.cym.tpl
    注意:这将创建 40 个文件,每个文件对应“range(0,4000,100)”中指定的一个值。由 Preconfig 生成的文件名由“runi/config.cym”指定。使用此特定代码时,Preconfig 将生成“run0000/config.cym”、“run0001/config.cym”等文件。它实际上会创建“run0000”、“run0001”等目录,并在每个目录中创建一个名为“config.cym”的文件。有关更多详细信息,请查看 Preconfig 的帮助(运行“byn/preconfig help”)。如果出错,请检查命令是否完全正确输入,每个字符都至关重要。
  6. 依次运行所有模拟:
    > byn/scan.py '../sim' run????
    ​注意:“scan.py”程序将在所提供的目录列表中执行引号内的命令。在此情况下,目录列表由“run????”指定。问号是通配符,匹配任意单个字符。因此,“run????”匹配以“run”开头并后跟恰好四个字符的任何名称。或者,也可以使用“run*”来生成相同的列表,因为“*”可匹配任意字符串。
    1. 如果出现问题,请在新的终端窗口中执行此命令,以在第 4.5 步创建的所有目录中依次运行“sim”。等待大约 30 分钟以完成该过程,但具体时间很大程度上取决于计算机性能。可通过编辑“config.cym”减少计算量:
      run 1000 system → run 500 system
  7. 可视化部分模拟结果:
    > ./play run0010
    > ./play run0020
  8. 为所有模拟生成图像:
    > byn/scan.py '../play image size=256 frame=10' run????
  9. 生成 HTML 汇总页面:
    > byn/make_page.py tile=5 run????
    1. 在网页浏览器中打开“page.html”。

5. 制作图表

注意:本节中,根据参数扫描的结果绘制图表。

  1. 检查 report 可执行文件:
    > cd run
    > ../report network:size
    ​注意:对于轨迹中的每一帧,该命令将输出一些注释和两个数字,分别对应“polymer”和“surface”。仅使用网络的“surface”值(最后一列)。
    1. 使用以下命令将信息限制为单帧:
      > ../report network:size frame=10
    2. 移除注释以简化输出处理:
      > ../report network:size frame=10 verbose=0
    3. 最后,使用 Unix 管道功能(">")将输出重定向到文件:
      > ../report network:size frame=10 verbose=0 > net.txt
    4. 在终端中打印文件内容以进行验证:
      > cat net.txt
      注意:应输出两个数字。第二个数字表示第 10 帧中网络覆盖的表面积。若要在所有 "run" 目录中执行相同操作,请更改目录:
      > cd ..
  2. 在每个模拟子目录中生成报告:
    > byn/scan.py '../report network:size frame=10 verbose=0 > net.txt' run????
    注意:scan.py 将在所有由 "run????" 指定的目录中执行引号内的命令。该命令即步骤 5.1 中最后尝试的命令。这将在每个目录中生成一个 "net.txt" 文件(可尝试执行 "ls run????" 查看)。
  3. 查看这些数值:
    ​> byn/scan.py 'cat net.txt' run????
    1. 添加 "+" 选项以连接目录名和命令输出:
      > byn/scan.py + 'cat net.txt' run????
  4. 将这些数值收集到一个文件中:
    > byn/scan.py + 'cat net.txt' run???? > results.txt
  5. 通过删除非数字的重复文本清理文件 "results.txt"。在代码编辑器中打开 "result.txt",使用“替换文本”功能删除所有 "run" 字符串。仅删除三个字母,保留数字;例如 "run0000" 应变为 "0000"。
    注意:处理后应得到一个仅包含三列数字的文件。
  6. 根据 "result.txt" 中的数据生成收缩性曲线图。使用任意方法,以第 1 列作为 X 轴,第 3 列作为 Y 轴绘制图表。将 X 轴标记为“交联分子数量/100”,Y 轴标记为“表面积(平方微米)”。
  7. 将所有模拟文件存储到单独目录中:
    > mkdir save1
    > mv run???? save1

6. 绘制图表的替代方法

  1. 在 "config.cym.tpl" 文件中 run 命令的闭合 "}" 后另起一行,添加以下 report 命令:
    report network:size net.txt { verbose = 0 }
  2. 生成配置文件:
    > byn/preconfig runi/config.cym config.cym.tpl
  3. 使用并行线程运行所有模拟:
    > byn/scan.py '../sim' run???? njobs=4
    1. 根据计算机的性能调整任务数量(njobs=4)。例如,可通过 MacOS 上的活动监视器应用程序监控 CPU 资源的使用情况。
  4. 收集数据:
    > byn/scan.py + 'cat net.txt' run???? > results.txt
  5. 绘制图表,方法与步骤 5.5 和 5.6 相同。
  6. 将所有之前的运行结果存储到一个独立目录中:
    > mkdir save2
    > mv run???? save2

7. 使用随机抽样改进的图表

注意:此处使用 Python 的“random”模块中的生成器函数对变量进行采样。

  1. 在代码编辑器中,打开位于基础目录中的模板配置文件“config.cym.tpl”。在“new crosslinker”之前添加两行:
    [[num = int(random.uniform(0,4000))]]
    %[[num]] xlinkers
    同时修改“new”命令以使用该变量:
    new [[range(0,4000,100)]] crosslinker → new [[num]] crosslinker
    注意:第一行创建了一个随机变量“num”。第二行打印参数值。“%”字符很重要,因为它会指示 Cytosim 跳过该行。很快,“xlinkers”将作为可识别的标签使用,且在每个文件中必须仅出现一次。
    1. 在“config.cym.tpl”文件末尾,确保包含一条 report 指令:
      report network:size net.txt { verbose = 0 }
  2. 生成配置文件:
    > byn/preconfig runi/config.cym 42 config.cym.tpl
    注意:这将生成 42 个文件。如果计算机速度足够快,可以增加此数量。可通过使用 Unix 工具“grep”搜索文件来查看随机生成的数值:
    > grep xlinkers run????/config.cym
  3. 并行运行所有模拟:
    > byn/scan.py '../sim' run???? njobs=4
    注意:请根据计算机的性能调整任务数量。为获得最佳效果,“njobs”变量应设置为与计算机核心数相等。
  4. 使用单条命令收集数据:
    > byn/scan.py + 'grep xlinkers config.cym; cat net.txt' run???? > results.txt
    注意:“scan.py”的“+”选项会将所有命令输出连接为单行。此处命令实际上由两个用分号(“;”)分隔的命令组成。数据收集始终可通过 Python 脚本实现自动化。
  5. 清理文件。在代码编辑器中打开“result.txt”。为确保每个模拟对应的数据均位于同一行,删除所有“xlinkers”字符串,并移除每行开头的“%”字符。最后保存“result.txt”,其内容应整齐地组织为三列数值。
  6. 通过重复步骤 5.6 绘制数据图表,但将 X 轴标记为交联分子数量。
  7. 将数据集保存到新的子目录中:
    >mkdir set1
    > mv run???? set1/.
    > mv results.txt set1/.
  8. 通过重复步骤 7.2–7.6 计算另一个数据集,然后重复步骤 7.8,将三条命令中的“set1”替换为“set2”。
  9. 绘制合并图表。
    1. 合并两个数据文件:
      > cat set?/results.txt > results.txt
      注意:新的“result.txt”文件应更大。
    2. 绘制数据以生成合并图表,方法如步骤 7.7 所述。

8. 完全自动化的流程

注意:在此部分中,所有需要人工干预的操作均被命令替代。完成此操作后,即可编写一个能够自动执行所有步骤的单一脚本。该脚本可在远程计算机(如计算集群)上运行。

  1. 使用 Unix 的 "sed" 命令对 results.txt 文件进行“清理”,以替代步骤 7.6。
    1. 删除行首的 "%":
      > sed -e 's/%//g' results.txt > tmp.txt
    2. 删除 "xlinkers":
      > sed -e 's/xlinkers//g' tmp.txt > results.txt
  2. 编写一个脚本,按正确顺序依次调用所有命令。
    1. 可使用不同的编程语言:bash 或 Python。
    2. 创建一个名为 "pipeline.bash" 的文件,并复制运行流程所需的所有命令。
    3. 执行该脚本:
      > bash pipeline.bash
  3. 使用自动化的绘图脚本。
    注意:完全去除人工干预可能具有优势。目前已存在多种工具,可直接从数据文件生成 PDF 格式的图表,例如 gnuplot(http://www.gnuplot.info)、PyX(https://pyx-project.org)或 Seplot(https://pypi.org/project/seplot/)。

访问受限。请登录或开始试用以查看此内容。

结果

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

在第2节中,使用“make”成功编译Cytosim后,应在“bin”子目录中生成sim、play和report可执行文件。步骤2.3的输出(“sim info”)应显示“维度:2”以及其他信息。在第3节中,配置文件应类似于作为补充文件1提供的jove.cym。在第4节中,步骤4.8中通过模拟获得的i图像应与图2所示图像相似。步骤4.9中生成的HTML摘要页面如图3所示。在第5节和第6节中,预期的图表如图4所示。对于第7节,代表性图表如图5所示。

访问受限。请登录或开始试用以查看此内容。

讨论

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

本文所述方法依赖于三个小型且独立的 Python 程序,这些程序在所描述的实验方案中以多种方式被使用。第一个脚本 preconfig 是一种多功能工具,可替代编写自定义 Python 脚本的需求27。它用于从单个模板文件生成多个配置文件,指定应改变的参数及其变化方式。若需改变多个参数,只需将更多代码片段添加到模板文件中,preconfig 即可生成所有可能的组合。模板方法的一个优势在于,所有关于参数变化的信息(哪些参数被改变以及如何改变)都集中在一个文件中,且代码量极小。脚本“scan.py”同样具有多功能性,用于在子目录中执行命令。最后,“make_page.py”可生成一个 HTML 页面,用于并排查看多次模拟的结果。该功能充分利用了浏览器在显示图像面板方面高度优化的特点。当在模拟子目录中生成多个图形时(例如使用 scan.py),此脚本尤为有用。对于此处描述的方法,存在许多替代方案,一些程序员倾向于使用 bash 脚本或编写 C 程序来完成这些任务。然而,Python 的优势在于其简洁现代的语法,并且在解释执行时,Python 脚本通常可在现代架构...

访问受限。请登录或开始试用以查看此内容。

披露

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

作者声明无利益冲突。

致谢

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

我们感谢 SLCU 建模俱乐部的成员,特别是 Tamsin Spelman、Renske Vroomans、Cameron Gibson、Genevieve Hines 和 Euan Smithers,以及其他协议测试人员 Wei Xiang Chew、Daniel Cortes、Ronen Zaidel-Bar、Aman Soni、Chaitanya Athale、Kim Bellingham-Johnstun、Serge Dmitrieff、Gaëlle Letort 和 Ghislain de Labbey。我们感谢 Gatsby Charitable Foundation(资助编号 PTAG-024)和欧洲研究理事会(ERC Synergy Grant,项目编号 951430)提供的支持。

访问受限。请登录或开始试用以查看此内容。

材料

本文使用的材料清单
姓名公司目录编号评论
一台个人计算机macOS、Windows 10 或 Linux
config.cym.tpl模板配置文件;https://gitlab.com/f-nedelec/cytosim.git
jove.cymCytosim 配置文件
make_page.pyPython 脚本;https://github.com/nedelec/make_page.py
preconfigPython 脚本;https://github.com/nedelec/preconfig
scan.pyPython 脚本;https://github.com/nedelec/scan.py

参考文献

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,
  1. Chugh, P., Paluch, E. K. The actin cortex at a glance. Journal of Cell Science. 131 (14), (2018).
  2. Elliott, A., Shaw, S. L. Update: Plant cortical microtubule arrays. Plant Physiology. 176 (1), 94-105 (2018).
  3. Odde, D. J. Estimation of the diffusion-limited rate of microtubule assembly. Biophysical Journal. 73 (1), 88-96 (1997).
  4. Kerssemakers, J. W. J., et al. Assembly dynamics of microtubules at molecular resolution. Nature. 442 (7103), 709-712 (2006).
  5. Carter, N. J., Cross, R. A. Mechanics of the kinesin step. Nature. 435 (7040), 308-312 (2005).
  6. Mund, M., vander Beek, J. A., et al. Systematic nanoscale analysis of endocytosis links efficient vesicle formation to patterned actin nucleation. Cell. 174 (4), 884-896 (2018).
  7. Kikumoto, M., Kurachi, M., Tosa, V., Tashiro, H. Flexural rigidity of individual microtubules measured by a buckling force with optical traps. Biophysical Journal. 90 (5), 1687-1696 (2006).
  8. Ward, J. J., Roque, H., Antony, C., Nedelec, F. J. Mechanical design principles of a mitotic spindle. eLife. 3, 1-28 (2014).
  9. Burkhart, J. M., Vaudel, M., et al. The first comprehensive and quantitative analysis of human platelet protein composition allows the comparative analysis of structural and functional pathways. Blood. 120 (15), 73-82 (2012).
  10. Howard, J. Mechanics of Motor Proteins and the Cytoskeleton. Sinauer Associates. , Sunderland, MA. (2001).
  11. Belmonte, J. M., Leptin, M., Nedelec, F. A theory that predicts behaviors of disordered cytoskeletal networks. Molecular Systems Biology. 13 (9), 941(2017).
  12. Freedman, S. L., Banerjee, S., Hocky, G. M., Dinner, A. R. A versatile framework for simulating the dynamic mechanical structure of cytoskeletal networks. Biophysical Journal. 113 (2), 448-460 (2017).
  13. Popov, K., Komianos, J., Papoian, G. A. MEDYAN: Mechanochemical simulations of contraction and polarity alignment in actomyosin networks. PLoS Computational Biology. 12 (4), 1004877(2016).
  14. Fiorenza, S. A., Steckhahn, D. G., Betterton, M. D. Modeling spatiotemporally varying protein-protein interactions in CyLaKS, the Cytoskeleton Lattice-based Kinetic Simulator. The European Physical Journal. E, Soft Matter. 44 (8), 105-119 (2021).
  15. Yan, W., et al. aLENS: Towards the cellular-scale simulation of motor-driven cytoskeletal assemblies. arXiv. , (2021).
  16. Tam, A. K. Y., Mogilner, A., Oelz, D. B. Protein friction and filament bending facilitate contraction of disordered actomyosin networks. Biophysical Journal. 120 (18), 4029-4040 (2021).
  17. Nedelec, F. Computer simulations reveal motor properties generating stable antiparallel microtubule interactions. The Journal of Cell Biology. 158 (6), 1005-1015 (2002).
  18. Gibeaux, R., Politi, A. Z., Philippsen, P., Nedelec, F. Mechanism of nuclear movements in a multinucleated cell. Molecular Biology of the Cell. 28 (5), 567-691 (2017).
  19. De Simone, A., Nedelec, F., Gönczy, P. Dynein transmits polarized actomyosin cortical flows to promote centrosome separation. Cell Reports. 14 (9), 2250-2262 (2016).
  20. Descovich, C. P., et al. Cross-linkers both drive and brake cytoskeletal remodeling and furrowing in cytokinesis. Molecular Biology of the Cell. 29 (5), 622-631 (2018).
  21. Loughlin, R., Heald, R., Nedelec, F. A computational model predicts Xenopus meiotic spindle organization. The Journal of Cell Biology. 191 (7), 1239-1249 (2010).
  22. Kozlowski, C., Srayko, M., Nedelec, F. Cortical microtubule contacts position the spindle in C. elegans embryos. Cell. 129 (3), 499-510 (2007).
  23. Burdyniuk, M., Callegari, A., Mori, M., Nedelec, F., Lénárt, P. F-Actin nucleated on chromosomes coordinates their capture by microtubules in oocyte meiosis. The Journal of Cell Biology. 217 (8), 2661-2674 (2018).
  24. Mori, M., et al. An Arp2/3 nucleated F-actin shell fragments nuclear membranes at nuclear envelope breakdown in starfish oocytes. Current Biology. 24 (12), 1421-1428 (2014).
  25. Dmitrieff, S., Alsina, A., Mathur, A., Nedelec, F. J. Balance of microtubule stiffness and cortical tension determines the size of blood cells with marginal band across species. Proceedings of the National Academy of Sciences of the United States of America. 114 (17), 4418-4423 (2017).
  26. Nedelec, F., Foethke, D. Collective Langevin dynamics of flexible cytoskeletal fibers. New Journal of Physics. 9 (11), 499-510 (2007).
  27. Nedelec, F. preconfig: A versatile configuration file generator for varying parameters. Journal of Open Research Software. 5 (1), 9(2017).
  28. Burute, M., et al. Polarity reversal by centrosome repositioning primes cell scattering during epithelial-to-mesenchymal transition. Developmental Cell. 40 (2), 168-184 (2017).
  29. Manhart, A., Windner, S., Baylies, M., Mogilner, A. Mechanical positioning of multiple nuclei in muscle cells. PLoS Computational Biology. 14 (6), 1006208(2018).
  30. Jain, K., Khetan, N., Athale, C. A. Collective effects of yeast cytoplasmic dynein based microtubule transport. Soft Matter. 15 (7), 1571-1581 (2019).
  31. Strübing, T., et al. Wrinkling instability in 3D active nematics. Nano Letters. 20 (9), 6281-6288 (2020).
  32. Akamatsu, M., et al. Principles of self-organization and load adaptation by the actin cytoskeleton during clathrin-mediated endocytosis. eLife. 9, 49840(2020).
  33. Hirst, W. G., Biswas, A., Mahalingan, K. K., Reber, S. Differences in intrinsic tubulin dynamic properties contribute to spindle length control in Xenopus species. Current Biology. 30 (11), 2184-2190 (2020).
  34. Sobral, A. F., et al. Plastin and spectrin cooperate to stabilize the actomyosin cortex during cytokinesis. Current Biology. 31 (24), 5415-5428 (2021).
  35. Sahu, S., Herbst, L., Quinn, R., Ross, J. L. Crowder and surface effects on self-organization of microtubules. Physical Review E. 103 (6-1), 062408(2021).
  36. Gros, O. J., Damstra, H. G. J., Kapitein, L. C., Akhmanova, A., Berger, F. Dynein self-organizes while translocating the centrosome in T-cells. Molecular Biology of the Cell. 32 (9), 855-868 (2021).
  37. Serwas, D., et al. Mechanistic insights into actin force generation during vesicle formation from cryo-electron tomography. Developmental Cell. 57 (9), 1132-1145 (2022).
  38. Gittes, F., Mickey, B., Nettleton, J., Howard, J. Flexural rigidity of microtubules and actin filaments measured from thermal fluctuations in shape. The Journal of Cell Biology. 120 (4), 923-934 (1993).
  39. Guo, B., Guilford, W. H. Mechanics of actomyosin bonds in different nucleotide states are tuned to muscle contraction. Proceedings of the National Academy of Sciences of the United States of America. 103 (26), 9844-9849 (2006).
  40. Rovner, A. S., Fagnant, P. M., Trybus, K. M. Phosphorylation of a single head of smooth muscle myosin activates the whole molecule. Biochemistry. 45 (16), 5280-5289 (2006).
  41. Walcott, S., Warshaw, D. M., Debold, E. P. Mechanical coupling between myosin molecules causes differences between ensemble and single-molecule measurements. Biophysical Journal. 103 (3), 501-510 (2012).
  42. Finer, J. T., Simmons, R. M., Spudich, J. A. Single myosin molecule mechanics: piconewton forces and nanometre steps. Nature. 368 (6467), 113-119 (1994).
  43. Aratyn, Y. S., Schaus, T. E., Taylor, E. W., Borisy, G. G. Intrinsic dynamic behavior of fascin in filopodia. Molecular Biology of the Cell. 18 (10), 3928-3940 (2007).
  44. Goldmann, W. H., Isenberg, G. Analysis of filamin and alpha-actinin binding to actin by the stopped flow method. FEBS Letters. 336 (3), 408-410 (1993).

访问受限。请登录或开始试用以查看此内容。

重印与许可

申请许可以重复使用本 JoVE 文章的文本或图表

申请许可

标签

视频即将推出

相关文章