概括分析
?分析()
那测定()
:一个矩阵
类似或列表矩阵
尺寸相同的类似物体矩阵
- 风:实现暗淡()
那Dimmnames()
,二维[
那(< -
方法。Coldata()
:每列上的注释,如DataFrame
。rowData ()
和/或rowranges()
:每行注释。rowranges()
:成绩单中基因/外显子的坐标。rowData ()
:P.差异表达分析后各基因的-值和对数倍变化。元数据()
:描述对象整体内容的非结构化元数据列表。概括分析
目的图书馆(摘要分析)
这气道实验数据包总结了一项RNA-seq实验,研究了地塞米松处理的人类平滑肌气道细胞系。加载库和数据集。
库(气管)数据(气管)气道
##类:范围:umaMarizedexperiment ## Dim:64102 8 ##元数据(1):''##测定(1):Counts ## Rownames(64102):ENSG00000000005 ... LRG_98 LRG_99 ## ROWDATA名称(0):## Colnames(8):SRR1039508 SRR1039509 ... SRR1039520 SRR1039521 ## COLDATA名称(9):SAMPLENAME CELL ...样品生物素
概括分析
锻炼是什么暗淡()
和Dimmnames()
气道对象?行和列在原始实验方面对应什么?提示:使用dplyr:看到()
看看每一个的前几个元素dimnames
。
锻炼使用的函数分析()
那Coldata()
那rowranges()
提取三种主要成分气道
数据集。分析()
大,那么询问它用吗班级()
那暗淡()
和头()
而不是简单地将它打印到屏幕上。这些部件中的每种部分都在该对象中总结的RNASEQ实验方面进行了多种多组?
概括分析
作为快速进修,一个R.矩阵
set.seed(123)m < - 矩阵(rnorm(12),nrow = 4,ncol = 3,dimnames = list(字母[1:4],字母[1:3]))m
## C - 0.55870831 0.609162 1.2240818 ## d 0.07050839 -1.2650612 0.3598138
它的界面有三个主要组件,暗淡()
那Dimmnames()
和二维的[
构造子集。
暗(m)
1 . ## 3 . ## 4
dimnames (m)
# # # #[1]([1])“a”“b”“c”“d " ## ## [[ 2]] # #[1]“A”“B”“C”
m (1:2, 2:1)
## B A ## A 0.1292877 -0.5604756 ## B 1.7150650 -0.2301775
m [1:2]
## A -0.5604756 0.1292877 -0.6868529 ## B -0.2301775 1.7150650 -0.4456620
一个棘手而不幸的行为是对矩阵的一行或一列进行子集化,默认情况下将矩阵强制化为向量
m [1]
## a b c # -0.5604756 0.1292877 -0.6868529
m [1]
## A B C D ## -0.56047565 -0.23017749 1.55870831 0.07050839
属性避免这种行为= FALSE下降
论点。
m[1,, drop = FALSE]
## A B C ## A -0.5604756 0.1292877 -0.6868529
概括分析
实现“类矩阵”接口。这意味着它支持这些函数暗淡()
那Dimmnames()
和二维的[
构造子集。
锻炼子集气道
包含前5行和前4列。检查Coldata()
那rowranges()
,分析()
结果对象。
分析()
值回到我们的简单矩阵
m
## C - 0.55870831 0.609162 1.2240818 ## d 0.07050839 -1.2650612 0.3598138
对矩阵进行变换是很简单的,例如,通过加1
m + 1
## A B C ## A 0.4395244 1.1292877 0.3131471 0.7698225 2.7150650 0.5543380 0.5543380 0.5543380 0.5543380 0.5543380 0.5543380 0.5543380 0.5543380#4609182 2.2240818#6 D 1.0705084 -0.2650612 1.0.2650612 1.0.2650612 1.3598138
或申请转型
ABS(M + 1)
# # A B C # # 0.4395244 1.1292877 0.3131471 # # B C 2.5587083 1.4609162 2.2240818 0.7698225 2.7150650 0.5543380 # # # # d 1.0705084 0.2650612 1.3598138
在矩阵上经常执行的行和列明智的操作有特殊功能(检查matrixStats包装以进一步数学运算),例如,
colSums (m)
## A B C ## 0.8385636 1.0402077 0.4513808
rowMeans (m)
## a b c d ## -0.3726803 0.3464085 1.0812354 -0.2782463
锻炼提取分析()
的组成部分气道
然后计算列和。这些数字代表什么?
锻炼改变分析()
矩阵加1,然后取自然数日志()
,然后创建一个向量来表示这个变换矩阵的每一行的平均值。这个向量代表什么?用直方图、密度图或其他表示方式将其可视化。
概括分析
我们提到总结实验实现了类似矩阵的二维[
构造子集接口。
这Coldata()
的气道
包含有关实验设计的信息,例如每个样本的细胞系和地塞米松处理水平。
colData(气管)
运行avgLength ## ## SRR1039508 GSM1275862 N61311 untrt untrt SRR1039509 GSM1275863 N61311 trt untrt SRR1039509 126 ## SRR1039512 GSM1275866 N052611 untrt untrt SRR1039512 126 ## SRR1039512 GSM1275867 N052611SRR1039513 87 ## SRR1039516 GSM1275870 N080611 untrt untrt SRR1039516 120 ## SRR1039517 GSM1275871 N080611 untrt untrt SRR1039517 126 ## SRR1039520 GSM1275874 N061011 untrt untrt SRR1039521 98 ##实验样本生物样本##
访问每一列都有捷径,例如,
气道美元敏捷
## [1] untrt untrt untrt untrt ##级别:untrt
练习使用此快捷方式快速子集气道
所以它只有untrt
样品现在。验证分析()
数据也得到了正确的子集。
在处理矩阵时,常见的情况是基于某种标准来操作一组行,例如,如果希望保持行平均值大于0,就可以这样做
RIDX < - ROWMEANS(M)> 0 M [RIDX,DROP = FALSE]
## A / B / C / C / C / C / C
锻炼删除所有行气道
所有样本中都没有基因表达。有多少行没有表达式?重新计算对数变换后的平均表达式的直方图,排除这些行。
GRangesList
一个R.列表()
是包含不同类型的向量(包括其他列表)的对象。这里有一个简单的例子
L <- list(a = 1:5, b = month.abb)
到列表的接口允许长度()
那[
(返回原始列表的子集)和[[
(按名称或按位置提取列表的单个元素)。列表的元素可以,但不必是,命名。
名称(左)
## [1] "a" "b"
长度(l)
## [1] 2
l [c(2,1)]
## $ B ## [1]“Jan”“2月”“Mar”“Apr”“May”“Jun”“Jul”“8月”“SEP”“OCT”“十月”“第12章”## ## $ a ## [1] 1 2 3 4 5
l [2]#长度1列表,包含原始列表的元素2
## $ B ## [1]“Jan”“2月”“Mar”“Apr”“May”“Jun”“Jul”“8月”“SEP”“OCT”“十月”“第12章”
l [[2]]#元素2原始列表
## [1]“Jan”“2月”“Mar”“Apr”“5月”“Jun”“Jul”“8月”“SEP”“OCT”“十月”“”第12号“”十二月“
一个有用的函数是长度()
,它返回一个向量,该向量的长度是lsit中每个元素的长度
长度(l)
## a b ## 5
这IRanges那S4Vectors,GenomicRanges软件包实现几个实现此列表的界面的类;课程全部以名称结尾*列表
,例如,GRangesList
。
锻炼从中提取行范围气道
,使用班级()
以发现对象的类型。列表中的每个元素代表什么?整个列表代表什么?
R < - Rowranges(Airway)
锻炼向自己证明该对象实现了一个类似列表的接口,支持长度()
那[
和[[
子集。
锻炼使用长度()
确定每个基因外显子的数量。一个外显子有多少基因?什么基因有最多的外显子?
GRangesList
隆重
/GRangesList
对象包含关于范围所指的基因组的出处信息,可以使用seqinfo ()
。
锻炼使用seqinfo(右)
为了提取基因组范围所基于的序列信息。
锻炼请注意基因组
总是NA
。快速看看小插图browseVignettes(“气道”)
,扫描到“对齐读取”部分。我们被告知用于对准的参考基因组是“GRCH37”。更新行范围以包含此信息
基因组(R)< - “GRCH37”SEQINFO(R)
## Seqinfo object with 722 sequences (1 circular) from GRCh37 genome: ## seqnames seqsequences isCircular genome ## 1 249250621 FALSE GRCh37 ## 2 243199373 FALSE GRCh37 ## 3 198022430 FALSE GRCh37 ## 4 191154276 FALSE GRCh37 ## 5 180915260 FALSE GRCh37 ## ... ... ... ...## LRG_94 12428 FALSE GRCh37 ## LRG_96 93210 FALSE GRCh37 ## LRG_97 25996 FALSE GRCh37 ## LRG_98 18750 FALSE GRCh37 ## LRG_99 13294 FALSE GRCh37
更新rowranges()
的气道
有了更多完整的信息。
rowRanges(气管)< - r
请注意,概括分析
有方便的功能,允许直接访问来源
seqinfo(气管)
## Seqinfo object with 722 sequences (1 circular) from GRCh37 genome: ## seqnames seqsequences isCircular genome ## 1 249250621 FALSE GRCh37 ## 2 243199373 FALSE GRCh37 ## 3 198022430 FALSE GRCh37 ## 4 191154276 FALSE GRCh37 ## 5 180915260 FALSE GRCh37 ## ... ... ... ...## LRG_94 12428 FALSE GRCh37 ## LRG_96 93210 FALSE GRCh37 ## LRG_97 25996 FALSE GRCh37 ## LRG_98 18750 FALSE GRCh37 ## LRG_99 13294 FALSE GRCh37
锻炼使用作为()
将序列信息强制转换为隆重
对象,并选择14号染色体对应的基因组范围。
图书馆(DOLER)#%>%
chr14 < - seqinfo (r) % > %作为(“农庄”)% > %子集(seqnames = =“14”)
这% / %
函数对于运算符左侧左侧的每个范围返回true,它在操作员右侧的范围内。因此,行范围重叠染色体14是
Idx <- r% over% chr14 r[Idx]
## GRangesList object of length 2244: ## $ENSG00000006432# # seqnames范围链| exon_id exon_name # # < Rle > < IRanges > < Rle > | <整数> <人物> # # [1]14 71189243 - 71197581 | 453195 ENSE00002597852 # # 14 [2] 71196368 - 71197581 | 453196 ENSE00002485643 # # [3] 14 71196383 - 71197581 | 453197 ENSE00002510454 # # 14 [4] 71196653 - 71197581 | 453198 ENSE00002249042 # # 14 71196852 - 71197581 | [5]453199年ENSE00001518020 ## ... ... ... ... . ... ...14 # # [22] 71249940 - 71250162 | 453216 ENSE00002524190 # # [23] 14 71267384 - 71267797 | 453217 ENSE00001137145 # # [24] 14 71275483 - 71275888 | 453218 ENSE00001518024 # # [25] 14 71275483 - 71276223 | 453219 ENSE00002468641 # # [26] 14 453220 - 71276251 | 71275483 ENSE00002511719 ## ------- ## seqinfo:GRCh37基因组722个序列(1个循环)## ##…## <2243更多的元素>
锻炼多少范围R.
14号染色体重叠?
锻炼使用idx
到子集气道
只包含14号染色体上的基因。
锻炼我们花了很长的路线来获得这个逐个重叠;用两行代码汇总我们的故事,使我们允许我们气道
通过重叠。
概括分析
对象“手工”库(readr)库(宠物猫)
Pdata_file <- file.choos() # airway-sample-sheet.csv counts_file <- file.choose() # airway-read-count .csv .csv
锻炼使用read_csv()
导入样品表并读取计数。
pdata < - read_csv (pdata_file)
# #与列规范解析:# #关口(# # SampleName = col_character(), # #电池= col_character(), # #敏捷= col_character (), # # albut = col_character (), # # = col_character运行(),# # avgLength = col_double(), # #实验= col_character(), # #样品= col_character (), # # BioSample = col_character () # #)
counts < - read_csv(counts_file)
##用列规范解析:## cols(## .default = col_double(),## run = col_character()##)
##请参阅spec(…)以获得完整的列规范。
锻炼集合概括分析
从转置算
和pdata.
。这“跑步”
类上的行名pdata.
和算
对象。
pdata <- column_to_rownames(pdata, "Run") counts <- column_to_rownames(counts, "Run") se <- summarizedexperize (t(counts), colData = pdata) se
##类:摘要分析## DIM:33469 8 ##元数据(0):##测定(1):''## Rownames(33469):ENSG00000000419 ... ## rowdata名称(0)eseg0000000273492 ## ensg00000273492:## colnames(8):SRR1039508 SRR1039509 ... SRR1039520 SRR1039521 ## COLDATA名称(8):SAMPLENAME CELL ...样品生物素
锻炼下面的例子从讲座中,计算总文库大小和绘制平均对数基因表达从你新创建概括分析
。
sessioninfo()
## R version 3.6.0补丁(2019-04-26 r76431) ## Platform: x86_64-apple-darwin17.7.0 (64-bit) ## Running under: macOS High Sierra 10.13.6 ## ## Matrix products: default ## BLAS: /Users/ma38727/bin/R-3-6-branch/lib/libRblas。/ user /ma38727/bin/R-3-6-branch/lib/libRlapackdylib # # # #语言环境:# # [1]en_US.UTF-8 / en_US.UTF-8 en_US.UTF-8 / C / en_US.UTF-8 / en_US。UTF-8 ## ## attached base packages: ## [1] parallel stats4 stats graphics grDevices utils datasets ## [8] methods base ## ### # # # [1] tibble_2.1.3 readr_1.3.1 [3] dplyr_0.8.2 airway_1.5.0 # # [5] SummarizedExperiment_1.15.5 DelayedArray_0.11.2 # # [7] BiocParallel_1.19.0 matrixStats_0.54.0 # # [9] Biobase_2.45.0 GenomicRanges_1.37.14 # # [11] GenomeInfoDb_1.21.1 IRanges_2.19.10 # # [13] S4Vectors_0.23.17 BiocGenerics_0.31.4 # # [15] BiocStyle_2.13.2 # # # #通过加载命名空间(并没有附加):# # # # [1] Rcpp_1.0.1 pillar_1.4.2 compiler_3.6.0 [4] BiocManager_1.30.5.1 XVector_0.25.0 bitops_1.0-6 # # [7] tools_3.6.0 zlibbioc_1.31.0 digest_0.6.19 # # [10] evaluate_0.14 lattice_0.20-38 pkgconfig_2.0.2 # # [13] rlang_0.4.0 Matrix_1.2-17 yaml_2.2.0 # # [16] xfun_0.8 GenomeInfoDbData_1.2.1 stringr_1.4.0 # # [19] knitr_1.23 hms_0.4.2 tidyselect_0.2.5## [22] grid_3.6.0 glue_1.3.1 R6_2.4.0 ## [25] rmarkdown_1.13 bookdown_0.11 purrr_0.3.2 ## [28] magrittr_1.5 codetools_0.2-16 htmltools_0.3.6 ## [31] assertthat_0.2.1 stringi_1.4.3 RCurl_1.95-4.12 ## [34] crayon_1.3.4