Skip to content

3.参数及数据测试

YaqiangCao edited this page Apr 12, 2018 · 7 revisions

使用cLoops

可以通过cLoops -h查看所有选项设置,下面我们讲解一下一些关键参数。

例如:

cLoops -f my_data.bedpe.gz -o my_data_prefix -eps 2000 -minPts 25

必要参数

a. -f/FNIN

输入需要处理的bedpe格式的PETs文件(gzip压缩的也可以)-f A.bedpe.gz ; 或者是技术重复或生物重复的数据 -f A.bedpe.gz,B.bedpe.gz,C.bedpe.gz

b. -o/FNOUT

输出文件的前缀名 -o my_data_prefix

c. -eps/EPS

cDBSCAN中关键的参数,判定相邻点之间的距离参数,可以是单个值也可以是以英文逗号为分隔符的几个值; 对于具有sharp峰型的ChIA-PET数据,例如CTCF, 通常使用模型自动估计 -eps 0; 但是对于富集区域宽的ChIA-PET数据,例如H3K27ac/H3K4me1 经验参数设置-eps 2000,5000;对于HiChIP或者HiC等较为稀疏的数据,通常我们设置的eps更多一点 -eps 2000,4000,6000,8000,10000;请注意,eps值越多算法需要的时间越长,原理上相当于对每个eps跑一下得到结果最后合并所有的结果。当然也可以选择比较小的染色体,跑一系列的eps,然后可视化看一下结果选择合适的那个。

d. -minPts/MINPTS

cDBSCAN中重要参数,聚类中类的最小数量,通俗解释即要求一个loop中至少有几个PETs,一般情况是测序深度深的就设大一点,浅的就设小一点;对于ChIA-PET数据,通常我们设置 -minPts 5; 对于HiChIP或Hi-C数据,请设大一点,例如10开始然后倍增。

e. -hic/HIC

处理HiChIP或者高精度的HiC数据时,选择使用。因为在处理ChIA-PET数据和HiChIP数据的统计严格度是不一样的,默认值是No;-hic开启。对于ChIA-PET数据,cLoops给出的各种p-values和距离相关性很弱,而在HiChIP和HiC数据里面,超几何检验的p-value会和距离相关性较强,因此在-hic 1选项中,我们依靠poisson & binomal的p-values来筛选结果。

f. -m/MODE

cLoops v8新添加的参数,为不同数据预设的参数组合。-m 0为接受用户输入的-eps, -minPts和-hic;-m 1可用于具有窄峰型的ChIA-PET数据,相当于-eps 500,1000,2000 -minPts 5; -m 2 可用于具有宽峰型的ChIA-PET数据,相当于-eps 1000,2000,5000 -minPts 5; -m 3 可用于测序深度较深的Hi-C (cis PETs >= 200 million), 相当于-eps 5000,7500,10000 -minPts 20,30,40,50 -hic; -m 4 可用于测序深度较深的HiChIP数据(cis PETs>= 100 million),相当于-eps 2500,5000,7500,10000 -minPts 20,30 -hic. 例如对于~30-40 million cis PETs的HiChIP或Hi-C数据,我们建议参数设置为-eps 2500,5000,7500,10000 -minPts 10,15,20 -hic,请结合heatmap调整参数和cutoffs。

可选参数

g.-p/CPU

进行数据处理的CPU数量,默认是1,表示只用一个CPU处理,-p 1; 也可以设置成-1,启动所用CPU进行数据处理。由于每个CPU处理一条染色体上的数据,所以并行情况下有可能导致爆内存,尤其是Hi-C或者HiChIP数据。>200M PETs的人类Hi-C数据最大一条染色体(chr1)占用内存大概20G左右。接下来的版本中我们会优化内存使用,但是优化可能较为有限。

h.-c/CHROMS

数据处理中选定的染色体,默认是所有染色体上的数据。通常我们可以去除一些非常规的染色体数据,例如chr22_KI270876v1_alt。例如设置成-c chr21, chrX, chrY 即只对这三条染色体的数据call loops。

i. -w/WASHU

将得到的loops转化成WashU epigenome browser可视化的文件,默认值是No; -w 开启转换。

j. -j/JUICE

将得到的loops转化成JuiceBox可视化的文件,默认值是No; -j开启转换。

k. -s/TMP

保留数据处理中产生的中间文件,这些文件可用于一些我们的小scripts:jd2washU,jd2juice,jd2fingerprint,jd2saturation和deloops,默认值No; -s 开启存储。

l. -cut/CUT

首先去除数据中中噪音数据点的距离,默认值是0,通过数据估计得到相应cutoff值。目前仅用于调试参数。

测试及调参

通常我们选择人类chr21上的数据,或者小鼠chr19上的数据测试一下数据的质量或者根据测序深度调整一下minPts的设置,由于测试数据是窄峰型的CTCF ChIA—PET数据,cLoops可以直接估计eps:

cLoops -f human_chr21.bedpe.gz -o human_chr21 -minPts 5 -w -j -s    

当然在cLoops v0.8以及之后,也可以用下面的预测模式:

cLoops -f human_chr21.bedpe.gz -o human_chr21 -m 1 -w -j -s 
Clone this wiki locally