1919
2020<p align =" center " >
2121 <a href =" #highlights " >Highlights</a > •
22- <a href =" #why-scalesc " >Why ScaleSC</a > •
22+ <a href =" #why-ScaleSC " >Why ScaleSC</a > •
2323 <a href =" #how-to-install " >Installation</a > •
2424 <a href =" #tutorial " >Tutorial</a > •
2525 <a href =" #api-reference " >API Reference</a >
4141
4242<b >What can ScaleSC do?</b >
4343
44- <img src =" ./img/scalesc_pipeline .png " alt =" pipeline " width =" 80% " height =" auto " >
44+ <img src =" ./img/ScaleSC_pipeline .png " alt =" pipeline " width =" 80% " height =" auto " >
4545
4646</div >
4747
5050
5151<b >ScaleSC Overview</b >
5252
53- <img src =" ./img/scalesc_overview .png " alt =" overview " width =" 100% " height =" auto " >
53+ <img src =" ./img/ScaleSC_overview .png " alt =" overview " width =" 100% " height =" auto " >
5454
5555</div >
5656
5959<div align =" center " >
6060<b >Overview of different packages* </b >
6161
62- | | ` scanpy ` | ` scalesc ` | ` rapids-singlecell ` |
62+ | | ` scanpy ` | ` ScaleSC ` | ` rapids-singlecell ` |
6363| :----------:| :----------:| :----------:| :----------:|
6464| GPU Support | ❌ | ✅ | ✅ |
6565| ` int32 ` Issue in Sparse | ✅ | ✅ | ❌ |
7272
7373<div align =" center " >
7474
75- <b >Time comparsion between ` scanpy ` (CPU) and ` scalesc ` (GPU) on A100(80G)</b >
75+ <b >Time comparsion between ` scanpy ` (CPU) and ` ScaleSC ` (GPU) on A100(80G)</b >
7676
7777<img src =" ./img/time_comp.png " alt =" time-comp " width =" 80% " height =" auto " >
7878
@@ -90,22 +90,22 @@ Requirements:
9090
9191Environment Setup:
92921 . Install [ ** RAPIDS** ] ( https://rapids.ai/ ) through Conda, \
93- ` conda create -n scalesc -c rapidsai -c conda-forge -c nvidia rapids=25.02 python=3.12 'cuda-version>=12.0,<=12.8' `
93+ ` conda create -n ScaleSC -c rapidsai -c conda-forge -c nvidia rapids=25.02 python=3.12 'cuda-version>=12.0,<=12.8' `
9494 Users have the flexibility to install it according to their systems by using this [ online selector] ( https://docs.rapids.ai/install/?_gl=1*1em94gj*_ga*OTg5MDQyNDkyLjE3MjM0OTAyNjk.*_ga_RKXFW6CM42*MTczMDIxNzIzOS4yLjAuMTczMDIxNzIzOS42MC4wLjA.#selector ) . We highly recommend installing ` **RAPIDS**>=24.12 ` , it solves a bug related to the Leiden algorithm, which results in too many clusters.
9595
96962 . Activate conda env, \
97- ` conda activate scalesc `
97+ ` conda activate ScaleSC `
98983 . Install [ ** rapids-singlecell** ] ( https://rapids-singlecell.readthedocs.io/en/latest/index.html ) using pip, \
9999 ` pip install rapids-singlecell `
100100
101- 4 . Install scaleSC ,
102- - Pull scaleSC from github \
103- ` git clone https://github.com/interactivereport/scaleSC .git `
104- - Enter the folder and install scaleSC \
105- ` cd scaleSC ` \
101+ 4 . Install ScaleSC ,
102+ - Pull ScaleSC from github \
103+ ` git clone https://github.com/interactivereport/ScaleSC .git `
104+ - Enter the folder and install ScaleSC \
105+ ` cd ScaleSC ` \
106106 ` pip install . `
1071075 . Check env:
108- - ` python -c "import scalesc ; print(scalesc .__version__)" ` == 0.1.0
108+ - ` python -c "import ScaleSC ; print(ScaleSC .__version__)" ` == 0.1.0
109109 - ` python -c "import cupy; print(cupy.__version__)" ` >= 13.3.0
110110 - ` python -c "import cuml; print(cuml.__version__)" ` >= 24.10
111111 - ` python -c "import cupy; print(cupy.cuda.is_available())" ` = True
@@ -114,7 +114,7 @@ Environment Setup:
114114</div >
115115
116116## Tutorial:
117- - See [ this tutorial] ( ./Tutorial_scaleSC .ipynb ) for details.
117+ - See [ this tutorial] ( ./Tutorial_ScaleSC .ipynb ) for details.
118118
119119
120120## Citation
@@ -143,7 +143,7 @@ Please cite [ScaleSC](https://doi.org/10.1101/2025.01.28.635256), and [Scanpy](h
143143## <kbd >class</kbd > ` ScaleSC `
144144ScaleSC integrated pipeline in a scanpy-like style.
145145
146- It will automatically load the dataset in chunks, see ` scalesc .util.AnnDataBatchReader` for details, and all methods in this class manipulate this chunked data.
146+ It will automatically load the dataset in chunks, see ` ScaleSC .util.AnnDataBatchReader` for details, and all methods in this class manipulate this chunked data.
147147
148148
149149
@@ -165,7 +165,7 @@ It will automatically load the dataset in chunks, see `scalesc.util.AnnDataBatch
165165 - <b >` output_dir ` </b > (` str ` ): Output folder. Default: './results'.
166166 - <b >` gpus ` </b > (` list ` ): List of GPU ids, ` [0] ` is set if this is None. Default: None.
167167
168- <a href =" scalesc /pp.py#L37" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
168+ <a href =" ScaleSC /pp.py#L37" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
169169
170170### <kbd >method</kbd > ` __init__ `
171171
@@ -206,7 +206,7 @@ Note: This is always on the CPU.
206206
207207---
208208
209- <a href =" scalesc /pp.py#L100" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
209+ <a href =" ScaleSC /pp.py#L100" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
210210
211211### <kbd >method</kbd > ` calculate_qc_metrics `
212212
@@ -218,7 +218,7 @@ Calculate quality control metrics.
218218
219219---
220220
221- <a href =" scalesc /pp.py#L87" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
221+ <a href =" ScaleSC /pp.py#L87" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
222222
223223### <kbd >method</kbd > ` clear `
224224
@@ -230,7 +230,7 @@ Clean the memory
230230
231231---
232232
233- <a href =" scalesc /pp.py#L128" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
233+ <a href =" ScaleSC /pp.py#L128" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
234234
235235### <kbd >method</kbd > ` filter_cells `
236236
@@ -251,7 +251,7 @@ Filter genes based on the number of a QC metric.
251251
252252---
253253
254- <a href =" scalesc /pp.py#L106" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
254+ <a href =" ScaleSC /pp.py#L106" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
255255
256256### <kbd >method</kbd > ` filter_genes `
257257
@@ -272,7 +272,7 @@ Filter genes based on the number of a QC metric.
272272
273273---
274274
275- <a href =" scalesc /pp.py#L148" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
275+ <a href =" ScaleSC /pp.py#L148" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
276276
277277### <kbd >method</kbd > ` filter_genes_and_cells `
278278
@@ -309,7 +309,7 @@ Filter genes based on the number of a QC metric.
309309
310310---
311311
312- <a href =" scalesc /pp.py#L351" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
312+ <a href =" ScaleSC /pp.py#L351" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
313313
314314### <kbd >method</kbd > ` harmony `
315315
@@ -334,7 +334,7 @@ Use Harmony to integrate different experiments.
334334
335335---
336336
337- <a href =" scalesc /pp.py#L186" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
337+ <a href =" ScaleSC /pp.py#L186" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
338338
339339### <kbd >method</kbd > ` highly_variable_genes `
340340
@@ -358,7 +358,7 @@ Annotate highly variable genes.
358358
359359---
360360
361- <a href =" scalesc /pp.py#L381" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
361+ <a href =" ScaleSC /pp.py#L381" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
362362
363363### <kbd >method</kbd > ` leiden `
364364
@@ -377,7 +377,7 @@ Performs Leiden clustering using `rapids-singlecell`.
377377
378378---
379379
380- <a href =" scalesc /pp.py#L367" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
380+ <a href =" ScaleSC /pp.py#L367" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
381381
382382### <kbd >method</kbd > ` neighbors `
383383
@@ -398,7 +398,7 @@ Compute a neighborhood graph of observations using `rapids-singlecell`.
398398
399399---
400400
401- <a href =" scalesc /pp.py#L245" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
401+ <a href =" ScaleSC /pp.py#L245" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
402402
403403### <kbd >method</kbd > ` normalize_log1p `
404404
@@ -421,7 +421,7 @@ Normalize counts per cell, then log1p.
421421
422422---
423423
424- <a href =" scalesc /pp.py#L307" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
424+ <a href =" ScaleSC /pp.py#L307" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
425425
426426### <kbd >method</kbd > ` normalize_log1p_pca `
427427
@@ -443,7 +443,7 @@ An alternative for calling `normalize_log1p` and `pca` together.
443443
444444---
445445
446- <a href =" scalesc /pp.py#L265" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
446+ <a href =" ScaleSC /pp.py#L265" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
447447
448448### <kbd >method</kbd > ` pca `
449449
@@ -469,7 +469,7 @@ Computes PCA coordinates, loadings, and variance decomposition. Uses the impleme
469469
470470---
471471
472- <a href =" scalesc /pp.py#L404" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
472+ <a href =" ScaleSC /pp.py#L404" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
473473
474474### <kbd >method</kbd > ` save `
475475
@@ -492,7 +492,7 @@ Save `adata` to disk.
492492
493493---
494494
495- <a href =" scalesc /pp.py#L417" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
495+ <a href =" ScaleSC /pp.py#L417" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
496496
497497### <kbd >method</kbd > ` savex `
498498
@@ -516,7 +516,7 @@ Save `adata` to disk in chunks.
516516
517517---
518518
519- <a href =" scalesc /pp.py#L83" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
519+ <a href =" ScaleSC /pp.py#L83" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
520520
521521### <kbd >method</kbd > ` to_CPU `
522522
@@ -528,7 +528,7 @@ Move all chunks to the CPU.
528528
529529---
530530
531- <a href =" scalesc /pp.py#L79" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
531+ <a href =" ScaleSC /pp.py#L79" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
532532
533533### <kbd >method</kbd > ` to_GPU `
534534
@@ -540,7 +540,7 @@ Move all chunks to the GPU.
540540
541541---
542542
543- <a href =" scalesc /pp.py#L394" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
543+ <a href =" ScaleSC /pp.py#L394" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
544544
545545### <kbd >method</kbd > ` umap `
546546
@@ -560,12 +560,12 @@ Embed the neighborhood graph using `rapids-singlecell`.
560560
561561---
562562
563- <a href =" scalesc /util.py#L30" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
563+ <a href =" ScaleSC /util.py#L30" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
564564
565565## <kbd >class</kbd > ` AnnDataBatchReader `
566566Chunked dataloader for extremely large single-cell dataset. Return a data chunk each time for further processing.
567567
568- <a href =" scalesc /util.py#L32" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
568+ <a href =" ScaleSC /util.py#L32" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
569569
570570### <kbd >method</kbd > ` __init__ `
571571
@@ -598,7 +598,7 @@ __init__(
598598
599599---
600600
601- <a href =" scalesc /util.py#L84" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
601+ <a href =" ScaleSC /util.py#L84" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
602602
603603### <kbd >method</kbd > ` batch_to_CPU `
604604
@@ -612,7 +612,7 @@ batch_to_CPU()
612612
613613---
614614
615- <a href =" scalesc /util.py#L89" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
615+ <a href =" ScaleSC /util.py#L89" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
616616
617617### <kbd >method</kbd > ` batch_to_GPU `
618618
@@ -626,7 +626,7 @@ batch_to_GPU()
626626
627627---
628628
629- <a href =" scalesc /util.py#L281" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
629+ <a href =" ScaleSC /util.py#L281" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
630630
631631### <kbd >method</kbd > ` batchify `
632632
@@ -638,7 +638,7 @@ Return a data generator if `preload_on_cpu` is set as `True`.
638638
639639---
640640
641- <a href =" scalesc /util.py#L75" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
641+ <a href =" ScaleSC /util.py#L75" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
642642
643643### <kbd >method</kbd > ` clear `
644644
@@ -652,7 +652,7 @@ clear()
652652
653653---
654654
655- <a href =" scalesc /util.py#L94" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
655+ <a href =" ScaleSC /util.py#L94" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
656656
657657### <kbd >method</kbd > ` get_merged_adata_with_X `
658658
@@ -666,7 +666,7 @@ get_merged_adata_with_X()
666666
667667---
668668
669- <a href =" scalesc /util.py#L205" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
669+ <a href =" ScaleSC /util.py#L205" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
670670
671671### <kbd >method</kbd > ` gpu_wrapper `
672672
@@ -680,7 +680,7 @@ gpu_wrapper(generator)
680680
681681---
682682
683- <a href =" scalesc /util.py#L210" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
683+ <a href =" ScaleSC /util.py#L210" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
684684
685685### <kbd >method</kbd > ` read `
686686
@@ -694,7 +694,7 @@ read(fname)
694694
695695---
696696
697- <a href =" scalesc /util.py#L129" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
697+ <a href =" ScaleSC /util.py#L129" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
698698
699699### <kbd >method</kbd > ` set_cells_filter `
700700
@@ -706,7 +706,7 @@ Update the cells filter and apply it to data chunks if `update` is set to `True`
706706
707707---
708708
709- <a href =" scalesc /util.py#L155" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
709+ <a href =" ScaleSC /util.py#L155" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
710710
711711### <kbd >method</kbd > ` set_genes_filter `
712712
@@ -724,7 +724,7 @@ Update genes filter and apply on data chunks if `update` set to True, otherwise,
724724
725725---
726726
727- <a href =" scalesc /util.py#L191" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
727+ <a href =" ScaleSC /util.py#L191" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
728728
729729### <kbd >method</kbd > ` update_by_cells_filter `
730730
@@ -738,7 +738,7 @@ update_by_cells_filter(filter)
738738
739739---
740740
741- <a href =" scalesc /util.py#L198" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
741+ <a href =" ScaleSC /util.py#L198" ><img align =" right " style =" float :right ;" src =" https://img.shields.io/badge/-source-cccccc?style=flat-square " ></a >
742742
743743### <kbd >method</kbd > ` update_by_genes_filter `
744744
0 commit comments