{"id":24319462,"url":"https://github.com/baderlab/scired","last_synced_at":"2025-12-16T06:47:27.139Z","repository":{"id":235851131,"uuid":"791387168","full_name":"BaderLab/sciRED","owner":"BaderLab","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-20T16:20:30.000Z","size":50340,"stargazers_count":5,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-23T11:23:54.328Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BaderLab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-24T16:18:10.000Z","updated_at":"2025-05-26T19:47:48.000Z","dependencies_parsed_at":"2024-05-01T16:16:00.757Z","dependency_job_id":"02f7d01a-d148-4261-b77b-ed5ba5114640","html_url":"https://github.com/BaderLab/sciRED","commit_stats":null,"previous_names":["delipouya/scired","baderlab/scired"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/BaderLab/sciRED","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BaderLab%2FsciRED","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BaderLab%2FsciRED/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BaderLab%2FsciRED/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BaderLab%2FsciRED/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BaderLab","download_url":"https://codeload.github.com/BaderLab/sciRED/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BaderLab%2FsciRED/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27760418,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-16T02:00:10.477Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-17T15:33:32.892Z","updated_at":"2025-12-16T06:47:27.134Z","avatar_url":"https://github.com/BaderLab.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003cimg src=\"https://github.com/delipouya/sciRED/blob/main/inst/sciRED_logo_wave.png\" align=\"right\" height=\"200\"\u003e\n\n# sciRED\n\n- [Introduction](#introduction)\n- [Installation](#installation)\n- [Tutorial](#tutorial)\n- [Citation](#citation)\n- [Contact](#contact)\n\n## Introduction\n\nSingle-cell RNA sequencing (scRNA-seq) maps gene expression heterogeneity within a tissue. However, identifying biological signals in this data is challenging due to confounding technical factors, noise, sparsity, and high dimensionality. Data factorization methods address this by separating and identifying signals, such as gene expression programs, but the resulting factors require manual interpretation.\n\nWe developed sciRED to enhance the interpretation of scRNA-seq factor analysis. sciRED follows four steps:\n1. Removing known confounding effects and using rotations to improve factor interpretability.\n2. Mapping factors to known covariates.\n3. Identifying unexplained factors that may capture hidden biological phenomena.\n4. Determining the genes and biological processes represented by the resulting factors.\n\nWe applied sciRED to multiple scRNA-seq datasets and demonstrated its utility in:\n- Identifying general and cell-type specific covariate-related variations, such as sex-specific variations in a kidney map, discerning strong and weak stimulation signals in a PBMC dataset, and general and cell-type specific strain variation within a rat liver atlas.\n- Employing a cluster-free approach to identify and guide the annotation of cell type identity programs.\n- Decomposing signal and noise, such as eliminating ambient RNA contamination in a rat liver atlas to unveil strain variations.\n- Evaluating unannotated factors to reveal hidden biology in a healthy human liver map, represented by anatomical zonation gene programs, T cell-specific cell cycle signatures, and two rare cell type signatures that were missed in the original study.\n\n\n## Installation\nPlease make sure to install the following packages **before installing sciRED**:\nnumpy, pandas, scanpy, statsmodels, seaborn, [umap-learn](https://pypi.org/project/umap-learn/), matplotlib, scikit-learn, scipy, xgboost, scikit-image, [diptest==0.2.0](https://pypi.org/project/diptest/0.2.0/)\n\n\nThe sciRED package is available for installation via PyPI. Please ensure you install the most up-to-date version.\n```bash\npip install sciRED\n```\n\n**Common issues**\\\nSome of the prerequisite packages require the Numba package for parallel implementation. Please install older versions of numpy (such as 1.22.4) in case you encounter the following error:\n\n```bash\nNumba needs NumPy 1.24 or less\n```\nDetailed package version information is provided in the requirements.txt file.\n\nInstallation, verified on Linux and Unix systems, takes less than a minute once all dependencies are resolved.\n\n\n## Tutorial\n\nFollow [tutorial-1](https://github.com/delipouya/sciRED/blob/main/tutorial1_scMixology.ipynb) and [tutorial-2](https://github.com/delipouya/sciRED/blob/main/tutorial2_stimulatedPBMC.ipynb) to learn how to use sciRED. These tutorials introduce the standard processing pipeline and demonstrate the application of sciRED on the scMixology and stimulated PBMC datasets. Further details about the input datasets are available in the manuscript. The data processing scripts are available in the _data_prep_ folder. \n\nThe input data for Tutorial 1 is provided in the \"Data\" folder. Instructions for downloading and saving data for Tutorial 2 can be found in the `data_stimPBMC.R` script inside the _data_prep_ folder. The demo for Tutorial 1 took less than a minute to run on a workstation with 24 CPUs and 64 GB RAM.\n\n**Exporting the RNA Assay from Seurat v5 to an h5ad File**\n\nWhen exporting Seurat v5 objects to h5ad format for sciRED, ensure the RNA assay is correctly structured by following these steps before conversion:\n\n```r\ndata_raw[[\"RNA3\"]] \u003c- as(object = data_raw[[\"RNA\"]], Class = \"Assay\")\nDefaultAssay(data_raw) \u003c- \"RNA3\"\ndata_raw[[\"RNA\"]] \u003c- NULL\ndata_raw \u003c- RenameAssays(object = data_raw, RNA3 = 'RNA')\n```\nThis ensures proper compatibility before running sciRED.\n\n\n## Citation\n\nIf you find sciRED useful for your publication, please cite:\n\n[Pouyabahar et al. Interpretable single-cell factor decomposition using sciRED.](https://www.nature.com/articles/s41467-025-57157-2)\n\nFor the code and Zenodo archive:  \n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14595050.svg)](https://doi.org/10.5281/zenodo.14595050)\n\n## Contact\nFor questions, please contact Delaram Pouyabahar at: d.pouyabahar@mail.utoronto.ca\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaderlab%2Fscired","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbaderlab%2Fscired","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaderlab%2Fscired/lists"}