作者:索纳利·阿罗拉(sarora@fredhutch.org)
时间:2015年7月20-22日
本课程的材料要求R版本3.2.1和Bioconductor版本3.2
练习1
-如何从Bioconductor下载软件包?
-你如何访问一个给定包的小片段?
-你如何为一个功能找到帮助(比如sortSeqlevels
)
练习2:磨练你的R技能
布罗德研究所有EpigenomeRoadMap项目已经为您提供了项目的元数据。
-将文件读入R。
- R把它读成什么?
-你如何看待数据集的前几行或最后几行?
-在这个文件中有多少行和列?
-列标题是什么?
—每列的数据类型是什么?
-你能总结整个数据吗(提示:?summary)总结这个数据集中男性和女性的数量。-专栏名为集团
包含样本的源。你能将data.frame子集化以得到所有属于的样本吗大脑
而且消化
练习3:适应GenomicRanges
使用给定的grange,执行以下操作
-提取范围仅从3号染色体开始
-从grange中提取前5个范围。
—提取grange的score和gc列
-只保留标准染色体(即染色体1至22、X、Y、M)。
更改染色体命名样式,即GRanges包含UCSC样式的染色体名称,将其更改为NCBI样式的染色体名称。
-你如何找到这个GRanges对象的间隙中包含的范围?
-你如何找到一个GRanges对象中所有范围的重叠程度?(提示:?报道)
library(genome icranges) gr <- GRanges(seqnames = paste0("chr", c(1:22, tail(letters, 11))), ranges = IRanges(start=1:33, width = 1000), strand = c(rep("+", 10), rep("-", 23)), score =1:33, GC = seq(1,0, length=33)))
练习4:创建和操作一个SummarizeExperiment对象
在这个小练习中,我们有来自9个极具天赋的个体的20个基因的数据我们将创造我们的第一个SummarizedExperiment
对象。
9个个体的20个基因的数据得到了a矩阵
data <- matrix(1:180, ncol=9, byrow=TRUE)
20个基因的数据可以用a表示农庄
gr_20gene <- GRanges(seqnames = paste0("gene", 1:20), ranges = IRanges(start=1:20, width = 1000), strand = c(rep("+", 10), rep("-", 10)), score =1:20, GC = seq(1,0, length=20)))
关于20个人的数据存储在一个data.frame
sample_df < - data.frame(名称= c(“马丁”、“Herve”、“丹”,“马克”,“瓦莱丽”,“吉姆”,“内特”,“保罗”,“Sonali”),性= c(代表(“男性”,4),“女性”,代表(“男性”,3),“女性”))
SummarizedExperiment
从上面列出的三个对象。SummarizedExperiment
SummarizedExperiment
创建一个新的,只包含女性核心团队的信息。SummarizedExperiment
创造一个只包含前两个基因的新基因。回答1
如果我们试图下载的包被调用GenomeInfoDb然后
source("//www.anjoumacpherson.com/biocLite.R") biocLite("GenomeInfoDb") vignette(package="GenomeInfoDb")
回答2
##读取数据fname <- system. #file("extdata", "epi_metadata.txt", package="BioC2015Introduction") df <- read.delim(fname, stringsAsFactors=FALSE) ##探索数据类(df)
# #[1]“data.frame”
头(df)
## eid group color memomonic std_name ## 1 e001 esc #924965 esc。I3 ES-I3 cell ## 2 E002 ESC #924965 ESC。WA7 ES-WA7 cell ## 3 E003 ESC #924965 ESC。H1 H1细胞## 4 E004 ES-deriv #4178AE ESDR.H1.BMP4。MESO H1 BMP4衍生的中胚层培养细胞## 5 E005 ES-deriv #4178AE ESDR.H1.BMP4。TROP H1 BMP4衍生滋养细胞培养细胞## 6 E006 ES-deriv #4178AE ESDR.H1。MSC H1派生的间充质干细胞# # EDACC_NAME解剖类型年龄性别SOLID_LIQUID # # 1 ES-I3_Cell_Line ESC PrimaryCulture CL女性< NA > # # 2 ES-WA7_Cell_Line ESC PrimaryCulture CL女性< NA > # # 3 H1_Cell_Line ESC PrimaryCulture CL男< NA > # # 4 H1_BMP4_Derived_Mesendoderm_Cultured_Cells ESC_DERIVED ESCDerived CL男< NA > # # 5 H1_BMP4_Derived_Trophoblast_Cultured_Cells ESC_DERIVED ESCDerived CL男< NA > # # 6 H1_Derived_Mesenchymal_Stem_Cells ESC_DERIVED ESCDerived CL男< NA > # #种族singledonor_composite ## 1 < na > sd ## 2 < na > sd ## 3 < na > sd ## 4 < na > sd ## 5 < na > sd ## 6 < na > sd
尾(df)
eid组颜色助记符std_name ## 122 e124 encode2012 #000000 bld.cd14。MONO单核细胞- cd14 + RO01746原代细胞## 123 E125 ENCODE2012 #000000 BRN。NHA NH-A星形胶质细胞原代细胞## 124 E126 ENCODE2012 #000000 SKIN。成人真皮成纤维细胞原代细胞## 125 E127 ENCODE2012 #000000 SKIN。NHEK-表皮角化细胞原代细胞## 126 E128 ENCODE2012 #000000 LNG。NHLF肺成纤维细胞原代细胞## 127 E129 ENCODE2012 #000000 BONE。骨的成骨细胞的主要细胞# # EDACC_NAME解剖类型年龄性别SOLID_LIQUID种族# # 122 Monocytes-CD14 + _RO01746血液PrimaryCell女# # 123 NH-A_Astrocytes大脑PrimaryCulture未知# # 124 NHDF-Ad_Adult_Dermal_Fibroblasts PrimaryCulture女# # 125 NHEK-Epidermal_Keratinocytes皮肤PrimaryCulture未知# # 126 NHLF_Lung_Fibroblasts肺PrimaryCulture未知# # 127成骨细胞骨PrimaryCulture未知# # SINGLEDONOR_COMPOSITE # # 122 SD 123 SD # # 124 # # SD 125 SD # # # #126 sd ## 127 sd
暗(df)
## [1] 127 13
colnames (df)
##[1]“eid”“group”“color”“mnemonic”##[5]“std_name”“edacc_name”“anatomy”“type”##[9]“age”“sex”“solid_liquid”“ethnicity”##[13]“singledonor_composite”
酸式焦磷酸钠(df、类)
## EID组颜色记忆##“字符”“字符”“字符”“字符”## STD_NAME EDACC_NAME解剖类型##“字符”“字符”“字符”“字符”“字符”“年龄性别SOLID_LIQUID种族##“字符”“字符”“字符”“字符”“字符”“字符”“字符”## SINGLEDONOR_COMPOSITE ##“字符”
##汇总数据汇总(df)
## EID GROUP COLOR mnnemonic STD_NAME ##长度:127长度:127长度:127长度:127长度:127长度:127 ##类:字符类:字符类:字符类:字符类:字符类:字符类:字符##模式:字符模式:字符模式:字符模式:字符## EDACC_NAME ANATOMY TYPE AGE SEX ##长度:127长度:127长度:127长度:127长度:127长度:127长度:127长度:127长度:127长度:127长度:127 ##类:字符类:字符类:字符##模式:字符模式:字符模式:字符模式:字符模式:字符## SOLID_LIQUID种族SINGLEDONOR_COMPOSITE ##长度:127长度:127长度:127 Class:字符Class:字符##模式:字符Mode:字符Mode:字符
表性(df)
## ##女女/未知男男/未知混合未知## 38 1 51 1 12 24
将数据df[df$GROUP %in% c("Brain", "消化道"),]
## EID组颜色记忆STD_NAME ## 65 E067脑#C5912B brn . ng . gyr脑角脑回## 66 E068脑#C5912B brn . cn . caud脑前尾状## 67 E069脑#C5912B brn . cn . gyr脑扣带脑回## 68 E070脑#C5912B brn . bp . mid脑海马中## 69 E071脑#C5912B brn . mid脑海马中## 70 E072脑#C5912B brn . dl . inf . tmp脑下颞叶## 71 E073脑#C5912B BRN.DL.PRFRNTL.CRTX脑背侧侧前额皮质## 72 E074脑#C5912B BRN.SUB.NIG脑黑质## 73 E075消化#C58DAA GI. cln . muc结肠黏膜## 75 E077消化#C58DAA GI. duo . muc十二指肠黏膜## 77 E079消化#C58DAA GI。ESO食道# 79 E081脑#C5912B BRN.FET.M胎儿脑#C5912B BRN.FET.F胎儿脑#雌# 82 E084消化#C58DAA gi . l.t t . fet胎儿肠大# 83 E085消化#C58DAA gi . s.t t . fet胎儿肠小# 90 E092消化#C58DAA GI.STMC.FET胎儿胃# 92 E094消化#C58DAA GI.STMC.GAST胃# 99 E101消化#C58DAA gi . rect . mtu .29直肠黏膜供体29 ## 100 E102消化道#C58DAA gi . rect . muca .31直肠黏膜供体31 ## 104 E106消化#C58DAA gi . cl . sig乙状结肠## 107 E109消化#C58DAA gi . s.t int小肠## 108 E110消化#C58DAA GI.STMC.MUC胃黏膜## EDACC_NAME解剖类型年龄性别固体-液体## 65脑角_脑回脑原组织75Y, 81Y混合固体## 66脑前_尾状脑原组织75Y, 81Y混合固体## 67脑带_脑回脑原组织75Y,81Y混合固体## 68脑基质脑原组织20GW男性固体## 69大脑_海马区_中脑原组织81Y, 73Y男性固体## 70大脑_下颞叶_脑原组织75Y, 81Y混合固体## 71大脑_中额叶_脑原组织75Y, 81Y混合固体## 72大脑_实质a_黑脑原组织75Y,81Y混合固体73结肠粘膜gi_十二指肠原生组织76Y男性固体77食管gi_食管原生组织34Y男性固体79胎儿脑_男性脑原生组织17GW, 17GW男性/未知固体80胎儿脑_女性脑原生组织17GW。17GW女82胎肠小gi_肠原生组织15GW男83胎肠小gi_肠原生组织15GW男90胎胃gi_胃原生组织女92胃gi_胃原生组织34Y男real ## 99直肠黏膜。供体29 GI_RECTUM原代组织50Y女性固体直肠粘膜## 100。供体_31 gi_直肠原生组织61Y女性104乙状结肠GI_COLON原生组织3Y, 34Y男性107小肠gi_肠原生组织3Y,34 y男性固体# # 108 Stomach_Mucosa GI_STOMACH PrimaryTissue 59 y男性固体# #种族SINGLEDONOR_COMPOSITE # # 65未知的未知未知C # # 66 C # # 67 C # # 68未知的未知未知SD # # 69 C # # 70 C # # 71未知的未知C # # 72 C # # 73白人SD # # 75白人SD # # # 79 # 77白人SD未知的未知未知C # # 80 C # # 82 SD # # 83未知SD # # 90 C # # 92白人SD # # # 100 # 99白人SD高加索SD # # 104白人/非裔美国人, Caucasian C ## 107 Caucasian/African American, Caucasian C ## 108 Caucasian SD
回答3
library(genome icranges) gr <- GRanges(seqnames = paste0("chr", c(1:22, tail(letters, 11))), ranges = IRanges(start=1:33, width = 1000), strand = c(rep("+", 10), rep("-", 23)), score =1:33, GC = seq(1,0, length=33)) ## extract ranges only from染色体3 gr[seqnames(gr) %in% "chr3",]
## seqnames range strand | score GC ## | ## [1] chr3 [3,1002] + | 3 0.9375 ## ------- ## seqinfo: 33个序列来自一个未指定的基因组;没有seqlengths
从grange中提取前五个范围。gr [1:5]
## seqnames range string| score GC ## | ## [1] chr1 [1,1000] + | 1 1 ## [2] chr2 [2,1001] + | 2 0.96875 ## [3] chr3 [3,1002] + | 3 0.9375 ## [4] chr4 [4,1003] + | 4 0.90625 ## [5] chr5 [5,1004] + | 5 0.875 # ------- ## seqinfo: 33个序列来自一个未指定的基因组;没有seqlengths
从GRanges mcols中提取分数和序列列(gr)
## 33行2列## score GC ## # ## 1 1 1.00000 ## 2 2 0.96875 ## 33 0.93750 ## 4 4 0.90625 ## 5 5 0.87500 ## ... ... ...## 29 29 0.12500 ## 30 30 0.09375 ## 31 31 0.06250 ## 32 32 0.03125 ## 33 33 0.00000
只保留标准染色体(即)从染色体1到22,x, y,m
## seqnames ranges strand | score GC ## | ## [1] chr1 [1,1000] + | 1 1 ## [2] chr2 [2,1001] + | 2 0.96875 ## [3] chr3 [3,1002] + | 3 0.9375 ## [4] chr4 [4,1003] + | 4 0.90625 ## [5] chr5 [5,1004] + | 5 0.875 ## ... ... ... ... ... ... ...## [18] chr18 [18,1017] - | 18 0.46875 ## | 19 0.4375 ## [20] chr20 [20,1019] - | 20 0.40625 ## [21] chr21 [21,1020] - | 21 0.375 ## [22] chr22 [22,1021] - | 22 0.34375 ## ------- ## seqinfo: 22个未知基因组序列;没有seqlengths
##更改染色体命名样式为NCBI seqlevelsStyle(gr) <- "NCBI" gr
## seqnames ranges string| score GC ## | ## [1] 1 [1,1000] + | 1 1 ## [2] 2 [2,1001] + | 2 0.96875 ## [3] 3 [3,1002] + | 3 0.9375 ## [4] 4 [4,1003] + | 4 0.90625 ## [5] 5 [5,1004] + | 5 0.875 ## ... ... ... ... ... ... ...## [29] CHRV [29,1028] - | 29 0.125 ## [30] CHRW [30,1029] - | 30 0.09375 ## [31] CHRX [31,1030] - | 31 0.0625 ## [32] chry [32,1031] - | 32 0.03125 ## [33] CHRZ [33,1032] - | 33 0 ## ------- ## seqinfo:来自未指定基因组的33个序列;没有seqlengths
## gap (gr)
使用32 # #农庄对象范围和0元数据列:链# # # # seqnames范围< Rle > < IRanges > < Rle > # # [1] 2 [1] + # # [2] 3 [1, 2] + # # 4 [3] [1,3] + # # 5 [4] [1,4] + # # [5] 6 [1 5 ] + ## ... ... ... ...## [28] CHRV [1,28] - ## [29] CHRW [1,29] - ## [30] CHRX [1,30] - ## [31] chry [1,31] - ## [32] CHRZ [1,32] - ## ------- # seqinfo:来自未指定基因组的33个序列;没有seqlengths
##查找范围的重叠程度覆盖(gr)
# # RleList长度33 # # $ ' 1 ' # # integer-Rle长度1000和1 # #运行长度:1000 # #值:1 # # # # $ ' 2 ' # # integer-Rle长度1001和2 # #运行长度:1000 # #值:0 1 # # # # 3 # # integer-Rle长度1002美元和2 # #运行长度:1000 # #值:0 1 # # # # 1003的4 # # integer-Rle长度与2 # #运行长度:1000 # #值:0 1 # # # # 1004的5 # # integer-Rle长度与2 # #运行长度:4 1000 # #值:0 1 ## ## ...## <28个元素>
Answer4
# data.frame(names=c("Martin", "Herve", "Dan", "Marc", "Valerie", "Jim", "Nate","Paul", "Sonali"), sex=c(rep("Male", 4), "Female", rep("Male", 3), "Female")) gr_20genes <- GRanges(seqnames = paste0("gene", 1:20), ranges = IRanges(start=1:20, width = 1000), strand =c(rep(" +", 10), rep("-", 10)), score =1:20, GC = seq(1,0, length=20)) data <- matrix(1:180, ncol=9,创建一个summarizeexperiment对象core_se <- summarizeexperiment (assays=data, rowRanges=gr_20genes, colData=DataFrame(sample_df)
## class: rangedsummarizeexperiment ## dim: 20 9 # metadata(0): ## assays(1): " ## rownames: NULL # rowRanges元数据列名(2):score GC ## colnames: NULL # colData names(2): names sex
##探索summarizeexperiment对象dim(core_se)
## [1] 20
头(化验(core_se)) #数据矩阵
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] ## [1,] 12 34 5 6 7 8 9 ## [2,] 10 11 12 13 13 14 15 16 17 18 ## [3,] 19 20 21 22 23 24 25 26 27 ## [4,] 28 29 30 31 32 32 34 35 36 ## [5,] 37 38 39 40 41 42 43 44 45 ## [6,] 46 47 48 49 50 51 52 53 54
rowRanges(core_se) #基因信息
与20范围和2 # #农庄对象元数据列:# # seqnames范围链|得分GC # # < Rle > < IRanges > < Rle > | <整数> <数字> # # [1]gene1 [1000] + | 1 1 # # [2] gene2 0.947368421052632 (1001) + | 2 # # [3] gene3 0.894736842105263 (1002) + | 3 # # [4] gene4 0.842105263157895 (1003) + | 4 # # [5] gene5 0.789473684210526 (1004) + | 5 ## ... ... ... ... ... ... ...# [16] gene16 [16,1015] - | 16 0.210526315789474 ## [17] gene17 [17,1016] - | 17 0.157894736842105 ## [18] gene18 [18,1017] - | 18 0.105263157894737 ## [19] gene19 [19,1018] - | 19 0.0526315789473685 ## | gene20 [20,1019] - | 20 0 ## ------- ## seqinfo:来自未指定基因组的20个序列;没有seqlengths
colData(core_se) #示例信息
##数据帧9行2列##名字性## <因子> <因子> # 1马丁男## 2埃尔维男## 3丹男## 4马克男## 5瓦莱丽女## 6吉姆男## 7内特男## 8保罗男## 9索纳利女#
core_se[, core_se$sex == "Female"]
## class: rangedsummarizeexperiment ## dim: 20 2 ## metadata(0): ## assays(1): " ## rownames: NULL # rowRanges元数据列名(2):score GC ## colnames: NULL # colData names(2): names sex
基因信息core_se[,1:2]
## class: rangedsummarizeexperiment ## dim: 20 2 ## metadata(0): ## assays(1): " ## rownames: NULL # rowRanges元数据列名(2):score GC ## colnames: NULL # colData names(2): names sex
sessionInfo ()
sessionInfo ()
## R版本3.2.1(2015-06-18)##平台:x86_64-unknown-linux-gnu(64位)##运行在Ubuntu 14.04.2 LTS下## ## locale: ## [1] LC_CTYPE=en_US。utf - 8 LC_NUMERIC = C而= en_US。UTF-8 ## [4] LC_COLLATE=C 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_IDENTIFICATION=C ## ##附加的基本包:## [1]stats4 parallel stats graphics grDevices utils datasets methods base ## ##其他附加的包:# # # # [1] org.Hs.eg.db_3.1.2 RSQLite_1.0.0 [3] DBI_0.3.1 TxDb.Hsapiens.UCSC.hg19.knownGene_3.1.3 # # [5] GenomicFeatures_1.21.13 AnnotationDbi_1.31.17 # # [7] AnnotationHub_2.1.30 RNAseqData.HNRNPC.bam.chr14_0.7.0 # # [9] GenomicAlignments_1.5.11 Rsamtools_1.21.14 # # [11] Biostrings_2.37.2 XVector_0.9.1 # # [13] SummarizedExperiment_0.3.2 Biobase_2.29.1 # # [15] GenomicRanges_1.21.16 GenomeInfoDb_1.5.8 # # [17] IRanges_2.3.14 S4Vectors_0.7.10 # # [19] BiocGenerics_0.15.3 ggplot2_1.0.1 # # [21]BiocStyle_1.7.4 ## ##通过命名空间加载(没有附加):## [1] reshape2_1.4.1 colorspace_1.2-6 htmltools_0.2.6 ## [4] rtracklayer_1.29.12 yaml_2.1.13 interactiveDisplayBase_1.7.0 ## [7] XML_3.98-1.3 BiocParallel_1.3.34 lambda.r_1.1.7 ## [10] plyr_1.8.3 string_1 .0.0 zlibbioc_1.15.0 ## [13] munsell_0.4.2 gtable_0.1.2 futile.logger_1.4.1 ## [13] codetools_0.2-14 evaluate_0.7 labeling_0.3 ## [19] knitr_1.10.5 biomaRt_2.25.1 httpuv_1.3.2 ## [22] BiocInstaller_1.19.8 curl_0.9.1 proto_0.3-10 ## [25] Rcpp_0.11.6 xtable_1.7-4 scales_0.2.5 ## [7] formatR_1.2mime_0.3 digest_0.6.8 ## [31] stringi_0.5-5 shiny_0.12.1 grid_3.2.1 ## [34] tools_3.2.1 bitops_1.0-6 magrittr_1.5 ## [37] RCurl_1.95-4.7 futile.options_1.0.0 MASS_7.3-43 ## [40] rmarkdown_0.7 httr_1.0.0 R6_2.1.0