美文网首页生物信息学与算法ChipSeq数据分析R
systemPipeR 包中文翻译之 ChIP-seq 分析

systemPipeR 包中文翻译之 ChIP-seq 分析

作者: 热衷组培的二货潜 | 来源:发表于2019-06-08 21:00 被阅读54次

原文英文链接:ChIP-Seq Workflow Template
作者:Daniela Cassol (danielac@ucr.edu) and Thomas Girke (thomas.girke@ucr.edu)

  • 最近更新时间:2019.05.05

R包

  • systemPipeR 1.19.0

内容目录(我自己加在前面的)

  • 1 简单介绍

  • 2 工作环境

  • 3 Read 预处理

  • 4 比对

  • 5 coverage 数据的实用程序( Utilities )

  • 6 使用 MACS2 进行 Peak calling

  • 7 用基因组背景注 Peaks

  • 8 交集的 Peaks 的 reads 计数

  • 9 差异结合分析

  • 10 GO富集分析

  • 11 Motif 分析

  • 12 版本信息

  • 13 基金

  • 参考文献

1 简单介绍

  • 用户希望在此提供有关其ChIP-Seq项目设计的背景信息。
1.1 背景和目标
  • 本报告描述了几项ChIP-Seq实验的分析,这些生物实验研究了转录因子的DNA结合模式。
1.2 实验设计
  • 通常,用户希望在此指定与其NGS研究分析相关的所有信息。这包括FASTQ文件,实验设计参考基因组基因注释等的详细描述。
2 工作环境

2.1 生成工作流程环境
  • 将包含样本数据的工作流环境加载到当前工作目录中。样本数据描述见此
library(systemPipeRdata)
genWorkenvir(workflow = "chipseq")
setwd("chipseq")
  • 可选择性的,我们也可以在linux环境中通过命令行运行:
Rscript -e "systemPipeRdata::genWorkenvir(workflow='chipseq')"
  • genWorkenvir 函数生成的工作流环境中,所有数据输入都存储在 data/ 目录中,所有分析结果将写入单独的 result/ 目录,而 systemPipeChIPseq.Rmd 脚本和 targets 文件应位于父目录中。R 从此父目录运行。其他参数文件存储在 param / 下。

  • 为了处理真实数据,用户希望类似地组织自己的数据,并将所有测试数据替换为自己的数据。要在新数据上重新运行已建立的工作流,初始 targets 文件以及相应的 FASTQ 文件通常是用户需要提供的唯一输入。

2.2 运行工作流程
  • 现在通过你的 R 中打开 R markdown 脚本 systemPipeChIPseq.Rmd ,例如:vim-rRstudio,然后按照如下进行运行。
2.2.1 在计算节点运行 R
  • Vim 中打开此工作流的 Rmd 文件并通过 F2(或其他)键附加已连接的 R 后,使用以下命令序列在计算机节点上运行 R
q("no") # 关闭节点上运行的R
srun --x11 --partition=short --mem=2gb --cpus-per-task 4 --ntasks 1 --time 2:00:00 --pty bash -l
module load R/3.4.2
R
  • 现在检查您的 R 是否在群集的计算机节点上运行并评估您的环境。
system("hostname")  # 返回以 i 或 c 开头的计算节点的名称
getwd()  # 查看当前 R 的工作路径
dir()  # 返回当前工作路径下的文件
  • 需要加载 systemPipeR 包以执行本报告中显示的分析步骤(H Backman和Girke 2016)。
library(systemPipeR)
  • 如果适用,用户可以加载 systemPipeR 未提供的自定义功能。如果不是这样,请跳过此步骤。
source("systemPipeChIPseq_Fct.R")
3 Read 预处理

3.1 targets 文件提供的实验定义
  • targets 文件定义了分析工作流的所有 FASTQ 文件和样本比较。
targetspath <- system.file("extdata", "targets_chip.txt", package = "systemPipeR")
targets <- read.delim(targetspath, comment.char = "#")
targets[1:4, -c(5, 6)]
                  FileName SampleName Factor SampleLong SampleReference
