内容

##警告:将以前的导入替换为'graph::。__C__dist'当加载'topGO'时

本课程的材料要求R版本3.2和Bioconductor版本3.2

stopifnot(getRversion()> ='3.2'&& getRversion()<'3.3',biocinstaller :: biocversion()==“3.2”)

1动机和工作流程

主要参考文献

1.1ChIP-seq

Lun,BioC 2015ChIP-seq卡通

哈尔琴科等人(2008)。ChIP-seq概述

差分绑定芯片seq

新颖的统计问题

1.2工作流程

实验设计与执行

测序和比对

峰值呼叫

加分析

1.3峰值呼叫

“已知”范围

新创窗户

新创峰值呼叫

1.4跨库的峰值调用

ID 模式 图书馆 操作
1 单样本 个人 联盟
2 单样本 个人 十字路口
3. 单样本 个人 至少2
4 单样本 汇集在一起 联盟
5 单样本 汇集在一起 十字路口
6 两个示例 汇集在一起 联盟
7 单样本 汇集了所有 -
ID 出错率
0.01 0.05 0.1
类风湿性关节炎 0.010(0.000) 0.051(0.001) 0.100 (0.002)
1 0.002(0.000) 0.019 (0.001) 0.053 (0.001)
2 0.003 (0.000) 0.030 (0.000) 0.073 (0.001)
3. 0.006 (0.000) 0.042 (0.001) 0.092 (0.001)
4 0.033 (0.001) 0.145 (0.001) 0.261(0.002)
5 0.000 (0.000) 0.001(0.000) 0.005 (0.000)
6 0.088 (0.006) 0.528(0.013) 0.893(0.006)
7 0.010(0.000) 0.049 (0.001) 0.098 (0.001)

2实用:Peak summary and annotation (ChIPseeker)

ChIPseeker装饰图案是一种很好的资源,我们会在实验室中介绍其中的部分内容。

装饰图案(“ChIPseeker”)

3.实用:差速装订(csaw)

这个练习是基于csaw在这里可以找到更多的细节。这有两个创新之处:(1)它不叫“峰值”,而是基于分析窗户跨越整个基因组;(2)它强调对样品芯片模式的比较,寻找微分绑定治疗组之间。

先下载csaw-data.rds.csaw-normfacs。Rds

3.11 - 4:实验设计…对齐

该实验涉及胚胎干细胞和末端神经元之间NFYA蛋白结合谱的改变。它是Tiwari等人提供的数据的子集。2012可作为GSE25532。有两个es(胚胎干细胞)和两个tn(末端神经元)复制。从GEO中提取单端FASTQ文件,使用rsubread.,并处理后(分类和索引)使用Rsamtools这个脚本:

# # SystemRequirements: ascp;fastq-dump source(“setup.R”)library(SRAdb) library(Rsubread) library(Rsamtools) library(BiocParallel) SRAdb <-“SRAmetadb. r”Sqlite " key <- "/app/aspera-connect/3.1.1/etc/asperaweb_id_dsa。openssh“cmd = sprintf(“ascp tt -l300m我% s”,键)源(“setup.R”)如果(! file.exists (sradb)) getSRAdbFile () = dbConnect监狱(dbDriver(“SQLite”),sradb) accs < - rownames(文件)[! file.exists(文件$ sra)]对accs (acc) sraFiles = ascpSRA (acc,案子,cmd文件类型=“sra destDir = getwd ()) sra文件< - $ sra [! file.exists(文件fastq美元)]bplapply (sra,function(sra) system(sprintf("fastq-dump——gzip %s", sra)) fastqs <- files$fastq[!file.exists(files$bam)] if (length(fastqs)) Rsubread::align("../mm10/mm10.Rsubread. ")<- files$bam[!file.exists(sprintf("%s. exists ", %s. exists("%s. exists ", %s. exists))bams_sorted <- sub(". bat ", files$bam))BAM”、“.sorted。<- bpmapply(sortBam, bams, bams_sorted) ##糟糕!并不是说要做下一行文件。rename(sorted, names(sorted)) bplapply(sorted, indexBam)

这将生成4个BAM文件,每个示例一个。每个BAM文件大约为2gb。这些文件被总结为以下数据帧:

