当HiC技术遇上基因组组装,就像给拼图游戏装上了GPS导航。想象一下,你手中有数百万个DNA片段,而HiC数据就是这些片段之间的空间关系图。本文将带你从原始HiC数据出发,一步步抵达染色体水平组装的终点站,途中每个坑位都已做好标记。
在开始HiC辅助组装之前,确保你的计算环境满足以下基本要求:
硬件配置:
软件依赖:
bash复制# 基础工具版本检查
java -version # ≥1.8
bash --version # ≥4.0
awk --version # ≥4.0.2
sort --version # ≥8.11
注意:LastZ仅在二倍体模式下需要,单倍体组装可跳过此依赖
数据质量检查清单:
常见踩坑点:
ulimit -n导致文件句柄不足建立参考索引是后续分析的基础,这个步骤常被忽视但至关重要:
bash复制# 基因组索引构建
bwa index genome.fa -p genome_index 2> index.log
# 酶切位点文件生成
python juicer/misc/generate_site_positions.py \
DpnII genome genome.fa > genome_DpnII.txt
# 染色体长度文件
awk 'BEGIN{OFS="\t"}{print $1, $NF}' genome_DpnII.txt > genome.chrom.sizes
参数解析表:
| 参数 | 作用 | 典型值 |
|---|---|---|
| -s | 酶切类型 | DpnII/MboI |
| -z | 基因组文件路径 | ./genome.fa |
| -y | 酶切位点文件 | ./genome_DpnII.txt |
| -t | 线程数 | 实际核心数-2 |
一个完整的juicer.sh运行示例:
bash复制juicer/scripts/juicer.sh \
-d /path/to/hic_data \
-D /path/to/juicer \
-z genome.fa \
-y genome_DpnII.txt \
-p genome.chrom.sizes \
-s DpnII \
-t 48 \
-S early 2> juicer.err
异常处理指南:
报错:"Could not find merged_nodups"
警告:"Too many open files"
bash复制ulimit -n 10000
性能优化:
-C参数控制拆分文件大小-l参数基本命令结构:
bash复制3d-dna/run-asm-pipeline.sh \
-r 2 \ # 纠错迭代次数
-i 15000 \ # 最小contig长度
genome.fa \
merged_nodups.txt > 3d.log 2>&1
关键输出文件说明:
genome.0.hic:初始交互矩阵genome.0.assembly:初始组装结构genome.0.hic.map:序列位置映射在Juicebox中调整时,重点关注以下特征:
异常信号识别:
操作快捷键:
Ctrl+Z:撤销操作结构调整策略:
.review.assembly文件提示:调整时保持原始数据备份,建议每30分钟保存一次进度
使用审阅后的assembly文件进行最终组装:
bash复制3d-dna/run-asm-pipeline-post-review.sh \
-r genome.review.assembly \
-i 15000 \
genome.fa \
merged_nodups.txt > final.log 2>&1
质量评估指标表:
| 指标 | 合格标准 | 检测方法 |
|---|---|---|
| scaffold N50 | ≥染色体平均长度 | stats.sh |
| HiC热图 | 清晰对角线 | Juicebox |
| BUSCO | >90%完整 | BUSCO v5 |
性能优化技巧:
run-asm-pipeline-post-review.sh中的并行参数--sort-output获得有序输出-g参数控制scaffold间gap大小二倍体基因组特别处理:
bash复制# 添加-m diploid参数
run-asm-pipeline.sh -m diploid ...
混合测序数据整合:
-S merge阶段合并问题:Juicer中途失败
/tmp空间-S参数匹配中断阶段问题:3D-DNA运行卡住
bash复制# 检查日志中的内存使用
grep 'Memory' 3d.log
问题:Juicebox显示异常
在实际项目中,我发现最耗时的往往是Juicebox手动调整阶段。建议准备双屏工作环境,一个屏幕显示参考基因组信息,另一个运行Juicebox,效率能提升至少40%。对于超大型基因组,可以先用50%抽样数据快速测试流程,确认无误后再跑全量数据。