1 ./data/SRR446027_1.fastq        M1A     M1  Mock.1h.A                
2 ./data/SRR446028_1.fastq        M1B     M1  Mock.1h.B                
3 ./data/SRR446029_1.fastq        A1A     A1   Avr.1h.A             M1A
4 ./data/SRR446030_1.fastq        A1B     A1   Avr.1h.B             M1B
3.2 Read 质量筛选与修剪
  • 下面的示例演示如何使用 ShortRead 包提供的实用程序设计自定义读取预处理函数,然后将批处理模式下的 preprocessReads 应用于相应 SYSargs 实例(下面的 args 对象)中引用的所有 FASTQ 样本。systemPipeR 的介绍中提供了有关读取预处理的更多详细信息。
args <- systemArgs(sysma = "param/trim.param", mytargets = "targets_chip.txt")
filterFct <- function(fq, cutoff = 20, Nexceptions = 0) {
    qcount <- rowSums(as(quality(fq), "matrix") <= cutoff, na.rm = TRUE)
    fq[qcount <= Nexceptions]
    # 保留读取 Phred 分数 > = 阈值 cutoff 为 N 的 reads
    # 例外
}
preprocessReads(args = args, Fct = "filterFct(fq, cutoff=20, Nexceptions=0)", 
    batchsize = 1e+05)
writeTargetsout(x = args, file = "targets_chip_trim.txt", overwrite = TRUE)
3.3 FASTQ 质量报告
  • 以下 seeFastqseeFastqPlot 函数为一组 FASTQ 文件生成并绘制一系列有用的质量统计数据,包括每个循环质量 box plots基本比例基本级质量趋势相对 k-mer 多样性reads 的长度和分布reads 高于质量 cutoff 和平均质量分布。结果将写入名为fastqReport.pdf的PDF文件中。
args <- systemArgs(sysma = "param/tophat.param", mytargets = "targets_chip.txt")
library(BiocParallel)
library(batchtools)
f <- function(x) {
    library(systemPipeR)
    args <- systemArgs(sysma = "param/tophat.param", mytargets = "targets_chip.txt")
    seeFastq(fastq = infile1(args)[x], batchsize = 1e+05, klength = 8)
}
moduleload(modules(args))  # Skip if a module system is not used
resources <- list(walltime = 120, ntasks = 1, ncpus = cores(args), 
    memory = 1024)
param <- BatchtoolsParam(workers = 4, cluster = "slurm", template = "batchtools.slurm.tmpl", 
    resources = resources)
fqlist <- bplapply(seq(along = args), f, BPPARAM = param)

pdf("./results/fastqReport.pdf", height = 18, width = 4 * length(fqlist))
seeFastqPlot(unlist(fqlist, recursive = FALSE))
dev.off()
Figure 1:18 个样本的 `FASTQ` 质量报告
4 比对

4.1 使用 Bowtie2 进行 Reads 的比对
  • 通过 Bowtie2reads 比对到参考基因组序列(Langmead, Salzberg 2012)。比对的参数设置在 bowtieSE.param 文件中定义。在 ChIP-Seq 实验中,通常过滤比对到多个位置的 reads 更为恰当。为实现此目的,用户希望在 bowtieSE.param 文件中删除参数设置 -k 50 non-deterministic
rgs <- systemArgs(sysma = "param/bowtieSE.param", mytargets = "targets_chip_trim.txt")

sysargs(args)[1]  # 第一个 FASTQ 文件的命令行参数

moduleload(modules(args))  # 如果不需要 module 则可以跳过

system("bowtie2-build ./data/tair10.fasta ./data/tair10.fasta")
# 对基因组文件建立索引

resources <- list(walltime = 120, ntasks = 1, ncpus = cores(args), 
    memory = 1024)

reg <- clusterRun(args, conffile = ".batchtools.conf.R", Njobs = 18, 
    template = "batchtools.slurm.tmpl", runid = "01", resourceList = resources)

getStatus(reg = reg)

waitForJobs(reg = reg)