files <- local({acc <- c(es_1="SRR074398", es_2="SRR074399", tn_1="SRR074417", tn_2="SRR074418") data.frame(Treatment=sub("_.*", "", names(acc))), replication =sub(". *", ". name (acc) "));*_", ", names(acc)), sra=sprintf("%s。Sra ", acc), fastq=sprintf("% s.s fastq.gz", acc), bam=sprintf("% s.s fastq.gz.subread. zip ", bam=sprintf("% s.s fastq.gz.subread. zip ", acc),, row.names=acc, stringsAsFactors=FALSE)})

3.25:减少

为了处理数据,我将切换到BAM文件所在的目录

setwd (~ / UseBioconductor-data / ChIPSeq / NFYA”)

然后在重叠窗口中加载csaw库和计数读取。

图书馆(csaw)图书馆(GenomicRanges)碎片弹。Len <- 110系统。time({data <- windowCounts(files$bam, width=10, ext= fraga .len)}) # 156 seconds acc <- sub(".fastq. txt ")cbind(files[acc,], colData(data))

将此数据加载到您自己的数据中R使用以下命令进行会话:

数据< - readRDS(“csaw-data.Rds”)

数据是一个SummarizedExperiment,所以稍微探索一下……

3.36:分析

过滤从过滤低计数窗口开始。有可能有很多(多少?)是否有合理的方法选择过滤阈值?

library(edgeR) # for aveLogCPM() keep <- aveLogCPM(assay(data)) >= -1 data <- data[keep,]

标准化(成分偏差)(插图第4章)csaw在标准化中使用了binned计数。相对于ChIP峰值,bin较大,假设bin主要代表无差异的边界区域。使用edger.RNASeq差异表达实验室采用的TMM (M值的裁剪中值)方法。关于规范化的更多信息请参见第4章(在为其他协议开发规范化方法时,这是一个有用的资源!)

这需要访问大数据,所以我们不运行以下代码

系统。time({binned <- windowCounts(files$bam, bin=TRUE, width=10000)}) #139秒

而是把总结加载到我们的会话中

Normfacs < -  Readrds(“CSAW-NORMFACS.RDS”)

实验设计和差动绑定(插图第5章)差异装订将评估使用edger.,我们需要详细说明实验设计

