加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

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/       ## –prefix用于指定安装目录

最后,修改环境变量(临时的): 

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

 

选项:

  --version             显示程序版本号并退出。1.3.2

  -h, --help            显示这个帮助信息并退出

  -t TFILE, --treatment=TFILE   ChIP-seq treatment files. 必需

  -c CFILE, --control=CFILE     Control文件

  --name=NAME           实验名,用来产生输出文件名字。默认是 "NA"

  --format=FORMAT       tag文件的格式。 "ELAND"或 "BED"。默认是"BED"

                 Format of tag file, "AUTO", "BED" or "ELAND" or
                        "ELANDMULTI" or "ELANDMULTIPET" or "ELANDEXPORT" or
                        "SAM" or "BAM" or "BOWTIE".

  --gsize=GSIZE         基因组大小,默认2700000000

  --tsize=TSIZE         Tag大小,默认25

  --bw=BW               Band宽度,这个值被用来构建shifting模型。若--nomodel被设定,这个值的两倍将被设置为扫描窗口的宽度。默认300

  --pvalue=PVALUE       用来进行peak检测的Pvalue的阈值, 默认1e-5

  --mfold=MFOLD         选择对背景有高置信度富集的区域来构建模型。默认32

  --wig                 是否保存每个bp的shifted原始tag count到一个wig文件中。这个过程耗时耗空间。

  --verbose=VERBOSE     设置verbose层次。0: 仅显示关键信息, 1:显示附加警告信息, 2: 显示处理过程,3: 显示调试信息。默认2

  --nolambda            是否用局部lambda。若True, MACS将使用lambda_background作为local_lambda

  --lambdaset=LAMBDASET 用来计算动态lambda的,临近区域的3个层次,以bp给出,默认"1000,5000,10000"

  --nomodel             是否构建shifting模型。若True,MACS将不构建模型,默认它意味着shifting大小是100, 尝试设置shiftsize来改变它。默认False

  --shiftsize=SHIFTSIZE The arbitrary shift size in bp。仅当nomodel为true时可用。默认100

  --diag                是否产生diagnosis报告。要耗费9X的时间。默认False

 

** 参数:

 

*** -t/--treatment FILENAME

 

这是MACS需要的唯一参数。

 

ChIP-seq处理数据文件可以是BED格式或ELAND输出格式。

在ELAND输出文件中,每行必须代表仅仅一个tag,域包括:

1. 序列名(若不是fasta格式,从文件名和行号获得)

2. 序列

3.match的类型:

 NM - 没有找到match

 QC - 没有作matching:质控失败(太多N).

 RM - 没有作matching:重复序列被masked(may be seen if repeatFile.txt was specified).

 U0 - 找到唯一匹配。

 U1 - 找到最好匹配,有唯一一个错配。

 U2 - 找到最好匹配,有两个错配。

 R0 - 找到多个确切的匹配

 R1 - 找到多个1个错配的匹配,没有确切的匹配。

 R2 - 找到多个2个错配的匹配,没有确切的1个错配的匹配。

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

 sampling 90%, 80%, 70% ... and 20% of the total tags.

转自:http://5527lok.blog.163.com/blog/static/6475158201153011113846/

          http://www.zilhua.com/1562.html

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有