lachesis辅助组装流程

简介: 准备工作:准备数据参考基因组:Ler-1.allpaths_lg.final.assembly.fastaHiC数据:data_1.fastq.gz data_2.fastq.gz安装所需软件并软连接到~/.local下。

准备工作:

  • 准备数据
    • 参考基因组:Ler-1.allpaths_lg.final.assembly.fasta
    • HiC数据:data_1.fastq.gz data_2.fastq.gz
  • 安装所需软件并软连接到~/.local下。(添加环境变量)
    • bwa
    • samtools
      其他支持性软件:
    • bedtools
    • lachesis
    • R

工作流程

img_9bca9132edea730b1fa0a2326f47ac39.png
Data Prep Flowchart.png

建立参考基因组的bwa索引

bwa的比对没有bowtie2那么严格。

mkdir ref && cd ref
bwa index Ler-1.allpaths_lg.final.assembly.fasta

数据比对

cd ..
mkdir 02.bwa && cd 02.bwa
bwa mem ../ref/Ler-1.allpaths_lg.final.assembly.fasta -t 10 ../01.fq/data_1.fastq.gz ../01.fq/data_2.fastq.gz > ninanjie.sam

数据过滤

  1. 过滤掉比对时大于2000表示分段匹配结果的sub-alignment。
perl /data/software/3dgenome/pip/LACHESIS/PreprocessSAMs-rmsubalig.pl
ninanjie.sam ninanjie.II.sam
  1. 过滤距离酶切位点500bp以外的reads,并选取唯一比对的reads。

这一步需要用到PreprocessSAMs.pl。我们需要用vim打开这个脚本修改一些内容以适应当前所需要处理的物种。

vim PreprocessSAMs.pl

测试物种是拟南芥,HiC实验中酶切使用的是HindⅢ,对应的酶切位点序列是AAGCTT,因此需要修改$RE_site = 'AAGCTT'(一般现在用四碱基酶比较多,因为四碱基酶的酶切位点44比六碱基酶的46更多,分辨率更高。)

img_20f958e8605bcc75edafda5781236789.png
PreprocessSAMs.pl

这里还需要指定Lachesis内部的一个脚本 make_bed_around_RE_site.pl的位置还有 bedtoolssamtools的安装位置。另外两个 $mem$picard_head就注释着不用管。
接下来修改 PreprocessSAMs.sh文件

vim PreprocessSAMs.sh

img_8258a5ece25795a561f4e09086c4cb4e.png
PreprocessSAMs.sh

这里需要将 DIR=设置成上一步 PreprocessSAMs.pl所在的文件夹,把 ASMs=设置成前面生成的 ninanjie.II.sam, ASSEMBLY=设置成参考基因组所在的位置。
运行 PreprocessSAMs.sh脚本

sh PreprocessSAMs.sh
cd ..

到这里为止前期的数据准备阶段就完成了,接下来就是激动人心的Lachesis组装阶段了~

mkdir 03.lachesis && cd 03.lachesis
mkdir bam_file
cd bam_file
ln -s /path/to/samplex.II.REduced.paired_only.bam 
ln -s /path/to/sampley.II.REduced.paired_only.bam
cd ..

复制一个test_case.ini文件到当前目录

cp /path/to/test_case.ini

这里需要根据物种的不同修改很多的参数。

img_ef86987f4516c020707ebfcd4617be2c.png
name & out

SPECIES可以不修改不影响结果。 OUTPUT_DIR设置成 out/90_2_3_120_10,这里后面的这串数字是下面要设置的各项参数,建议先把下面设置好之后再回来设置这一项。
img_285eaf09d6937d506fc9f0a6ac9a2fdb.png
ini-2

