# 2.3.5 工具 | 2018-iSEE：单细胞数据可视化辅助网页工具

## 前言

题目：iSEE: Interactive SummarizedExperiment Explorer

日期：2018-06-14

期刊：F1000Research

链接：<https://f1000research.com/articles/7-741>

GitHub：<https://github.com/iSEE/iSEE>

这篇文章虽然发表的比较早，但最近看到其中一个作者Federico Marini和大佬们交流hdf5数据支持的问题，所以还是简单了解一下这个工具吧

![image-20211027125344809](https://jieandze1314-1255603621.cos.ap-guangzhou.myqcloud.com/blog/2021-10-27-045345.png)

他们讨论的结果是

```
library(zellkonverter)
sce_h5ad <- readH5AD("file_as_anndata.h5ad")
assayNames(sce_h5ad) <- "logcounts" 
HDF5Array::saveHDF5SummarizedExperiment(sce_Bcells_h5ad, dir = "see_as_hdf5")
#And to read that in -> 
sce_read_in_again <- HDF5Array::loadHDF5SummarizedExperiment("see_as_hdf5")

library(iSEE)
iSEE(sce_read_in_again)
```

## 设计初衷

> 重在数据展示，而非数据分析

它不是单纯为某一个课题设计的网页工具，而只要是`SummarizedExperiment`它就可以支持可视化，而我们知道单细胞数据不仅仅是seurat格式，还有很大部分是`SummarizedExperiment` 。当然，除了单细胞，`SummarizedExperiment` 在其他领域（比如甲基化）也有涉及，因此这个工具可以无缝衔接支持此格式的R包下游，用来展示rowdata、metadata等。可以说，它最大的亮点就是兼容性和可拓展性

那么它为何对`SummarizedExperiment`格式这么偏爱呢？

就像我之前在公众号里介绍的，这个对象可以整合 基因组信息（行）以及样本信息（列），并且可以容纳多种表达量类型（比如raw count、normalized count），甚至后期分析的结果也可以存储（比如降维结果）

![image-20211027130031898](https://jieandze1314-1255603621.cos.ap-guangzhou.myqcloud.com/blog/2021-10-27-050032.png)

## 工具结构

![image-20211027130553046](https://jieandze1314-1255603621.cos.ap-guangzhou.myqcloud.com/blog/2021-10-27-050553.png)

* **Column data plots**, for visualising sample metadata stored in the colData slot of the SummarizedExperiment object.
* **Feature assay plots**, for visualising experimental observations for a particular feature (e.g. gene) across samples from any assay in the SummarizedExperiment object.
* **Row statistics tables**, to present the contents of the rowData slot of the SummarizedExperiment object.
* **Row data plots**, for visualising feature metadata stored in the rowData slot of the SummarizedExperiment object.
* **Heatmaps**, to visualise assay data for multiple features where samples are ordered by one or more colData fields.
* **Reduced dimension plots**, which display any two dimensions from pre-computed dimensionality reduction results (e.g., from PCA or *t*-SNE). These results are taken from the reducedDim slot if this is available in the object supplied to iSEE.

还设置了大量的参数调节，比如可以对这个数据的列数据进行选取：

![image-20211027130653904](https://jieandze1314-1255603621.cos.ap-guangzhou.myqcloud.com/blog/2021-10-27-050654.png)

目前提供了一些数据作为示例：

* <http://shiny.imbei.uni-mainz.de:3838/iSEE>
* <https://marionilab.cruk.cam.ac.uk/iSEE\\_allen>
* <https://marionilab.cruk.cam.ac.uk/iSEE\\_tcga>
* <https://marionilab.cruk.cam.ac.uk/iSEE\\_pbmc4k>
* <https://marionilab.cruk.cam.ac.uk/iSEE\\_cytof>

还支持TCGA数据的可视化

![image-20211027133643944](https://jieandze1314-1255603621.cos.ap-guangzhou.myqcloud.com/blog/2021-10-27-053644.png)

## 至于怎么实现的可视化

作者提供了一些rmd作为参考：<https://github.com/iSEE/iSEE\\_instances>

![image-20211027134159378](https://jieandze1314-1255603621.cos.ap-guangzhou.myqcloud.com/blog/2021-10-27-054159.png)

```
# 上游分析得到sce对象
# Once the processing steps above are done, we can call `iSEE` with the subsampled `SingleCellExperiment` object. 
if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
BiocManager::install("iSEE")
# or also...
BiocManager::install("iSEE", dependencies = TRUE)

if (require(iSEE)) {
  iSEE(sce)
}
```
