欢迎关注”生信修炼手册”!

Juicer软件的运行是非常简单的,只需要设置几个参数就可以了,本文利用官网的小的测试测试数据集来展示该软件的基本用法。

1. 下载测试数据

从以下链接下载测试数据集

https://github.com/aidenlab/juicer/wiki/Running-Juicer-on-a-cluster

这里选用的是红框标记的小的测试数据集,如果想要体验完整的分析功能,可以option1提供的测试数据

wget http://juicerawsmirror.s3.amazonaws.com/opt/juicer/work/HIC003/fastq/HIC003_S2_L001_R1_001.fastq.gz
wget http://juicerawsmirror.s3.amazonaws.com/opt/juicer/work/HIC003/fastq/HIC003_S2_L001_R2_001.fastq.gz

样本的原始序列放置在软件安装目录的work/sample/fastq目录下,sample替换成自己定义的名称。

2. 运行

这里我没有下载官方提供的参考基因组,而是采用了UCSC下载的基因组。对于自己下载的参考基因组,首先建立bwa的索引,为了方便管理,统一将基因组序列和索引文件放在软件安装目录的references文件夹下,用法如下

cd references
wget http://hgdownload.soe.ucsc.edu/goldenPath/hg19/bigZips/hg19.fa.gz
gunzip hg19.fa.gz
bwa index hg19.fa hg19.fa

其次建立酶切图谱,放置在restriction_sites目录下,用法如下

python  misc/generate_site_positions.py HindIII hg19 references/hg19.fa

第一个参数根据实际使用的内切酶来选择,酶切图谱生成之后,可以在输出文件的基础上,生成染色体大小文件, 用法如下

awk 'BEGIN{OFS="\t"}{print $1, $NF}'  hg19_HindIII.txt > hg19.chrom.sizes

其实也可以从UCSC直接下载物种对应的染色质长度文件,对于其他来源的基因组文件,用上述方式更加通用。hg19.chrom.sizes文件的内容如下

chr1    249250621
chr2    243199373
chr3    198022430
chr4    191154276

该文件决定了最终的Hi-C图谱包含的染色体名称,对于一些random, unplace_scaffold序列,可以直接在该文件中去除,这样在不会出现在最终结果中。
准备好样本的原始序列和参考基因组的文件之后,就可以运行juicer了。用法如下

juicer.sh \
-z references/hg19.fa \
-p restriction_sites/hg19.chrom.sizes \
-y restriction_sites/hg19_HindIII.txt \
-d /home/pub/software/juicer/work/HIC003/ \
-D /home/pub/software/juicer \
-t 5

-z参数指定参考基因组fasta所在路径,在该路径下必须同时存在对应的bwa索引;-p参数指定染色体长度文件;-y指定基因组酶切图谱的路径;-d指定样本原始文件存放的路径;-D指定软件的安装路径,-t指定bwa比对使用的线程数,默认是使用全部线程。

需要注意的是, 在指定文件路径时,最好指定成绝对路径,特别是fastq文件所在路径。因为软件运行过程中会使用软链接,相对路径会出错。

软件运行完成之后,在样本对应的目录下,会生成以下目录

  1. splits

  2. aligned

splits目录下存放的是中间结果,由于hi-C数据量很大,所以会将原始序列拆分成很多份,并行运算,加快速度。默认每份包含22.5M的reads, 当然这个可以通过-C参数调整,该参数指定拆分文件的行数,默认是90000000, 注意fastq文件4行代表一条序列,所以这个参数的值必须是4的倍数。拆分后序列的R1和R2端分别通过bwa比对基因组,然后合并,筛选嵌合体序列,去重复,生成预处理后的结果文件。

aligned目录下存放的是最终结果,包含了可以导入juicebox的后缀为hic的图谱文件, inter.hicinter_30.hic, 30表示通过MAPQ > 30进行过滤之后的结果。完整流程还会进行后续处理,包括识别TAD, 染色质环等结构。其中识别染色质环的HICCUPs算法必须通过GPU加速运行才可以,所以没有安装GPU卡的普通服务器无法运行这个步骤。

从上述过程可以看到,juicer的使用确实非常简单。由于Hi-C数据的测序量非常大,以及后续分析算法的复杂度,对服务器计算资源的要求相当高,必须高性能服务器才能满足要求,而该软件所需的GPU卡成本也非常高,一块的成本在2万元左右,这些因素一定程度制约了Hi-C的普及和发展。

·end·

—如果喜欢,快分享给你的朋友们吧—

扫描关注微信号,更多精彩内容等着你!

