内容

1什么是概括分析

Alt SummarizedExperiment

Alt SummarizedExperiment

2使用现有的概括分析目的

图书馆(摘要分析)

气道实验数据包总结了一项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 ...样品生物素

2.1三个主要部分概括分析

锻炼是什么暗淡()Dimmnames()气道对象?行和列在原始实验方面对应什么?提示:使用dplyr:看到()看看每一个的前几个元素dimnames

锻炼使用的函数分析()Coldata()rowranges()提取三种主要成分气道数据集。分析()大,那么询问它用吗班级()暗淡()头()而不是简单地将它打印到屏幕上。这些部件中的每种部分都在该对象中总结的RNASEQ实验方面进行了多种多组?

2.2的类矩阵行为概括分析

作为快速进修,一个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(),分析()结果对象。

2.3基本的总结分析()

回到我们的简单矩阵

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,然后取自然数日志(),然后创建一个向量来表示这个变换矩阵的每一行的平均值。这个向量代表什么?用直方图、密度图或其他表示方式将其可视化。

2.4构造子集概括分析

我们提到总结实验实现了类似矩阵的二维[构造子集接口。

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

锻炼删除所有行气道所有样本中都没有基因表达。有多少行没有表达式?重新计算对数变换后的平均表达式的直方图,排除这些行。

2.5列表类似的界面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

IRangesS4Vectors,GenomicRanges软件包实现几个实现此列表的界面的类;课程全部以名称结尾*列表,例如,GRangesList

锻炼从中提取行范围气道,使用班级()以发现对象的类型。列表中的每个元素代表什么?整个列表代表什么?

R < -  Rowranges(Airway)

锻炼向自己证明该对象实现了一个类似列表的接口,支持长度()[[[子集。

锻炼使用长度()确定每个基因外显子的数量。一个外显子有多少基因?什么基因有最多的外显子?

2.6出差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”)

2.7借助重叠

% / %函数对于运算符左侧左侧的每个范围返回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号染色体上的基因。

锻炼我们花了很长的路线来获得这个逐个重叠;用两行代码汇总我们的故事,使我们允许我们气道通过重叠。

3.构建一个概括分析对象“手工”

库(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 ...样品生物素

锻炼下面的例子从讲座中,计算总文库大小和绘制平均对数基因表达从你新创建概括分析

4.来源

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