https://github.com/alleninstitute/cell_type_mapper
Repository for storing prototype functionality implementations for the BKP
https://github.com/alleninstitute/cell_type_mapper
Last synced: about 1 year ago
JSON representation
Repository for storing prototype functionality implementations for the BKP
- Host: GitHub
- URL: https://github.com/alleninstitute/cell_type_mapper
- Owner: AllenInstitute
- License: other
- Created: 2023-01-31T21:40:41.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-04-02T23:40:57.000Z (over 1 year ago)
- Last Synced: 2025-04-03T00:26:39.581Z (over 1 year ago)
- Language: Python
- Size: 36 MB
- Stars: 24
- Watchers: 6
- Forks: 5
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Cell Type Mapper
## Overview
This code provides a python package for mapping single sell RNA sequencing data
onto a cell type taxonomy such as that provided by the Allen Institute for Brain
Science.
## Installation
To install this library, clone the repository, then (ideally from a clean
python environment)
- Run `pip install -e .` from the root directory of this repository to install
this package itself.
This package has been tested extensively with python 3.9. We have no reason to
believe that it will not also run with python 3.8 and 3.10.
## Common use cases
In addition to the documentation referenced below, we provide several
Jupyter notebooks detailing common use cases for this code.
### Submitting data to online MapMyCells tool
The code in this repository provides the backend for the Allen Institute's
online [MapMyCells](https://knowledge.brain-map.org/mapmycells/process/) tool.
[This notebook](https://github.com/AllenInstitute/cell_type_mapper/blob/update/docs/250304/examples/explore_mapping_results.ipynb)
walks the user through the process of downloading actual data, formatting
it to be submitted to MapMyCells, and then downloading and interpreting the
results. You may also want to consult [this page](https://github.com/AllenInstitute/cell_type_mapper/blob/update/docs/250304/docs/output.md)
for detailed documentation of the output produced by the mapping code.
### Mapping to Allen Institute taxonomies on your own machine
If you want to run the code on your own machine, but still want to map
to the taxonomies supported by the on-line MapMyCells tool, consult
[this page](https://github.com/AllenInstitute/cell_type_mapper/blob/update/docs/250304/docs/input_data_files/running_online_taxonomies_locally.md) and Section 8
of [this Jupyter notebook.](https://github.com/AllenInstitute/cell_type_mapper/blob/update/docs/250304/examples/mapping_to_subset_of_abc_atlas_data.ipynb)
### Mapping to a user-defined taxonomy
[This Jupyter notebook](https://github.com/AllenInstitute/cell_type_mapper/blob/update/docs/250304/examples/full_mapping_pipeline.ipynb)
walks the user through the process of creating a new taxonomy from cartoon
data (generated by the notebook) and mapping unlabeled data to that
taxonomy.
### Creating and mapping to a taxonomy defined from a subset of the Allen Institute's data
[This Jupyter notebook](https://github.com/AllenInstitute/cell_type_mapper/blob/update/docs/250304/examples/mapping_to_subset_of_abc_atlas_data.ipynb)
walks the user through the process of downloading a subset of the
Allen Institute's Whole Mouse Brain data using the
[abc_atlas_access tool](https://alleninstitute.github.io/abc_atlas_access/intro.html),
creating a taxonomy based solely on that subset of the data,
and mapping data to that new taxonomy.
## Detailed documentation
The recommended workflow for running this code is
[here.](docs/mapping_cells.md)
Documentation of the output produced by this code can be found
[here.](docs/output.md)
## Level of support
We are providing this tool to the community and any and all who want to use it.
Issues and pull requests are welcome, however, this code is also intended
as part of the backend for the Allen Institute Brain Knowledge Platform. As
such, issues and pull requests may be declined if they interfere with
the functionality required to support that service.