{"id":32203954,"url":"https://github.com/fabilab/cell_atlas_approximations_api","last_synced_at":"2026-02-21T18:04:28.728Z","repository":{"id":160768382,"uuid":"616207902","full_name":"fabilab/cell_atlas_approximations_API","owner":"fabilab","description":"APIs for cell atlas approximations","archived":false,"fork":false,"pushed_at":"2025-02-28T04:01:47.000Z","size":659,"stargazers_count":0,"open_issues_count":10,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-22T04:49:05.508Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","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/fabilab.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":"2023-03-19T22:48:58.000Z","updated_at":"2025-02-28T04:01:51.000Z","dependencies_parsed_at":"2023-11-26T09:25:57.635Z","dependency_job_id":"b5a22ab5-855d-4d60-9cc8-2612f5050966","html_url":"https://github.com/fabilab/cell_atlas_approximations_API","commit_stats":{"total_commits":141,"total_committers":1,"mean_commits":141.0,"dds":0.0,"last_synced_commit":"47acdfeddedbffccaff7c0c18b87ba66ce103e7e"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fabilab/cell_atlas_approximations_API","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabilab%2Fcell_atlas_approximations_API","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabilab%2Fcell_atlas_approximations_API/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabilab%2Fcell_atlas_approximations_API/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabilab%2Fcell_atlas_approximations_API/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fabilab","download_url":"https://codeload.github.com/fabilab/cell_atlas_approximations_API/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabilab%2Fcell_atlas_approximations_API/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280382975,"owners_count":26321423,"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-10-22T02:00:06.515Z","response_time":63,"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-10-22T04:49:07.590Z","updated_at":"2025-10-22T04:49:08.640Z","avatar_url":"https://github.com/fabilab.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cb\u003eREST\u003c/b\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cb\u003ePython\u003c/b\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cb\u003eR\u003c/b\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cb\u003eJavaScript\u003c/b\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cb\u003eShell\u003c/b\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eBuild\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://github.com/fabilab/cell_atlas_approximations_API/actions\"\u003e\u003cimg src=\"https://github.com/fabilab/cell_atlas_approximations_API/actions/workflows/rest_test.yml/badge.svg\"\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://github.com/fabilab/cell_atlas_approximations_API/actions\"\u003e\u003cimg src=\"https://github.com/fabilab/cell_atlas_approximations_API/actions/workflows/python_test.yml/badge.svg\"\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://github.com/fabilab/cell_atlas_approximations_API/actions\"\u003e\u003cimg src=\"https://github.com/fabilab/cell_atlas_approximations_API/actions/workflows/r_test.yml/badge.svg\"\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://github.com/fabilab/cell_atlas_approximations_API/actions\"\u003e\u003cimg src=\"https://github.com/fabilab/cell_atlas_approximations_API/actions/workflows/js_test.yml/badge.svg\"\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://github.com/fabilab/cell_atlas_approximations_API/actions\"\u003e\u003cimg src=\"https://github.com/fabilab/cell_atlas_approximations_API/actions/workflows/shell_test.yml/badge.svg\"\u003e\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eRelease\u003c/td\u003e\n    \u003ctd\u003e(N.A.)\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://badge.fury.io/py/atlasapprox\"\u003e\u003cimg src=\"https://badge.fury.io/py/atlasapprox.svg\"\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"https://cranlogs.r-pkg.org/badges/atlasapprox\"\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://badge.fury.io/js/@fabilab%2Fatlasapprox\"\u003e\u003cimg src=\"https://badge.fury.io/js/@fabilab%2Fatlasapprox.svg\"\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e \u003ca href=\"https://raw.githubusercontent.com/fabilab/cell_atlas_approximations_API/refs/heads/main/shell/atlasapprox\"\u003ehere\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eDocs\u003c/td\u003e\n    \u003ctd align=\"center\" colspan=\"5\"\u003e\u003ca href=\"https://apidocs.atlasapprox.org/en/latest/?badge=latest\"\u003e\u003cimg src=\"https://readthedocs.org/projects/atlasapprox/badge/?version=latest\"\u003e\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003cimg src=\"https://raw.githubusercontent.com/fabilab/cell_atlas_approximations/main/figures/figure_API.png\" width=\"150\" height=\"150\"\u003e\n\n# Cell Atlas Approximations - API\nCell atlases such as Tabula Muris and Tabula Sapiens are multi-organ single cell omics data sets describing entire organisms. A cell atlas approximation is a lossy and lightweight compression of a cell atlas that can be streamed via the internet.\n\nThis project enables biologists, doctors, and data scientist to quickly find answers for questions such as:\n\n- *What types of cells populate the human heart?*\n- *What is the expression of a specific gene across cell types in C elegans?*\n- *What are the marker genes of a specific cell type in mouse pancreas*?\n- *What fraction of cells (of a specific type) express a gene of interest?*\n\nThese questions can be asked in Python or R using the provided packages (see below), or in a language agnostic manner using the REST API. We even made a shell script for Linux and Mac that calls the API from your terminal! - check out [shell/atlasapprox](https://github.com/fabilab/cell_atlas_approximations_API/blob/main/shell/atlasapprox)!\n\n## Version\nThe latest API version is `v1`.\n\nWe support several organs and organisms: human, mouse, lemur (a type of monkey), zebrafish, C. elegans. More organisms and organs are planned for the near future.\n\n## Documentation\nTutorial and reference documentation is available at [https://atlasapprox.readthedocs.io](https://atlasapprox.readthedocs.io).\n\n## Usage\n\u003cdetails\u003e \n\n\u003csummary\u003e REST \u003c/summary\u003e\n\n### REST\nThe REST interface is language-agnostic and can be queried using any HTTP request handler, e.g. in JavaScript:\n\n```javascript\n(async () =\u003e {\n  let response = await fetch(\"http://api.atlasapprox.org/v1/organisms\");\n  if (response.ok) {\n    let data = await response.json();\n    console.log(data);\n  }  \n})();\n```\n\nSimilar results can be obtained via Python's `requests`, R's `httr`, etc. If you are using Python or R, however, please consider using the dedicated interfaces below, as they are more efficient and easier on our servers thanks to caching.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003ePython\u003c/summary\u003e\n\n### Python\nThe Python interface uses a central `API` class. Its methods implement the REST endpoints:\n\n```python\nimport atlasapprox\n\napi = atlasapprox.API()\nprint(api.organisms())\nprint(api.celltypes(organism=\"c_elegans\", organ=\"whole\"))\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eR\u003c/summary\u003e\n\n### R\nThe R interface includes a number of `GetXXX` functions connected to the REST endpoints:\n\n```R\nlibrary(\"atlasapprox\")\n\norganisms \u003c- GetOrganisms()\nprint(organisms)\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eJavaScript\u003c/summary\u003e\n\n### JavaScript/nodejs\nAn object containing one function for each API endpoint is exported by the `atlasapprox` npm package:\n\n```javascript\nlet atlasapprox = require('atlasapprox');\n(async () =\u003e {\n  let data = await atlasapprox.organisms();\n  console.log(data);\n  }  \n})();\n\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eShell\u003c/summary\u003e\n\n### Shell (bash, zsh, et similia)\nA single script is provided in this repo under `shell/atlasapprox`. Usage instructions are included, but as a quick example:\n\n```bash\natlasapprox average --organism=m_musculus --organ=Lung --features=Col1a1,Ptprc\n```\n\nNote that the output is a serialized JSON string: you'll probably need some kind of parser to interpret the results.\n\n\u003c/details\u003e\n\n## Repo contents\n- `web`: webserver code in Flask that implements the RESTful API\n- `rest`: testing code for the RESTful API\n- `Python`: package code providing a Python interface\n- `R`: package code providing an R interface\n- `js`: package code providing a JavaScript interface\n- `shell`: shell script\n- `docs`: user documentation\n\n## Authors\n- [Fabio Zanini @ fabilab](https://fabilab.org)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffabilab%2Fcell_atlas_approximations_api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffabilab%2Fcell_atlas_approximations_api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffabilab%2Fcell_atlas_approximations_api/lists"}