当前位置:首页>Linux>做生信必须掌握哪些计算工具?从 Linux、RStudio 到 HPC 与 Docker

做生信必须掌握哪些计算工具?从 Linux、RStudio 到 HPC 与 Docker

  • 2026-10-02 15:42:34
做生信必须掌握哪些计算工具?从 Linux、RStudio 到 HPC 与 Docker

1|Introduce

1.1 🧬 Linux · RStudio · HPC · Monitoring

生物信息数据分析(Bioinformatics)是一个高度跨学科的领域。实际上,许多需要处理大规模数据的工作,也会涉及类似的技术。

日常工作中,我们通常需要接触:

  • 🖥️ 服务器管理

  • 🐧 Linux系统操作

  • 💻 Python / R等编程语言

  • 🚀 高性能计算(HPC)

  • 📊 服务器与任务监控

这篇笔记记录了我使用这些技术时积累的一些实战经验,希望能为同行的朋友提供参考,也方便自己随时查阅~


1.2 🐧 Ubuntu Tutorial

▸ Ubuntu

Ubuntu(国际音标:/ʊˈbʊntuː/,uu-BUUN-too)是一个基于 Debian的 Linux发行版。

Ubuntu主要包括三个版本:

  • 🖥️ 桌面版(Desktop)

  • 🗄️ 服务器版(Server)

  • 🤖 面向物联网设备和机器人的 Core 版

以上版本既可以安装在实体电脑上,也可以运行在虚拟机中。从 17.10版本开始,Ubuntu使用 GNOME作为默认桌面环境。

Ubuntu由英国 Canonical Ltd发布并提供商业支持。它的名称来自非洲南部祖鲁语或科萨语中的“Ubuntu”一词,通常被解释为“人性”或“我的存在是因为大家的存在”,代表了非洲传统文化中的一种价值观。

📖 相关笔记:Ubuntu Tutorial

▸ Multipass

Multipass是一款适用于 Linux、Windows和 macOS的轻量级虚拟机(VM)管理工具。

它主要面向希望通过简单命令,快速创建一个全新 Ubuntu环境的开发者。

📖 相关笔记:Multipass


1.3 🌐 FRP

FRP是一种常用的内网穿透工具,可以将内网中的服务映射到公网,方便我们从外部访问服务器上的应用。

📖 相关笔记:FRP


1.4 🚀 HPC · Distributed Computing · Container

这一部分主要整理以下内容:

  • 🚀 高性能计算(HPC)

  • 🌐 分布式计算(Distributed Computing)

  • 📦 容器技术(Container)

1.4.1 🚀 HPC

高性能计算(High-Performance Computing,HPC)是指使用超级计算机或计算机集群,解决计算量较大的问题。

HPC可以快速完成高度并行的计算任务,并通过集群作业调度系统统一分配和管理计算资源。

常见的集群作业调度系统包括:

  • PBS

  • LSF

  • SGE

  • Slurm

📖 相关笔记:Slurm · SGE · Kubernetes(Docker)

1.4.2 🌐 Distributed Computing

分布式计算(Distributed Computing,又称分散式运算)主要研究分布式系统如何完成计算任务。

分布式系统由多台通过网络连接的计算机组成。不同计算机之间可以传递消息、交换数据并协调各自的行为,从而共同完成一个目标。

简单来说,就是把一个计算量很大的任务拆分成多个小任务,由多台计算机分别处理,最后再对结果进行汇总。

分布式系统常见于:

  • 面向服务的架构

  • 大型多人在线游戏

  • 对等网络应用

  • 大规模数据处理

  • 分布式任务队列

📖 相关笔记:Distributed Computing · Task Queue

1.4.3 📦 Container

Docker、Singularity等容器技术,可以将分析软件及其运行环境封装起来。

容器内部的环境不会轻易影响外部系统,同时具有良好的可移植性,可以较方便地迁移到不同的分析环境中:

  • 💻 个人电脑(PC)

  • 🖥️ 计算集群(Cluster)

  • ☁️ 云平台(Cloud)

在搭建分析流程时,还可以将容器(Container)与分析流程(Pipeline)结合,提高运行环境的一致性和分析流程的可复现性。

📖 相关笔记:Container


1.5 ✍️ Code Editor

安装和配置服务器后,我们经常需要修改脚本及相关配置文件。

Vim等命令行编辑器可以直接在终端中使用,但它的操作方式对新手来说相对复杂。相比之下,VS Code等现代编辑器拥有更加直观的图形界面(GUI),更适合初学者编写和修改代码。

