ATAC-seq分析:比对(3)

1. 质控

在比对之前,我们建议花一些时间查看 FASTQ 文件。一些基本的 QC 检查可以帮助我们了解您的测序是否存在任何偏差,例如读取质量的意外下降或非随机 GC 内容。

2. Greenleaf

在本节中,我们将稍微处理一下 Greenleaf 数据集。

我们将处理从 FASTQ 到 BAM 的 Greenleaf 数据的一个样本,以允许我们审查 ATACseq 数据的一些特征,并创建一些处理过的文件以供审查和进一步分析。

3.参考基因组

首先,我们需要创建一个参考基因组来比对我们的 ATACseq 数据。我们可以创建一个 FASTA 文件用于从 Bioconductor BSGenome 对象进行比对。

这次我们正在处理人类数据,因此我们将使用 BSgenome.Hsapiens.UCSC.hg19 库构建 hg19 基因组。

library(BSgenome.Hsapiens.UCSC.hg19)
mainChromosomes <- paste0("chr",c(1:21,"X","Y","M"))
mainChrSeq <- lapply(mainChromosomes,
                     function(x)BSgenome.Hsapiens.UCSC.hg19[[x]])
names(mainChrSeq) <- mainChromosomes
mainChrSeqSet <- DNAStringSet(mainChrSeq)
writeXStringSet(mainChrSeqSet,
                "BSgenome.Hsapiens.UCSC.hg19.mainChrs.fa")

4. Rsubread

对于 Rsubread,我们必须在 Rsubread 的对齐步骤之前建立我们的索引。

这里我额外指定参数 indexSplit 为 TRUE 并结合 memory 参数设置为 1000 (1000MB) 以控制 Rsubread 对齐步骤中的内存使用。

library(Rsubread)
buildindex("BSgenome.Hsapiens.UCSC.hg19.mainChrs",
           "BSgenome.Hsapiens.UCSC.hg19.mainChrs.fa",
           indexSplit = TRUE,
           memory = 1000)

5. 比对准备

现在我们有了索引,我们可以比对我们的 ATACseq 读数。由于 ATACseq 数据通常是双端测序,我们需要对比对步骤进行一些小的调整。

双端测序数据通常以两个文件的形式出现,通常在文件名中带有 _1_2_R1_R2 来表示一个文件是成对的数字。

read1 <- "ATAC_Data/ATAC_FQs/SRR891269_1.fastq.gz"
read2 <- "ATAC_Data/ATAC_FQs/SRR891269_2.fastq.gz"

我们的两个匹配的双端读取文件将(通常)包含相同数量的读取,并且两个文件中的读取顺序相同。读取名称将跨文件匹配以进行配对读取,但名称中的 1 或 2 除外,以表示读取是一对中的第一个还是第二个。

require(ShortRead)
read1 <- readFastq("data/ATACSample_r1.fastq.gz")
read2 <- readFastq("data/ATACSample_r2.fastq.gz")
id(read1)[1:2]
id(read2)[1:2]

成对读数之间的距离在 ATACseq 中很重要,它使我们能够区分读数映射与分别指示信号的无核小体和核小体部分的短或长片段。在比对步骤之后,插入大小为我们提供了 read1 和 read2 起点之间的总距离。

我们可以对 DNA 使用标准比对(对于 ChIPseq),但我们增加了最大允许片段长度以捕获代表多核小体信号的长片段。

此处设置的最大允许片段长度基于 Greenleaf 研究中使用的参数。为了控制允许的最大片段长度,我将 maxFragLength 参数设置为 2000。我还将 unique 参数设置为 TRUE 以仅包括唯一映射读取。

align("BSgenome.Hsapiens.UCSC.hg19.mainChrs",
      readfile1=read1,readfile2=read2,
      output_file = "ATAC_50K_2.bam",
      nthreads=2,type=1,
      unique=TRUE,maxFragLength = 2000)

要使用 Rbowtie2,我们还必须在比对之前构建我们的索引。在这里,我们使用 bowtie2_build() 函数指定我们的 FASTA 文件的参数来构建索引和所需的索引名称。

library(Rbowtie2)
bowtie2_build(references="BSgenome.Hsapiens.UCSC.hg19.mainChrs.fa", 
              bt2Index="BSgenome.Hsapiens.UCSC.hg19.mainChrs_bowtie2")

6. 解压

一旦我们有了索引,我们必须使用 gunzip() 函数解压缩我们的 FASTQ 文件。

gunzip("ATAC_Data/ATAC_FQs/SRR891269_1.fastq.gz")
gunzip("ATAC_Data/ATAC_FQs/SRR891269_2.fastq.gz")

7. 比对

现在我们可以使用 bowtie2() 函数将我们的 FASTQ 与基因组对齐,指定我们的 read1 和 read2 到 seq1 和 seq2 参数。最后,我们可以使用 asBam() 函数将输出的 SAM 文件转换为 BAM 文件。

注意NOTE: SAM 和未压缩的FASTQ 文件会占用大量磁盘空间。完成后,最好重新压缩 FASTQ 并使用 unlink() 函数删除 SAM 文件。

library(Rsamtools)
bowtie2(bt2Index = "BSgenome.Hsapiens.UCSC.hg19.mainChrs_bowtie2",
          samOutput = "ATAC_50K_2_bowtie2.sam",
          seq1 = "ATAC_Data/ATAC_FQs/SRR891269_1.fastq",
          seq1 = "ATAC_Data/ATAC_FQs/SRR891269_2.fastq"
        )
asBam("ATAC_50K_2_bowtie2.sam")

8. 排序

比对后,我们希望对 BAM 文件进行排序和索引,以便与外部工具一起使用。首先,我们按序列顺序对比对数据进行排序(此处不是 Read Name)。然后我们索引我们的文件,允许其他程序(例如 IGV、Samtools)和我们将使用的 R/Bioconductor 包快速访问特定的基因组位置。

library(Rsamtools)
sortedBAM <- file.path(dirname(outBAM),
                       paste0("Sorted_",basename(outBAM))
                       )

sortBam(outBAM,gsub("\\.bam","",basename(sortedBAM)))
indexBam(sortedBAM)

9. 结果探索

在 ATACseq 中,我们将要检查映射读取跨染色体的分布。我们可以使用 idxstatsBam() 函数检查每条染色体上映射读取的数量。已知 ATACseq 在线粒体染色体上具有高信号,因此我们可以在此处进行检查。

library(Rsamtools)
mappedReads <- idxstatsBam(sortedBAM)

我们现在可以使用映射的读取数据框来制作跨染色体读取的条形图。在这个例子中,我们看到了线粒体基因组映射率很高的情况。

library(ggplot2)

ggplot(mappedReads, aes(seqnames, mapped, fill = seqnames)) + geom_bar(stat = "identity") +
    coord_flip()

欢迎Star -> 学习目录

更多教程 -> 转录组测序分析教程合集

更多教程 -> 单细胞系列教程:合集


本文由mdnice多平台发布

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

推荐阅读更多精彩内容