MACS安装、使用说明
(2015-07-10 16:11:29)
标签:
股票 |
分类: 生物信息学 |
* 介绍
随着测序技术的进步,CHIP-Seq成为研究基因组范围内蛋白质-DNA相互作用更加流行。为弥补强有力的ChIP-Seq分析方法的缺点,
我们提出了一个新的算法,命名为Model-based Analysis of ChIP-Seq (MACS),用来分析转录因子结合位点。 MACS captures the
influence of genome complexity来评估富集的ChIP区域的显著性, MACS通过组合测序tag位置和方向,提高了结合位点的空间分辨率。
MACS可以很容易的用在ChIP-Seq数据上,或者带有control样本来提高特异性。
安装:
下载源代码:http://github.com/downloads/taoliu/MACS/MACS-1.4.2-1.tar.gz
解压:tar xvzf MACS-1.4.2-1.tar.gz
cd MACS-1.4.2
python setup.py install –prefix /your_directory/
最后,修改环境变量(临时的):
export
PATH=/ifs1/home/chengd/package/MACS-1.4.2/bin:$PATH
export PYTHONPATH=/ifs1/home/chengd/package/MACS-1.4.2/lib/python2.6/site-packages:$PYTHONPATH
更多细节见安装包内的INSTALL文件。
用法:
macs <-t tfile> [options]
例如: macs14 -t H3K27ac.bam -c input.bam
--name=H3K27ac-input_macs_p05 --format=BAM --gsize=480775871 -w -S
--space=50 --pvalue=1e-9 –-keep-dup=auto 2>
H3K27ac-input_macs_p05.log
选项:
** 参数:
*** -t/--treatment FILENAME
这是MACS需要的唯一参数。
ChIP-seq处理数据文件可以是BED格式或ELAND输出格式。
在ELAND输出文件中,每行必须代表仅仅一个tag,域包括:
1. 序列名(若不是fasta格式,从文件名和行号获得)
2. 序列
3.match的类型:
4. 找到的完全匹配的数目
5. 找到的1个错配的匹配数目
6.找到的2个错配的匹配数目
其他域仅在一个唯一的最好匹配发现时看到。(域3中以U开头).
7. 在哪个genome文件(染色体)中找到match
8.匹配的(染色体上)位置(数字从1开始).
9. match的方向 (F正向, R反向).
10. N字符在read中如何描述:"."是不适用,"D"是删除, "I"是插入).
其他域仅在有唯一匹配时看到。(匹配代码是U1或U2).
11. 第一个替代错误的位置和类型。(例如, 12A表示碱基12应为A).
12.一个替代错误的位置和类型。
注意:
1) 对于BED格式,第6列(染色体号)是需要的。注意bed格式中坐标是以0开始的。(http://genome.ucsc.edu/FAQ/FAQtracks#tracks1).
2)对于ELAND格式,MACS仅支持U0, U1 或 U2类型。也就是说,仅仅有唯一匹配并少于3个错误的才被计算。若一个read有多个匹配包含在你的原始
ELAND文件中,需要移除冗余的来保准个序列read是unique匹配的。
在linux下使用以下命令:
grep "U[0 1 2]" elandfile > uniquefile
3) 对于有多个重复的实验,推荐将多个ChIP-seq处理文件连成一个单一文件。在linux下键入:
$ cat replicate1.bed replicate2.bed replicate3.bed > all_replicates.bed
*** -c/--control
control或mock数据文件,为BED或ELAND输出格式。Please follow the same direction as for -t/--treatment.
*** --name
实验的名字字串。 MACS将使用这个字串NAME来创建输出文件,例如'NAME_peaks.xls', 'NAME_negative_peaks.xls','NAME_peaks.bed' ,'NAME_model.r'等。
因此,要避免和已有文件冲突。
*** --gsize
设置这个参数,以适合你需要。
定义的可mapping基因组大小或有效基因组大小(定义为可以被测序的基因组大小)。由于染色体上的重复特征,实际可map的基因组大小会比原始的大小小点。
.对于UCSC人类hg18默认的是2.7Gb。
*** --tsize
测序tag的长度。默认是25bp。
*** --bw
用来扫描基因组以构建模型的带宽。你可以将这个参数设置为超声打断的期望长度的一半。
对这个参数的另一个影响是,当你设置 '--nomodel'参数bypass模型构建过程,2*bw将被用来扫描窗口宽度。
*** --pvalue
pvalue阈值
*** --mfold
这个参数被用来选择那些比背景更有MFOLD fold tag富集的区域来构建模型。 默认是32。 MFOLD越高,候选区域数越少。
若你从MACS看到ERROR或CRITICAL信息,建议使用小点的参数。
*** --verbose
若在运行MACS过程中不想看到任何信息,设置为0。但是CRITICAL信息不会隐藏。若你想看到丰富信息,像
每个染色体有多少个peaks被called,可以设置为3或更大。
** --wig
若这个参数存在,则MACS将对每个染色体存储shifted的tags数目为wiggle格式。压缩的wiggle文件将
存在EXPERIMENT_NAME+'_MACS_wiggle/treat'中,对于treatment数据;对于control数据放在EXPERIMENT_NAME+'_MACS_wiggle/control'
** --nolambda
当这个flag on时,MACS将使用背景lambda作为当前lambda
** --lambdaset
这个参数控制着哪些三个层次的区域将围绕peak区域检测以计算最大的lambda作为当前lambda。默认MACS考虑1000bp, 5000bp和10000bp的区域。
这个参数是一个字符串值,像'1000,5000,10000'.
** --nomodel
当on时, MACS将跳过构建shifting模型。
** --shiftsize
当设置'--nomodel'时,MACS使用这个参数来移动tag到它们的中点。例如,若你的转录银子结合区域大小为200bp,你想用MACS来绕过模型构建,参数可以设为100。
** --diag
通过这个选项可以产生一个诊断报告。这个报告可以帮助你 关于测序饱和度的一个假设。
* 输出文件
1. NAME_peaks.xls 制表符分割的存有关于peaks的信息文件。可以用excel打开,并可用排序和筛选功能。
信息包括:染色体名字,peak开始位点,peak结束位点,peak区域的长度,peak开始区域到peak顶点的相对位置,peak区域的tag数目,
peak区域的-10*log10(pvalue)
(e.g. pvalue=1e-10,这样这个value将是100), fold enrichment for this region
against random Poisson distribution with local lambda, %格式的FDR。
在XLS中是以1开始的,这和BED格式不同。
2. NAME_peaks.bed 是一个BED格式文件,包含了peak位点。可以载入到UCSC genome browser或Affymetrix IGB中。
3. NAME_negative_peaks.xls 是一个制表符分割的包含负peak的信息。负peaks是交换ChIP-seq和control channel得到的。
4. NAME_model.r 是一个R脚本,用来生成基于你的数据的模型的PDF图。载入R,运行。
$ R --vanilla < NAME_model.r
然后,一个叫做NAME_model.pdf的文件将在当前目录产生。要画这个图,需要R。
5. NAME_treat/control_afterfiting.wig.gz 在NAME_MACS_wiggle目录下的文件,是wiggle格式文件,可以载入到UCSC
genome browser/GMOD/Affy IGB
6. NAME_diag.xls是一个诊断报告。第一列是多个fold_enrichment区域;第二列是那个fc区域的peak的数目;
在第三列后是percentage of peaks covered after
转自:http://5527lok.blog.163.com/blog/static/6475158201153011113846/