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}} # 输入数据
)
高级用法¶
管理员:安装工具¶
# 通过 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 年