writeTargetsout(x = args, file = "targets_bam.txt", overwrite = TRUE)
  • 或者,可以在单个系统上顺序运行比对。
runCommandline(args)
  • 检查是否已创建所有 BAM 文件
file.exists(outpaths(args))
4.2 Reads 和比对信息统计
  • 以下概述了每个样品中的 reads,以及它们中有多少比对上了参考基因组。
read_statsDF <- alignStats(args = args)

write.table(read_statsDF, "results/alignStats.xls", row.names = FALSE, 
    quote = FALSE, sep = "\t")

read.delim("results/alignStats.xls")
4.3 创建用于在 IGV 中查看 BAM 文件的链接
  • symLink2bam 函数创建链接以查看基因组浏览器(如 IGV )中的 BAM 比对文件,而无需将这些大文件移动到本地系统。相应的URL将写入具有在 urlfile 下指定的路径的文件,此处为 IGVurl.txt
symLink2bam(sysargs = args, htmldir = c("~/.html/", "somedir/"), 
    urlbase = "http://biocluster.ucr.edu/~tgirke/", urlfile = "./results/IGVurl.txt")
5 coverage 数据的实用程序( Utilities )

  • 以下介绍几种对 ChIP-Seq 数据有用的程序。它们不是实际工作流程的一部分。
5.1 Rle 属性中储存的 coverage 信息
library(rtracklayer)
library(GenomicRanges)
library(Rsamtools)
library(GenomicAlignments)

aligns <- readGAlignments(outpaths(args)[1])
cov <- coverage(aligns)
cov
5.2 调整已比对上的 reads
trim(resize(as(aligns, "GRanges"), width = 200))
5.3 Naive Peak calling
islands <- slice(cov, lower = 15)
islands[[1]]
5.4 绘制定义区间的 coverage 信息
library(ggbio)
myloc <- c("Chr1", 1, 1e+05)
ga <- readGAlignments(outpaths(args)[1], use.names = TRUE, param = ScanBamParam(which = GRanges(myloc[1], 
    IRanges(as.numeric(myloc[2]), as.numeric(myloc[3])))))
autoplot(ga, aes(color = strand, fill = strand), facets = strand ~ 
    seqnames, stat = "coverage")
6 使用 MACS2 进行 Peak calling

6.1 在进行 Peak calling 之前将每个样本的重复文件 BAM 合并成一个 BAM 文件。
  • 合并技术和/或 生物重复的 BAM 文件可以通过增加 reads覆盖度来提高 Peak calling灵敏度mergeBamByFactor 函数根据 Factor 指定的分组信息合并 BAM 文件,此处为导入目标文件的 Factor 列。它还返回一个更新的 SYSargs 对象,该对象包含合并的 BAM 文件的路径以及没有重复的任何未合并的文件。如果不需要合并 BAM 文件,则可以跳过此步骤
args <- systemArgs(sysma = NULL, mytargets = "targets_bam.txt")

args_merge <- mergeBamByFactor(args, overwrite = TRUE)

writeTargetsout(x = args_merge, file = "targets_mergeBamByFactor.txt", 
    overwrite = TRUE)
6.2 没有input/referencePeak calling
  • MACS2 可以在有和没有 input 样本的情况下对ChIP-Seq 数据进行 Peak callingZhang et al.2008)。以下进行在args对象中指定的所有样本没有input的情况下 Peak calling 。注意,由于样本数据量小,需要在此处使用 nomodel 设置运行 MACS2对于实际数据集,用户希望在相应的 *.param 文件中删除此参数。
args <- systemArgs(sysma = "param/macs2_noinput.param", mytargets = "targets_mergeBamByFactor.txt")

sysargs(args)[1]  # 第一个 FASTQ 文件的命令行参数

runCommandline(args)
file.exists(outpaths(args))

writeTargetsout(x = args, file = "targets_macs.txt", overwrite = TRUE)
6.3 有input/referencePeak calling
  • 要使用有 input 的样本进行 Peak calling ,可以在初始 targets 文件的 SampleReference 列中最方便地指定它们。writeTargetsRef 函数使用此信息创建一个目标文件,用于运行带有相应 input 样本的 MACS2
