##警告:将以前的导入替换为'graph::。__C__dist'当加载'topGO'时
本课程的材料要求R版本3.2和Bioconductor版本3.2
stopifnot(getRversion()> ='3.2'&& getRversion()<'3.3',biocinstaller :: biocversion()==“3.2”)
主要参考文献
Lun,BioC 2015
哈尔琴科等人(2008)。
差分绑定芯片seq
新颖的统计问题
实验设计与执行
单样本
设计实验
测序和比对
峰值呼叫
基于模型的ChIP-Seq分析,Liu等,2008
加分析
“已知”范围
新创窗户
新创峰值呼叫
ID | 模式 | 图书馆 | 操作 |
---|---|---|---|
1 | 单样本 | 个人 | 联盟 |
2 | 单样本 | 个人 | 十字路口 |
3. | 单样本 | 个人 | 至少2 |
4 | 单样本 | 汇集在一起 | 联盟 |
5 | 单样本 | 汇集在一起 | 十字路口 |
6 | 两个示例 | 汇集在一起 | 联盟 |
7 | 单样本 | 汇集了所有 | - |
如何选择?- Lun & smith,
在原假设下,第I类错误率是一致的
## 10万个t检验在null下,n = 6 n <- 6;m <- matrix(rnorm(n * 100000), ncol=n) P <- genfilter::rowttests(m, factor(rep(1:2, each=3)))$ P。值分位数(P c(。001 . 01 . 05))
## 0.1% 1% 5% ## 0.000965875 0.010195115 0.049456354
嘘(P,减免= 20)
表2:使用来自每个峰值调用策略的计数测试差异富集时观察到的类型I错误率。显示了指定错误阈值范围的错误率。所有值代表10次模拟迭代的平均值,标准误差在括号中显示。参考分析:使用10000个随机选择的真峰。
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) |
的ChIPseeker
装饰图案是一种很好的资源,我们会在实验室中介绍其中的部分内容。
装饰图案(“ChIPseeker”)
这个练习是基于csaw在这里可以找到更多的细节。这有两个创新之处:(1)它不叫“峰值”,而是基于分析窗户跨越整个基因组;(2)它强调对样品芯片模式的比较,寻找微分绑定治疗组之间。
先下载csaw-data.rds.和csaw-normfacs。Rds
该实验涉及胚胎干细胞和末端神经元之间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)})
为了处理数据,我将切换到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
,所以稍微探索一下……
过滤从过滤低计数窗口开始。有可能有很多(多少?)是否有合理的方法选择过滤阈值?
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")
确认
核心(西雅图):Sonali Arora, Marc Carlson, Nate Hayden, Jim Hester, Valerie Obenchain, Hervé Pagès, Paul Shannon, Dan Tenenbaum。
本次报告中的研究由美国国家癌症研究所和美国国立卫生研究院的国家人类基因组研究所(奖励号为U24CA180996和U41HG004059)以及美国国家科学基金会(奖励号为1247813)资助。内容仅由作者负责,不一定代表国家卫生研究院或国家科学基金会的官方观点。
sessionInfo ()
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_collate = 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