ATAC-seq总结

背景知识

什么是ATAC-Seq?

Assay for transposase-accessible chromatin using sequencing(利用转座酶研究染色质可接近性的高通量测序技术),可以在全基因上捕获裸露DAN与核小体的DNA。

细胞的不同时期染色质松紧程度不同,其中结构疏松的染色质被称为开放染色质,它有足够的区域允许一些调控蛋白过来与其结合。染色质的这种特性,叫做染色质的可接近性。ATAC-Seq使用Tn5酶(load with sequencing adaptors)插入核小体间的开放染色质区域,生成可被PCR扩增的测序文库片段。


Library制备原理与不同技术间需求

为什么要做ATAC-Seq,ATAC-Seq相比于其他技术有什么优势?

优势:使用细胞数较少;使用ATAC-seq识别全基因组上的开放染色质区域,在调控区域识别核小体结合和核小体游离位置,寻找全基因组范围内蛋白质可结合位点的信息,寻找不知道的特定转录因子;使用“footprint”推断dna结合蛋白在b细胞系中的位置。

ChIP-seq:一种针对DNA结合蛋白,组蛋白修饰或核小体的全基因组分析技术。根据感兴趣的转录因子设计抗体去做ChIP实验拉DNA,验证感兴趣的转录因子是否与DNA存在相互作用。

MNase-Seq用来鉴定核小体区域。

CUT&Tag:适用于微量细胞的ChIP技术。解读CUT&Tag - 简书


分析流程

一.分步跑

1.fastqc质控

fastqc 检查序列质量,看是否需要进行过滤和去接头

fastqc -o cleanout -t 20 clean.*_R1.fq.gz

2.过滤并处理接头


刚开始由于测序仪测序混乱的15bp


接头

(1).fastp处理

fastp -i *_R1.fq.gz -I *_R2.fq.gz -o clean.*_R1.fq.gz -O clean.*_R2.fq.gz -f 15 --adapter_sequence=TCGTCGGCAGCGTC --adapter_sequence_r2=GTCTCGTGGGCTCGG -w 15

用fastp处理后面数据时发现,切了之后还会出现adapter的问题。

(2).改用trimmoatic

java -jar /home/*/trimmomatic-0.39.jar PE  -phred33 -trimlog logfile -threads 16 *_R1.fq.gz *_R2.fq.gz clean.*_R1p.fq.gz clean.*_R1u.fq.gz clean.*_R2p.fq.gz clean.*_R2u.fq.gz ILLUMINACLIP:/home、*/Trimmomatic-0.39/adapters/NexteraPE-PE.fa:2:30:10:8:true SLIDINGWINDOW:15:20 HEADCROP:15

参数解读:生信软件 | Trimmomatic (测序数据质控) - 知乎

3.然后将序列比对到参考基因组上

bowtie2 --very-sensitive -p 15 -x /home/zjin/atac/ref/horse -1 clean.HBM-2_R1p.fq.gz -2 clean.HBM-2_R2p.fq.gz | samtools sort -O bam -@ 15 -o - > output.bam

#use the --very-sensitive parameter to have more chance to get the best match even if it takes a bit longer to run.

4.去除pcr重复

首先需要清楚是实验还是物种本身的pcr重复

(1).samtools

samtools sort -n -o namesort.bam output.bam -@ 25

从名称排序的对齐中填写配合坐标、SIZE 和配合的相关标志。

samtools fixmate -@ 15 -m namesort.bam fixmate.bam

samtools sort -o positionsort.bam fixmate.bam -@ 15

samtools markdup positionsort.bam markdup.bam -@ 20

(2).picrad

picard MarkDuplicates REMOVE_DUPLICATES=true I=output.bam O=picard.bam M=picard.metrc.csv

去除低质量reads

samtools view -h -f 2 -q 30 picard.bam |  samtools sort -O bam -@ 10 -o - > picard.last.bam

5.去除线粒体重复

线粒体DNA是裸露的,也可以被Tn5酶识别切割

可以通过下面两种方法中任一种实现:

在比对之前,将线粒体DNA从比对使用的参考基因组中去除。该方法的缺点使比对数会看起来比较差,因为所有的线粒体DNA序列都将被记为未匹配序列。

在进行比对之后去除线粒体DNA。可以使用Harvard FAS Informatics编写的python脚本去除线粒体RNA序列。

samtools view -@ 15 -h markdup.bam | python removeChrom.py - - chrM(根据参考基因组上线粒体的来命名,也可以是MT等) -p 15| samtools  view -@ 15 -b - > f.bam                harvard/removeChrom.py at master · jsh58/harvard · GitHub

#每一步做完后,可以用samtools检查一下

$ samtools flagstat sample1.bam

3826122 + 0 in total (QC-passed reads + QC-failed reads) #总共的reads数

0 + 0 secondary

1658 + 0 supplementary

343028 + 0 duplicates

3824649 + 0 mapped (99.96% : N/A) #总体reads的匹配率

3824464 + 0 paired in sequencing #总共的reads数

1912442 + 0 read1 #reads1中的reads数