writeTargetsRef(infile = "targets_mergeBamByFactor.txt", outfile = "targets_bam_ref.txt", 
    silent = FALSE, overwrite = TRUE)

args_input <- systemArgs(sysma = "param/macs2.param", mytargets = "targets_bam_ref.txt")

sysargs(args_input)[1]  # 第一个 FASTQ 文件的命令行参数

runCommandline(args_input)
file.exists(outpaths(args_input))

writeTargetsout(x = args_input, file = "targets_macs_input.txt", 
    overwrite = TRUE)
  • MACS2Peak calling 结果是针对每个样本编写的,以分离结果目录中的文件。它们以具有 MACS2 使用的扩展名的相应文件命名。
6.4 鉴定共同的 Peaks
  • 以下示例显示了如何使用 subsetByOverlapsolRanges 函数分别在共享最小绝对重叠和/或最小相对重叠的两个 Peak 的共同 Peak注意,后者是通过 source 它而导入的自定义函数。
source("http://faculty.ucr.edu/~tgirke/Documents/R_BioCond/My_R_Scripts/rangeoverlapper.R")

peak_M1A <- outpaths(args)["M1A"]

peak_M1A <- as(read.delim(peak_M1A, comment = "#")[, 1:3], "GRanges")

peak_A1A <- outpaths(args)["A1A"]

peak_A1A <- as(read.delim(peak_A1A, comment = "#")[, 1:3], "GRanges")

(myol1 <- subsetByOverlaps(peak_M1A, peak_A1A, minoverlap = 1))
# 返回任何有交集的区域

myol2 <- olRanges(query = peak_M1A, subject = peak_A1A, output = "gr")
# 返回 0L 长度的区域

myol2[values(myol2)["OLpercQ"][, 1] >= 50]
# 返回最小交集 50% 的区域
7 用基因组背景注 Peaks

7.1 使用 ChIPpeakAnno 包进行注释
  • 以下分别使用 ChIPpeakAnnoChIPseeker 包对带有基因组背景信息的鉴定到的 Peaks 进行注释(Zhu et al. 2010; Yu,Wang; He 2015)。
library(ChIPpeakAnno)
library(GenomicFeatures)

args <- systemArgs(sysma = "param/annotate_peaks.param", mytargets = "targets_macs.txt")

# txdb <- loadDb('./data/tair10.sqlite')
txdb <- makeTxDbFromGFF(file = "data/tair10.gff", format = "gff", 
    dataSource = "TAIR", organism = "Arabidopsis thaliana")

ge <- genes(txdb, columns = c("tx_name", "gene_id", "tx_type"))

for (i in seq(along = args)) {
    peaksGR <- as(read.delim(infile1(args)[i], comment = "#"), 
        "GRanges")
    annotatedPeak <- annotatePeakInBatch(peaksGR, AnnotationData = genes(txdb))
    df <- data.frame(as.data.frame(annotatedPeak), as.data.frame(values(ge[values(annotatedPeak)$feature, 
        ])))
    write.table(df, outpaths(args[i]), quote = FALSE, row.names = FALSE, 
        sep = "\t")
}

writeTargetsout(x = args, file = "targets_peakanno.txt", overwrite = TRUE)
  • 为每个 Peak 集写入 Peak 注释结果,以将结果目录中的文件分开。它们以 annotate_peaks.param 文件中指定扩展名的相应 Peak 文件命名,此处为 * .peaks.annotated.xls
7.2 使用 ChIPseeker 包来注释
  • 除了换成 ChIPseeker 来进行注释以外其他步骤都一样
library(ChIPseeker)

for (i in seq(along = args)) {
    peakAnno <- annotatePeak(infile1(args)[i], TxDb = txdb, verbose = FALSE)
    df <- as.data.frame(peakAnno)
    write.table(df, outpaths(args[i]), quote = FALSE, row.names = FALSE, 
        sep = "\t")
}

