scDenorm
================
<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->
scDenorm is an algorithm that reverts normalised single-cell omics data
to raw counts, preserving the integrity of the original measurements and
ensuring consistent data processing during integration.
## Install
``` sh
pip install scDenorm
#or
conda install -c changebio scdenorm
```
## Dependency
numpy
pandas
matplotlib
scanpy
anndata
scipy
tqdm
pathlib
fastcore
colorlog
## How to use
### Using pbmc3k as an example dataset
``` python
import scanpy as sc
from scipy.io import mmwrite
from scDenorm.denorm import *
```
DEBUG:my_logger:This is a debug message
INFO:my_logger:This is an info message
WARNING:my_logger:This is a warning message
ERROR:my_logger:This is an error message
CRITICAL:my_logger:This is a critical message
``` python
ad=sc.datasets.pbmc3k()
```
``` python
ad.layers['count']=ad.X.copy()
```
``` python
ad
```
AnnData object with n_obs × n_vars = 2700 × 32738
var: 'gene_ids'
layers: 'count'
``` python
sc.pp.normalize_total(ad, target_sum=1e4)
sc.pp.log1p(ad)
smtx = ad.X.tocsr().asfptype()
```
``` python
smtx.data
```
array([1.6352079, 1.6352079, 2.2258174, ..., 1.7980369, 1.7980369,
2.779648 ], dtype=float32)
``` python
ad.write_h5ad('data/pbmc3k_norm.h5ad')
```
write out as sparse matrix
``` python
mmwrite('data/scaled.mtx', smtx[1:10,])
```
### In jupyter
#### Input Anndata
``` python
scdenorm('data/pbmc3k_norm.h5ad',fout='data/pbmc3k_denorm.h5ad',verbose=1)
```
INFO:my_logger:Reading input file: data/pbmc3k_norm.h5ad
/home/huang_yin/anaconda3/envs/sc/lib/python3.9/site-packages/anndata/__init__.py:51: FutureWarning: `anndata.read` is deprecated, use `anndata.read_h5ad` instead. `ad.read` will be removed in mid 2024.
warnings.warn(
INFO:my_logger:The dimensions of this data are (2700, 32738).
INFO:my_logger:Selecting base
INFO:my_logger:Denormlizing ...the base is 2.718281828459045
b is 2.718281828459045
100%|██████████| 2700/2700 [00:02<00:00, 1071.27it/s]
INFO:my_logger:Writing output file: data/pbmc3k_denorm.h5ad
return a new anndata if there is no output path.
``` python
new_ad=scdenorm('data/pbmc3k_norm.h5ad')
```
``` python
new_ad
```
View of AnnData object with n_obs × n_vars = 2700 × 32738
var: 'gene_ids'
uns: 'log1p'
``` python
ad.layers['count'].data
```
array([1., 1., 2., ..., 1., 1., 3.], dtype=float32)
``` python
new_ad.X.data
```
array([1. , 1. , 2.0000002, ..., 1. , 1. ,
3. ], dtype=float32)
#### Input sparse matrix with cell by gene
If it is gene by cell, set `gxc=True`.
``` python
scdenorm('data/scaled.mtx',fout='data/scd_scaled.h5ad')
```
100%|██████████| 9/9 [00:00<00:00, 2883.12it/s]
### In command line
#### Input Anndata
``` python
!scdenorm data/pbmc3k_norm.h5ad --fout data/pbmc3k_denorm.h5ad
```
/home/huang_yin/anaconda3/envs/sc/lib/python3.9/site-packages/anndata/__init__.py:51: FutureWarning: `anndata.read` is deprecated, use `anndata.read_h5ad` instead. `ad.read` will be removed in mid 2024.
warnings.warn(
b is 2.718281828459045
100%|█████████████████████████████████████| 2700/2700 [00:02<00:00, 1090.85it/s]
#### Input sparse matrix with cell by gene
``` python
!scdenorm data/scaled.mtx --fout data/scd_scaled_c.h5ad
```
100%|███████████████████████████████████████████| 9/9 [00:00<00:00, 1333.31it/s]
or output `mtx` format.
``` python
!scdenorm data/scaled.mtx --fout data/scd_scaled_c.mtx
```
100%|███████████████████████████████████████████| 9/9 [00:00<00:00, 1290.78it/s]
## Citation
Yin Huang, Anna Vathrakokili Pournara, Ying Ao, Lirong Yang, Hui Zhang,
Yongjian Zhang, Sheng Liu, Alvis Brazma, Irene Papatheodorou, Xinlu
Yang, Ming Shi, Zhichao Miao “scDenorm: a denormalisation tool for
integrating single-cell transcriptomics data”(Under review)
Raw data
{
"_id": null,
"home_page": "https://github.com/changebio/scDenorm",
"name": "scDenorm",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "nbdev jupyter notebook python",
"author": "Yin Huang",
"author_email": "changebio@yeah.net",
"download_url": "https://files.pythonhosted.org/packages/61/e5/9c191f39716a6f210486a9eea0ae8d456edac4b9c9837ca73c0175e56145/scDenorm-1.0.1.tar.gz",
"platform": null,
"description": "scDenorm\n================\n\n<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->\n\nscDenorm is an algorithm that reverts normalised single-cell omics data\nto raw counts, preserving the integrity of the original measurements and\nensuring consistent data processing during integration.\n\n## Install\n\n``` sh\npip install scDenorm\n\n#or\n\nconda install -c changebio scdenorm\n```\n\n## Dependency\n\n numpy\n pandas\n matplotlib\n scanpy\n anndata\n scipy\n tqdm\n pathlib\n fastcore\n colorlog\n\n## How to use\n\n### Using pbmc3k as an example dataset\n\n``` python\nimport scanpy as sc\nfrom scipy.io import mmwrite\nfrom scDenorm.denorm import *\n```\n\n DEBUG:my_logger:This is a debug message\n INFO:my_logger:This is an info message\n WARNING:my_logger:This is a warning message\n ERROR:my_logger:This is an error message\n CRITICAL:my_logger:This is a critical message\n\n``` python\nad=sc.datasets.pbmc3k()\n```\n\n``` python\nad.layers['count']=ad.X.copy()\n```\n\n``` python\nad\n```\n\n AnnData object with n_obs \u00d7 n_vars = 2700 \u00d7 32738\n var: 'gene_ids'\n layers: 'count'\n\n``` python\nsc.pp.normalize_total(ad, target_sum=1e4)\nsc.pp.log1p(ad)\nsmtx = ad.X.tocsr().asfptype()\n```\n\n``` python\nsmtx.data\n```\n\n array([1.6352079, 1.6352079, 2.2258174, ..., 1.7980369, 1.7980369,\n 2.779648 ], dtype=float32)\n\n``` python\nad.write_h5ad('data/pbmc3k_norm.h5ad')\n```\n\nwrite out as sparse matrix\n\n``` python\nmmwrite('data/scaled.mtx', smtx[1:10,])\n```\n\n### In jupyter\n\n#### Input Anndata\n\n``` python\nscdenorm('data/pbmc3k_norm.h5ad',fout='data/pbmc3k_denorm.h5ad',verbose=1)\n```\n\n INFO:my_logger:Reading input file: data/pbmc3k_norm.h5ad\n /home/huang_yin/anaconda3/envs/sc/lib/python3.9/site-packages/anndata/__init__.py:51: FutureWarning: `anndata.read` is deprecated, use `anndata.read_h5ad` instead. `ad.read` will be removed in mid 2024.\n warnings.warn(\n INFO:my_logger:The dimensions of this data are (2700, 32738).\n INFO:my_logger:Selecting base\n INFO:my_logger:Denormlizing ...the base is 2.718281828459045\n\n b is 2.718281828459045\n\n 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 2700/2700 [00:02<00:00, 1071.27it/s]\n INFO:my_logger:Writing output file: data/pbmc3k_denorm.h5ad\n\nreturn a new anndata if there is no output path.\n\n``` python\nnew_ad=scdenorm('data/pbmc3k_norm.h5ad')\n```\n\n``` python\nnew_ad\n```\n\n View of AnnData object with n_obs \u00d7 n_vars = 2700 \u00d7 32738\n var: 'gene_ids'\n uns: 'log1p'\n\n``` python\nad.layers['count'].data\n```\n\n array([1., 1., 2., ..., 1., 1., 3.], dtype=float32)\n\n``` python\nnew_ad.X.data\n```\n\n array([1. , 1. , 2.0000002, ..., 1. , 1. ,\n 3. ], dtype=float32)\n\n#### Input sparse matrix with cell by gene\n\nIf it is gene by cell, set `gxc=True`.\n\n``` python\nscdenorm('data/scaled.mtx',fout='data/scd_scaled.h5ad')\n```\n\n 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 9/9 [00:00<00:00, 2883.12it/s]\n\n### In command line\n\n#### Input Anndata\n\n``` python\n!scdenorm data/pbmc3k_norm.h5ad --fout data/pbmc3k_denorm.h5ad\n```\n\n /home/huang_yin/anaconda3/envs/sc/lib/python3.9/site-packages/anndata/__init__.py:51: FutureWarning: `anndata.read` is deprecated, use `anndata.read_h5ad` instead. `ad.read` will be removed in mid 2024.\n warnings.warn(\n b is 2.718281828459045\n 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 2700/2700 [00:02<00:00, 1090.85it/s]\n\n#### Input sparse matrix with cell by gene\n\n``` python\n!scdenorm data/scaled.mtx --fout data/scd_scaled_c.h5ad\n```\n\n 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 9/9 [00:00<00:00, 1333.31it/s]\n\nor output `mtx` format.\n\n``` python\n!scdenorm data/scaled.mtx --fout data/scd_scaled_c.mtx\n```\n\n 100%|\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588| 9/9 [00:00<00:00, 1290.78it/s]\n\n## Citation\n\nYin Huang, Anna Vathrakokili Pournara, Ying Ao, Lirong Yang, Hui Zhang,\nYongjian Zhang, Sheng Liu, Alvis Brazma, Irene Papatheodorou, Xinlu\nYang, Ming Shi, Zhichao Miao \u201cscDenorm: a denormalisation tool for\nintegrating single-cell transcriptomics data\u201d(Under review)\n\n\n",
"bugtrack_url": null,
"license": "Apache Software License 2.0",
"summary": "scDenorm: a denormalization tool for single-cell transcriptomics data",
"version": "1.0.1",
"project_urls": {
"Homepage": "https://github.com/changebio/scDenorm"
},
"split_keywords": [
"nbdev",
"jupyter",
"notebook",
"python"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "101da79dd41aa72ccdcff5995ad7ef52c5ce3d92f818d3535359c3c81fb97ecb",
"md5": "45f6120a19e153ab548d693a86c061b9",
"sha256": "a855cead765bcfd6291c3df3cfcc9cd40bcea9a6987b3622b038f723764c33d5"
},
"downloads": -1,
"filename": "scDenorm-1.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "45f6120a19e153ab548d693a86c061b9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 12303,
"upload_time": "2024-09-24T08:54:49",
"upload_time_iso_8601": "2024-09-24T08:54:49.907309Z",
"url": "https://files.pythonhosted.org/packages/10/1d/a79dd41aa72ccdcff5995ad7ef52c5ce3d92f818d3535359c3c81fb97ecb/scDenorm-1.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "61e59c191f39716a6f210486a9eea0ae8d456edac4b9c9837ca73c0175e56145",
"md5": "6f7782ec029d91dc24f1e8c427b1efd7",
"sha256": "7dc6e8e491df7342c9a057697a59d8023e111b2a2c0b6e71891be6c3f42d4d15"
},
"downloads": -1,
"filename": "scDenorm-1.0.1.tar.gz",
"has_sig": false,
"md5_digest": "6f7782ec029d91dc24f1e8c427b1efd7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 12959,
"upload_time": "2024-09-24T08:54:51",
"upload_time_iso_8601": "2024-09-24T08:54:51.904438Z",
"url": "https://files.pythonhosted.org/packages/61/e5/9c191f39716a6f210486a9eea0ae8d456edac4b9c9837ca73c0175e56145/scDenorm-1.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-24 08:54:51",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "changebio",
"github_project": "scDenorm",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "scdenorm"
}