当前位置:首页 > 行业动态 > 正文

hsea.js

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);

注意事项

  1. 性能限制:浏览器端处理大规模数据(如 >10^5 细胞)可能较慢,建议使用 Node.js 环境。
  2. 算法选择:不同批次效应校正算法适用场景不同(如 MNN 适合多批次,Scanorama 适合单批次)。
  3. 数据格式:输入数据需包含细胞表达矩阵、基因名称、批次信息等必要字段。

问题与解答

问题 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
0