Juicer实战详解相关推荐

  1. 《Unity 4 3D开发实战详解》一6.7 物理引擎综合案例

    本节书摘来异步社区<Unity 4 3D开发实战详解>一书中的第6章,第6.7节,作者: 吴亚峰 , 杜化美 , 张月霞 , 索依娜 责编: 张涛,更多章节内容可以访问云栖社区" ...

  2. R语言基于forestplot包可视化森林图实战详解:美化的森林图:自定义字体设置、置信区间、坐标轴(刻度、标签、范围)、无效线去除、水平线、辅助线、box形状、色彩等

    R语言基于forestplot包可视化森林图实战详解:美化的森林图:自定义字体设置.置信区间.坐标轴(刻度.标签.范围).无效线去除.水平线.辅助线.box形状.色彩等 目录

  3. R语言使用survminer包生存分析及可视化(ggsurvplot)实战详解:从数据集导入、生存对象生成、ggsurvplot可视化参数配置、设置、可视化对比

    R语言使用survminer包生存分析及可视化(ggsurvplot)实战详解:从数据集导入.生存对象生成.ggsurvplot可视化参数配置.设置.可视化对比 目录 R语言使用survminer包生 ...

  4. R语言tidyr包gather()函数实战详解:数据收缩、从宽表到窄表

    R语言tidyr包gather()函数实战详解:数据收缩.从宽表到窄表 目录 R语言tidyr包gather()函数实战详解:数据收缩.从宽表到窄表 收缩两列数据

  5. R语言tidyr包spread()函数实战详解:数据裂变、从窄表到宽表

    R语言tidyr包spread()函数实战详解:数据裂变.从窄表到宽表 目录 R语言tidyr包spread()函数实战详解:数据裂变.从窄表到宽表

  6. R语言tidyr包Unite()函数实战详解:多个数据列合并为一列

    R语言tidyr包Unite()函数实战详解:多个数据列合并为一列 目录 R语言tidyr包Unite()函数实战详解:多个数据列合并为一列

  7. R语言tidyr包separate()函数实战详解:一列裂变为多列

    R语言tidyr包separate()函数实战详解:一列裂变为多列 目录 R语言tidyr包separate()函数实战详解:一列裂变为多列 一列裂变为两列

  8. 《oracle大型数据库系统在AIX/unix上的实战详解》讨论31: oracle、sybase 数据库的不同访问...

    <Oracle大型数据库系统在AIX/UNIX上的实战详解> 讨论31:  oracle.sybase 数据库的不同访问方式   文平. 用户来信要求更细节比较一下Oracle和sybas ...

  9. 《Java和Android开发实战详解》——2.5节良好的Java程序代码编写风格

    本节书摘来自异步社区<Java和Android开发实战详解>一书中的第2章,第2.5节良好的Java程序代码编写风格,作者 陈会安,更多章节内容可以访问云栖社区"异步社区&quo ...

最新文章

  1. 943602cs 蓝牙驱动 win10_英特尔升级WiFi 和蓝牙驱动,Win10 更新5月版稳了
  2. HDU4000Fruit Ninja【树状数组+组合数】
  3. 中国冶金工业节能减排行业十四五投资动态与运营方向调研报告2022-2027年
  4. PPT 下载 | 神策数据曹犟:数据驱动从方法到实践
  5. POJ 3461 kmp 应用
  6. cocos2dx进阶学习之CCTMXLayer
  7. sqlserver检测到基于一致性的逻辑_面试官;解决分布式场景下数据一致性问题
  8. Google PPRGo: 两分钟分类千万节点的最快GNN
  9. android button 图片不缩放,ImageButton如何让图片按比例缩放不被拉伸
  10. 如何写一份交互说明文档
  11. Java 聊天室实现
  12. 拥塞控制算法(Congestion Control)对比
  13. C语言 实现 面向对象编程 OOC
  14. 【Unity】Jay 开发日志(六)——暂停和结束菜单的创建
  15. [面向对象程序设计] 汽车租赁系统(Java实现)
  16. 无言的结局......
  17. 关于HTTP常见状态码
  18. Mock服务(1)---- 初识Mock
  19. ISO26262对软件开发的规定
  20. 【BZOJ4833】最小公倍佩尔数(min-max容斥)

热门文章

  1. 计算机网络与安全实践课程设计-实验室局域网建设方案,实验室局域网建设方案.doc...
  2. 查找linux中的redis在哪个文件夹,linux查看redis版本有哪些步骤?在Linux中基本操作redis有哪些?...
  3. redis 学习看这个网站就够了
  4. Explicit Initialization
  5. 好的人际关系应该是一种平等、信任、和谐的相互合作关系
  6. git的安装与基础操作
  7. 第二次网页前端培训笔记(HTML P4-P7)
  8. PDF转html怎么转?几个步骤让你学会
  9. lower_bound( )和upper_bound( )的返回值及用法
  10. CMDB资产采集笔记