A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/algo-bio-lab/SOCS below:

algo-bio-lab/SOCS: Spatiotemporal Optimal Transport with Contiguous Structures

This is the codebase for Spatiotemporal Optimal Transport with Contiguous Structures (SOCS), as described in our manuscript Accurate trajectory inference in time-series spatial transcriptomics with structurally-constrained optimal transport.

To install SOCS, download this repository directly, and add the folder named socs to your python path. The file socs_env.yaml can be used to create a conda environment with all the dependencies required to run SOCS, by running:
conda env create -f socs_env.yaml.

To confirm that SOCS has been installed correctly, run the notebook simple_test.ipynb, which runs SOCS on a very small sample of MERFISH data.

To reproduce Fig. 1 of our manuscript, run the notebooks lung_processing_notebook.ipynb and lung_analysis_notebook.ipynb. To reproduce Fig. 2 of our manuscript, run the notebook ovary_analysis_notebook.ipynb.

SOCS is fairly straightforward to use. To use SOCS to do trajectory inference on your spatial transcriptomics data, first format your data as AnnData objects, e.g. adata, with gene expression stored as a count table in adata.X, spatial x-y coordinates stored in adata.obsm['spatial'], and spatially contiguous structure labels stored in adata.obs['struct'], and time-point labels stored in adata.obs['time']. Perform dimensionality reduction if desired.
Choose the following parameters: alpha (a value between 0 and 1), which trades off spatial consistency with genetic consistency, eps, which controls the entropy of the inferred transport map (as eps increases, the map is more "spread out"), and rho and rho2 which control the "unbalancedness" of the problem.
To set up the SOCS problem, initialize the class socs.ot.SOCSModel:
socs_model = socs.ot.SOCSModel(adata,'time',expr_key='X_pca',struct_key='struct',alpha=alpha,eps=eps,rho=rho,rho2=rho2)

If any structure labels should not be incorporated into the optimization problem, e.g. if label 0 indicates that a cell does not belong to a structure, indicate this by adding the argument struct_excl=[0] to the initialization.

To run trajectory inference with SOCS, run the command:
T = socs_model.infer_map(t1,t2), where t1 and t2 are the time point labels stored in adata.obs['time'].


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4