1912022 + 0 read2 #reads2中的reads数

3808606 + 0 properly paired (99.59% : N/A) #完美匹配的reads数:比对到同一条参考序列,并且两条reads之间的距离符合设置的阈值

3821518 + 0 with itself and mate mapped #paired reads中两条都比对到参考序列上的reads数

1473 + 0 singletons (0.04% : N/A) #单独一条匹配到参考序列上的reads数,和上一个相加,则是总的匹配上的reads数。

5882 + 0 with mate mapped to a different chr#paired reads中两条分别比对到两条不同的参考序列的reads数

4273 + 0 with mate mapped to a different chr (mapQ>=5) #paired reads中两条分别比对到两条不同的参考序列的reads数

6.macs2 进行peak calling

macs2 callpeak -t f.bam -g 2.5e9 --nomodel --shift -100 --extsize 200 -n HFM --outdir ./horse

需要注意其中背景基因组序列数量和 --shift --extsize 参数,基因组大小可以通过在网站上查找得知,也可以自己写个脚本去了解。

python fa.py /home/zjin/atac/ref/Equus_caballus.EquCab3.0.dna.toplevel.fa --thread 15        有效基因组大小: 2497530654

MACS2 参数详细学习_慕课手记


7.计算FRIP值

(1).先把bam文件转为bed文件,使用的是SAMtobed这个python文件,此处不能使用BEDTools中的bamtobed软件来处理,因为它的输出文件不是MACS2可以处理的标准文件。

samtools view -h  f.bam  | python /home/zjin/data/HFM-1/SAMtoBED.py  -i -  -o f.bed  -x  -v

bedtools bamtobed -i finallly.bam -o bed.bed

但是之后也可以用其进行比较。然后算出分母----序列比对到基因组上的总reads(去除pcr重复,线粒体)

wc -l f.bed,然后再求交集

bedtools intersect -a bed.bed -b /home/zjin/data/HFM-1/horse/HFM_peaks.narrowPeak |wc -l

第一个算出来的是0.2058,第二个算出来的是0.2026

(2).也可以使用r包来计算

library(encodeChIPqc)

library(GenomicRanges)

peaks =  read.table('/home/zjin/data/3-21/GJM/horse/GJM_peaks.narrowPeak')

colnames(peaks) = c('chr','start','end','name','score','strand','signal','pval','qval','peak')

peaks.gr = makeGRangesFromDataFrame(peaks,keep.extra.columns=TRUE)

bam.file ="/home/zjin/data/3-21/GJM/f.bam"

frip(bam.file,peaks.gr)

8.计算insert size

picard CollectInsertSizeMetrics I=./f.bam O=./CBM.insertsize H=./CBM.pdf

insert size片段

可以先去了解下文库长度是多少,2代测序一般是300bp。

peak结果中要存在NFR和mononucleosome peak区域,NFR peak指的是长度小于1个核小体单位长度的peak区域,1个核小体的DNA长度为146bp, NFR peak长度小于146b;ppmononucleosome peak指的是只跨越了1个核小体的peak, 长度在1个到2个核小体单位长度之间,即146到292bp之间,考虑两个核小体。

一般每200bp会存在一个峰,这个周期性波动反应的是核小体的个数,这是因为tn5酶有时候会切两个、三个或多个核小体下下来。富集最多的就是切下的开放染色质区域的reads。

9.计算tss

常规的做法是提取TSS两侧区域的reads, 比如上下游各提取2kb的区域,划分等长窗口bin统计每个窗口内的coverage, 最终会生成一个矩阵,行为基因,列为不同窗口。根据这个矩阵可以绘制TSS两侧reads分布图, 也可以计算TSS Enrichment score。推荐使用deeptools。

10.计算IDR

IDR(Irreproducibility Discovery Rate)通过比较一对经过排序的regions/peaks 的列表,然后计算反映其重复性的值,log文件会给出peaks通过IDR < 0.05的比率。IDR的值越小越好,说明两者间重复性越小。

sort -k8,8nr HBM-2_peaks.narrowPeak > sort.HBM-2_peaks.narrowPeak

idr --samples sort.HBM-1_peaks.narrowPeak sort.HBM-2_peaks.narrowPeak --input-file-type narrowPeak --rank p.value --output-file sort.sample-idr --plot --log-output-file sample.idr.log

11.计算nrf和PBC1、PBC2

NRF代表的是非冗余reads的比例,与参考基因组比对之后,我们可以得到所有比对上的reads, 其中有一部分是unique mapping的reads, 这些reads唯一比对到基因组上的一个位置,NRF就是unique mapping reads除以total  mapped reads。

PBC1和PBC2称之为PCR阻塞系数,和NRF不同,这两个系数通过基因组位置的个数来进行计算。将unique mapping reads比对上的基因组位置称之为M, 根据每个位置上比对上的序列数,称之为M1, M2等,其中,PBC1为M1/M的值,PBC2为M1/M2的值。

samtools view -h output.bam | grep AS | grep -v XS |wc -l(找到唯一匹配)

samtools view -h output.bam |wc -l