writeTargetsout(x = args, file = "targets_peakanno.txt", overwrite = TRUE)
  • ChIPseeker 软件包提供总结性的图。此处采用一个样本来进行展示。
peak <- readPeakFile(infile1(args)[1])

covplot(peak, weightCol = "X.log10.pvalue.")
peakHeatmap(outpaths(args)[1], TxDb = txdb, upstream = 1000, 
    downstream = 1000, color = "red")

plotAvgProf2(outpaths(args)[1], TxDb = txdb, upstream = 1000, 
    downstream = 1000, xlab = "Genomic Region (5'->3')", ylab = "Read Count Frequency")
8 交集的 Peaksreads 计数

  • countRangeset 函数是一个方便的包装器,可以在多个范围集(这里是 Peaks 范围集)上迭代执行读取计数。在内部,使用 GenomicAlignments 包中的 summarizeOverlaps 函数执行读取计数。生成的计数表直接保存到文件中,每个峰值集一个。
library(GenomicRanges)

args <- systemArgs(sysma = "param/count_rangesets.param", mytargets = "targets_macs.txt")

args_bam <- systemArgs(sysma = NULL, mytargets = "targets_bam.txt")

bfl <- BamFileList(outpaths(args_bam), yieldSize = 50000, index = character())

countDFnames <- countRangeset(bfl, args, mode = "Union", ignore.strand = TRUE)

writeTargetsout(x = args, file = "targets_countDF.txt", overwrite = TRUE)
9 差异结合分析

  • runDiff 函数使用 edgeRDESeq2 以批处理模式对多个计数表执行差异结合分析( Robinson,McCarthy, Smyth 2010; Love,Huber, Anders 2014)。在内部,它调用函数 run_edgeRrun_DESeq2 。它还使用 dbrfilter 参数下提供的 Fold changeFDR 阈值 cutoff 返回下游 filterDEGs 函数的过滤结果和图。
args_diff <- systemArgs(sysma = "param/rundiff.param", mytargets = "targets_countDF.txt")

cmp <- readComp(file = args_bam, format = "matrix")

dbrlist <- runDiff(args = args_diff, diffFct = run_edgeR, targets = targetsin(args_bam), 
    cmp = cmp[[1]], independent = TRUE, dbrfilter = c(Fold = 2, 
        FDR = 1))

writeTargetsout(x = args_diff, file = "targets_rundiff.txt", 
    overwrite = TRUE)
10 GO富集分析

  • 以下对注释的 Peak 集进行 GO 富集分析。
args <- systemArgs(sysma = "param/macs2.param", mytargets = "targets_bam_ref.txt")

args_anno <- systemArgs(sysma = "param/annotate_peaks.param", 
    mytargets = "targets_macs.txt")

annofiles <- outpaths(args_anno)

gene_ids <- sapply(names(annofiles), function(x) unique(as.character(read.delim(annofiles[x])[, 
    "gene_id"])), simplify = FALSE)

load("data/GO/catdb.RData")

BatchResult <- GOCluster_Report(catdb = catdb, setlist = gene_ids, 
    method = "all", id_type = "gene", CLSZ = 2, cutoff = 0.9, 
    gocats = c("MF", "BP", "CC"), recordSpecGO = NULL)
11 Motif 分析

11.1 从基因组中获得 Peaks 区间的DNA序列
  • 已知DNA结合 motif 的富集分析或新基因的重新发现需要所鉴定的 Peak 区域的 DNA 序列。为了解析来自参考基因组的相应序列,可以使用来自 Biostrings 包的 getSeq 函数。以下示例解析每个 Peak 集的序列,并将结果保存到单独的 FASTA 文件中,每个 Peak 集对应一个。此外,FASTA 文件中的序列如某些 Motif 发现工具(例如 BCRANK )所预期的那样通过按 p 值递增来排序。
library(Biostrings)
library(seqLogo)
library(BCRANK)

args <- systemArgs(sysma = "param/annotate_peaks.param", mytargets = "targets_macs.txt")

rangefiles <- infile1(args)

