背景
目前,已经衍生出多种用于检测染色质开放性的试验方法。比如, DNase-seq, FAIRE-seq和ATAC-seq,其中ATACA-seq方法试验技术简单、快捷、重复性好,得到了极大的发展和使用。ATAC-seq技术核心是使用Tn5转座酶切割开放性的染色质,Tn5转座酶优先插入核小体free区域,产生的DNA片段长度小于100 bp;也可能插入到相邻的核小体之间,即linker-DNA区域,产生的DNA片段大约在150 bp。 尽管,针对 DNase-seq, FAIRE-seq和ChIP-seq的分析工具已经存在,也能用于ATAC-seq数据分析,例如:MACS2、F-seq等,然而这些工具存在不足,仅能利用部分插入片段信息,通常是核小体free区域。 NucleoATAC软件可以将ATAC-seq数据区分为核小体free和核小体两部分,然后可以进行核小体位置的定位。然而,NucleoATAC不能利用核小体信息进行peak calling。所以,目前没有一款工具可以同时进行核小体free区域和核小体信号的鉴定。
[图片上传失败...(image-3555f7-1567747354481)]
image.png软件说明
HMMRATAC( Hidden Markov ModeleR for ATAC-seq ) 是一个半监督式机器学习方法。该软件采用了“分解和整合”的思路,首先把一套数据首先分解为来自于NFR 和核小体区域的不同覆盖信号层,然后在隐马尔可夫模型中学习开放染色质区域信号层之间的关系,用于预测开放染色质区域。该软件检测染色质结构更准确,相比其他软件优势明显。
一个典型的ATAC-seq分析思路如下:
-
使用Bowtie2或BWA软件进行数据比对
-
使用HMMRATAC鉴定全基因组染色质开放区域
-
使用MEME进行motif富集分析
-
使用 CENTIPEDE进行motif足迹分析
-
使用Diffbind进行差异开放性分析
-
使用BETA与基因表达进行联合分析
-
……
软件下载:
[https://github.com/LiuLabUB/HMMRATAC](https://github.com/LiuLabUB/HMMRATAC)
软件使用
java -jar HMMRATAC_V*_exe.jar -b <SortedBAM> -i <BAMIndex> -g <GenomeStatsFile> <options>
参数说明
必需参数:
-
-b , --bam <BAM>
排序后的BAM文件
-
-i , --index <BAI>
BAM文件的索引
-
-g , --genome <GenomeFile>
染色体和长度信息文件,2列
可选参数:
-m , --means <Double>
插入片段初始长度平均值分布,用于生成信号 tracks,逗号分隔,默认50,200,400,600。如果是非human物种建议调整,其他物种的核小体间距存在区别。如果read长度小于100 bp,推荐第一个数值使用read长度。
-s , --stddev <Double>
插入片段分布的初始标准差数值,用于生成信号 tracks,逗号分隔,默认20,20,20,20。
-f , --fragem <True || False>
是否进行插入片段EM训练,默认true。
-q , --minmapq <int>
比对质量值的最小阈值,默认30。
-u , --upper <int>
选择训练位点时的倍数变化范围的最大值,默认20。
-l , --lower <int>
选择训练位点时的倍数变化范围的最小值,默认10。
-z , --zscore <int>
用于过滤的Zscore后的read深度,默认100。
-o , --output <Name>
输出文件的前缀,默认为“NA”。
-e , --blacklist <BED>
黑名单BED文件
-p , --peaks <True || False>
是否报告peak的BED文件,默认true。
-k , --kmeans <int>
模型中状态的个数。默认3,通常不建议修改。
-t , --training <BED>
用于训练的BED文件,使用后则不再使用倍数变化范围。
-bedgraph <True || False>
是否生成一个全基因组状态注释bedgraph文件,默认false。
--minlen <int>
检峰的最小长度,默认200。
--score <max || ave || med || fc || zscore || all>
使用哪种打分系统对peak进行打分,默认“max”。
--bgscore <True || False>
是否对每个状态注释文件(bedgraph)追加HMMR值,默认false。
--trim <int>
多少信号需要从末端trim掉,默认0。推荐: fragments <= 500bp set --trim 1; fragments <= 250bp set --trim 2; fragments <= 150 set --trim 3。
--window <int>
用于 维特比译码(Viterbi decoding)时切分基因组窗口的大小,默认25000000。
--model <File>
二进制的模型文件(之前的分析运行产生的)。
--modelonly <True || False>
是否产生模型后即停止本程序,对于多次调参有用,默认 false。
--maxTrain <int>
用于训练的区域的最大数目,默认1000。
--removeDuplicates <true || false>
是否去除重复的reads,默认true。
--printExclude <true || false>
是否输出排除的区域到文件,默认false。
--printTrain <true || false>
是否输出训练区域到文件,默认true。
--randomSeed <long>
训练区域随机取样的种子长度,默认10151。
-h
本软件使用帮助信息。
网友评论