SCOT is an implementation of a probabilistic tensor decomposition framework for single-cell multi-omics data integration.
Project description
SCOT
SCOT is an implementation of a probabilistic tensor decomposition framework for single-cell multi-omics data integration. SCOT accepts the input of datasets from multiple omics, with missing values allowed.
Getting started
Prerequisite
- numpy
- pytorch 1.9.0
Install
pip install SCOT-bio
Examples
This is an example of multiple datasets when features have corresponding information.
from scot import sc_multi_omics
data = np.array([expression_data, methylation_data])
sc_model = sc_multi_omics()
predict_data = sc_model.fit(data) # the imputed data
np.savetxt("global_cell_embeddings.csv", sc_model.C, delimiter = ',') # global cell embeddings
np.savetxt("global_gene_embeddings.csv", sc_model.G, delimiter = ',') # global gene embeddings
np.savetxt("local_cell_embeddings.csv", sc_model.C, delimiter = ',') # omics-specific cell embeddings
np.savetxt("local_gene_embeddings.csv", sc_model.G, delimiter = ',') # omics-specific gene embeddings
When the features of different omics do not have corresponding information, please use the fit_list function, which accepts the input as a list of matrices.
from scot import sc_multi_omics
data = [expression_data, protein_data]
sc_model = sc_multi_omics()
predict_data = sc_model.fit_list(data)
If the input does not contain missing values ("NA"), we provide fit_complete and fit_list_complete functions to accelerate the optimization since they take advantage of matrix operations.
from scot import sc_multi_omics
data = np.array([expression_data, methylation_data])
sc_model = sc_multi_omics()
predict_data = sc_model.fit_complete(data) # the imputed data
from scot import sc_multi_omics
data = [expression_data, protein_data]
sc_model = sc_multi_omics()
predict_data = sc_model.fit_list_complete(data)
We put the complete scripts for the analysis described in the manuscript under examples/ directory for detailed usage examples and reproduction. The example data can be downloaded from Google Drive.
Parameters
sc_multi_omics
K1: The local element-wise product parameter, see the manuscript for details (default=20).K2: The local element-wise product parameter (default=20).K3: The local element-wise product parameter (default=20).random_seed: The random seed used in optimization (default=111).
fit
opt: The optimization algorithm for gradient descent, including SGD, Adam, Adadelta, Adagrad, AdamW, SparseAdam, Adamax, ASGD, LBFGS (default="Adam").dist:The distribution used for modeling, including gaussian, poisson, negative_bionomial (default="gaussian").lr: The learning rate for gradient descent (default=1e-2).n_epochs: The number of optimization epochs (default=1000).lambda_C_regularizer: The coefficient for the penalty term of global cell embeddings (default=0.01).lambda_G_regularizer: The coefficient for the penalty term of global gene embeddings (default=0.01).lambda_O_regularizer: The coefficient list for the penalty term of global omics embeddings; the length of the list should be the same with the number of omics (default=[0.01, 0.01]).lambda_OC_regularizer: The coefficient list for the penalty term of omics-specific cell embeddings; the length of the list should be the same with the number of omics, not avaiable for complete functions (default=[1, 1]).lambda_OG_regularizer: The coefficient list for the penalty term of omics-specific gene embeddings, the length of the list should be the same with the number of omics, not avaiable for list functions (default=[1, 1]).batch_size: The batch size used for gradient descent, not avaiable for complete functions (default=1000).device: CPU or GPU (default='cuda' if torch.cuda.is_available() else 'cpu').verbose: Whether to print loss for each epoch (default=True).
Maintainer
WANG Ruohan ruohawang2-c@my.cityu.edu.hk
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file SCOT-bio-0.0.1.tar.gz.
File metadata
- Download URL: SCOT-bio-0.0.1.tar.gz
- Upload date:
- Size: 5.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.24.0 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.47.0 importlib-metadata/4.11.3 keyring/21.2.1 rfc3986/2.0.0 colorama/0.4.3 CPython/3.8.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
699b338ce7c8ff1eeb2cb4497c051dc9e8b0fb5c64a3e0033e2d310445b839ae
|
|
| MD5 |
984f70d750d16e8031cf5da40d5291aa
|
|
| BLAKE2b-256 |
f1b81e580c5db017c98b6e255cb9ad3d4d0ad5e24e2c0388d1b9efd007a31694
|