for (i in seq(along = rangefiles)) {
    df <- read.delim(rangefiles[i], comment = "#")
    peaks <- as(df, "GRanges")

    names(peaks) <- paste0(as.character(seqnames(peaks)), "_", 
        start(peaks), "-", end(peaks))

    peaks <- peaks[order(values(peaks)$X.log10.pvalue., decreasing = TRUE)]

    pseq <- getSeq(FaFile("./data/tair10.fasta"), peaks)
    names(pseq) <- names(peaks)
    writeXStringSet(pseq, paste0(rangefiles[i], ".fasta"))
}
11.2 使用 BCRANK 发现 Motif
  • Bioconductor 软件包 BCRANKChIP-Seq 实验 Peak 区域中从头发现 DNA bingding motif 的众多工具之一。给出的示例将此方法应用于第一个 Peak 样本集,并绘制最显著 motif 的图。
set.seed(0)

BCRANKout <- bcrank(paste0(rangefiles[1], ".fasta"), restarts = 25, 
    use.P1 = TRUE, use.P2 = TRUE)

toptable(BCRANKout)

topMotif <- toptable(BCRANKout, 1)

weightMatrix <- pwm(topMotif, normalize = FALSE)

weightMatrixNormalized <- pwm(topMotif, normalize = TRUE)

pdf("results/seqlogo.pdf")
seqLogo(weightMatrixNormalized)
dev.off()
Figure 2: 被 BCRANK 鉴定的其中一个 motif
12 版本信息

sessionInfo()
## R version 3.6.0 (2019-04-26)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 18.04.2 LTS
## 
## Matrix products: default
## BLAS:   /home/biocbuild/bbs-3.10-bioc/R/lib/libRblas.so
## LAPACK: /home/biocbuild/bbs-3.10-bioc/R/lib/libRlapack.so
## 
## locale:
##  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=C              
##  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
##  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
##  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       
## 
## attached base packages:
## [1] stats4    parallel  stats     graphics  grDevices
## [6] utils     datasets  methods   base     
## 
## other attached packages:
##  [1] systemPipeR_1.19.0          ShortRead_1.43.0           
##  [3] GenomicAlignments_1.21.0    SummarizedExperiment_1.15.0
##  [5] DelayedArray_0.11.0         matrixStats_0.54.0         
##  [7] Biobase_2.45.0              BiocParallel_1.19.0        
##  [9] Rsamtools_2.1.0             Biostrings_2.53.0          
## [11] XVector_0.25.0              GenomicRanges_1.37.0       
## [13] GenomeInfoDb_1.21.0         IRanges_2.19.0             
## [15] S4Vectors_0.23.0            BiocGenerics_0.31.0        
## [17] BiocStyle_2.13.0           
## 
## loaded via a namespace (and not attached):
##  [1] Category_2.51.0          bitops_1.0-6            
##  [3] bit64_0.9-7              RColorBrewer_1.1-2      
##  [5] progress_1.2.0           httr_1.4.0              
##  [7] Rgraphviz_2.29.0         backports_1.1.4         
##  [9] tools_3.6.0              R6_2.4.0                
## [11] DBI_1.0.0                lazyeval_0.2.2          
## [13] colorspace_1.4-1         withr_2.1.2             
## [15] tidyselect_0.2.5         prettyunits_1.0.2       
## [17] bit_1.1-14               compiler_3.6.0          
## [19] graph_1.63.0             formatR_1.6             
## [21] rtracklayer_1.45.0       bookdown_0.9            
## [23] scales_1.0.0             checkmate_1.9.3         
## [25] genefilter_1.67.0        RBGL_1.61.0             
## [27] rappdirs_0.3.1           stringr_1.4.0           
## [29] digest_0.6.18            rmarkdown_1.12          
## [31] AnnotationForge_1.27.0   pkgconfig_2.0.2         
## [33] htmltools_0.3.6          BSgenome_1.53.0         
## [35] limma_3.41.0             rlang_0.3.4             
## [37] RSQLite_2.1.1            GOstats_2.51.0          
## [39] hwriter_1.3.2            dplyr_0.8.0.1           
## [41] VariantAnnotation_1.31.0 RCurl_1.95-4.12         
## [43] magrittr_1.5             GO.db_3.8.2             
## [45] GenomeInfoDbData_1.2.1   Matrix_1.2-17           
## [47] Rcpp_1.0.1               munsell_0.5.0           
## [49] stringi_1.4.3            yaml_2.2.0              
## [51] edgeR_3.27.0             zlibbioc_1.31.0         
## [53] plyr_1.8.4               grid_3.6.0              
## [55] blob_1.1.1               crayon_1.3.4            
## [57] lattice_0.20-38          splines_3.6.0           
## [59] GenomicFeatures_1.37.0   annotate_1.63.0         
## [61] hms_0.4.2                batchtools_0.9.11       
## [63] locfit_1.5-9.1           knitr_1.22              
## [65] pillar_1.3.1             rjson_0.2.20            
## [67] base64url_1.4            codetools_0.2-16        
## [69] biomaRt_2.41.0           XML_3.98-1.19           
## [71] glue_1.3.1               evaluate_0.13           
## [73] latticeExtra_0.6-28      data.table_1.12.2       
## [75] BiocManager_1.30.4       gtable_0.3.0            
## [77] purrr_0.3.2              assertthat_0.2.1        
## [79] ggplot2_3.1.1            xfun_0.6                
## [81] xtable_1.8-4             survival_2.44-1.1       
## [83] tibble_2.1.1             pheatmap_1.0.12         
## [85] AnnotationDbi_1.47.0     memoise_1.1.0           
## [87] brew_1.0-6               GSEABase_1.47.0
13 基金

  • 该项目得到了美国国立卫生研究院(NIH)和国家科学基金会(NSF)的资助。