如果喜欢直接在终端中编程,也可以尝试 Neovim🪤

1.5.1 ⌨️ Vim & Neovim

▸ Vim

Vim是从 vi发展而来的一款文本编辑器。

它拥有代码补全、编译和错误跳转等功能,在程序员中被广泛使用,并与 Emacs并列为类 Unix系统中最受欢迎的编辑器之一。

Vim的第一个版本由 Bram Moolenaar 于 1991 年发布。它最初的名称是 Vi IMitation,随着功能不断增加,后来正式改为 Vi IMproved。

📖 相关笔记:Vim

▸ Neovim

Neovim是在 Vim基础上继续发展和扩展的编辑器。

它继承了 Vim的主要特点,同时增加了更现代的插件系统和扩展能力,适合喜欢 Vim操作方式、但又希望获得更多功能的用户。

📖 相关笔记:Neovim · LazyVim

1.5.2 🧩 VS Code

Visual Studio Code,简称 VS Code,是微软开发的一款免费、跨平台代码编辑器。

它支持:

  • 语法高亮

  • 代码自动补全(IntelliSense)

  • 代码重构

  • 命令行工具

  • Git版本控制

  • 主题与快捷键设置

  • 扩展插件安装

VS Code使用 Monaco Editor作为底层代码编辑器。其源代码以 MIT许可证在 GitHub上发布,而官方可执行文件使用专门的产品许可证。

📖 相关笔记:VS Code

🧩 插件整理:VS Code Plug-in

1.5.3 🌍 VS Code Server

code-server提供了可以在网页端使用的 VS Code。

简单来说,它就是部署在本地服务器或云服务器上的在线版 VS Code,通过浏览器即可访问和编辑服务器中的代码。

📖 相关笔记:VS Code(Web)


1.6 🛠️ IDE

1.6.1 📊 RStudio

R是一种广泛应用于统计计算、数据分析和生物信息学领域的编程语言。

RStudio是基于 R的集成开发环境(IDE)。凭借高效的交互式操作和丰富的生态支持,它已经成为使用 R进行数据分析时最主流的工具之一。

📖 相关笔记:RStudio

1.6.2 📒 Jupyter

Jupyter是一个开源的交互式计算环境,主要用于科学计算、数据分析和机器学习。

它的核心工具是 Jupyter Notebook。这是一种基于 Web的应用程序,可以在同一个文档中展示:

  • 实时代码

  • 数学公式

  • 说明文字

  • 数据可视化

  • 程序运行结果

Jupyter支持超过 40 种编程语言,包括 Python、R、Julia和 Scala等。

📖 相关笔记:Jupyter


1.7 🔧 Environment · Git · CI/CD

这一部分主要整理以下内容:

  • 📦 环境与软件包管理

  • 🗂️ 版本控制

  • 🔄 开发与交付流程

1.7.1 📦 Environment & Package Management

软件包(Package)是编程语言中用于封装特定功能的代码集合。

环境(Environment)是软件运行所需要的上下文,包括依赖项及其对应的版本等。

不同的分析任务可能需要不同的软件包,甚至需要同一个软件包的不同版本,而这些软件包的运行通常还依赖特定的环境配置。

在单机环境中,我们只需要部署指定版本的软件及其依赖。但是,当分析任务扩展到大型计算集群时,环境配置和管理的复杂程度会明显增加。

📖 相关笔记:Environment · Package Management

1.7.2 🗂️ Version Control

Git是一个分布式版本控制系统,主要用于记录和管理计算机文件的修改过程,也常用于程序员之间的代码协作。

它的主要特点包括:

  • 运行速度快

  • 保证数据完整性

  • 记录文件修改历史

  • 支持多人协作

  • 支持分布式、非线性的开发流程

📖 相关笔记:Git

1.7.3 🔄 Developer Approaches

CI/CD通常代表:

  • CI:持续集成(Continuous Integration)

  • CD:持续交付(Continuous Delivery)

  • CD:持续部署(Continuous Deployment)

它是一套围绕代码集成、测试和交付建立的开发流程,可以帮助开发人员及时发现新代码带来的问题。

📖 相关笔记:CI/CD


1.8 📟 Terminal · Server Manager · Monitoring

这一部分主要记录:

  • ✨ 终端(Terminal)美化

  • 🖥️ 服务器管理

  • 📊 系统资源监控

  • 🔍 任务运行状态查看

  • 🧯 常见问题排查

📖 相关笔记:Terminal · Server Manager · Monitoring

Linux工具快速教程

https://linuxtools-rst.readthedocs.io/zh-cn/latest/

最新文章

随机文章