内容

1生物学

基因表达

RNA-seq

单细胞技术

2大数据

2.1什么和如何

它是什么?

  • 不适合记忆
  • 计算上处理起来很昂贵

常用案件

  • 问:在这个大草堆里,我的针在哪里
  • 处理 - 例如,减少汇总统计

2.2策略

疑问

  • 例如,数据库

加工

  • 迭代& chunk-wise
  • 分布式/并行

3.现实:对象

3.1对象

我们将设置一些数据来使用(不要注意这个!)

dir < -  tempdir()if(!dir.exists))write.table(测定(airway),file.path(dir,“表示.csv”))

相关数据元素

示例< -  read.table(file.path(dir,samples.csv)样本
## SampleName cell dex albut Run avgLength Experiment ## SRR1039508 GSM1275862 N61311 untrt untrt SRR1039508 126 SRX384345 ## SRR1039509 GSM1275863 N61311 trt untrt SRR1039509 126 SRX384346 ## SRR1039512 GSM1275866 N052611 untrt untrt SRR1039512 126 SRX384349 ## SRR1039513 GSM1275867 N052611 trt untrt SRR1039513 87 SRX384350 ## SRR1039516GSM1275870 N080611 untrt untrt SRR1039516 120 SRX384353 ## SRR1039517 GSM1275871 N080611 trt untrt SRR1039517 126 SRX384354 ## SRR1039520 GSM1275874 N061011 untrt SRR1039520 101 SRX384357 ## SRR1039521 GSM1275875 N061011 trt untrt SRR1039521 98 SRX384358 ## Sample bisample # SRR1039508 SRS508568 SAMN02422669 ## SRR1039509 SRS508567SAMN02422675 ## SRR1039512 SRS508571 srs02422678 SRS508572 srs02422670 SRR1039516 SRS508575 srs02422682 SRR1039517 SRS508576 srs02422673 srs1039520 SRS508579 srs02422683 SRS508580 srs02422677
< - read.table(文件。路径(dir,“expression.csv”)负责人(计数)
## SRR1039508 SRR1039509 SRR1039512 SRR1039513 SRR1039516 ## ENSG00000000003 679 448 873 408 1138 ## 0 ENSG00000000005 0 0 0 0 ## 467 ENSG00000000419 515 621 365 587 ## 260 ENSG00000000457 211 263 164 245 ## 60 ENSG00000000460 55 40 35 78 ## ENSG000000009380 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0
计数< - as.matrix(计数)

坐标数据管理

  • 分开管理的样本计数是否容易出错,例如子集样本但不是计数和样本行和计数列的关联会被分发。
库(SummarizedExperiment) SummarizedExperiment ()
##类:摘要分析## DIM:0 0 ##元数据(0):##测定(0):## Rownames:null ## RowData名称(0):## Colnames:Null ## Coldata名称(0):

一个' S4 '对象,用于用行和列注释协调'分析'矩阵

se <- summarizedexperimental (assays = list(counts = counts), colData = samples) se . se
##类:摘要分析## DIM:64102 8 ##元数据(0):##测定(1):计数## Rownames(64102):ENSG00000000005 ... LRG_98 LRG_99 ## ROWDATA名称(0):##COLNAMES(8):SRR1039508 SRR1039509 ... SRR1039520 SRR1039520 SRR1039521 ## COLDATA名称(9):SAMPLENAME CELL ...样品生物素

类允许开发人员轻松制作数据访问

  • 例如,类似矩阵的'接口'
  • 访问器,因此可以选择内部表示效率,而用户界面仍然易于使用
se $ dex.
## [1] UNTTT TRT UNTRT TRT TRT TRT TRT TRT ##级别:TRT UNTRT
se [,se $ dex ==“trt”]
## class: summarizeexperiment ## dim: 64102 4 ## metadata(0): ## assays(1): counts ## rownames(64102): ENSG00000000003 ENSG00000000005…LRG_98 LRG_99 ## rowData names(0): ## colnames(4): SRR1039509 SRR1039513 SRR1039517 SRR1039521 ## colData names(9): SampleName cell…样本BioSample

数据操作,例如非零行

idx <- row和(测定(se)) > 0 se[idx,]
## class: summarizeexperiment ## dim: 33469 8 ## metadata(0): ## assays(1): counts ## rownames(33469): ENSG00000000003 ENSG00000000419…ENSG00000273492 ## ENSG00000273493 ## rowData names(0): ## colnames(8): SRR1039508 SRR1039509SRR1039520 SRR1039521 ## colData names(9): SampleName cell…样本BioSample

简单的可视化

2 .将colsum (test (se)), xlab = "库大小"的值设置为

expr < -  rowsums(测定(se))绘图(浓度(log(expr [expr [expr> 0])),ylab =“日志表达式”)

4整洁的数据和潮汐宇宙

不是“更好”,而是不同

基地R和正式物体挑战

“整洁”分析

图书馆(Dibble)库(Tibble)

管,% > %

数据表示

子宫内膜:胫骨,藏出来

Cars < -  rownames_to_column(MTCars,“make”)%>%as_tibble()汽车%>%滤波器(cyl> = 6)
###A Tibble:21 x 12 ##制作MPG Cyl Disp HP DRAT WT QSEC VS AM齿轮CARB ##             ## 1 mazda r ... 21 6 160 110 3.9 2.62 16.5 0 1 4 4 ## 2 Mazda R ... 21 6 160 110 3.9 2.88 17.0 0 1 4 4 ## 3大黄蜂......21.4 6 258 110 3.08 3.22 19.4 1 0 3 1 ## 4大黄蜂... 18.7 8 360 175 3.15 3.44 17.0 0 0 3 2 ## 5 Valiant 18.1 6 225 105 2.76 3.46 20.2 1 0 3 1#6 Duster ... 14.3 8 360245 3.21 3.57 15.8 0 0 3 4 ## 7 Merc 280 19.2 6 168. 123 3.92 3.44 18.3 1 0 4 4 4#8 Merc 28 ... 17.8 6 168.123 3.92 3.44 18.9 1 0 4 4 ## 9 Merc 45 ... 16.48 276. 180 3.07 4.07 17.4 0 0 3 3 ## 10 Merc 45 ... 17.3 8 276.180 3.07 3.73 17.6 0 0 3 3 ### ......有11个行
select(make, mpg, cyl, disp)
####A tibble:32 x 4 ##制作MPG Cyl Disp ##     ## 1 Mazda RX4 21 6 160 ## 2 Mazda RX4 WAG 21 6 160 ## 3 Datsun710 22.8 4 108 ## 4大黄蜂4驱动器21.4 6 258#5大黄蜂运动臂18.7 8 360#6 valiant 18.1 6 225#7 Duster 360 14.3 8 360#8 Merc 240d 24.4 4 147. ## 9 Merc 23022.8 4 141. ## 10 Merc 280 19.2 6 168. ###......更多的行

一般来说,与“十字极”的其他包装一起玩

图书馆(GGPLOT2)
汽车%>%ggplot(aes(x = fing(cyl),y = mpg))+ geom_boxplot()

5数据库

5.1数据基地表示

创建一个sqlite数据库

library(RSQLite) airway_db <- file。path(dir, "airway.sqlite") con <- dbConnect(SQLite(), airway_db)

添加一个示例表

sample < -  tibble :: rownames_to_column(as.data.frame(goldata(coldata(se)),var =“scession”)dbwritetable(con,“样本”,样本)

添加计数表,以“整洁”表单

计数< - 重塑:: Melt(测定(SE),C(“特征”,“加入”))Colnames(count)[3] =“count”dbwritetable(con,“count”,count)

使用SQL语句提取数据

dblisttables(con)
##[1] "计数" "样本"
dbgetquery(con,“选择*从样本;”)
##保藏SampleName细胞DEX albut运行avgLength实验## 1 SRR1039508 GSM1275862 N61311 untrt untrt SRR1039508 126 SRX384345 ## 2 SRR1039509 GSM1275863 N61311 TRT untrt SRR1039509 126 SRX384346 ## 3 SRR1039512 GSM1275866 N052611 untrt untrt SRR1039512 126 SRX384349 ## 4 SRR1039513 GSM1275867 N052611 TRTuntrt SRR1039513 87 SRX384350 ## 5 SRR1039516 GSM1275870 N080611 untrt untrt SRR1039516 120 SRX384353 ## 6 SRR1039517 GSM1275871 N080611 TRT untrt SRR1039517 126 SRX384354 ## 7 SRR1039520 GSM1275874 N061011 untrt untrt SRR1039520 101 SRX384357 ## 8 SRR1039521 GSM1275875 N061011 TRT untrt SRR1039521 98 SRX384358 ##样品生物样品## 1 SRS508568 SAMN02422669 ## 2 SRS508567 SAMN02422675 ## 3 SRS508571 SAMN02422678 ## 4 SRS508572 SAMN02422670 ## 5 SRS508575 SAMN02422682 ## 6 SRS508576 SAMN02422673 ## 7 SRS508579 SAMN02422683 ## 8 SRS508580 SAMN02422677
dbGetQuery(con, "SELECT Accession, cell, dex FROM Sample;")
##加入单元格DEX ## 1 SRR1039508 N61311 UNTRT ## 2 SRR1039509 N61311 TRT ## 3 SRR1039512 N052611 UNTRT ## 4 SRR1039513 N052611 TRT ## 5 SRR1039516 N080611 UNTRT ## 6 SRR1039517 N080611 TRT ## 7 SRR1039520 N061011 UNTRT ## 8SRR1039521 N061011 TRT.
dbgetquery(con,“从计数限制3;”)
##功能登录计数## ENSG00000000003 SRR1039508 679 ## 2 ensg00000000005555550055000055555005555055555055503/379 SRR1039508 467
dbdisconnect(con)

5.2dbplyr.

打开数据库

库(dplyr)库(dbplyr) src <- src_sqlite(airway_db) src
## src: sqlite 3.22.0 [/private/var/folders/yn/gmsh_22s2c55v816r6d51fx1tnyl61/T/RtmpLt7lbb/airway## tbls: count, sample

“样本”表格上的操作 - 标准动词,加上收集()

台(src,“样本”)
###源:表 [??x 10] ####数据库:sqlite 3.22.0 ###>         ## 1 srr10395 ... GSM1275862 N613 ... UNTRT UNTRT SRR1 ... 126 SRX384345 SRS50 ... ## 2 SRR10395 ... GSM1275863 N613 ... TRTuntrt SRR1 ... 126 SRX384346 SRS50 ... ## 3 SRR10395 ... GSM1275866 N052 ... untrt untrt SRR1 ... 126 SRX384349 SRS50 ... ## 4 SRR10395 ... GSM1275867 N052 ... TRT untrt SRR1 ... 87 SRX384350 SRS50 ... ## 5 ... SRR10395 GSM1275870 N080 ... untrt untrt SRR1... 120 SRX384353 SRS50 ... ## 6 SRR10395 ... GSM1275871 N080 ... TRT untrt SRR1 ... 126 SRX384354 SRS50 ... ## 7 SRR10395 ... GSM1275874 N061 ... untrt untrt SRR1 ... 101 SRX384357 SRS50 ... ## 8 ... SRR10395 GSM1275875 N061 ... TRT untrt SRR1 ... 98SRX384358 SRS50 ... ###......具有1个变量:Biosample 
tbl(src, "Sample") %>% select(Accession, cell, dex)
## #延迟查询## # [/private/var/folders/yn/gmsh_22s2c55v816r6d51fx1tnyl61/T/RtmpLt7lbb/airway…]sqlite] ## Accession cell dex ##    ## 1 SRR1039508 N61311 untrt ## 2 SRR1039509 N61311 untrt ## 3 SRR1039513 N052611 untrt ## 5 SRR1039516 N080611 untrt ## 7 SRR1039520 N061011 untrt ## 8 SRR1039521 N061011 trt
台(src,“样本”)% > %过滤器(敏捷= =“泰爱泰党”)% > %收集()
###ATIBBLE:4 x 10 ##加入SAMPLENAME CELL DEX ALPUT运行AVGLENG实验样本##         ##1 srr10395 ... GSM1275863 N613 ... TRT UNTRT SRR1 ... 126 SRX384346 SRS50 ... ## 2 SRR10395 ... GSM1275867 N052 ... TRT UNTRT SRR1 ... 87 SRX384350 SRS50 ... ## 3 SRR10395 ... GSM1275871 N080 ... TRT UNTRT SRR1 ... 126 SRX384354 SRS50 ... ## 4SRR10395 ... GSM1275875 N061 ... TRT UNTRT SRR1 ... 98 SRX384358 SRS50 ... ### ......带有1个变量:BIOSAMPLE 

对“Count”表的操作

台(src,“数”)
###源:表 [??x 3] #####数据库:SQLite 3.22.0 ###[/private/var/folders/yn/gmsh_22s2c555v816r6d51fx1tnyl61/t/rtmplt7lbb/airway.sqlite] ##功能登录计数##    ## 1 ENSG00000000003 SRR1039508 679 ## 2 ENSG00000000005 SRR1039508 0 ## 3 ENSG00000000419 SRR1039508 467 ## 4 ENSG00000000457 SRR1039508 260 ## 5 ENSG00000000460 SRR1039508 60 ## 6 ENSG00000000938 SRR1039508 0 ## 7 ENSG00000000971 SRR1039508 3251 ## 8 ENSG00000001036 SRR1039508 1433##9 ensg00000001084 srr1039508 519 ## 10 ensg00000001167 srr1039508 394 ### ...更多的行
TBL(SRC,“count”)%>%group_by(加入)%>%概述(library_size = sum(count))%>%collect()
## # A tibble: 8 x 2 ## Accession library_size ##   ## 1 SRR1039508 20637971 ## 2 SRR1039509 18809481 ## 3 SRR1039512 25348649 ## 4 SRR1039513 15163415 ## 5 SRR1039516 24448408 ## 6 SRR1039517 30818215 ## 7 SRR1039520 19126151 ## 8 SRR1039521 21164133

表之间的关系

Left_Join(TBL(SRC,“计数”),TBL(SRC,“样本”)))
##加入,=“加入”
## #延迟查询## ## [/private/var/folders/yn/gmsh_22s2c55v816r6d51fx1tnyl61/T/RtmpLt7lbb/airway…]sqlite) # #功能加入细胞计数SampleName敏捷albut运行avgLength # # <空空的> <空空的> < int > <空空的> <空空的> <空空的> <空空的> <空空的> < int > # # 1 ENSG00 SRR10395…679年GSM1275862 N613…untrt untrt SRR1…126 # # 2 ENSG00…SRR10395…0 GSM1275862 N613…untrt untrt SRR1…126 # # 3 ENSG00…SRR10395…467年GSM1275862 N613…untrt untrt SRR1…126 # # 4 ENSG00…SRR10395…260.GSM1275862 N613… untrt untrt SRR1… 126 ## 5 ENSG00… SRR10395… 60 GSM1275862 N613… untrt untrt SRR1… 126 ## 6 ENSG00… SRR10395… 0 GSM1275862 N613… untrt untrt SRR1… 126 ## 7 ENSG00… SRR10395… 3251 GSM1275862 N613… untrt untrt SRR1… 126 ## 8 ENSG00… SRR10395… 1433 GSM1275862 N613… untrt untrt SRR1… 126 ## 9 ENSG00… SRR10395… 519 GSM1275862 N613… untrt untrt SRR1… 126 ## 10 ENSG00… SRR10395… 394 GSM1275862 N613… untrt untrt SRR1… 126 ## # … with more rows, and 3 more variables: Experiment , Sample , ## # BioSample 
Left_Join(TBL(SRC,“计数”),TBL(SRC,“样本”)%>%选择(登录,单元格,德克斯))
##加入,=“加入”
## #延迟查询x 5] ###数据库:SQLite 3.22.0 ###[/private/var/folders/yn/gmsh_22s2c55v816r6d51fx1tnyl61/t/rtmplt7lbb/airway.sqlite] ##功能登录计数Cell Dex ##    ## 1 ENSG00000000003 SRR1039508 679 N61311 untrt ## 2 ENSG00000000005 SRR1039508 0 N61311 untrt ## 3 ENSG00000000419 SRR1039508 467 N61311 untrt ## 4 ENSG00000000457 SRR1039508 260 N61311 untrt ## 5 ENSG00000000460 SRR1039508 60 N61311 untrt##6 ENSG00000000938 SRR1039508 0 N61311 untrt ## 7 ENSG00000000971 SRR1039508 3251 N61311 untrt ## 8 ENSG00000001036 SRR1039508 1433 N61311 untrt ## 9 ENSG00000001084 SRR1039508 519 N61311 untrt ## 10 ENSG00000001167 SRR1039508 394 N61311 untrt ###...与多个行

图书馆的规模

  • 查找列(加入)计数

    TBL(SRC,“Count”)%>%Group_By(加入)%>%总结(library_size = sum(count))
    ## #延迟查询x 2] ####数据库:SQLite 3.22.0 ###[/private/var/folders/yn/gmsh_22s2c555v816r6d51fx1tnyl61/t/rtmplt7lbb/airway.sqlite] ## Accession Library_Size ##   ## 1SRR1039508 20637971 ## 2 SRR1039509 18809481 ## 4 SRR1039512 25348649 ## 4 SRR1039516 244448415 ## 6 SRR1039516 30818215 ## 7 SRR1039520 19126151#8 SRR1039520 19126151#8 SRR1039521 21164133

滤波行具有非零计数

  • 带有非零计数的行

    keep <- tbl(src, "Count") %>% group_by(Feature) %>% summarize(row_sum = SUM(Count)) %>% filter(row_sum > 0) %>% select(Feature)
  • left_join()只保留这些行

    Left_Join(保持,TBL(SRC,“计数”))
    ##加入,by = "Feature"
    ## #延迟查询x 3] #####数据库:SQLite 3.22.0 ###[/private/var/folders/yn/gmsh_22s2c555v816r6d51fx1tnyl61/t/rtmplt7lbb/airway.sqlite] ##功能登录计数##    ## 1 ENSG00000000003 SRR1039508 679 ## 2 ENSG00000000003 SRR1039509 448 ## 3 ENSG00000000003 SRR1039512 873 ## 4 ENSG00000000003 SRR1039513 408 ## 5 ENSG00000000003 SRR1039516 1138 ## 6 ENSG00000000003 SRR1039517 1047 ## 7 ENSG00000000003 SRR1039520 770 ## 8 ENSG00000000003 SRR1039521 572##9 ensg00000000419 srr1039508 467 ## 10 ensg00000000419 srr1039509 515 ### ...与更多的行

5.3旁边:SRADB.

库(BiocfileCache)if(nrow(bfcquery(query =“sradb”,字段=“Rname”))== 0L){fl < -  sradb :: getsradbfile(tempdir())bfcadd(rname =“sraadb”,fpath =FL,Action =“move”)}
fl < -  biocfilecache :: bfcrpath(Rnames =“sraDB”)SRC < -  SRC_SQLITE(FL)TBL(SRC,“学习”)TBL(SRC,“学习”)%滤波器(SCHONE_TITLE%,如%“%卵巢百分比%“)

6其他磁盘或远程表示

数据库适用于“关系”数据。

科学数据的“大”部分往往不是关系

数据库ADN科学数据的访问模式通常不同。

处理数据的策略:遍历文件

6.1HDF5.

图书馆(RHDF5)

快速“街区”访问

6.2tenxbraindata.

图书馆(Tenxbraindata)Tenx < -  TenxBrainData()

幻想......

日志(1 +试验(tenx))
## <27998 x 1306127> delayedmatrix类型“double”:## AAACCTGAGATAGGAG-1 ... TTTGTCATCTGAAAGA-133 ## [1,] 0。0 ## [2,] 0。0 ## [3,] 0。0 ## [4,] 0。0 ## [5,] 0。0 ## ...... ......。。## [27994,] 0.0000000。0 ## [27995,] 0.6931472。 0 ## [27996,] 0.0000000 . 0 ## [27997,] 0.0000000 . 0 ## [27998,] 0.0000000 . 0

子集

tenx_subset < -  tenx [,sample(ncol(tenx),200)] count <--asmatrix(测定(tenx_subset))dotchart(Unname(colsums(count)),xlab =“library size”)

嘘(日志(1 + rowSums(计数)))

然而,实际上,分块数据处理是透明的

(unname(colsum (assay(tenx_subset))))), xlab = "库大小")

6.3休息

7结束问题

7.1确认

这项工作的一部分得到了“陈-扎克伯格倡议DAF”的支持,这是硅谷社区基金会的一个顾问基金。

本报告中报告的研究得到了美国国家健康研究所NHGRI和美国国立卫生研究院NCI的支持,奖励编号为U41HG004059、U24CA180996和U24CA232979。内容完全由作者负责,不一定代表国立卫生研究院的官方观点。

这项工作是由SOUND财团进行的,并由欧盟H2020个性化健康和护理计划(行动合同编号633974)资助。

会话信息

## R version 3.6.0 alpha (2019-04-03 r76311) ##运行在:macOS High Sierra 10.13.6 ## ## Matrix products: default ## BLAS: /Users/ma38727/bin/R-3-6-branch/lib/libRblas. php中。## libRlapack: /Users/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 ## ##其他attached base packages:# # # # [1] TENxBrainData_1.3.0 HDF5Array_1.11.11 [3] SingleCellExperiment_1.5.2 rhdf5_2.27.15 # # [5] dbplyr_1.3.0 RSQLite_2.1.1 # # [7] ggplot2_3.1.1 tibble_2.1.1 # # [9] dplyr_0.8.0.1 airway_1.3.0 # # [11] SummarizedExperiment_1.13.0 DelayedArray_0.9.9 # # [13] BiocParallel_1.17.18 matrixStats_0.54.0 # # [15] Biobase_2.43.1 GenomicRanges_1.35.1 # # [17]GenomeInfoDb_1.19.3 IRanges_2.17.4 ## [19] S4Vectors_0.21.22 BiocGenerics_0.29.2 ## [21] BiocStyle_2.11.0 ## ##通过命名空间加载(未附加):# # # # [1] httr_1.4.0 bit64_0.9-7 [3] AnnotationHub_2.15.12 shiny_1.3.0 # # [5] assertthat_0.2.1 interactiveDisplayBase_1.21.0 # # [7] BiocManager_1.30.4.9006 BiocFileCache_1.7.7 # # [9] blob_1.1.1 GenomeInfoDbData_1.2.1 # # [11] yaml_2.2.0 pillar_1.3.1 # # [13] lattice_0.20-38 glue_1.3.1 # # [15] digest_0.6.18 promises_1.0.1 # # [17] XVector_0.23.2colorspace_1.4-1 ## [19] httpuv_1.5.1 htmltools_0.3.6 ## [21] Matrix_1.2-17 plyr_1.8.4 ## [23] pkgconfig_1 .0.2 bookdown_0.9 ## [25] zlibbioc_1.29.0 xtable_1.8-3 ## [27] purrr0.3.2 scales_1.0.0 ## [29] later_0.8.0 withthr_2 .1.2 ## [31] lazyeval_0.2.2 cli_1.1.0 ## [33] crayon_1.3.4 memoise_1.1.0 ## [37] evaluate_0.13fansi_0.4.0 # # [39] tools_3.6.0 stringr_1.4.0 # # [41] Rhdf5lib_1.5.4 munsell_0.5.0 # # [43] AnnotationDbi_1.45.1 compiler_3.6.0 # # [45] rlang_0.3.4 grid_3.6.0 # # [47] rcurl_1.95 - 4.12 rappdirs_0.3.1 # # [49] bitops_1.0-6 labeling_0.3 # # [51] rmarkdown_1.12 ExperimentHub_1.9.3 # # [53] gtable_0.3.0 codetools_0.2-16 # # [55] DBI_1.0.0 reshape_0.8.8 # #[57] curl_3.3 R6_2.4.0 # # [59] knitr_1.22 bit_1.1-14 # # [61] utf8_1.1.4 stringi_1.4.3 # # [63] Rcpp_1.0.1 tidyselect_0.2.5 # # [65] xfun_0.6