# 构建单细胞参考数据 (非必须)

## 用途

使用`scimilarityMakeRef`构建SCimilarity的单细胞参考数据库，只适用于人类样本

## 运行方式

模型下载：<https://zenodo.org/records/10685499>

下载完成后解压模型文件夹，并指定--model\_dir参数

<pre class="language-bash"><code class="lang-bash">SDAS cellAnnotation scimilarityMakeRef -o ./scimilarity_ref --reference sc.h5ad --label_key annotation \
<strong>--model_dir ./model_v1.1 \
</strong>--remove_tmp
</code></pre>

## 输入参数说明

| 参数                       | 是否必须  | 默认值           | 描述                                                                                                                                                 |
| ------------------------ | ----- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| **-o / --output**        | **是** |               | 输出文件夹                                                                                                                                              |
| **--reference**          | **是** |               | 单细胞ref h5ad，要求有原始表达矩阵                                                                                                                              |
| **--label\_key**         | **是** |               | 单细胞ref h5ad.obs中表示细胞类型的列的名称                                                                                                                        |
| --ref\_layer             | 否     |               | 单细胞ref h5ad存放raw counts的layer                                                                                                                      |
| --ref\_gene\_symbol\_key | 否     | \_index       | 单细胞ref h5ad.var中表示基因名(symbol)的列的名称 (\_index 表示使用h5ad.var.index)                                                                                    |
| --filter\_rare\_cell     | 否     | 100           | 如果某些细胞类型在单细胞ref中细胞数小于此值，则过滤掉这些细胞类型                                                                                                                 |
| --seed                   | 否     | 42            | 随机种子设置                                                                                                                                             |
| --model\_dir             | 否     | ./model\_v1.1 | SCimilarity模型文件夹路径                                                                                                                                 |
| --ef\_construction       | 否     | 1000          | HNSW KNN算法的ef\_construction，越大构建的数据库越准确，但是更耗时                                                                                                      |
| --M                      | 否     | 80            | HNSW KNN算法M，用于控制nearest neighbor图中的连接数                                                                                                             |
| --remove\_tmp            | 否     | False         | 是否删除ouput文件夹中的单细胞ref CellArrDataset格式数据和模型计算出的embeddings。注意：ouput文件夹中原本的assays、cell\_metadata、gene\_annotation、sample\_metadata、cellsearch文件夹都会被删除 |
| --gpu\_id                | 否     | -1            | 使用的GPU的编号，如果为-1，则使用CPU                                                                                                                             |
| --n\_threads             | 否     |               | CPU模式下使用的线程数，默认为全部CPU                                                                                                                              |

## 输出结果展示

构建的单细胞参考数据会存储在`scimilarity_ref` 的文件夹下，具体的文件夹层级结构以及关键文件的说明如下：

```
./scimilarity_ref
├── annotation
│   ├── labelled_kNN.bin
│   └── reference_labels.tsv
├── assays
├── cell_metadata
├── cellsearch
│   └── cell_embedding
├── gene_annotation
└── sample_metadata
```

| 结果文件                                                      | 描述                                                                  |
| --------------------------------------------------------- | ------------------------------------------------------------------- |
| `annotation/labelled_kNN.bin`                             | 通过单细胞ref embeddings计算的KNN数据，用于细胞类型搜索                                |
| `annotation/reference_labels.tsv`                         | 单细胞ref中每个细胞的细胞类型标签                                                  |
| `assays, cell_metadata, gene_annotation, sample_metadata` | 单细胞ref h5ad转换出的CellArrDataset格式数据，可删除。可通过--remove\_tmp在程序运行结束时自动删除  |
| `cellsearch/cell_embedding`                               | 模型计算出的单细胞ref embeddings tileDB格式数据，可删除。可通过--remove\_tmp在程序运行结束时自动删除 |