DRAFT_ASSEMBLY_FASTA = 修改为参考基因组的路径
SAM_DIR 后面改为比对文件所在的路径(即上一步的bam_file)
SAM_FILES 后面加过滤得到的bam文件的名字(拟南芥的有两组数据 samplex.II.REduced.paired_only.bam sampley.II.REduced.paired_only.bam
RE_SITE_SEQ 后面接酶切序列(拟南芥是 AAGCTT
img_0e70069fda85509c9fb9e280236cbe38.png
ini-3

USE_REFERENCE 0代表不使用标准基因组进行评估 1表示用标准基因组进行评估
REF_ASSEMBLY_FASTA 后面是标准参考基因组(即该物种最权威的基因组版本)
BLAST_FILE_HEAD后面加标准基因组和参考基因组的blastn比对结果(我们自己的参考序列版本与权威版本TAIR10进行BLASTN比对的结果)
img_583b4b2102e7442d7d283991742cfbd4.png
ini-4

这里基本不用修改,如需修改请按照注释内容进行修改。
img_5a9f67be5f2e8a57bb5c890a91063896.png
ini-5

CLUSTER_N =物种所对应的染色体数目(拟南芥=5)
CLUSTER_MIN_RE_SITES(聚类分析中contig/scaffold序列中的最小酶切位点数,建议设为90)
CLUSTER_MAX_LINK_DENSITY(聚类分析中contig/scaffold序列中的最大Link深度,建议设为2)
img_8637cd446cb97a0ca7f682fa9f57efdb.png
ini-6

CLUSTER_NONINFORMATIVE_RATIO(聚类回插中contig/scaffold序列与目标cluster互作数同其他cluster互作数比例,建议设为3。即待回插的序列与目标cluster的互作强度大于其他序列的3倍才予以回插)
ORDER_MIN_N_RES_IN_TRUNK( 排序分析中TRUNK内contig/scaffold序列中的最小酶切位点数,建议设为120。前面设置90的是单条contig/scaffold序列中的最小酶切位点数,这里是由contig/scaffold连接成TRUNK之后的最小酶切位点数)


以上这些参数都是需要根据不同的物种进行多次调节尝试的。
运行lachesis

mkdir ~/bin
mkdir ~/public_html
#新建的这两个目录是作为组装基因组和标准基因组比对图片的存放地址
export PATH=/path/to/R/R-3.4.1/bin/:$PATH
export PATH=/path/to/shendurelab-LACHESIS-c23474f/:$PATH
ulimit -s unlimited
#对上面这一项不熟悉的可以参考→https://zhidao.baidu.com/question/753187924640549364.html
Lachesis test_case.ini

新建的两个目录是作为组装基因组和标准基因组比对图片的存放地址。
运行需要好一会儿,建议网络不稳定的小伙伴最后一步挂nohup或者开screen。


img_71af7273762410394df4cf2a2c5a143e.png
组装生成的文件

结果展示

img_bf2a79b3b1912184c88014cdcb50c6f4.jpe
clm.0.dotplot.txt.jpg
img_3d624b8d938aedd22ca70ebb776a984e.jpe
clm.1.dotplot.txt.jpg
img_849eef1ddbc69daeae79d79d488e49da.jpe
clm.2.dotplot.txt.jpg
img_34d22678c9e1b75960904a7b465be2cd.jpe
clm.3.dotplot.txt.jpg
img_90b8060cf3ce3f3c8b680b9bc976af83.jpe
clm.4.dotplot.txt.jpg
img_5f5e228a7386369aa2aaf8a7cee1e4c5.jpe
clm.5.dotplot.txt.jpg
img_14d983627be71639ebc95247b35cacbb.jpe
dotplot.txt.jpg
img_f91b314a9f86d5c27800597d6570ca18.jpe
HiC_heatmap.jpg

感觉图还是挺好看的~放到文章里也完全ok。


2018-10-1 updates:
培训的时候写的部分记录,果然有些东西就跟晚上的梦一样,一定要马上记录下来否则随着时间就渐渐消散得无影无踪了。

HiC培训问答拾遗

Q: 如何区分compartment?

A: 通过看GC含量。compartment A和compartment B会有明显的GC含量的区别。从各种图上都是无法直接得出直观的结果的,需要依据矩阵计算。

Q: loop和TAD是什么关系?

A: 他们只是不同的切入点而已。

Q: 有哪些因素会影响HiC的分辨率

A: 主要有三个:测序深度,内切酶和bin的大小。

测序深度越深,HiC分辨率越高(当然到后期提升是会逐渐趋于平缓的)。

四碱基内切酶分辨率会比六碱基内切酶分辨率更高。从概率上讲四碱基酶每44个碱基就会出现一个剪切位点,而六碱基酶则每46个碱基才会出现一个酶切位点。

bin相当于画图时候的像素点,bin的size选择得越小,数量越多,分辨率越高。

目前普遍能接受10kb左右的分辨率。

HiC的理论基础

  • 染色体在核内是存在染色体疆域(Chromatin Territory)的。即染色体与染色体之间不是随意混合交缠在一起的,而是泾渭分明有自己明显的区域与界限的。实验支持:用射线破坏细胞核的某个点,受到损伤的总是部分染色体,而不是所有的染色体都受到损伤。
  • 顺式作用高于反式作用。顺式作用指同一染色体内的相互作用,反式作用指染色体之间的相互作用。因为染色体疆域的存在,顺式作用会远远高于反式作用。
  • 互作强度随线性距离增加而减弱。
相关文章
|
2月前
软件研发核心问题之在需求拆解过程中,“数据与UI如何关联”的问题如何解决
软件研发核心问题之在需求拆解过程中,“数据与UI如何关联”的问题如何解决
|
4月前
|
设计模式 安全 Java
老系统重构系列--如何用一套流程接入所有业务线
**摘要:** 本文介绍了老系统改造的过程,作者提出,ToB业务的挑战在于需要支持多种差异化的业务需求,而模板模式在处理这种需求时可能会导致继承关系复杂和粒度过粗。为了解决这些问题,文章提出了以下步骤: 1. **梳理流程差异点**:识别不同业务流程的差异,以便确定扩展点。 2. **领域模型梳理**:区分核心域和支撑域,确保核心域的稳定性。 3. **二次抽象隔离层**:创建隔离层,避免核心域因新业务接入而变得不稳定。 4. **基于SPI的扩展体系建设**:选择了COLA-SPI实现扩展点,允许业务域定义接口并实现差异化的流程逻辑。
|
JSON 前端开发 数据库
基于jsplumb构建的流程设计器
最近在准备开发工作流引擎相关模块,完成表结构设计后开始着手流程设计器的技术选型,调研了众多开源项目后决定基于jsplumb.js开源库进行自研开发,保证定制化的便捷性,相关效果图及项目地址如下
126 0
基于jsplumb构建的流程设计器
|
4月前
|
JavaScript 前端开发 NoSQL
组装个支持记笔记的CodePen
前言 emmm。。。,有好长一段时间没码文了(近几个月实在是太忙了),这个玩具刚好是这两周抽空拼的拿出来和大家分享一下 朋友最近刚学前端,经常问一些问题,通过聊天软件发代码和贴图实在是不太方便,就给它推荐了CodePen
|
人工智能 前端开发 微服务
组装式应用对工作提升的效率
组装式应用对工作提升的效率
18472 30
组装式应用对工作提升的效率
|
架构师 测试技术 微服务
组装式开发
组装式开发组装式开发
|
JSON 前端开发 测试技术
手把手带你设计接口自动化测试用例(一):提取接口信息并分析
手把手带你设计接口自动化测试用例(一):提取接口信息并分析
530 0
手把手带你设计接口自动化测试用例(一):提取接口信息并分析
|
存储 SQL 测试技术
手把手带你设计接口自动化测试用例(四):建立配置信息表,执行结果记录表...
手把手带你设计接口自动化测试用例(四):建立配置信息表,执行结果记录表...
154 0
手把手带你设计接口自动化测试用例(四):建立配置信息表,执行结果记录表...
|
安全
从想法到设计的过程
在接下来的几节里,我会向你展示游戏制作的整个流程,从开始的一个粗略的想法,到游戏设计,再到最终的游戏制作。
130 0
从想法到设计的过程