跳转至

Galaxy 生信平台

一句话概述:Galaxy 是基于 Web 的生物信息学分析平台,不需要写代码就能通过图形界面完成基因组、转录组等分析,所有操作自动记录可重复。

核心知识点

概念白话解释
Galaxy网页版生信分析平台 = 点点鼠标就能跑流程
History历史 = 自动记录每一步操作和结果
Workflow工作流 = 多步分析串起来一键运行
Tool Shed工具商店 = 安装/分享分析工具的地方
Dataset数据集 = Galaxy 中管理的数据文件
usegalaxy.org公共服务器 = 免费使用的 Galaxy 实例

安装配置

# 本地安装 Galaxy
git clone -b release_24.1 https://github.com/galaxyproject/galaxy.git  # 克隆
cd galaxy
sh run.sh                                          # 启动(首次会安装依赖)
# 访问 http://localhost:8080

# Docker 安装(推荐)
docker run -d -p 8080:80 -p 8021:21 -p 8022:22 \
  -v /data/galaxy:/export \
  bgruening/galaxy-stable:latest                   # 启动容器

# 或直接使用公共服务器(无需安装)
# https://usegalaxy.org    — 美国服务器
# https://usegalaxy.eu     — 欧洲服务器
# https://usegalaxy.org.au — 澳洲服务器

基本使用

网页操作

1. 上传数据
   - 左侧工具栏 → Upload Data → 选择文件 → Start
   - 支持 FASTQ、BAM、VCF、BED 等格式

2. 运行工具
   - 左侧搜索工具名(如 FastQC)
   - 设置参数 → Execute
   - 右侧 History 面板查看结果

3. 创建工作流
   - Workflow → Create New Workflow
   - 拖拽工具连接 → Save → Run

Galaxy API(Python 自动化)

from bioblend.galaxy import GalaxyInstance

# 连接 Galaxy
gi = GalaxyInstance(
    url='http://localhost:8080',                    # Galaxy 地址
    key='your_api_key_here'                         # API 密钥
)

# 查看历史
histories = gi.histories.get_histories()           # 列出所有历史
print(histories[0]['name'])                        # 第一个历史名

# 上传文件
gi.tools.upload_file(
    '/data/sample.fastq.gz',                       # 本地文件路径
    histories[0]['id']                              # 目标历史 ID
)

# 运行工具
gi.tools.run_tool(
    history_id=histories[0]['id'],                 # 历史 ID
    tool_id='toolshed.g2.bx.psu.edu/repos/devteam/fastqc/fastqc/0.74',
    tool_inputs={'input_file': {'src': 'hda', 'id': dataset_id}}
)

# 运行工作流
gi.workflows.run_workflow(
    workflow_id='workflow_id',                     # 工作流 ID
    history_id=histories[0]['id'],                 # 历史 ID
    inputs={'0': {'src': 'hda', 'id': dataset_id}} # 输入数据
)
# 安装 bioblend
pip install bioblend                                # Galaxy Python API

高级用法

管理员:安装工具

# 通过 Tool Shed 安装
# Admin → Install and Uninstall → Search Tool Shed
# 搜索 "bwa" → Install to Galaxy

# 批量安装(通过配置文件)
# tool_list.yml
cat > tool_list.yml << 'EOF'
tools:
  - name: bwa
    owner: devteam
    tool_shed_url: https://toolshed.g2.bx.psu.edu
  - name: samtools_sort
    owner: devteam
    tool_shed_url: https://toolshed.g2.bx.psu.edu
EOF

# 批量安装
shed-tools install -t tool_list.yml -g http://localhost:8080 -a API_KEY

常见报错

报错信息原因解决方法
Tool execution failed工具运行出错点击数据集查看 stderr
Upload failed文件过大或格式错误检查文件格式和大小限制
Disk quota exceeded存储空间满清理历史或联系管理员
Job in queue排队中等待资源或换公共服务器

速查表

# === 公共服务器 ===
# usegalaxy.org     — 250GB 免费存储
# usegalaxy.eu      — 250GB 免费存储
# usegalaxy.org.au  — 100GB 免费存储

# === Galaxy API (bioblend) ===
gi.histories.get_histories()               # 列出历史
gi.tools.get_tools()                       # 列出工具
gi.workflows.get_workflows()               # 列出工作流
gi.tools.upload_file(path, history_id)     # 上传文件
gi.tools.run_tool(history_id, tool_id, inputs)  # 运行工具

# === Galaxy vs 命令行 ===
# Galaxy: 图形界面、可重复、适合非编程用户
# 命令行: 更灵活、适合大规模批量分析、可脚本化
# 建议: 学习阶段用 Galaxy 理解流程,生产用命令行

参考:Galaxy 文档 | Galaxy Training | 更新于 2026 年