参考文献

  • H Backman, Tyler W, and Thomas Girke. 2016. “systemPipeR: NGS workflow and report generation environment.” BMC Bioinformatics 17 (1):388. https://doi.org/10.1186/s12859-016-1241-0.

  • Langmead, Ben, and Steven L Salzberg. 2012. “Fast Gapped-Read Alignment with Bowtie 2.” Nat. Methods 9 (4). Nature Publishing Group:357–59. https://doi.org/10.1038/nmeth.1923.

  • Love, Michael, Wolfgang Huber, and Simon Anders. 2014. “Moderated Estimation of Fold Change and Dispersion for RNA-seq Data with DESeq2.” Genome Biol. 15 (12):550. https://doi.org/10.1186/s13059-014-0550-8.

  • Robinson, M D, D J McCarthy, and G K Smyth. 2010. “EdgeR: A Bioconductor Package for Differential Expression Analysis of Digital Gene Expression Data.” Bioinformatics 26 (1):139–40. https://doi.org/10.1093/bioinformatics/btp616.

  • Yu, Guangchuang, Li-Gen Wang, and Qing-Yu He. 2015. “ChIPseeker: An R/Bioconductor Package for ChIP Peak Annotation, Comparison and Visualization.” Bioinformatics 31 (14):2382–3. https://doi.org/10.1093/bioinformatics/btv145.

  • Zhang, Y, T Liu, C A Meyer, J Eeckhoute, D S Johnson, B E Bernstein, C Nussbaum, et al. 2008. “Model-Based Analysis of ChIP-Seq (MACS).” Genome Biol. 9 (9). https://doi.org/10.1186/gb-2008-9-9-r137.

  • Zhu, Lihua J, Claude Gazin, Nathan D Lawson, Hervé Pagès, Simon M Lin, David S Lapointe, and Michael R Green. 2010. “ChIPpeakAnno: A Bioconductor Package to Annotate ChIP-seq and ChIP-chip Data.” BMC Bioinformatics 11 (11~may):237. https://doi.org/10.1186/1471-2105-11-237.

相关文章

网友评论

    本文标题:systemPipeR 包中文翻译之 ChIP-seq 分析

    本文链接:https://www.haomeiwen.com/subject/okuixctx.html