IGV 基因组浏览器¶
IGV(Integrative Genomics Viewer)是最主流的基因组数据可视化工具,能直观地查看 BAM 比对、VCF 变异、BED 区域等各种基因组数据,是生信分析中"用眼睛看数据"的必备工具。
核心知识点¶
| 知识点 | 说明 |
|---|---|
| 工具定位 | 高性能基因组数据交互式可视化工具 |
| 最新版本 | v2.19.7(需要 Java 21+) |
| 开发团队 | UC San Diego + Broad Institute |
| 许可证 | MIT License |
| 核心功能 | 可视化 BAM、VCF、BED、BigWig 等各种基因组数据 |
| 支持格式 | BAM/CRAM/SAM、VCF/BCF、BED、GFF/GTF、BigWig、FASTA 等 |
| 生态系统 | IGV Desktop、igv.js(网页版)、igv-reports(批量报告) |
| 新功能 | CRAM 3.1 支持、大 BigBed 支持、本地基因组下载 |
安装配置¶
方法一:官网下载(推荐)¶
# 从官网下载适合你系统的版本
# https://igv.org/doc/desktop/DownloadPage/
# Linux 版本下载
wget https://data.broadinstitute.org/igv/projects/downloads/2.19/IGV_Linux_2.19.7_WithJava.sh
bash IGV_Linux_2.19.7_WithJava.sh # 运行安装器
# 下载带 Java 的版本可以避免 Java 版本问题
方法二:Conda 安装¶
方法三:命令行版本(无GUI环境用)¶
系统要求¶
# IGV 2.19.1+ 需要 Java 21 或更高
java -version # 检查 Java 版本
# 如果 Java 版本不对,下载带 Java 的 IGV 版本
# 或者安装 Java 21
# conda install -c conda-forge openjdk=21
基本使用¶
1. 启动 IGV 并加载基因组¶
在 IGV 界面中: 1. 选择参考基因组:顶部下拉菜单选择(如 Human (hg38)) 2. 加载数据文件:File → Load from File → 选择 BAM/VCF/BED 文件 3. 导航:在搜索框输入基因名或坐标(如 chr1:100000-200000 或 TP53)
2. 加载常用文件类型¶
# BAM 文件(需要 .bai 索引在同目录下)
# 确保 BAM 文件已排序并建索引
samtools sort input.bam -o sorted.bam # 排序
samtools index sorted.bam # 建索引(生成 .bai 文件)
# 然后在 IGV 中加载 sorted.bam
# VCF 文件(需要 .tbi 索引)
bgzip variants.vcf # 压缩
tabix -p vcf variants.vcf.gz # 建索引
# 然后在 IGV 中加载 variants.vcf.gz
# BED 文件(可选排序和索引)
sort -k1,1 -k2,2n regions.bed > sorted.bed # 排序
# 直接加载即可
3. 常用导航操作¶
界面操作速查:
- 搜索框输入: chr1:100000-200000 → 跳转到指定坐标
- 搜索框输入: TP53 → 跳转到基因
- 鼠标滚轮: 放大/缩小
- 鼠标拖拽: 左右平移
- 双击读长: 查看读长详细信息
- 右键轨道: 调整显示选项
快捷键:
- Ctrl + F 全文搜索
- Ctrl + G 跳转到坐标
- +/- 放大/缩小
- Home 缩放到全基因组视图
- Ctrl + S 保存截图
高级用法¶
1. 批处理脚本(无GUI自动化)¶
# 用 IGV 的 batch 模式自动截图
cat > igv_batch.txt << 'EOF'
new
genome hg38
load sorted.bam
load variants.vcf.gz
goto TP53
snapshot tp53_region.png
goto BRCA1
snapshot brca1_region.png
exit
EOF
# 运行 batch 脚本
igv -b igv_batch.txt # 自动执行并截图
2. 常用 batch 命令¶
# IGV batch 命令参考
# new 新建会话
# genome <id> 加载基因组
# load <file> 加载数据文件
# goto <locus> 跳转到位置
# region <chr> <start> <end> 定义感兴趣区域
# snapshot <filename> 截图保存
# sort <option> 排序读长(base/quality/strand/...)
# collapse 折叠显示
# expand 展开显示
# squish 压缩显示
# group <option> 分组显示
# colorBy <option> 着色方式
# maxPanelHeight <n> 面板最大高度
# setSleepInterval <ms> 操作间隔
# exit 退出
3. igv-reports 生成 HTML 报告¶
# 用 igv-reports 为变异位点生成可分享的 HTML 报告
pip install igv-reports # 安装
# 为 VCF 中的每个变异生成可视化报告
create_report \
variants.vcf.gz \ # 变异文件
ref.fa \ # 参考基因组
--tracks sorted.bam \ # 比对数据
--output report.html # 输出 HTML 报告
# 生成的 HTML 可以直接在浏览器中查看
# 不需要安装 IGV,非常适合分享给同事
4. igv.js 网页嵌入¶
<!-- 在网页中嵌入 IGV 浏览器 -->
<div id="igv-div"></div>
<script src="https://cdn.jsdelivr.net/npm/igv@3.7.0/dist/igv.min.js"></script>
<script>
// 创建 IGV 浏览器实例
var options = {
genome: "hg38", // 参考基因组
locus: "chr8:127,736,588-127,739,371", // 初始位置
tracks: [
{
type: "alignment", // BAM 轨道
format: "bam",
url: "https://example.com/sorted.bam",
indexURL: "https://example.com/sorted.bam.bai",
name: "Sample BAM"
}
]
};
// 渲染到页面
igv.createBrowser(document.getElementById('igv-div'), options);
</script>
5. 查看特定类型数据的技巧¶
=== BAM 文件查看技巧 ===
1. 右键 BAM 轨道 → Color alignments by → Insert size 查看异常插入片段
2. 右键 → Group alignments by → Read pair orientation 检查结构变异
3. 右键 → Sort alignments by → Base 在变异位点排序查看支持/反对读长
4. 右键 → Show soft clips 显示软裁剪序列
=== VCF 文件查看技巧 ===
1. 点击变异标记查看详细信息(等位基因频率、深度等)
2. 配合 BAM 文件一起看,验证变异的可靠性
=== RNA-seq 数据 ===
1. 用 Sashimi Plot 查看剪接事件
2. 右键 → Sashimi Plot 显示外显子连接和读长覆盖
常见报错与解决¶
| 报错信息 | 原因 | 解决方法 |
|---|---|---|
Index file not found | BAM/VCF 没有索引文件 | samtools index 或 tabix 建索引 |
Java version error | Java 版本低于 21 | 安装 Java 21 或下载带 Java 的 IGV |
| 内存不足 / 卡顿 | 加载了太大的文件 | 只查看感兴趣的区域,不要加载全基因组 |
| 看不到读长 | 缩放级别太高(全基因组视图) | 放大到具体区域(< 1Mb) |
| BAM 显示空白 | BAM 文件未排序 | 先 samtools sort 排序 |
| 颜色看不懂 | 不了解颜色编码 | 红色=正向链,蓝色=反向链,灰色=正常 |
速查表¶
# ===== IGV 速查表 =====
# 安装
# 官网下载:https://igv.org/doc/desktop/DownloadPage/
conda install -c bioconda igv # conda 安装
pip install igv-reports # 安装报告工具
# 启动
igv # 启动 GUI
igv --genome hg38 # 指定基因组启动
igv -b batch.txt # 批处理模式
# 文件准备
samtools sort in.bam -o sorted.bam # 排序 BAM
samtools index sorted.bam # 建 BAM 索引
bgzip variants.vcf && tabix -p vcf variants.vcf.gz # 压缩并索引 VCF
# Batch 命令
# genome hg38 加载基因组
# load file.bam 加载文件
# goto TP53 跳转到基因
# snapshot out.png 截图
# exit 退出
# igv-reports(生成 HTML 报告)
create_report variants.vcf.gz ref.fa \
--tracks sorted.bam --output report.html
# 快捷键
# Ctrl+G 跳转坐标
# +/- 放大缩小
# Ctrl+S 截图
# Home 全基因组视图
# 颜色编码
# 灰色 正常比对
# 红/蓝 正向/反向链
# 白色间隙 删除(deletion)
# 紫色 插入(insertion)
# 彩色碱基 与参考不同的碱基(可能是变异)