{"id":15118900,"url":"https://github.com/Bayer-Group/cellenium","last_synced_at":"2025-09-28T01:31:20.388Z","repository":{"id":89208628,"uuid":"595323139","full_name":"Bayer-Group/cellenium","owner":"Bayer-Group","description":"Cellenium is a FAIR and scalable interactive visual analytics app for scRNA-Seq data (single-cell RNA sequencing).","archived":false,"fork":false,"pushed_at":"2023-11-22T11:49:19.000Z","size":13045,"stargazers_count":27,"open_issues_count":18,"forks_count":5,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-09-09T14:03:47.122Z","etag":null,"topics":["bioinformatics","dataviz","scrna-seq","transcriptomics"],"latest_commit_sha":null,"homepage":"","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/Bayer-Group.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-01-30T21:07:11.000Z","updated_at":"2025-03-26T12:52:35.000Z","dependencies_parsed_at":"2024-01-13T00:38:12.922Z","dependency_job_id":null,"html_url":"https://github.com/Bayer-Group/cellenium","commit_stats":{"total_commits":466,"total_committers":7,"mean_commits":66.57142857142857,"dds":0.424892703862661,"last_synced_commit":"f4cdb89bf558eb99b749e50eec1b68958d9a44dd"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Bayer-Group/cellenium","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bayer-Group%2Fcellenium","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bayer-Group%2Fcellenium/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bayer-Group%2Fcellenium/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bayer-Group%2Fcellenium/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Bayer-Group","download_url":"https://codeload.github.com/Bayer-Group/cellenium/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bayer-Group%2Fcellenium/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277315117,"owners_count":25797567,"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-09-27T02:00:08.978Z","response_time":73,"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":["bioinformatics","dataviz","scrna-seq","transcriptomics"],"created_at":"2024-09-26T01:53:40.008Z","updated_at":"2025-09-28T01:31:15.370Z","avatar_url":"https://github.com/Bayer-Group.png","language":"Jupyter Notebook","funding_links":[],"categories":["Ranked by starred repositories"],"sub_categories":[],"readme":"# cellenium\n\nCellenium is a FAIR and scalable interactive visual analytics app for scRNA-Seq data. It allows to:\n* organize and semantically find scRNA studies with ontologized metadata for tissues and diseases\n* explore cell types and other cell annotations in UMAP space\n* find differentially expressed genes based on clusters of annotated cells\n* view the expression of a single gene (or a few selected genes) in the UMAP plot or as grouped violin plots\n* draw coexpression plots for pairs of genes, explore the cell types contained in the plots\n* add new cell annotations based on plot selections, see differentially expressed genes for a selected group of cells\n* find genes which expression is highly correlated to a query gene\n* find marker genes in all imported studies and qualitatively compare gene expression across studies \n\nLink to publication: https://doi.org/10.1093/bioinformatics/btad349\n\nLink to showcase: https://youtu.be/U71qIK-Mqlc\n\n![UMAP projection cell type plot of the public study example blood_covid.ipynb](documentation/screenshots/projection_plot.png)\n\n## System Overview\n\nCellenium imports scRNA expression data and cell annotations in H5AD format. We provide jupyter notebooks for\ndownloading some publicly available scRNA studies, normalize the data if necessary, and calculate differentially\nexpressed genes, a UMAP projection and other study data that is needed for Cellenium's features to work.\n\nCellenium is a web application that accesses a PostgreSQL database via GraphQL API. Some API features, like\nserver-side rendered plots, depend on Python stored procedures. The [graphql_api_usage](documentation/graphql_api_usage/) folder\ncontains a couple of example queries to illustrate the API capabilities.\n\n![Cellenium architecture](documentation/cellenium_architecture.png)\n\nThe setup steps below automate the download and creation of appropriate H5AD files, docker image build,\ndatabase schema setup and data ingestion.\n\n## Setting up\n\nPreparation of CellO data files (workaround for https://github.com/deweylab/CellO/issues/29 ):\n\n```bash\nmkdir scratch/cello_resources\ncurl https://deweylab.biostat.wisc.edu/cell_type_classification/resources_v2.0.0.tar.gz \u003escratch/cello_resources/resources_v2.0.0.tar.gz\ntar -C scratch/cello_resources -zxf scratch/cello_resources/resources_v2.0.0.tar.gz\n```\n\nCellenium setup, including execution of study data processing notebooks (initially, this will take a couple of hours\nto run).\n\n```bash\n# builds docker images and runs the whole stack\n# until you run the \"make reset_database\" step below, error messages about the missing \"postgraphile\" user pile up... you can ignore them for now.\ndocker compose up\nconda env create -f data_import/environment.yml\nconda activate cellenium_import\n# 'test_studydata' should contain data to cover all application features, but is small enough to be imported in a few minutes\nmake reset_database test_studydata_import\n\n# 'normal_studydata': real life studies (i.e. with full amount of cells and genes)\nmake normal_studydata_import\n\n# we have one for atac\nmake atac_studydata_import\n\n# and one for cite\nmake cite_studydata_import\n```\n\nThe GraphQL API explorer is available at http://localhost:5000/postgraphile/graphiql . Postgraphile will listen\nto changes in the database schema and the updated API is visible immediately.\n\nThe cellenium webapp 'production build' static site is hosted in the 'client' container, see http://localhost:6002/ .\nFor development, you run `(cd client \u0026\u0026 yarn \u0026\u0026 yarn start)` to install the webapp's dependencies and have\na hot-reloaded webapp.\n\nBefore you process and import the huge example study (there are two additional make targets for that), edit the beginning\nof `heart_failure_reichart2022*.ipynb` and define the download URL as described in the notebooks.\n\n## manually executing the study data preparation jupyter notebooks\n\nThe notebooks are run in headless mode by `make`. To create new notebooks and explore datasets:\n\n```bash\n(cd data_import \u0026\u0026 PYTHONPATH=$(pwd) jupyter-lab)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBayer-Group%2Fcellenium","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FBayer-Group%2Fcellenium","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBayer-Group%2Fcellenium/lists"}