从curatedMetagenoimcData提取健康样本的微生物组

简介

有人问我,这个curatedMetagenomicData有什么作用?对于我们这些research parasite(出处请见NEJM社论)来说,这样庞大的数据集当然是用来挖信息或者是测试算法了:

  1. 作为validation cohort来验证已发现的结论。如我们的这篇文章都使用了2014年Oh et al发表于Nature的数据来佐证我们发现的Staphylococcus特异性突变。

  2. 用来测试新方法,发现新的生物问题。如这篇文章中我们也用了Oh et al的数据来观测Malessezia在人体皮肤的分布。

  3. 因为数据中有大量健康人的微生物组(不同研究中的control),我们也可以用它们补充我们的对照组(当然在机器学习中要注意数据不平衡问题)。

当然最基础的操作,就是要从数据库中提取数据。

演示

我们从curatedMetagenomicData中提取健康人的粪便及皮肤微生物组。

加载R package

suppressMessages(library(curatedMetagenomicData))
suppressMessages(library(foreach))

下载并合并所有粪便、皮肤数据(下载数据缓存于~/.ExperimentHub中,第二次以后会直接读取缓存)

## download all stool samples
stoolData <- curatedMetagenomicData("*.metaphlan_bugs_list.stool", dryrun=FALSE)
## Warning in strptime(x, fmt, tz = "GMT"): unknown timezone 'zone/tz/2017c.
## 1.0/zoneinfo/Asia/Singapore'
skinData <- curatedMetagenomicData("*.metaphlan_bugs_list.skin", dryrun=FALSE)
## merge
stoolDataMerged <- mergeData(stoolData)
skinDataMerged <- mergeData(skinData)

验证元数据与样本对应关系

table(rownames(pData(stoolDataMerged)) == colnames(exprs(stoolDataMerged)))
## 
## TRUE 
## 4810
table(rownames(pData(skinDataMerged)) == colnames(exprs(skinDataMerged)))
## 
## TRUE 
##  466

通过元数据来提取健康样本的数据

顺便过滤掉整行、整列为0的数据

stoolDataHealthy <- exprs(stoolDataMerged)[, which(pData(stoolDataMerged)$disease=='healthy')] %>%
  data.frame() %>%
  select(which(colSums(.)!=0)) 
skinDataHealthy <- exprs(skinDataMerged)[, which(pData(skinDataMerged)$disease=='healthy')] %>%
  data.frame() %>%
  select(which(colSums(.)!=0)) 

存储数据

write.table(stoolDataHealthy[rowSums(stoolDataHealthy)!=0,], '~/Desktop/curatedMetagenomicData_stool_healthy.tsv', quote=F, sep='\t', col.names = FALSE, row.names = TRUE)
write.table(skinDataHealthy[rowSums(skinDataHealthy)!=0,], '~/Desktop/curatedMetagenomicData_skin_healthy.tsv', quote=F, sep='\t', col.names = FALSE, row.names = TRUE)

最重要一点,记录版本号,记录版本号,记录版本号!

sessionInfo('curatedMetagenomicData')
## R version 3.4.2 (2017-09-28)
## Platform: x86_64-apple-darwin15.6.0 (64-bit)
## Running under: macOS High Sierra 10.13.2
## 
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib
## 
## locale:
## [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:
## character(0)
## 
## other attached packages:
## [1] curatedMetagenomicData_1.7.92
## 
## loaded via a namespace (and not attached):
##  [1] Rcpp_0.12.14                  BiocInstaller_1.28.0         
##  [3] compiler_3.4.2                AnnotationHub_2.9.22         
##  [5] bindr_0.1                     iterators_1.0.8              
##  [7] methods_3.4.2                 utils_3.4.2                  
##  [9] tools_3.4.2                   grDevices_3.4.2              
## [11] digest_0.6.13                 bit_1.1-12                   
## [13] evaluate_0.10.1               RSQLite_2.0                  
## [15] memoise_1.1.0                 tibble_1.3.4                 
## [17] pkgconfig_2.0.1               rlang_0.1.4                  
## [19] foreach_1.4.3                 shiny_1.0.5                  
## [21] DBI_0.7                       yaml_2.1.16                  
## [23] parallel_3.4.2                blogdown_0.3                 
## [25] bindrcpp_0.2                  dplyr_0.7.4                  
## [27] stringr_1.2.0                 httr_1.3.1                   
## [29] knitr_1.18                    IRanges_2.10.5               
## [31] graphics_3.4.2                S4Vectors_0.14.7             
## [33] datasets_3.4.2                stats_3.4.2                  
## [35] stats4_3.4.2                  rprojroot_1.2                
## [37] bit64_0.9-7                   glue_1.2.0                   
## [39] base_3.4.2                    Biobase_2.37.2               
## [41] R6_2.2.2                      AnnotationDbi_1.38.2         
## [43] rmarkdown_1.7                 bookdown_0.5                 
## [45] purrr_0.2.4                   tidyr_0.7.2                  
## [47] ExperimentHub_1.3.9           blob_1.1.0                   
## [49] magrittr_1.5                  codetools_0.2-15             
## [51] backports_1.1.1               htmltools_0.3.6              
## [53] BiocGenerics_0.22.1           assertthat_0.2.0             
## [55] mime_0.5                      interactiveDisplayBase_1.14.0
## [57] xtable_1.8-2                  httpuv_1.3.5                 
## [59] stringi_1.1.5

Related

comments powered by Disqus