< -设计模型。矩阵(~治疗,colData(数据)

适用的标准edger.识别差异边界区域的工作流程。创造性地探索结果。

y <- estimateDisp(y, design) fit <- glmQLFit(y, design, robust=TRUE) results <- glmQLFTest(fit, contrast=c(0,1)) head(results$table)
## logFC logCPM˚Fp值## 1 -0.6739731 -1.360819 0.6314884 0.43210089 ## 2 -0.7693277 -1.401691 0.7997943 0.37718999 ## 3 -0.3620229 -1.330818 0.1863866 0.66855710 ## 4 0.4943534 -1.373149 0.3463071 0.55994411 ## 5 1.4757585 -1.168808 3.1350061 0.08523217##6 2.1921162 -1.241795 5.7634503 0.02174394

多个测试(小品第6章)挑战是FDR跨越所有检测到的差异界限地区是我们感兴趣的,但是我们马上就能得到的是FDR的差异界限窗户;区域通常由多个重叠的窗口组成。作为第一步,我们将采用一种“快速而肮脏”的方法,通过合并“高丰度”窗口来识别区域,例如,彼此之间有1kb

合并<-合并windows (rowRanges(data), tol=1000L)

在区域内跨窗口组合测试结果。在小插图的第6.5节中探讨了几种策略。

tabcom <- combineTests(合并$id,结果$table)头(tabcom)
# # nWindows logFC。logFC。100 0.38981304 0.5705249 ## 52 00 0.19036362 0.3609546 ## 610 0 0.83202268 0.9134050

Vignette第6.6节讨论了识别区域内“最佳”窗口的方法。

最后,创建一个GRangesList与两个结果表和计算结果的基因组范围相关联。

gr <- rowRanges(data) mcols(gr) <- as(results$table, "DataFrame") grl <- split(gr, merged$id) mcols(grl) <- as(tabcom, "DataFrame")

4资源

确认

4.1sessionInfo ()

sessionInfo ()
## R 3.2.2(2015-08-14)##平台:X86_64-PC-Linux-GNU(64位)##正在运行:debian gnu / linux stretting / sid ## ## locale:##[1] lc_ctype = en_us.utf-8 lc_numeric = c lc_time = en_us.utf-8 ## [4] lc_collat​​e = en_us.utf-8 lc_monetary = en_us.utf-8 lc_messages = en_us.utf-8 ## [7] lc_paper = en_us.utf-8 lc_name = c lc_address = c ## [10] lc_telephone = c lc_measurement = en_us.utf-8 lc_identified = c ## ##附加基本包:## [1] stats4并行统计图形grdevicesUtils数据集方法Base ## ##其他附加包:## [1] ClusterProfiler_2.3.8 ChipSeeeker_1.5.11 ##] Edger_3.11.5 CSAW_1.3.14 ## [5] GeneFilter_1.51.1 RColorBrewer_1.1-2 ## [7] gplots_2.17.0 Genomicfiles_1.5.8 ## [9] Biocparallel_1.3.54 homo.sapiens_1.3.1 ## [11] go.db_3.2.2 Organismdbi_1.11.43 ## [13] BioMart_2.25.3 AnnotationHub_2.1.45 ## [15]variantannotation_1.15.34 rnaseqdata.hnrnpc.bam.chr14_0.7.0 ## [17] genomicalignments_1.5.18 rsamtools_1.21.21 ## [19] all_1.11.0 org.hs.eg.db_3.2.3 ## [21] rsqlite_1。0.0 dbi_0.3.1 ## [23] ggplot2_1.0.1 airway_0.103.1 ## [25] limma_3.25.18 deseq2_1.9.51 ## [27] rcpparmadillo_0.6.100.0.0 rcpp_0.12.1 ## [29] bsgenome.hsapiens.ucc。hg19_1.4.0 bsgenome_1.37.6 ## [31] rtracklayer_1.29.28 txdb.hsapiens.ucsc.hg19.knowngene_3.2.2 ## [33] GenomicFeatures_1.21.33 AnnotationDbi_1.31.19 ## [35]概述_1.11 BioBase_2.29.1 ## [37] GenomicRanges_1.21.32 Genomeinfodb_1.5.16 ## [39] Microbenchmark_1.4-2 BioStrings_2.37.8 ## [41] XVector_0.9.4讽刺_2.3.26 ## [43] S4Vectors_0.7.23 Biocgenerics_0.15.11 ## [45] Biocstyle_1。7.9 ####通过命名空间加载(且未附加):## [1] th.data_1.0-6 colorspace_1.2-6 qvalue_2.1.0 ## [4] futile.logger_1.4.1 topgo_2.21.0 InteractiveIsplayBase_1。7.3 ## [7] MVTNOMM_1.0-3 CODETOOLS_0.2-14拼接_3.2.2 ## [10] GOSEMSIM_1.27.4 GENEPLOTTER_1.47.0 KNITR_1.11 ## [13] formure_1.2-1 gridbase_0.4-7 Annotate_1。47.4 ## [16] cluster_2.0.3 png_0.1-7 graph_1.47.2 ## [19] shiny_0.12.2 httr_1.0.0 assertthat_0.1 ## [22]表单ATR_1.2.1 ACEPACK_1.3-3.3 HTMLTOOLS_0.2.6 ## [25] TOOLS_3.2.2 iGraph_1.0.1 GTABLE_0.1.2 ## [28] do.db_2.9 REHAPE2_1.4.1 DOLER_0.4.3 ## [31] GDATA_2.17.0 StringR_1.0.0 proto_0.3-10 ## [34] mime_0.4 gtools_3.5.0 statmod_1.4.21 ## [37] xml_3.98-1.3 dose_2.7.12 zlibbioc_1.15.0 ## [40] mass_7.3-44 zoo_1.7-12scales_0.3.0 ## [43] BiocInstaller_1.19.14 RBGL_1.45.1 sandwich_2.3-4 ## [46] SparseM_1.7 lambda.r_1.1.7 yaml_2.1.13 ## [49] gridExtra_2.0.0 UpSetR_0.0.5 rpart_4.1-10 ## [52] latticeExtra_0.6-26 stringi_0.5-5 plotrix_3.5-12 ## [55] caTools_1.17.1 boot_1.3-17 bitops_1.0-6 ## [58] evaluate_0.8 lattice_0.20-33 labeling_0.3 ## [61] plyr_1.8.3 magrittr_1.5 R6_2.1.1 ## [64] Hmisc_3.17-0 multcomp_1.4-1 foreign_0.8-66 ## [67] KEGGREST_1.9.1 survival_2.38-3 RCurl_1.95-4.7 ## [70] nnet_7.3-11 futile.options_1.0.0 KernSmooth_2.23-15 ## [73] rmarkdown_0.8.1 locfit_1.5-9.1 grid_3.2.2 ## [76] digest_0.6.8 xtable_1.7-4 httpuv_1.3.3 ## [79] munsell_0.4.2