上一篇
hsea.js
- 行业动态
- 2025-05-10
- 6
hsea.js是一款轻量级JavaScript工具库,专注简化异步操作与事件处理,提升前端开发
hsea.js
是一个基于 JavaScript 的单细胞测序数据整合与分析工具库,主要用于解决不同批次单细胞 RNA 测序数据间的技术差异(如批次效应),并提供降维、聚类、可视化等基础分析功能,其设计目标是通过浏览器端或 Node.js 环境实现轻量级单细胞数据分析流程。
核心功能
功能模块 | 说明 |
---|---|
批次效应校正 | 集成多种算法(如 MNN、Scanorama)消除不同批次间的系统性偏差。 |
降维与特征提取 | 支持 PCA、t-SNE、UMAP 等降维方法,保留高维数据的关键特征。 |
聚类与分类 | 基于 K-means、Louvain 等算法对细胞进行聚类,支持手动分类标注。 |
可视化 | 提供二维/三维散点图、热图、UMAP 叠加图等交互式可视化组件。 |
数据兼容性 | 支持读取 10X Genomics、SingleCellExperiment 等格式的单细胞数据。 |
安装与依赖
通过 npm 安装
npm install hsea.js
浏览器直接引入
<script src="https://unpkg.com/hsea.js@latest/dist/hsea.min.js"></script>
依赖环境
- Node.js:需 v14+ 版本以支持 ES6 语法。
- 浏览器:推荐 Chrome 或 Firefox,需支持 WebGL(用于三维可视化)。
使用示例
初始化库并加载数据
import HSEA from 'hsea.js'; const hsea = new HSEA(); hsea.loadData('path/to/single_cell_data.h5ad');
批次效应校正
hsea.correctBatchEffect({ method: 'MNN', // 可选 'Scanorama' batchKey: 'experiment_id' });
降维与聚类
hsea.reduceDimension({ method: 'UMAP', nComponents: 2 }); hsea.clusterCells({ method: 'Louvain', resolution: 0.5 });
可视化结果
const plot = hsea.plotUMAP({ colorBy: 'cluster_ids', 'UMAP of Single Cells' }); document.body.appendChild(plot.element);
注意事项
- 性能限制:浏览器端处理大规模数据(如 >10^5 细胞)可能较慢,建议使用 Node.js 环境。
- 算法选择:不同批次效应校正算法适用场景不同(如 MNN 适合多批次,Scanorama 适合单批次)。
- 数据格式:输入数据需包含细胞表达矩阵、基因名称、批次信息等必要字段。
问题与解答
问题 1:hsea.js
是否支持服务器端(Node.js)运行?
解答:是的,hsea.js
可在 Node.js 环境中运行,且推荐用于处理大规模数据以提升性能,需通过 npm install
安装后引入。
问题 2:如何将 hsea.js
的结果导出为图像或数据文件?
解答:
- 导出图像:调用
plotUMAP().saveImage('umap.png')
或downloadPNG()
方法。 - 导出数据:使用
hsea.getProcessedData()
获取校正后的表达矩阵,再通过fs
(Node.js)或FileSaver.js