在质检完成后,可以进行下一步的相关分析。

做完之后可以详细阅读这个教程,里面有很详细的流程指导以及步骤的意义,裨补缺漏。galaxy


12.绘制pca图,差异peak以及相关性分析

具体参数步骤详见:生信 | ATAC-Seq基础分析+高级分析+多组学分析 - 简书


pca图

PCA主成分分析:原理是将高维数据投影到较低维空间,提取多元事物的主要因素,揭示其本质特征。得到主成分轴向(属性)的目的就是为了可以舍弃其他次要的成分,当然,主成分属性也是优于其他成分的属性,缺点就是这个属性没法用语言来解释。

原理:主成分分析(PCA)原理详解 - 知乎

在一般情况下,对于一个属性的数据分布来说,方差越大越好分类。PC1是影响分类的主要成分Principal components。和PC1垂直的y就是PC2。百分数是指这个主成分对总体方差的贡献率,比如PC1可以解释总体方差的44%。值是特征值,在第一维度,第二维度上分别表示出来。


相关性热图

相关性热图:一般来讲研究对象(样品或处理组)之间使用距离分析,而元素(物种或环境因子)之间进行相关性分析。策略是将基因组划分为等长的区间,称之为bin, 计算每个区间内的覆盖度,然后通过比较不同样本间的覆盖度来计算样本相关性。

区间覆盖度:每一碱基的覆盖率是基因组碱基被测序的平均次数。基因组的覆盖深度是通过与基因组匹配的所有短读的碱基数目除以该基因组的长度来计算的。

但是通过deeptools的multiBamSummary命令,发现画出来的bin并不是等分的,可以自己写个脚本做一下。


差异peak

差异peak:找到多个样本相同的peak区间,然后基于这些相同区域的peak开始找差异(落在peak间的reads数量不同而造成),一般是已知结果用图来展示。

13.igv可视化

导入物种的基因组和GTF文件,在导入bw文件,寻找marker基因上peak是否富集。


igv图

igv操作:IGV可视化reads分布和表达峰图 - 知乎

14.寻找motif

motif我们可以简单理解为:在复杂网络中出现的局部规律,这种规律现象无处不在。

在生物中Motif是比较有特征的短序列,会多次出现。利用motif分析可以挖掘其修饰/结合偏好,进而锁定相关基因,对后续讨论、实验具有指导作用。用homer寻找motif时需要两个数据集:一种是常见的bed文件格式,另一种是HOMER软件指定使用的peak文件格式。步骤如下:

(1). 序列提取

通过bed文件给出的基因组位置信息,在对应基因组上提取出来的是对应的基因组序列

通过peak文件给出的位置信息提取ATAC-Seq中reads在基因组上的富集信息

(2).背景选择

使用的是基因组位置时从整个基因组序列抓取GC含量一致的序列作为背景序列(序列长度可设置)

(3).GC含量矫正

将目标序列和背景序列对GC含量进行分bin(5%区间),背景序列通过调节权重得到和目标序列同样的GC含量分布.

(4). 自动标准化

减少偏差

homer寻找motif有两种模式。

Discovering Motifs de novo


(1).解析输入序列

根据设置的motif长度(默认是8,10,12),将输入序列解析为寡核苷酸,生成一个寡核苷酸频度表,并记录它在目标和背景序列中出现的次数。

#寡核苷酸 (Oligonucleotide),是一类只有20个以下碱基的短链核苷酸的总称(包括脱氧核糖核酸DNA或核糖核酸RNA内的核苷酸)

(2).寡核苷酸自动均一化

(3).全局搜索

基本原理就是若某个motif富集,则其存在的寡核苷酸也同样富集,为了增加灵敏度和节省计算资源,允许错配。(超几何分布和二项式)

(4).矩阵优化

(5).标记和重复

当最优的寡核苷酸序列被优化成motif后,motif 对应的序列从要分析的数据中移除,接下来再分析直到设定个数的motif序列被发现。

Screening for Enrichment of Known Motifs,

(1).加载moitf数据库

(2).扫描所有的motif

扫描每个motif的序列并计算在多少目标或背景序列上出现来确定每个motif的富集度。


为什么要找motif,CHIP-seq和ATAC-seq的区别?

ATAC-seq根据motif找到的moti (转录因子集合位点独有的序列,起始位点在基因组上面),去在基因组上找转录因子。

CHIP-seq是已知转录因子,知道moti序列(特定的),然后看有没有peak。

总而言之做ATAC-seq是为了去发现感兴趣的位置。


2.使用ENCODE提供的ATAC-Seq pipeline

GitHub - ENCODE-DCC/atac-seq-pipeline: ENCODE ATAC-seq pipeline

输入原始fastq数据一直到peak caling结束的基础分析功能

pipeline中的build_genome_data.sh,用于将不同基因组处理成所需的文件。

质控标准:The fraction of reads in called peak regions (FRiP score) should be >0.3, though values greater than 0.2 are acceptable


各项标准


结果会出现详细的质控报告

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345

推荐阅读更多精彩内容