diff --git a/.bandit.yml b/.bandit.yml new file mode 100644 index 000000000..21917d362 --- /dev/null +++ b/.bandit.yml @@ -0,0 +1,7 @@ +### profile may optionally select or skip tests + +# (optional) list included tests here: +tests: [] + +# (optional) list skipped tests here: +skips: ['B101', 'B403', 'B404', 'B603', 'B607', 'B301', 'B303', 'B311', 'B310', 'B506'] diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 000000000..c08bbb0fd --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,28 @@ +--- +name: Bug report +about: Create a bug report to help us improve +title: 'Bug Summary' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. ... +2. ... +3. ... + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**System [please complete the following information]:** + - OS: e.g. [Ubuntu 20.04] + - Language Version: [e.g. Python 3.9] + - Virtual environment: [e.g. Conda] + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 000000000..071044f83 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,17 @@ +--- +name: Feature request +about: Suggest a new feature +title: 'Feature Request Summary' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when ... + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/general_question.md b/.github/ISSUE_TEMPLATE/general_question.md new file mode 100644 index 000000000..9b429f568 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/general_question.md @@ -0,0 +1,13 @@ +--- +name: General question +about: Ask a question about anything related to this project +title: 'Question' +labels: '' +assignees: '' + +--- + +**Question** + +Please ask your question here. It can be about the usage of this project, the internals, the implementation or whatever interests you. +Please use the BUG template for bugs, and the FEATURE REQUEST template for feature requests. diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..8ace0c2b2 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,25 @@ +version: 2 +updates: +- package-ecosystem: pip + directory: "/" + schedule: + interval: daily + time: "04:00" + open-pull-requests-limit: 99 + target-branch: development + labels: + - dependabot + commit-message: + prefix: "[DEPENDABOT]" + +- package-ecosystem: github-actions + directory: "/" + schedule: + interval: daily + time: "04:00" + open-pull-requests-limit: 99 + target-branch: development + labels: + - dependabot + commit-message: + prefix: "[DEPENDABOT]" diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 000000000..c017fb887 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,19 @@ +Many thanks for contributing to sfaira! + +**PR Checklist** +Please fill in the appropriate checklist below (delete whatever is not relevant). These are the most common things requested on pull requests (PRs). + + - [ ] This comment contains a description of changes (with reason) + - [ ] Referenced issue is linked + - [ ] If you've fixed a bug or added code that should be tested, add tests! + - [ ] Documentation in `docs` is updated + - [ ] `docs/release-notes.rst` is updated + +**Description of changes** +Please state what you've changed and how it might affect the user. + +**Technical details** +Please state any technical details such as limitations, reasons for additional dependencies, benchmarks etc. here. + +**Additional context** +Add any other context or screenshots here. diff --git a/.github/workflows/build_package.yml b/.github/workflows/build_package.yml new file mode 100644 index 000000000..ec199d5a6 --- /dev/null +++ b/.github/workflows/build_package.yml @@ -0,0 +1,42 @@ +name: Build sfaira Package + +on: [push, pull_request] + +jobs: + build: + runs-on: ${{ matrix.os }} + if: "!contains(github.event.head_commit.message, '[skip ci]') && !contains(github.event.head_commit.message, '[ci skip]')" + strategy: + matrix: + os: [macos-latest, ubuntu-latest, windows-latest] + python: [3.7, 3.8] + env: + PYTHONIOENCODING: utf-8 + + steps: + - uses: actions/checkout@v2 + name: Check out source-code repository + + - name: Setup Python + uses: actions/setup-python@v2.1.4 + with: + python-version: ${{ matrix.python }} + + - name: Upgrade and install pip + run: python -m pip install --upgrade pip + + - name: Build sfaira + run: pip install . + + - name: Import sfaira + run: python -c "import sfaira" + + # Verify that the package does adhere to PyPI's standards + - name: Install required twine packaging dependencies + run: pip install setuptools wheel twine + + - name: Build twine package + run: python setup.py sdist bdist_wheel + + - name: Check twine package + run: twine check dist/* diff --git a/.github/workflows/create_templates.yml b/.github/workflows/create_templates.yml new file mode 100644 index 000000000..4e894113f --- /dev/null +++ b/.github/workflows/create_templates.yml @@ -0,0 +1,35 @@ +name: Create sfaira data-loader templates + +on: [push, pull_request] + +jobs: + create-templates: + runs-on: ${{ matrix.os }} + if: "!contains(github.event.head_commit.message, '[skip ci]') && !contains(github.event.head_commit.message, '[ci skip]')" + strategy: + matrix: + os: [ubuntu-latest] + python: [3.7, 3.8] + env: + PYTHONIOENCODING: utf-8 + + steps: + - uses: actions/checkout@v2 + name: Check out source-code repository + + - name: Setup Python + uses: actions/setup-python@v2.1.4 + with: + python-version: ${{ matrix.python }} + + - name: Upgrade and install pip + run: python -m pip install --upgrade pip + + - name: Build sfaira + run: pip install . + + - name: Create single_dataset template + run: | + cd .. + echo -e "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" | sfaira create-dataloader + rm -rf d10_1000_j_journal_2021_01_001/ diff --git a/.github/workflows/pr_to_master_from_patch_release_only.yml b/.github/workflows/pr_to_master_from_patch_release_only.yml new file mode 100644 index 000000000..c1d9467ab --- /dev/null +++ b/.github/workflows/pr_to_master_from_patch_release_only.yml @@ -0,0 +1,34 @@ +name: PR to master branch from patch/release branch only + +on: + pull_request: + branches: + - master + +jobs: + test: + runs-on: ubuntu-latest + steps: + # PRs to the repository master branch are only ok if coming from any patch or release branch + - name: Check PRs + run: | + { [[ $GITHUB_HEAD_REF = *"release"* ]]; } || [[ $GITHUB_HEAD_REF == *"patch"* ]] + + # If the above check failed, post a comment on the PR explaining the failure + # NOTE - this may not work if the PR is coming from a fork, due to limitations in GitHub actions secrets + - name: Post PR comment + if: failure() + uses: mshick/add-pr-comment@v1 + with: + message: | + Hi @${{ github.event.pull_request.user.login }}, + + It looks like this pull-request is has been made against the ${{github.event.pull_request.head.repo.full_name}} `master` branch. + The `master` branch should always contain code from the latest release. + Because of this, PRs to `master` are only allowed if they come from any ${{github.event.pull_request.head.repo.full_name}} `release` or `patch` branch. + + You do not need to close this PR, you can change the target branch to `development` by clicking the _"Edit"_ button at the top of this page. + + Thanks again for your contribution! + repo-token: ${{ secrets.GITHUB_TOKEN }} + allow-repeats: false diff --git a/.github/workflows/publish_docs.yml b/.github/workflows/publish_docs.yml new file mode 100644 index 000000000..8fba4ee58 --- /dev/null +++ b/.github/workflows/publish_docs.yml @@ -0,0 +1,42 @@ +name: Build Documentation + +on: + push: + paths: + - "docs/**" + pull_request: + paths: + - "docs/**" + +jobs: + build: + + runs-on: ubuntu-latest + if: "!contains(github.event.head_commit.message, '[skip ci]') && !contains(github.event.head_commit.message, '[ci skip]')" + + steps: + - uses: actions/checkout@v2 + name: Check out source-code repository + + - name: Setup Python + uses: actions/setup-python@v2.1.4 + with: + python-version: 3.8 + + - name: Install pip + run: python -m pip install --upgrade pip + + - name: Install doc dependencies + run: pip install -r docs/requirements.txt + + - name: Build docs + run: | + cd docs + make html + + - name: Deploy + if: ${{ github.ref == 'refs/heads/master' && github.event_name == 'push' }} + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./docs/_build/html diff --git a/.github/workflows/publish_package.yml b/.github/workflows/publish_package.yml new file mode 100644 index 000000000..409a1b10e --- /dev/null +++ b/.github/workflows/publish_package.yml @@ -0,0 +1,31 @@ +name: Publish sfaira to PyPI + +on: + release: + types: [created] + +jobs: + deploy: + runs-on: ubuntu-latest + if: "!contains(github.event.head_commit.message, '[skip ci]') && !contains(github.event.head_commit.message, '[ci skip]')" + steps: + - uses: actions/checkout@v2 + name: Check out source-code repository + + - name: Set up Python + uses: actions/setup-python@v2.1.4 + with: + python-version: '3.9' + + - name: Install pip, setuptools, wheel, twine + run: | + python -m pip install --upgrade pip + pip install setuptools wheel twine + + - name: Build and publish + env: + TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} + TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} + run: | + python setup.py sdist bdist_wheel + twine upload dist/* diff --git a/.github/workflows/run_bandit.yml b/.github/workflows/run_bandit.yml new file mode 100644 index 000000000..ddef63684 --- /dev/null +++ b/.github/workflows/run_bandit.yml @@ -0,0 +1,30 @@ +name: Run bandit + +on: + push: + paths: + - "**/*.py" + pull_request: + paths: + - "**/*.py" + +jobs: + run-bandit: + + runs-on: ubuntu-latest + if: "!contains(github.event.head_commit.message, '[skip ci]') && !contains(github.event.head_commit.message, '[ci skip]')" + + steps: + - uses: actions/checkout@v2 + name: Check out source-code repository + + - name: Setup Python + uses: actions/setup-python@v2.1.4 + with: + python-version: 3.9 + + - name: Install bandit + run: pip install bandit + + - name: Run bandit + run: bandit -r sfaira -c .bandit.yml diff --git a/.github/workflows/run_flake8_linting.yml b/.github/workflows/run_flake8_linting.yml new file mode 100644 index 000000000..737f7b80e --- /dev/null +++ b/.github/workflows/run_flake8_linting.yml @@ -0,0 +1,31 @@ +name: Run flake8 linting + +on: + push: + paths: + - "**/*.py" + pull_request: + paths: + - "**/*.py" + +jobs: + lint: + runs-on: ubuntu-latest + if: "!contains(github.event.head_commit.message, '[skip ci]') && !contains(github.event.head_commit.message, '[ci skip]')" + + steps: + - uses: actions/checkout@v2 + name: Check out source-code repository + + - name: Setup Python + uses: actions/setup-python@v2.1.4 + with: + python-version: 3.9 + + - name: Install pip + run: python -m pip install --upgrade pip + + - name: Lint with flake8 + run: | + pip install flake8 + flake8 . diff --git a/.gitignore b/.gitignore index a4099d8f9..f2707b8fc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,16 +1,151 @@ +cache/ontologies/cl/* +sfaira/unit_tests/test_data_loaders/* +sfaira/unit_tests/test_data/* +sfaira/unit_tests/template_data/* +sfaira/unit_tests/data_contribution/test_data_template.py git abuild cache sfaira.egg-info config.ini .metadata -.idea .Rhistory playground/* venv/* -**/__pycache__ *.ipynb_checkpoints/ */*.ipynb_checkpoints/ **/.DS_Store docs/_templates/ dist/ !**/.gitignore + +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +pip-wheel-metadata/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +.python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# Jetbrains IDE +.idea/ diff --git a/.readthedocs.yml b/.readthedocs.yml index 6a8f1a146..b5013855b 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -1,4 +1,15 @@ +version: 2 + build: image: latest + +sphinx: + configuration: docs/conf.py + +# Optionally build your docs in additional formats such as PDF and ePub +formats: all + python: - version: 3.8 + version: 3.9 + install: + - requirements: docs/requirements.txt \ No newline at end of file diff --git a/README.rst b/README.rst index cf758b0c7..a116498a7 100644 --- a/README.rst +++ b/README.rst @@ -1,11 +1,25 @@ -|Stars| |PyPI| |PyPIDownloads| +|Build| |Documentation| |Stars| |PyPI| |PyPIDownloads| + + +.. |Build| image:: https://github.com/theislab/sfaira/workflows/Build%20sfaira%20Package/badge.svg + :target: https://github.com/theislab/sfaira/workflows/Build%20sfaira%20Package/badge.svg + :alt: Github Workflow Build sfaira Status + +.. |Documentation| image:: https://readthedocs.org/projects/sfaira/badge/?version=latest + :target: https://sfaira.readthedocs.io/en/latest/ + :alt: Documentation Status .. |Stars| image:: https://img.shields.io/github/stars/theislab/sfaira?logo=GitHub&color=yellow :target: https://github.com/theislab/sfaira/stargazers + :alt: Github Stars + .. |PyPI| image:: https://img.shields.io/pypi/v/sfaira?logo=PyPI :target: https://pypi.org/project/sfaira + :alt: PyPI Version + .. |PyPIDownloads| image:: https://pepy.tech/badge/sfaira :target: https://pepy.tech/project/sfaira + :alt: Number of downloads sfaira - data and model repository for single-cell data @@ -15,7 +29,7 @@ sfaira - data and model repository for single-cell data :width: 1000px :align: center -sfaira_ is a model and a data repository in a single python package. +sfaira_ is a model and a data repository in a single python package (preprint_). We provide an interactive overview of the current state of the zoos on sfaira-site_. Its data zoo gives users access to streamlined data loaders that allow reproducible use of published and private data sets for model training and exploration. @@ -26,6 +40,7 @@ sfaira integrates into scanpy_ workflows. .. _scanpy: https://github.com/theislab/scanpy .. _sfaira: https://sfaira.readthedocs.io +.. _preprint: https://www.biorxiv.org/content/10.1101/2020.12.16.419036v1 .. _DCA: https://github.com/theislab/dca .. _scArches: https://github.com/theislab/scarches .. _sfaira-site: https://theislab.github.io/sfaira-site/index.html diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 000000000..d637ccd38 --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,16 @@ +SPHINXOPTS = +SPHINXBUILD = python -msphinx +SPHINXPROJ = sfaira +SOURCEDIR = . +BUILDDIR = _build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/docs/_static/custom_sfaira.css b/docs/_static/custom_sfaira.css new file mode 100644 index 000000000..ff1006b23 --- /dev/null +++ b/docs/_static/custom_sfaira.css @@ -0,0 +1,141 @@ +@import "basic.css"; + +/*Color main components with a dark theme*/ +div, span, code { + background-color: #181a1b !important; +} + +.wy-side-nav-search { + background-color: #005fff !important; +} + +.wy-side-nav-search div { + background-color: #005fff !important; +} + +/*Font color is mainly white*/ +.rst-content p, li, h1, h2, h3, h4, h5, h6, .highlight-console, .n, .section { + color: #FFFFFF; +} + +/*The side menu is slightly more grey and lighter than the overall theme*/ +.wy-menu, .wy-menu-vertical { + background-color: #2D2E2F !important; +} + +.wy-side-scroll { + background-color: #2D2E2F !important; +} + +.wy-menu .caption-text { + background-color: #2D2E2F !important; +} + +.caption-text { + background-color: #181a1b !important; +} + +.figure p { + background-color: #181a1b !important; +} + +/*Toctree wrapper on index page has a dark background unlike the other menu items*/ +.toctree-wrapper .compound ul .toctree-l1, .toctree-wrapper .compound ul .toctree-l2 { + background-color: #181a1b !important; + color: #005fff !important; +} + +/*The current menu section has a blue background*/ +.wy-menu-vertical li.toctree-l1.current li.toctree-l2 > a:hover { + color: #FFFFFF !important; + background: #005fff !important; +} + +/*Subitems under the current section are displayed in grey again*/ +.wy-menu-vertical li.toctree-l1.current li.toctree-l2 > a { + color: #FFFFFF !important; + background: #2D2E2F !important; +} + +/*Current hovered item has a blue background*/ +.wy-menu-vertical li.toctree-l2.current li.toctree-l3 > a:hover { + color: #FFFFFF !important; + background: #005fff !important; +} + +.wy-menu-vertical li.toctree-l2.current > a:hover { + color: #FFFFFF !important; + background: #005fff !important; +} + +.wy-menu-vertical li.toctree-l2.current li.toctree-l3 > a { + color: #FFFFFF !important; + background: #2D2E2F !important; +} + +.wy-menu-vertical li.toctree-l1.current { + color: #FFFFFF !important; + background: #005fff !important; + border-color: #005fff !important; +} + +.wy-menu-vertical li.toctree-l1.current > a { + color: #FFFFFF !important; + background: #005fff !important; + border-color: #005fff !important; +} + +.wy-menu-vertical li.toctree-l1.current > a:hover { + color: #FFFFFF !important; + background: #005fff !important; + border-color: #005fff !important; +} + +/*The expand toctree items have the same background as its corresponding section*/ +.wy-menu-vertical li.toctree-l1 a span.toctree-expand { + background-color: #005fff !important; +} + +.wy-menu-vertical li.toctree-l2 a span.toctree-expand { + background-color: #2D2E2F !important; +} + +.wy-menu-vertical li.toctree-l2 a:hover span.toctree-expand { + background-color: #005fff !important; +} + +.wy-menu-vertical li.toctree-l3 a span.toctree-expand { + background-color: #2D2E2F !important; +} + +.wy-menu-vertical li.toctree-l3 a:hover span.toctree-expand { + background-color: #005fff !important; +} + +.code .docutils .literal .notranslate .pre { + background-color: #181a1b !important; +} + +/*Color footer separately corresponding to overall dark theme*/ +footer { + color: #FFFFFF; +} + +/*Color footer buttons in blue*/ +.rst-footer-buttons a, .rst-footer-buttons a:hover, .rst-footer-buttons span { + background-color: #005fff !important; +} + +.wy-side-nav-search a { + background-color: #005fff !important; +} + +.version { + background-color: #005fff !important; + color: #FFFFFF !important; +} + +/*Set max width to none so the theme uses all available width*/ +.wy-nav-content { + max-width: none; +} diff --git a/docs/adding_dataset_classes.rst b/docs/adding_dataset_classes.rst new file mode 100644 index 000000000..cb499949d --- /dev/null +++ b/docs/adding_dataset_classes.rst @@ -0,0 +1,112 @@ +The class-based data loader python file +~~~~~~~~~~~~~~~~~~~~~~~~~~~ +As an alternative to the preferred yaml-based dataloaders, users can provide a dataloader class together with the load function. +In this scenario, meta data is described in a constructor of a class in the same python file as the loading function. + +1. A constructor of the following form that contains all the relevant metadata that is available before the actual dataset is loaded to memory. + +.. code-block:: python + + def __init__( + self, + path: Union[str, None] = None, + meta_path: Union[str, None] = None, + cache_path: Union[str, None] = None, + **kwargs + ): + super().__init__(path=path, meta_path=meta_path, cache_path=cache_path, **kwargs) + # Data set meta data: You do not have to include all of these and can simply skip lines corresponding + # to attritbutes that you do not have access to. These are meta data on a sample level. + # The meta data attributes labeled with (*) may als be supplied per cell, see below, + # in this case, if you supply a .obs_key* attribute, you ccan leave out the sample-wise attribute. + + self.id = x # unique identifier of data set (Organism_Organ_Year_AssaySc_NumberOfDataset_FirstAuthorLastname_doi). + + self.author = x # author (list) who sampled / created the data set + self.doi = x # doi of data set accompanying manuscript + + self.download_url_data = x # download website(s) of data files + self.download_url_meta = x # download website(s) of meta data files + + self.assay_sc = x # (*, optional) protocol used to sample data (e.g. smart-seq2) + self.assay_differentiation = x # (*, optional) protocol used to differentiate the cell line (e.g. Lancaster, 2014) + self.assay_type_differentiation = x # (*, optional) type of protocol used to differentiate the cell line (guided/unguided) + self.cell_line = x # (*, optional) cell line used (for cell culture samples) + self.dev_stage = x # (*, optional) developmental stage of organism + self.ethnicity = x # (*, optional) ethnicity of sample + self.healthy = x # (*, optional) whether sample represents a healthy organism + self.normalisation = x # (optional) normalisation applied to raw data loaded (ideally counts, "raw") + self.organ = x # (*, optional) organ (anatomical structure) + self.organism = x # (*) species / organism + self.sample_source = x # (*) whether the sample came from primary tissue or cell culture + self.sex = x # (*, optional) sex + self.state_exact = x # (*, optional) exact disease, treatment or perturbation state of sample + self.year = x # year in which sample was acquired + + # The following meta data may instead also be supplied on a cell level if an appropriate column is present in the + # anndata instance (specifically in .obs) after loading. + # You need to make sure this is loaded in the loading script)! + # See above for a description what these meta data attributes mean. + # Again, if these attributes are note available, you can simply leave this out. + self.obs_key_assay_sc = x # (optional, see above, do not provide if .assay_sc is provided) + self.obs_key_assay_differentiation = x # (optional, see above, do not provide if .age is assay_differentiation) + self.obs_key_assay_type_differentiation = x # (optional, see above, do not provide if .assay_type_differentiation is provided) + self.obs_key_cell_line = x # (optional, see above, do not provide if .cell_line is provided) + self.obs_key_dev_stage = x # (optional, see above, do not provide if .dev_stage is provided) + self.obs_key_ethnicity = x # (optional, see above, do not provide if .ethnicity is provided) + self.obs_key_healthy = x # (optional, see above, do not provide if .healthy is provided) + self.obs_key_organ = x # (optional, see above, do not provide if .organ is provided) + self.obs_key_organism = x # (optional, see above, do not provide if .organism is provided) + self.obs_key_sample_source = x # (optional, see above, do not provide if .sample_source is provided) + self.obs_key_sex = x # (optional, see above, do not provide if .sex is provided) + self.obs_key_state_exact = x # (optional, see above, do not provide if .state_exact is provided) + # Additionally, cell type annotation is ALWAYS provided per cell in .obs, this annotation is optional though. + # name of column which contain streamlined cell ontology cell type classes: + self.obs_key_cell_types_original = x # (optional) + # This cell type annotation is free text but is mapped to an ontology via a .tsv file with the same name and + # directory as the python file of this data loader (see below). + + +2. A function called to load the data set into memory: +It is important to set an automated path indicating the location of the raw files here. +Our recommendation for this directory set-up is that you define a directory folder in your directory structure +in which all of these raw files will be (self.path) and then add a sub-directory named as +`self.directory_formatted_doi` (ie. the doi with all special characters replaced by "_" and place the raw files +directly into this sub directory. + +.. code-block:: python + + def load(data_dir, fn=None) -> anndata.AnnData: + fn = os.path.join(data_dir, "my.h5ad") + adata = anndata.read(fn) # loading instruction into adata, use other ones if the data is not h5ad + return adata + +In summary, a python file for a mouse lung data set could look like this: + +.. code-block:: python + + class MyDataset(DatasetBase) + def __init__( + self, + path: Union[str, None] = None, + meta_path: Union[str, None] = None, + cache_path: Union[str, None] = None, + **kwargs + ): + super().__init__(path=path, meta_path=meta_path, cache_path=cache_path, **kwargs) + self.author = "me" + self.doi = ["my preprint", "my peer-reviewed publication"] + self.download_url_data = "my GEO upload" + self.normalisation = "raw" # because I uploaded raw counts, which is good practice! + self.organ = "lung" + self.organism = "mouse" + self.assay_sc = "smart-seq2" + self.year = "2020" + self.sample_source = "primary_tissue" + + self.obs_key_cell_types_original = "louvain_named" # i save my cell type names in here + + def load(data_dir, fn=None) -> anndata.AnnData: + fn = os.path.join(data_dir, "my.h5ad") + adata = anndata.read(fn) + return adata diff --git a/docs/adding_datasets.rst b/docs/adding_datasets.rst new file mode 100644 index 000000000..a5099ce39 --- /dev/null +++ b/docs/adding_datasets.rst @@ -0,0 +1,649 @@ +Adding data sets +=================== + +Adding datasets to sfaira is a great way to increase the visibility of your dataset and to make it available to a large audience. +This process requires a couple of steps as outlined in the following sections. + + +.. figure:: https://user-images.githubusercontent.com/21954664/117845386-c6744a00-b280-11eb-9d86-8c47132a3949.png + :alt: sfaira adding datasets + + Overview of contributing dataloaders to sfaira. First, ensure that your data is not yet available as a dataloader. + Next, create a dataloader and validate it. Afterwards, annotate it to finally test it. Finally, submit your dataloader to sfaira. + +sfaira features an interactive way of creating, formatting and testing dataloaders through a command line interface (CLI). +The common workflow using the CLI looks as follows: + +1. Check that the data loader was not already implemented. + We will open issues for all planned data loaders, so you can search both the code_ base and our GitHub issues_ for + matching data loaders before you start writing one. + The core data loader identified is the directory compatible doi, + which is the doi with all special characters replaced by "_" and a "d" prefix is used: + "10.1016/j.cell.2019.06.029" becomes "d10_1016_j_cell_2019_06_029". + Searching for this string should yield a match if it is already implemented, take care to look for both + preprint and publication DOIs if both are available. + We will also mention publication names in issues, you will however not find these in the code. + +.. _code: https://github.com/theislab/sfaira/tree/dev +.. _issues: https://github.com/theislab/sfaira/issues + +2. Install sfaira. + Clone sfaira into a local repository from `dev` branch and install via pip. + +.. code-block:: + + cd target_directory + git clone https://github.com/theislab/sfaira.git + git checkout dev + # git pull # use this to update your installation + cd sfaira # go into sfaira directory + pip install -e . # install +.. + +3. Create a new dataloader. + When creating a dataloader with ``sfaira create-dataloader`` dataloader specific attributes such as organ, organism + and many more are prompted for. + We provide a description of all meta data items at the bottom of this file. + If the requested information is not available simply hit enter and continue until done. + +.. code-block:: + + # make sure you are in the top-level sfaira directory from step 1 + git checkout -b YOUR_BRANCH_NAME # create a new branch for your data loader. + sfaira create-dataloader + + +The created files are created in the sfaira installation under `sfaira/data/dataloaders/loaders/--DOI-folder--`, +where the DOI-specific folder starts with `d` and is followed by the DOI in which all special characters are replaced +by `_`, below referred to as `--DOI-folder--`: + +.. code-block:: + + ├──sfaira/data/dataloaders/loaders/--DOI-folder-- + ├── extra_description.txt <- Optional extra description file + ├── __init__.py + ├── NA_NA_2021_NA_Einstein_001.py <- Contains the load function to load the data + ├── NA_NA_2021_NA_Einstein_001.yaml <- Specifies all data loader data +.. + +4. Correct yaml file. + Correct errors in `sfaira/data/dataloaders/loaders/--DOI-folder--/NA_NA_2021_NA_Einstein_001.yaml` file and add + further attributes you may have forgotten in step 2. + This step is optional. + +5. Make downloaded data available to sfaira data loader testing. + Identify the raw files as indicated in the dataloader classes and copy them into your directory structure as + required by your data loader. + Note that this should be the exact files that are uploaded to cloud servers such as GEO: + Do not decompress these files ff these files are archives such as zip, tar or gz. + Instead, navigate the archives directly in the load function (step 5). + Copy the data into `sfaira/unit_tests/template_data/--DOI-folder--/`. + This folder is masked from git and only serves for temporarily using this data for loader testing. + After finishing loader contribution, you can delete this data again without any consequences for your loader. + +6. Write load function. + Fill load function in `sfaira/data/dataloaders/loaders/--DOI-folder--NA_NA_2021_NA_Einstein_001.py`. + +7. Validate the dataloader with the CLI. + Next validate the integrity of your dataloader content with ``sfaira validate-dataloader ``. + All tests must pass! If any of the tests fail please revisit your dataloader and add the missing information. + +.. code-block:: + + # make sure you are in the top-level sfaira directory from step 1 + sfaira validate-dataloader `` +.. + +8. Create cell type annotation if your data set is annotated. + Note that this will abort with error if there are bugs in your data loader. + +.. code-block:: + + # make sure you are in the top-level sfaira directory from step 1 + # sfaira annotate `` TODO +.. + +9. Mitigate automated cell type maps. + Sfaira creates a cell type mapping `.tsv` file in the directory in which your data loaders is located if you + indicated that annotation is present by filling `cell_types_original_obs_key`. + This file is: `NA_NA_2021_NA_Einstein_001.tsv`. + This file contains two columns with one row for each unique cell type label. + The free text identifiers in the first column "source", + and the corresponding ontology term in the second column "target". + You can write this file entirely from scratch. + Sfaira also allows you to generate a first guess of this file using fuzzy string matching + which is automatically executed when you run the template data loader unit test for the first time with you new + loader. + Conflicts are not resolved in this first guess and you have to manually decide which free text field corresponds + to which ontology term in the case of conflicts. + Still, this first guess usually drastically speeds up this annotation harmonization. + Note that you do not have to include the non-human-readable IDs here as they are added later in a fully + automated fashion. + +10. Test data loader. + Note that this will abort with error if there are bugs in your data loader. + +.. code-block:: + + # make sure you are in the top-level sfaira directory from step 1 + # sfaira test-dataloader `` TODO +.. + +11. Make loader public. + You can contribute the data loader to public sfaira as code through a pull request. + Note that you can also just keep the data loader in your local installation or keep it in sfaira_extensions + if you do not want to make it public. + Note that we do not manage data upload! + During publication, you would upload this data set to a server like GEO and the data loader contributed to + sfaira would use this download link. + +.. code-block:: + + # make sure you are in the top-level sfaira directory from step 1 + git add * + git commit # enter your commit description + # Next make sure you are up to date with dev + git checkout dev + git pull + git checkout YOUR_BRANCH_NAME + git merge dev + git push # this starts the pull request. +.. + +The following sections will first describe the underlying design principles of sfaira dataloaders and +then explain how to interactively create, validate and test dataloaders. + + +Writing dataloaders +--------------------- + +The study-centric data loader module +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +In the sfaira code, data loaders are organised into directories, which correspond to publications. +All data loaders corresponding to data sets of one study are grouped into this directory. +Next, each data set is represented by one data loader python file in this directory. +See below for more complex set ups with repetitive data loader code. + + +The data loader python file +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Each data set, ie a single file or a set of files with similar structures, has its own data loader function and a yaml +files that describes its meta data. +Alternatively to the (preferred) yaml file, meta data can be also be described in a constructor of a class in the same python file +as the loading function. For a documentation on writing a python class-based dataloader, please see here: https://github.com/theislab/sfaira/blob/dev/docs/adding_dataset_classes.rst +A detailed description of all meta data is given at the bottom of this page. + +1. A yaml file or constructor of the following form that can be used to interact with the data set +before it is loaded into memory: + +.. code-block:: yaml + + dataset_structure: + dataset_index: 1 + sample_fns: + dataset_wise: + author: + doi: + download_url_data: + download_url_meta: + normalization: + primary_data: + year: + dataset_or_observation_wise: + assay_sc: + assay_sc_obs_key: + assay_differentiation: + assay_differentiation_obs_key: + assay_type_differentiation: + assay_type_differentiation_obs_key: + bio_sample: + bio_sample_obs_key: + cell_line: + cell_line_obs_key: + development_stage: + development_stage_obs_key: + disease_stage: + disease_obs_key: + ethnicity: + ethnicity_obs_key: + individual: + individual_obs_key: + organ: + organ_obs_key: + organism: + organism_obs_key: + sample_source: + sample_source_obs_key: + sex: + sex_obs_key: + state_exact: + state_exact_obs_key: + tech_sample: + tech_sample_obs_key: + observation_wise: + cell_types_original_obs_key: + feature_wise: + gene_id_ensembl_var_key: + gene_id_symbols_var_key: + meta: + version: "1.0" + + +2. A function called to load the data set into memory: +It is important to set an automated path indicating the location of the raw files here. +Our recommendation for this directory set-up is that you define a directory folder in your directory structure +in which all of these raw files will be (self.path) and then add a sub-directory named as +`self.directory_formatted_doi` (ie. the doi with all special characters replaced by "_" and place the raw files +directly into this sub directory. + +.. code-block:: python + + def load(data_dir, fn=None) -> anndata.AnnData: + fn = os.path.join(data_dir, "my.h5ad") + adata = anndata.read(fn) # loading instruction into adata, use other ones if the data is not h5ad + return adata + +In summary, a the dataloader for a mouse lung data set could look like this: + +.. code-block:: yaml + + dataset_structure: + dataset_index: 1 + sample_fns: + dataset_wise: + author: "me" + doi: + - "my preprint" + - "my peer-reviewed publication" + download_url_data: "my GEO upload" + download_url_meta: + normalization: "raw" + primary_data: + year: + dataset_or_observation_wise: + assay_sc: "smart-seq2" + assay_sc_obs_key: + assay_differentiation: + assay_differentiation_obs_key: + assay_type_differentiation: + assay_type_differentiation_obs_key: + bio_sample: + bio_sample_obs_key: + cell_line: + cell_line_obs_key: + development_stage: + development_stage_obs_key: + disease_stage: + disease_obs_key: + ethnicity: + ethnicity_obs_key: + individual: + individual_obs_key: + organ: "lung" + organ_obs_key: + organism: "mouse" + organism_obs_key: + sample_source: "primary_tissue" + sample_source_obs_key: + sex: + sex_obs_key: + state_exact: + state_exact_obs_key: + tech_sample: + tech_sample_obs_key: + observation_wise: + cell_types_original_obs_key: "louvain_named" + feature_wise: + gene_id_ensembl_var_key: + gene_id_symbols_var_key: + meta: + version: "1.0" + +.. code-block:: python + + def load(data_dir, fn=None) -> anndata.AnnData: + fn = os.path.join(data_dir, "my.h5ad") + adata = anndata.read(fn) + return adata + + +Data loaders can be added into a copy of the sfaira repository and can be used locally before they are contributed to +the public sfaira repository. +Alternatively, we also provide the optional dependency sfaira_extensions (https://github.com/theislab/sfaira_extension) +in which local data and cell type annotation can be managed separately but still be loaded as usual through sfaira. +The data loaders and cell type annotation formats between sfaira and sfaira_extensions are identical and can be easily +copied over. + +Loading multiple files of similar structure +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Only one loader has to be written for each set of files that are similarly structured which belong to one DOI. +`sample_fns` in `dataset_structure` in the `.yaml` indicates the presence of these files. +The identifiers listed there do not have to be the full file names. +They are received by `load()` as the argument `sample_fn` and can then be used in custom code in `load()` to load +the correct file. +This allows sharing code across these files in `load()`. +If these files share all meta data in the `.yaml`, you do not have to change anything else here. +If a some meta data items are file specific, you can further subdefine them under the keys in this `.yaml` via their +identifiers stated here. +In the following example, we show how this formalism can be used to identify one file declared as "A" as a healthy +lung sample and another file "B" as a healthy pancreas sample. + +.. code-block:: python + + dataset_structure: + dataset_index: 1 + sample_fns: + - "A" + - "B" + dataset_wise: + # ... part of yaml omitted ... + dataset_or_observation_wise: + # ... part of yaml omitted + healthy: True + healthy_obs_key: + individual: + individual_obs_key: + organ: + A: "lung" + B: "pancreas" + organ_obs_key: + # part of yaml omitted ... +.. + +Note that not all meta data items have to subdefined into "A" and "B" but only the ones with differing values! +The corresponding `load` function would be: + +.. code-block:: python + + def load(data_dir, sample_fn, fn=None) -> anndata.AnnData: + # The following reads either my_file_A.h5ad or my_file_B.h5ad which correspond to A and B in the yaml. + fn = os.path.join(data_dir, f"my_file_{sample_fn}.h5ad") + adata = anndata.read(fn) + return adata +.. + + +Loading third party annotation +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +In some cases, the data set in question is already in the sfaira zoo but there is alternative (third party), cell-wise +annotation of the data. +This could be different cell type annotation for example. +The underlying data (count matrix and variable names) stay the same in these cases, and often, even some cell-wise +meta data are kept and only some are added or replaced. +Therefore, these cases do not require an additional `load()` function. +Instead, you can contribute `load_annotation_*()` functions into the `.py` file of the corresponding study. +You can chose an arbitrary suffix for the function but ideally one that identifies the source of this additional +annotation in a human readable manner at least to someone who is familiar with this data set. +Second you need to add this function into the dictionary `LOAD_ANNOTATION` in the `.py` file, with the suffix as a key. +If this dictionary does not exist yet, you need to add it into the `.py` file with this function as its sole entry. +Here an example of a `.py` file with additional annotation: + +.. code-block:: python + + def load(data_dir, sample_fn, **kwargs): + pass + + def load_annotation_meta_study_x(data_dir, sample_fn, **kwargs): + # Read a tabular file indexed with the observation names used in the adata used in load(). + pass + + def load_annotation_meta_study_y(data_dir, sample_fn, **kwargs): + # Read a tabular file indexed with the observation names used in the adata used in load(). + pass + + LOAD_ANNOTATION = { + "meta_study_x": load_annotation_meta_study_x, + "meta_study_y": load_annotation_meta_study_y, + } + + +The table returned by `load_annotation_meta_study_x` needs to be indexed with the observation names used in `.adata`, +the object generated in `load()`. +If `load_annotation_meta_study_x` contains a subset of the observations defined in `load()`, +and this alternative annotation is chosen, +`.adata` is subsetted to these observations during loading. + +You can also add functions in the `.py` file in the same DOI-based module in sfaira_extensions if you want to keep this +additional annotation private. +For this to work with a public data loader, you need nothing more than the `.py` file with this `load_annotation_*()` +function and the `LOAD_ANNOTATION` of these private functions in sfaira_extensions. + +To access additional annotation during loading, use the setter functions `additional_annotation_key` on an instance of +either `Dataset`, `DatasetGroup` or `DatasetSuperGroup` to define data sets +for which you want to load additional annotation and which additional you want to load for these. +See also the docstrings of these functions for further details on how these can be set. + + +Creating dataloaders with the commandline interface +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +sfaira features an interactive way of creating, formatting and testing dataloaders. +The common workflow look as follows: + +1. Create a new dataloader with ``sfaira create-dataloader`` +2. Validate the dataloader with ``sfaira lint-dataloader `` +3. Test the dataloader with ``sfaira test-dataloader . --doi --test-data `` + +When creating a dataloader with ``sfaira create-dataloader`` common information such as +your name and email are prompted for, followed by dataloader specific attributes such as organ, organism and many more. +If the requested information is not available simply hit enter and continue until done. If you have mixed organ or organism +data you will have to resolve this manually later. Your dataloader template will be created in your current working directory +in a folder resembling your doi. + +The created files are: + +.. code-block:: + + ├── extra_description.txt <- Optional extra description file + ├── __init__.py + ├── NA_NA_2021_NA_Einstein_001.py <- Contains the load function to load the data + ├── NA_NA_2021_NA_Einstein_001.yaml <- Specifies all data loader data + +Now simply fill in all missing properties in your dataloader scripts and yaml file. +When done optionally run ``sfaira clean-dataloader `` on the just filled out dataloader yaml file. +All unused attributes will be removed. + +Next validate the integrity of your dataloader content with ``sfaira validate-dataloader ``. +All tests must pass! If any of the tests fail please revisit your dataloader and add the missing information. + +Finally, copy your dataloader into the ``sfaira/dataloaders/loaders/`` folder. +Now you can test your dataloader with ``sfaira test-dataloader --doi --test-data ``. +Note that sfaira expects a folder structure for the test data such as: + +.. code-block:: + + ├── template_data + │   └── d10_1016_j_cmet_2019_01_021 + │   ├── GSE117770_RAW.tar + │   ├── GSM3308545_NOD_08w_A_annotation.csv + │   ├── GSM3308547_NOD_08w_C_annotation.csv + │   ├── GSM3308548_NOD_14w_A_annotation.csv + │   ├── GSM3308549_NOD_14w_B_annotation.csv + │   ├── GSM3308550_NOD_14w_C_annotation.csv + │   ├── GSM3308551_NOD_16w_A_annotation.csv + │   ├── GSM3308552_NOD_16w_B_annotation.csv + │   └── GSM3308553_NOD_16w_C_annotation.csv + +Pass the path to the template_data folder, not the doi. Sfaira will use this path to cache further data for speedups. +All tests must pass! If any of the tests fail please revisit your dataloader and fix the error. + +Map cell type labels to ontology +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The entries in `self.cell_types_original_obs_key` are free text but are mapped to an ontology via a .tsv file with +the same name and directory as the python file in which the data loader is located. +This .tsv contains two columns with one row for each unique cell type label. +The free text identifiers in the first column "source", +and the corresponding ontology term in the second column "target". +You can write this file entirely from scratch. +Sfaira also allows you to generate a first guess of this file using fuzzy string matching +which is automatically executed when you run the template data loader unit test for the first time with you new loader. +Conflicts are not resolved in this first guess and you have to manually decide which free text field corresponds to which +ontology term in the case of conflicts. +Still, this first guess usually drastically speeds up this annotation harmonization. + +Cell type ontology management +----------------------------- + +Sfaira maintains a wrapper of the Cell Ontology as a class which allows additions to this ontology. +This allows us to use the core ontology used in the community as a backbone and to keep up with newly identifed cell types on our own. +We require all extensions of the core ontology not to break the directed acyclic graph that is the ontology: +Usually, such extensions would be additional leave nodes. + +Second, we maintain cell type universes for anatomic structures. +These are dedicated for cell type-dependent models which require a defined set of cell types. +Such a universe is a set of nodes in the ontology. + +Contribute cell types to ontology +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Please open an issue on the sfaira repo with a description what type of cell type you want to add. + + +Metadata +-------- + +Required fields +~~~~~~~~~~~~~~~ + +Most meta data fields are optional in sfaira. +Required are: + +- dataset_structure: dataset_index is required. +- dataset_wise: author, doi, download_url_data, normalisation and year are required. +- dataset_or_observation_wise: organism is required. +- observation_wise: None are required. +- feature_wise: gene_id_ensembl_var_key or gene_id_symbols_var_key is required. +- misc: None are required. + +Field descriptions +~~~~~~~~~~~~~~~~~~ + +We constrain meta data by ontologies where possible. +Meta data can either be dataset-wise, observation-wise or feature-wise. + +Dataset structure meta data are in the section `dataset_structure` in the `.yaml` file. + +- dataset_index [int] + Numeric identifier of the first loader defined by this python file. + Only relevant if multiple python files for one DOI generate loaders of the same name. + In these cases, this numeric index can be used to distinguish them. +- sample_fns [list of strings] + If there are multiple data files which can be covered by one `load()` function and `.yaml` file because they are + structured similarly, these can identified here. + See also section `Loading multiple files of similar structure`. + +Dataset-wise meta data are in the section `dataset_wise` in the `.yaml` file. + +- author [list of strings] + List of author names of dataset (not of loader). +- doi [list of strings] + DOIs associated with dataset. + These can be preprints and journal publication DOIs. +- download_url_data [list of strings] + Download links for data. + Full URLs of all data files such as count matrices. Note that distinct observation-wise annotation files can be + supplied in download_url_meta. +- download_url_meta [list of strings] + Download links for observation-wise data. + Full URLs of all observation-wise meta data files such as count matrices. + This attribute is optional and not necessary ff observation-wise meta data is already in the files defined in + `download_url_data`, e.g. often the case for .h5ad`. +- normalization: Data normalisation {"raw", "scaled"} + Type of normalisation of data stored in `adata.X` emitted by the `load()` function. +- year: Year in which sample was first described [integer] + Pre-print publication year. + +Meta-data which can either be dataset- or observation-wise are in the section `dataset_or_observation_wise` in the +`.yaml` file. +They can all be supplied as `NAME` or as `NAME_obs_key`: +The former indicates that the entire data set has the value stated in the yaml. +The latter, `NAME_obs_key`, indicates that there is a column in `adata.obs` emitted by the `load()` function of the name +`NAME_obs_key` which contains the annotation per observation for this meta data item. +Note that in both cases the value, or the column values, have to fulfill contraints imposed on the meta data item as +outlined below. + +- assay_sc and assay_sc_obs_key [ontology term] + Choose a term from https://www.ebi.ac.uk/ols/ontologies/efo/terms?iri=http%3A%2F%2Fwww.ebi.ac.uk%2Fefo%2FEFO_0010183&viewMode=All&siblings=false +- assay_differentiation and assay_differentiation_obs_key [string] + Try to provide a base differentiation protocol (eg. "Lancaster, 2014") as well as any amendments to the original + protocol. +- assay_type_differentiation and assay_type_differentiation_obs_key {"guided", "unguided"} + For cell-culture samples: Whether a guided (patterned) differentiation protocol was used in the experiment. +- bio_sample and bio_sample_obs_key [string] + Column name in `adata.obs` emitted by the `load()` function which reflects biologically distinct samples, either + different in condition or biological replicates, as a categorical variable. + The values of this column are not constrained and can be arbitrary identifiers of observation groups. + You can concatenate multiple columns to build more fine grained observation groupings by concatenating the column + keys with `*` in this string, e.g. `patient*treatment` to get one `bio_sample` for each patient and treatment. + Note that the notion of biologically distinct sample is slightly subjective, we allow this element to allow + researchers to distinguish technical and biological replicates within one study for example. + See also the meta data items `individual` and `tech_sample`. +- cell_line and cell_line_obs_key [ontology term] + Cell line name from the cellosaurus cell line database (https://web.expasy.org/cellosaurus/) +- developmental_stage and developmental_stage_obs_key [ontology term] + Developmental stage (age) of individual sampled. + Choose from HSAPDV (https://www.ebi.ac.uk/ols/ontologies/hsapdv) for human + or from MMUSDEV (https://www.ebi.ac.uk/ols/ontologies/mmusdv) for mouse. +- disease and disease_obs_key [ontology term] + Choose from MONDO (https://www.ebi.ac.uk/ols/ontologies/mondo) for human +- ethnicity and ethnicity_obs_key [ontology term] + Choose from HANCESTRO (https://www.ebi.ac.uk/ols/ontologies/hancestro) +- individual and individual_obs_key [string] + Column name in `adata.obs` emitted by the `load()` function which reflects the indvidual sampled as a categorical + variable. + The values of this column are not constrained and can be arbitrary identifiers of observation groups. + You can concatenate multiple columns to build more fine grained observation groupings by concatenating the column + keys with `*` in this string, e.g. `group1*group2` to get one `individual` for each group1 and group2 entry. + Note that the notion of individuals is slightly mal-defined in some cases, we allow this element to allow + researchers to distinguish sample groups that originate from biological material with distinct genotypes. + See also the meta data items `individual` and `tech_sample`. +- organ and organ_obs_key [ontology term] + The UBERON anatomic location of the sample (https://www.ebi.ac.uk/ols/ontologies/uberon). +- organism and organism_obs_key. {"mouse", "human"}. + The organism from which the sample originates. + In the future, we will use NCBITAXON (https://www.ebi.ac.uk/ols/ontologies/ncbitaxon). +- primary_data [bool] + Whether contains cells that were measured in this study (ie this is not a meta study on published data). +- sample_source and sample_source_obs_key. {"primary_tissue", "2d_culture", "3d_culture", "tumor"} + Which cellular system the sample was derived from. +- sex and sex_obs_key. Sex of individual sampled. {"female", "male", None} + Sex of the individual sampled. +- state_exact and state_exact_obs_key [string] + Free text description of condition. + If you give treatment concentrations, intervals or similar measurements use square brackets around the quantity + and use units: `[1g]` +- tech_sample and tech_sample_obs_key [string] + Column name in `adata.obs` emitted by the `load()` function which reflects technically distinct samples, either + different in condition or technical replicates, as a categorical variable. + Any data batch is a `tech_sample`. + The values of this column are not constrained and can be arbitrary identifiers of observation groups. + You can concatenate multiple columns to build more fine grained observation groupings by concatenating the column + keys with `*` in this string, e.g. `patient*treatment*protocol` to get one `tech_sample` for each patient, treatment + and measurement protocol. + See also the meta data items `individual` and `tech_sample`. + +Meta-data which are strictly observation-wise are in the section `observation_wise` in the `.yaml` file: + +- cell_types_original_obs_key [string] + Column name in `adata.obs` emitted by the `load()` function which contains free text cell type labels. + +Meta-data which are feature-wise are in the section `feature_wise` in the `.yaml` file: + +- gene_id_ensembl_var_key [string] + Name of the column in `adata.var` emitted by the `load()` which contains ENSEMBL gene IDs. + This can also be "index" if the ENSEMBL gene names are in the index of the `adata.var` data frame. +- gene_id_symbols_var_key:.[string] + Name of the column in `adata.var` emitted by the `load()` which contains gene symbol: + HGNC for human and MGI for mouse. + This can also be "index" if the gene symbol are in the index of the `adata.var` data frame. + +The meta data on the meta data file do not have to modified by you are automatically controlled are in the section +`meta` in the `.yaml` file: + +- version: [string] + Version identifier of meta data scheme. \ No newline at end of file diff --git a/docs/api/sfaira.data.DatasetBase.rst b/docs/api/sfaira.data.DatasetBase.rst new file mode 100644 index 000000000..b8b86e9c9 --- /dev/null +++ b/docs/api/sfaira.data.DatasetBase.rst @@ -0,0 +1,106 @@ +sfaira.data.DatasetBase +======================= + +.. currentmodule:: sfaira.data + +.. autoclass:: DatasetBase + + + .. automethod:: __init__ + + + .. rubric:: Methods + + .. autosummary:: + + ~DatasetBase.__init__ + ~DatasetBase.clear + ~DatasetBase.collapse_counts + ~DatasetBase.download + ~DatasetBase.load + ~DatasetBase.load_meta + ~DatasetBase.load_ontology_class_map + ~DatasetBase.project_celltypes_to_ontology + ~DatasetBase.set_dataset_id + ~DatasetBase.show_summary + ~DatasetBase.streamline_features + ~DatasetBase.streamline_metadata + ~DatasetBase.subset_cells + ~DatasetBase.write_backed + ~DatasetBase.write_distributed_store + ~DatasetBase.write_meta + ~DatasetBase.write_ontology_class_map + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~DatasetBase.additional_annotation_key + ~DatasetBase.annotated + ~DatasetBase.assay_differentiation + ~DatasetBase.assay_differentiation_obs_key + ~DatasetBase.assay_sc + ~DatasetBase.assay_sc_obs_key + ~DatasetBase.assay_type_differentiation + ~DatasetBase.assay_type_differentiation_obs_key + ~DatasetBase.author + ~DatasetBase.bio_sample + ~DatasetBase.bio_sample_obs_key + ~DatasetBase.cache_fn + ~DatasetBase.cell_line + ~DatasetBase.cell_line_obs_key + ~DatasetBase.cell_ontology_map + ~DatasetBase.cell_types_original_obs_key + ~DatasetBase.cellontology_class_obs_key + ~DatasetBase.cellontology_id_obs_key + ~DatasetBase.celltypes_universe + ~DatasetBase.citation + ~DatasetBase.data_dir + ~DatasetBase.default_embedding + ~DatasetBase.development_stage + ~DatasetBase.development_stage_obs_key + ~DatasetBase.directory_formatted_doi + ~DatasetBase.disease + ~DatasetBase.disease_obs_key + ~DatasetBase.doi + ~DatasetBase.doi_cleaned_id + ~DatasetBase.doi_main + ~DatasetBase.download_url_data + ~DatasetBase.download_url_meta + ~DatasetBase.ethnicity + ~DatasetBase.ethnicity_obs_key + ~DatasetBase.fn_ontology_class_map_tsv + ~DatasetBase.gene_id_ensembl_var_key + ~DatasetBase.gene_id_symbols_var_key + ~DatasetBase.id + ~DatasetBase.individual + ~DatasetBase.individual_obs_key + ~DatasetBase.loaded + ~DatasetBase.meta + ~DatasetBase.meta_fn + ~DatasetBase.ncells + ~DatasetBase.normalization + ~DatasetBase.ontology_celltypes + ~DatasetBase.ontology_organ + ~DatasetBase.organ + ~DatasetBase.organ_obs_key + ~DatasetBase.organism + ~DatasetBase.organism_obs_key + ~DatasetBase.primary_data + ~DatasetBase.sample_source + ~DatasetBase.sample_source_obs_key + ~DatasetBase.sex + ~DatasetBase.sex_obs_key + ~DatasetBase.source + ~DatasetBase.state_exact + ~DatasetBase.state_exact_obs_key + ~DatasetBase.tech_sample + ~DatasetBase.tech_sample_obs_key + ~DatasetBase.title + ~DatasetBase.year + + \ No newline at end of file diff --git a/docs/api/sfaira.data.DatasetInteractive.rst b/docs/api/sfaira.data.DatasetInteractive.rst new file mode 100644 index 000000000..daf81f984 --- /dev/null +++ b/docs/api/sfaira.data.DatasetInteractive.rst @@ -0,0 +1,106 @@ +sfaira.data.DatasetInteractive +============================== + +.. currentmodule:: sfaira.data + +.. autoclass:: DatasetInteractive + + + .. automethod:: __init__ + + + .. rubric:: Methods + + .. autosummary:: + + ~DatasetInteractive.__init__ + ~DatasetInteractive.clear + ~DatasetInteractive.collapse_counts + ~DatasetInteractive.download + ~DatasetInteractive.load + ~DatasetInteractive.load_meta + ~DatasetInteractive.load_ontology_class_map + ~DatasetInteractive.project_celltypes_to_ontology + ~DatasetInteractive.set_dataset_id + ~DatasetInteractive.show_summary + ~DatasetInteractive.streamline_features + ~DatasetInteractive.streamline_metadata + ~DatasetInteractive.subset_cells + ~DatasetInteractive.write_backed + ~DatasetInteractive.write_distributed_store + ~DatasetInteractive.write_meta + ~DatasetInteractive.write_ontology_class_map + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~DatasetInteractive.additional_annotation_key + ~DatasetInteractive.annotated + ~DatasetInteractive.assay_differentiation + ~DatasetInteractive.assay_differentiation_obs_key + ~DatasetInteractive.assay_sc + ~DatasetInteractive.assay_sc_obs_key + ~DatasetInteractive.assay_type_differentiation + ~DatasetInteractive.assay_type_differentiation_obs_key + ~DatasetInteractive.author + ~DatasetInteractive.bio_sample + ~DatasetInteractive.bio_sample_obs_key + ~DatasetInteractive.cache_fn + ~DatasetInteractive.cell_line + ~DatasetInteractive.cell_line_obs_key + ~DatasetInteractive.cell_ontology_map + ~DatasetInteractive.cell_types_original_obs_key + ~DatasetInteractive.cellontology_class_obs_key + ~DatasetInteractive.cellontology_id_obs_key + ~DatasetInteractive.celltypes_universe + ~DatasetInteractive.citation + ~DatasetInteractive.data_dir + ~DatasetInteractive.default_embedding + ~DatasetInteractive.development_stage + ~DatasetInteractive.development_stage_obs_key + ~DatasetInteractive.directory_formatted_doi + ~DatasetInteractive.disease + ~DatasetInteractive.disease_obs_key + ~DatasetInteractive.doi + ~DatasetInteractive.doi_cleaned_id + ~DatasetInteractive.doi_main + ~DatasetInteractive.download_url_data + ~DatasetInteractive.download_url_meta + ~DatasetInteractive.ethnicity + ~DatasetInteractive.ethnicity_obs_key + ~DatasetInteractive.fn_ontology_class_map_tsv + ~DatasetInteractive.gene_id_ensembl_var_key + ~DatasetInteractive.gene_id_symbols_var_key + ~DatasetInteractive.id + ~DatasetInteractive.individual + ~DatasetInteractive.individual_obs_key + ~DatasetInteractive.loaded + ~DatasetInteractive.meta + ~DatasetInteractive.meta_fn + ~DatasetInteractive.ncells + ~DatasetInteractive.normalization + ~DatasetInteractive.ontology_celltypes + ~DatasetInteractive.ontology_organ + ~DatasetInteractive.organ + ~DatasetInteractive.organ_obs_key + ~DatasetInteractive.organism + ~DatasetInteractive.organism_obs_key + ~DatasetInteractive.primary_data + ~DatasetInteractive.sample_source + ~DatasetInteractive.sample_source_obs_key + ~DatasetInteractive.sex + ~DatasetInteractive.sex_obs_key + ~DatasetInteractive.source + ~DatasetInteractive.state_exact + ~DatasetInteractive.state_exact_obs_key + ~DatasetInteractive.tech_sample + ~DatasetInteractive.tech_sample_obs_key + ~DatasetInteractive.title + ~DatasetInteractive.year + + \ No newline at end of file diff --git a/docs/api/sfaira.data.DatasetSuperGroup.rst b/docs/api/sfaira.data.DatasetSuperGroup.rst new file mode 100644 index 000000000..5bfa255c8 --- /dev/null +++ b/docs/api/sfaira.data.DatasetSuperGroup.rst @@ -0,0 +1,55 @@ +sfaira.data.DatasetSuperGroup +============================= + +.. currentmodule:: sfaira.data + +.. autoclass:: DatasetSuperGroup + + + .. automethod:: __init__ + + + .. rubric:: Methods + + .. autosummary:: + + ~DatasetSuperGroup.__init__ + ~DatasetSuperGroup.collapse_counts + ~DatasetSuperGroup.delete_backed + ~DatasetSuperGroup.download + ~DatasetSuperGroup.extend_dataset_groups + ~DatasetSuperGroup.flatten + ~DatasetSuperGroup.get_gc + ~DatasetSuperGroup.load + ~DatasetSuperGroup.load_cached_backed + ~DatasetSuperGroup.load_config + ~DatasetSuperGroup.ncells + ~DatasetSuperGroup.ncells_bydataset + ~DatasetSuperGroup.ncells_bydataset_flat + ~DatasetSuperGroup.project_celltypes_to_ontology + ~DatasetSuperGroup.remove_duplicates + ~DatasetSuperGroup.set_dataset_groups + ~DatasetSuperGroup.show_summary + ~DatasetSuperGroup.streamline_features + ~DatasetSuperGroup.streamline_metadata + ~DatasetSuperGroup.subset + ~DatasetSuperGroup.subset_cells + ~DatasetSuperGroup.write_backed + ~DatasetSuperGroup.write_config + ~DatasetSuperGroup.write_distributed_store + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~DatasetSuperGroup.adata + ~DatasetSuperGroup.adata_ls + ~DatasetSuperGroup.additional_annotation_key + ~DatasetSuperGroup.datasets + ~DatasetSuperGroup.ids + + \ No newline at end of file diff --git a/docs/api/sfaira.data.human.rst b/docs/api/sfaira.data.human.rst new file mode 100644 index 000000000..bddab197c --- /dev/null +++ b/docs/api/sfaira.data.human.rst @@ -0,0 +1,23 @@ +sfaira.data.human +================= + +.. automodule:: sfaira.data.human + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/sfaira.data.mouse.rst b/docs/api/sfaira.data.mouse.rst new file mode 100644 index 000000000..af3c07453 --- /dev/null +++ b/docs/api/sfaira.data.mouse.rst @@ -0,0 +1,23 @@ +sfaira.data.mouse +================= + +.. automodule:: sfaira.data.mouse + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/sfaira.genomes.ExtractFeatureListEnsemble.rst b/docs/api/sfaira.genomes.ExtractFeatureListEnsemble.rst new file mode 100644 index 000000000..415c01979 --- /dev/null +++ b/docs/api/sfaira.genomes.ExtractFeatureListEnsemble.rst @@ -0,0 +1,26 @@ +sfaira.genomes.ExtractFeatureListEnsemble +========================================= + +.. currentmodule:: sfaira.genomes + +.. autoclass:: ExtractFeatureListEnsemble + + + .. automethod:: __init__ + + + .. rubric:: Methods + + .. autosummary:: + + ~ExtractFeatureListEnsemble.__init__ + ~ExtractFeatureListEnsemble.from_ensemble_gtf + ~ExtractFeatureListEnsemble.reduce_types + ~ExtractFeatureListEnsemble.reduce_types_protein_coding + ~ExtractFeatureListEnsemble.write_gene_table_to_csv + + + + + + \ No newline at end of file diff --git a/docs/api/sfaira.models.celltype.rst b/docs/api/sfaira.models.celltype.rst new file mode 100644 index 000000000..48b1f74e2 --- /dev/null +++ b/docs/api/sfaira.models.celltype.rst @@ -0,0 +1,23 @@ +sfaira.models.celltype +====================== + +.. automodule:: sfaira.models.celltype + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/sfaira.models.embedding.rst b/docs/api/sfaira.models.embedding.rst new file mode 100644 index 000000000..2446b787d --- /dev/null +++ b/docs/api/sfaira.models.embedding.rst @@ -0,0 +1,23 @@ +sfaira.models.embedding +======================= + +.. automodule:: sfaira.models.embedding + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/sfaira.train.GridsearchContainer.rst b/docs/api/sfaira.train.GridsearchContainer.rst new file mode 100644 index 000000000..ae233fecf --- /dev/null +++ b/docs/api/sfaira.train.GridsearchContainer.rst @@ -0,0 +1,37 @@ +sfaira.train.GridsearchContainer +================================ + +.. currentmodule:: sfaira.train + +.. autoclass:: GridsearchContainer + + + .. automethod:: __init__ + + + .. rubric:: Methods + + .. autosummary:: + + ~GridsearchContainer.__init__ + ~GridsearchContainer.best_model_by_partition + ~GridsearchContainer.get_best_model_ids + ~GridsearchContainer.load_gs + ~GridsearchContainer.load_y + ~GridsearchContainer.plot_best_model_by_hyperparam + ~GridsearchContainer.plot_completions + ~GridsearchContainer.plot_training_history + ~GridsearchContainer.save_best_weight + ~GridsearchContainer.write_best_hyparam + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~GridsearchContainer.cv_keys + + \ No newline at end of file diff --git a/docs/api/sfaira.train.SummarizeGridsearchCelltype.rst b/docs/api/sfaira.train.SummarizeGridsearchCelltype.rst new file mode 100644 index 000000000..eeb1cb5a9 --- /dev/null +++ b/docs/api/sfaira.train.SummarizeGridsearchCelltype.rst @@ -0,0 +1,43 @@ +sfaira.train.SummarizeGridsearchCelltype +======================================== + +.. currentmodule:: sfaira.train + +.. autoclass:: SummarizeGridsearchCelltype + + + .. automethod:: __init__ + + + .. rubric:: Methods + + .. autosummary:: + + ~SummarizeGridsearchCelltype.__init__ + ~SummarizeGridsearchCelltype.best_model_by_partition + ~SummarizeGridsearchCelltype.best_model_celltype + ~SummarizeGridsearchCelltype.create_summary_tab + ~SummarizeGridsearchCelltype.get_best_model_ids + ~SummarizeGridsearchCelltype.load_gs + ~SummarizeGridsearchCelltype.load_ontology_names + ~SummarizeGridsearchCelltype.load_y + ~SummarizeGridsearchCelltype.plot_best + ~SummarizeGridsearchCelltype.plot_best_classwise_heatmap + ~SummarizeGridsearchCelltype.plot_best_classwise_scatter + ~SummarizeGridsearchCelltype.plot_best_model_by_hyperparam + ~SummarizeGridsearchCelltype.plot_completions + ~SummarizeGridsearchCelltype.plot_training_history + ~SummarizeGridsearchCelltype.save_best_weight + ~SummarizeGridsearchCelltype.write_best_hyparam + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~SummarizeGridsearchCelltype.cv_keys + + \ No newline at end of file diff --git a/docs/api/sfaira.train.SummarizeGridsearchEmbedding.rst b/docs/api/sfaira.train.SummarizeGridsearchEmbedding.rst new file mode 100644 index 000000000..5edcfac79 --- /dev/null +++ b/docs/api/sfaira.train.SummarizeGridsearchEmbedding.rst @@ -0,0 +1,47 @@ +sfaira.train.SummarizeGridsearchEmbedding +========================================= + +.. currentmodule:: sfaira.train + +.. autoclass:: SummarizeGridsearchEmbedding + + + .. automethod:: __init__ + + + .. rubric:: Methods + + .. autosummary:: + + ~SummarizeGridsearchEmbedding.__init__ + ~SummarizeGridsearchEmbedding.best_model_by_partition + ~SummarizeGridsearchEmbedding.best_model_embedding_latentspace + ~SummarizeGridsearchEmbedding.create_summary_tab + ~SummarizeGridsearchEmbedding.get_best_model_ids + ~SummarizeGridsearchEmbedding.get_gradients_by_celltype + ~SummarizeGridsearchEmbedding.load_gs + ~SummarizeGridsearchEmbedding.load_y + ~SummarizeGridsearchEmbedding.plot_active_latent_units + ~SummarizeGridsearchEmbedding.plot_best + ~SummarizeGridsearchEmbedding.plot_best_model_by_hyperparam + ~SummarizeGridsearchEmbedding.plot_completions + ~SummarizeGridsearchEmbedding.plot_gradient_cor + ~SummarizeGridsearchEmbedding.plot_gradient_distr + ~SummarizeGridsearchEmbedding.plot_npc + ~SummarizeGridsearchEmbedding.plot_training_history + ~SummarizeGridsearchEmbedding.save_best_weight + ~SummarizeGridsearchEmbedding.write_best_hyparam + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~SummarizeGridsearchEmbedding.List + ~SummarizeGridsearchEmbedding.Union + ~SummarizeGridsearchEmbedding.cv_keys + + \ No newline at end of file diff --git a/docs/api/sfaira.train.TargetZoos.rst b/docs/api/sfaira.train.TargetZoos.rst new file mode 100644 index 000000000..bbf18cd74 --- /dev/null +++ b/docs/api/sfaira.train.TargetZoos.rst @@ -0,0 +1,24 @@ +sfaira.train.TargetZoos +======================= + +.. currentmodule:: sfaira.train + +.. autoclass:: TargetZoos + + + .. automethod:: __init__ + + + .. rubric:: Methods + + .. autosummary:: + + ~TargetZoos.__init__ + ~TargetZoos.write_celltypes_tocsv_human + ~TargetZoos.write_celltypes_tocsv_mouse + + + + + + \ No newline at end of file diff --git a/docs/api/sfaira.train.TrainModelCelltype.rst b/docs/api/sfaira.train.TrainModelCelltype.rst new file mode 100644 index 000000000..79cf1acc3 --- /dev/null +++ b/docs/api/sfaira.train.TrainModelCelltype.rst @@ -0,0 +1,26 @@ +sfaira.train.TrainModelCelltype +=============================== + +.. currentmodule:: sfaira.train + +.. autoclass:: TrainModelCelltype + + + .. automethod:: __init__ + + + .. rubric:: Methods + + .. autosummary:: + + ~TrainModelCelltype.__init__ + ~TrainModelCelltype.init_estim + ~TrainModelCelltype.load_into_memory + ~TrainModelCelltype.save + ~TrainModelCelltype.save_eval + + + + + + \ No newline at end of file diff --git a/docs/api/sfaira.train.TrainModelEmbedding.rst b/docs/api/sfaira.train.TrainModelEmbedding.rst new file mode 100644 index 000000000..fc3dea8d6 --- /dev/null +++ b/docs/api/sfaira.train.TrainModelEmbedding.rst @@ -0,0 +1,26 @@ +sfaira.train.TrainModelEmbedding +================================ + +.. currentmodule:: sfaira.train + +.. autoclass:: TrainModelEmbedding + + + .. automethod:: __init__ + + + .. rubric:: Methods + + .. autosummary:: + + ~TrainModelEmbedding.__init__ + ~TrainModelEmbedding.init_estim + ~TrainModelEmbedding.load_into_memory + ~TrainModelEmbedding.save + ~TrainModelEmbedding.save_eval + + + + + + \ No newline at end of file diff --git a/docs/api/sfaira.ui.UserInterface.rst b/docs/api/sfaira.ui.UserInterface.rst new file mode 100644 index 000000000..6b8ba31b2 --- /dev/null +++ b/docs/api/sfaira.ui.UserInterface.rst @@ -0,0 +1,38 @@ +sfaira.ui.UserInterface +======================= + +.. currentmodule:: sfaira + +.. autoclass:: ui.UserInterface + + + .. automethod:: __init__ + + + .. rubric:: Methods + + .. autosummary:: + + ~ui.UserInterface.__init__ + ~ui.UserInterface.celltype_summary + ~ui.UserInterface.predict_all + ~ui.UserInterface.compute_all_kipoi + ~ui.UserInterface.predict_celltypes + ~ui.UserInterface.compute_celltype_kipoi + ~ui.UserInterface.compute_denoised_expression + ~ui.UserInterface.compute_denoised_expression_kipoi + ~ui.UserInterface.predict_embedding + ~ui.UserInterface.compute_embedding_kipoi + ~ui.UserInterface.deposit_zenodo + ~ui.UserInterface.filter_cells + ~ui.UserInterface.get_references + ~ui.UserInterface.load_data + ~ui.UserInterface.load_model_celltype + ~ui.UserInterface.load_model_embedding + ~ui.UserInterface.write_lookuptable + + + + + + \ No newline at end of file diff --git a/docs/changelog.rst b/docs/changelog.rst new file mode 100644 index 000000000..b50a0b649 --- /dev/null +++ b/docs/changelog.rst @@ -0,0 +1,26 @@ +Changelog +========== + +.. role:: small +.. role:: smaller + +This project adheres to `Semantic Versioning `_. + +0.2.1 :small:`2020-09-7` +~~~~~~~~~~~~~~~~~~~~~~~~ + +**Added** + +* A commandline interface with Click, Rich and Questionary +* upgrade command, which checks whether the latest version of sfaira is installed on every sfaria startup and upgrades it if not. +* create-dataloader command which allows for the interactive creation of a sfaira dataloader script +* clean-dataloader command which cleans a with sfaira create-dataloader created dataloader script +* lint-dataloader command which runs static checks on the style and completeness of a dataloader script +* test-dataloader command which runs a unittest on a provided dataloader + +**Fixed** + +**Dependencies** + +**Deprecated** + diff --git a/docs/commandline_interface.rst b/docs/commandline_interface.rst new file mode 100644 index 000000000..c70724ebd --- /dev/null +++ b/docs/commandline_interface.rst @@ -0,0 +1,6 @@ +Commandline interface +--------------------- + +.. click:: sfaira.cli:sfaira_cli + :prog: sfaira + :nested: full diff --git a/docs/conf.py b/docs/conf.py index 4497f1033..64d6ead7e 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -72,7 +72,8 @@ 'sphinx.ext.coverage', 'sphinx.ext.mathjax', 'sphinx.ext.napoleon', - 'sphinx.ext.autosummary' + 'sphinx.ext.autosummary', + 'sphinx_click' ] # Generate the API documentation when building @@ -112,12 +113,15 @@ conf_py_path='/docs/', # Path in the checkout to the docs root ) html_static_path = ['_static'] +html_css_files = [ + 'custom_sfaira.css', +] html_show_sphinx = False gh_url = 'https://github.com/{github_user}/{github_repo}'.format_map(html_context) def setup(app): - app.add_stylesheet('css/custom.css') + app.add_css_file('css/custom.css') app.connect('autodoc-process-docstring', insert_function_images) app.add_role('pr', autolink(f'{gh_url}/pull/{{}}', 'PR {}')) diff --git a/docs/data.rst b/docs/data.rst deleted file mode 100644 index 21ac5972c..000000000 --- a/docs/data.rst +++ /dev/null @@ -1,188 +0,0 @@ -Data -====== - -.. image:: https://raw.githubusercontent.com/theislab/sfaira/master/resources/images/data_zoo.png - :width: 600px - :align: center - -Build data repository locally ------------------------------- - -Build a repository structure -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - 1. Choose a directory to dedicate to the data base, called root in the following. - 2. Make subfolders in root for each organism for which you want to build a data base. - 3. Make subfolders for each organ whithin each organism for which you want to build a data base. - -We maintain a couple of download scripts that automatise this process, which have to be executed in a shell once to download specific subsets of the full data zoo. -These scripts can be found in sfaira.data.download_scripts. - -Use 3rd party repositories -~~~~~~~~~~~~~~~~~~~~~~~~~~ -Some organization provide streamlined data objects that can be directly consumed by data zoos such as sfaira. -One example for such an organization is the cellxgene_ data portal. -Through these repositories, one can easily build or extend a collection of data sets that can be easily interfaced with sfaira. -Data loaders for cellxgene structured data objects will be available soon! -Contact us for support of any other repositories. - -.. _cellxgene: https://cellxgene.cziscience.com/ - -Add data sets -~~~~~~~~~~~~~ - - 4. For each species and organ combination, choose the data sets that you want to use. - 5. Identify the raw files as indicated in the data loader classes and copy them into the folder. Use processed data - using the described processing if this is required: This is usually done to speed up loading for file - formats that are difficult to access. - -Data loaders ------------- - -Use data loaders on existing data repository -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -You only want to use data sets with existing data loaders and have adapted your directory structure as above? -In that case, you can immediately start using the data loader functions, you just need to supply the root directory -of the directory structure as `path to the constructor of the class that you are using. -Depending on the functionalities you want to use, you need to create a directory with data set meta data first. This -can be easily done via the data set api itself, example python scripts are under benchmarks/data_preparation. This -meta information is necessary to anticipate file sizes for backing merged adata objects for example. - -Contribute data loaders -~~~~~~~~~~~~~~~~~~~~~~~ - -Each data set (organsism, organ, protocol, optionally also batches) has its own data loader class. Each such class is -in a separate file and inherits from a base class that contains most functionalities. Accordingly, the data loader class -looks very similar in parts to a cell in a juypter notebook that performs data loading. We suggest to copy a data loader -class file and simply adapt to the new data. The core features that must be included are: - -1. A constructor of the following form that can be used to interact with the data set -before it is loaded into memory: - -.. code-block:: python - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = x # your-species - self.id = x # "organism_organ_year_protocoll_first-author_doi" - self.download_website = x # link to raw data - self.organ = x #y ourorgan - self.sub_tissue = x # sub-tissue name, otherwise organ - self.dev_stage = x # developmental stage of organism - self.has_celltypes = x # if cell type annotation is available - - # A dictionary of dictionaries with: - # One item for each annotation label that is not contained in the ontology. - # This item maps a custom ID to an ontology supported ID. - # Note that you have to load your custom IDs, to which this refers to, in load(). - self.class_maps = { - "0": { # one entry for each cell type version for this species and organ - 'my weird name for T cells': 'T cell', # one map from a custom ID to an ontology supported ID - }, - } - - -2. A function called to load the data set into memory: - -.. code-block:: python - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "human", "eye", "my_data.h5ad") defined file in streamlined directory structure - self.adata = anndata.read(fn) # loading instruction into .adata, use other ones if the data is not h5ad - - self.adata.uns["lab"] = x # load the adata.uns with meta data - self.adata.uns["year"] = x - self.adata.uns["doi"] = x - self.adata.uns["protocol"] = x # e.g. 10x, microwell, seqwell... - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = x - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - # Class expects unprocessed cell type labels in self.adata.obs["cell_ontology_class"] - self.adata.obs["cell_ontology_class"] = self.adata.obs['CellType'] - # You can additional set self.adata.obs["cell_ontology_id"] if you have streamlined ontology IDs. This are also - # defined in the cell type universe lists. - self.adata.obs["healthy"] = x # boolean tissue sample healthy or diseased / treated - self.adata.obs["state_exact"] = x # exact tissue state as string, e.g. "tumor" or "healthy" - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - - - -Data loaders can be added into a copy of the sfaira repository and can be used locally before they are contributed to -the public sfaira repository. -Alternatively, we also provide the optional dependency sfaira_extensions (https://github.com/theislab/sfaira_extension) -in which local data and cell type annotation can be managed separately but still be loaded as usual through sfaira. -The data loaders and cell type annotation formats between sfaira and sfaira_extensions are identical and can be easily -copied over. - -Ontology management -------------------- - -Sfaira maintains versioned cell type universes and ontologies by species and organ. -A cell type universe is a list of the unique, most fine-grained cell type definitions available. -These cell types can be referred to by a human readable cell type name or a structure identifier within an ontology, -an ontology ID. -Often, one is also interested in access to more coarse grained groups of cell types, for example if the data quality -does not allow to distinguish between T cell subtypes. -To allow coarser type definition, sfaira maintains hierarchies of cell types, in which each hierarchical level is again -defined by a cell type identifier. -Such a hierarchy can be writted as directed acyclic graph which has the cell type universe as its leave nodes. -Intuitively, the cell type hierarchy graph depends on the cell type universe. -Accordingly, both are versioned together in sfaira: -Updates in the cell type universe, such as discovery of a new cell type, lead to an update of the ontology and an -incrementation in both of their versions. -These versioned changes materialise as a distinct list (universe) and dictionary (ontology) for each version in the -file that harbors the species- and organ-specific class that inherits from CelltypeVersionsBase and thus are available -even after updates. -This versioning without depreceation of the old objects allows sfaira to execute and train models that were designed -for older cell type universes and thus ensures reproducibility. - -Contribute cell types to ontologies -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -To contibute new cell types or change existing cell type universe entries, the cell type universe version has to be -incremented and the new entry can simply be added to the list or modified in the list. -We do not increment the universe version if a change does not influence the identity of a leave node with respect to -the other types in the universe, ie if it simply changes the spelling of a cell type or if an onology ID is added to -a type that previously did not have one. - -Contribute hierarchies to ontologies -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -To contribute a term to a cell type ontology, one just has to add a dictionary item that defines the new term as a set -of the leave nodes (cell type universe) of the corresponding universe version. - - -Using ontologies to train cell type classifiers -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Cell type classifiers can be trained on data sets with different coarsity of cell type annotation using aggregate -cross-entropy as a loss and aggregate accuracy as a metric. -The one-hot encoded cell type label matrix is accordingly modified in the estimator class in data loading if terms -that correspond to intermediate nodes (rather than leave nodes) are encountered in the label set. - -Genome management ------------------ - -We streamline feature spaces used by models by defining standardized gene sets that are used as model input. -Per default, sfaira works with the protein coding genes of a genome assembly right now. -A model topology version includes the genome it was trained for, which also defines the feature of this model as genes. -As genome assemblies are updated, model topology version can be updated and models retrained to reflect these changes. -Note that because protein coding genes do not change drastically between genome assemblies, -sample can be carried over to assemblies they were not aligned against by matching gene identifiers. -Sfaira automatically tries to overlap gene identifiers to the genome assembly selected through the current model. diff --git a/docs/development.rst b/docs/development.rst new file mode 100644 index 000000000..1d8488c31 --- /dev/null +++ b/docs/development.rst @@ -0,0 +1,45 @@ +Development +=========== + +Data zoo FAQ +------------ + +How are the meta data entries that I define in the constructor constrained or protected? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +The items that are not free text are documented in the readthedocs data section, often, +these would require entries to be terms in an ontology. +If you make a mistake in defining these fields in a data loader that you contribute, +the template test data loader and any loading operation will throw an error +pointing at this meta data element. + +How is _load() used in data loading? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +`_load()` contains all processing steps that load raw data files into a ready to use adata object. +`_load()` is wrapped in `load()`, the main loading function of a `Dataset` instance. +This adata object can be cached as an h5ad file named after the dataset ID for faster reloading +(if allow_caching=True). `_load()` can be triggered to reload from scratch even if cached data is available +(if use_cached=False). + +How is the feature space (gene names) manipulated during data loading? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Sfaira provides both gene names and ENSEMBL IDs. Missing IDs will automatically be inferred from the gene names and +vice versa. +Version tags on ENSEMBL gene IDs will be removed if specified (if remove_gene_version=True); +in this case, counts are aggregated across these features. +Sfaira makes sure that gene IDs in a dataset match IDs of chosen reference genomes. + +Datasets, DatasetGroups, DatasetSuperGroups - what are they? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Dataset: Custom class that loads a specific dataset. +DatasetGroup: A dataset group manages collection of data loaders (multiple instances of Dataset). +This is useful to group for example all data loaders corresponding to a certain study or a certain tissue. +DatasetSuperGroups: A group of DatasetGroups that allow easy addition of multiple instances of DatasetGroup. + +Basics of sfaira lazy loading via split into constructor and _load function. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +The constructor of a dataset defines all metadata associated with this data set. +The loading of the actual data happens in the `load()` function and not in the constructor. +This is useful as it allows initialising the datasets and accessing dataset metadata +without loading the actual count data. +DatasetGroups can contain initialised Datasets and can be subsetted based on metadata +before loading is triggered across the entire group. diff --git a/docs/index.rst b/docs/index.rst index c699c8c1d..157321b12 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -17,7 +17,7 @@ sfaira - data and model repository for single-cell data sfaira_ is a model and a data repository in a single python package. We provide an interactive overview of the current state of the zoos on sfaira-site_. -.. _sfaira: https://sfaira.readthedocs.io +.. _sfaira: https://www.biorxiv.org/content/10.1101/2020.12.16.419036v1 .. _sfaira-site: https://theislab.github.io/sfaira-site/index.html .. include:: environment_brief.rst @@ -30,17 +30,19 @@ News Latest additions ---------------- -.. include:: release-latest.rst - .. toctree:: :maxdepth: 1 :hidden: installation api/index + commandline_interface tutorials - data + using_data + adding_datasets + adding_dataset_classes models ecosystem roadmap - release-notes + development + changelog diff --git a/docs/release-latest.rst b/docs/release-latest.rst deleted file mode 100644 index 913476eb3..000000000 --- a/docs/release-latest.rst +++ /dev/null @@ -1,6 +0,0 @@ -.. role:: small -.. role:: smaller - -0.2.1 :small:`2020-09-7` -~~~~~~~~~~~~~~~~~~~~~~~~ -Initial release with online documentation. diff --git a/docs/release-notes.rst b/docs/release-notes.rst deleted file mode 100644 index 7f8561271..000000000 --- a/docs/release-notes.rst +++ /dev/null @@ -1,11 +0,0 @@ -Release Notes -============= - -.. role:: small -.. role:: smaller - - -Version 0.2 ------------ - -.. include:: release-latest.rst diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 000000000..dcf07ea07 --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,8 @@ +sphinx +matplotlib +sphinx_rtd_theme +sphinx-autodoc-typehints +sphinx-click +jinja2 +docutils +-r ../requirements.txt \ No newline at end of file diff --git a/docs/using_data.rst b/docs/using_data.rst new file mode 100644 index 000000000..24f0a1cbb --- /dev/null +++ b/docs/using_data.rst @@ -0,0 +1,153 @@ +Using Data +========== + +.. image:: https://raw.githubusercontent.com/theislab/sfaira/master/resources/images/data_zoo.png + :width: 600px + :align: center + +Build data repository locally +------------------------------ + +Build a repository structure +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + 1. Choose a directory to dedicate to the data base, called root in the following. + 2. Run the sfaira download script (sfaira.data.utils.download_all). Alternatively, you can manually set up a data base by making subfolders for each study. + +Note that the automated download is a feature of sfaira but not the core purpose of the package: +Sfaira allows you efficiently interact with such a local data repository. +Some data sets cannot be automatically downloaded and need you manual intervention, which we report in the download script output. + +Use 3rd party repositories +~~~~~~~~~~~~~~~~~~~~~~~~~~ +Some organization provide streamlined data objects that can be directly consumed by data zoos such as sfaira. +One example for such an organization is the cellxgene_ data portal. +Through these repositories, one can easily build or extend a collection of data sets that can be easily interfaced with sfaira. +Data loaders for cellxgene structured data objects will be available soon! +Contact us for support of any other repositories. + +.. _cellxgene: https://cellxgene.cziscience.com/ + +Genome management +----------------- + +We streamline feature spaces used by models by defining standardized gene sets that are used as model input. +Per default, sfaira works with the protein coding genes of a genome assembly right now. +A model topology version includes the genome it was trained for, which also defines the feature of this model as genes. +As genome assemblies are updated, model topology version can be updated and models retrained to reflect these changes. +Note that because protein coding genes do not change drastically between genome assemblies, +sample can be carried over to assemblies they were not aligned against by matching gene identifiers. +Sfaira automatically tries to overlap gene identifiers to the genome assembly selected through the current model. + +FAQ +--- + +How is the dataset’s ID structured? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Organism_Organ_Year_AssaySc_NumberOfDataset_FirstAuthorLastname_doi + +How do I assemble the data set ID if some of its element meta data are not unique? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The data set ID is designed to be a unique identifier of a data set. +Therefore, it is not an issue if it does not capture the full complexity of the data. +Simply choose the meta data value out of the list of corresponding values which comes first in the alphabet. + +What are cell-wise and sample-wise meta data? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Metadata can be set on a per sample level or, in some cases, per cell. +Sample-wise meta data can be directly set in the constructor (e.g self.organism = “human”). +Cell-wise metadata can be provided in `.obs` of the loaded data, here, +a Dataset attribute contains the name of the `.obs` column that contains these cell-wise labels +(e.g. self.obs_key_organism). +Note that sample-wise meta data should be yielded as such and not as a column in `.obs` to simplify loading. + +Which meta data objects are mandatory? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Mandatory on sample (self.attribute) or cell level (self.obs_key_attribute): + + - .id: Dataset ID. This is used to identify the data set uniquely. + Example: self.id = "human_colon_2019_10x_smilie_001_10.1016/j.cell.2019.06.029" + - .download_url_data: Link to data download website. + Example: self.download = "some URL" + - .download_url_meta: Download link to metadata. Assumes that meta data is defined in .download_url_data if not + specified. + Example: self.download_meta = "some URL" + - .gene_id_symbols_var_key, .gene_id_ensembl_var_key: Location of gene name as gene symbol and/or ENSEMBL ID in adata.var + (if index of adata.var, set to “index”, otherwise to column name). One of the two must be provided. + Example: self.gene_id_symbols_var_key = 'index', self.gene_id_ensembl_var_key = “GeneID” + - .author: First author of publication (or list of all authors). + self.author = "Last name, first name" # or ["Last name, first name", "Last name, first name"] + - .doi: Doi of publication + Example: self.doi = "10.1016/j.cell.2019.06.029" + - .organism (or .obs_key_organism): Organism sampled. + Example: self.organism = “human” + - .sample_source (or .obs_key_sample_source): Whether data was obtained from primary tissue or cell culture + Example: self.sample_source = "primary_tissue" + +Highly recommended: + + - .normalization: Normalization of count data: + Example: self.normalization = “raw” + - .organ (or .obs_key_organ): Organ sampled. + Example: self.organ = “liver” + - .assay_sc (or .obs_key_assay_sc): Protocol with which data was collected. + Example: self.assay_sc = “10x” + +Optional (if available): + + - .age (or .obs_key_age): Age of individual sampled. + Example: self.age = 80 # (80 years old for human) + - .dev_stage (or .obs_key_dev_stage): Developmental stage of individual sampled. + Example: self.dev_stage = “mature” + - .ethnicity (or .obs_key_ethnicity): Ethnicity of individual sampled (only for human). + Example: self.ethnicity = “free text” + - .healthy (or .obs_key_healthy): Is the sampled from a disease individual? (bool) + Example: self.healthy = True + - .sex (or .obs_key_sex): Sex of individual sampled. + Example: self.sex = “male” + - .state_exact (or .obs_key_state_exact): Exact disease state + self.state_exact = free text + - .obs_key_cell_types_original: Column in .obs in which free text cell type names are stored. + Example: self.obs_key_cell_types_original = 'CellType' + - .year: Year of publication: + Example: self.year = 2019 + - .cell_line: Which cell line was used for the experiment (for cell culture samples) + Example: self.cell_line = "409B2 (CVCL_K092)" + - .assay_differentiation: Which protocol was used for the differentiation of the cells (for cell culture samples) + - .assay_type_differentiation: Which protocol-type was used for the differentiation of the cells: guided or unguided + (for cell culture samples) + +How do I cache data sets? +~~~~~~~~~~~~~~~~~~~~~~~~~ +When loading a dataset with `Dataset.load(),`you can specify if the adata object +should be cached or not (allow_caching= True). +If set to True, the loaded adata object will be cached as an h5ad object for faster reloading. + +How do I add cell type annotation? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +We are simplifying this right now, new instructions will be available second half of January. + +Why are constructor (`__init__`) and loading function (`_load`) split in the template data loader? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Initiation and data set loading are handled separately to allow lazy loading. +All steps that are required to load the count data and +additional metadata should be defined solely in the `_load` section. +Setting of class metadata such as `.doi`, `.id` etc. should be done in the constructor. + +How do I tell sfaira where the gene names are? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +By setting the attributes `.gene_id_symbols_var_key` or `.gene_id_ensembl_var_key` in the constructor. +If the gene names are in the index of this data frame, you can set “index” as the value of these attributes. + +I only have gene symbols (human readable names, often abbreviations), such as HGNC or MGI, but not ENSEMBL identifiers, is that a problem? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +No, that is not a problem. They will automatically be converted to Ensembl IDs. +You can, however, specify the reference genome in `Dataset.load(match_to_reference = ReferenceGenomeName)` +to which the names should be mapped to. + +I have CITE-seq data, where can I put the protein quantification? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +We will soon provide a structured interface for loading and accessing CITE-seq data, +for now you can add it into `self.adata.obsm[“CITE”]`. diff --git a/requirements.txt b/requirements.txt index 2ecab3f17..a410be433 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,15 +1,35 @@ -anndata>=0.7 +anndata>=0.7.6 +crossref_commons +dask docutils -jinja2 +fuzzywuzzy loompy -numpy>=1.14.0 matplotlib +networkx +numpy>=1.16.4 +obonet +openpyxl pandas -scanpy -scipy +pyarrow +pytest>=6.2.2 +python-Levenshtein +PyYAML +scanpy>=1.7.0 +scipy>=1.2.1 seaborn -sphinx -sphinx-autodoc-typehints -sphinx_rtd_theme +tensorflow>=2.0.0 # TODO remove as soon as # 70 is solved tqdm requests +versioneer +h5py +xlrd==1.* +zarr +rich>=9.10.0 +click>=7.1.2 +questionary>=1.8.1 +packaging>=20.8 +requests>=2.25.1 +switchlang>=0.1.0 +cookiecutter>=1.7.2 +boltons +flatten-dict diff --git a/setup.cfg b/setup.cfg index 9320da5cc..88bb3cf20 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,3 +1,6 @@ +[bdist_wheel] +universal = 1 + [versioneer] VCS = git style = pep440 @@ -7,3 +10,15 @@ tag_prefix = [build_ext] inplace = 1 + +[flake8] +ignore=F401, W504, E731 +exclude = docs, sfaira/commands/templates +max-line-length = 160 + +[aliases] +# Define setup.py command aliases here +test = pytest + +[tool:pytest] +collect_ignore = ['setup.py'] \ No newline at end of file diff --git a/setup.py b/setup.py index 95e4de8ce..fd08e61db 100644 --- a/setup.py +++ b/setup.py @@ -1,12 +1,29 @@ +import os + from setuptools import setup, find_packages import versioneer author = 'theislab' author_email = 'david.fischer@helmholtz-muenchen.de' -description = "" +description = "sfaira is a model and a data repository for single-cell data in a single python package." with open("README.rst", "r") as fh: - long_description = fh.read() + long_description = fh.read() + +with open('requirements.txt') as f: + requirements = f.read().splitlines() + + +def package_files(directory): + paths = [] + for (path, directories, filenames) in os.walk(directory): + for filename in filenames: + paths.append(os.path.join('..', path, filename)) + return paths + + +WD = os.path.dirname(__file__) +templates = package_files(os.path.join(WD, "sfaira", "commands", "templates")) setup( name='sfaira', @@ -15,48 +32,35 @@ description=description, long_description=long_description, long_description_content_type="text/markdown", - packages=find_packages(), - install_requires=[ - 'anndata>=0.7', - 'h5py', - 'numpy>=1.16.4', - 'pandas', - 'scipy>=1.2.1', - 'tqdm' + classifiers=[ + 'Development Status :: 5 - Production/Stable', + 'Intended Audience :: Developers', + 'License :: OSI Approved :: BSD License', + 'Natural Language :: English', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', ], + packages=find_packages(include=['sfaira', 'sfaira.*']), + package_data={'': templates}, + entry_points={ + 'console_scripts': [ + 'sfaira=sfaira.cli:main', + ], + }, + install_requires=requirements, extras_require={ 'tensorflow': [ - 'tensorflow>=2.0.0', - 'tensorflow-gpu>=2.0.0' - ], - 'kipoi': [ - 'kipoi', - 'git-lfs' + # 'tensorflow>=2.0.0' # TODO Add Tensorflow here again ], 'plotting_deps': [ "seaborn", "matplotlib", "sklearn" ], - 'scanpy': [ - "scanpy" - ], - 'loompy': [ - "loompy", - ], 'extension': [ "sfaira_extension", ], - 'zenodo': [ - "requests" - ], - 'docs': [ - 'sphinx', - 'sphinx-autodoc-typehints', - 'sphinx_rtd_theme', - 'jinja2', - 'docutils', - ], }, version=versioneer.get_version(), cmdclass=versioneer.get_cmdclass(), diff --git a/sfaira/__init__.py b/sfaira/__init__.py index 50910f0a2..48839deaf 100644 --- a/sfaira/__init__.py +++ b/sfaira/__init__.py @@ -1,6 +1,13 @@ # -*- coding: utf-8 -*- """A Data and Model Zoo for Single-Cell Genomics.""" +import sfaira.consts +import sfaira.data +import sfaira.genomes +import sfaira.interface as ui +import sfaira.models +import sfaira.train +import sfaira.versions from ._version import get_versions __version__ = get_versions()['version'] @@ -11,15 +18,11 @@ ]) __author__ = ', '.join([ "Leander Dony", - "David S. Fischer" + "David S. Fischer", + "Lukas Heumos" ]) __email__ = ', '.join([ "leander.dony@helmholtz-muenchen.de", - "david.fischer@helmholtz-muenchen.de" + "david.fischer@helmholtz-muenchen.de", + "lukas.heumos@helmholtz-muenchen.de" ]) - -import sfaira.data -import sfaira.genomes -import sfaira.models -import sfaira.train -import sfaira.interface as ui diff --git a/sfaira/cli.py b/sfaira/cli.py new file mode 100644 index 000000000..547768616 --- /dev/null +++ b/sfaira/cli.py @@ -0,0 +1,120 @@ +import logging +import os +import sys + +import click +import rich +import rich.logging +from rich import traceback +from rich import print +from sfaira.commands.test_dataloader import DataloaderTester + +from sfaira.commands.clean_dataloader import DataloaderCleaner +from sfaira.commands.validate_dataloader import DataloaderValidator + +import sfaira +from sfaira.commands.create_dataloader import DataloaderCreator +from sfaira.commands.upgrade import UpgradeCommand + +WD = os.path.dirname(__file__) +log = logging.getLogger() + + +def main(): + traceback.install(width=200, word_wrap=True) + print(r"""[bold blue] +███████ ███████  █████  ██ ██████  █████  +██      ██      ██   ██ ██ ██   ██ ██   ██  +███████ █████  ███████ ██ ██████  ███████  +     ██ ██     ██   ██ ██ ██   ██ ██   ██  +███████ ██  ██  ██ ██ ██  ██ ██  ██  +                                     + """) + + print('[bold blue]Run [green]sfaira --help [blue]for an overview of all commands\n') + + # Is the latest sfaira version installed? Upgrade if not! + if not UpgradeCommand.check_sfaira_latest(): + print('[bold blue]Run [green]sfaira upgrade [blue]to get the latest version.') + sfaira_cli() + + +@click.group() +@click.version_option(sfaira.__version__, message=click.style(f'sfaira Version: {sfaira.__version__}', fg='blue')) +@click.option('-v', '--verbose', is_flag=True, default=False, help='Enable verbose output (print debug statements).') +@click.option("-l", "--log-file", help="Save a verbose log to a file.") +@click.pass_context +def sfaira_cli(ctx, verbose, log_file): + """ + Create and manage sfaira dataloaders. + """ + # Set the base logger to output DEBUG + log.setLevel(logging.DEBUG) + + # Set up logs to the console + log.addHandler( + rich.logging.RichHandler( + level=logging.DEBUG if verbose else logging.INFO, + console=rich.console.Console(file=sys.stderr), + show_time=True, + markup=True, + ) + ) + + # Set up logs to a file if we asked for one + if log_file: + log_fh = logging.FileHandler(log_file, encoding="utf-8") + log_fh.setLevel(logging.DEBUG) + log_fh.setFormatter(logging.Formatter("[%(asctime)s] %(name)-20s [%(levelname)-7s] %(message)s")) + log.addHandler(log_fh) + + +@sfaira_cli.command() +def create_dataloader() -> None: + """ + Interactively create a new sfaira dataloader. + """ + dataloader_creator = DataloaderCreator() + dataloader_creator.create_dataloader() + + +@sfaira_cli.command() +@click.argument('path', type=click.Path(exists=True)) +def clean_dataloader(path) -> None: + """ + Clean a just written sfaira dataloader to adhere to sfaira's standards. + + PATH to the dataloader script. + """ + dataloader_cleaner = DataloaderCleaner(path) + dataloader_cleaner.clean_dataloader() + + +@sfaira_cli.command() +@click.argument('path', type=click.Path(exists=True)) +def validate_dataloader(path) -> None: + """ + Verifies the dataloader against sfaira's requirements. + + PATH to the dataloader script. + """ + dataloader_validator = DataloaderValidator(path) + dataloader_validator.validate() + + +@sfaira_cli.command() +@click.argument('path', type=click.Path(exists=True)) +@click.option('--test-data', type=click.Path(exists=True)) +@click.option('--doi', type=str, default=None) +def test_dataloader(path, test_data, doi) -> None: + """Runs a dataloader integration test. + + PATH is the absolute path of the root of your sfaira clone. + """ + dataloader_tester = DataloaderTester(path, test_data, doi) + dataloader_tester.test_dataloader() + + +if __name__ == "__main__": + traceback.install() + sys.exit(main()) # pragma: no cover diff --git a/sfaira/commands/__init__.py b/sfaira/commands/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/sfaira/commands/clean_dataloader.py b/sfaira/commands/clean_dataloader.py new file mode 100644 index 000000000..1823c203a --- /dev/null +++ b/sfaira/commands/clean_dataloader.py @@ -0,0 +1,24 @@ +import logging + +import yaml +from boltons.iterutils import remap + +log = logging.getLogger(__name__) + + +class DataloaderCleaner: + + def __init__(self, path): + self.path = path + + def clean_dataloader(self) -> None: + """ + Removes unused keys from the yaml file + """ + with open(self.path) as yaml_file: + content = yaml.load(yaml_file, Loader=yaml.FullLoader) + drop_falsey = lambda path, key, value: bool(value) + clean = remap(content, visit=drop_falsey) + + with open(self.path, 'w') as file: + yaml.dump(clean, file) diff --git a/sfaira/commands/create_dataloader.py b/sfaira/commands/create_dataloader.py new file mode 100644 index 000000000..286a88511 --- /dev/null +++ b/sfaira/commands/create_dataloader.py @@ -0,0 +1,168 @@ +import logging +import os +import re +from dataclasses import dataclass, asdict +from typing import Union, Dict + +from sfaira.commands.questionary import sfaira_questionary +from rich import print +from cookiecutter.main import cookiecutter + +log = logging.getLogger(__name__) + + +@dataclass +class TemplateAttributes: + dataloader_type: str = '' # One of single_dataset, multiple_datasets_single_file, multiple_datasets_streamlined, multiple_datasets_not_streamlined + id: str = '' # unique identifier of data set (Organism_Organ_Year_Protocol_NumberOfDataset_FirstAuthorLastname_doi). + id_without_doi: str = '' # complete id without the doi -> usually used to name the python scripts + create_extra_description: str = '' # Whether to create an optional extra description file or not + + author: Union[str, list] = '' # author (list) who sampled / created the data set + doi: str = '' # doi of data set accompanying manuscript + doi_sfaira_repr: str = '' # internal representation with any special characters replaced with underscores + + sample_fns: Union[str, Dict[str, list]] = '' # file name of the first *.h5ad file + download_url_data: str = '' # download website(s) of data files + download_url_meta: str = '' # download website(s) of meta data files + organ: str = '' # (*) organ (anatomical structure) + organism: str = '' # (*) species / organism + assay: str = '' # (*, optional) protocol used to sample data (e.g. smart-seq2) + normalization: str = '' # raw or the used normalization technique + default_embedding: str = '' # Default embedding of the data + primary_data: str = '' # Is this a primary dataset? + disease: str = '' # name of the disease of the condition + ethnicity: str = '' # ethnicity of the sample + state_exact: str = '' # state of the sample + year: str = 2021 # year in which sample was acquired + number_of_datasets: str = 1 # Required to determine the file names + + +class DataloaderCreator: + + def __init__(self): + self.WD = os.path.dirname(__file__) + self.TEMPLATES_PATH = f'{self.WD}/templates' + self.template_attributes = TemplateAttributes() + + def create_dataloader(self): + """ + Prompts and guides the user through a number of possible dataloader choices. + Prompts the user for required attributes which must be present in the dataloader. + Finally creates the specific cookiecutter dataloader template. + """ + self._prompt_dataloader_template() + self._prompt_dataloader_configuration() + self._create_dataloader_template() + + def _prompt_dataloader_template(self) -> None: + """ + Guides the user to select the appropriate dataloader template for his dataset. + Sets the dataloader_type + """ + number_datasets = sfaira_questionary(function='select', + question='How many datasets does your project have?', + choices=['One', 'More than one']) + # One dataset + if number_datasets == 'One': + self.template_attributes.dataloader_type = 'single_dataset' + else: + self.template_attributes.dataloader_type = 'multiple_datasets' + + def _prompt_dataloader_configuration(self): + """ + Prompts the user for all required attributes for a dataloader such as DOI, author, etc. + """ + author = sfaira_questionary(function='text', + question='Author(s):', + default='Einstein, Albert; Hawking, Stephen') + self.template_attributes.author = author.split(';') if ';' in author else author + doi = sfaira_questionary(function='text', + question='DOI:', + default='10.1000/j.journal.2021.01.001') + while not re.match(r'\b10\.\d+/[\w.]+\b', doi): + print('[bold red]The entered DOI is malformed!') # noqa: W605 + doi = sfaira_questionary(function='text', + question='DOI:', + default='10.1000/j.journal.2021.01.001') + self.template_attributes.doi = doi + self.template_attributes.doi_sfaira_repr = f'd{doi.translate({ord(c): "_" for c in r"!@#$%^&*()[]/{};:,.<>?|`~-=_+"})}' + + self.template_attributes.number_of_datasets = sfaira_questionary(function='text', + question='Number of datasets:', + default='1') + + # Differentiate between a single dataset or multiple datasets to get sample file names + if self.template_attributes.dataloader_type == 'multiple_datasets': + self.template_attributes.sample_fns = {'fns': []} + for ds in range(int(self.template_attributes.number_of_datasets)): + fn = sfaira_questionary(function='text', + question='Sample file name:', + default=f'data_{ds}.h5ad') + self.template_attributes.sample_fns['fns'].append(fn) + else: + self.template_attributes.sample_fns = sfaira_questionary(function='text', + question='Sample file name of the first dataset:', + default='data.h5ad') + + self.template_attributes.primary_data = str(sfaira_questionary(function='confirm', + question='Primary data:', + default='Yes')) + self.template_attributes.default_embedding = sfaira_questionary(function='text', + question='Default embedding:', + default='NA') + self.template_attributes.organism = sfaira_questionary(function='text', + question='Organism:', + default='NA') + self.template_attributes.organ = sfaira_questionary(function='text', + question='Organ:', + default='NA') + self.template_attributes.assay = sfaira_questionary(function='text', + question='Assay:', + default='NA') + self.template_attributes.normalization = sfaira_questionary(function='text', + question='Normalization:', + default='raw') + self.template_attributes.disease = sfaira_questionary(function='text', + question='Disease:', + default='NA') + self.template_attributes.state_exact = sfaira_questionary(function='text', + question='Sample state:', + default='healthy') + self.template_attributes.year = sfaira_questionary(function='text', + question='Year:', + default='2021') + first_author = author[0] if isinstance(author, list) else author + try: + first_author_lastname = first_author.split(',')[0] + except KeyError: + print('[bold yellow] First author was not in the expected format. Using full first author for the id.') + first_author_lastname = first_author + self.template_attributes.id_without_doi = f'{self.template_attributes.organism}_{self.template_attributes.organ}_' \ + f'{self.template_attributes.year}_{self.template_attributes.assay}_' \ + f'{first_author_lastname}_001' + self.template_attributes.id = self.template_attributes.id_without_doi + f'_{self.template_attributes.doi_sfaira_repr}' + if self.template_attributes.dataloader_type == 'single_dataset': + self.template_attributes.download_url_data = sfaira_questionary(function='text', + question='URL to download the data', + default='https://ftp.ncbi.nlm.nih.gov/geo/') + self.template_attributes.download_url_meta = sfaira_questionary(function='text', + question='URL to download the meta data', + default='https://ftp.ncbi.nlm.nih.gov/geo/') + self.template_attributes.create_extra_description = sfaira_questionary(function='confirm', + question='Do you want to add additional custom metadata?', + default='Yes') + + def _template_attributes_to_dict(self) -> dict: + """ + Create a dict from the our Template Structure dataclass + :return: The dict containing all key-value pairs with non empty values + """ + return {key: val for key, val in asdict(self.template_attributes).items() if val != ''} + + def _create_dataloader_template(self): + template_path = f'{self.TEMPLATES_PATH}/{self.template_attributes.dataloader_type}' + cookiecutter(f'{template_path}', + no_input=True, + overwrite_if_exists=True, + extra_context=self._template_attributes_to_dict()) diff --git a/sfaira/commands/questionary.py b/sfaira/commands/questionary.py new file mode 100644 index 000000000..34ee8e1b1 --- /dev/null +++ b/sfaira/commands/questionary.py @@ -0,0 +1,69 @@ +import logging +import sys +from typing import Optional, List, Union + +import questionary +from prompt_toolkit.styles import Style # type: ignore +from rich import print + +log = logging.getLogger(__name__) + +sfaira_style = Style([ + ('qmark', 'fg:#0000FF bold'), # token in front of the question + ('question', 'bold'), # question text + ('answer', 'fg:#008000 bold'), # submitted answer text behind the question + ('pointer', 'fg:#0000FF bold'), # pointer used in select and checkbox prompts + ('highlighted', 'fg:#0000FF bold'), # pointed-at choice in select and checkbox prompts + ('selected', 'fg:#008000'), # style for a selected item of a checkbox + ('separator', 'fg:#cc5454'), # separator in lists + ('instruction', ''), # user instructions for select, rawselect, checkbox + ('text', ''), # plain text + ('disabled', 'fg:#FF0000 italic') # disabled choices for select and checkbox prompts +]) + + +def sfaira_questionary(function: str, + question: str, + choices: Optional[List[str]] = None, + default: Optional[str] = None) -> Union[str, bool]: + """ + Custom selection based on Questionary. Handles keyboard interrupts and default values. + + :param function: The function of questionary to call (e.g. select or text). See https://github.com/tmbo/questionary for all available functions. + :param question: The question to prompt for. Should not include default values or colons. + :param choices: List of all possible choices. Usually only relevant with 'select'. + :param default: A set default value which will be chosen if the user does not enter anything. + :return: The chosen answer. + """ + answer: Optional[str] = '' + try: + if function == 'select': + if default not in choices: # type: ignore + log.debug(f'Default value {default} is not in the set of choices!') + answer = getattr(questionary, function)(f'{question}: ', choices=choices, style=sfaira_style).unsafe_ask() + elif function == 'password': + while not answer or answer == '': + answer = getattr(questionary, function)(f'{question}: ', style=sfaira_style).unsafe_ask() + elif function == 'text': + if not default: + log.debug('Tried to utilize default value in questionary prompt, but is None! Please set a default value.') + default = '' + answer = getattr(questionary, function)(f'{question} [{default}]: ', style=sfaira_style).unsafe_ask() + elif function == 'confirm': + default_value_bool = True if default == 'Yes' or default == 'yes' else False + answer = getattr(questionary, function)(f'{question} [{default}]: ', style=sfaira_style, default=default_value_bool).unsafe_ask() + else: + log.debug(f'Unsupported questionary function {function} used!') + + except KeyboardInterrupt: + print('[bold red] Aborted!') + sys.exit(1) + if answer is None or answer == '': + answer = default + + log.debug(f'User was asked the question: ||{question}|| as: {function}') + log.debug(f'User selected {answer}') + + if isinstance(answer, str): + answer = answer.strip('\"') + return answer # type: ignore diff --git a/sfaira/commands/templates/multiple_datasets/cookiecutter.json b/sfaira/commands/templates/multiple_datasets/cookiecutter.json new file mode 100644 index 000000000..ddd7f38ba --- /dev/null +++ b/sfaira/commands/templates/multiple_datasets/cookiecutter.json @@ -0,0 +1,23 @@ +{ + "sample_fns": {"fns": []}, + "dataloader_author_name": "", + "dataloader_author_email": "", + "id": "", + "id_without_doi": "", + "author": "", + "disease": "", + "doi": "", + "doi_sfaira_repr": "", + "download_url_data": "", + "download_url_meta": "", + "normalization": "", + "organ": "", + "organism": "", + "assay": "", + "year": "", + "individual": "", + "state_exact": "", + "primary_data": "", + "default_embedding": "", + "create_extra_description": "" + } diff --git a/sfaira/commands/templates/multiple_datasets/hooks/__init__.py b/sfaira/commands/templates/multiple_datasets/hooks/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/sfaira/commands/templates/multiple_datasets/hooks/post_gen_project.py b/sfaira/commands/templates/multiple_datasets/hooks/post_gen_project.py new file mode 100644 index 000000000..44c42355b --- /dev/null +++ b/sfaira/commands/templates/multiple_datasets/hooks/post_gen_project.py @@ -0,0 +1,15 @@ +import os +import shutil + + +def remove(filepath): + if os.path.isfile(filepath): + os.remove(filepath) + elif os.path.isdir(filepath): + shutil.rmtree(filepath) + + +create_extra_description = '{{ cookiecutter.create_extra_description }}' == 'True' + +if not create_extra_description: + remove('extra_description.txt') diff --git a/sfaira/commands/templates/multiple_datasets/{{ cookiecutter.doi_sfaira_repr }}/__init__.py b/sfaira/commands/templates/multiple_datasets/{{ cookiecutter.doi_sfaira_repr }}/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/commands/templates/multiple_datasets/{{ cookiecutter.doi_sfaira_repr }}/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/commands/templates/multiple_datasets/{{ cookiecutter.doi_sfaira_repr }}/extra_description.txt b/sfaira/commands/templates/multiple_datasets/{{ cookiecutter.doi_sfaira_repr }}/extra_description.txt new file mode 100644 index 000000000..e69de29bb diff --git a/sfaira/commands/templates/multiple_datasets/{{ cookiecutter.doi_sfaira_repr }}/{{ cookiecutter.id_without_doi }}.py b/sfaira/commands/templates/multiple_datasets/{{ cookiecutter.doi_sfaira_repr }}/{{ cookiecutter.id_without_doi }}.py new file mode 100644 index 000000000..50311248b --- /dev/null +++ b/sfaira/commands/templates/multiple_datasets/{{ cookiecutter.doi_sfaira_repr }}/{{ cookiecutter.id_without_doi }}.py @@ -0,0 +1,11 @@ +import anndata +import os +import scipy.sparse + + +def load(data_dir, sample_fn, **kwargs): + fn = os.path.join(data_dir, sample_fn) + adata = anndata.read(fn) + adata.X = scipy.sparse.csc_matrix(adata.X) + + return adata diff --git a/sfaira/commands/templates/multiple_datasets/{{ cookiecutter.doi_sfaira_repr }}/{{ cookiecutter.id_without_doi }}.yaml b/sfaira/commands/templates/multiple_datasets/{{ cookiecutter.doi_sfaira_repr }}/{{ cookiecutter.id_without_doi }}.yaml new file mode 100644 index 000000000..0a10f0d0a --- /dev/null +++ b/sfaira/commands/templates/multiple_datasets/{{ cookiecutter.doi_sfaira_repr }}/{{ cookiecutter.id_without_doi }}.yaml @@ -0,0 +1,58 @@ +dataset_structure: + dataset_index: 1 + sample_fns: +{% for fn in cookiecutter.sample_fns.fns %} - "{{ fn }}" +{% endfor %}dataset_wise: + author: "{{ cookiecutter.author }}" + default_embedding: +{% for fn in cookiecutter.sample_fns.fns %} {{ fn }}: "{{ cookiecutter.default_embedding }}" +{% endfor %}doi: "{{ cookiecutter.doi }}" + download_url_data: +{% for fn in cookiecutter.sample_fns.fns %} {{ fn }}: +{% endfor %} download_url_meta: +{% for fn in cookiecutter.sample_fns.fns %} {{ fn }}: +{% endfor %} primary_data: {{ cookiecutter.primary_data }} + normalization: "{{ cookiecutter.normalization }}" + year: "{{ cookiecutter.year }}" +dataset_or_observation_wise: + assay: +{% for fn in cookiecutter.sample_fns.fns %} {{ fn }}: "{{ cookiecutter.assay }}" +{% endfor %} assay_obs_key: + bio_sample: +{% for fn in cookiecutter.sample_fns.fns %} {{ fn }}: +{% endfor %} bio_sample_obs_key: + development_stage: +{% for fn in cookiecutter.sample_fns.fns %} {{ fn }}: +{% endfor %} development_stage_obs_key: + disease: +{% for fn in cookiecutter.sample_fns.fns %} {{ fn }}: "{{ cookiecutter.disease }}" +{% endfor %} disease_obs_key: + ethnicity: +{% for fn in cookiecutter.sample_fns.fns %} {{ fn }}: +{% endfor %} ethnicity_obs_key: + individual: +{% for fn in cookiecutter.sample_fns.fns %} {{ fn }}: +{% endfor %} individual_obs_key: + organ: +{% for fn in cookiecutter.sample_fns.fns %} {{ fn }}: "{{ cookiecutter.organ }}" +{% endfor %} organ_obs_key: + organism: +{% for fn in cookiecutter.sample_fns.fns %} {{ fn }}: "{{ cookiecutter.organism }}" +{% endfor %} organism_obs_key: + sex: +{% for fn in cookiecutter.sample_fns.fns %} {{ fn }}: +{% endfor %} sex_obs_key: + state_exact: +{% for fn in cookiecutter.sample_fns.fns %} {{ fn }}: "{{ cookiecutter.state_exact }}" +{% endfor %} state_exact_obs_key: + tech_sample: +{% for fn in cookiecutter.sample_fns.fns %} {{ fn }}: +{% endfor %} tech_sample_obs_key: +observation_wise: + cell_types_original_obs_key: +feature_wise: + gene_id_ensembl_var_key: + gene_id_symbols_var_key: +misc: +meta: + version: "1.0" diff --git a/sfaira/commands/templates/single_dataset/cookiecutter.json b/sfaira/commands/templates/single_dataset/cookiecutter.json new file mode 100644 index 000000000..faafc16cd --- /dev/null +++ b/sfaira/commands/templates/single_dataset/cookiecutter.json @@ -0,0 +1,23 @@ +{ + "sample_fns": "", + "dataloader_author_name": "", + "dataloader_author_email": "", + "id": "", + "id_without_doi": "", + "author": "", + "disease": "", + "doi": "", + "doi_sfaira_repr": "", + "download_url_data": "", + "download_url_meta": "", + "normalization": "", + "organ": "", + "organism": "", + "assay": "", + "year": "", + "individual": "", + "state_exact": "", + "primary_data": "", + "default_embedding": "", + "create_extra_description": "" + } diff --git a/sfaira/commands/templates/single_dataset/hooks/__init__.py b/sfaira/commands/templates/single_dataset/hooks/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/sfaira/commands/templates/single_dataset/hooks/post_gen_project.py b/sfaira/commands/templates/single_dataset/hooks/post_gen_project.py new file mode 100644 index 000000000..44c42355b --- /dev/null +++ b/sfaira/commands/templates/single_dataset/hooks/post_gen_project.py @@ -0,0 +1,15 @@ +import os +import shutil + + +def remove(filepath): + if os.path.isfile(filepath): + os.remove(filepath) + elif os.path.isdir(filepath): + shutil.rmtree(filepath) + + +create_extra_description = '{{ cookiecutter.create_extra_description }}' == 'True' + +if not create_extra_description: + remove('extra_description.txt') diff --git a/sfaira/commands/templates/single_dataset/{{ cookiecutter.doi_sfaira_repr }}/__init__.py b/sfaira/commands/templates/single_dataset/{{ cookiecutter.doi_sfaira_repr }}/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/commands/templates/single_dataset/{{ cookiecutter.doi_sfaira_repr }}/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/commands/templates/single_dataset/{{ cookiecutter.doi_sfaira_repr }}/extra_description.txt b/sfaira/commands/templates/single_dataset/{{ cookiecutter.doi_sfaira_repr }}/extra_description.txt new file mode 100644 index 000000000..e69de29bb diff --git a/sfaira/commands/templates/single_dataset/{{ cookiecutter.doi_sfaira_repr }}/{{ cookiecutter.id_without_doi }}.py b/sfaira/commands/templates/single_dataset/{{ cookiecutter.doi_sfaira_repr }}/{{ cookiecutter.id_without_doi }}.py new file mode 100644 index 000000000..50311248b --- /dev/null +++ b/sfaira/commands/templates/single_dataset/{{ cookiecutter.doi_sfaira_repr }}/{{ cookiecutter.id_without_doi }}.py @@ -0,0 +1,11 @@ +import anndata +import os +import scipy.sparse + + +def load(data_dir, sample_fn, **kwargs): + fn = os.path.join(data_dir, sample_fn) + adata = anndata.read(fn) + adata.X = scipy.sparse.csc_matrix(adata.X) + + return adata diff --git a/sfaira/commands/templates/single_dataset/{{ cookiecutter.doi_sfaira_repr }}/{{ cookiecutter.id_without_doi }}.yaml b/sfaira/commands/templates/single_dataset/{{ cookiecutter.doi_sfaira_repr }}/{{ cookiecutter.id_without_doi }}.yaml new file mode 100644 index 000000000..1beb00a25 --- /dev/null +++ b/sfaira/commands/templates/single_dataset/{{ cookiecutter.doi_sfaira_repr }}/{{ cookiecutter.id_without_doi }}.yaml @@ -0,0 +1,44 @@ +dataset_structure: + dataset_index: 1 + sample_fns: + - "{{ cookiecutter.sample_fns }}" +dataset_wise: + author: "{{ cookiecutter.author }}" + default_embedding: "{{ cookiecutter.default_embedding }}" + doi: "{{ cookiecutter.doi }}" + download_url_data: "{{ cookiecutter.download_url_data }}" + download_url_meta: "{{ cookiecutter.download_url_meta }}" + primary_data: {{ cookiecutter.primary_data }} + normalization: "{{ cookiecutter.normalization }}" + year: "{{ cookiecutter.year }}" +dataset_or_observation_wise: + assay: "{{ cookiecutter.assay }}" + assay_obs_key: + bio_sample: + bio_sample_obs_key: + development_stage: + development_stage_obs_key: + disease: "{{ cookiecutter.disease }}" + disease_obs_key: + ethnicity: + ethnicity_obs_key: + individual: + individual_obs_key: + organ: "{{ cookiecutter.organ }}" + organ_obs_key: + organism: "{{ cookiecutter.organism }}" + organism_obs_key: + sex: + sex_obs_key: + state_exact: "{{ cookiecutter.state_exact }}" + state_exact_obs_key: + tech_sample: + tech_sample_obs_key: +observation_wise: + cell_types_original_obs_key: +feature_wise: + gene_id_ensembl_var_key: + gene_id_symbols_var_key: +misc: +meta: + version: "1.0" diff --git a/sfaira/commands/test_dataloader.py b/sfaira/commands/test_dataloader.py new file mode 100644 index 000000000..16f9f0a58 --- /dev/null +++ b/sfaira/commands/test_dataloader.py @@ -0,0 +1,54 @@ +import logging +import os +from subprocess import Popen + +from rich import print +from sfaira.commands.questionary import sfaira_questionary + +log = logging.getLogger(__name__) + + +class DataloaderTester: + + def __init__(self, path, test_data, doi): + self.WD = os.path.dirname(__file__) + self.path = path + self.test_data = test_data + self.cwd = os.getcwd() + self.doi = doi + self.doi_sfaira_repr = '' + + def test_dataloader(self): + """ + Runs a predefined unit test on a given dataloader. + """ + print('[bold blue]Please ensure that your dataloader is in sfaira/dataloaders/loaders/.') + if not self.doi: + self._prompt_doi() + self.doi_sfaira_repr = f'd{self.doi.translate({ord(c): "_" for c in r"!@#$%^&*()[]/{};:,.<>?|`~-=_+"})}' + self._run_unittest() + + def _prompt_doi(self): + self.doi = sfaira_questionary(function='text', + question='Enter your DOI', + default='10.1000/j.journal.2021.01.001') + + def _run_unittest(self): + """ + Runs the actual integration test by invoking pytest on it. + """ + print('[bold blue]Conflicts are not automatically resolved.') + print('[bold blue]Please go back to [bold]https://www.ebi.ac.uk/ols/ontologies/cl[blue] for every mismatch or conflicts ' + 'and add the correct cell ontology class name into the .tsv "target" column.') + + os.chdir(f'{self.path}/sfaira/unit_tests/data_contribution') + + pytest = Popen(['pytest', 'test_data_template.py', '--doi_sfaira_repr', self.doi_sfaira_repr, '--test_data', self.test_data], + universal_newlines=True, shell=False, close_fds=True) + (pytest_stdout, pytest_stderr) = pytest.communicate() + if pytest_stdout: + print(pytest_stdout) + if pytest_stderr: + print(pytest_stderr) + + os.chdir(self.cwd) diff --git a/sfaira/commands/upgrade.py b/sfaira/commands/upgrade.py new file mode 100644 index 000000000..f1670400c --- /dev/null +++ b/sfaira/commands/upgrade.py @@ -0,0 +1,101 @@ +import json +import logging +import urllib +import sys +from pkg_resources import parse_version + +import sfaira +from urllib.error import HTTPError, URLError +from subprocess import Popen, PIPE, check_call +from rich import print + +from sfaira.commands.questionary import sfaira_questionary + +log = logging.getLogger(__name__) + + +class UpgradeCommand: + """ + Responsible for checking for newer versions sfaira and upgrading it if required. + """ + + @staticmethod + def check_upgrade_sfaira() -> None: + """ + Checks whether the locally installed version of sfaira is the latest. + If not it prompts whether to upgrade and runs the upgrade command if desired. + """ + if not UpgradeCommand.check_sfaira_latest(): + if sfaira_questionary(function='confirm', + question='Do you want to upgrade?', + default='y'): + UpgradeCommand.upgrade_sfaira() + + @classmethod + def check_sfaira_latest(cls) -> bool: + """ + Checks whether the locally installed version of sfaira is the latest available on PyPi. + + :return: True if locally version is the latest or PyPI is inaccessible, false otherwise + """ + latest_local_version = sfaira.__version__ + sliced_local_version = latest_local_version[:-9] if latest_local_version.endswith('-SNAPSHOT') else latest_local_version + log.debug(f'Latest local sfaira version is: {latest_local_version}.') + log.debug('Checking whether a new sfaira version exists on PyPI.') + try: + # Retrieve info on latest version + # Adding nosec (bandit) here, since we have a hardcoded https request + # It is impossible to access file:// or ftp:// + # See: https://stackoverflow.com/questions/48779202/audit-url-open-for-permitted-schemes-allowing-use-of-file-or-custom-schemes + req = urllib.request.Request('https://pypi.org/pypi/sfaira/json') # nosec + with urllib.request.urlopen(req, timeout=1) as response: # nosec + contents = response.read() + data = json.loads(contents) + latest_pypi_version = data['info']['version'] + except (HTTPError, TimeoutError, URLError): + print('[bold red]Unable to contact PyPI to check for the latest sfaira version. Do you have an internet connection?') + # Returning true by default since this is not a serious issue + return True + + if parse_version(sliced_local_version) > parse_version(latest_pypi_version): + print(f'[bold yellow]Installed version {latest_local_version} of sfaira is newer than the latest release {latest_pypi_version}!' + f' You are running a nightly version and features may break!') + elif parse_version(sliced_local_version) == parse_version(latest_pypi_version): + return True + else: + print(f'[bold red]Installed version {latest_local_version} of sfaira is outdated. Newest version is {latest_pypi_version}!') + return False + + return False + + @classmethod + def upgrade_sfaira(cls) -> None: + """ + Calls pip as a subprocess with the --upgrade flag to upgrade sfaira to the latest version. + """ + log.debug('Attempting to upgrade sfaira via pip install --upgrade sfaira .') + if not UpgradeCommand.is_pip_accessible(): + sys.exit(1) + try: + check_call([sys.executable, '-m', 'pip', 'install', '--upgrade', 'sfaira']) + except Exception as e: + print('[bold red]Unable to upgrade sfaira') + print(f'[bold red]Exception: {e}') + + @classmethod + def is_pip_accessible(cls) -> bool: + """ + Verifies that pip is accessible and in the PATH. + + :return: True if accessible, false if not + """ + log.debug('Verifying that pip is accessible.') + pip_installed = Popen(['pip', '--version'], stdout=PIPE, stderr=PIPE, universal_newlines=True) + (git_installed_stdout, git_installed_stderr) = pip_installed.communicate() + if pip_installed.returncode != 0: + log.debug('Pip was not accessible!') + print('[bold red]Unable to find \'pip\' in the PATH. Is it installed?') + print('[bold red]Run command was [green]\'pip --version \'') + return False + + return True diff --git a/sfaira/commands/validate_dataloader.py b/sfaira/commands/validate_dataloader.py new file mode 100644 index 000000000..54c1af116 --- /dev/null +++ b/sfaira/commands/validate_dataloader.py @@ -0,0 +1,108 @@ +import logging + +import rich +import yaml +from rich.panel import Panel +from flatten_dict import flatten +from flatten_dict.reducer import make_reducer +from rich.progress import Progress, BarColumn + +log = logging.getLogger(__name__) + + +class DataloaderValidator: + + def __init__(self, path='.'): + self.path: str = path + self.content: dict = {} + self.passed: dict = {} + self.warned: dict = {} + self.failed: dict = {} + self.validation_functions: list = [ + '_validate_required_attributes', + ] + + def validate(self) -> None: + """ + Statically verifies a yaml dataloader file against a predefined set of rules. + Every rule is a function defined in this class, which must be part of this class' linting_functions. + """ + with open(self.path) as yaml_file: + self.content = yaml.load(yaml_file, Loader=yaml.FullLoader) + + progress = Progress("[bold green]{task.description}", BarColumn(bar_width=None), + "[bold yellow]{task.completed} of {task.total}[reset] [bold green]{task.fields[func_name]}") + with progress: + lint_progress = progress.add_task("Running lint checks", + total=len(self.validation_functions), + func_name=self.validation_functions) + for fun_name in self.validation_functions: + progress.update(lint_progress, advance=1, func_name=fun_name) + getattr(self, fun_name)() + + self._print_results() + + def _validate_required_attributes(self): + """ + Verifies that all required attributes for every dataloader are present. + """ + passed_required_attributes = True + + attributes = ['dataset_structure:sample_fns', + 'dataset_wise:author', + 'dataset_wise:doi', + 'dataset_wise:download_url_data', + 'dataset_wise:download_url_meta', + 'dataset_wise:normalization', + 'dataset_wise:year', + 'dataset_or_observation_wise:assay', + 'dataset_or_observation_wise:organ', + 'dataset_or_observation_wise:organism'] + + flattened_dict = flatten(self.content, reducer=make_reducer(delimiter=':')) + for attribute in attributes: + try: + detected = False + for key in flattened_dict.keys(): + if key.startswith(attribute): + detected = True + if not detected: + passed_required_attributes = False + self.failed['-1'] = f'Missing attribute: {attribute}' + except KeyError: + passed_required_attributes = False + self.failed['-1'] = f'Missing attribute: {attribute}' + + if passed_required_attributes: + self.passed[0] = 'Passed required dataloader attributes checks.' + + def _print_results(self): + console = rich.console.Console() + console.print() + console.rule("[bold green] LINT RESULTS") + console.print() + console.print( + f' [bold green][[\u2714]] {len(self.passed):>4} tests passed\n [bold yellow][[!]] {len(self.warned):>4} tests had warnings\n' + f' [bold red][[\u2717]] {len(self.failed):>4} tests failed', + overflow="ellipsis", + highlight=False, + ) + + def format_result(linting_results: dict, color): + results = [] + for line, result in linting_results.items(): + results.append(f'[bold {color}]Result: {result}') + return "\n".join(results) + + if len(self.passed) > 0: + console.print() + console.rule("[bold green][[\u2714]] Tests Passed", style='green') + console.print(Panel(format_result(self.passed, 'green'), style='green'), no_wrap=False, overflow='ellipsis') + if len(self.warned) > 0: + console.print() + console.rule("[bold yellow][[!]] Test Warnings", style='yellow') + console.print(Panel(format_result(self.warned, 'yellow'), style="yellow"), no_wrap=False, overflow='ellipsis') + if len(self.failed) > 0: + console.print() + console.rule("[bold red][[\u2717]] Test Failures", style='red') + console.print(Panel(format_result(self.failed, 'red'), style='red'), no_wrap=False, overflow='ellipsis') diff --git a/sfaira/consts/__init__.py b/sfaira/consts/__init__.py new file mode 100644 index 000000000..c48140cbe --- /dev/null +++ b/sfaira/consts/__init__.py @@ -0,0 +1,5 @@ +from sfaira.consts.adata_fields import AdataIds, AdataIdsSfaira, AdataIdsCellxgene +from sfaira.consts.meta_data_files import META_DATA_FIELDS +from sfaira.consts.ontologies import OntologyContainerSfaira + +OCS = OntologyContainerSfaira() diff --git a/sfaira/consts/adata_fields.py b/sfaira/consts/adata_fields.py new file mode 100644 index 000000000..041fe83e8 --- /dev/null +++ b/sfaira/consts/adata_fields.py @@ -0,0 +1,248 @@ +""" +The classes in this file are containers of field names and element entries that are used in streamlined adata objects +in sfaira and in associated data bases. +""" +from typing import List, Union + + +class AdataIds: + """ + Base class of constant field names of anndata.AnnData object entries, such as .uns keys and .obs columns. + """ + annotated: str + assay_sc: str + author: str + cell_types_original: str + cellontology_class: str + cellontology_id: str + development_stage: str + disease: str + doi: str + download_url_data: str + download_url_meta: str + dataset: str + dataset_group: str + ethnicity: str + gene_id_ensembl: str + gene_id_index: str + gene_id_symbols: str + id: str + individual: str + ncells: str + normalization: str + organ: str + organism: str + sample_source: str + sex: str + state_exact: str + tech_sample: str + year: str + + load_raw: str + mapped_features: str + remove_gene_version: str + + obs_keys: List[str] + var_keys: List[str] + uns_keys: List[str] + + classmap_source_key: str + classmap_target_key: str + classmap_target_id_key: str + + unknown_celltype_identifier: Union[str, None] + not_a_cell_celltype_identifier: Union[str, None] + unknown_metadata_identifier: Union[str, None] + + @property + def controlled_meta_keys(self): + return [getattr(self, k) for k in self.obs_keys + self.uns_keys] + + @property + def controlled_meta_fields(self): + return [k for k in self.obs_keys + self.uns_keys] + + +class AdataIdsSfaira(AdataIds): + """ + Class of constant field names of anndata.AnnData object entries, such as .uns keys and .obs columns in sfaira + dataloader objects. + """ + + assay_differentiation: str + assay_type_differentiation: str + bio_sample: str + cell_line: str + + def __init__(self): + self.annotated = "annotated" + self.assay_sc = "assay_sc" + self.assay_differentiation = "assay_differentiation" + self.assay_type_differentiation = "assay_type_differentiation" + self.author = "author" + self.bio_sample = "bio_sample" + self.cell_line = "cell_line" + self.cell_types_original = "cell_types_original" + self.cellontology_class = "cell_ontology_class" + self.cellontology_id = "cell_ontology_id" + self.default_embedding = "default_embedding" + self.disease = "disease" + self.doi = "doi" + self.dataset = "dataset" + self.dataset_group = "dataset_group" + self.download_url_data = "download_url_data" + self.download_url_meta = "download_url_meta" + self.gene_id_ensembl = "ensembl" + self.gene_id_index = self.gene_id_ensembl + self.gene_id_symbols = "names" + self.id = "id" + self.individual = "individual" + self.ncells = "ncells" + self.normalization = "normalization" + self.organ = "organ" + self.organism = "organism" + self.primary_data = "primary_data" + self.sample_source = "sample_source" + self.tech_sample = "tech_sample" + self.title = "title" + self.year = "year" + + self.development_stage = "development_stage" + self.ethnicity = "ethnicity" + self.sex = "sex" + self.state_exact = "state_exact" + + self.load_raw = "load_raw" + self.mapped_features = "mapped_features" + self.remove_gene_version = "remove_gene_version" + + self.classmap_source_key = "source" + self.classmap_target_key = "target" + self.classmap_target_id_key = "target_id" + + self.unknown_celltype_identifier = "UNKNOWN" + self.not_a_cell_celltype_identifier = "NOT_A_CELL" + self.unknown_metadata_identifier = "unknown" + + self.obs_keys = [ + "assay_sc", + "assay_differentiation", + "assay_type_differentiation", + "bio_sample", + "cell_line", + "cell_types_original", + "cellontology_class", + "cellontology_id", + "development_stage", + "disease", + "ethnicity", + "individual", + "organ", + "organism", + "sex", + "state_exact", + "sample_source", + "tech_sample", + ] + self.var_keys = [ + "gene_id_ensembl", + "gene_id_symbols", + ] + self.uns_keys = [ + "annotated", + "author", + "default_embedding", + "doi", + "download_url_data", + "download_url_meta", + "id", + "mapped_features", + "ncells", + "normalization", + "primary_data", + "title", + "year", + "load_raw", + "mapped_features", + "remove_gene_version", + ] + + +class AdataIdsCellxgene(AdataIds): + """ + Class of constant field names of anndata.AnnData object entries", such as .uns keys and .obs columns in cellxgene + objects. + """ + accepted_file_names: List[str] + + def __init__(self): + self.assay_sc = "assay" + self.cell_types_original = "free_annotation" # TODO "free_annotation" not always given + # TODO: -> This will break streamlining though if self.cell_types_original is the same value as self.cellontology_class!! + self.cellontology_class = "cell_type" + self.cellontology_id = "cell_type_ontology_term_id" + self.default_embedding = "default_embedding" + self.doi = "preprint_doi" + self.disease = "disease" + self.gene_id_symbols = "gene_symbol" + self.gene_id_index = self.gene_id_symbols + self.id = "id" + self.ncells = "ncells" + self.organ = "tissue" + self.organism = "organism" + self.title = "title" + self.year = "year" + + self.author = "contributors" + self.development_stage = "development_stage" + self.ethnicity = "ethnicity" + self.sex = "sex" + self.state_exact = "disease" + self.tech_sample = "batch" + + # selected element entries used for parsing: + self.author_names = "names" + + self.unknown_celltype_identifier = None + self.not_a_cell_celltype_identifier = self.unknown_celltype_identifier + self.unknown_metadata_identifier = "unknown" + self.invalid_metadata_identifier = "na" + self.unknown_metadata_ontology_id_identifier = "" + + # accepted file names + self.accepted_file_names = [ + "krasnow_lab_human_lung_cell_atlas_smartseq2-2-remixed.h5ad", + ] + + self.obs_keys = [ + "assay_sc", + "cell_types_original", + "cellontology_class", + "cellontology_id", + "development_stage", + "disease", + "ethnicity", + "organ", + "organism", + "sex", + "tech_sample", + ] + self.var_keys = [ + "gene_id_symbols", + ] + self.uns_keys = [ + "default_embedding", + "id", + "title", + ] + # These attributes related to obs and uns keys above are also in the data set attributes that can be + # inquired before download via the REST API: + self.dataset_keys = [ + "assay_sc", + "development_stage", + "disease", + "ethnicity", + "organ", + "organism", + "sex", + ] diff --git a/sfaira/consts/meta_data_files.py b/sfaira/consts/meta_data_files.py new file mode 100644 index 000000000..cfc06b7e2 --- /dev/null +++ b/sfaira/consts/meta_data_files.py @@ -0,0 +1,29 @@ +""" +The classes contains constants related to sfaira streamlined meta data files. +""" + +META_DATA_FIELDS = { + "annotated": bool, + "author": str, + "assay_sc": str, + "assay_differentiation": str, + "assay_type_differentiation": str, + "bio_sample": str, + "cell_line": str, + "cellontology_class": str, + "cellontology_id": str, + "development_stage": str, + "disease": str, + "doi": str, + "download_url_data": str, + "download_url_meta": str, + "id": str, + "ncells": int, + "normalization": str, + "organ": str, + "organism": str, + "sample_source": str, + "state_exact": str, + "tech_sample": str, + "year": int, +} diff --git a/sfaira/consts/ontologies.py b/sfaira/consts/ontologies.py new file mode 100644 index 000000000..8f18526ce --- /dev/null +++ b/sfaira/consts/ontologies.py @@ -0,0 +1,51 @@ +from sfaira.versions.metadata import OntologyList, OntologyCl +from sfaira.versions.metadata import OntologyCellosaurus, OntologyHsapdv, OntologyMondo, \ + OntologyMmusdv, OntologySinglecellLibraryConstruction, OntologyUberon + + +class OntologyContainerSfaira: + + _cellontology_class: OntologyCl + + def __init__(self): + self.annotated = OntologyList(terms=[True, False]) + self.author = None + self.assay_differentiation = None + self.assay_sc = OntologySinglecellLibraryConstruction() + self.assay_type_differentiation = OntologyList(terms=["guided", "unguided"]) + self.bio_sample = None + self.cell_line = OntologyCellosaurus() + self.cellontology_class = "v2021-02-01" + self.cell_types_original = None + self.collection_id = None + self.default_embedding = None + self.development_stage = { + "human": OntologyHsapdv(), + "mouse": OntologyMmusdv(), + } + self.disease = OntologyMondo() + self.doi = None + self.ethnicity = { + "human": None, # TODO OntologyHancestro + "mouse": None, + } + self.id = None + self.individual = None + self.normalization = None + self.organ = OntologyUberon() + self.organism = OntologyList(terms=["mouse", "human"]) # TODO introduce NCBItaxon here + self.primary_data = OntologyList(terms=[True, False]) + self.sample_source = OntologyList(terms=["primary_tissue", "2d_culture", "3d_culture", "tumor"]) + self.sex = OntologyList(terms=["female", "male", "mixed", "unknown", "other"]) + self.supplier = OntologyList(terms=["cellxgene", "sfaira"]) + self.tech_sample = None + self.title = None + self.year = OntologyList(terms=list(range(2000, 3000))) + + @property + def cellontology_class(self): + return self._cellontology_class + + @cellontology_class.setter + def cellontology_class(self, x: str): + self._cellontology_class = OntologyCl(branch=x) diff --git a/sfaira/data/__init__.py b/sfaira/data/__init__.py index 896eb5de2..11e56506e 100644 --- a/sfaira/data/__init__.py +++ b/sfaira/data/__init__.py @@ -1,4 +1,7 @@ -from .base import DatasetBase, DatasetGroupBase, DatasetSuperGroup -from . import mouse -from . import human +from sfaira.data.base import clean_string, DatasetBase, \ + DatasetGroup, DatasetGroupDirectoryOriented, \ + DatasetSuperGroup, load_store, DistributedStoreBase, DistributedStoreH5ad, DistributedStoreDao +from . import dataloaders +from .dataloaders import Universe from .interactive import DatasetInteractive +from . import utils diff --git a/sfaira/data/base.py b/sfaira/data/base.py deleted file mode 100644 index 9ddf8bfd1..000000000 --- a/sfaira/data/base.py +++ /dev/null @@ -1,876 +0,0 @@ -import abc -import anndata -import h5py -import numpy as np -import pandas as pd -import os -from os import PathLike -import pandas -import scipy.sparse -from typing import Dict, List, Union -import warnings - -from .external import SuperGenomeContainer - - -class DatasetBase(abc.ABC): - - adata: Union[None, anndata.AnnData] - class_maps: dict - meta: Union[None, pandas.DataFrame] - download_website: Union[None, str] - download_website_meta: Union[None, str] - path: Union[None, str] - id: Union[None, str] - download_website: Union[None, str] - organ: Union[None, str] - sub_tissue: Union[None, str] - has_celltypes: Union[None, bool] - species: Union[None, str] - genome: Union[None, str] - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - self.species = None - self.adata = None - self.download_website_meta = None - self.id = None - self.download_website = None - self.organ = None - self.sub_tissue = None - self.has_celltypes = None - self.meta = None - self.genome = None - self.path = path - self.meta_path = meta_path - self._load_raw = None - - - @abc.abstractmethod - def _load(self, fn): - pass - - def load( - self, - celltype_version: Union[str, None] = None, - fn: Union[str, None] = None, - remove_gene_version: bool = True, - match_to_reference: Union[str, None] = None, - load_raw: bool = False - ): - """ - - :param celltype_version: Version of cell type ontology to use. Uses most recent if None. - :param fn: Optional target file name, otherwise infers from defined directory structure. - :param remove_gene_version: Remove gene version string from ENSEMBL ID so that different versions in different - data sets are superimposed. - :param match_to_reference: Reference genomes name. - :param load_raw: Loads unprocessed version of data if available in data loader. - :return: - """ - - self._load_raw = load_raw - - if match_to_reference and not remove_gene_version: - warnings.warn("it is not recommended to enable matching the feature space to a genomes reference" - "while not removing gene versions. this can lead to very poor matching performance") - - # set default genomes if none provided - if match_to_reference: - genome = match_to_reference - self._set_genome(genome=genome) - elif self.species == "human": - genome = "Homo_sapiens_GRCh38_97" - warnings.warn(f"using default genomes {genome}") - self._set_genome(genome=genome) - elif self.species == "mouse": - genome = "Mus_musculus_GRCm38_97" - warnings.warn(f"using default genomes {genome}") - self._set_genome(genome=genome) - - self._load(fn=fn) - - if 'cell_ontology_id' not in self.adata.obs.columns: - self.adata.obs["cell_ontology_id"] = None - - # Map cell type names from raw IDs to ontology maintained ones: - if "cell_ontology_class" in self.adata.obs.columns: - self.adata.obs["cell_ontology_class"] = self.map_ontology_class( - raw_ids=self.adata.obs["cell_ontology_class"].values, - celltype_version=celltype_version - ) - - # Remove version tag on ensembl gene ID so that different versions are superimposed downstream: - if remove_gene_version: - new_index = [x.split(".")[0] for x in self.adata.var_names.tolist()] - # Collapse if necessary: - new_index_collapsed = list(np.unique(new_index)) - if len(new_index_collapsed) < self.adata.n_vars: - raise ValueError("duplicate features detected after removing gene versions." - "the code to collapse these features is implemented but not tested.") - idx_map = np.array([new_index_collapsed.index(x) for x in new_index]) - # Need reverse sorting to find index of last element in sorted list to split array using list index(). - idx_map_sorted_rev = np.argsort(idx_map)[::-1] - n_genes = len(idx_map_sorted_rev) - # 1. Sort array in non-reversed order: idx_map_sorted_rev[::-1] - # 2. Split into chunks based on blocks of identical entries in idx_map, using the occurrence of the - # last element of each block as block boundaries: - # n_genes - 1 - idx_map_sorted_rev.index(x) - # Note that the blocks are named as positive integers starting at 1, without gaps. - counts = np.concatenate([ - np.sum(x, axis=1, keepdims=True) - for x in np.split( - self.adata[:, idx_map_sorted_rev[::-1]].X, # forward ordered data - indices_or_sections=[ - n_genes - 1 - idx_map_sorted_rev.index(x) # last occurrence of element in forward order - for x in np.arange(0, len(new_index_collapsed)-1) # -1: do not need end of last partition - ], - axis=1 - ) - ][::-1], axis=1) - # Remove varm and populate var with first occurrence only: - obs_names = self.adata.obs_names - self.adata = anndata.AnnData( - X=counts, - obs=self.adata.obs, - obsm=self.adata.obsm, - var=self.adata.var.iloc[[new_index.index(x) for x in new_index_collapsed]], - uns=self.adata.uns - ) - self.adata.obs_names = obs_names - self.adata.var_names = new_index_collapsed - new_index = new_index_collapsed - self.adata.var["ensembl"] = new_index - self.adata.var.index = self.adata.var['ensembl'].values - - # Match feature space to a genomes provided with sfaira - if match_to_reference: - # Convert data matrix to csc matrix - if isinstance(self.adata.X, np.ndarray): - # Change NaN to zero. This occurs for example in concatenation of anndata instances. - if np.any(np.isnan(self.adata.X)): - self.adata.X[np.isnan(self.adata.X)] = 0 - x = scipy.sparse.csc_matrix(self.adata.X) - elif isinstance(self.adata.X, scipy.sparse.spmatrix): - x = self.adata.X.tocsc() - else: - raise ValueError(f"Data type {type(self.adata.X)} not recognized.") - - # Compute indices of genes to keep - data_ids = self.adata.var["ensembl"].values - idx_feature_kept = np.where([x in self.genome_container.ensembl for x in data_ids])[0] - idx_feature_map = np.array([self.genome_container.ensembl.index(x) - for x in data_ids[idx_feature_kept]]) - # Remove unmapped genes - x = x[:, idx_feature_kept] - - # Create reordered feature matrix based on reference and convert to csr - x_new = scipy.sparse.csc_matrix((x.shape[0], self.genome_container.ngenes), dtype=x.dtype) - # copying this over to the new matrix in chunks of size `steps` prevents a strange scipy error: - # ... scipy/sparse/compressed.py", line 922, in _zero_many i, j, offsets) - # ValueError: could not convert integer scalar - step = 2000 - if step < len(idx_feature_map): - for i in range(0, len(idx_feature_map), step): - x_new[:, idx_feature_map[i:i + step]] = x[:, i:i + step] - x_new[:, idx_feature_map[i + step:]] = x[:, i + step:] - else: - x_new[:, idx_feature_map] = x - - x_new = x_new.tocsr() - - self.adata = anndata.AnnData( - X=x_new, - obs=self.adata.obs, - obsm=self.adata.obsm, - var=pd.DataFrame(data={'names': self.genome_container.names, - 'ensembl': self.genome_container.ensembl}, - index=self.genome_container.ensembl), - uns=self.adata.uns - ) - - self.adata.uns['mapped_features'] = match_to_reference - - def _convert_and_set_var_names(self, symbol_col: str = None, ensembl_col: str = None, new_index: str = 'ensembl'): - - if symbol_col and ensembl_col: - if symbol_col == 'index': - self.adata.var.index.name = 'index' - self.adata.var = self.adata.var.reset_index().rename({'index': 'names'}, axis='columns') - else: - self.adata.var = self.adata.var.rename({symbol_col: 'names'}, axis='columns') - - if ensembl_col == 'index': - self.adata.var.index.name = 'index' - self.adata.var = self.adata.var.reset_index().rename({'index': 'ensembl'}, axis='columns') - else: - self.adata.var = self.adata.var.rename({ensembl_col: 'ensembl'}, axis='columns') - - elif symbol_col: - id_dict = self.genome_container.names_to_id_dict - id_strip_dict = self.genome_container.strippednames_to_id_dict - if symbol_col == 'index': - self.adata.var.index.name = 'index' - self.adata.var = self.adata.var.reset_index().rename({'index': 'names'}, axis='columns') - else: - self.adata.var = self.adata.var.rename({symbol_col: 'names'}, axis='columns') - - # Matching gene names to ensembl ids in the following way: if the gene is present in the ensembl dictionary, - # match it straight away, if it is not in there we try to match everything in front of the first period in - # the gene name with a dictionary that was modified in the same way, if there is still no match we append na - ensids = [] - for n in self.adata.var["names"]: - if n in id_dict.keys(): - ensids.append(id_dict[n]) - elif n.split(".")[0] in id_strip_dict.keys(): - ensids.append(id_strip_dict[n.split(".")[0]]) - else: - ensids.append('n/a') - self.adata.var['ensembl'] = ensids - - elif ensembl_col: - id_dict = self.genome_container.id_to_names_dict - if ensembl_col == 'index': - self.adata.var.index.name = 'index' - self.adata.var = self.adata.var.reset_index().rename({'index': 'ensembl'}, axis='columns') - else: - self.adata.var = self.adata.var.rename({ensembl_col: 'ensembl'}, axis='columns') - - self.adata.var['names'] = [id_dict[n.split(".")[0]] if n.split(".")[0] in id_dict.keys() else 'n/a' - for n in self.adata.var['ensembl']] - - else: - raise ValueError('Please provide the name of at least the name of the var column containing ensembl ids or' - 'the name of the var column containing gene symbols') - - self.adata.var.index = self.adata.var[new_index].tolist() - self.adata.var_names_make_unique() - - def subset_organs(self, subset: Union[None, List]): - if self.organ == "mixed": - self.organsubset = subset - else: - raise ValueError("Only data that contain multiple organs can be subset.") - if self.adata is not None: - warnings.warn("You are trying to subset organs after loading the dataset." - "This will have no effect unless the dataset is loaded again.") - - def load_tobacked(self, adata_backed: anndata.AnnData, genome: str, idx: np.ndarray, fn: Union[None, str] = None, - celltype_version: Union[str, None] = None): - """ - Loads data set into slice of backed anndata object. - - Note: scatter updates to backed sparse arrays are not yet supported by anndata. Accordingly, we need to work - around below using .append() of the backed matrix. - - :param adata_backed: - :param genome: Genome name to use as refernce. - :param idx: Indices in adata_backed to write observations to. This can be used to immediately create a - shuffled object. - :param keys: - :param fn: - :param celltype_version: Version of cell type ontology to use. Uses most recent if None. - :return: New row index for next element to be written into backed anndata. - """ - self.load( - fn=fn, - celltype_version=celltype_version, - remove_gene_version=True, - match_to_reference=genome - ) - # Check if writing to sparse or dense matrix: - if isinstance(adata_backed.X, np.ndarray) or \ - isinstance(adata_backed.X, h5py._hl.dataset.Dataset): # backed dense - if isinstance(self.adata.X, scipy.sparse.csr_matrix) or \ - isinstance(self.adata.X, scipy.sparse.csc_matrix) or \ - isinstance(self.adata.X, scipy.sparse.lil_matrix): - # map to dense array - x_new = self.adata.X.toarray() - else: - x_new = self.adata.X - - adata_backed.X[np.sort(idx), :] = x_new[np.argsort(idx), :] - for k in adata_backed.obs.columns: - if k == "dataset": - adata_backed.obs.loc[np.sort(idx), "dataset"] = [self.id for i in range(len(idx))] - elif k in self.adata.obs.columns: - adata_backed.obs.loc[np.sort(idx), k] = self.adata.obs[k].values[np.argsort(idx)] - elif k in list(self.adata.uns.keys()): - adata_backed.obs.loc[np.sort(idx), k] = [self.adata.uns[k] for i in range(len(idx))] - else: - # Need to fill this instead of throwing an exception as this condition can trigger for one element - # within a loop over multiple data sets (ie in data set groups). - adata_backed.obs.loc[idx, k] = ["key_not_found" for i in range(len(idx))] - elif isinstance(adata_backed.X, anndata._core.sparse_dataset.SparseDataset): # backed sparse - # cannot scatter update on backed sparse yet! assert that updated block is meant to be appended: - assert np.all(idx == np.arange(adata_backed.shape[0], adata_backed.shape[0] + len(idx))) - if not isinstance(self.adata.X, scipy.sparse.csr_matrix): - x_new = self.adata.X.tocsr() - else: - x_new = self.adata.X - adata_backed.X.append(x_new[np.argsort(idx)]) - adata_backed._n_obs = adata_backed.X.shape[0] # not automatically updated after append - adata_backed.obs = adata_backed.obs.append( # .obs was not broadcasted to the right shape! - pandas.DataFrame(dict([ - (k, [self.id for i in range(len(idx))]) if k == "dataset" - else (k, self.adata.obs[k].values[np.argsort(idx)]) if k in self.adata.obs.columns - else (k, [self.adata.uns[k] for i in range(len(idx))]) if k in list(self.adata.uns.keys()) - else (k, ["key_not_found" for i in range(len(idx))]) - for k in adata_backed.obs.columns - ])) - ) - else: - raise ValueError(f"Did not reccognize backed AnnData.X format {type(adata_backed.X)}") - - def set_unkown_class_id(self, ids: list): - """ - Sets list of custom identifiers of unknown cell types in adata.obs["cell_ontology_class"] to the target one. - - :param ids: IDs in adata.obs["cell_ontology_class"] to replace. - :return: - """ - target_id = "unknown" - ontology_classes = [ - x if x not in ids else target_id - for x in self.adata.obs["cell_ontology_class"].tolist() - ] - self.adata.obs["cell_ontology_class"] = ontology_classes - - def _set_genome(self, - genome: str - ): - - if genome.lower().startswith("homo_sapiens"): - g = SuperGenomeContainer( - species="human", - genome=genome - ) - elif genome.lower().startswith("mus_musculus"): - g = SuperGenomeContainer( - species="mouse", - genome=genome - ) - else: - raise ValueError(f"Genome {genome} not recognised. Needs to start with 'Mus_Musculus' or 'Homo_Sapiens'.") - - self.genome_container = g - - @property - def doi_cleaned_id(self): - return "_".join(self.id.split("_")[:-1]) - - def load_meta(self, fn: Union[PathLike, str, None]): - if fn is None: - if self.meta_path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.meta_path, self.doi_cleaned_id + "_meta.csv") - else: - if isinstance(fn, str): - fn = os.path.normpath(fn) - self.meta = pandas.read_csv(fn) - - @property - def ncells(self): - if self.meta is None: - self.load_meta(fn=None) - return int(self.meta["ncells"]) - - def write_meta( - self, - fn_meta: Union[None, str] = None, - fn_data: Union[None, str] = None, - dir_out: Union[None, str] = None, - ): - if fn_meta is None: - if self.path is None and dir_out is None: - raise ValueError("provide either fn in load or path in constructor") - if dir_out is None: - dir_out = self.meta_path - fn_meta = os.path.join(dir_out, self.doi_cleaned_id + "_meta.csv") - if self.adata is None: - self.load(fn=fn_data, remove_gene_version=False, match_to_reference=None) - meta = pandas.DataFrame({ - "ncells": self.adata.n_obs, - "animal": self.adata.uns["animal"], - "organ": self.adata.uns["organ"], - "subtissue": self.adata.uns["subtissue"], - "id": self.adata.uns["id"], - "lab": self.adata.uns["lab"], - "year": self.adata.uns["year"], - "protocol": self.adata.uns["protocol"], - "counts": self.adata.uns["counts"] if 'counts' in self.adata.uns.keys() else None, - "has_celltypes": self.has_celltypes - }, index=range(1)) - meta.to_csv(fn_meta) - - @property - def available_type_versions(self): - return np.array(list(self.class_maps.keys())) - - def set_default_type_version(self): - """ - Choose most recent version. - - :return: Version key corresponding to most recent version. - """ - return self.available_type_versions[np.argmax([int(x) for x in self.available_type_versions])] - - def assert_celltype_version_key( - self, - celltype_version - ): - if celltype_version not in self.available_type_versions: - raise ValueError( - "required celltype version %s not found. available are: %s" % - (celltype_version, str(self.available_type_versions)) - ) - - def map_ontology_class( - self, - raw_ids, - celltype_version - ): - """ - - :param raw_ids: - :param class_maps: - :param celltype_version: Version of cell type ontology to use. Uses most recent if None. - :return: - """ - if celltype_version is None: - celltype_version = self.set_default_type_version() - self.assert_celltype_version_key(celltype_version=celltype_version) - return [ - self.class_maps[celltype_version][x] if x in self.class_maps[celltype_version].keys() else x - for x in raw_ids - ] - - -class DatasetGroupBase(abc.ABC): - """ - - Example: - - #query human lung - #from sfaira.dev.data.human.lung import DatasetGroupLung as DatasetGroup - #dsg_humanlung = DatasetGroupHuman(path='path/to/data') - #dsg_humanlung.load_all(match_to_reference='Homo_sapiens_GRCh38_97') - #dsg_humanlung[some_id] - #dsg_humanlung.adata - """ - datasets: Dict - - - def subset_organs(self, subset: Union[None, List]): - for i in self.ids: - if self.datasets[i].organ == "mixed": - self.datasets[i].subset_organs(subset) - else: - raise ValueError("Only data that contain multiple organs can be subset.") - - def load_all( - self, - celltype_version: Union[str, None] = None, - annotated_only: bool = False, - remove_gene_version: bool = True, - match_to_reference: Union[str, None] = None, - load_raw: bool = False - ): - """ - - :param celltype_version: Version of cell type ontology to use. Uses most recent if None. - :param annotated_only: - :param remove_gene_version: - :param match_to_reference: - :param load_raw: Loads unprocessed version of data if available in data loader. - :return: - """ - for i in self.ids: - if self.datasets[i].has_celltypes or not annotated_only: - self.datasets[i].load( - celltype_version=self.format_type_version(celltype_version), - remove_gene_version=remove_gene_version, - match_to_reference=match_to_reference, - load_raw=load_raw - ) - - def load_all_tobacked(self, adata_backed: anndata.AnnData, genome: str, idx: List[np.ndarray], - annotated_only: bool = False, celltype_version: Union[str, None] = None): - """ - Loads data set group into slice of backed anndata object. - - :param adata_backed: - :param genome: Genome container target genomes loaded. - :param idx: Indices in adata_backed to write observations to. This can be used to immediately create a - shuffled object. This has to be a list of the length of self.data, one index array for each dataset. - :param keys: - :param annotated_only: - :param celltype_version: Version of cell type ontology to use. Uses most recent if None. - :return: New row index for next element to be written into backed anndata. - """ - i = 0 - for ident in self.ids: - # if this is for celltype prediction, only load the data with have celltype annotation - if self.datasets[ident].has_celltypes or not annotated_only: - self.datasets[ident].load_tobacked(adata_backed=adata_backed, genome=genome, idx=idx[i], - celltype_version=self.format_type_version(celltype_version)) - i += 1 - - @property - def ids(self): - return list(self.datasets.keys()) - - @property - def adata_ls(self): - adata_ls = [] - for i in self.ids: - if self.datasets[i] is not None: - if self.datasets[i].adata is not None: - adata_ls.append(self.datasets[i].adata) - return adata_ls - - @property - def adata(self): - if not self.adata_ls: - return None - adata_ls = self.adata_ls - # Save uns attributes that are fixed for entire data set to .obs to retain during concatenation: - for adata in adata_ls: - adata.obs["lab"] = adata.uns["lab"] - adata.obs["year"] = adata.uns["year"] - adata.obs["protocol"] = adata.uns["protocol"] - adata.obs["subtissue"] = adata.uns["subtissue"] - if "counts" in adata.uns.keys(): - adata.obs["counts"] = adata.uns["counts"] - if "dev_stage" in adata.obs.columns: - adata.obs["dev_stage"] = adata.uns["dev_stage"] - adata.obs["has_celltypes"] = adata.uns["has_celltypes"] - # Workaround related to anndata bugs: # TODO remove this in future. - for adata in adata_ls: - # Fix 1: - if adata.raw is not None: - adata.raw._varm = None - # Fix 2: - if adata.uns is not None: - keys_to_keep = [ - 'neighbors', - "lab", - "year", - "protocol", - "subtissue", - "counts", - "dev_stage", - "has_celltypes", - "mapped_features" - ] - for k in list(adata.uns.keys()): - if k not in keys_to_keep: - del adata.uns[k] - # Fix 3: - if not isinstance(adata.X, scipy.sparse.csr_matrix): - adata.X = scipy.sparse.csr_matrix(adata.X) - # .var entries are renamed and copied upon concatenation. - # To preserve gene names in .var, the target gene names are copied into var_names and are then copied - # back into .var. - for adata in adata_ls: - adata.var.index = adata.var["ensembl"].tolist() - if len(adata_ls) > 1: - # TODO: need to keep this? -> yes, still catching errors here (March 2020) - # Fix for loading bug: sometime concatenating sparse matrices fails the first time but works on second try. - try: - adata_concat = adata_ls[0].concatenate( - *adata_ls[1:], - join="outer", - batch_key='dataset', - batch_categories=[i for i in self.ids if self.datasets[i].adata is not None] - ) - except ValueError: - adata_concat = adata_ls[0].concatenate( - *adata_ls[1:], - join="outer", - batch_key='dataset', - batch_categories=[i for i in self.ids if self.datasets[i].adata is not None] - ) - - adata_concat.var["ensembl"] = adata_concat.var.index - - if len(set([a.uns['mapped_features'] for a in adata_ls])) == 1: - adata_concat.uns['mapped_features'] = adata_ls[0].uns['mapped_features'] - else: - adata_concat.uns['mapped_features'] = False - else: - adata_concat = adata_ls[0] - adata_concat.obs['dataset'] = self.ids[0] - - adata_concat.var_names_make_unique() - return adata_concat - - def obs_concat(self, keys: Union[list, None] = None): - """ - Returns concatenation of all .obs. - - Uses union of all keys if keys is not provided. - - :param keys: - :return: - """ - if keys is None: - keys = np.unique(np.concatenate([list(x.obs.columns) for x in self.adata_ls])) - obs_concat = pandas.concat([pandas.DataFrame(dict( - [ - (k, self.datasets[x].adata.obs[k]) if k in self.datasets[x].adata.obs.columns - else (k, ["nan" for i in range(self.datasets[x].adata.obs.shape[0])]) - for k in keys - ] + [("dataset", [x for i in range(self.datasets[x].adata.obs.shape[0])])] - )) for x in self.ids if self.datasets[x].adata is not None]) - return obs_concat - - def ncells(self, annotated_only: bool = False): - cells = [] - for ident in self.ids: - # if this is for celltype prediction, only load the data with have celltype annotation - if self.datasets[ident].has_celltypes or not annotated_only: - cells.append(self.datasets[ident].ncells) - return sum(cells) - - def ncells_bydataset(self, annotated_only: bool = False): - cells = [] - for ident in self.ids: - # if this is for celltype prediction, only load the data with have celltype annotation - if self.datasets[ident].has_celltypes or not annotated_only: - cells.append(self.datasets[ident].ncells) - return cells - - def assert_celltype_version_key( - self, - celltype_version - ): - """ - Assert that version key exists in each data set. - :param celltype_version: - :return: - """ - for x in self.ids: - if celltype_version not in self.datasets[x].available_type_versions: - raise ValueError( - "required celltype version %s not found in data set %s. available are: %s" % - (celltype_version, x, str(self.datasets[x].available_type_versions)) - ) - - def format_type_version(self, version): - """ - Choose most recent version available in each dataset if None, otherwise return input version after checking. - - :return: Version key corresponding to default version. - """ - if version is None: - versions = set(self.datasets[self.ids[0]].available_type_versions) - for x in self.ids[1:]: - versions = versions.intersection(set(self.datasets[x].available_type_versions)) - versions = np.array(list(versions)) - return versions[np.argmax([int(x) for x in versions])] - else: - self.assert_celltype_version_key() - return version - - -class DatasetSuperGroup: - """ - Container for multiple DatasetGroup instances. - - Can be used to grid_searches models across organs. Supports backed anndata objects. - """ - adata: Union[None, anndata.AnnData] - fn_backed: Union[None, PathLike] - dataset_groups: List[DatasetGroupBase] - - def __init__(self, dataset_groups: Union[None, List[DatasetGroupBase]]): - self.adata = None - self.fn_backed = None - self.set_dataset_groups(dataset_groups=dataset_groups) - - def get_gc( - self, - genome: str = None - ): - if genome.lower().startswith("homo_sapiens"): - g = SuperGenomeContainer( - species="human", - genome=genome - ) - elif genome.lower().startswith("mus_musculus"): - g = SuperGenomeContainer( - species="mouse", - genome=genome - ) - else: - raise ValueError(f"Genome {genome} not recognised. Needs to start with 'Mus_Musculus' or 'Homo_Sapiens'.") - return g - - def ncells(self, annotated_only: bool = False): - return sum([x.ncells(annotated_only=annotated_only) for x in self.dataset_groups]) - - def ncells_bydataset(self, annotated_only: bool = False): - """ - List of list of length of all data sets by data set group. - :return: - """ - return [x.ncells_bydataset(annotated_only=annotated_only) for x in self.dataset_groups] - - def ncells_bydataset_flat(self, annotated_only: bool = False): - """ - Flattened list of length of all data sets. - :return: - """ - return [xx for x in self.dataset_groups for xx in x.ncells_bydataset(annotated_only=annotated_only)] - - def set_dataset_groups(self, dataset_groups: List[DatasetGroupBase]): - self.dataset_groups = dataset_groups - - def subset_organs(self, subset: Union[None, List]): - for x in self.dataset_groups: - if x.datasets[0].organ == "mixed": - x.subset_organs(subset) - - def load_all( - self, - celltype_version: Union[str, None] = None, - match_to_reference: Union[str, None] = None, - remove_gene_version: bool = True, - annotated_only: bool = False, - load_raw: bool = False - ): - """ - Loads data set groups into anndata object. - - :param celltype_version: Version of cell type ontology to use. - Uses most recent within each DatasetGroup if None. - """ - for x in self.dataset_groups: - x.load_all( - annotated_only=annotated_only, - remove_gene_version=remove_gene_version, - match_to_reference=match_to_reference, - celltype_version=celltype_version, - load_raw=load_raw - ) - # making sure that concatenate is not used on a None adata object resulting from organ filtering - for i in range(len(self.dataset_groups)): - if self.dataset_groups[i].adata is not None: - break - self.adata = self.dataset_groups[i].adata.concatenate( - *[x.adata for x in self.dataset_groups[1:] if x is not None], - join="outer", - batch_key='dataset_group' - ) - - def load_all_tobacked( - self, - fn_backed: PathLike, - genome: str, - shuffled: bool = False, - as_dense: bool = False, - annotated_only: bool = False, - celltype_version: Union[str, None] = None, - ): - """ - Loads data set groups into backed anndata object. - - Example usage: - - ds = DatasetSuperGroup([...]) - ds.load_all_tobacked( - fn_backed="...", - target_genome="...", - annotated_only=False - ) - adata_backed = anndata.read(ds.fn_backed, backed='r') - adata_slice = ad_full[idx] - - :param fn_backed: File name to save backed anndata to temporarily. - :param genome: ID of target genomes. - :param shuffled: Whether to shuffle data when writing to backed. - :param as_dense: - :param annotated_only: - :param celltype_version: Version of cell type ontology to use. Uses most recent if None. - """ - if shuffled and not as_dense: - raise ValueError("cannot write backed shuffled and sparse") - scatter_update = shuffled or as_dense - self.fn_backed = fn_backed - n_cells = self.ncells(annotated_only=annotated_only) - gc = self.get_gc(genome=genome) - n_genes = gc.ngenes - if scatter_update: - self.adata = anndata.AnnData( - scipy.sparse.csr_matrix((n_cells, n_genes), dtype=np.float32) - ) # creates an empty anndata object with correct dimensions that can be filled with cells from data sets - else: - self.adata = anndata.AnnData( - scipy.sparse.csr_matrix((0, n_genes), dtype=np.float32) - ) - self.adata.filename = fn_backed # setting this attribute switches this anndata to a backed object - # Note that setting .filename automatically redefines .X as dense, so we have to redefine it as sparse: - if not as_dense: - X = scipy.sparse.csr_matrix(self.adata.X) # redefines this backed anndata as sparse - X.indices = X.indices.astype(np.int64) - X.indptr = X.indptr.astype(np.int64) - self.adata.X = X - keys = [ - "lab", - "year", - "protocol", - "organ", - "subtissue", - "cell_ontology_class", - "state_exact", - "counts", - "dev_stage", - "has_celltypes", - "dataset" - ] - if scatter_update: - self.adata.obs = pandas.DataFrame({ - k: ["nan" for x in range(n_cells)] for k in keys - }) - else: - for k in keys: - self.adata.obs[k] = [] - # Define index vectors to write to: - idx_vector = np.arange(0, n_cells) - if shuffled: - np.random.shuffle(idx_vector) - idx_ls = [] - row = 0 - for x in self.ncells_bydataset(annotated_only=annotated_only): - temp_ls = [] - for y in x: - temp_ls.append(idx_vector[row:(row+y)]) - row += y - idx_ls.append(temp_ls) - print("checking expected and received data set sizes, rerun meta data generation if mismatch is found:") - print(self.ncells_bydataset(annotated_only=annotated_only)) - print([[len(x) for x in xx] for xx in idx_ls]) - for i, x in enumerate(self.dataset_groups): - x.load_all_tobacked(adata_backed=self.adata, genome=genome, idx=idx_ls[i], annotated_only=annotated_only, - celltype_version=celltype_version) - # If the sparse non-shuffled approach is used, make sure that self.adata.obs.index is unique() before saving - if not scatter_update: - self.adata.obs.index = pd.RangeIndex(0, len(self.adata.obs.index)) - # Explicitly write backed file to disk again to make sure that obs are included and that n_obs is set correctly - self.adata.write() - # Saving obs separately below is therefore no longer required (hence commented out) - #fn_backed_obs = ".".join(self.fn_backed.split(".")[:-1]) + "_obs.csv" - #self.adata.obs.to_csv(fn_backed_obs) - - def delete_backed(self): - del self.adata - self.adata = None - os.remove(str(self.fn_backed)) - - def load_cached_backed(self, fn: PathLike): - self.adata = anndata.read(fn, backed='r') diff --git a/sfaira/data/base/__init__.py b/sfaira/data/base/__init__.py new file mode 100644 index 000000000..e5c92edcd --- /dev/null +++ b/sfaira/data/base/__init__.py @@ -0,0 +1,4 @@ +from sfaira.data.base.dataset import DatasetBase, clean_string +from sfaira.data.base.dataset_group import DatasetGroup, DatasetGroupDirectoryOriented, DatasetSuperGroup +from sfaira.data.base.distributed_store import load_store, DistributedStoreBase, DistributedStoreH5ad, \ + DistributedStoreDao diff --git a/sfaira/data/base/dataset.py b/sfaira/data/base/dataset.py new file mode 100644 index 000000000..ef1236b8a --- /dev/null +++ b/sfaira/data/base/dataset.py @@ -0,0 +1,2293 @@ +from __future__ import annotations + +import abc +import anndata +from anndata.utils import make_index_unique +import h5py +import numpy as np +import pandas as pd +import os +from os import PathLike +import pandas +import scipy.sparse +from typing import Dict, List, Tuple, Union +import warnings +import urllib.request +import urllib.parse +import urllib.error +import cgi +import ssl + +from sfaira.versions.genomes import GenomeContainer +from sfaira.versions.metadata import Ontology, OntologyHierarchical, CelltypeUniverse +from sfaira.consts import AdataIds, AdataIdsCellxgene, AdataIdsSfaira, META_DATA_FIELDS, OCS +from sfaira.data.base.io_dao import write_dao +from sfaira.data.utils import collapse_matrix, read_yaml + +UNS_STRING_META_IN_OBS = "__obs__" + + +load_doc = \ + """ + :param remove_gene_version: Remove gene version string from ENSEMBL ID so that different versions in different data sets are superimposed. + :param match_to_reference: Reference genomes name or False to keep original feature space. + :param load_raw: Loads unprocessed version of data if available in data loader. + :param allow_caching: Whether to allow method to cache adata object for faster re-loading. + """ + + +def is_child( + query, + ontology: Union[Ontology, bool, int, float, str, List[bool], List[int], List[float], List[str]], + ontology_parent=None, +) -> True: + """ + Check whether value is from set of allowed values using ontology. + + :param query: Value to attempt to set, only yield a single value and not a list. + :param ontology: Constraint for values. + Either ontology instance used to constrain entries, or list of allowed values. + :param ontology_parent: If ontology is a DAG, not only check if node is a DAG node but also whether it is a child + of this parent node. + :return: Whether attempted term is sub-term of allowed term in ontology + """ + if ontology_parent is None and ontology is None: + return True + else: + if isinstance(ontology, Ontology): + if ontology_parent is None: + return ontology.is_node(query) + else: + return ontology.is_a(query=query, reference=ontology_parent) + elif ontology is None: + return query == ontology_parent + else: + raise ValueError(f"did not recognize ontology type {type(ontology)}") + + +def clean_string(s): + if s is not None: + s = s.replace(',', '').replace(' ', '').replace('-', '').replace('_', '').replace("'", '').lower() + return s + + +class DatasetBase(abc.ABC): + adata: Union[None, anndata.AnnData] + class_maps: dict + _meta: Union[None, pandas.DataFrame] + data_dir_base: Union[None, str] + meta_path: Union[None, str] + cache_path: Union[None, str] + id: Union[None, str] + genome: Union[None, str] + supplier: str + + _assay_sc: Union[None, str] + _assay_differentiation: Union[None, str] + _assay_type_differentiation: Union[None, str] + _author: Union[None, str] + _bio_sample: Union[None, str] + _cell_line: Union[None, str] + _default_embedding: Union[None, str] + _development_stage: Union[None, str] + _disease: Union[None, str] + _doi: Union[None, str] + _download_url_data: Union[Tuple[List[None]], Tuple[List[str]], None] + _download_url_meta: Union[Tuple[List[None]], Tuple[List[str]], None] + _ethnicity: Union[None, str] + _id: Union[None, str] + _individual: Union[None, str] + _ncells: Union[None, int] + _normalization: Union[None, str] + _organ: Union[None, str] + _organism: Union[None, str] + _primary_data: Union[None, bool] + _sex: Union[None, str] + _source: Union[None, str] + _sample_source: Union[None, str] + _state_exact: Union[None, str] + _title: Union[None, str] + _bio_sample: Union[None, str] + _year: Union[None, int] + + _assay_sc_obs_key: Union[None, str] + _assay_differentiation_obs_key: Union[None, str] + _assay_type_differentiation_obs_key: Union[None, str] + _assay_cell_line_obs_key: Union[None, str] + _cellontology_class_obs_key: Union[None, str] + _cellontology_id_obs_key: Union[None, str] + _cell_types_original_obs_key: Union[None, str] + _development_stage_obs_key: Union[None, str] + _disease_obs_key: Union[None, str] + _ethnicity_obs_key: Union[None, str] + _individual: Union[None, str] + _organ_obs_key: Union[None, str] + _organism_obs_key: Union[None, str] + _bio_sample_obs_key: Union[None, str] + _sample_source_obs_key: Union[None, str] + _sex_obs_key: Union[None, str] + _state_exact_obs_key: Union[None, str] + _tech_sample_obs_key: Union[None, str] + + _gene_id_symbols_var_key: Union[None, str] + _gene_id_ensembl_var_key: Union[None, str] + + _celltype_universe: Union[None, CelltypeUniverse] + _ontology_class_map: Union[None, dict] + + load_raw: Union[None, bool] + mapped_features: Union[None, str, bool] + remove_gene_version: Union[None, bool] + subset_gene_type: Union[None, str] + streamlined_meta: bool + + sample_fn: Union[None, str] + _sample_fns: Union[None, List[str]] + + _additional_annotation_key: Union[None, str] + + def __init__( + self, + data_path: Union[str, None] = None, + meta_path: Union[str, None] = None, + cache_path: Union[str, None] = None, + load_func=None, + dict_load_func_annotation=None, + yaml_path: Union[str, None] = None, + sample_fn: Union[str, None] = None, + sample_fns: Union[List[str], None] = None, + additional_annotation_key: Union[str, None] = None, + **kwargs + ): + """ + + :param data_path: + :param meta_path: + :param cache_path: + :param load_func: Function to load data from disk into memory. + + Signature: load(data_dir, sample_fn, **kwargs) + :param dict_load_func_annotation: Dictionary of functions to load additional observatino-wise annotation. The + functions in the values of the dictionary can be selected via self.additional_annotation_key which needs + to correspond to a key of the dictionary. + + Signature: Dict[str, load_annotation(data_dir, sample_fn, additional_annotation_key, **kwargs)] + :param yaml_path: + :param sample_fn: + :param sample_fns: + :param additional_annotation_key: Key used by dict_load_func_annotation to identify which additional annotation + is to be loaded. + :param kwargs: + """ + self._adata_ids = AdataIdsSfaira() + self.ontology_container_sfaira = OCS # Using a pre-instantiated version of this yields drastic speed-ups. + + self.adata = None + self.meta = None + self.genome = None + self.data_dir_base = data_path + self.meta_path = meta_path + self.cache_path = cache_path + + self._author = None + self._assay_sc = None + self._assay_differentiation = None + self._assay_type_differentiation = None + self._bio_sample = None + self._cell_line = None + self._default_embedding = None + self._development_stage = None + self._disease = None + self._doi = None + self._download_url_data = None + self._download_url_meta = None + self._ethnicity = None + self._id = None + self._individual = None + self._ncells = None + self._normalization = None + self._organ = None + self._organism = None + self._primary_data = None + self._sample_source = None + self._sex = None + self._source = None + self._state_exact = None + self._tech_sample = None + self._title = None + self._year = None + + self._assay_sc_obs_key = None + self._assay_differentiation_obs_key = None + self._assay_type_differentiation_obs_key = None + self._bio_sample_obs_key = None + self._cell_line_obs_key = None + self._cellontology_class_obs_key = None + self._cellontology_id_obs_key = None + self._cell_types_original_obs_key = None + self._development_stage_obs_key = None + self._disease_obs_key = None + self._ethnicity_obs_key = None + + self._individual_obs_key = None + self._organ_obs_key = None + self._organism_obs_key = None + self._sample_source_obs_key = None + self._sex_obs_key = None + self._state_exact_obs_key = None + self._tech_sample_obs_key = None + + self._gene_id_symbols_var_key = None + self._gene_id_ensembl_var_key = None + + self.class_maps = {"0": {}} + self._unknown_celltype_identifiers = self._adata_ids.unknown_celltype_identifier + + self._celltype_universe = None + self._ontology_class_map = None + + self.load_raw = None + self.mapped_features = None + self.remove_gene_version = None + self.subset_gene_type = None + self.streamlined_meta = False + + self.sample_fn = sample_fn + self._sample_fns = sample_fns + + # Check if YAML files exists, read meta data from there if available: + if yaml_path is not None: + assert os.path.exists(yaml_path), f"did not find yaml {yaml_path}" + yaml_vals = read_yaml(fn=yaml_path) + # Set organism first as this is required to disambiguate valid entries for other meta data. + k = "organism" + v = yaml_vals["attr"]["organism"] + setattr(self, k, v) + for k, v in yaml_vals["attr"].items(): + if v is not None and k not in ["organism", "sample_fns", "dataset_index"]: + if isinstance(v, dict): # v is a dictionary over file-wise meta-data items + assert self.sample_fn in v.keys(), f"did not find key {self.sample_fn} in yamls keys for {k}" + setattr(self, k, v[self.sample_fn]) + else: # v is a meta-data item + setattr(self, k, v) + # ID can be set now already because YAML was used as input instead of child class constructor. + self.set_dataset_id(idx=yaml_vals["meta"]["dataset_index"]) + + self.load_func = load_func + self.dict_load_func_annotation = dict_load_func_annotation + self._additional_annotation_key = additional_annotation_key + + self.supplier = "sfaira" + + @property + def _directory_formatted_id(self) -> str: + return "_".join("_".join(self.id.split("/")).split(".")) + + def clear(self): + """ + Remove loaded .adata to reduce memory footprint. + + :return: + """ + import gc + self.adata = None + gc.collect() + + def download(self, **kwargs): + assert self.download_url_data is not None, f"The `download_url_data` attribute of dataset {self.id} " \ + f"is not set, cannot download dataset." + assert self.data_dir_base is not None, "No path was provided when instantiating the dataset container, " \ + "cannot download datasets." + + if not os.path.exists(os.path.join(self.data_dir_base, self.directory_formatted_doi)): + os.makedirs(os.path.join(self.data_dir_base, self.directory_formatted_doi)) + + urls = self.download_url_data[0] + self.download_url_meta[0] + + for url in urls: + if url is None: + continue + # Special case for data that is not publically available + if url.split(",")[0] == 'private': + if "," in url: + fn = ','.join(url.split(',')[1:]) + if os.path.isfile(os.path.join(self.data_dir, fn)): + print(f"File {fn} already found on disk, skipping download.") + else: + warnings.warn(f"Dataset {self.id} is not available for automatic download, please manually " + f"copy the file {fn} to the following location: " + f"{self.data_dir}") + else: + warnings.warn(f"A file for dataset {self.id} is not available for automatic download, please" + f"manually copy the associated file to the following location: {self.data_dir}") + # Special case for data from the synapse portal + elif url.split(",")[0].startswith('syn'): + fn = ",".join(url.split(",")[1:]) + if os.path.isfile(os.path.join(self.data_dir, fn)): + print(f"File {fn} already found on disk, skipping download.") + else: + self._download_synapse(url.split(",")[0], fn, **kwargs) + # Special case for public data that is labelled as not automatically downloadable + elif url.split(",")[0] == 'manual': + u = ",".join(url.split(",")[2:]) + fn = url.split(",")[1] + if os.path.isfile(os.path.join(self.data_dir, fn)): + print(f"File {fn} already found on disk, skipping download.") + else: + print(f"Data file {fn} for dataset {self.id} cannot be retrieved automatically. " + f"Please download it from {u} and copy to {os.path.join(self.data_dir, fn)}") + # All other cases + else: + url = urllib.parse.unquote(url) + try: + urllib.request.urlopen(url) + except urllib.error.HTTPError as err: + # modify headers if urllib useragent is blocked (eg.10x datasets) + if err.code == 403: + opener = urllib.request.build_opener() + opener.addheaders = [('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64)')] + urllib.request.install_opener(opener) + except urllib.error.URLError: + # Catch SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable + # to get local issuer certificate (_ssl.c:1124) + ssl._create_default_https_context = ssl._create_unverified_context + + if 'Content-Disposition' in urllib.request.urlopen(url).info().keys(): + fn = cgi.parse_header(urllib.request.urlopen(url).info()['Content-Disposition'])[1]["filename"] + else: + fn = url.split("/")[-1] + # Only download if file not already downloaded: + if not os.path.isfile(os.path.join(self.data_dir, fn)): + print(f"Downloading: {fn}") + urllib.request.urlretrieve(url, os.path.join(self.data_dir, fn)) + + def _download_synapse(self, synapse_entity, fn, **kwargs): + try: + import synapseclient + except ImportError: + warnings.warn("synapseclient python package not found. This package is required to download some of the " + "selected datasets. Run `pip install synapseclient` to install it. Skipping download of the " + f"following dataset: {self.id}") + return + import shutil + import logging + logging.captureWarnings(False) # required to properly display warning messages below with sypaseclient loaded + + if "synapse_user" not in kwargs.keys(): + warnings.warn(f"No synapse username provided, skipping download of synapse dataset {fn}." + f"Provide your synapse username as the `synapse_user` argument to the download method.") + return + if "synapse_pw" not in kwargs.keys(): + warnings.warn(f"No synapse password provided, skipping download of synapse dataset {fn}." + f"Provide your synapse password as the `synapse_pw` argument to the download method.") + return + + print(f"Downloading from synapse: {fn}") + syn = synapseclient.Synapse() + syn.login(kwargs['synapse_user'], kwargs['synapse_pw']) + dataset = syn.get(entity=synapse_entity) + shutil.move(dataset.data_dir_base, os.path.join(self.data_dir, fn)) + + @property + def cache_fn(self): + if self.directory_formatted_doi is None or self._directory_formatted_id is None: + warnings.warn("Caching enabled, but Dataset.id or Dataset.doi not set. Disabling caching for now.") + return None + else: + if self.cache_path is None: + cache = self.data_dir + else: + cache = os.path.join(self.cache_path, self.directory_formatted_doi) + return os.path.join(cache, "cache", self._directory_formatted_id + ".h5ad") + + def load( + self, + load_raw: bool = False, + allow_caching: bool = True, + **kwargs + ): + """ + Load the selected datasets into memory. + Cache is written into director named after doi and h5ad named after data set id. + Cache is not over-written. + + :param load_raw: Force reading the raw object even when a cached one is present. + :param allow_caching: Write the object to cache after loading if no cache exists yet. + """ + # Sanity checks + if self.adata is not None: + raise ValueError(f"adata of {self.id} already loaded.") + if self.data_dir is None: + raise ValueError("No sfaira data repo path provided in constructor.") + + def _error_buffered_reading(**load_kwargs): + self.adata = self.load_func(data_dir=self.data_dir, sample_fn=self.sample_fn, **load_kwargs) + + # Run data set-specific loading script: + def _assembly_wrapper(): + if self.load_func is None: + raise ValueError(f"Tried to access load_func for {self.id} but did not find any.") + _error_buffered_reading(**kwargs) + # Enable loading of additional annotation, e.g. secondary cell type annotation + # The additional annotation `obs2 needs to be on a subset of the original annotation `self.adata.obs`. + if self.dict_load_func_annotation is not None: + obs2 = self.dict_load_func_annotation[self.additional_annotation_key]( + data_dir=self.data_dir, sample_fn=self.sample_fn) + assert np.all([x in self.adata.obs.index for x in obs2.index]), \ + "index mismatch between additional annotation and original" + self.adata = self.adata[obs2.index, :] + # Overwrite annotation + for k, v in obs2.items(): + self.adata.obs[k] = v + + def _cached_reading(filename): + if filename is not None: + if os.path.exists(filename): + self.adata = anndata.read_h5ad(filename) + else: + _error_buffered_reading() + else: + _error_buffered_reading() + + def _cached_writing(filename): + if filename is not None: + dir_cache = os.path.dirname(filename) + if not os.path.exists(dir_cache): + os.makedirs(dir_cache) + if not os.path.exists(filename) and self.adata is not None: + self.adata.write_h5ad(filename) + + if load_raw and allow_caching: + _assembly_wrapper() + _cached_writing(self.cache_fn) + elif load_raw and not allow_caching: + _assembly_wrapper() + elif not load_raw and allow_caching: + _cached_reading(self.cache_fn) + _cached_writing(self.cache_fn) + else: # not load_raw and not allow_caching + _cached_reading(self.cache_fn) + + # Set loading-specific metadata: + self.load_raw = load_raw + + load.__doc__ = load_doc + + def _add_missing_featurenames( + self, + match_to_reference: Union[str, bool, None], + ): + # If schema does not include symbols or ensebl ids, add them to the schema so we can do the conversion + if hasattr(self._adata_ids, "gene_id_symbols"): + gene_id_symbols = self._adata_ids.gene_id_symbols + else: + gene_id_symbols = "gene_symbol" # add some default name if not in schema + self._adata_ids.gene_id_symbols = gene_id_symbols + if hasattr(self._adata_ids, "gene_id_ensembl"): + gene_id_ensembl = self._adata_ids.gene_id_ensembl + else: + gene_id_ensembl = "ensembl" # add some default name if not in schema + self._adata_ids.gene_id_ensembl = gene_id_ensembl + + if not self.gene_id_symbols_var_key and not self.gene_id_ensembl_var_key: + raise ValueError("Either gene_id_symbols_var_key or gene_id_ensembl_var_key needs to be provided in the" + " dataloader") + elif not self.gene_id_symbols_var_key and self.gene_id_ensembl_var_key: + # Convert ensembl ids to gene symbols + id_dict = self.genome_container.id_to_names_dict + ensids = self.adata.var.index if self.gene_id_ensembl_var_key == "index" else self.adata.var[self.gene_id_ensembl_var_key] + self.adata.var[gene_id_symbols] = [ + id_dict[n.split(".")[0]] if n.split(".")[0] in id_dict.keys() else 'n/a' + for n in ensids + ] + self.gene_id_symbols_var_key = gene_id_symbols + elif self.gene_id_symbols_var_key and not self.gene_id_ensembl_var_key: + # Convert gene symbols to ensembl ids + id_dict = self.genome_container.names_to_id_dict + id_strip_dict = self.genome_container.strippednames_to_id_dict + # Matching gene names to ensembl ids in the following way: if the gene is present in the ensembl dictionary, + # match it straight away, if it is not in there we try to match everything in front of the first period in + # the gene name with a dictionary that was modified in the same way, if there is still no match we append na + ensids = [] + symbs = self.adata.var.index if self.gene_id_symbols_var_key == "index" else \ + self.adata.var[self.gene_id_symbols_var_key] + for n in symbs: + if n in id_dict.keys(): + ensids.append(id_dict[n]) + elif n.split(".")[0] in id_strip_dict.keys(): + ensids.append(id_strip_dict[n.split(".")[0]]) + else: + ensids.append('n/a') + self.adata.var[gene_id_ensembl] = ensids + self.gene_id_ensembl_var_key = gene_id_ensembl + + def _collapse_ensembl_gene_id_versions(self): + """ + Remove version tag on ensembl gene ID so that different versions are superimposed downstream. + + :return: + """ + if not self.gene_id_ensembl_var_key: + raise ValueError( + "Cannot remove gene version when gene_id_ensembl_var_key is not set in dataloader and " + "match_to_reference is False" + ) + elif self.gene_id_ensembl_var_key == "index": + self.adata.index = [ + x.split(".")[0] for x in self.adata.var.index + ] + else: + self.adata.var[self.gene_id_ensembl_var_key] = [ + x.split(".")[0] for x in self.adata.var[self.gene_id_ensembl_var_key].values + ] + # Collapse if necessary: + self.adata = collapse_matrix(adata=self.adata, var_column=self.gene_id_ensembl_var_key) + + def collapse_counts(self): + """ + Collapse count matrix along duplicated index. + """ + if len(np.unique(self.adata.var.index)) < self.adata.var.shape[0]: + self.adata = collapse_matrix(adata=self.adata, var_column="index") + + def streamline_features( + self, + match_to_reference: Union[str, Dict[str, str], None], + remove_gene_version: bool = True, + subset_genes_to_type: Union[None, str, List[str]] = None, + ): + """ + Subset and sort genes to genes defined in an assembly or genes of a particular type, such as protein coding. + This also adds missing ensid or gene symbol columns if match_to_reference is not set to False and removes all + adata.var columns that are not defined as gene_id_ensembl_var_key or gene_id_symbol_var_key in the dataloader. + + :param match_to_reference: Which annotation to map the feature space to. Can be: + - str: Provide the name of the annotation in the format Organism.Assembly.Release + - dict: Mapping of organism to name of the annotation (see str format). Chooses annotation for each data set + based on organism annotation. + :param remove_gene_version: Whether to remove the version number after the colon sometimes found in ensembl gene ids. + :param subset_genes_to_type: Type(s) to subset to. Can be a single type or a list of types or None. Types can be: + - None: All genes in assembly. + - "protein_coding": All protein coding genes in assembly. + """ + self.__assert_loaded() + + # Set genome container if mapping of gene labels is requested + if isinstance(match_to_reference, dict): + match_to_reference = match_to_reference[self.organism] + self._set_genome(assembly=match_to_reference) + self.mapped_features = self.genome_container.assembly + + self.remove_gene_version = remove_gene_version + self.subset_gene_type = subset_genes_to_type + # Streamline feature space: + self._add_missing_featurenames(match_to_reference=match_to_reference) + for key in [self.gene_id_ensembl_var_key, self.gene_id_symbols_var_key]: + # Make features unique (to avoid na-matches in converted columns to be collapsed by + # _collapse_ensembl_gene_id_versions() below. + if not key: + pass + elif key == "index": + self.adata.var.index = make_index_unique(self.adata.var.index).tolist() + else: + self.adata.var[key] = make_index_unique(pd.Index(self.adata.var[key].values.tolist())).tolist() + if remove_gene_version: + self._collapse_ensembl_gene_id_versions() + + # Convert data matrix to csc matrix + if isinstance(self.adata.X, np.ndarray): + # Change NaN to zero. This occurs for example in concatenation of anndata instances. + if np.any(np.isnan(self.adata.X)): + self.adata.X[np.isnan(self.adata.X)] = 0 + x = scipy.sparse.csc_matrix(self.adata.X) + elif isinstance(self.adata.X, scipy.sparse.spmatrix): + x = self.adata.X.tocsc() + else: + raise ValueError(f"Data type {type(self.adata.X)} not recognized.") + + # Compute indices of genes to keep + data_ids_ensg = self.adata.var.index.values if self.gene_id_ensembl_var_key == "index" \ + else self.adata.var[self.gene_id_ensembl_var_key].values + if subset_genes_to_type is None: + subset_ids_ensg = self.genome_container.ensembl + subset_ids_symbol = self.genome_container.symbols + else: + if isinstance(subset_genes_to_type, str): + subset_genes_to_type = [subset_genes_to_type] + keys = np.unique(self.genome_container.biotype) + if subset_genes_to_type not in keys: + raise ValueError(f"subset type {subset_genes_to_type} not available in list {keys}") + subset_ids_ensg = [ + x.upper() for x, y in zip(self.genome_container.ensembl, self.genome_container.biotype) + if y in subset_genes_to_type + ] + subset_ids_symbol = [ + x.upper() for x, y in zip(self.genome_container.symbols, self.genome_container.biotype) + if y in subset_genes_to_type + ] + + # Remove unmapped genes + idx_feature_kept = np.where([x.upper() in subset_ids_ensg for x in data_ids_ensg])[0] + data_ids_kept = data_ids_ensg[idx_feature_kept] + x = x[:, idx_feature_kept] + # Build map of subset_ids to features in x: + idx_feature_map = np.array([subset_ids_ensg.index(x) for x in data_ids_kept]) + # Create reordered feature matrix based on reference and convert to csr + x_new = scipy.sparse.csc_matrix((x.shape[0], len(subset_ids_ensg)), dtype=x.dtype) + # copying this over to the new matrix in chunks of size `steps` prevents a strange scipy error: + # ... scipy/sparse/compressed.py", line 922, in _zero_many i, j, offsets) + # ValueError: could not convert integer scalar + step = 500 + if step < len(idx_feature_map): + i = 0 + for i in range(0, len(idx_feature_map), step): + x_new[:, idx_feature_map[i:i + step]] = x[:, i:i + step] + x_new[:, idx_feature_map[i + step:]] = x[:, i + step:] + else: + x_new[:, idx_feature_map] = x + x_new = x_new.tocsr() + + # Create new var dataframe + if self.gene_id_symbols_var_key == "index": + var_index = subset_ids_symbol + var_data = {self.gene_id_ensembl_var_key: subset_ids_ensg} + elif self.gene_id_ensembl_var_key == "index": + var_index = subset_ids_ensg + var_data = {self.gene_id_symbols_var_key: subset_ids_symbol} + else: + var_index = None + var_data = {self.gene_id_symbols_var_key: subset_ids_symbol, + self.gene_id_ensembl_var_key: subset_ids_ensg} + var_new = pd.DataFrame(data=var_data, index=var_index) + + self.adata = anndata.AnnData( + X=x_new, + obs=self.adata.obs, + obsm=self.adata.obsm, + var=var_new, + uns=self.adata.uns + ) + self.adata.uns[self._adata_ids.mapped_features] = match_to_reference + + def streamline_metadata( + self, + schema: str = "sfaira", + uns_to_obs: bool = False, + clean_obs: bool = True, + clean_var: bool = True, + clean_uns: bool = True, + clean_obs_names: bool = True, + ): + """ + Streamline the adata instance to a defined output schema. + + Output format are saved in ADATA_FIELDS* classes. + + :param schema: Export format. + - "sfaira" + - "cellxgene" + :param uns_to_obs: Whether to move metadata in .uns to .obs to make sure it's not lost when concatenating + multiple objects. Retains .id in .uns. + :param clean_obs: Whether to delete non-streamlined fields in .obs, .obsm and .obsp. + :param clean_var: Whether to delete non-streamlined fields in .var, .varm and .varp. + :param clean_uns: Whether to delete non-streamlined fields in .uns. + :param clean_obs_names: Whether to replace obs_names with a string comprised of dataset id and an increasing integer. + :return: + """ + self.__assert_loaded() + + # Set schema as provided by the user + if schema == "sfaira": + adata_target_ids = AdataIdsSfaira() + elif schema == "cellxgene": + adata_target_ids = AdataIdsCellxgene() + else: + raise ValueError(f"did not recognize schema {schema}") + + if hasattr(adata_target_ids, "gene_id_ensembl") and not hasattr(self._adata_ids, "gene_id_ensembl"): + raise ValueError(f"Cannot convert this object to schema {schema}, as the currently applied schema does not " + f"have an ensembl gene ID annotation. Please run .streamline_features() first.") + + # Creating new var annotation + var_new = pd.DataFrame() + for k in adata_target_ids.var_keys: + if k == "gene_id_ensembl": + if not self.gene_id_ensembl_var_key: + raise ValueError("gene_id_ensembl_var_key not set in dataloader despite being required by the " + "selected meta data schema. please run streamline_features() first to create the " + "missing annotation") + elif self.gene_id_ensembl_var_key == "index": + var_new[getattr(adata_target_ids, k)] = self.adata.var.index.tolist() + else: + var_new[getattr(adata_target_ids, k)] = self.adata.var[self.gene_id_ensembl_var_key].tolist() + del self.adata.var[self.gene_id_ensembl_var_key] + self.gene_id_ensembl_var_key = getattr(adata_target_ids, k) + elif k == "gene_id_symbols": + if not self.gene_id_symbols_var_key: + raise ValueError("gene_id_symbols_var_key not set in dataloader despite being required by the " + "selected meta data schema. please run streamline_features() first to create the " + "missing annotation") + elif self.gene_id_symbols_var_key == "index": + var_new[getattr(adata_target_ids, k)] = self.adata.var.index.tolist() + else: + var_new[getattr(adata_target_ids, k)] = self.adata.var[self.gene_id_symbols_var_key].tolist() + del self.adata.var[self.gene_id_symbols_var_key] + self.gene_id_symbols_var_key = getattr(adata_target_ids, k) + else: + val = getattr(self, k) + while hasattr(val, '__len__') and not isinstance(val, str) and len(val) == 1: # unpack nested lists/tuples + val = val[0] + var_new[getattr(adata_target_ids, k)] = val + # set var index + var_new.index = var_new[adata_target_ids.gene_id_index].tolist() + + per_cell_labels = ["cell_types_original", "cellontology_class", "cellontology_id"] + experiment_batch_labels = ["bio_sample", "individual", "tech_sample"] + + # Prepare .obs column name dict (process keys below with other .uns keys if they're set dataset-wide) + obs_cols = {} + for k in adata_target_ids.obs_keys: + # Skip any per-cell labels for now and process them in the next code block + if k in per_cell_labels: + continue + else: + if hasattr(self, f"{k}_obs_key") and getattr(self, f"{k}_obs_key") is not None: + obs_cols[k] = (getattr(self, f"{k}_obs_key"), getattr(adata_target_ids, k)) + else: + adata_target_ids.uns_keys.append(k) + + # Prepare new .uns dict: + uns_new = {} + for k in adata_target_ids.uns_keys: + val = getattr(self, k) + while hasattr(val, '__len__') and not isinstance(val, str) and len(val) == 1: # unpack nested lists/tuples + val = val[0] + uns_new[getattr(adata_target_ids, k)] = val + + # Prepare new .obs dataframe + obs_new = pd.DataFrame(index=self.adata.obs.index) + for k, (old_col, new_col) in obs_cols.items(): + # Handle batch-annotation columns which can be provided as a combination of columns separated by an asterisk + if k in experiment_batch_labels and "*" in old_col: + batch_cols = [] + for batch_col in old_col.split("*"): + if batch_col in self.adata.obs_keys(): + batch_cols.append(batch_col) + else: + # This should not occur in single data set loaders (see warning below) but can occur in + # streamlined data loaders if not all instances of the streamlined data sets have all columns + # in .obs set. + print(f"WARNING: attribute {new_col} of data set {self.id} was not found in column {batch_col}") + # Build a combination label out of all columns used to describe this group. + obs_new[new_col] = [ + "_".join([str(xxx) for xxx in xx]) + for xx in zip(*[self.adata.obs[batch_col].values.tolist() for batch_col in batch_cols]) + ] + setattr(self, f"{k}_obs_key", new_col) # update _obs_column attribute of this class to match the new column + # All other .obs fields are interpreted below as provided + else: + # Search for direct match of the sought-after column name or for attribute specific obs key. + if old_col in self.adata.obs_keys(): + # Include flag in .uns that this attribute is in .obs: + uns_new[new_col] = UNS_STRING_META_IN_OBS + # Remove potential pd.Categorical formatting: + ontology = getattr(self.ontology_container_sfaira, k) if hasattr(self.ontology_container_sfaira, k) else None + if k == "development_stage": + ontology = ontology[self.organism] + if k == "ethnicity": + ontology = ontology[self.organism] + self._value_protection(attr=new_col, allowed=ontology, attempted=np.unique(self.adata.obs[old_col].values).tolist()) + obs_new[new_col] = self.adata.obs[old_col].values.tolist() + del self.adata.obs[old_col] + setattr(self, f"{k}_obs_key", new_col) # update _obs_column attribute of this class to match the new column + else: + # This should not occur in single data set loaders (see warning below) but can occur in + # streamlined data loaders if not all instances of the streamlined data sets have all columns + # in .obs set. + uns_new[new_col] = None + print(f"WARNING: attribute {new_col} of data set {self.id} was not found in column {old_col}") + + # Set cell-wise attributes (.obs): (None so far other than celltypes.) + # Set cell types: + # Map cell type names from raw IDs to ontology maintained ones: + if self.cell_types_original_obs_key is not None: + obs_cl = self.project_celltypes_to_ontology(copy=True, adata_fields=adata_target_ids) + else: + obs_cl = pd.DataFrame({ + adata_target_ids.cellontology_class: [adata_target_ids.unknown_metadata_identifier] * self.adata.n_obs, + adata_target_ids.cellontology_id: [adata_target_ids.unknown_metadata_identifier] * self.adata.n_obs, + adata_target_ids.cell_types_original: [adata_target_ids.unknown_metadata_identifier] * self.adata.n_obs, + }, index=self.adata.obs.index) + obs_new = pd.concat([obs_new, obs_cl], axis=1) + + # Add new annotation to adata and delete old fields if requested + if clean_var: + if self.adata.varm is not None: + del self.adata.varm + if self.adata.varp is not None: + del self.adata.varp + self.adata.var = var_new + if "gene_id_ensembl" not in adata_target_ids.var_keys: + self.gene_id_ensembl_var_key = None + if "gene_id_symbols" not in adata_target_ids.var_keys: + self.gene_id_symbols_var_key = None + else: + index_old = self.adata.var.index.copy() + # Add old columns in if they are not duplicated: + self.adata.var = pd.concat([ + var_new, + pd.DataFrame(dict([(k, v) for k, v in self.adata.var.items() if k not in var_new.columns])) + ], axis=1) + self.adata.var.index = index_old + if clean_obs: + if self.adata.obsm is not None: + del self.adata.obsm + if self.adata.obsp is not None: + del self.adata.obsp + self.adata.obs = obs_new + else: + index_old = self.adata.obs.index.copy() + # Add old columns in if they are not duplicated in target obs column space, even if this column is not + # defined. This would result in the instance accessing this column assuming it was streamlined. + self.adata.obs = pd.concat([ + obs_new, + pd.DataFrame(dict([(k, v) for k, v in self.adata.obs.items() + if k not in adata_target_ids.controlled_meta_keys])) + ], axis=1) + self.adata.obs.index = index_old + if clean_obs_names: + self.adata.obs.index = [f"{self.id}_{i}" for i in range(1, self.adata.n_obs + 1)] + if clean_uns: + self.adata.uns = uns_new + else: + self.adata.uns = {**self.adata.uns, **uns_new} + + # Add additional hard-coded description changes for cellxgene schema: + if schema == "cellxgene": + self.adata.uns["layer_descriptions"] = {"X": "raw"} + self.adata.uns["version"] = { + "corpora_encoding_version": "0.1.0", + "corpora_schema_version": "1.1.0", + } + # TODO port this into organism ontology handling. + if self.organism == "mouse": + self.adata.uns["organism"] = "Mus musculus" + self.adata.uns["organism_ontology_term_id"] = "NCBITaxon:10090" + elif self.organism == "human": + self.adata.uns["organism"] = "Homo sapiens" + self.adata.uns["organism_ontology_term_id"] = "NCBITaxon:9606" + else: + raise ValueError(f"organism {self.organism} currently not supported by cellxgene schema") + # Add ontology IDs where necessary (note that human readable terms are also kept): + for k in ["organ", "assay_sc", "disease", "ethnicity", "development_stage"]: + if getattr(adata_target_ids, k) in self.adata.obs.columns: + ontology = getattr(self.ontology_container_sfaira, k) + # Disambiguate organism-dependent ontologies: + if isinstance(ontology, dict): + ontology = ontology[self.organism] + self.__project_name_to_id_obs( + ontology=ontology, + key_in=getattr(adata_target_ids, k), + key_out=getattr(adata_target_ids, k) + "_ontology_term_id", + map_exceptions=[], + map_exceptions_value=adata_target_ids.unknown_metadata_ontology_id_identifier, + ) + else: + self.adata.obs[getattr(adata_target_ids, k)] = adata_target_ids.unknown_metadata_identifier + self.adata.obs[getattr(adata_target_ids, k) + "_ontology_term_id"] = \ + adata_target_ids.unknown_metadata_ontology_id_identifier + # Adapt var columns naming. + if self.organism == "human": + gene_id_new = "hgnc_gene_symbol" + elif self.organism == "mouse": + gene_id_new = "mgi_gene_symbol" + else: + raise ValueError(f"organism {self.organism} currently not supported") + self.adata.var[gene_id_new] = self.adata.var[getattr(adata_target_ids, "gene_id_symbols")] + self.adata.var.index = self.adata.var[gene_id_new].tolist() + if gene_id_new != self.gene_id_symbols_var_key: + del self.adata.var[self.gene_id_symbols_var_key] + self.gene_id_symbols_var_key = gene_id_new + # Check if .X is counts: The conversion are based on the assumption that .X is csr. + assert isinstance(self.adata.X, scipy.sparse.csr_matrix), type(self.adata.X) + count_values = np.unique(np.asarray(self.adata.X.todense())) + is_counts = np.all(count_values % 1. == 0.) + if not is_counts: + print(f"WARNING: not all count entries were counts {is_counts}. rounding.") + self.adata.X.data = np.rint(self.adata.X.data) + + # Make sure that correct unknown_metadata_identifier is used in .uns, .obs and .var metadata + self.adata.obs = self.adata.obs.replace({None: adata_target_ids.unknown_metadata_identifier}) + self.adata.var = self.adata.var.replace({None: adata_target_ids.unknown_metadata_identifier}) + for k in self.adata.uns_keys(): + if self.adata.uns[k] is None: + self.adata.uns[k] = adata_target_ids.unknown_metadata_identifier + + # Move all uns annotation to obs columns if requested + if uns_to_obs: + for k, v in self.adata.uns.items(): + if k not in self.adata.obs_keys(): + self.adata.obs[k] = [v for i in range(self.adata.n_obs)] + # Retain only target uns keys in .uns. + self.adata.uns = dict([(k, v) for k, v in self.adata.uns.items() + if k in [getattr(adata_target_ids, kk) for kk in ["id"]]]) + + self._adata_ids = adata_target_ids # set new adata fields to class after conversion + self.streamlined_meta = True + + def write_distributed_store( + self, + dir_cache: Union[str, os.PathLike], + store_format: str = "dao", + dense: bool = False, + compression_kwargs: dict = {}, + chunks: Union[int, None] = None, + ): + """ + Write data set into a format that allows distributed access to data set on disk. + + Stores are useful for distributed access to data sets, in many settings this requires some streamlining of the + data sets that are accessed. Use .streamline_* before calling this method to streamline the data sets. + + :param dir_cache: Directory to write cache in. + :param store_format: Disk format for objects in cache. Recommended is "dao". + + - "h5ad": Allows access via backed .h5ad. + Note on compression: .h5ad supports sparse data with is a good compression that gives fast row-wise + access if the files are csr, so further compression potentially not necessary. + - "dao": Distributed access optimised format, recommended for batched access in optimisation, for example. + :param dense: Whether to write sparse or dense store, this will be homogenously enforced. + :param compression_kwargs: Compression key word arguments to give to h5py or zarr + For store_format=="h5ad", see also anndata.AnnData.write_h5ad: + - compression, + - compression_opts. + For store_format=="dao", see also sfaira.data.write_dao which relays kwargs to + zarr.hierarchy.create_dataset: + - compressor + - overwrite + - order + and others. + :param chunks: Observation axes of chunk size of zarr array, see anndata.AnnData.write_zarr documentation. + Only relevant for store=="dao". The feature dimension of the chunks is always is the full feature space. + Uses zarr default chunking across both axes if None. + """ + self.__assert_loaded() + if store_format == "h5ad": + if not isinstance(self.adata.X, scipy.sparse.csr_matrix): + print(f"WARNING: high-perfomances caches based on .h5ad work better with .csr formatted expression " + f"data, found {type(self.adata.X)}") + fn = os.path.join(dir_cache, self.doi_cleaned_id + ".h5ad") + as_dense = ("X",) if dense else () + print(f"writing {self.adata.shape} into {fn}") + self.adata.write_h5ad(filename=fn, as_dense=as_dense, **compression_kwargs) + elif store_format == "dao": + # Convert data object to sparse / dense as required: + if not dense: + raise ValueError("WARNING: sparse zarr array performance is not be optimal and not supported yet, " + "consider writing as dense and consider that zarr arrays are compressed on disk!") + fn = os.path.join(dir_cache, self.doi_cleaned_id) + chunks = (chunks, self.adata.X.shape[1]) if chunks is not None else True + write_dao(store=fn, adata=self.adata, chunks=chunks, compression_kwargs=compression_kwargs) + else: + raise ValueError() + + def write_backed( + self, + adata_backed: anndata.AnnData, + genome: str, + idx: np.ndarray, + load_raw: bool = False, + allow_caching: bool = True + ): + """ + Loads data set into slice of backed anndata object. + + Note: scatter updates to backed sparse arrays are not yet supported by anndata. Accordingly, we need to work + around below using .append() of the backed matrix. + + :param adata_backed: + :param genome: Genome name to use as refernce. + :param idx: Indices in adata_backed to write observations to. This can be used to immediately create a + shuffled object. + :param load_raw: See .load(). + :param allow_caching: See .load(). + :return: New row index for next element to be written into backed anndata. + """ + self.load(load_raw=load_raw, allow_caching=allow_caching) + # Check if writing to sparse or dense matrix: + if isinstance(adata_backed.X, np.ndarray) or \ + isinstance(adata_backed.X, h5py._hl.dataset.Dataset): # backed dense + if isinstance(self.adata.X, scipy.sparse.csr_matrix) or \ + isinstance(self.adata.X, scipy.sparse.csc_matrix) or \ + isinstance(self.adata.X, scipy.sparse.lil_matrix): + # map to dense array + x_new = self.adata.X.toarray() + else: + x_new = self.adata.X + + adata_backed.X[np.sort(idx), :] = x_new[np.argsort(idx), :] + for k in adata_backed.obs.columns: + if k == self._adata_ids.dataset: + adata_backed.obs.loc[np.sort(idx), self._adata_ids.dataset] = [ + self.id for _ in range(len(idx))] + elif k in self.adata.obs.columns: + adata_backed.obs.loc[np.sort(idx), k] = self.adata.obs[k].values[np.argsort(idx)] + elif k in list(self.adata.uns.keys()): + adata_backed.obs.loc[np.sort(idx), k] = [self.adata.uns[k] for i in range(len(idx))] + else: + # Need to fill this instead of throwing an exception as this condition can trigger for one element + # within a loop over multiple data sets (ie in data set human). + adata_backed.obs.loc[idx, k] = ["key_not_found" for i in range(len(idx))] + elif isinstance(adata_backed.X, anndata._core.sparse_dataset.SparseDataset): # backed sparse + # cannot scatter update on backed sparse yet! assert that updated block is meant to be appended: + assert np.all(idx == np.arange(adata_backed.shape[0], adata_backed.shape[0] + len(idx))) + if not isinstance(self.adata.X, scipy.sparse.csr_matrix): + x_new = self.adata.X.tocsr() + else: + x_new = self.adata.X + adata_backed.X.append(x_new[np.argsort(idx)]) + adata_backed._n_obs = adata_backed.X.shape[0] # not automatically updated after append + adata_backed.obs = adata_backed.obs.append( # .obs was not broadcasted to the right shape! + pandas.DataFrame(dict([ + (k, [self.id for i in range(len(idx))]) if k == self._adata_ids.dataset + else (k, self.adata.obs[k].values[np.argsort(idx)]) if k in self.adata.obs.columns + else (k, [self.adata.uns[k] for _ in range(len(idx))]) if k in list(self.adata.uns.keys()) + else (k, ["key_not_found" for _ in range(len(idx))]) + for k in adata_backed.obs.columns + ])) + ) + self.clear() + else: + raise ValueError(f"Did not recognize backed AnnData.X format {type(adata_backed.X)}") + + def _set_genome(self, assembly: Union[str, None]): + self.genome_container = GenomeContainer( + assembly=assembly, + ) + + @property + def doi_cleaned_id(self): + return "_".join(self.id.split("_")[:-1]) + + @property + def fn_ontology_class_map_tsv(self): + """Standardised file name under which cell type conversion tables are saved.""" + return self.doi_cleaned_id + ".tsv" + + def write_ontology_class_map( + self, + fn, + protected_writing: bool = True, + **kwargs + ): + """ + Load class maps of free text cell types to ontology classes. + + :param fn: File name of tsv to write class maps to. + :param protected_writing: Only write if file was not already found. + :return: + """ + if not self.annotated: + warnings.warn(f"attempted to write ontology classmaps for data set {self.id} without annotation") + else: + labels_original = np.sort(np.unique(self.adata.obs[self.cell_types_original_obs_key].values)) + tab = self.celltypes_universe.prepare_celltype_map_tab( + source=labels_original, + match_only=False, + anatomical_constraint=self.organ, + include_synonyms=True, + omit_list=self._unknown_celltype_identifiers, + **kwargs + ) + if not os.path.exists(fn) or not protected_writing: + self._write_class_map(fn=fn, tab=tab) + + def _write_class_map(self, fn, tab): + """ + Write class map. + + :param fn: File name of csv to write class maps to. + :param tab: Table to write + :return: + """ + tab.to_csv(fn, index=False, sep="\t") + + def _read_class_map(self, fn) -> pd.DataFrame: + """ + Read class map. + + :param fn: File name of csv to load class maps from. + :return: + """ + try: + # Need dtype="str" to force numeric cell type identifiers, e.g. cluster numbers to be in string format. + tab = pd.read_csv(fn, header=0, index_col=None, sep="\t", dtype="str") + except pandas.errors.ParserError as e: + print(f"{self.id}") + raise pandas.errors.ParserError(e) + return tab + + def load_ontology_class_map(self, fn): + """ + Load class maps of free text cell types to ontology classes. + + :param fn: File name of csv to load class maps from. + :return: + """ + if os.path.exists(fn): + self.cell_ontology_map = self._read_class_map(fn=fn) + else: + if self.cell_types_original_obs_key is not None: + warnings.warn(f"file {fn} does not exist but cell_types_original_obs_key is given") + + def project_celltypes_to_ontology(self, adata_fields: Union[AdataIds, None] = None, copy=False, update_fields=True): + """ + Project free text cell type names to ontology based on mapping table. + + ToDo: add ontology ID setting here. + + :param adata_fields: AdataIds instance that holds the column names to use for the annotation + :param copy: If True, a dataframe with the celltype annotation is returned, otherwise self.adata.obs is updated + inplace. + :param update_fields: If True, the celltype-related attributes of this Dataset instance are updated. Basically, + this should always be true, unless self.adata.obs is not updated by (or with the output of) this function. + This includes the following fields: self.cellontology_class_obs_key, self.cell_types_original_obs_key, + self.cellontology_id_obs_key + + :return: + """ + assert copy or update_fields, "when copy is set to False, update_fields cannot be False" + + adata_fields = adata_fields if adata_fields is not None else self._adata_ids + results = {} + labels_original = self.adata.obs[self.cell_types_original_obs_key].values + if self.cell_ontology_map is not None: # only if this was defined + labels_mapped = [ + self.cell_ontology_map[x] if x in self.cell_ontology_map.keys() + else x for x in labels_original + ] + # Convert unknown celltype placeholders (needs to be hardcoded here as placeholders are also hardcoded in + # conversion tsv files + placeholder_conversion = { + "UNKNOWN": adata_fields.unknown_celltype_identifier, + "NOT_A_CELL": adata_fields.not_a_cell_celltype_identifier, + } + labels_mapped = [ + placeholder_conversion[x] if x in placeholder_conversion.keys() + else x for x in labels_mapped + ] + # Validate mapped IDs based on ontology: + # This aborts with a readable error if there was a target in the mapping file that doesnt match the ontology + # This protection blocks progression in the unit test if not deactivated. + self._value_protection( + attr="celltypes", + allowed=self.ontology_celltypes, + attempted=[ + x for x in list(set(labels_mapped)) + if x not in [ + adata_fields.unknown_celltype_identifier, + adata_fields.not_a_cell_celltype_identifier + ] + ] + ) + # Add cell type IDs into object: + # The IDs are not read from a source file but inferred based on the class name. + # TODO this could be changed in the future, this allows this function to be used both on cell type name + # mapping files with and without the ID in the third column. + # This mapping blocks progression in the unit test if not deactivated. + ontology = getattr(self.ontology_container_sfaira, "cellontology_class") + ids_mapped = self.__project_name_to_id_obs( + ontology=ontology, + key_in=labels_mapped, + key_out=None, + map_exceptions=[ + adata_fields.unknown_celltype_identifier, + adata_fields.not_a_cell_celltype_identifier + ], + ) + results[adata_fields.cellontology_class] = labels_mapped + results[adata_fields.cellontology_id] = ids_mapped + if update_fields: + self.cellontology_id_obs_key = adata_fields.cellontology_id + else: + results[adata_fields.cellontology_class] = labels_original + results[adata_fields.cellontology_id] = [adata_fields.unknown_metadata_identifier] * self.adata.n_obs + results[adata_fields.cell_types_original] = labels_original + if update_fields: + self.cellontology_class_obs_key = adata_fields.cellontology_class + self.cell_types_original_obs_key = adata_fields.cell_types_original + if copy: + return pd.DataFrame(results, index=self.adata.obs.index) + else: + for k, v in results.items(): + self.adata.obs[k] = v + + def __project_name_to_id_obs( + self, + ontology: OntologyHierarchical, + key_in: Union[str, list], + key_out: Union[str, None], + map_exceptions: list, + map_exceptions_value=None, + ): + """ + Project ontology names to IDs for a given ontology in .obs entries. + + :param ontology: ontology to use when converting to IDs + :param key_in: name of obs_column containing names to convert or python list containing these values + :param key_out: name of obs_column to write the IDs or None. If None, a python list with the new values will be returned + :param map_exceptions: list of values that should not be mapped + :param map_exceptions_value: placeholder target value for values excluded from mapping + :return: + """ + assert ontology is not None, f"cannot project value for {key_in} because ontology is None" + assert isinstance(key_in, (str, list)), f"argument key_in needs to be of type str or list. Supplied" \ + f"type: {type(key_in)}" + input_values = self.adata.obs[key_in].values if isinstance(key_in, str) else key_in + map_vals = dict([ + (x, ontology.convert_to_id(x)) + for x in np.unique([ + xx for xx in input_values + if (xx not in map_exceptions and xx is not None) + ]) + ]) + output_values = [ + map_vals[x] if x in map_vals.keys() else map_exceptions_value + for x in input_values + ] + if isinstance(key_out, str): + self.adata.obs[key_out] = output_values + else: + return output_values + + @property + def citation(self): + """ + Return all information necessary to cite data set. + + :return: + """ + return [self.author, self.year, self.doi] + + # Meta data handling code: Reading, writing and selected properties. Properties are either set in constructor + # (and saved in self._somename) or accessed in self.meta. + + @property + def meta_fn(self): + if self.meta_path is None: + meta = self.data_dir + else: + meta = os.path.join(self.meta_path, self.directory_formatted_doi) + if meta is None: + return None + else: + return os.path.join(meta, "meta", self.doi_cleaned_id + "_meta.csv") + + def load_meta(self, fn: Union[PathLike, str, None]): + if fn is None: + if self.meta_fn is not None: + fn = self.meta_fn + else: + if isinstance(fn, str): + fn = os.path.normpath(fn) + # Only load meta data if file exists: + if fn is not None and os.path.isfile(fn): + meta = pandas.read_csv( + fn, + usecols=list(META_DATA_FIELDS.keys()), + ) + # using dtype in read_csv through errors some times. + for k, v in META_DATA_FIELDS.items(): + if k in meta.columns: + if meta[k].values[0] is not None: + meta[k] = np.asarray(meta[k].values, dtype=v) + self.meta = meta.fillna("None").replace({"None": None}) + + def write_meta( + self, + fn_meta: Union[None, str] = None, + dir_out: Union[None, str] = None, + ): + """ + Write meta data object for data set. + + Does not cache data and attempts to load raw data. + + :param fn_meta: File to write to, selects automatically based on self.meta_path and self.id otherwise. + :param dir_out: Path to write to, file name is selected automatically based on self.id. + :return: + """ + if fn_meta is not None and dir_out is not None: + raise ValueError("supply either fn_meta or dir_out but not both") + elif fn_meta is None and dir_out is None: + if self.meta_fn is None: + raise ValueError("provide either fn in load or via constructor (meta_path)") + fn_meta = self.meta_fn + elif fn_meta is None and dir_out is not None: + fn_meta = os.path.join(dir_out, self.doi_cleaned_id + "_meta.csv") + elif fn_meta is not None and dir_out is None: + pass # fn_meta is used + else: + assert False, "bug in switch" + + if self.adata is None: + self.load(load_raw=True, allow_caching=False) + # Add data-set wise meta data into table: + meta = pandas.DataFrame(index=range(1)) + # Expand table by variably cell-wise or data set-wise meta data: + for x in self._adata_ids.controlled_meta_fields: + if x in ["cell_types_original", "cellontology_class", "cellontology_id"]: + continue + elif x in ["bio_sample", "individual", "tech_sample"] and \ + hasattr(self, f"{x}_obs_key") and \ + getattr(self, f"{x}_obs_key") is not None and \ + "*" in getattr(self, f"{x}_obs_key"): + batch_cols = [] + for batch_col in getattr(self, f"{x}_obs_key").split("*"): + if batch_col in self.adata.obs_keys(): + batch_cols.append(batch_col) + else: + # This should not occur in single data set loaders (see warning below) but can occur in + # streamlined data loaders if not all instances of the streamlined data sets have all columns + # in .obs set. + print(f"WARNING: attribute {x} of data set {self.id} was not found in column {batch_col}") + # Build a combination label out of all columns used to describe this group. + meta[getattr(self._adata_ids, x)] = (list(set([ + "_".join([str(xxx) for xxx in xx]) + for xx in zip(*[self.adata.obs[batch_col].values.tolist() for batch_col in batch_cols]) + ])),) + elif hasattr(self, f"{x}_obs_key") and getattr(self, f"{x}_obs_key") is not None: + meta[getattr(self._adata_ids, x)] = (self.adata.obs[getattr(self, f"{x}_obs_key")].unique(),) + else: + meta[getattr(self._adata_ids, x)] = getattr(self, x) + # Add cell types into table if available: + if self.cell_types_original_obs_key is not None: + mappings = self.project_celltypes_to_ontology(copy=True, update_fields=False) + meta[self._adata_ids.cellontology_class] = (mappings[self._adata_ids.cellontology_class].unique(),) + meta[self._adata_ids.cellontology_id] = (mappings[self._adata_ids.cellontology_id].unique(),) + meta[self._adata_ids.cell_types_original] = (mappings[self._adata_ids.cell_types_original].unique(),) + else: + meta[self._adata_ids.cellontology_class] = " " + meta[self._adata_ids.cellontology_id] = " " + meta[self._adata_ids.cell_types_original] = " " + meta.to_csv(fn_meta) + + def set_dataset_id( + self, + idx: int = 1 + ): + if self.sample_fn is not None: + idx += self._sample_fns.index(self.sample_fn) + idx = str(idx).zfill(3) + + if isinstance(self.author, List): + author = self.author[0] + else: + author = self.author + + # Note: access private attributes here, e.g. _organism, to avoid loading of content via meta data, which would + # invoke call to self.id before it is set. + self.id = f"{clean_string(self._organism)}_" \ + f"{clean_string(self._organ)}_" \ + f"{self._year}_" \ + f"{clean_string(self._assay_sc)}_" \ + f"{clean_string(author)}_" \ + f"{idx}_" \ + f"{self.doi_main}" + + # Properties: + + @property + def additional_annotation_key(self) -> Union[None, str]: + return self._additional_annotation_key + + @additional_annotation_key.setter + def additional_annotation_key(self, x: str): + self._additional_annotation_key = x + + @property + def annotated(self) -> Union[bool, None]: + if self.cellontology_id_obs_key is not None or self.cell_types_original_obs_key is not None: + return True + else: + if self.meta is None: + self.load_meta(fn=None) + if self.meta is not None and self._adata_ids.annotated in self.meta.columns: + return self.meta[self._adata_ids.annotated].values[0] + elif self.loaded: + # If data set was loaded and there is still no annotation indicated, it is declared unannotated. + return False + else: + # If data set was not yet loaded, it is unclear if annotation would be loaded in ._load(), + # if also no meta data is available, we do not know the status of the data set. + return None + + @property + def assay_sc(self) -> Union[None, str]: + if self._assay_sc is not None: + return self._assay_sc + else: + if self.meta is None: + self.load_meta(fn=None) + if self.meta is not None and self._adata_ids.assay_sc in self.meta.columns: + return self.meta[self._adata_ids.assay_sc] + else: + return None + + @assay_sc.setter + def assay_sc(self, x: str): + x = self._value_protection(attr="assay_sc", allowed=self.ontology_container_sfaira.assay_sc, attempted=x) + self._assay_sc = x + + @property + def assay_differentiation(self) -> Union[None, str]: + if self._assay_differentiation is not None: + return self._assay_differentiation + else: + if self.meta is None: + self.load_meta(fn=None) + if self.meta is not None and self._adata_ids.assay_differentiation in self.meta.columns: + return self.meta[self._adata_ids.assay_differentiation] + else: + return None + + @assay_differentiation.setter + def assay_differentiation(self, x: str): + x = self._value_protection(attr="assay_differentiation", + allowed=self.ontology_container_sfaira.assay_differentiation, attempted=x) + self._assay_differentiation = x + + @property + def assay_type_differentiation(self) -> Union[None, str]: + if self._assay_type_differentiation is not None: + return self._assay_type_differentiation + else: + if self.meta is None: + self.load_meta(fn=None) + if self.meta is not None and self._adata_ids.assay_type_differentiation in self.meta.columns: + return self.meta[self._adata_ids.assay_type_differentiation] + else: + return None + + @assay_type_differentiation.setter + def assay_type_differentiation(self, x: str): + x = self._value_protection(attr="assay_type_differentiation", + allowed=self.ontology_container_sfaira.assay_type_differentiation, attempted=x) + self._assay_type_differentiation = x + + @property + def bio_sample(self) -> Union[None, str]: + if self._bio_sample is not None: + return self._bio_sample + else: + if self.meta is None: + self.load_meta(fn=None) + if self.meta is not None and self._adata_ids.bio_sample in self.meta.columns: + return self.meta[self._adata_ids.bio_sample] + else: + return None + + @bio_sample.setter + def bio_sample(self, x: str): + self._bio_sample = x + + @property + def cell_line(self) -> Union[None, str]: + if self._cell_line is not None: + return self._cell_line + else: + if self.meta is None: + self.load_meta(fn=None) + if self.meta is not None and self._adata_ids.cell_line in self.meta.columns: + return self.meta[self._adata_ids.cell_line] + else: + return None + + @cell_line.setter + def cell_line(self, x: str): + self._cell_line = x + + @property + def data_dir(self): + # Data is either directly in user supplied directory or in a sub directory if the overall directory is managed + # by sfaira: In this case, the sub directory is named after the doi of the data set. + if self.data_dir_base is None: + return None + else: + sfaira_path = os.path.join(self.data_dir_base, self.directory_formatted_doi) + if os.path.exists(sfaira_path): + return sfaira_path + else: + return self.data_dir_base + + @property + def default_embedding(self) -> Union[None, str]: + if self._default_embedding is not None: + return self._default_embedding + else: + if self.meta is None: + self.load_meta(fn=None) + if self.meta is not None and self._adata_ids.default_embedding in self.meta.columns: + return self.meta[self._adata_ids.default_embedding] + else: + return None + + @default_embedding.setter + def default_embedding(self, x: str): + x = self._value_protection(attr="default_embedding", allowed=self.ontology_container_sfaira.default_embedding, + attempted=x) + self._default_embedding = x + + @property + def development_stage(self) -> Union[None, str]: + if self._development_stage is not None: + return self._development_stage + else: + if self.meta is None: + self.load_meta(fn=None) + if self.meta is not None and self._adata_ids.development_stage in self.meta.columns: + return self.meta[self._adata_ids.development_stage] + else: + return None + + @development_stage.setter + def development_stage(self, x: str): + x = self._value_protection(attr="development_stage", + allowed=self.ontology_container_sfaira.development_stage[self.organism], + attempted=x) + self._development_stage = x + + @property + def disease(self) -> Union[None, str]: + if self._disease is not None: + return self._disease + else: + if self.meta is None: + self.load_meta(fn=None) + if self.meta is not None and self._adata_ids.disease in self.meta.columns: + return self.meta[self._adata_ids.disease] + else: + return None + + @disease.setter + def disease(self, x: str): + x = self._value_protection(attr="disease", allowed=self.ontology_container_sfaira.disease, + attempted=x) + self._disease = x + + @property + def doi(self) -> Union[str, List[str]]: + if self._doi is not None: + return self._doi + else: + if self.meta is None: + self.load_meta(fn=None) + if self.meta is None or self._adata_ids.doi not in self.meta.columns: + raise ValueError("doi must be set but was neither set in constructor nor in meta data") + return self.meta[self._adata_ids.doi] + + @doi.setter + def doi(self, x: Union[str, List[str]]): + self._doi = x + + @property + def doi_main(self) -> str: + """ + Yields the main DOI associated with the study, defined as the DOI that comes first in alphabetical order. + """ + return self.doi if isinstance(self.doi, str) else np.sort(self.doi)[0] + + @property + def directory_formatted_doi(self) -> str: + # Chose first doi in list. + return "d" + "_".join("_".join("_".join(self.doi_main.split("/")).split(".")).split("-")) + + @property + def download_url_data(self) -> Union[Tuple[List[str]], Tuple[List[None]]]: + """ + Data download website(s). + + Save as tuple with single element, which is a list of all download websites relevant to dataset. + :return: + """ + if self._download_url_data is not None: + x = self._download_url_data + else: + if self.meta is None: + self.load_meta(fn=None) + x = self.meta[self._adata_ids.download_url_data] + if isinstance(x, str) or x is None: + x = [x] + if isinstance(x, list): + x = (x,) + return x + + @download_url_data.setter + def download_url_data(self, x: Union[str, None, List[str], Tuple[str], List[None], Tuple[None]]): + # Formats to tuple with single element, which is a list of all download websites relevant to dataset, + # which can be used as a single element column in a pandas data frame. + if isinstance(x, str) or x is None: + x = [x] + if isinstance(x, list): + x = (x,) + self._download_url_data = x + + @property + def download_url_meta(self) -> Union[Tuple[List[str]], Tuple[List[None]]]: + """ + Meta data download website(s). + + Save as tuple with single element, which is a list of all download websites relevant to dataset. + :return: + """ + x = self._download_url_meta + # if self._download_url_meta is not None: # TODO add this back in once download_meta is set in all datasets + # x = self._download_url_meta + # else: + # if self.meta is None: + # self.load_meta(fn=None) + # x = self.meta[self._adata_ids.download_url_meta] + if isinstance(x, str) or x is None: + x = [x] + if isinstance(x, list): + x = (x,) + return x + + @download_url_meta.setter + def download_url_meta(self, x: Union[str, None, List[str], Tuple[str], List[None], Tuple[None]]): + # Formats to tuple with single element, which is a list of all download websites relevant to dataset, + # which can be used as a single element column in a pandas data frame. + if isinstance(x, str) or x is None: + x = [x] + if isinstance(x, list): + x = (x,) + self._download_url_meta = x + + @property + def ethnicity(self) -> Union[None, str]: + if self._ethnicity is not None: + return self._ethnicity + else: + if self.meta is None: + self.load_meta(fn=None) + if self.meta is not None and self._adata_ids.ethnicity in self.meta.columns: + return self.meta[self._adata_ids.ethnicity] + else: + return None + + @ethnicity.setter + def ethnicity(self, x: str): + x = self._value_protection(attr="ethnicity", allowed=self.ontology_container_sfaira.ethnicity[self.organism], + attempted=x) + self._ethnicity = x + + @property + def id(self) -> str: + if self._id is not None: + return self._id + else: + raise AttributeError(f"Dataset ID was not set in dataloader in {self.doi_main}, please ensure the " + f"dataloader constructor of this dataset contains a call to self.set_dataset_id()") + + @id.setter + def id(self, x: str): + self._id = x + + @property + def individual(self) -> Union[None, str]: + if self._individual is not None: + return self._individual + else: + if self.meta is None: + self.load_meta(fn=None) + if self.meta is not None and self._adata_ids.individual in self.meta.columns: + return self.meta[self._adata_ids.individual] + else: + return None + + @individual.setter + def individual(self, x: str): + self._individual = x + + @property + def loaded(self) -> bool: + """ + :return: Whether DataSet was loaded into memory. + """ + return self.adata is not None + + @property + def meta(self) -> Union[None, pd.DataFrame]: + return self._meta + + @meta.setter + def meta(self, x: Union[None, pd.DataFrame]): + # Make sure formatting is correct: + if x is not None: + for k, v in x.items(): + v = v.tolist() # avoid numpy data types + if k not in META_DATA_FIELDS.keys(): + raise ValueError(f"did not find {k} in format look up table") + else: + if x[k] is not None: # None is always allowed. + if not isinstance(v[0], META_DATA_FIELDS[k]): + raise ValueError(f"key '{k}' of value `{v[0]}` and signature `{type(v[0])}` " + f"in meta data table did not match signature " + f"{str(META_DATA_FIELDS[k])}") + self._meta = x + + @property + def ncells(self) -> int: + # ToDo cache this if it was loaded from meta? + if self.adata is not None: + x = self.adata.n_obs + elif self._ncells is not None: + x = self._ncells + else: + if self.meta is None: + self.load_meta(fn=None) + x = self.meta[self._adata_ids.ncells] + return int(x) + + @property + def normalization(self) -> Union[None, str]: + if self._normalization is not None: + return self._normalization + else: + if self.meta is None: + self.load_meta(fn=None) + if self.meta is not None and self._adata_ids.normalization in self.meta.columns: + return self.meta[self._adata_ids.normalization] + else: + return None + + @normalization.setter + def normalization(self, x: str): + x = self._value_protection(attr="normalization", allowed=self.ontology_container_sfaira.normalization, + attempted=x) + self._normalization = x + + @property + def primary_data(self) -> Union[None, bool]: + if self._primary_data is not None: + return self._primary_data + else: + if self.meta is None: + self.load_meta(fn=None) + if self.meta is not None and self._adata_ids.primary_data in self.meta.columns: + return self.meta[self._adata_ids.primary_data] + else: + return None + + @primary_data.setter + def primary_data(self, x: bool): + x = self._value_protection(attr="primary_data", allowed=self.ontology_container_sfaira.primary_data, + attempted=x) + self._primary_data = x + + @property + def assay_sc_obs_key(self) -> str: + return self._assay_sc_obs_key + + @assay_sc_obs_key.setter + def assay_sc_obs_key(self, x: str): + self._assay_sc_obs_key = x + + @property + def assay_differentiation_obs_key(self) -> str: + return self._assay_differentiation_obs_key + + @assay_differentiation_obs_key.setter + def assay_differentiation_obs_key(self, x: str): + self._assay_differentiation_obs_key = x + + @property + def assay_type_differentiation_obs_key(self) -> str: + return self._assay_type_differentiation_obs_key + + @assay_type_differentiation_obs_key.setter + def assay_type_differentiation_obs_key(self, x: str): + self._assay_type_differentiation_obs_key = x + + @property + def bio_sample_obs_key(self) -> str: + return self._bio_sample_obs_key + + @bio_sample_obs_key.setter + def bio_sample_obs_key(self, x: str): + self._bio_sample_obs_key = x + + @property + def cell_line_obs_key(self) -> str: + return self._cell_line_obs_key + + @cell_line_obs_key.setter + def cell_line_obs_key(self, x: str): + self._cell_line_obs_key = x + + @property + def cellontology_class_obs_key(self) -> str: + return self._cellontology_class_obs_key + + @cellontology_class_obs_key.setter + def cellontology_class_obs_key(self, x: str): + self._cellontology_class_obs_key = x + + @property + def cellontology_id_obs_key(self) -> str: + return self._cellontology_id_obs_key + + @cellontology_id_obs_key.setter + def cellontology_id_obs_key(self, x: str): + self._cellontology_id_obs_key = x + + @property + def cell_types_original_obs_key(self) -> str: + return self._cell_types_original_obs_key + + @cell_types_original_obs_key.setter + def cell_types_original_obs_key(self, x: str): + self._cell_types_original_obs_key = x + + @property + def development_stage_obs_key(self) -> str: + return self._development_stage_obs_key + + @development_stage_obs_key.setter + def development_stage_obs_key(self, x: str): + self._development_stage_obs_key = x + + @property + def disease_obs_key(self) -> str: + return self._disease_obs_key + + @disease_obs_key.setter + def disease_obs_key(self, x: str): + self._disease_obs_key = x + + @property + def ethnicity_obs_key(self) -> str: + return self._ethnicity_obs_key + + @ethnicity_obs_key.setter + def ethnicity_obs_key(self, x: str): + self._ethnicity_obs_key = x + + @property + def individual_obs_key(self) -> str: + return self._individual_obs_key + + @individual_obs_key.setter + def individual_obs_key(self, x: str): + self._individual_obs_key = x + + @property + def organ_obs_key(self) -> str: + return self._organ_obs_key + + @organ_obs_key.setter + def organ_obs_key(self, x: str): + self._organ_obs_key = x + + @property + def organism_obs_key(self) -> str: + return self._organism_obs_key + + @organism_obs_key.setter + def organism_obs_key(self, x: str): + self._organism_obs_key = x + + @property + def sample_source_obs_key(self) -> str: + return self._sample_source_obs_key + + @sample_source_obs_key.setter + def sample_source_obs_key(self, x: str): + self._sample_source_obs_key = x + + @property + def sex_obs_key(self) -> str: + return self._sex_obs_key + + @sex_obs_key.setter + def sex_obs_key(self, x: str): + self._sex_obs_key = x + + @property + def state_exact_obs_key(self) -> str: + return self._state_exact_obs_key + + @state_exact_obs_key.setter + def state_exact_obs_key(self, x: str): + self._state_exact_obs_key = x + + @property + def tech_sample_obs_key(self) -> str: + return self._tech_sample_obs_key + + @tech_sample_obs_key.setter + def tech_sample_obs_key(self, x: str): + self._tech_sample_obs_key = x + + @property + def organ(self) -> Union[None, str]: + if self._organ is not None: + return self._organ + else: + if self.meta is None: + self.load_meta(fn=None) + if self.meta is not None and self._adata_ids.organ in self.meta.columns: + return self.meta[self._adata_ids.organ] + else: + return None + + @organ.setter + def organ(self, x: str): + x = self._value_protection(attr="organ", allowed=self.ontology_container_sfaira.organ, attempted=x) + self._organ = x + + @property + def organism(self) -> Union[None, str]: + if self._organism is not None: + return self._organism + else: + if self.meta is None: + self.load_meta(fn=None) + if self.meta is not None and self._adata_ids.organism in self.meta.columns: + return self.meta[self._adata_ids.organism] + else: + return None + + @organism.setter + def organism(self, x: str): + x = self._value_protection(attr="organism", allowed=self.ontology_container_sfaira.organism, attempted=x) + self._organism = x + + @property + def sample_source(self) -> Union[None, str]: + if self._sample_source is not None: + return self._sample_source + else: + if self.meta is None: + self.load_meta(fn=None) + if self.meta is not None and self._adata_ids.sample_source in self.meta.columns: + return self.meta[self._adata_ids.sample_source] + else: + return None + + @sample_source.setter + def sample_source(self, x: str): + x = self._value_protection(attr="sample_source", allowed=self.ontology_container_sfaira.sample_source, + attempted=x) + self._sample_source = x + + @property + def sex(self) -> Union[None, str]: + if self._sex is not None: + return self._sex + else: + if self.meta is None: + self.load_meta(fn=None) + if self.meta is not None and self._adata_ids.sex in self.meta.columns: + return self.meta[self._adata_ids.sex] + else: + return None + + @sex.setter + def sex(self, x: str): + x = self._value_protection(attr="sex", allowed=self.ontology_container_sfaira.sex, attempted=x) + self._sex = x + + @property + def source(self) -> str: + return self._source + + @source.setter + def source(self, x: Union[str, None]): + self._source = x + + @property + def state_exact(self) -> Union[None, str]: + if self._state_exact is not None: + return self._state_exact + else: + if self.meta is None: + self.load_meta(fn=None) + if self.meta is not None and self._adata_ids.state_exact in self.meta.columns: + return self.meta[self._adata_ids.state_exact] + else: + return None + + @state_exact.setter + def state_exact(self, x: str): + self._state_exact = x + + @property + def tech_sample(self) -> Union[None, str]: + if self._tech_sample is not None: + return self._tech_sample + else: + if self.meta is None: + self.load_meta(fn=None) + if self.meta is not None and self._adata_ids.tech_sample in self.meta.columns: + return self.meta[self._adata_ids.tech_sample] + else: + return None + + @tech_sample.setter + def tech_sample(self, x: str): + self._tech_sample = x + + @property + def gene_id_ensembl_var_key(self) -> str: + return self._gene_id_ensembl_var_key + + @gene_id_ensembl_var_key.setter + def gene_id_ensembl_var_key(self, x: str): + self._gene_id_ensembl_var_key = x + + @property + def gene_id_symbols_var_key(self) -> str: + return self._gene_id_symbols_var_key + + @gene_id_symbols_var_key.setter + def gene_id_symbols_var_key(self, x: str): + self._gene_id_symbols_var_key = x + + @property + def year(self) -> Union[None, int]: + if self._year is not None: + return self._year + else: + if self.meta is None: + self.load_meta(fn=None) + if self.meta is not None and self._adata_ids.year in self.meta.columns: + return self.meta[self._adata_ids.year] + else: + return None + + @year.setter + def year(self, x: int): + x = self._value_protection(attr="year", allowed=self.ontology_container_sfaira.year, attempted=x) + self._year = x + + @property + def ontology_celltypes(self): + return self.ontology_container_sfaira.cellontology_class + + @property + def ontology_organ(self): + return self.ontology_container_sfaira.organ + + @property + def celltypes_universe(self): + if self._celltype_universe is None: + self._celltype_universe = CelltypeUniverse( + cl=self.ontology_celltypes, + uberon=self.ontology_container_sfaira.organ, + ) + return self._celltype_universe + + @property + def cell_ontology_map(self) -> dict: + return self._ontology_class_map + + @cell_ontology_map.setter + def cell_ontology_map(self, x: pd.DataFrame): + assert x.shape[1] in [2, 3], f"{x.shape} in {self.id}" + assert x.columns[0] == self._adata_ids.classmap_source_key + assert x.columns[1] == self._adata_ids.classmap_target_key + # Check for weird entries: + # nan arises if columns was empty in that row. + nan_vals = np.where([ + False if isinstance(x, str) else (np.isnan(x) or x is None) + for x in x[self._adata_ids.classmap_target_key].values.tolist() + ])[0] + assert len(nan_vals) == 0, \ + f"Found nan target values in {self.id} for {x[self._adata_ids.classmap_target_key].values[nan_vals]}" + # Transform data frame into a mapping dictionary: + self._ontology_class_map = dict(list(zip( + x[self._adata_ids.classmap_source_key].values.tolist(), + x[self._adata_ids.classmap_target_key].values.tolist() + ))) + + def __crossref_query(self, k): + """ + Queries cross REST API via package crossref_commons. + + :param k: Key to extract from crossref query container. + :return: + """ + from crossref_commons.retrieval import get_entity + from crossref_commons.types import EntityType, OutputType + try: + attempt_counter = 0 + while True: + x = None + try: + attempt_counter += 1 + x = get_entity(self.doi_main, EntityType.PUBLICATION, OutputType.JSON)[k] + except ConnectionError as e: + # Terminate trial after 5 attempts with ConnectionError: + if attempt_counter > 5: + raise ConnectionError(e) + finally: + if k == "author": + pass + return x + except ValueError: + return None + except ConnectionError as e: + print(f"ConnectionError: {e}") + return None + + @property + def author(self) -> str: + if self._author is not None: + return self._author + else: + if self.meta is None: + self.load_meta(fn=None) + if self.meta is None or self._adata_ids.author not in self.meta.columns: + raise ValueError("author must be set but was neither set in constructor nor in meta data") + return self.meta[self._adata_ids.author] + + @author.setter + def author(self, x: str): + self._author = x + + @property + def title(self): + if self._title is not None: + return self._title + else: + if self.meta is None: + self.load_meta(fn=None) + if self.meta is not None and self._adata_ids.title in self.meta.columns: + return self.meta[self._adata_ids.title] + else: + return self.__crossref_query(k="title") + + # Private methods: + + def _value_protection( + self, + attr: str, + allowed: Union[Ontology, None], + attempted + ): + """ + Check whether value is from set of allowed values. + + Does not check if allowed is None. + Cleans entry to term name if ontology ID is provided. + + :param attr: Attribute to set. + :param allowed: Constraint for values of `attr`. + Either ontology instance used to constrain entries, or list of allowed values. + :param attempted: Value(s) to attempt to set in `attr`. + :return: + """ + if not isinstance(attempted, list): + if isinstance(attempted, np.ndarray): + attempted_ls = attempted.tolist() + elif isinstance(attempted, tuple): + attempted_ls = list(attempted) + else: + attempted_ls = [attempted] + else: + attempted_ls = attempted + attempted_clean = [] + for x in attempted_ls: + if allowed is None: + attempted_clean.append(x) + elif isinstance(allowed, Ontology): + if attr == "disease" and (x.lower() == "normal" or x.lower() == "healthy"): + # TODO required because of missing streamlining between sfaira and 10x, remove in future. + attempted_clean.append("healthy") + elif x in allowed.node_names: + attempted_clean.append(x) + else: + if isinstance(allowed, OntologyHierarchical) and x in allowed.node_ids: + attempted_clean.append(allowed.convert_to_name(x)) + else: + raise ValueError(f"'{x}' is not a valid entry for {attr}.") + else: + raise ValueError(f"allowed of type {type(allowed)} is not a valid entry for {attr}.") + # Flatten attempts if only one was made: + if len(attempted_clean) == 1: + attempted_clean = attempted_clean[0] + return attempted_clean + + def subset_cells(self, key, values): + """ + Subset list of adata objects based on cell-wise properties. + + These keys are properties that are not available in lazy model and require loading first because the + subsetting works on the cell-level: .adata are maintained but reduced to matches. + + :param key: Property to subset by. Options: + + - "assay_sc" points to self.assay_sc_obs_key + - "assay_differentiation" points to self.assay_differentiation_obs_key + - "assay_type_differentiation" points to self.assay_type_differentiation_obs_key + - "cell_line" points to self.cell_line + - "cellontology_class" points to self.cellontology_class_obs_key + - "developmental_stage" points to self.developmental_stage_obs_key + - "ethnicity" points to self.ethnicity_obs_key + - "organ" points to self.organ_obs_key + - "organism" points to self.organism_obs_key + - "sample_source" points to self.sample_source_obs_key + - "sex" points to self.sex_obs_key + - "state_exact" points to self.state_exact_obs_key + :param values: Classes to overlap to. + :return: + """ + if not isinstance(values, list): + values = [values] + + def get_subset_idx(samplewise_key, cellwise_key): + try: + sample_attr = getattr(self, samplewise_key) + if not isinstance(sample_attr, list): + sample_attr = [sample_attr] + except AttributeError: + sample_attr = None + obs_key = getattr(self, cellwise_key) + if sample_attr is not None and len(sample_attr) == 1: + # Only use sample-wise subsetting if the sample-wise attribute is unique (not mixed). + if np.any([x in values for x in sample_attr]): + idx = np.arange(1, self.ncells) + else: + idx = np.array([]) + elif obs_key is not None: + assert self.adata is not None, "adata was not yet loaded" + values_found = self.adata.obs[obs_key].values + values_found_unique = np.unique(values_found) + try: + ontology = getattr(self.ontology_container_sfaira, samplewise_key) + except AttributeError: + raise ValueError(f"{key} not a valid property of ontology_container object") + # Test only unique elements found in ontology to save time. + values_found_unique_matched = [ + x for x in values_found_unique if np.any([ + is_child(query=x, ontology=ontology, ontology_parent=y) + for y in values + ]) + ] + # TODO keep this logging for now to catch undesired behaviour resulting from loaded edges in ontologies. + print(f"matched cell-wise keys {str(values_found_unique_matched)} in data set {self.id}") + idx = np.where([x in values_found_unique_matched for x in values_found])[0] + else: + assert False, "no subset chosen" + return idx + + idx_keep = get_subset_idx(samplewise_key=key, cellwise_key=key + "_obs_key") + self.adata = self.adata[idx_keep, :].copy() # if len(idx_keep) > 0 else None + + def show_summary(self): + print(f"{(self.supplier, self.organism, self.organ, self.assay_sc, self.disease)}") + + def __assert_loaded(self): + if self.adata is None: + raise ValueError("adata was not loaded, this is necessary for this operation") diff --git a/sfaira/data/base/dataset_group.py b/sfaira/data/base/dataset_group.py new file mode 100644 index 000000000..98f2e2a70 --- /dev/null +++ b/sfaira/data/base/dataset_group.py @@ -0,0 +1,1347 @@ +from __future__ import annotations + +import anndata +import multiprocessing +import numpy as np +import pandas as pd +import os +from os import PathLike +import pandas +import pydoc +import scipy.sparse +from typing import Dict, List, Union +import warnings + +from sfaira.data.base.dataset import is_child, DatasetBase +from sfaira.versions.genomes import GenomeContainer +from sfaira.consts import AdataIds, AdataIdsSfaira +from sfaira.data.utils import read_yaml + +UNS_STRING_META_IN_OBS = "__obs__" + + +def map_fn(inputs): + """ + Functional to load data set with predefined additional actions. + + :param inputs: + :return: None if function ran, error report otherwise + """ + ds, load_raw, allow_caching, kwargs, func, kwargs_func = \ + inputs + try: + ds.load(load_raw=load_raw, allow_caching=allow_caching, **kwargs) + if func is not None: + x = func(ds, **kwargs_func) + ds.clear() + return x + else: + return None + except (FileNotFoundError, OSError) as e: + return ds.id, e, + + +load_doc = \ + """ + :param remove_gene_version: Remove gene version string from ENSEMBL ID so that different versions in different data sets are superimposed. + :param match_to_reference: Reference genomes name or False to keep original feature space. + :param load_raw: Loads unprocessed version of data if available in data loader. + :param allow_caching: Whether to allow method to cache adata object for faster re-loading. + """ + + +class DatasetGroup: + """ + Container class that co-manages multiple data sets, removing need to call Dataset() methods directly through + wrapping them. + + Example: + + #query loaders lung + #from sfaira.dev.data.loaders.lung import DatasetGroupLung as DatasetGroup + #dsg_humanlung = DatasetGroupHuman(path='path/to/data') + #dsg_humanlung.load_all(match_to_reference='Homo_sapiens_GRCh38_97') + #dsg_humanlung[some_id] + #dsg_humanlung.adata + """ + datasets: Dict[str, DatasetBase] + + def __init__(self, datasets: dict): + self._adata_ids = AdataIdsSfaira() + self.datasets = datasets + + @property + def _unknown_celltype_identifiers(self): + return np.unqiue(np.concatenate([v._unknown_celltype_identifiers for _, v in self.datasets.items()])) + + def load( + self, + annotated_only: bool = False, + load_raw: bool = False, + allow_caching: bool = True, + processes: int = 1, + func=None, + kwargs_func: Union[None, dict] = None, + **kwargs + ): + """ + Load all datasets in group (option for temporary loading). + + Note: This method automatically subsets to the group to the data sets for which input files were found. + + This method also allows temporarily loading data sets to execute function on loaded data sets (supply func). + In this setting, datasets are removed from memory after the function has been executed. + + :param annotated_only: + :param load_raw: + :param allow_caching: + :param processes: Processes to parallelise loading over. Uses python multiprocessing if > 1, for loop otherwise. + :param func: Function to run on loaded datasets. map_fun should only take one argument, which is a Dataset + instance. The return can be empty: + + def func(dataset, **kwargs_func): + # code manipulating dataset and generating output x. + return x + :param kwargs_func: Kwargs of func. + """ + args = [ + load_raw, + allow_caching, + kwargs, + func, + kwargs_func + ] + + if processes > 1 and len(self.datasets.items()) > 1: # multiprocessing parallelisation + print(f"using python multiprocessing (processes={processes}), " + f"for easier debugging revert to sequential execution (processes=1)") + with multiprocessing.Pool(processes=processes) as pool: + res = pool.starmap(map_fn, [ + (tuple([v] + args),) + for k, v in self.datasets.items() if v.annotated or not annotated_only + ]) + # Clear data sets that were not successfully loaded because of missing data: + for x in res: + if x is not None: + print(x[1]) + del self.datasets[x[0]] + else: # for loop + datasets_to_remove = [] + for k, v in self.datasets.items(): + print(f"loading {k}") + x = map_fn(tuple([v] + args)) + # Clear data sets that were not successfully loaded because of missing data: + if x is not None: + warnings.warn(f"data set {k} not loaded") + datasets_to_remove.append(k) + for k in datasets_to_remove: + del self.datasets[k] + + load.__doc__ += load_doc + + def streamline_metadata( + self, + schema: str = "sfaira", + uns_to_obs: bool = False, + clean_obs: bool = True, + clean_var: bool = True, + clean_uns: bool = True, + clean_obs_names: bool = True + ): + """ + Streamline the adata instance in each data set to output format. + Output format are saved in ADATA_FIELDS* classes. + + :param schema: Export format. + - "sfaira" + - "cellxgene" + :param uns_to_obs: Whether to move metadata in .uns to .obs to make sure it's not lost when concatenating multiple objects. + :param clean_obs: Whether to delete non-streamlined fields in .obs, .obsm and .obsp. + :param clean_var: Whether to delete non-streamlined fields in .var, .varm and .varp. + :param clean_uns: Whether to delete non-streamlined fields in .uns. + :param clean_obs_names: Whether to replace obs_names with a string comprised of dataset id and an increasing integer. + :return: + """ + for x in self.ids: + self.datasets[x].streamline_metadata( + schema=schema, + uns_to_obs=uns_to_obs, + clean_obs=clean_obs, + clean_var=clean_var, + clean_uns=clean_uns, + clean_obs_names=clean_obs_names + ) + + def streamline_features( + self, + match_to_reference: Union[str, Dict[str, str], None], + remove_gene_version: bool = True, + subset_genes_to_type: Union[None, str, List[str]] = None, + ): + """ + Subset and sort genes to genes defined in an assembly or genes of a particular type, such as protein coding. + :param match_to_reference: Which annotation to map the feature space to. Can be: + - str: Provide the name of the annotation in the format Organism.Assembly.Release + - dict: Mapping of organism to name of the annotation (see str format). Chooses annotation for each data set + based on organism annotation. + :param remove_gene_version: Whether to remove the version number after the colon sometimes found in ensembl gene ids. + :param subset_genes_to_type: Type(s) to subset to. Can be a single type or a list of types or None. Types can be: + - None: All genes in assembly. + - "protein_coding": All protein coding genes in assembly. + """ + for x in self.ids: + self.datasets[x].streamline_features( + match_to_reference=match_to_reference, + remove_gene_version=remove_gene_version, + subset_genes_to_type=subset_genes_to_type, + ) + + def collapse_counts(self): + """ + Collapse count matrix along duplicated index. + """ + for x in self.ids: + self.datasets[x].collapse_counts() + + def write_distributed_store( + self, + dir_cache: Union[str, os.PathLike], + store_format: str = "dao", + dense: bool = False, + compression_kwargs: dict = {}, + chunks: Union[int, None] = None, + ): + """ + Write data set into a format that allows distributed access to data set on disk. + + Stores are useful for distributed access to data sets, in many settings this requires some streamlining of the + data sets that are accessed. Use .streamline_* before calling this method to streamline the data sets. + This method writes a separate file for each data set in this object. + + :param dir_cache: Directory to write cache in. + :param store_format: Disk format for objects in cache. Recommended is "dao". + + - "h5ad": Allows access via backed .h5ad. + Note on compression: .h5ad supports sparse data with is a good compression that gives fast row-wise + access if the files are csr, so further compression potentially not necessary. + - "dao": Distributed access optimised format, recommended for batched access in optimisation, for example. + :param dense: Whether to write sparse or dense store, this will be homogenously enforced. + :param compression_kwargs: Compression key word arguments to give to h5py or zarr + For store_format=="h5ad", see also anndata.AnnData.write_h5ad: + - compression, + - compression_opts. + For store_format=="dao", see also sfaira.data.write_dao which relays kwargs to + zarr.hierarchy.create_dataset: + - compressor + - overwrite + - order + and others. + :param chunks: Observation axes of chunk size of zarr array, see anndata.AnnData.write_zarr documentation. + Only relevant for store=="dao". The feature dimension of the chunks is always is the full feature space. + Uses zarr default chunking across both axes if None. + """ + for _, v in self.datasets.items(): + v.write_distributed_store(dir_cache=dir_cache, store_format=store_format, dense=dense, + compression_kwargs=compression_kwargs, chunks=chunks) + + def write_backed( + self, + adata_backed: anndata.AnnData, + genome: str, + idx: List[np.ndarray], + annotated_only: bool = False, + load_raw: bool = False, + allow_caching: bool = True, + ): + """ + Loads data set group into slice of backed anndata object. + + Subsets self.datasets to the data sets that were found. Note that feature space is automatically formatted as + this is necessary for concatenation. + + :param adata_backed: Anndata instance to load into. + :param genome: Genome container target genomes loaded. + :param idx: Indices in adata_backed to write observations to. This can be used to immediately create a + shuffled object. This has to be a list of the length of self.data, one index array for each dataset. + :param annotated_only: + :param load_raw: See .load(). + :param allow_caching: See .load(). + :return: New row index for next element to be written into backed anndata. + """ + i = 0 + for x in self.ids: + # if this is for celltype prediction, only load the data with have celltype annotation + try: + if self.datasets[x].annotated or not annotated_only: + self.datasets[x].write_backed( + adata_backed=adata_backed, + genome=genome, + idx=idx[i], + load_raw=load_raw, + allow_caching=allow_caching + ) + i += 1 + except FileNotFoundError: + del self.datasets[x] + + def write_ontology_class_map( + self, + fn, + protected_writing: bool = True, + **kwargs + ): + """ + Write cell type maps of free text cell types to ontology classes. + + :param fn: File name of tsv to write class maps to. + :param protected_writing: Only write if file was not already found. + """ + tab = [] + for k, v in self.datasets.items(): + if v.annotated: + labels_original = np.sort(np.unique(np.concatenate([ + v.adata.obs[v.cell_types_original_obs_key].values + ]))) + tab.append(v.celltypes_universe.prepare_celltype_map_tab( + source=labels_original, + match_only=False, + anatomical_constraint=v.organ, + include_synonyms=True, + omit_list=v._unknown_celltype_identifiers, + **kwargs + )) + if len(tab) == 0: + warnings.warn("attempted to write ontology classmaps for group without annotated data sets") + else: + tab = pandas.concat(tab, axis=0) + # Take out columns with the same source: + tab = tab.loc[[x not in tab.iloc[:i, 0].values for i, x in enumerate(tab.iloc[:, 0].values)], :].copy() + tab = tab.sort_values(self._adata_ids.classmap_source_key) + if not os.path.exists(fn) or not protected_writing: + tab.to_csv(fn, index=False, sep="\t") + + def download(self, **kwargs): + for _, v in self.datasets.items(): + v.download(**kwargs) + + @property + def ids(self): + return list(self.datasets.keys()) + + @property + def adata_ls(self): + adata_ls = [] + for i in self.ids: + if self.datasets[i] is not None: + if self.datasets[i].adata is not None: + adata_ls.append(self.datasets[i].adata) + return adata_ls + + @property + def adata(self): + adata_ls = self.adata_ls + if not adata_ls: + return None + if len(adata_ls) == 1: + for i in self.ids: + if self.datasets[i] is not None: + if self.datasets[i].adata is not None: + ds_id = i + adata_concat = adata_ls[0] + adata_concat.obs[self._adata_ids.dataset] = ds_id + else: + # Check that all individual adata objects in linked Dataset instances have identicall streamlined features and metadata + match_ref_list = [] + rm_gene_ver_list = [] + gene_type_list = [] + for d_id in self.ids: + if self.datasets[d_id].adata is not None: + assert self.datasets[d_id].mapped_features, f"Dataset {d_id} does not seem to have a streamlined " \ + f"featurespace. To obtain an adata object from this " \ + f"DatasetGroup, all contained Datasets need to have a " \ + f"streamlined featurespace. Run .streamline_features()" \ + f" first." + assert self.datasets[d_id].streamlined_meta, f"Dataset {d_id} does not seem to have streamlined " \ + f"metadata. To obtain an adata object from this " \ + f"DatasetGroup, all contained Datasets need to have " \ + f"streamlined metadata. Run .streamline_metadata() first." + match_ref_list.append(self.datasets[d_id].mapped_features) + rm_gene_ver_list.append(self.datasets[d_id].remove_gene_version) + gene_type_list.append(self.datasets[d_id].subset_gene_type) + assert len(set(match_ref_list)) == 1, \ + "Not all datasets in this group had their features matched to the same reference (argument " \ + "'match_to_reference' of method .streamline_features())." \ + "This is however a prerequisite for creating a combined adata object." + assert len(set(rm_gene_ver_list)) == 1, \ + "Not all datasets in this group have had their gene version removed (argument 'remove_gene_version' of " \ + "method .streamline_features()). This is however a prerequisite for creating a combined adata object." + assert len(set(gene_type_list)) == 1, \ + "Not all datasets in this group had their featurespace subsetted to the same gene type (argument " \ + "'subset_gene_type' of method .streamline_features()). This is however a prerequisite for creating a " \ + "combined adata object." + + var_original = adata_ls[0].var.copy() + for a in adata_ls: + a.var_names_make_unique() + # TODO: need to keep this? -> yes, still catching errors here (March 2020) + # Fix for loading bug: sometime concatenating sparse matrices fails the first time but works on second try. + try: + adata_concat = adata_ls[0].concatenate( + *adata_ls[1:], + join="outer", + batch_key=self._adata_ids.dataset, + batch_categories=[i for i in self.ids if self.datasets[i].adata is not None], + index_unique=None + ) + except ValueError: + adata_concat = adata_ls[0].concatenate( + *adata_ls[1:], + join="outer", + batch_key=self._adata_ids.dataset, + batch_categories=[i for i in self.ids if self.datasets[i].adata is not None], + index_unique=None + ) + adata_concat.var = var_original + adata_concat.uns[self._adata_ids.mapped_features] = match_ref_list[0] + + return adata_concat + + def obs_concat(self, keys: Union[list, None] = None): + """ + Returns concatenation of all .obs. + + Uses union of all keys if keys is not provided. + + :param keys: + :return: + """ + if keys is None: + keys = np.unique(np.concatenate([list(x.obs.columns) for x in self.adata_ls])) + obs_concat = pandas.concat([pandas.DataFrame(dict( + [ + (k, self.datasets[x].adata.obs[k]) if k in self.datasets[x].adata.obs.columns + else (k, ["nan" for _ in range(self.datasets[x].adata.obs.shape[0])]) + for k in keys + ] + [(self._adata_ids.dataset, [x for _ in range(self.datasets[x].adata.obs.shape[0])])] + )) for x in self.ids if self.datasets[x].adata is not None]) + return obs_concat + + def ncells_bydataset(self, annotated_only: bool = False) -> np.ndarray: + cells = [] + for x in self.ids: + # if this is for celltype prediction, only load the data with have celltype annotation + try: + if self.datasets[x].annotated or not annotated_only: + cells.append(self.datasets[x].ncells) + except FileNotFoundError: + del self.datasets[x] + return np.asarray(cells) + + def ncells(self, annotated_only: bool = False): + cells = self.ncells_bydataset(annotated_only=annotated_only) + return np.sum(cells) + + @property + def ontology_celltypes(self): + organism = np.unique([v.organism for _, v in self.datasets.items()]) + if len(organism) > 1: + # ToDo: think about whether this should be handled differently. + warnings.warn("found more than one organism in group, this could cause problems with using a joined cell " + "type ontology. Using only the ontology of the first data set in the group.") + return self.datasets[self.ids[0]].ontology_celltypes + + def project_celltypes_to_ontology(self, adata_fields: Union[AdataIds, None] = None, copy=False): + """ + Project free text cell type names to ontology based on mapping table. + :return: + """ + for _, v in self.datasets.items(): + v.project_celltypes_to_ontology(adata_fields=adata_fields, copy=copy) + + def subset(self, key, values: Union[list, tuple, np.ndarray]): + """ + Subset list of adata objects based on sample-wise properties. + + These keys are properties that are available in lazy model. + Subsetting happens on .datasets. + + :param key: Property to subset by. + :param values: Classes to overlap to. Return if elements match any of these classes. + :return: + """ + ids_del = [] + if isinstance(values, np.ndarray): + values = values.tolist() + if isinstance(values, tuple): + values = list(values) + if not isinstance(values, list): + values = [values] + for x in self.ids: + try: + values_found = getattr(self.datasets[x], key) + except AttributeError: + raise ValueError(f"{key} not a valid property of data set object") + try: + ontology = getattr(self.datasets[x].ontology_container_sfaira, key) + except AttributeError: + raise ValueError(f"{key} not a valid property of ontology_container object") + if values_found is None: + # Delete entries which do not have this meta data item annotated. + ids_del.append(x) + else: + if not isinstance(values_found, list): + values_found = [values_found] + if not np.any([ + np.any([ + is_child(query=y, ontology=ontology, ontology_parent=z) + for z in values + ]) for y in values_found + ]): + # Delete entries which a non-matching meta data value associated with this item. + ids_del.append(x) + for x in ids_del: + del self.datasets[x] + + def subset_cells(self, key, values: Union[str, List[str]]): + """ + Subset list of adata objects based on cell-wise properties. + + These keys are properties that are not available in lazy model and require loading first because the + subsetting works on the cell-level: .adata are maintained but reduced to matches. + + :param key: Property to subset by. Options: + + - "assay_differentiation" points to self.assay_differentiation_obs_key + - "assay_sc" points to self.assay_sc_obs_key + - "assay_type_differentiation" points to self.assay_type_differentiation_obs_key + - "cell_line" points to self.cell_line + - "cellontology_class" points to self.cellontology_class_obs_key + - "developmental_stage" points to self.developmental_stage_obs_key + - "ethnicity" points to self.ethnicity_obs_key + - "organ" points to self.organ_obs_key + - "organism" points to self.organism_obs_key + - "sample_source" points to self.sample_source_obs_key + - "sex" points to self.sex_obs_key + - "state_exact" points to self.state_exact_obs_key + :param values: Classes to overlap to. + :return: + """ + for x in self.ids: + self.datasets[x].subset_cells(key=key, values=values) + if self.datasets[x].ncells == 0: # No observations (cells) left. + del self.datasets[x] + + @property + def additional_annotation_key(self) -> Dict[str, Union[None, str]]: + """" + Return dictionary of additional_annotation_key for each data set with ids as keys. + """ + return dict([ + (k, self.datasets[k].additional_annotation_key) + for k, v in self.datasets.items() + ]) + + @additional_annotation_key.setter + def additional_annotation_key(self, x: Dict[str, Union[None, str]]): + """ + Allows setting of additional_annotation_key in a subset of datasets identifed by keys in x. + + :param x: Dictionary with data set ids in keys and new _additional_annotation_key values to be setted in values. + Note that you can either add or change secondary annotation by setting a value to a string or remove it + by setting a value to None. + :return: + """ + for k, v in x.items(): + self.datasets[k].additional_annotation_key = v + + @property + def doi(self) -> List[str]: + """ + Propagates DOI annotation from contained datasets. + """ + dois = [] + for _, v in self.datasets.items(): + vdoi = v.doi + if isinstance(vdoi, str): + vdoi = [vdoi] + dois.extend(vdoi) + return np.sort(np.unique(vdoi)).tolist() + + @property + def supplier(self) -> List[str]: + """ + Propagates supplier annotation from contained datasets. + """ + supplier = [v.supplier for _, v in self.datasets.items()] + return np.sort(np.unique(supplier)).tolist() + + def show_summary(self): + for k, v in self.datasets.items(): + print(k) + print(f"\t {(v.supplier, v.organism, v.organ, v.assay_sc, v.disease)}") + + +class DatasetGroupDirectoryOriented(DatasetGroup): + + _cwd: os.PathLike + + def __init__( + self, + file_base: str, + data_path: Union[str, None] = None, + meta_path: Union[str, None] = None, + cache_path: Union[str, None] = None, + ): + """ + Automatically collects Datasets from python files in directory. + + Uses a pre-built DatasetGroup if this is defined in a group.py file, otherwise, the DatasetGroup is initialised + here. + + :param file_base: + :param data_path: + :param meta_path: + :param cache_path: + """ + # Collect all data loaders from files in directory: + datasets = [] + self._cwd = os.path.dirname(file_base) + dataset_module = str(self._cwd.split("/")[-1]) + package_source = "sfaira" if str(self._cwd.split("/")[-5]) == "sfaira" else "sfairae" + loader_pydoc_path_sfaira = "sfaira.data.dataloaders.loaders." + loader_pydoc_path_sfairae = "sfaira_extension.data.dataloaders.loaders." + loader_pydoc_path = loader_pydoc_path_sfaira if package_source == "sfaira" else loader_pydoc_path_sfairae + if "group.py" in os.listdir(self._cwd): + DatasetGroupFound = pydoc.locate(loader_pydoc_path + dataset_module + ".group.DatasetGroup") + dsg = DatasetGroupFound(data_path=data_path, meta_path=meta_path, cache_path=cache_path) + datasets.extend(list(dsg.datasets.values)) + else: + for f in os.listdir(self._cwd): + if os.path.isfile(os.path.join(self._cwd, f)): # only files + # Narrow down to data set files: + if f.split(".")[-1] == "py" and f.split(".")[0] not in ["__init__", "base", "group"]: + datasets_f = [] + file_module = ".".join(f.split(".")[:-1]) + DatasetFound = pydoc.locate(loader_pydoc_path + dataset_module + "." + file_module + ".Dataset") + # Load objects from name space: + # - load(): Loading function that return anndata instance. + # - SAMPLE_FNS: File name list for DatasetBaseGroupLoadingManyFiles + load_func = pydoc.locate(loader_pydoc_path + dataset_module + "." + file_module + ".load") + load_func_annotation = \ + pydoc.locate(loader_pydoc_path + dataset_module + "." + file_module + ".LOAD_ANNOTATION") + # Also check sfaira_extension for additional load_func_annotation: + if package_source != "sfairae": + load_func_annotation_sfairae = pydoc.locate(loader_pydoc_path_sfairae + dataset_module + + "." + file_module + ".LOAD_ANNOTATION") + # LOAD_ANNOTATION is a dictionary so we can use update to extend it. + if load_func_annotation_sfairae is not None and load_func_annotation is not None: + load_func_annotation.update(load_func_annotation_sfairae) + elif load_func_annotation_sfairae is not None and load_func_annotation is None: + load_func_annotation = load_func_annotation_sfairae + sample_fns = pydoc.locate(loader_pydoc_path + dataset_module + "." + file_module + + ".SAMPLE_FNS") + fn_yaml = os.path.join(self._cwd, file_module + ".yaml") + fn_yaml = fn_yaml if os.path.exists(fn_yaml) else None + # Check for sample_fns in yaml: + if fn_yaml is not None: + assert os.path.exists(fn_yaml), f"did not find yaml {fn_yaml}" + yaml_vals = read_yaml(fn=fn_yaml) + if sample_fns is None and yaml_vals["meta"]["sample_fns"] is not None: + sample_fns = yaml_vals["meta"]["sample_fns"] + if sample_fns is None: + sample_fns = [None] + # Here we distinguish between class that are already defined and those that are not. + # The latter case arises if meta data are defined in YAMLs and _load is given as a function. + if DatasetFound is None: + for x in sample_fns: + datasets_f.append( + DatasetBase( + data_path=data_path, + meta_path=meta_path, + cache_path=cache_path, + load_func=load_func, + dict_load_func_annotation=load_func_annotation, + sample_fn=x, + sample_fns=sample_fns if sample_fns != [None] else None, + yaml_path=fn_yaml, + ) + ) + else: + for x in sample_fns: + datasets_f.append( + DatasetFound( + data_path=data_path, + meta_path=meta_path, + cache_path=cache_path, + load_func=load_func, + load_func_annotation=load_func_annotation, + sample_fn=x, + sample_fns=sample_fns if sample_fns != [None] else None, + yaml_path=fn_yaml, + ) + ) + # Load cell type maps: + for x in datasets_f: + x.load_ontology_class_map(fn=os.path.join(self._cwd, file_module + ".tsv")) + datasets.extend(datasets_f) + + keys = [x.id for x in datasets] + super().__init__(datasets=dict(zip(keys, datasets))) + + def clean_ontology_class_map(self): + """ + Finalises processed class maps of free text cell types to ontology classes. + + Checks that the assigned ontology class names appear in the ontology. + Adds a third column with the corresponding ontology IDs into the file. + + :return: + """ + for f in os.listdir(self._cwd): + if os.path.isfile(os.path.join(self._cwd, f)): # only files + # Narrow down to data set files: + if f.split(".")[-1] == "py" and f.split(".")[0] not in ["__init__", "base", "group"]: + file_module = ".".join(f.split(".")[:-1]) + fn_map = os.path.join(self._cwd, file_module + ".tsv") + if os.path.exists(fn_map): + # Access reading and value protection mechanisms from first data set loaded in group. + tab = list(self.datasets.values())[0]._read_class_map(fn=fn_map) + # Checks that the assigned ontology class names appear in the ontology. + list(self.datasets.values())[0]._value_protection( + attr="celltypes", + allowed=self.ontology_celltypes, + attempted=[ + x for x in np.unique(tab[self._adata_ids.classmap_target_key].values).tolist() + if x not in [ + self._adata_ids.unknown_celltype_identifier, + self._adata_ids.not_a_cell_celltype_identifier + ] + ] + ) + # Adds a third column with the corresponding ontology IDs into the file. + tab[self._adata_ids.classmap_target_id_key] = [ + self.ontology_celltypes.convert_to_id(x) + if x != self._adata_ids.unknown_celltype_identifier and + x != self._adata_ids.not_a_cell_celltype_identifier + else self._adata_ids.unknown_celltype_identifier + for x in tab[self._adata_ids.classmap_target_key].values + ] + list(self.datasets.values())[0]._write_class_map(fn=fn_map, tab=tab) + + +class DatasetSuperGroup: + """ + Container for multiple DatasetGroup instances. + + Used to manipulate structured dataset collections. Primarly designed for this manipulation, convert to DatasetGroup + via flatten() for more functionalities. + """ + _adata: Union[None, anndata.AnnData] + fn_backed: Union[None, PathLike] + dataset_groups: Union[list, List[DatasetGroup], List[DatasetSuperGroup]] + + def __init__(self, dataset_groups: Union[None, List[DatasetGroup], List[DatasetSuperGroup]]): + self._adata = None + self.fn_backed = None + self.set_dataset_groups(dataset_groups=dataset_groups) + + self._adata_ids = AdataIdsSfaira() + + def set_dataset_groups(self, dataset_groups: Union[DatasetGroup, DatasetSuperGroup, List[DatasetGroup], + List[DatasetSuperGroup]]): + if isinstance(dataset_groups, DatasetGroup) or isinstance(dataset_groups, DatasetSuperGroup): + dataset_groups = [dataset_groups] + if len(dataset_groups) > 0: + if isinstance(dataset_groups[0], DatasetGroup): + self.dataset_groups = dataset_groups + elif isinstance(dataset_groups[0], DatasetSuperGroup): + # Decompose super groups first + dataset_groups_proc = [] + for x in dataset_groups: + dataset_groups_proc.extend(x.dataset_groups) + self.dataset_groups = dataset_groups_proc + else: + assert False + else: + self.dataset_groups = [] + + def extend_dataset_groups(self, dataset_groups: Union[List[DatasetGroup], List[DatasetSuperGroup]]): + if isinstance(dataset_groups[0], DatasetGroup): + self.dataset_groups.extend(dataset_groups) + elif isinstance(dataset_groups[0], DatasetSuperGroup): + # Decompose super groups first + dataset_groups_proc = [] + for x in dataset_groups: + dataset_groups_proc.extend(x.datasets) + self.dataset_groups.extend(dataset_groups_proc) + else: + assert False + + @property + def ids(self): + ids = [] + for x in self.dataset_groups: + ids.extend(x.ids) + return ids + + def get_gc( + self, + genome: str = None + ): + if genome.lower().startswith("homo_sapiens") or genome.lower().startswith("mus_musculus"): + g = GenomeContainer( + assembly=genome + ) + else: + raise ValueError(f"Genome {genome} not recognised. Needs to start with 'Mus_Musculus' or 'Homo_Sapiens'.") + return g + + def ncells_bydataset(self, annotated_only: bool = False): + """ + List of list of length of all data sets by data set group. + :return: + """ + return [x.ncells_bydataset(annotated_only=annotated_only) for x in self.dataset_groups] + + def ncells_bydataset_flat(self, annotated_only: bool = False): + """ + Flattened list of length of all data sets. + :return: + """ + return [xx for x in self.ncells_bydataset(annotated_only=annotated_only) for xx in x] + + def ncells(self, annotated_only: bool = False): + return np.sum(self.ncells_bydataset_flat(annotated_only=annotated_only)) + + @property + def datasets(self) -> Dict[str, DatasetBase]: + """ + Returns DatasetGroup (rather than self = DatasetSuperGroup) containing all listed data sets. + + :return: + """ + ds = {} + for x in self.dataset_groups: + for k, v in x.datasets.items(): + assert k not in ds.keys(), f"{k} was duplicated in super group, remove duplicates before flattening" + ds[k] = v + return ds + + def flatten(self) -> DatasetGroup: + """ + Returns DatasetGroup (rather than self = DatasetSuperGroup) containing all listed data sets. + + :return: + """ + ds = {} + for x in self.dataset_groups: + for k, v in x.datasets.items(): + assert k not in ds.keys(), f"{k} was duplicated in super group, purge duplicates before flattening" + ds[k] = v + return DatasetGroup(datasets=ds) + + def download(self, **kwargs): + for x in self.dataset_groups: + x.download(**kwargs) + + def load( + self, + annotated_only: bool = False, + load_raw: bool = False, + allow_caching: bool = True, + processes: int = 1, + **kwargs + ): + """ + Loads data set human into anndata object. + + :param annotated_only: + :param load_raw: See .load(). + :param allow_caching: See .load(). + :param processes: Processes to parallelise loading over. Uses python multiprocessing if > 1, for loop otherwise. + Note: parallelises loading of each dataset group, but not across groups. + :return: + """ + for x in self.dataset_groups: + x.load( + annotated_only=annotated_only, + load_raw=load_raw, + allow_caching=allow_caching, + processes=processes, + **kwargs + ) + + def streamline_features( + self, + match_to_reference: Union[str, Dict[str, str], None], + remove_gene_version: bool = True, + subset_genes_to_type: Union[None, str, List[str]] = None, + ): + """ + Subset and sort genes to genes defined in an assembly or genes of a particular type, such as protein coding. + :param match_to_reference: Which annotation to map the feature space to. Can be: + - str: Provide the name of the annotation in the format Organism.Assembly.Release + - dict: Mapping of organism to name of the annotation (see str format). Chooses annotation for each data set + based on organism annotation. + :param remove_gene_version: Whether to remove the version number after the colon sometimes found in ensembl gene ids. + :param subset_genes_to_type: Type(s) to subset to. Can be a single type or a list of types or None. Types can be: + - None: All genes in assembly. + - "protein_coding": All protein coding genes in assembly. + """ + for x in self.dataset_groups: + x.streamline_features( + match_to_reference=match_to_reference, + remove_gene_version=remove_gene_version, + subset_genes_to_type=subset_genes_to_type, + ) + + def collapse_counts(self): + """ + Collapse count matrix along duplicated index. + """ + for x in self.dataset_groups: + x.collapse_counts() + + @property + def adata_ls(self): + adata_ls = [] + for k, v in self.flatten().datasets.items(): + if v.adata is not None: + adata_ls.append(v.adata) + return adata_ls + + @property + def adata(self): + adata_ls = self.adata_ls + if not adata_ls: + return None + if len(adata_ls) == 1: + for i in self.ids: + if self.datasets[i] is not None: + if self.datasets[i].adata is not None: + ds_id = i + adata_concat = adata_ls[0] + adata_concat.obs[self._adata_ids.dataset] = ds_id + else: + # Check that all individual adata objects in linked Dataset instances have identicall streamlined features and metadata + match_ref_list = [] + rm_gene_ver_list = [] + gene_type_list = [] + for d_id in self.flatten().ids: + if self.flatten().datasets[d_id].adata is not None: + assert self.flatten().datasets[d_id].mapped_features, f"Dataset {d_id} does not seem to have a streamlined " \ + f"featurespace. To obtain an adata object from this " \ + f"DatasetGroup, all contained Datasets need to have a " \ + f"streamlined featurespace. Run .streamline_features()" \ + f" first." + assert self.flatten().datasets[d_id].streamlined_meta, f"Dataset {d_id} does not seem to have streamlined " \ + f"metadata. To obtain an adata object from this " \ + f"DatasetGroup, all contained Datasets need to have " \ + f"streamlined metadata. Run .streamline_metadata() first." + match_ref_list.append(self.flatten().datasets[d_id].mapped_features) + rm_gene_ver_list.append(self.flatten().datasets[d_id].remove_gene_version) + gene_type_list.append(self.flatten().datasets[d_id].subset_gene_type) + assert len(set(match_ref_list)) == 1, \ + "Not all datasets in this group had their features matched to the same reference (argument " \ + "'match_to_reference' of method .streamline_features()). This is however a prerequisite for creating a " \ + "combined adata object." + assert len(set(rm_gene_ver_list)) == 1, \ + "Not all datasets in this group have had their gene version removed (argument 'remove_gene_version' of " \ + "method .streamline_features()). This is however a prerequisite for creating a combined adata object." + assert len(set(gene_type_list)) == 1, \ + "Not all datasets in this group had their featurespace subsetted to the same gene type (argument " \ + "'subset_gene_type' of method .streamline_features()). This is however a prerequisite for creating a " \ + "combined adata object." + + var_original = adata_ls[0].var.copy() + for a in adata_ls: + a.var_names_make_unique() + # TODO: need to keep this? -> yes, still catching errors here (March 2020) + # Fix for loading bug: sometime concatenating sparse matrices fails the first time but works on second try. + try: + adata_concat = adata_ls[0].concatenate( + *adata_ls[1:], + join="outer", + batch_key=self._adata_ids.dataset, + batch_categories=[i for i in self.ids if self.flatten().datasets[i].adata is not None], + index_unique=None + ) + except ValueError: + adata_concat = adata_ls[0].concatenate( + *adata_ls[1:], + join="outer", + batch_key=self._adata_ids.dataset, + batch_categories=[i for i in self.ids if self.flatten().datasets[i].adata is not None], + index_unique=None + ) + adata_concat.var = var_original + adata_concat.uns[self._adata_ids.mapped_features] = match_ref_list[0] + + return adata_concat + + def write_distributed_store( + self, + dir_cache: Union[str, os.PathLike], + store_format: str = "dao", + dense: bool = False, + compression_kwargs: dict = {}, + chunks: Union[int, None] = None, + ): + """ + Write data set into a format that allows distributed access to data set on disk. + + Stores are useful for distributed access to data sets, in many settings this requires some streamlining of the + data sets that are accessed. Use .streamline_* before calling this method to streamline the data sets. + This method writes a separate file for each data set in this object. + + :param dir_cache: Directory to write cache in. + :param store_format: Disk format for objects in cache. Recommended is "dao". + + - "h5ad": Allows access via backed .h5ad. + Note on compression: .h5ad supports sparse data with is a good compression that gives fast row-wise + access if the files are csr, so further compression potentially not necessary. + - "dao": Distributed access optimised format, recommended for batched access in optimisation, for example. + :param dense: Whether to write sparse or dense store, this will be homogenously enforced. + :param compression_kwargs: Compression key word arguments to give to h5py or zarr + For store_format=="h5ad", see also anndata.AnnData.write_h5ad: + - compression, + - compression_opts. + For store_format=="dao", see also sfaira.data.write_dao which relays kwargs to + zarr.hierarchy.create_dataset: + - compressor + - overwrite + - order + and others. + :param chunks: Observation axes of chunk size of zarr array, see anndata.AnnData.write_zarr documentation. + Only relevant for store=="dao". The feature dimension of the chunks is always is the full feature space. + Uses zarr default chunking across both axes if None. + """ + for x in self.dataset_groups: + x.write_distributed_store(dir_cache=dir_cache, store_format=store_format, dense=dense, + compression_kwargs=compression_kwargs, chunks=chunks) + + def write_backed( + self, + fn_backed: PathLike, + genome: str, + shuffled: bool = False, + as_dense: bool = False, + annotated_only: bool = False, + load_raw: bool = False, + allow_caching: bool = True, + ): + """ + Loads data set human into backed anndata object. + + TODO replace streamlining in here by required call to .streamline() before. + + Example usage: + + ds = DatasetSuperGroup([...]) + ds.write_backed( + fn_backed="...", + target_genome="...", + annotated_only=False + ) + adata_backed = anndata.read(ds.fn_backed, backed='r') + adata_slice = ad_full[idx] + + :param fn_backed: File name to save backed anndata to temporarily. + :param genome: ID of target genomes. + :param shuffled: Whether to shuffle data when writing to backed. + :param as_dense: Whether to load into dense count matrix. + :param annotated_only: + :param load_raw: See .load(). + :param allow_caching: See .load(). + """ + if shuffled and not as_dense: + raise ValueError("cannot write backed shuffled and sparse") + scatter_update = shuffled or as_dense + self.fn_backed = fn_backed + n_cells = self.ncells(annotated_only=annotated_only) + gc = self.get_gc(genome=genome) + n_genes = gc.n_var + if scatter_update: + self.adata = anndata.AnnData( + scipy.sparse.csr_matrix((n_cells, n_genes), dtype=np.float32) + ) # creates an empty anndata object with correct dimensions that can be filled with cells from data sets + else: + self.adata = anndata.AnnData( + scipy.sparse.csr_matrix((0, n_genes), dtype=np.float32) + ) + self.adata.filename = fn_backed # setting this attribute switches this anndata to a backed object + # Note that setting .filename automatically redefines .X as dense, so we have to redefine it as sparse: + if not as_dense: + X = scipy.sparse.csr_matrix(self.adata.X) # redefines this backed anndata as sparse + X.indices = X.indices.astype(np.int64) + X.indptr = X.indptr.astype(np.int64) + self.adata.X = X + keys = [ + self._adata_ids.annotated, + self._adata_ids.assay_sc, + self._adata_ids.assay_differentiation, + self._adata_ids.assay_type_differentiation, + self._adata_ids.author, + self._adata_ids.cell_line, + self._adata_ids.dataset, + self._adata_ids.cellontology_class, + self._adata_ids.development_stage, + self._adata_ids.normalization, + self._adata_ids.organ, + self._adata_ids.bio_sample, + self._adata_ids.state_exact, + self._adata_ids.year, + ] + if scatter_update: + self.adata.obs = pandas.DataFrame({ + k: ["nan" for _ in range(n_cells)] for k in keys + }) + else: + for k in keys: + self.adata.obs[k] = [] + # Define index vectors to write to: + idx_vector = np.arange(0, n_cells) + if shuffled: + np.random.shuffle(idx_vector) + idx_ls = [] + row = 0 + ncells = self.ncells_bydataset(annotated_only=annotated_only) + if np.all([len(x) == 0 for x in ncells]): + raise ValueError("no datasets found") + for x in ncells: + temp_ls = [] + for y in x: + temp_ls.append(idx_vector[row:(row + y)]) + row += y + idx_ls.append(temp_ls) + print("checking expected and received data set sizes, rerun meta data generation if mismatch is found:") + print(self.ncells_bydataset(annotated_only=annotated_only)) + print([[len(x) for x in xx] for xx in idx_ls]) + for i, x in enumerate(self.dataset_groups): + x.write_backed( + adata_backed=self.adata, + genome=genome, + idx=idx_ls[i], + annotated_only=annotated_only, + load_raw=load_raw, + allow_caching=allow_caching, + ) + # If the sparse non-shuffled approach is used, make sure that self.adata.obs.index is unique() before saving + if not scatter_update: + self.adata.obs.index = pd.RangeIndex(0, len(self.adata.obs.index)) + # Explicitly write backed file to disk again to make sure that obs are included and that n_obs is set correctly + self.adata.write() + # Saving obs separately below is therefore no longer required (hence commented out) + # fn_backed_obs = ".".join(self.fn_backed.split(".")[:-1]) + "_obs.csv" + # self.adata.obs.to_csv(fn_backed_obs) + + def delete_backed(self): + del self.adata + self.adata = None + os.remove(str(self.fn_backed)) + + def load_cached_backed(self, fn: PathLike): + self.adata = anndata.read(fn, backed='r') + + def streamline_metadata( + self, + schema: str = "sfaira", + uns_to_obs: bool = False, + clean_obs: bool = True, + clean_var: bool = True, + clean_uns: bool = True, + clean_obs_names: bool = True, + ): + """ + Streamline the adata instance in each group and each data set to output format. + Output format are saved in ADATA_FIELDS* classes. + + :param schema: Export format. + - "sfaira" + - "cellxgene" + :param uns_to_obs: Whether to move metadata in .uns to .obs to make sure it's not lost when concatenating multiple objects. + :param clean_obs: Whether to delete non-streamlined fields in .obs, .obsm and .obsp. + :param clean_var: Whether to delete non-streamlined fields in .var, .varm and .varp. + :param clean_uns: Whether to delete non-streamlined fields in .uns. + :param clean_obs_names: Whether to replace obs_names with a string comprised of dataset id and an increasing integer. + :return: + """ + for x in self.dataset_groups: + for xx in x.ids: + x.datasets[xx].streamline_metadata( + schema=schema, + uns_to_obs=uns_to_obs, + clean_obs=clean_obs, + clean_var=clean_var, + clean_uns=clean_uns, + clean_obs_names=clean_obs_names + ) + + def subset(self, key, values): + """ + Subset list of adata objects based on match to values in key property. + + These keys are properties that are available in lazy model. + Subsetting happens on .datasets. + + :param key: Property to subset by. + :param values: Classes to overlap to. + :return: + """ + for x in self.dataset_groups: + x.subset(key=key, values=values) + self.dataset_groups = [x for x in self.dataset_groups if x.datasets] # Delete empty DatasetGroups + + def remove_duplicates( + self, + supplier_hierarchy: str = "cellxgene,sfaira" + ): + """ + Remove duplicate data loaders from super group, e.g. loaders that map to the same DOI. + + Any DOI match is removed (pre-print or journal publication). + Data sets without DOI are removed, too. + Loaders are kept in the hierarchy indicated in supplier_hierarchy. + Requires a super group with homogenous suppliers across DatasetGroups, throws an error otherwise. + This is given for sfaira maintained libraries but may not be the case if custom assembled DatasetGroups are + used. + + :param supplier_hierarchy: Hierarchy to resolve duplications by. + Comma separated string that indicates which data provider takes priority. + Choose "cellxgene,sfaira" to prioritise use of data sets downloaded from cellxgene. + Choose "sfaira,cellxgene" to prioritise use of raw data processing pipelines locally. + + - cellxgene: cellxgene downloads + - sfaira: local raw file processing + :return: + """ + # Build a pairing of provider and DOI: + report_list = [] + idx_tokeep = [] + supplier_hierarchy = supplier_hierarchy.split(",") + for i, (x, y) in enumerate([(xx.supplier, xx.doi) for xx in self.dataset_groups]): + if len(x) > 1: + raise ValueError(f"found more than one supplier for DOI {str(y)}") + else: + x = x[0] + if x not in supplier_hierarchy: + raise ValueError(f"could not associate supplier {x} with hierarchy {supplier_hierarchy} in " + f"data set {y}") + if len(report_list) > 0: + matched_idx = np.where([ + np.any([ + zz in y + for zz in z[1] + ]) + for z in report_list + ])[0] + assert len(matched_idx) < 1, f"more matches than expected for {(x, y)}" + else: + matched_idx = [] + if len(matched_idx) > 0: + # Establish which entry takes priority + supplier_old = report_list[matched_idx[0]][0] + priority = supplier_hierarchy.index(supplier_old) > supplier_hierarchy.index(x) + print(f"removing duplicate data set {y} from supplier: {supplier_old if priority else x}") + if priority: + idx_tokeep.append(i) + del idx_tokeep[matched_idx[0]] + else: + report_list.append([x, y]) + idx_tokeep.append(i) + self.dataset_groups = [self.dataset_groups[i] for i in idx_tokeep] + + def subset_cells(self, key, values: Union[str, List[str]]): + """ + Subset list of adata objects based on cell-wise properties. + + These keys are properties that are not available in lazy model and require loading first because the + subsetting works on the cell-level: .adata are maintained but reduced to matches. + + :param key: Property to subset by. Options: + + - "assay_sc" points to self.assay_sc_obs_key + - "assay_differentiation" points to self.assay_differentiation_obs_key + - "assay_type_differentiation" points to self.assay_type_differentiation_obs_key + - "cell_line" points to self.cell_line + - "cellontology_class" points to self.cellontology_class_obs_key + - "developmental_stage" points to self.developmental_stage_obs_key + - "ethnicity" points to self.ethnicity_obs_key + - "organ" points to self.organ_obs_key + - "organism" points to self.organism_obs_key + - "sample_source" points to self.sample_source_obs_key + - "sex" points to self.sex_obs_key + - "state_exact" points to self.state_exact_obs_key + :param values: Classes to overlap to. + :return: + """ + for i in range(len(self.dataset_groups)): + self.dataset_groups[i].subset_cells(key=key, values=values) + + def project_celltypes_to_ontology(self, adata_fields: Union[AdataIds, None] = None, copy=False): + """ + Project free text cell type names to ontology based on mapping table. + :return: + """ + for _, v in self.dataset_groups: + v.project_celltypes_to_ontology(adata_fields=adata_fields, copy=copy) + + def write_config(self, fn: Union[str, os.PathLike]): + """ + Writes a config file that describes the current data sub-setting. + + This config file can be loaded later to recreate a sub-setting. + + :param fn: Output file. + """ + pd.DataFrame({"id": np.sort(self.ids)}).to_csv(fn, index=False, sep="\t") + + def load_config(self, fn: Union[str, os.PathLike]): + """ + Load a config file and recreates a data sub-setting. + + :param fn: Output file. + """ + tab = pd.read_csv(fn, header=0, index_col=None, sep="\t") + ids_keep = tab["id"].values + self.subset(key="id", values=ids_keep) + + @property + def additional_annotation_key(self) -> List[Dict[str, Union[None, str]]]: + """" + Return list (by data set group) of dictionaries of additional_annotation_key for each data set with ids as keys. + """ + return [ + dict([ + (k, x.datasets[k].additional_annotation_key) + for k, v in x.datasets.items() + ]) for x in self.dataset_groups + ] + + @additional_annotation_key.setter + def additional_annotation_key(self, x: Dict[str, Union[None, str]]): + """ + Allows setting of additional_annotation_key in a subset of datasets identifed by keys in x. + + The input is not structured by DatasetGroups but only by ID, all groups are checked for matching IDs. + + :param x: Dictionary with data set ids in keys and new _additional_annotation_key values to be setted in values. + Note that you can either add or change secondary annotation by setting a value to a string or remove it + by setting a value to None. + :return: + """ + for k, v in x.items(): + counter = 0 + for x in self.dataset_groups: + if k in x.ids: + x.datasets[k].additional_annotation_key = v + counter += 1 + if counter == 0: + warnings.warn(f"did not data set matching ID {k}") + elif counter > 1: + warnings.warn(f"found more than one ({counter}) data set matching ID {k}") + + def show_summary(self): + for k, v in self.datasets.items(): + print(k) + print(f"\t {(v.supplier, v.organism, v.organ, v.assay_sc, v.disease)}") diff --git a/sfaira/data/base/distributed_store.py b/sfaira/data/base/distributed_store.py new file mode 100644 index 000000000..310124ef6 --- /dev/null +++ b/sfaira/data/base/distributed_store.py @@ -0,0 +1,738 @@ +import abc +import anndata +import dask.array +import dask.dataframe +import numpy as np +import os +import pandas as pd +import pickle +import scipy.sparse +import sys +from typing import Dict, List, Tuple, Union + +from sfaira.consts import AdataIdsSfaira, OCS +from sfaira.data.base.dataset import is_child, UNS_STRING_META_IN_OBS +from sfaira.data.base.io_dao import read_dao +from sfaira.versions.genomes import GenomeContainer + +""" +Distributed stores are array-like classes that sit on groups of on disk representations of anndata instances files. +Depending on the file format of the count matrix on disk, different in memory representations are sensible. +In particular, if .X is saved as zarr array, one can use lazy dask arrays to operate across sets of count matrices, +heavily reducing the complexity of the code required here and often increasing access speed. + +DistributedStoreBase is base class for any file format on disk. +DistributedStoreZarr is adapted to classes that store an anndata instance as a zarr group. +DistributedStoreH5ad is adapted to classes that store an anndata instance as a h5ad file. + +Note that in all cases, you can use standard anndata reading functions to load a single object into memory. +""" + + +def access_helper(adata, s, e, j, return_dense, obs_keys) -> tuple: + x = adata.X[s:e, :] + # Do dense conversion now so that col-wise indexing is not slow, often, dense conversion + # would be done later anyway. + if return_dense and isinstance(x, scipy.sparse.spmatrix): + x = x.todense() + if j is not None: + x = x[:, j] + obs = adata.obs[obs_keys].iloc[s:e, :] + return x, obs + + +class DistributedStoreBase(abc.ABC): + """ + Data set group class tailored to data access requirements common in high-performance computing (HPC). + + This class does not inherit from DatasetGroup because it entirely relies on the cached objects. + This class is centred around .adata_by_key and .indices. + + .adata_by_key is a dictionary (by id) of backed anndata instances that point to individual h5ads. + This dictionary is intialised with all h5ads in the store. + As the store is subsetted, key-value pairs are deleted from this dictionary. + + .indices have keys that correspond to keys in .adata_by_key and contain index vectors of observations in the anndata + instances in .adata_by_key which are still kept. + These index vectors are a form of lazy slicing that does not require data set loading or re-writing. + As the store is subsetted, key-value pairs are deleted from this dictionary if no observations from a given key + match the subsetting. + If a subset of observations from a key matches the subsetting operation, the index set in the corresponding value is + reduced. + All data retrievel operations work on .indices: Generators run over these indices when retrieving observations for + example. + """ + + _adata_by_key: Dict[str, anndata.AnnData] + _indices: Dict[str, np.ndarray] + _obs_by_key: Union[None, Dict[str, dask.dataframe.DataFrame]] + + def __init__(self, adata_by_key: Dict[str, anndata.AnnData], indices: Dict[str, np.ndarray], + obs_by_key: Union[None, Dict[str, dask.dataframe.DataFrame]] = None): + self.adata_by_key = adata_by_key + self.indices = indices + self.obs_by_key = obs_by_key + self.ontology_container = OCS + self._genome_container = None + self._adata_ids_sfaira = AdataIdsSfaira() + self._celltype_universe = None + + def _validate_idx(self, idx: Union[np.ndarray, list]) -> np.ndarray: + assert np.max(idx) < self.n_obs, f"maximum of supplied index vector {np.max(idx)} exceeds number of modelled " \ + f"observations {self.n_obs}" + assert len(idx) == len(np.unique(idx)), f"there were {len(idx) - len(np.unique(idx))} repeated indices in idx" + if isinstance(idx, np.ndarray): + assert len(idx.shape) == 1, idx.shape + assert idx.dtype == np.int + else: + assert isinstance(idx, list) + assert isinstance(idx[0], int) or isinstance(idx[0], np.int) + idx = np.asarray(idx) + return idx + + def _validate_feature_space_homogeneity(self) -> List[str]: + """ + Assert that the data sets which were kept have the same feature names. + """ + var_names = self._adata_by_key[list(self.indices.keys())[0]].var_names.tolist() + for k, v in self.indices.items(): + assert len(var_names) == len(self._adata_by_key[k].var_names), \ + f"number of features in store differed in object {k} compared to {list(self._adata_by_key.keys())[0]}" + assert np.all(var_names == self._adata_by_key[k].var_names), \ + f"var_names in store were not matched in object {k} compared to {list(self._adata_by_key.keys())[0]}" + return var_names + + def _generator_helper( + self, + idx: Union[np.ndarray, None] = None, + ) -> Tuple[Union[np.ndarray, None], Union[np.ndarray, None]]: + # Make sure that features are ordered in the same way in each object so that generator yields consistent cell + # vectors. + _ = self._validate_feature_space_homogeneity() + var_names_store = self.adata_by_key[list(self.indices.keys())[0]].var_names.tolist() + # Use feature space sub-selection based on assembly if provided, will use full feature space otherwise. + if self.genome_container is not None: + var_names_target = self.genome_container.ensembl + var_idx = np.sort([var_names_store.index(x) for x in var_names_target]) + # Check if index vector is just full ordered list of indices, in this case, sub-setting is unnecessary. + if len(var_idx) == len(var_names_store) and np.all(var_idx == np.arange(0, len(var_names_store))): + var_idx = None + else: + var_idx = None + if idx is not None: + idx = self._validate_idx(idx) + return idx, var_idx + + @property + def adata_by_key(self) -> Dict[str, anndata.AnnData]: + return self._adata_by_key + + @adata_by_key.setter + def adata_by_key(self, x: Dict[str, anndata.AnnData]): + self._adata_by_key = x + + @property + def indices(self) -> Dict[str, np.ndarray]: + return self._indices + + @indices.setter + def indices(self, x: Dict[str, np.ndarray]): + """ + Setter imposes a few constraints on indices: + + 1) checks that keys are contained ._adata_by_key.keys() + 2) checks that indices are contained in size of values of ._adata_by_key + 3) checks that indces are not duplicated + 4) checks that indices are sorted + """ + for k, v in x.items(): + assert k in self._adata_by_key.keys(), f"did not find key {k}" + assert np.max(v) < self._adata_by_key[k].n_obs, f"found index for key {k} that exceeded data set size" + assert len(v) == len(np.unique(v)), f"found duplicated indices for key {k}" + assert np.all(np.diff(v) >= 0), f"indices not sorted for key {k}" + self._indices = x + + @property + def obs_by_key(self) -> Dict[str, Union[pd.DataFrame, dask.dataframe.DataFrame]]: + if self._obs_by_key is not None: + # Run sanity checks to validate that this external obs can be used in the context of .adata_by_key: + assert np.all(list(self._adata_by_key.keys()) == list(self._obs_by_key.keys())) + assert np.all([self._obs_by_key[k].shape[0] == self._adata_by_key[k].shape[0] + for k in self._obs_by_key.keys()]) + return self._obs_by_key + else: + return dict([(k, v.obs) for k, v in self.adata_by_key.items()]) + + @obs_by_key.setter + def obs_by_key(self, x: Union[None, Dict[str, dask.dataframe.DataFrame]]): + if x is not None: + for k, v in x.items(): + if not (isinstance(v, dask.dataframe.DataFrame) or isinstance(v, pd.DataFrame)): + raise ValueError(f"value of entry {k} was not a dask.dataframe.DataFrame but {type(v)}") + self._obs_by_key = x + + @property + def genome_container(self) -> Union[GenomeContainer, None]: + return self._genome_container + + @genome_container.setter + def genome_container(self, x: GenomeContainer): + var_names = self._validate_feature_space_homogeneity() + # Validate genome container choice: + # Make sure that all var names defined in genome container are also contained in loaded data sets. + assert np.all([y in var_names for y in x.ensembl]), \ + "did not find variable names from genome container in store" + self._genome_container = x + + def get_subset_idx(self, attr_key, values: Union[str, List[str], None], + excluded_values: Union[str, List[str], None]) -> dict: + """ + Get indices of subset list of adata objects based on cell-wise properties. + + :param attr_key: Property to subset by. Options: + + - "assay_differentiation" points to self.assay_differentiation_obs_key + - "assay_sc" points to self.assay_sc_obs_key + - "assay_type_differentiation" points to self.assay_type_differentiation_obs_key + - "cell_line" points to self.cell_line + - "cellontology_class" points to self.cellontology_class_obs_key + - "developmental_stage" points to self.developmental_stage_obs_key + - "ethnicity" points to self.ethnicity_obs_key + - "organ" points to self.organ_obs_key + - "organism" points to self.organism_obs_key + - "sample_source" points to self.sample_source_obs_key + - "sex" points to self.sex_obs_key + - "state_exact" points to self.state_exact_obs_key + :param values: Classes to overlap to. Supply either values or excluded_values. + :param excluded_values: Classes to exclude from match list. Supply either values or excluded_values. + :return dictionary of files and observation indices by file. + """ + if not isinstance(values, list): + values = [values] + assert (values is None or excluded_values is not None) or (values is not None or excluded_values is None), \ + "supply either values or excluded_values" + + def get_idx(adata, obs, k, v, xv, dataset): + # Use cell-wise annotation if data set-wide maps are ambiguous: + # This can happen if the different cell-wise annotations are summarised as a union in .uns. + if getattr(self._adata_ids_sfaira, k) in adata.uns.keys() and \ + adata.uns[getattr(self._adata_ids_sfaira, k)] != UNS_STRING_META_IN_OBS: + values_found = adata.uns[getattr(self._adata_ids_sfaira, k)] + if isinstance(values_found, np.ndarray): + values_found = values_found.tolist() + elif not isinstance(values_found, list): + values_found = [values_found] + if len(values_found) > 1: + values_found = None # Go to cell-wise annotation. + else: + # Replicate unique property along cell dimension. + values_found = [values_found[0] for _ in range(adata.n_obs)] + else: + values_found = None + if values_found is None: + if getattr(self._adata_ids_sfaira, k) in obs.columns: + values_found = obs[getattr(self._adata_ids_sfaira, k)].values + else: + values_found = [] + print(f"WARNING: did not find attribute {k} in data set {dataset}") + values_found_unique = np.unique(values_found) + try: + ontology = getattr(self.ontology_container, k) + except AttributeError: + raise ValueError(f"{k} not a valid property of ontology_container object") + # Test only unique elements found in ontology to save time. + if v is not None: + values_found_unique_matched = [ + x for x in values_found_unique if np.any([ + is_child(query=x, ontology=ontology, ontology_parent=y) + for y in v + ]) + ] + else: + values_found_unique_matched = [ + x for x in values_found_unique if np.all([ + not is_child(query=x, ontology=ontology, ontology_parent=y) + for y in xv + ]) + ] + idx = np.where([x in values_found_unique_matched for x in values_found])[0] + if len(idx) > 0: + # TODO keep this logging for now to catch undesired behaviour resulting from loaded edges in ontologies. + print(f"matched keys {str(values_found_unique_matched)} in data set {dataset}") + return idx + + indices = {} + for key in self.indices.keys(): + if key not in self.adata_by_key.keys(): + raise ValueError(f"data set {key} queried by indices does not exist in store (.adata_by_key)") + # Get indices of idx_old to keep: + adata_k = self.adata_by_key[key] + obs_k = self.obs_by_key[key] + idx_old = self.indices[key] + # Cannot index on view here as indexing on view of views of backed anndata objects is not yet supported. + idx_subset = get_idx(adata=adata_k, obs=obs_k, k=attr_key, v=values, xv=excluded_values, dataset=key) + # Keep intersection of old and new hits. + idx_new = np.sort(list(set(np.asarray(idx_old).tolist()).intersection( + set(np.asarray(idx_subset).tolist())))) + if len(idx_new) > 0: + indices[key] = np.asarray(idx_new, dtype="int32") + return indices + + def subset(self, attr_key, values: Union[str, List[str], None] = None, + excluded_values: Union[str, List[str], None] = None): + """ + Subset list of adata objects based on cell-wise properties. + + Subsetting is done based on index vectors, the objects remain untouched. + + :param attr_key: Property to subset by. Options: + + - "assay_differentiation" points to self.assay_differentiation_obs_key + - "assay_sc" points to self.assay_sc_obs_key + - "assay_type_differentiation" points to self.assay_type_differentiation_obs_key + - "cell_line" points to self.cell_line + - "cellontology_class" points to self.cellontology_class_obs_key + - "developmental_stage" points to self.developmental_stage_obs_key + - "ethnicity" points to self.ethnicity_obs_key + - "organ" points to self.organ_obs_key + - "organism" points to self.organism_obs_key + - "sample_source" points to self.sample_source_obs_key + - "sex" points to self.sex_obs_key + - "state_exact" points to self.state_exact_obs_key + :param values: Classes to overlap to. Supply either values or excluded_values. + :param excluded_values: Classes to exclude from match list. Supply either values or excluded_values. + """ + self.indices = self.get_subset_idx(attr_key=attr_key, values=values, excluded_values=excluded_values) + if self.n_obs == 0: + print("WARNING: store is now empty.") + + def write_config(self, fn: Union[str, os.PathLike]): + """ + Writes a config file that describes the current data sub-setting. + + This config file can be loaded later to recreate a sub-setting. + This config file contains observation-wise subsetting information. + + :param fn: Output file without file type extension. + """ + with open(fn + '.pickle', 'wb') as f: + pickle.dump(self.indices, f) + + def load_config(self, fn: Union[str, os.PathLike]): + """ + Load a config file and recreates a data sub-setting. + This config file contains observation-wise subsetting information. + + :param fn: Output file without file type extension. + """ + with open(fn, 'rb') as f: + self.indices = pickle.load(f) + # Make sure all declared data sets are found in store: + for x in self.indices.keys(): + if x not in self.adata_by_key.keys(): + raise ValueError(f"did not find object with name {x} in currently loaded universe") + + @property + def var_names(self): + var_names = self._validate_feature_space_homogeneity() + # Use feature space sub-selection based on assembly if provided, will use full feature space otherwise. + if self.genome_container is None: + return var_names + else: + return self.genome_container.ensembl + + @property + def n_vars(self): + var_names = self._validate_feature_space_homogeneity() + # Use feature space sub-selection based on assembly if provided, will use full feature space otherwise. + if self.genome_container is None: + return len(var_names) + else: + return self.genome_container.n_var + + @property + def n_obs(self): + return np.sum([len(v) for v in self.indices.values()]) + + @property + def shape(self): + return [self.n_obs, self.n_vars] + + @abc.abstractmethod + def generator( + self, + idx: Union[np.ndarray, None] = None, + batch_size: int = 1, + obs_keys: List[str] = [], + return_dense: bool = True, + randomized_batch_access: bool = False, + ) -> iter: + pass + + @property + @abc.abstractmethod + def X(self) -> Union[dask.array.Array, scipy.sparse.csr_matrix]: + pass + + @property + @abc.abstractmethod + def obs(self) -> Union[pd.DataFrame]: + pass + + @abc.abstractmethod + def n_counts(self, idx: Union[np.ndarray, list, None] = None) -> np.ndarray: + pass + + +class DistributedStoreH5ad(DistributedStoreBase): + + def __init__(self, cache_path: Union[str, os.PathLike]): + # Collect all data loaders from files in directory: + adata_by_key = {} + indices = {} + for f in os.listdir(cache_path): + adata = None + trial_path = os.path.join(cache_path, f) + if os.path.isfile(trial_path): + # Narrow down to supported file types: + if f.split(".")[-1] == "h5ad": + print(f"Discovered {f} as .h5ad file.") + try: + adata = anndata.read_h5ad( + filename=trial_path, + backed="r", + ) + except OSError as e: + adata = None + print(f"WARNING: for data set {f}: {e}") + if adata is not None: + adata_by_key[adata.uns["id"]] = adata + indices[adata.uns["id"]] = np.arange(0, adata.n_obs) + self._x_as_dask = False + super(DistributedStoreH5ad, self).__init__(adata_by_key=adata_by_key, indices=indices) + + @property + def adata_sliced(self) -> Dict[str, anndata.AnnData]: + """ + Only exposes the subset and slices of the adata instances contained in ._adata_by_key defined in .indices. + """ + return dict([(k, self._adata_by_key[k][v, :]) for k, v in self.indices.items()]) + + @property + def X(self): + assert False + + @property + def obs(self) -> Union[pd.DataFrame]: + """ + Assemble .obs table of subset of selected data. + + :return: .obs data frame. + """ + return pd.concat([ + self._adata_by_key[k].obs.iloc[v, :] + for k, v in self.indices.items() + ], axis=0, join="inner", ignore_index=False, copy=False) + + def n_counts(self, idx: Union[np.ndarray, list, None] = None) -> np.ndarray: + """ + Compute sum over features for each observation in index. + + :param idx: Index vector over observations in object. + :return: Array with sum per observations: (number of observations in index,) + """ + return np.concatenate([ + np.asarray(v.X.sum(axis=1)).flatten() + for v in self.adata_by_key_subset(idx=idx).values() + ], axis=0) + + def generator( + self, + idx: Union[np.ndarray, None] = None, + batch_size: int = 1, + obs_keys: List[str] = [], + return_dense: bool = True, + randomized_batch_access: bool = False, + ) -> iter: + """ + Yields an unbiased generator over observations in the contained data sets. + + :param idx: Global idx to query from store. These is an array with indicies corresponding to a contiuous index + along all observations in self.adata_by_key, ordered along a hypothetical concatenation along the keys of + self.adata_by_key. + :param batch_size: Number of observations read from disk in each batched access (generator invocation). + :param obs_keys: .obs columns to return in the generator. These have to be a subset of the columns available + in self.adata_by_key. + :param return_dense: Whether to force return count data .X as dense batches. This allows more efficient feature + indexing if the store is sparse (column indexing on csr matrices is slow). + :param randomized_batch_access: Whether to randomize batches during reading (in generator). Lifts necessity of + using a shuffle buffer on generator, however, batch composition stays unchanged over epochs unless there + is overhangs in retrieval_batch_size in the raw data files, which often happens and results in modest + changes in batch composition. + :return: Generator function which yields batch_size at every invocation. + The generator returns a tuple of (.X, .obs) with types: + + - if store format is h5ad: (Union[scipy.sparse.csr_matrix, np.ndarray], pandas.DataFrame) + """ + idx, var_idx = self._generator_helper(idx=idx) + + def generator(): + adatas_sliced_subset = self.adata_by_key_subset(idx=idx) + key_batch_starts_ends = [] # List of tuples of data set key and (start, end) index set of batches. + for k, adata in adatas_sliced_subset.items(): + n_obs = adata.shape[0] + if n_obs > 0: # Skip data objects without matched cells. + # Cells left over after batching to batch size, accounting for overhang: + remainder = n_obs % batch_size + key_batch_starts_ends_k = [ + (k, (int(x * batch_size), int(np.minimum((x * batch_size) + batch_size, n_obs)))) + for x in np.arange(0, n_obs // batch_size + int(remainder > 0)) + ] + assert np.sum([v2 - v1 for k, (v1, v2) in key_batch_starts_ends_k]) == n_obs + key_batch_starts_ends.extend(key_batch_starts_ends_k) + batch_range = np.arange(0, len(key_batch_starts_ends)) + if randomized_batch_access: + np.random.shuffle(batch_range) + for i in batch_range: + k, (s, e) = key_batch_starts_ends[i] + x, obs = access_helper(adata=adatas_sliced_subset[k], s=s, e=e, j=var_idx, return_dense=return_dense, + obs_keys=obs_keys) + yield x, obs + + return generator + + def adata_by_key_subset(self, idx: Union[np.ndarray, list]) -> Dict[str, anndata.AnnData]: + """ + Subsets adata_by_key as if it was one object, ie behaves the same way as self.adata[idx] without explicitly + concatenating. + """ + if idx is not None: + idx = self._validate_idx(idx) + indices_subsetted = {} + counter = 0 + for k, v in self.indices.items(): + n_obs_k = len(v) + indices_global = np.arange(counter, counter + n_obs_k) + indices_subset_k = [x for x, y in zip(v, indices_global) if y in idx] + if len(indices_subset_k) > 0: + indices_subsetted[k] = indices_subset_k + counter += n_obs_k + assert counter == self.n_obs + return dict([(k, self._adata_by_key[k][v, :]) for k, v in indices_subsetted.items()]) + else: + return self.adata_sliced + + def get_subset_idx_global(self, attr_key, values: Union[str, List[str], None] = None, + excluded_values: Union[str, List[str], None] = None) -> np.ndarray: + """ + Get indices of subset list of adata objects based on cell-wise properties treating instance as single array. + + The indices are continuous across all data sets as if they were one array. + + :param attr_key: Property to subset by. Options: + + - "assay_differentiation" points to self.assay_differentiation_obs_key + - "assay_sc" points to self.assay_sc_obs_key + - "assay_type_differentiation" points to self.assay_type_differentiation_obs_key + - "cell_line" points to self.cell_line + - "cellontology_class" points to self.cellontology_class_obs_key + - "developmental_stage" points to self.developmental_stage_obs_key + - "ethnicity" points to self.ethnicity_obs_key + - "organ" points to self.organ_obs_key + - "organism" points to self.organism_obs_key + - "sample_source" points to self.sample_source_obs_key + - "sex" points to self.sex_obs_key + - "state_exact" points to self.state_exact_obs_key + :param values: Classes to overlap to. + :return Index vector + """ + # Get indices of of cells in target set by file. + idx_by_dataset = self.get_subset_idx(attr_key=attr_key, values=values, excluded_values=excluded_values) + # Translate file-wise indices into global index list across all data sets. + idx = [] + counter = 0 + for k, v in self.indices.items(): + for x in v: + if k in idx_by_dataset.keys() and x in idx_by_dataset[k]: + idx.append(counter) + counter += 1 + return np.asarray(idx) + + @property + def indices_global(self) -> dict: + """ + Increasing indices across data sets which can be concatenated into a single index vector with unique entries + for cells. + + E.g.: For two data sets of 10 cells each, the return value would be {A:[0..9], B:[10..19]}. + Note that this operates over pre-selected indices, if this store was subsetted before resulting in only the + second half B to be kept, the return value would be {A:[0..9], B:[10..14]}, where .indices would be + {A:[0..9], B:[15..19]}. + """ + counter = 0 + indices = {} + for k, v in self.indices.items(): + indices[k] = np.arange(counter, counter + len(v)) + counter += len(v) + return indices + + +class DistributedStoreDao(DistributedStoreBase): + + def __init__(self, cache_path: Union[str, os.PathLike], columns: Union[None, List[str]] = None): + """ + + :param cache_path: Store directory. + :param columns: Which columns to read into the obs copy in the output, see pandas.read_parquet(). + """ + # Collect all data loaders from files in directory: + adata_by_key = {} + indices = {} + for f in os.listdir(cache_path): + adata = None + trial_path = os.path.join(cache_path, f) + if os.path.isdir(trial_path): + # zarr-backed anndata are saved as directories with the elements of the array group as further sub + # directories, e.g. a directory called "X", and a file ".zgroup" which identifies the zarr group. + if [".zgroup" in os.listdir(trial_path)]: + adata = read_dao(trial_path, use_dask=True, columns=columns, obs_separate=False) + print(f"Discovered {f} as zarr group, " + f"sized {round(sys.getsizeof(adata) / np.power(1024, 2), 1)}MB") + if adata is not None: + adata_by_key[adata.uns["id"]] = adata + indices[adata.uns["id"]] = np.arange(0, adata.n_obs) + self._x_as_dask = True + super(DistributedStoreDao, self).__init__(adata_by_key=adata_by_key, indices=indices, obs_by_key=None) + + @property + def X(self) -> Union[dask.array.Array]: + assert np.all([isinstance(self._adata_by_key[k].X, dask.array.Array) for k in self.indices.keys()]) + return dask.array.vstack([ + self._adata_by_key[k].X[v, :] + for k, v in self.indices.items() + ]) + + @property + def obs(self) -> Union[pd.DataFrame]: + """ + Assemble .obs table of subset of selected data. + + Resulting index is increasing integers starting with zero. + + :return: .obs data frame. + """ + # TODO Using loc indexing here instead of iloc, this might be faster on larger tables? + return pd.concat([ + self.adata_by_key[k].obs.loc[self.adata_by_key[k].obs.index[v], :] + for k, v in self.indices.items() + ], axis=0, join="inner", ignore_index=True, copy=False) + + def n_counts(self, idx: Union[np.ndarray, list, None] = None) -> np.ndarray: + """ + Compute sum over features for each observation in index. + + :param idx: Index vector over observations in object. + :return: Array with sum per observations: (number of observations in index,) + """ + return np.asarray(self.X.sum(axis=1)).flatten() + + def generator( + self, + idx: Union[np.ndarray, None] = None, + batch_size: int = 1, + obs_keys: List[str] = [], + return_dense: bool = True, + randomized_batch_access: bool = False, + random_access: bool = False, + ) -> iter: + """ + Yields an unbiased generator over observations in the contained data sets. + + :param idx: Global idx to query from store. These is an array with indicies corresponding to a contiuous index + along all observations in self.adata_by_key, ordered along a hypothetical concatenation along the keys of + self.adata_by_key. + :param batch_size: Number of observations read from disk in each batched access (generator invocation). + :param obs_keys: .obs columns to return in the generator. These have to be a subset of the columns available + in self.adata_by_key. + :param return_dense: Whether to force return count data .X as dense batches. This allows more efficient feature + indexing if the store is sparse (column indexing on csr matrices is slow). + :param randomized_batch_access: Whether to randomize batches during reading (in generator). Lifts necessity of + using a shuffle buffer on generator, however, batch composition stays unchanged over epochs unless there + is overhangs in retrieval_batch_size in the raw data files, which often happens and results in modest + changes in batch composition. + Do not use randomized_batch_access and random_access. + :param random_access: Whether to fully shuffle observations before batched access takes place. May + slow down access compared randomized_batch_access and to no randomization. + Do not use randomized_batch_access and random_access. + :return: Generator function which yields batch_size at every invocation. + The generator returns a tuple of (.X, .obs) with types: + + - if store format is h5ad: (Union[scipy.sparse.csr_matrix, np.ndarray], pandas.DataFrame) + """ + idx, var_idx = self._generator_helper(idx=idx) + if randomized_batch_access and random_access: + raise ValueError("Do not use randomized_batch_access and random_access.") + + def generator(): + # Can treat full data set as a single array because dask keeps expression data and obs out of memory. + x = self.X[idx, :] + obs = self.obs.iloc[idx, :] + # Redefine index so that .loc indexing can be used instead of .iloc indexing: + obs.index = np.arange(0, obs.shape[0]) + n_obs = x.shape[0] + remainder = n_obs % batch_size + assert n_obs == obs.shape[0] + batch_starts_ends = [ + (int(x * batch_size), int(np.minimum((x * batch_size) + batch_size, n_obs))) + for x in np.arange(0, n_obs // batch_size + int(remainder > 0)) + ] + batch_range = np.arange(0, len(batch_starts_ends)) + if randomized_batch_access: + np.random.shuffle(batch_range) + epoch_indices = np.arange(0, n_obs) + if random_access: + np.random.shuffle(epoch_indices) + for i in batch_range: + s, e = batch_starts_ends[i] + # Feature indexing: Run in same operation as observation index so that feature chunking can be + # efficiently used if available. TODO does this make a difference in dask? + if random_access: + if var_idx is not None: + x_i = x[epoch_indices[s:e], var_idx] + else: + x_i = x[epoch_indices[s:e], :] + else: + # Use slicing because observations accessed in batch are ordered in data set: + # Note that epoch_indices[i] == i if not random_access. + if var_idx is not None: + x_i = x[s:e, var_idx] + else: + x_i = x[s:e, :] + # Exploit fact that index of obs is just increasing list of integers, so we can use the .loc[] indexing + # instead of .iloc[]: + obs_i = obs[obs_keys].loc[epoch_indices[s:e].tolist(), :] + yield x_i, obs_i + + return generator + + +def load_store(cache_path: Union[str, os.PathLike], store_format: str = "dao", + columns: Union[None, List[str]] = None) -> Union[DistributedStoreH5ad, DistributedStoreDao]: + """ + Instantiates a distributed store class. + + :param cache_path: Store directory. + :param store_format: Format of store {"h5ad", "dao"}. + + - "h5ad": Returns instance of DistributedStoreH5ad. + - "dao": Returns instance of DistributedStoreDoa (distributed access optimized). + :param columns: Which columns to read into the obs copy in the output, see pandas.read_parquet(). + Only relevant if store_format is "dao". + :return: Instances of a distributed store class. + """ + if store_format == "h5ad": + return DistributedStoreH5ad(cache_path=cache_path) + elif store_format == "dao": + return DistributedStoreDao(cache_path=cache_path, columns=columns) + else: + raise ValueError(f"Did not recognize store_format {store_format}.") diff --git a/sfaira/data/base/io_dao.py b/sfaira/data/base/io_dao.py new file mode 100644 index 000000000..87402d1be --- /dev/null +++ b/sfaira/data/base/io_dao.py @@ -0,0 +1,133 @@ +import anndata +import dask.array +import dask.dataframe +import numpy as np +import os +import pandas as pd +from pathlib import Path +import pickle +import scipy.sparse +from typing import List, Tuple, Union +import zarr + + +def _buffered_path(path_base, path, fn): + path_base = os.path.join(path_base, path) + if not os.path.exists(path_base): + os.makedirs(path_base) + return os.path.join(path_base, fn) + + +def path_obs(path): + return _buffered_path(path_base=path, path="parquet", fn="obs.parquet") + + +def path_var(path): + return _buffered_path(path_base=path, path="parquet", fn="var.parquet") + + +def path_uns(path): + return _buffered_path(path_base=path, path="pickle", fn="uns.pickle") + + +def path_x(path): + if not os.path.exists(path): + os.makedirs(path) + return os.path.join(path, "zarr") + + +def write_dao(store: Union[str, Path], adata: anndata.AnnData, chunks: Union[bool, Tuple[int, int]], + compression_kwargs: dict): + """ + Writes a distributed access optimised ("dao") store of a dataset based on an AnnData instance. + + The following components are saved: + - .X: as zarr array which can be interfaced with zarr or dask (or xarray). + - .obs: as parquet table which can be interfaced with pandas.DataFrame (and dask.dataframe.DataFrame). + - .var: as parquet table which can be interfaced with pandas.DataFrame (and dask.dataframe.DataFrame). + - .uns: as a pickle to be flexible with values here. + + TODO: If layers become relevant for this store, they can be added into the zarr group. + TODO: If obsp, varp become relevant for this store, they can be added into the zarr group. + TODO: If obsm, varm become relevant for this store, they can be added into the zarr group. + + :param store: File name of the store (zarr group). + :param adata: Anndata to save. + :param chunks: Chunking of .X for zarr. + :param compression_kwargs: Compression kwargs for zarr. + """ + # Write numeric matrix as zarr array: + f = zarr.open(store=path_x(store), mode="w") + # If adata.X is already a dense array in memory, it can be safely written fully to a zarr array. Otherwise: + # Create empty store and then write in dense chunks to avoid having to load entire adata.X into a dense array in + # memory. + if isinstance(adata.X, np.ndarray) or isinstance(adata.X, np.matrix): + f.create_dataset("X", data=adata.X.todense(), chunks=chunks, dtype=adata.X.dtype, **compression_kwargs) + elif isinstance(adata.X, scipy.sparse.csr_matrix): + # Initialise empty array + dtype = adata.X.data.dtype + shape = adata.X.shape + f.create_dataset("X", shape=shape, dtype=dtype, fill_value=0., chunks=chunks, **compression_kwargs) + batch_size = 128 # Use a batch size that guarantees that the dense batch fits easily into memory. + n_batches = shape[0] // batch_size + int(shape[0] % batch_size > 0) + batches = [(i * batch_size, min(i * batch_size + batch_size, shape[0])) for i in range(n_batches)] + for s, e in batches: + f["X"][s:e, :] = np.asarray(adata.X[s:e, :].todense(), dtype=dtype) + else: + raise ValueError(f"did not recognise array format {type(adata.X)}") + # Write .uns into pickle: + with open(path_uns(store), "wb") as f: + pickle.dump(obj=adata.uns, file=f) + # Write .obs and .var as a separate file as this can be easily interfaced with DataFrames. + adata.obs.to_parquet(path=path_obs(store), engine='pyarrow', compression='snappy', index=None) + adata.var.to_parquet(path=path_var(store), engine='pyarrow', compression='snappy', index=None) + + +def read_dao(store: Union[str, Path], use_dask: bool = True, columns: Union[None, List[str]] = None, + obs_separate: bool = False) -> \ + Union[Tuple[anndata.AnnData, Union[dask.dataframe.DataFrame, pd.DataFrame]], anndata.AnnData]: + """ + Assembles an AnnData instance based on distributed access optimised ("dao") store of a dataset. + + See write_distributed_access_optimised() for the expected format of the store. + In particular, if use_dask is True: + + - .X is interfaced as a dask Array + + Can return representation of .obs separately, which makes sense if a HPC framework is used for this tabular format + which is not supported by AnnData as an .obs entry. + + :param store: Path to zarr group. + :param use_dask: Whether to use lazy dask arrays where appropriate. + :param columns: Which columns to read into the obs copy in the output, see pandas.read_parquet(). + :param obs_separate: Whether to return .obs as a separate return value or in the returned AnnData. + :return: Tuple of: + - AnnData with .X as dask array. + - obs table separately as dataframe + """ + if use_dask: + x = dask.array.from_zarr(url=path_x(store), component="X") + else: + f = zarr.open(path_x(store), mode="r") + x = f["X"] # Select member of group. + x = x[...] # Load into memory. + # Read pickle: + with open(path_uns(store), "rb") as f: + uns = pickle.load(file=f) + # Read tables: + obs = pd.read_parquet(path_obs(store), columns=columns, engine="pyarrow") + var = pd.read_parquet(path_var(store), engine="pyarrow") + # Convert to categorical variables where possible to save memory: + for k, dtype in zip(list(obs.columns), obs.dtypes): + if dtype == "object": + obs[k] = obs[k].astype(dtype="category") + d = {"var": var, "uns": uns} + # Assemble AnnData without obs to save memory: + adata = anndata.AnnData(**d, shape=x.shape) + # Need to add these attributes after initialisation so that they are not evaluated: + adata.X = x + if obs_separate: + return adata, obs + else: + adata.obs = obs + return adata diff --git a/sfaira/data/dataloaders/__init__.py b/sfaira/data/dataloaders/__init__.py new file mode 100644 index 000000000..3ecbc2fc5 --- /dev/null +++ b/sfaira/data/dataloaders/__init__.py @@ -0,0 +1,3 @@ +from . import databases +from . import loaders +from .super_group import Universe diff --git a/sfaira/data/dataloaders/databases/__init__.py b/sfaira/data/dataloaders/databases/__init__.py new file mode 100644 index 000000000..328e18fc8 --- /dev/null +++ b/sfaira/data/dataloaders/databases/__init__.py @@ -0,0 +1 @@ +from .super_group import DatasetSuperGroupDatabases diff --git a/sfaira/data/dataloaders/databases/cellxgene/__init__.py b/sfaira/data/dataloaders/databases/cellxgene/__init__.py new file mode 100644 index 000000000..472d880aa --- /dev/null +++ b/sfaira/data/dataloaders/databases/cellxgene/__init__.py @@ -0,0 +1,2 @@ +from sfaira.data.dataloaders.databases.cellxgene.cellxgene_group import DatasetGroupCellxgene +from sfaira.data.dataloaders.databases.cellxgene.cellxgene_loader import Dataset diff --git a/sfaira/data/dataloaders/databases/cellxgene/cellxgene_group.py b/sfaira/data/dataloaders/databases/cellxgene/cellxgene_group.py new file mode 100644 index 000000000..4091e5765 --- /dev/null +++ b/sfaira/data/dataloaders/databases/cellxgene/cellxgene_group.py @@ -0,0 +1,26 @@ +import os +from typing import Union + +from sfaira.data import DatasetGroup +from sfaira.consts import AdataIdsCellxgene + +from .cellxgene_loader import Dataset + + +class DatasetGroupCellxgene(DatasetGroup): + + def __init__( + self, + data_path: Union[str, None] = None, + meta_path: Union[str, None] = None, + cache_path: Union[str, None] = None + ): + self._adata_ids_cellxgene = AdataIdsCellxgene() + fn_ls = os.listdir(data_path) + fn_ls = [x for x in fn_ls if x in self._adata_ids_cellxgene.accepted_file_names] + datasets = [ + Dataset(data_path=data_path, fn=x, meta_path=meta_path, cache_path=cache_path) + for x in fn_ls + ] + keys = [x.id for x in datasets] + super().__init__(dict(zip(keys, datasets))) diff --git a/sfaira/data/dataloaders/databases/cellxgene/cellxgene_loader.py b/sfaira/data/dataloaders/databases/cellxgene/cellxgene_loader.py new file mode 100644 index 000000000..b4cd6daff --- /dev/null +++ b/sfaira/data/dataloaders/databases/cellxgene/cellxgene_loader.py @@ -0,0 +1,64 @@ +import anndata +import os +from typing import Union + +from sfaira.data import DatasetBase +from sfaira.consts import AdataIdsCellxgene + + +class Dataset(DatasetBase): + """ + This is a dataloader for downloaded h5ad from cellxgene. + + :param data_path: + :param meta_path: + :param kwargs: + """ + + def __init__( + self, + data_path: Union[str, None], + fn: str, + meta_path: Union[str, None] = None, + **kwargs + ): + super().__init__(data_path=data_path, meta_path=meta_path, **kwargs) + self._adata_ids_cellxgene = AdataIdsCellxgene() + self.fn = fn + + self.cellontology_class_obs_key = self._adata_ids_cellxgene.cellontology_class + self.cellontology_id_obs_key = self._adata_ids_cellxgene.cellontology_id + self.cell_types_original_obs_key = self._adata_ids_cellxgene.cell_types_original + self.development_stage_obs_key = self._adata_ids_cellxgene.development_stage + self.disease_obs_key = self._adata_ids_cellxgene.disease + self.ethnicity_obs_key = self._adata_ids_cellxgene.ethnicity + self.sex_obs_key = self._adata_ids_cellxgene.sex + self.organ_obs_key = self._adata_ids_cellxgene.organism + self.state_exact_obs_key = self._adata_ids_cellxgene.state_exact + + self.gene_id_ensembl_var_key = self._adata_ids_cellxgene.gene_id_ensembl + self.gene_id_symbols_var_key = self._adata_ids_cellxgene.gene_id_symbols + + def _load(self): + """ + Note that in contrast to data set specific data loaders, here, the core attributes are only identified from + the data in this function and are not already set in the constructor. These attributes can still be + used through meta data containers after the data was loaded once. + + :return: + """ + fn = os.path.join(self.data_dir_base, self.fn) + adata = anndata.read(fn) + adata.X = adata.raw.X + # TODO delete raw? + + self.author = adata.uns[self._adata_ids_cellxgene.author][self._adata_ids_cellxgene.author_names] + self.doi = adata.uns[self._adata_ids_cellxgene.doi] + self.download_url_data = self.download_url_data + self.id = self.id + self.normalization = 'raw' + self.organ = str(self.fn).split("_")[3] # TODO interface this properly + # self.organ = adata.obs["tissue"].values[0] + self.organism = adata.obs[self._adata_ids_cellxgene.organism].values[0] + self.assay_sc = adata.obs[self._adata_ids_cellxgene.assay_sc].values[0] + self.year = adata.uns[self._adata_ids_cellxgene.year] diff --git a/sfaira/data/dataloaders/databases/super_group.py b/sfaira/data/dataloaders/databases/super_group.py new file mode 100644 index 000000000..96405ed62 --- /dev/null +++ b/sfaira/data/dataloaders/databases/super_group.py @@ -0,0 +1,22 @@ +from typing import Union + +from sfaira.data import DatasetSuperGroup +from sfaira.data.dataloaders.databases.cellxgene import DatasetGroupCellxgene + + +class DatasetSuperGroupDatabases(DatasetSuperGroup): + + def __init__( + self, + data_path: Union[str, None] = None, + meta_path: Union[str, None] = None, + cache_path: Union[str, None] = None, + ): + dataset_groups = [] + # List all data bases here: + dataset_groups.append(DatasetGroupCellxgene( + data_path=data_path, + meta_path=meta_path, + cache_path=cache_path + )) + super().__init__(dataset_groups=dataset_groups) diff --git a/sfaira/data/dataloaders/loaders/__init__.py b/sfaira/data/dataloaders/loaders/__init__.py new file mode 100644 index 000000000..542f4322f --- /dev/null +++ b/sfaira/data/dataloaders/loaders/__init__.py @@ -0,0 +1,2 @@ +from .super_group import DatasetSuperGroupLoaders +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2017_09_004/__init__.py b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2017_09_004/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2017_09_004/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2017_09_004/human_isletoflangerhans_2017_smartseq2_enge_001.py b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2017_09_004/human_isletoflangerhans_2017_smartseq2_enge_001.py new file mode 100644 index 000000000..e89f75cac --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2017_09_004/human_isletoflangerhans_2017_smartseq2_enge_001.py @@ -0,0 +1,67 @@ +import os +import tarfile +import gzip +from io import StringIO +import anndata as ad +import pandas as pd +import scipy.sparse + +from sfaira.data import DatasetBase + + +class Dataset(DatasetBase): + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE81nnn/GSE81547/suppl/GSE81547_RAW.tar" + self.download_url_meta = "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE81nnn/GSE81547/matrix/GSE81547_series_matrix.txt.gz" + + self.author = "Enge" + self.disease = "healthy" + self.doi = "10.1016/j.cell.2017.09.004" + self.normalization = "raw" + self.assay_sc = "Smart-seq2" + self.organ = "islet of Langerhans" + self.organism = "human" + self.year = 2017 + self.gene_id_symbols_var_key = "index" + self.cell_types_original_obs_key = "celltype" + self.sample_source = "primary_tissue" + + self.set_dataset_id(idx=1) + + +def load(data_dir, **kwargs): + fn = [ + os.path.join(data_dir, "GSE81547_RAW.tar"), + os.path.join(data_dir, "GSE81547_series_matrix.txt.gz") + ] + dfs = [] + with tarfile.open(fn[0]) as tar: + for member in tar.getmembers(): + d = pd.read_csv(tar.extractfile(member), compression="gzip", header=None, sep="\t", index_col=0, + names=[member.name.split("_")[0]]) + dfs.append(d) + adata = ad.AnnData(pd.concat(dfs, axis=1).iloc[1:-6].T) + adata.X = scipy.sparse.csc_matrix(adata.X) + with gzip.open(fn[1]) as f: + file_content = [i.decode("utf-8") for i in f.readlines()] + inputstring = "" + for line in file_content: + if "ID_REF" in line: + inputstring += line + if "!Sample_title" in line: + inputstring += line[1:] + if "!Sample_characteristics_ch1\t\"inferred_cell_type: alpha" in line: + inputstring += line[1:] + data = StringIO(inputstring) + d = pd.read_csv(data, sep="\t").T + d.columns = d.iloc[0] + d.drop("Sample_title", inplace=True) + d = d.reset_index().set_index("ID_REF") + d.columns.name = None + d.index.name = None + adata.obs["celltype"] = [d.loc[i]["Sample_characteristics_ch1"].split(": ")[1] for i in adata.obs.index] + adata.obs["patient"] = ["_".join(d.loc[i]["index"].split("_")[:2]) for i in adata.obs.index] + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2017_09_004/human_isletoflangerhans_2017_smartseq2_enge_001.tsv b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2017_09_004/human_isletoflangerhans_2017_smartseq2_enge_001.tsv new file mode 100644 index 000000000..16ed5cdce --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2017_09_004/human_isletoflangerhans_2017_smartseq2_enge_001.tsv @@ -0,0 +1,8 @@ +source target target_id +acinar pancreatic acinar cell CL:0002064 +alpha pancreatic A cell CL:0000171 +beta type B pancreatic cell CL:0000169 +delta pancreatic D cell CL:0000173 +ductal pancreatic ductal cell CL:0002079 +mesenchymal mesenchymal cell CL:0008019 +unsure UNKNOWN UNKNOWN diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2018_02_001/__init__.py b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2018_02_001/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2018_02_001/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2018_02_001/mouse_x_2018_microwellseq_han_x.py b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2018_02_001/mouse_x_2018_microwellseq_han_x.py new file mode 100644 index 000000000..24e8c3103 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2018_02_001/mouse_x_2018_microwellseq_han_x.py @@ -0,0 +1,352 @@ +import anndata +import numpy as np +import pandas +import zipfile +import tarfile +import os + +from sfaira.data import DatasetBase + +SAMPLE_FNS = [ + "Bladder_dge.txt.gz", + "BoneMarrow1_dge.txt.gz", + # "BoneMarrow2_dge.txt.gz", # not annotated, potentially bad quality + # "BoneMarrow3_dge.txt.gz", # not annotated, potentially bad quality + "BoneMarrowcKit1_dge.txt.gz", + "BoneMarrowcKit2_dge.txt.gz", + "BoneMarrowcKit3_dge.txt.gz", + "Brain1_dge.txt.gz", + "Brain2_dge.txt.gz", + # "CJ7.EB14.Ezh2.1_dge.txt.gz", # TODO: sort out meta data for these + # "CJ7.EB14.WT.1_dge.txt.gz", # TODO: sort out meta data for these + # "CJ7.EB14.WT.2_dge.txt.gz", # TODO: sort out meta data for these + # "EB.Ezh2_dge.txt.gz", # TODO: sort out meta data for these + # "EB.WT_dge.txt.gz", # TODO: sort out meta data for these + # "EmbryonicMesenchymeE14.5_dge.txt.gz", # TODO: sort out meta data for these + # "EmbryonicStemCell.CJ7_Deep_dge.txt.gz", # TODO: sort out meta data for these + # "EmbryonicStemCells_dge.txt.gz", # TODO: sort out meta data for these + "FetalBrain_dge.txt.gz", + "FetalFemaleGonad_dge.txt.gz", + "FetalIntestine_dge.txt.gz", + "FetalKidney1_dge.txt.gz", + "FetalKidney2_dge.txt.gz", + "FetalLiverE14.1_dge.txt.gz", + "FetalLung_dge.txt.gz", + "FetalMaleGonad_dge.txt.gz", + "FetalPancreas_dge.txt.gz", + "FetalStomach_dge.txt.gz", + # "human-293T_dge.txt.gz", # ToDo: sort out meta data for these + "Kidney1_dge.txt.gz", + "Kidney2_dge.txt.gz", + "Liver1_dge.txt.gz", + "Liver2_dge.txt.gz", + "Lung1_dge.txt.gz", + "Lung2_dge.txt.gz", + "Lung3_dge.txt.gz", + # "MammaryGland.Involution.CD45.1_dge.txt.gz", # TODO not annotated? + # "MammaryGland.Involution.CD45.2_dge.txt.gz", # TODO not annotated? + # "MammaryGland.Involution1_dge.txt.gz", # TODO not annotated? + # "MammaryGland.Involution2_dge.txt.gz", # TODO not annotated? + # "MammaryGland.Lactation1_dge.txt.gz", # TODO not annotated? + # "MammaryGland.Lactation2_dge.txt.gz", # TODO not annotated? + # "MammaryGland.Pregnancy_dge.txt.gz", # TODO not annotated? + # "MammaryGland.Virgin.CD45.1_dge.txt.gz", # TODO not annotated? + # "MammaryGland.Virgin.CD45.2_dge.txt.gz", # TODO not annotated? + "MammaryGland.Virgin1_dge.txt.gz", + "MammaryGland.Virgin2_dge.txt.gz", + "MammaryGland.Virgin3_dge.txt.gz", + "MammaryGland.Virgin4_dge.txt.gz", + # "mES.CJ7_dge.txt.gz", # TODO: sort out meta data for these + "MesenchymalStemCells_dge.txt.gz", + "MesenchymalStemCellsPrimary_dge.txt.gz", + # "mouse-3T3_dge.txt.gz", # TODO: sort out meta data for these + "Muscle_dge.txt.gz", + "NeonatalCalvaria1_dge.txt.gz", + "NeonatalCalvaria2_dge.txt.gz", + "NeonatalHeart_dge.txt.gz", + "NeonatalMuscle1_dge.txt.gz", + "NeonatalMuscle2_dge.txt.gz", + # "NeonatalPancreas_dge.txt.zip", # TODO enable zip file here + "NeonatalRib1_dge.txt.gz", + "NeonatalRib2_dge.txt.gz", + "NeonatalRib3_dge.txt.gz", + "NeonatalSkin_dge.txt.gz", + "NeontalBrain1_dge.txt.gz", + "NeontalBrain2_dge.txt.gz", + "Ovary1_dge.txt.gz", + "Ovary2_dge.txt.gz", + "Pancreas_dge.txt.gz", + "PeripheralBlood1_dge.txt.gz", + "PeripheralBlood2_dge.txt.gz", + "PeripheralBlood3_dge.txt.gz", + "PeripheralBlood4_dge.txt.gz", + "PeripheralBlood5_dge.txt.gz", + "PeripheralBlood6_dge.txt.gz", + "PlacentaE14.1_dge.txt.gz", + "PlacentaE14.2_dge.txt.gz", + "Prostate1_dge.txt.gz", + "Prostate2_dge.txt.gz", + "SmallIntestine.CD45_dge.txt.gz", + "SmallIntestine1_dge.txt.gz", + "SmallIntestine2_dge.txt.gz", + "SmallIntestine3_dge.txt.gz", + "Spleen_dge.txt.gz", + "Stomach_dge.txt.gz", + "Testis1_dge.txt.gz", + "Testis2_dge.txt.gz", + "Thymus1_dge.txt.gz", + "Thymus2_dge.txt.gz", + "TrophoblastStemCells_dge.txt.gz", + "Uterus1_dge.txt.gz", + "Uterus2_dge.txt.gz", +] + + +class Dataset(DatasetBase): + + def __init__(self, **kwargs): + super().__init__(**kwargs) + sample_organ_dict = { + "Bladder_dge.txt.gz": "urinary bladder", + "BoneMarrow1_dge.txt.gz": "bone marrow", + "BoneMarrow2_dge.txt.gz": "bone marrow", + "BoneMarrow3_dge.txt.gz": "bone marrow", + "BoneMarrowcKit1_dge.txt.gz": "bone marrow", + "BoneMarrowcKit2_dge.txt.gz": "bone marrow", + "BoneMarrowcKit3_dge.txt.gz": "bone marrow", + "Brain1_dge.txt.gz": "brain", + "Brain2_dge.txt.gz": "brain", + "CJ7.EB14.Ezh2.1_dge.txt.gz": None, + "CJ7.EB14.WT.1_dge.txt.gz": None, + "CJ7.EB14.WT.2_dge.txt.gz": None, + "EB.Ezh2_dge.txt.gz": None, + "EB.WT_dge.txt.gz": None, + "EmbryonicMesenchymeE14.5_dge.txt.gz": "mesenchyme", + "EmbryonicStemCell.CJ7_Deep_dge.txt.gz": "blastocyst", + "EmbryonicStemCells_dge.txt.gz": "blastocyst", + "FetalBrain_dge.txt.gz": "brain", + "FetalFemaleGonad_dge.txt.gz": "ovary", + "FetalIntestine_dge.txt.gz": "intestine", + "FetalKidney1_dge.txt.gz": "kidney", + "FetalKidney2_dge.txt.gz": "kidney", + "FetalLiverE14.1_dge.txt.gz": "liver", + "FetalLung_dge.txt.gz": "lung", + "FetalMaleGonad_dge.txt.gz": "testis", + "FetalPancreas_dge.txt.gz": "pancreas", + "FetalStomach_dge.txt.gz": "stomach", + "human-293T_dge.txt.gz": None, + "Kidney1_dge.txt.gz": "kidney", + "Kidney2_dge.txt.gz": "kidney", + "Liver1_dge.txt.gz": "liver", + "Liver2_dge.txt.gz": "liver", + "Lung1_dge.txt.gz": "lung", + "Lung2_dge.txt.gz": "lung", + "Lung3_dge.txt.gz": "lung", + "MammaryGland.Involution.CD45.1_dge.txt.gz": "mammary gland", + "MammaryGland.Involution.CD45.2_dge.txt.gz": "mammary gland", + "MammaryGland.Involution1_dge.txt.gz": "mammary gland", + "MammaryGland.Involution2_dge.txt.gz": "mammary gland", + "MammaryGland.Lactation1_dge.txt.gz": "mammary gland", + "MammaryGland.Lactation2_dge.txt.gz": "mammary gland", + "MammaryGland.Pregnancy_dge.txt.gz": "mammary gland", + "MammaryGland.Virgin.CD45.1_dge.txt.gz": "mammary gland", + "MammaryGland.Virgin.CD45.2_dge.txt.gz": "mammary gland", + "MammaryGland.Virgin1_dge.txt.gz": "mammary gland", + "MammaryGland.Virgin2_dge.txt.gz": "mammary gland", + "MammaryGland.Virgin3_dge.txt.gz": "mammary gland", + "MammaryGland.Virgin4_dge.txt.gz": "mammary gland", + "mES.CJ7_dge.txt.gz": "blastocyst", + "MesenchymalStemCells_dge.txt.gz": "mesenchyme", + "MesenchymalStemCellsPrimary_dge.txt.gz": "mesenchyme", + "mouse-3T3_dge.txt.gz": None, + "Muscle_dge.txt.gz": "skeletal muscle organ", + "NeonatalCalvaria1_dge.txt.gz": "vault of skull", + "NeonatalCalvaria2_dge.txt.gz": "vault of skull", + "NeonatalHeart_dge.txt.gz": "heart", + "NeonatalMuscle1_dge.txt.gz": "skeletal muscle organ", + "NeonatalMuscle2_dge.txt.gz": "skeletal muscle organ", + "NeonatalPancreas_dge.txt.zip": "pancreas", + "NeonatalRib1_dge.txt.gz": "rib", + "NeonatalRib2_dge.txt.gz": "rib", + "NeonatalRib3_dge.txt.gz": "rib", + "NeonatalSkin_dge.txt.gz": "skin of body", + "NeontalBrain1_dge.txt.gz": "brain", + "NeontalBrain2_dge.txt.gz": "brain", + "Ovary1_dge.txt.gz": "ovary", + "Ovary2_dge.txt.gz": "ovary", + "Pancreas_dge.txt.gz": "pancreas", + "PeripheralBlood1_dge.txt.gz": "blood", + "PeripheralBlood2_dge.txt.gz": "blood", + "PeripheralBlood3_dge.txt.gz": "blood", + "PeripheralBlood4_dge.txt.gz": "blood", + "PeripheralBlood5_dge.txt.gz": "blood", + "PeripheralBlood6_dge.txt.gz": "blood", + "PlacentaE14.1_dge.txt.gz": "placenta", + "PlacentaE14.2_dge.txt.gz": "placenta", + "Prostate1_dge.txt.gz": "prostate gland", + "Prostate2_dge.txt.gz": "prostate gland", + "SmallIntestine.CD45_dge.txt.gz": "small intestine", + "SmallIntestine1_dge.txt.gz": "small intestine", + "SmallIntestine2_dge.txt.gz": "small intestine", + "SmallIntestine3_dge.txt.gz": "small intestine", + "Spleen_dge.txt.gz": "spleen", + "Stomach_dge.txt.gz": "stomach", + "Testis1_dge.txt.gz": "testis", + "Testis2_dge.txt.gz": "testis", + "Thymus1_dge.txt.gz": "testis", + "Thymus2_dge.txt.gz": "testis", + "TrophoblastStemCells_dge.txt.gz": "trophoblast", + "Uterus1_dge.txt.gz": "uterus", + "Uterus2_dge.txt.gz": "uterus", + } + sample_dev_stage_dict = { + "Bladder_dge.txt.gz": "adult", + "BoneMarrow1_dge.txt.gz": "adult", + "BoneMarrow2_dge.txt.gz": "adult", + "BoneMarrow3_dge.txt.gz": "adult", + "BoneMarrowcKit1_dge.txt.gz": "adult", + "BoneMarrowcKit2_dge.txt.gz": "adult", + "BoneMarrowcKit3_dge.txt.gz": "adult", + "Brain1_dge.txt.gz": "adult", + "Brain2_dge.txt.gz": "adult", + "CJ7.EB14.Ezh2.1_dge.txt.gz": None, + "CJ7.EB14.WT.1_dge.txt.gz": None, + "CJ7.EB14.WT.2_dge.txt.gz": None, + "EB.Ezh2_dge.txt.gz": None, + "EB.WT_dge.txt.gz": None, + "EmbryonicMesenchymeE14.5_dge.txt.gz": "embryonic", + "EmbryonicStemCell.CJ7_Deep_dge.txt.gz": "embryonic", + "EmbryonicStemCells_dge.txt.gz": "embryonic", + "FetalBrain_dge.txt.gz": "fetal", + "FetalFemaleGonad_dge.txt.gz": "fetal", + "FetalIntestine_dge.txt.gz": "fetal", + "FetalKidney1_dge.txt.gz": "fetal", + "FetalKidney2_dge.txt.gz": "fetal", + "FetalLiverE14.1_dge.txt.gz": "fetal", + "FetalLung_dge.txt.gz": "fetal", + "FetalMaleGonad_dge.txt.gz": "fetal", + "FetalPancreas_dge.txt.gz": "fetal", + "FetalStomach_dge.txt.gz": "fetal", + "human-293T_dge.txt.gz": None, + "Kidney1_dge.txt.gz": "adult", + "Kidney2_dge.txt.gz": "adult", + "Liver1_dge.txt.gz": "adult", + "Liver2_dge.txt.gz": "adult", + "Lung1_dge.txt.gz": "adult", + "Lung2_dge.txt.gz": "adult", + "Lung3_dge.txt.gz": "adult", + "MammaryGland.Involution.CD45.1_dge.txt.gz": "adult", + "MammaryGland.Involution.CD45.2_dge.txt.gz": "adult", + "MammaryGland.Involution1_dge.txt.gz": "adult", + "MammaryGland.Involution2_dge.txt.gz": "adult", + "MammaryGland.Lactation1_dge.txt.gz": "adult", + "MammaryGland.Lactation2_dge.txt.gz": "adult", + "MammaryGland.Pregnancy_dge.txt.gz": "adult", + "MammaryGland.Virgin.CD45.1_dge.txt.gz": "adult", + "MammaryGland.Virgin.CD45.2_dge.txt.gz": "adult", + "MammaryGland.Virgin1_dge.txt.gz": "adult", + "MammaryGland.Virgin2_dge.txt.gz": "adult", + "MammaryGland.Virgin3_dge.txt.gz": "adult", + "MammaryGland.Virgin4_dge.txt.gz": "adult", + "mES.CJ7_dge.txt.gz": "embryonic", + "MesenchymalStemCells_dge.txt.gz": "embryonic", + "MesenchymalStemCellsPrimary_dge.txt.gz": "embryonic", + "mouse-3T3_dge.txt.gz": None, + "Muscle_dge.txt.gz": "adult", + "NeonatalCalvaria1_dge.txt.gz": "neonatal", + "NeonatalCalvaria2_dge.txt.gz": "neonatal", + "NeonatalHeart_dge.txt.gz": "neonatal", + "NeonatalMuscle1_dge.txt.gz": "neonatal", + "NeonatalMuscle2_dge.txt.gz": "neonatal", + "NeonatalPancreas_dge.txt.zip": "neonatal", + "NeonatalRib1_dge.txt.gz": "neonatal", + "NeonatalRib2_dge.txt.gz": "neonatal", + "NeonatalRib3_dge.txt.gz": "neonatal", + "NeonatalSkin_dge.txt.gz": "neonatal", + "NeontalBrain1_dge.txt.gz": "neonatal", + "NeontalBrain2_dge.txt.gz": "neonatal", + "Ovary1_dge.txt.gz": "adult", + "Ovary2_dge.txt.gz": "adult", + "Pancreas_dge.txt.gz": "adult", + "PeripheralBlood1_dge.txt.gz": "adult", + "PeripheralBlood2_dge.txt.gz": "adult", + "PeripheralBlood3_dge.txt.gz": "adult", + "PeripheralBlood4_dge.txt.gz": "adult", + "PeripheralBlood5_dge.txt.gz": "adult", + "PeripheralBlood6_dge.txt.gz": "adult", + "PlacentaE14.1_dge.txt.gz": "fetal", + "PlacentaE14.2_dge.txt.gz": "fetal", + "Prostate1_dge.txt.gz": "adult", + "Prostate2_dge.txt.gz": "adult", + "SmallIntestine.CD45_dge.txt.gz": "adult", + "SmallIntestine1_dge.txt.gz": "adult", + "SmallIntestine2_dge.txt.gz": "adult", + "SmallIntestine3_dge.txt.gz": "adult", + "Spleen_dge.txt.gz": "adult", + "Stomach_dge.txt.gz": "adult", + "Testis1_dge.txt.gz": "adult", + "Testis2_dge.txt.gz": "adult", + "Thymus1_dge.txt.gz": "adult", + "Thymus2_dge.txt.gz": "adult", + "TrophoblastStemCells_dge.txt.gz": "embryonic", + "Uterus1_dge.txt.gz": "adult", + "Uterus2_dge.txt.gz": "adult", + } + + self.organ = sample_organ_dict[self.sample_fn] + + self.download_url_data = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" + self.download_url_meta = None + + self.author = "Han" + self.dev_stage = sample_dev_stage_dict[self.sample_fn] + self.disease = "healthy" + self.doi = "10.1016/j.cell.2018.02.001" + self.normalization = "raw" + self.organism = "mouse" + self.assay_sc = "microwell-seq" + self.year = 2018 + self.sample_source = "primary_tissue" + + self.gene_id_symbols_var_key = "index" + + # Only adult and neonatal samples are annotated: + self.cell_types_original_obs_key = "Annotation" \ + if sample_dev_stage_dict[self.sample_fn] in ["adult", "neonatal"] and \ + self.sample_fn not in [ + "NeontalBrain1_dge.txt.gz", + "NeontalBrain2_dge.txt.gz", + "SmallIntestine.CD45_dge.txt.gz", + "Thymus2_dge.txt.gz", + ] else None + + self.set_dataset_id(idx=1) + + +def load(data_dir, sample_fn, **kwargs): + fn = os.path.join(data_dir, '5435866.zip') + with zipfile.ZipFile(fn) as archive: + celltypes = pandas.read_csv(archive.open('MCA_CellAssignments.csv'), index_col=1) + celltypes = celltypes.drop(["Unnamed: 0"], axis=1) + + with tarfile.open(fileobj=archive.open('MCA_500more_dge.tar.gz')) as tar: + data = pandas.read_csv(tar.extractfile(f'500more_dge/{sample_fn}'), + compression="gzip", + sep=" ", + header=0 + ) + + adata = anndata.AnnData(data.T) + annotated_cells = np.array([x in celltypes.index for x in adata.obs_names]) + # Add annotation if available for this data set: + if np.sum(annotated_cells) > 0: + # Subset to annotated cells if any are annotated: + adata = adata[annotated_cells].copy() + # Clean nans in data frame to avoid issues with cell type annotation: + celltypes["Annotation"] = [ + x if x not in [np.nan, "nan"] else "unknown" + for x in celltypes["Annotation"].values + ] + adata.obs = celltypes.loc[adata.obs_names, :] + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2018_02_001/mouse_x_2018_microwellseq_han_x.tsv b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2018_02_001/mouse_x_2018_microwellseq_han_x.tsv new file mode 100644 index 000000000..46d9825e1 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2018_02_001/mouse_x_2018_microwellseq_han_x.tsv @@ -0,0 +1,463 @@ +source target target_id +AT1 Cell(Lung) type I pneumocyte CL:0002062 +AT2 Cell(Lung) type II pneumocyte CL:0002063 +Acinar cell(Pancreas) pancreatic acinar cell CL:0002064 +Adipocyte(Fetal_Kidney) fat cell CL:0000136 +Adipocyte(Neonatal-Skin) fat cell CL:0000136 +Adipocyte (Neonatal-Muscle) fat cell CL:0000136 +Alveolar bipotent progenitor(Lung) pneumocyte CL:0000322 +Alveolar macrophage_Ear2 high(Lung) alveolar macrophage CL:0000583 +Alveolar macrophage_Pclaf high(Lung) alveolar macrophage CL:0000583 +Antral mucous cell (Stomach) mucous cell of stomach CL:0002180 +Astrocyte_Atp1b2 high(Brain) astrocyte CL:0000127 +Astrocyte_Mfe8 high(Brain) astrocyte CL:0000127 +Astrocyte_Pla2g7 high(Brain) astrocyte CL:0000127 +Astroglial cell(Bergman glia)(Brain) Bergmann glial cell CL:0000644 +Atrial cardiomyocyte(Neonatal-Heart) regular atrial cardiac myocyte CL:0002129 +Atrial cardiomyocyte_Acta2 high(Neonatal-Heart) regular atrial cardiac myocyte CL:0002129 +B Cell(Lung) B cell CL:0000236 +B cell(Bone-Marrow_c-kit) B cell CL:0000236 +B cell(Kidney) B cell CL:0000236 +B cell(Neonatal-Muscle) B cell CL:0000236 +B cell(Neonatal-Rib) B cell CL:0000236 +B cell(Pancreas) B cell CL:0000236 +B cell(Thymus) B cell CL:0000236 +B cell(Uterus) B cell CL:0000236 +B cell_Cd79a&Fcer2a high(Mammary-Gland-Virgin) B cell CL:0000236 +B cell_Cd79a&Iglc2 high(Mammary-Gland-Virgin) B cell CL:0000236 +B cell_Fcmr high(Liver) B cell CL:0000236 +B cell_Igha high(Peripheral_Blood) B cell CL:0000236 +B cell_Ighd high(Small-Intestine) B cell CL:0000236 +B cell_Igkc high(Bone-Marrow) B cell CL:0000236 +B cell_Igkv12-46 high(Small-Intestine) B cell CL:0000236 +B cell_Jchain high(Liver) B cell CL:0000236 +B cell_Jchain high(Mammary-Gland-Virgin) B cell CL:0000236 +B cell_Jchain high(Muscle) B cell CL:0000236 +B cell_Jchain high(Small-Intestine) B cell CL:0000236 +B cell_Ly6d high(Peripheral_Blood) B cell CL:0000236 +B cell_Ms4a1 high(Small-Intestine) B cell CL:0000236 +B cell_Rps27rt high(Peripheral_Blood) B cell CL:0000236 +B cell_Vpreb3 high(Muscle) B cell CL:0000236 +B cell_Vpreb3 high(Peripheral_Blood) B cell CL:0000236 +Basal epithelial cell(Bladder) bladder urothelial cell CL:1001428 +Basophil(Bone-Marrow_c-kit) basophil CL:0000767 +Basophil(Lung) basophil CL:0000767 +Basophil_Prss34 high(Peripheral_Blood) basophil CL:0000767 +Brown adipose tissue(Neonatal-Muscle) brown fat cell CL:0000449 +Brown adipose tissue_Cidea high(Neonatal-Skin) brown fat cell CL:0000449 +Brown adipose tissue_Cox8b high(Neonatal-Skin) brown fat cell CL:0000449 +Brown adipose tissue_mt-Nd5 high(Neonatal-Skin) brown fat cell CL:0000449 +Cardiac muscle cell(Neonatal-Heart) cardiac muscle cell CL:0000746 +Cartilage cell_Clu high(Neonatal-Rib) chondrocyte CL:0000138 +Cartilage cell_Col2a1 high(Neonatal-Rib) chondrocyte CL:0000138 +Cartilage cell_Cxcl14 high(Neonatal-Rib) chondrocyte CL:0000138 +Cartilage cell_Ppa1 high(Neonatal-Rib) chondrocyte CL:0000138 +Cartilage cell_Prg4 high(Neonatal-Rib) chondrocyte CL:0000138 +Cell in cell cycle(Fetal_Kidney) UNKNOWN UNKNOWN +Chondrocyte(Neonatal-Muscle) chondrocyte CL:0000138 +Ciliated cell(Lung) ciliated cell CL:0000064 +Clara Cell(Lung) club cell CL:0000158 +Columnar epithelium(Small-Intestine) epithelial cell CL:0000066 +Conventional dendritic cell_Gngt2 high(Lung) conventional dendritic cell CL:0000990 +Conventional dendritic cell_H2-M2 high(Lung) conventional dendritic cell CL:0000990 +Conventional dendritic cell_Mgl2 high(Lung) conventional dendritic cell CL:0000990 +Conventional dendritic cell_Tubb5 high(Lung) conventional dendritic cell CL:0000990 +Cumulus cell_Car14 high(Ovary) cumulus cell CL:0000711 +Cumulus cell_Nupr1 high(Ovary) cumulus cell CL:0000711 +Cumulus cell_Ube2c high(Ovary) cumulus cell CL:0000711 +DPT cell(Thymus) double-positive, alpha-beta thymocyte CL:0000809 +Dendritic cell(Muscle) dendritic cell CL:0000451 +Dendritic cell(Neonatal-Heart) dendritic cell CL:0000451 +Dendritic cell(Neonatal-Muscle) dendritic cell CL:0000451 +Dendritic cell(Prostate) dendritic cell CL:0000451 +Dendritic cell(Stomach) dendritic cell CL:0000451 +Dendritic cell(Uterus) dendritic cell CL:0000451 +Dendritic cell_Ccr7 high(Kidney) dendritic cell CL:0000451 +Dendritic cell_Cd74 high(Bladder) dendritic cell CL:0000451 +Dendritic cell_Cst3 high(Kidney) dendritic cell CL:0000451 +Dendritic cell_Cst3 high(Liver) dendritic cell CL:0000451 +Dendritic cell_Cst3 high(Mammary-Gland-Virgin) dendritic cell CL:0000451 +Dendritic cell_Fscn1 high(Mammary-Gland-Virgin) dendritic cell CL:0000451 +Dendritic cell_H2-Eb1 high(Bone-Marrow) dendritic cell CL:0000451 +Dendritic cell_Lyz2 high(Bladder) dendritic cell CL:0000451 +Dendritic cell_Naaa high(Lung) dendritic cell CL:0000451 +Dendritic cell_S100a4 high(Spleen) dendritic cell CL:0000451 +Dendritic cell_Siglech high(Bone-Marrow) dendritic cell CL:0000451 +Dendritic cell_Siglech high(Liver) dendritic cell CL:0000451 +Dendritic cell_Siglech high(Mammary-Gland-Virgin) dendritic cell CL:0000451 +Dendritic cell_Siglech high(Peripheral_Blood) dendritic cell CL:0000451 +Dendritic cell_Siglech high(Small-Intestine) dendritic cell CL:0000451 +Dendritic cell_Siglech high(Spleen) dendritic cell CL:0000451 +Dendrtic cell(Pancreas) dendritic cell CL:0000451 +Dendrtic cell_Cst3 high(Small-Intestine) dendritic cell CL:0000451 +Distal collecting duct principal cell_Cldn4 high(Kidney) kidney collecting duct principal cell CL:1001431 +Distal collecting duct principal cell_Hsd11b2 high(Kidney) kidney collecting duct principal cell CL:1001431 +Distal convoluted tubule_Pvalb high(Kidney) kidney distal convoluted tubule epithelial cell CL:1000849 +Distal convoluted tubule_S100g high(Kidney) kidney distal convoluted tubule epithelial cell CL:1000849 +Dividing cell(Mammary-Gland-Virgin) UNKNOWN UNKNOWN +Dividing cell(Neonatal-Heart) UNKNOWN UNKNOWN +Dividing cell(Neonatal-Rib) UNKNOWN UNKNOWN +Dividing cell(Neonatal-Skin) UNKNOWN UNKNOWN +Dividing cell(Pancreas) UNKNOWN UNKNOWN +Dividing cell(Stomach) UNKNOWN UNKNOWN +Dividing cells(Lung) UNKNOWN UNKNOWN +Dividng cell(Neonatal-Calvaria) UNKNOWN UNKNOWN +Dividing T cells(Lung) T cell CL:0000084 +Dividing dendritic cells(Lung) dendritic cell CL:0000451 +Ductal cell(Pancreas) pancreatic ductal cell CL:0002079 +Elongating spermatid(Testis) spermatid CL:0000018 +Endocrine cell(Pancreas) pancreatic endocrine cell CL:0008024 +Endothelial cell(Kidney) endothelial cell CL:0000115 +Endothelial cell(Liver) endothelial cell CL:0000115 +Endothelial cell(Muscle) endothelial cell CL:0000115 +Endothelial cell(Neonatal-Calvaria) endothelial cell CL:0000115 +Endothelial cell(Neonatal-Muscle) endothelial cell CL:0000115 +Endothelial cell(Neonatal-Rib) endothelial cell CL:0000115 +Endothelial cell(Neonatal-Skin) endothelial cell CL:0000115 +Endothelial cell_Cldn5 high(Uterus) endothelial cell CL:0000115 +Endothelial cell_Eln high(Neonatal-Heart) endothelial cell CL:0000115 +Endothelial cell_Enpp2 high(Neonatal-Heart) endothelial cell CL:0000115 +Endothelial cell_Fabp4 high(Pancreas) endothelial cell CL:0000115 +Endothelial cell_Igfbp5 high(Neonatal-Heart) endothelial cell CL:0000115 +Endothelial cell_Kdr high(Lung) endothelial cell CL:0000115 +Endothelial cell_Lrg1 high(Pancreas) endothelial cell CL:0000115 +Endothelial cell_Ly6c1 high(Bladder) endothelial cell CL:0000115 +Endothelial cell_Tm4sf1 high(Pancreas) endothelial cell CL:0000115 +Endothelial cell_Tm4sf1 high(Uterus) endothelial cell CL:0000115 +Endothelial cell_Tmem100 high(Lung) endothelial cell CL:0000115 +Endothelial cells_Vwf high(Lung) endothelial cell CL:0000115 +Eosinophil granulocyte(Lung) eosinophil CL:0000771 +Eosinophil progenitor cell(Bone-Marrow_c-kit) eosinophil progenitor cell CL:0000611 +Epithelia cell_Spp1 high(Liver) epithelial cell CL:0000066 +Epithelial cell(Liver) epithelial cell CL:0000066 +Epithelial cell(Neonatal-Heart) epithelial cell CL:0000066 +Epithelial cell(Neonatal-Muscle) epithelial cell CL:0000066 +Epithelial cell(Neonatal-Skin) epithelial cell CL:0000066 +Epithelial cell(Prostate) epithelial cell of prostatic duct CL:0002232 +Epithelial cell_Cryab high(Kidney) kidney epithelial cell CL:0002518 +Epithelial cell_Gkn3 high(Stomach) epithelial cell CL:0000066 +Epithelial cell_Gm23935 high(Bladder) bladder urothelial cell CL:1001428 +Epithelial cell_Kcne3 high(Small-Intestine) epithelial cell CL:0000066 +Epithelial cell_Krt20 high(Stomach) epithelial cell CL:0000066 +Epithelial cell_Pla2g1b high(Stomach) epithelial cell CL:0000066 +Epithelial cell_Sh2d6 high(Small-Intestine) epithelial cell CL:0000066 +Epithelial cell_Upk3a high(Bladder) bladder urothelial cell CL:1001428 +Epithelium of small intestinal villi_Fabp1 high(Small-Intestine) epithelial cell of small intestine CL:0002254 +Epithelium of small intestinal villi_Fabp6 high(Small-Intestine) epithelial cell of small intestine CL:0002254 +Epithelium of small intestinal villi_Gm23935 high(Small-Intestine) epithelial cell of small intestine CL:0002254 +Epithelium of small intestinal villi_S100g high(Small-Intestine) epithelial cell of small intestine CL:0002254 +Epithelium of small intestinal villi_mt-Nd1 high(Small-Intestine) epithelial cell of small intestine CL:0002254 +Erythroblast(Bone-Marrow) erythroblast CL:0000765 +Erythroblast(Neonatal-Calvaria) erythroblast CL:0000765 +Erythroblast(Neonatal-Skin) erythroblast CL:0000765 +Erythroblast(Small-Intestine) erythroblast CL:0000765 +Erythroblast(Spleen) erythroblast CL:0000765 +Erythroblast_Car1 high(Muscle) erythroblast CL:0000765 +Erythroblast_Car2 high(Muscle) erythroblast CL:0000765 +Erythroblast_Car2 high(Neonatal-Muscle) erythroblast CL:0000765 +Erythroblast_Car2 high(Peripheral_Blood) erythroblast CL:0000765 +Erythroblast_Hba-a1 high(Neonatal-Rib) erythroblast CL:0000765 +Erythroblast_Hba-a2 high(Peripheral_Blood) erythroblast CL:0000765 +Erythroblast_Hbb-bs high(Liver) erythroblast CL:0000765 +Erythroblast_Hbb-bs high(Neonatal-Muscle) erythroblast CL:0000765 +Erythroblast_Hbb-bs high(Testis) erythroblast CL:0000765 +Erythroblast_Hbb-bt high(Liver) erythroblast CL:0000765 +Erythroblast_Hbb-bt high(Pancreas) erythroblast CL:0000765 +Erythroblast_Igkc high(Pancreas) erythroblast CL:0000765 +Erythroblast_Ttr high(Neonatal-Rib) erythroblast CL:0000765 +Erythrocyte progenitor_Car1 high(Bone-Marrow_c-kit) megakaryocyte-erythroid progenitor cell CL:0000050 +Erythrocyte progenitor_Hba-a1 high(Bone-Marrow_c-kit) megakaryocyte-erythroid progenitor cell CL:0000050 +Fenestrated endothelial cell_Plvap high(Kidney) glomerular endothelial cell CL:0002188 +Fenestrated endothelial cell_Tm4sf1 high(Kidney) glomerular endothelial cell CL:0002188 +G cell(Stomach) type G enteroendocrine cell CL:0000508 +Gastric mucosal cell(Stomach) mucous cell of stomach CL:0002180 +Glandular epithelium(Prostate) endocrine-paracrine cell of prostate gland CL:0002313 +Glandular epithelium_Ltf high(Uterus) uterine cervix glandular cell CL:1001587 +Glandular epithelium_Sprr2f high(Uterus) uterine cervix glandular cell CL:1001587 +Glial cell(Neonatal-Muscle) glial cell CL:0000125 +Glial cell(Pancreas) glial cell CL:0000125 +Glomerular epithelial cell_Aldh1a2 high(Fetal_Kidney) kidney glomerular epithelial cell CL:1000510 +Granulocyte monocyte progenitor cell(Muscle) granulocyte monocyte progenitor cell CL:0000557 +Granulocyte monocyte progenitor cell(Neonatal-Calvaria) granulocyte monocyte progenitor cell CL:0000557 +Granulocyte(Liver) granulocyte CL:0000094 +Granulocyte(Neonatal-Rib) granulocyte CL:0000094 +Granulocyte(Pancreas) granulocyte CL:0000094 +Granulocyte(Spleen) granulocyte CL:0000094 +Granulocyte(Uterus) granulocyte CL:0000094 +Granulocyte_Il33 high(Brain) granulocyte CL:0000094 +Granulocyte_Ngp high(Brain) granulocyte CL:0000094 +Granulosa cell_Inhba high(Ovary) granulosa cell CL:0000501 +Granulosa cell_Kctd14 high(Ovary) granulosa cell CL:0000501 +Hematopoietic stem progenitor cell(Bone-Marrow) hematopoietic stem cell CL:0000037 +Hepatocyte_Fabp1 high(Liver) hepatocyte CL:0000182 +Hepatocyte_mt-Nd4 high(Liver) hepatocyte CL:0000182 +Hypothalamic ependymal cell(Brain) ependymal cell CL:0000065 +Ig−producing B cell(Lung) plasmablast CL:0000980 +Intercalated cells of collecting duct_Aqp6 high(Kidney) renal intercalated cell CL:0005010 +Intercalated cells of collecting duct_Slc26a4 high(Kidney) renal intercalated cell CL:0005010 +Interstitial macrophage(Lung) macrophage CL:0000235 +Keratinocyte(Neonatal-Skin) keratinocyte CL:0000312 +Keratinocyte(Uterus) keratinocyte CL:0000312 +Kuppfer cell(Liver) Kupffer cell CL:0000091 +Large luteal cell(Ovary) large luteal cell CL:0000592 +Left ventricle cardiomyocyte_Myl2 high(Neonatal-Heart) ventricular cardiac muscle cell CL:2000046 +Leydig cell(Testis) Leydig cell CL:0000178 +Luminal cell_Krt19 high (Mammary-Gland-Virgin) mammary alveolar cell CL:0002325 +Luminal progenitor(Mammary-Gland-Virgin) mammary alveolar cell CL:0002325 +Lymphatic vessel endothelial cell(Neonatal-Skin) dermis lymphatic vessel endothelial cell CL:2000011 +Macrophage(Neonatal-Heart) macrophage CL:0000235 +Macrophage(Pancreas) macrophage CL:0000235 +Macrophage(Spleen) macrophage CL:0000235 +Macrophage(Stomach) macrophage CL:0000235 +Macrophage(Uterus) macrophage CL:0000235 +Macrophage_Ace high(Peripheral_Blood) macrophage CL:0000235 +Macrophage_Apoe high(Small-Intestine) macrophage CL:0000235 +Macrophage_C1qc high(Bone-Marrow_c-kit) macrophage CL:0000235 +Macrophage_C1qc high(Mammary-Gland-Virgin) macrophage CL:0000235 +Macrophage_C1qc high(Neonatal-Rib) macrophage CL:0000235 +Macrophage_Ccl4 high (Kidney) macrophage CL:0000235 +Macrophage_Cd74 high(Bone-Marrow_c-kit) macrophage CL:0000235 +Macrophage_Cd74 high(Neonatal-Skin) macrophage CL:0000235 +Macrophage_Chil3 high(Liver) macrophage CL:0000235 +Macrophage_Ctss high(Neonatal-Rib) macrophage CL:0000235 +Macrophage_Cxcl2 high(Small-Intestine) macrophage CL:0000235 +Macrophage_Flt-ps1 high(Peripheral_Blood) macrophage CL:0000235 +Macrophage_G0s2 high(Small-Intestine) macrophage CL:0000235 +Macrophage_Klf2 high(Brain) macrophage CL:0000235 +Macrophage_Ly6c2 high(Pancreas) macrophage CL:0000235 +Macrophage_Lyz1 high(Mammary-Gland-Virgin) macrophage CL:0000235 +Macrophage_Lyz2 high(Brain) macrophage CL:0000235 +Macrophage_Lyz2 high(Kidney) macrophage CL:0000235 +Macrophage_Lyz2 high(Neonatal-Muscle) macrophage CL:0000235 +Macrophage_Lyz2 high(Neonatal-Skin) macrophage CL:0000235 +Macrophage_Lyz2 high(Ovary) macrophage CL:0000235 +Macrophage_Lyz2 high(Testis) macrophage CL:0000235 +Macrophage_Ms4a6c high(Bone-Marrow) macrophage CL:0000235 +Macrophage_Ms4a6c high(Muscle) macrophage CL:0000235 +Macrophage_Pf4 high(Bladder) macrophage CL:0000235 +Macrophage_Pf4 high(Neonatal-Muscle) macrophage CL:0000235 +Macrophage_Pf4 high(Neonatal-Skin) macrophage CL:0000235 +Macrophage_Pf4 high(Peripheral_Blood) macrophage CL:0000235 +Macrophage_Retnla high(Muscle) macrophage CL:0000235 +Macrophage_S100a4 high(Bone-Marrow) macrophage CL:0000235 +Macrophage_S100a4 high(Bone-Marrow_c-kit) macrophage CL:0000235 +Macrophage_S100a4 high(Peripheral_Blood) macrophage CL:0000235 +Marcrophage_Cd74 high(Ovary) macrophage CL:0000235 +Marginal zone B cell(Spleen) marginal zone B cell CL:0000845 +Mast cell(Bone-Marrow) mast cell CL:0000097 +Mast cell(Neonatal-Calvaria) mast cell CL:0000097 +Mast cell(Neonatal-Muscle) mast cell CL:0000097 +Mast cell(Neonatal-Skin) mast cell CL:0000097 +Mast cell(Small-Intestine) mast cell CL:0000097 +Megakaryocyte progenitor cell(Bone-Marrow_c-kit) megakaryocyte progenitor cell CL:0000553 +Melanocyte(Neonatal-Skin) dermal melanocyte CL:0002482 +Mesenchymal cell(Neonatal-Muscle) mesenchymal cell CL:0008019 +Mesenchymal stromal cell(Bladder) mesenchymal cell CL:0008019 +Metanephric mesenchyme(Fetal_Kidney) metanephric mesenchyme stem cell CL:0000324 +Microglia(Brain) microglial cell CL:0000129 +Monocyte progenitor cell(Lung) granulocyte monocyte progenitor cell CL:0000557 +Monocyte progenitor cell_Ctsg high(Bone-Marrow_c-kit) granulocyte monocyte progenitor cell CL:0000557 +Monocyte progenitor cell_Prtn3 high(Bone-Marrow_c-kit) granulocyte monocyte progenitor cell CL:0000557 +Monocyte progenitor(Bone-Marrow_c-kit) granulocyte monocyte progenitor cell CL:0000557 +Monocyte(Spleen) monocyte CL:0000576 +Monocyte(Uterus) monocyte CL:0000576 +Monocyte_Elane high(Peripheral_Blood) monocyte CL:0000576 +Monocyte_F13a1 high(Peripheral_Blood) monocyte CL:0000576 +Monocyte_Mif high(Bone-Marrow) monocyte CL:0000576 +Monocyte_Prtn3 high(Bone-Marrow) monocyte CL:0000576 +Multipotent progenitor_Ctla2a high(Bone-Marrow_c-kit) hematopoietic multipotent progenitor cell CL:0000837 +Muscle cell(Neonatal-Rib) cell of skeletal muscle CL:0000188 +Muscle cell(Stomach) cell of skeletal muscle CL:0000188 +Muscle cell_Acta2 high(Neonatal-Rib) cell of skeletal muscle CL:0000188 +Muscle cell_Actc1 high(Neonatal-Calvaria) cell of skeletal muscle CL:0000188 +Muscle cell_Actc1 high(Neonatal-Muscle) cell of skeletal muscle CL:0000188 +Muscle cell_Actc1 high(Neonatal-Rib) cell of skeletal muscle CL:0000188 +Muscle cell_Actc1 high(Neonatal-Skin) cell of skeletal muscle CL:0000188 +Muscle cell_Junb high(Neonatal-Calvaria) cell of skeletal muscle CL:0000188 +Muscle cell_Lrrc15 high(Neonatal-Skin) cell of skeletal muscle CL:0000188 +Muscle cell_Mgp high(Uterus) myometrial cell CL:0002366 +Muscle cell_Myl9 high(Neonatal-Calvaria) cell of skeletal muscle CL:0000188 +Muscle cell_Myl9 high(Neonatal-Muscle) cell of skeletal muscle CL:0000188 +Muscle cell_Pcp4 high(Uterus) myometrial cell CL:0002366 +Muscle cell_Tnnc1 high(Muscle) cell of skeletal muscle CL:0000188 +Muscle cell_Tnnc2 high(Muscle) cell of skeletal muscle CL:0000188 +Muscle progenitor cell(Muscle) cell of skeletal muscle CL:0000188 +Myelinating oligodendrocyte(Brain) oligodendrocyte CL:0000128 +NK Cell(Lung) mature natural killer cell CL:0000824 +NK cell(Bladder) mature natural killer cell CL:0000824 +NK cell(Mammary-Gland-Virgin) mature natural killer cell CL:0000824 +NK cell(Spleen) mature natural killer cell CL:0000824 +NK cell(Uterus) mature natural killer cell CL:0000824 +NK cell_Gzma high(Peripheral_Blood) mature natural killer cell CL:0000824 +Neuron(Brain) neuron CL:0000540 +Neuron(Neonatal-Calvaria) neuron CL:0000540 +Neuron(Neonatal-Muscle) neuron CL:0000540 +Neuron(Neonatal-Skin) neuron CL:0000540 +Neuron_Mpz high(Neonatal-Rib) neuron CL:0000540 +Neuron_Stmn2 high(Neonatal-Rib) neuron CL:0000540 +Neutrophil granulocyte(Lung) neutrophil CL:0000775 +Neutrophil progenitor(Bone-Marrow) neutrophil progenitor cell CL:0000834 +Neutrophil progenitor_S100a8 high(Kidney) neutrophil progenitor cell CL:0000834 +Neutrophil(Neonatal-Calvaria) neutrophil CL:0000775 +Neutrophil(Neonatal-Rib) neutrophil CL:0000775 +Neutrophil(Neonatal-Skin) neutrophil CL:0000775 +Neutrophil(Spleen) neutrophil CL:0000775 +Neutrophil_Camp high(Muscle) neutrophil CL:0000775 +Neutrophil_Camp high(Peripheral_Blood) neutrophil CL:0000775 +Neutrophil_Cebpe high(Bone-Marrow) neutrophil CL:0000775 +Neutrophil_Elane high(Neonatal-Muscle) neutrophil CL:0000775 +Neutrophil_Elane high(Neonatal-Rib) neutrophil CL:0000775 +Neutrophil_Fcnb high(Bone-Marrow) neutrophil CL:0000775 +Neutrophil_Fcnb high(Bone-Marrow_c-kit) neutrophil CL:0000775 +Neutrophil_Hmox1 high(Neonatal-Muscle) neutrophil CL:0000775 +Neutrophil_Ighg1 high(Bone-Marrow_c-kit) neutrophil CL:0000775 +Neutrophil_Il1b high(Peripheral_Blood) neutrophil CL:0000775 +Neutrophil_Lcn2 high(Bone-Marrow_c-kit) neutrophil CL:0000775 +Neutrophil_Ltf high(Bone-Marrow_c-kit) neutrophil CL:0000775 +Neutrophil_Ltf high(Peripheral_Blood) neutrophil CL:0000775 +Neutrophil_Mmp8 high(Bone-Marrow) neutrophil CL:0000775 +Neutrophil_Ngp high(Bone-Marrow) neutrophil CL:0000775 +Neutrophil_Ngp high(Bone-Marrow_c-kit) neutrophil CL:0000775 +Neutrophil_Ngp high(Liver) neutrophil CL:0000775 +Neutrophil_Ngp high(Neonatal-Heart) neutrophil CL:0000775 +Neutrophil_Prg2 high(Muscle) neutrophil CL:0000775 +Neutrophil_Retnlg high(Bone-Marrow_c-kit) neutrophil CL:0000775 +Neutrophil_Retnlg high(Muscle) neutrophil CL:0000775 +Neutrophil_Retnlg high(Neonatal-Heart) neutrophil CL:0000775 +Neutrophil_Retnlg high(Peripheral_Blood) neutrophil CL:0000775 +Neutrophil_Stfa3 high(Neonatal-Muscle) neutrophil CL:0000775 +Nuocyte(Lung) group 2 innate lymphoid cell CL:0001069 +Oligodendrocyte precursor cell(Brain) oligodendrocyte precursor cell CL:0002453 +Oligodendrocyte(Neonatal-Rib) oligodendrocyte CL:0000128 +Osteoblast(Neonatal-Rib) osteoblast CL:0000062 +Osteoblast_Dlk1 high(Neonatal-Skin) osteoblast CL:0000062 +Osteoblast_Ppic high(Neonatal-Skin) osteoblast CL:0000062 +Osteoblast (Neonatal-Calvaria) calvarial osteoblast CL:2000058 +Osteoclast(Neonatal-Rib) osteoclast CL:0000092 +Ovarian surface epithelium cell(Ovary) ovarian surface epithelial cell CL:2000064 +Ovarian vascular surface endothelium cell(Ovary) ovarian microvascular endothelial cell CL:2000065 +Pan-GABAergic(Brain) GABAergic neuron CL:0000617 +Paneth cell(Small-Intestine) paneth cell of epithelium of small intestine CL:1000343 +Parietal cell (Stomach) parietal cell CL:0000162 +Pericentral (PC) hepatocytes(Liver) centrilobular region hepatocyte CL:0019029 +Periportal (PP) hepatocyte(Liver) periportal region hepatocyte CL:0019026 +Pit cell_Gm26917 high(Stomach) natural killer cell CL:0000623 +Pit cell_Ifrd1 high(Stomach) natural killer cell CL:0000623 +Plasma cell(Spleen) plasma cell CL:0000786 +Plasmacytoid dendritic cell(Lung) plasmacytoid dendritic cell CL:0000784 +Pre T cell(Thymus) thymocyte CL:0000893 +Pre-Sertoli cell_Cst9 high(Testis) Sertoli cell CL:0000216 +Pre-Sertoli cell_Ctsl high(Testis) Sertoli cell CL:0000216 +Pre-pro B cell(Bone-Marrow) Fraction A pre-pro B cell CL:0002045 +Preleptotene spermatogonia(Testis) primary spermatocyte CL:0000656 +Preosteoblast/Osteoblast/Bone cell/Cartilage cell(Neonatal-Calvaria) non-terminally differentiated cell CL:0000055 +Proliferating thymocyte(Thymus) thymocyte CL:0000893 +Prostate gland cell(Prostate) endocrine-paracrine cell of prostate gland CL:0002313 +Proximal tubule brush border cell(Kidney) epithelial cell of proximal tubule CL:0002306 +Proximal tubule cell_Cyp4a14 high(Kidney) epithelial cell of proximal tubule CL:0002306 +Proximal tubule cell_Osgin1 high(Kidney) epithelial cell of proximal tubule CL:0002306 +S cell_Chgb high(Small-Intestine) type S enteroendocrine cell CL:0002281 +S cell_Gip high(Small-Intestine) type S enteroendocrine cell CL:0002281 +S1 proximal tubule cells(Kidney) epithelial cell of proximal tubule CL:0002306 +S3 proximal tubule cells(Kidney) epithelial cell of proximal tubule CL:0002306 +Schwann cell(Brain) Schwann cell CL:0002573 +Sertoli cell(Testis) Sertoli cell CL:0000216 +Skeletal muscle cell_Myl1 high(Neonatal-Muscle) cell of skeletal muscle CL:0000188 +Skeletal muscle cell_Tnnc2 high(Neonatal-Muscle) cell of skeletal muscle CL:0000188 +Small luteal cell(Ovary) small luteal cell CL:0000590 +Smooth muscle cell(Bladder) smooth muscle cell of bladder CL:0002597 +Smooth muscle cell(Neonatal-Heart) smooth muscle cell CL:0000192 +Smooth muscle cell_Acta2 high(Neonatal-Skin) smooth muscle cell CL:0000192 +Smooth muscle cell_Acta2 high(Pancreas) smooth muscle cell CL:0000192 +Smooth muscle cell_Mylk high(Neonatal-Muscle) cell of skeletal muscle CL:0000188 +Smooth muscle cell_Rgs5 high(Pancreas) smooth muscle cell CL:0000192 +Smooth muscle cell_Rgs5 high(Uterus) uterine smooth muscle cell CL:0002601 +Spermatids_1700016P04Rik high(Testis) spermatid CL:0000018 +Spermatids_Cst13 high(Testis) spermatid CL:0000018 +Spermatids_Hmgb4 high(Testis) spermatid CL:0000018 +Spermatids_Tnp1 high(Testis) spermatid CL:0000018 +Spermatocyte_1700001F09Rik high(Testis) spermatocyte CL:0000017 +Spermatocyte_Cabs1 high(Testis) spermatocyte CL:0000017 +Spermatocyte_Calm2 high(Testis) spermatocyte CL:0000017 +Spermatocyte_Mesp1 high(Testis) spermatocyte CL:0000017 +Spermatocyte_Slc2a3 high(Testis) spermatocyte CL:0000017 +Spermatogonia_1700001P01Rik high(Testis) primary spermatocyte CL:0000656 +Spermatogonia_Tbc1d23 high(Testis) primary spermatocyte CL:0000656 +Stem and progenitor cell(Mammary-Gland-Virgin) stem cell CL:0000034 +Stomach cell_Gkn2 high(Stomach) UNKNOWN UNKNOWN +Stomach cell_Mt2 high(Stomach) UNKNOWN UNKNOWN +Stomach cell_Muc5ac high(Stomach) mucous cell of stomach CL:0002180 +Stroma cell (Ovary) stromal cell of ovary CL:0002132 +Stromal cell(Liver) stromal cell CL:0000499 +Stromal cell(Muscle) stromal cell CL:0000499 +Stromal cell(Prostate) prostate stromal cell CL:0002622 +Stromal cell_Acta1 high(Neonatal-Rib) stromal cell CL:0000499 +Stromal cell_Acta2 high(Lung) stromal cell CL:0000499 +Stromal cell_Adamdec1 high(Small-Intestine) stromal cell CL:0000499 +Stromal cell_Akr1c18 high(Neonatal-Skin) stromal cell CL:0000499 +Stromal cell_Ankrd1 high(Kidney) stromal cell CL:0000499 +Stromal cell_Car3 high(Bladder) stromal cell CL:0000499 +Stromal cell_Ccl11 high(Uterus) stromal cell CL:0000499 +Stromal cell_Col1a1 high(Neonatal-Calvaria) stromal cell CL:0000499 +Stromal cell_Col3a1 high(Mammary-Gland-Virgin) stromal cell CL:0000499 +Stromal cell_Col3a1 high(Neonatal-Calvaria) stromal cell CL:0000499 +Stromal cell_Col3a1 high(Neonatal-Heart) stromal cell CL:0000499 +Stromal cell_Cxcl10 high(Kidney) stromal cell CL:0000499 +Stromal cell_Cxcl14 high(Uterus) stromal cell CL:0000499 +Stromal cell_Dcn high(Kidney) stromal cell CL:0000499 +Stromal cell_Dcn high(Lung) stromal cell CL:0000499 +Stromal cell_Dcn high(Small-Intestine) stromal cell CL:0000499 +Stromal cell_Dpt high(Bladder) stromal cell CL:0000499 +Stromal cell_Fmod high(Neonatal-Heart) stromal cell CL:0000499 +Stromal cell_Fn1 high(Pancreas) stromal cell of pancreas CL:0002574 +Stromal cell_Gas6 high(Neonatal-Skin) stromal cell CL:0000499 +Stromal cell_Gm23935 high(Uterus) stromal cell CL:0000499 +Stromal cell_Has1 high(Uterus) stromal cell CL:0000499 +Stromal cell_Hsd11b2 high(Uterus) stromal cell CL:0000499 +Stromal cell_Inmt high(Lung) stromal cell CL:0000499 +Stromal cell_Mfap4 high(Pancreas) stromal cell CL:0000499 +Stromal cell_Mgp high(Fetal_Kidney) stromal cell CL:0000499 +Stromal cell_Mgp high(Kidney) stromal cell CL:0000499 +Stromal cell_Ndn high(Neonatal-Muscle) stromal cell CL:0000499 +Stromal cell_Pi16 high(Mammary-Gland-Virgin) stromal cell CL:0000499 +Stromal cell_Ptgds high(Kidney) stromal cell CL:0000499 +Stromal cell_Smoc2 high(Pancreas) stromal cell of pancreas CL:0002574 +Stromal cell_Spp1 high(Neonatal-Muscle) stromal cell CL:0000499 +Stromal cell_Tnmd high(Neonatal-Rib) stromal cell CL:0000499 +T Cell_Cd8b1 high(Lung) CD8-positive, alpha-beta T cell CL:0000625 +T cell(Kidney) T cell CL:0000084 +T cell(Muscle) T cell CL:0000084 +T cell(Neonatal-Muscle) T cell CL:0000084 +T cell(Pancreas) T cell CL:0000084 +T cell(Prostate) T cell CL:0000084 +T cell(Spleen) T cell CL:0000084 +T cell_Ccl5 high(Small-Intestine) T cell CL:0000084 +T cell_Cd7 high(Small-Intestine) T cell CL:0000084 +T cell_Cd8b1 high(Mammary-Gland-Virgin) CD8-positive, alpha-beta T cell CL:0000625 +T cell_Gm14303 high(Peripheral_Blood) T cell CL:0000084 +T cell_Gzma high(Liver) T cell CL:0000084 +T cell_Icos high(Small-Intestine) T cell CL:0000084 +T cell_Id2 high(Thymus) T cell CL:0000084 +T cell_Ly6c2 high(Mammary-Gland-Virgin) T cell CL:0000084 +T cell_Ms4a4b high(Bone-Marrow) T cell CL:0000084 +T cell_Ms4a4b high(Small-Intestine) T cell CL:0000084 +T cell_Ms4a4b high(Thymus) T cell CL:0000084 +T cell_Trbc2 high(Liver) T cell CL:0000084 +T cell_Trbc2 high(Peripheral_Blood) T cell CL:0000084 +T-cells_Ctla4 high(Mammary-Gland-Virgin) T cell CL:0000084 +Tendon stem/progenitor cell(Neonatal-Muscle) preosteoblast CL:0007010 +Thecal cell(Ovary) theca cell CL:0000503 +Thick ascending limb of the loop of Henle(Kidney) kidney loop of Henle thick ascending limb epithelial cell CL:1001106 +Tuft cell(Stomach) brush cell CL:0002204 +Umbrella cell(Bladder) bladder urothelial cell CL:1001428 +Ureteric epithelium(Kidney) epithelial cell CL:0000066 +Urothelium(Bladder) bladder urothelial cell CL:1001428 +Vascular endothelial cell(Bladder) endothelial cell of vascular tree CL:0002139 +Vascular endothelial cell(Neonatal-Heart) endothelial cell of vascular tree CL:0002139 +Vascular smooth muscle progenitor cell(Bladder) vascular associated smooth muscle cell CL:0000359 +Ventricle cardiomyocyte_Kcnj8 high(Neonatal-Heart) ventricular cardiac muscle cell CL:2000046 +abT cell(Thymus) immature alpha-beta T cell CL:0000790 +gdT cell (Thymus) gamma-delta thymocyte CL:0002405 +luteal cells(Ovary) luteal cell CL:0000175 +unknown UNKNOWN UNKNOWN +β-cell(Pancreas) type B pancreatic cell CL:0000169 diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2018_08_067/__init__.py b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2018_08_067/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2018_08_067/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2018_08_067/human_laminapropriaofmucosaofcolon_2019_10xsequencing_kinchen_001.py b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2018_08_067/human_laminapropriaofmucosaofcolon_2019_10xsequencing_kinchen_001.py new file mode 100644 index 000000000..2efb01ddc --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2018_08_067/human_laminapropriaofmucosaofcolon_2019_10xsequencing_kinchen_001.py @@ -0,0 +1,22 @@ +import os +import pandas as pd +import anndata as ad +import scipy.sparse +import numpy as np + + +def load(data_dir, sample_fn, **kwargs): + fn = [ + os.path.join(data_dir, f"GSE114374_Human_{sample_fn}_expression_matrix.txt.gz"), + os.path.join(data_dir, f"{sample_fn.lower()}_meta_data_stromal_with_donor.txt"), + ] + matrix = pd.read_csv(fn[0], sep="\t") + obs = pd.read_csv(fn[1], sep="\t", index_col=3) + adata = ad.AnnData(matrix.T) + adata.X = scipy.sparse.csc_matrix(np.expm1(adata.X)) + adata.obs = obs + s_dict = {"F": "female", "M": "male"} + adata.obs['Sex'] = [s_dict[i] for i in adata.obs['Sex']] + adata.obs['Age'] = [str(x) + "-year-old human stage" for x in adata.obs['Age'].values] + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2018_08_067/human_laminapropriaofmucosaofcolon_2019_10xsequencing_kinchen_001.tsv b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2018_08_067/human_laminapropriaofmucosaofcolon_2019_10xsequencing_kinchen_001.tsv new file mode 100644 index 000000000..67c929db1 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2018_08_067/human_laminapropriaofmucosaofcolon_2019_10xsequencing_kinchen_001.tsv @@ -0,0 +1,15 @@ +source target target_id +Endothelial 1 endothelial cell CL:0000115 +Endothelial 2 endothelial cell CL:0000115 +Glial glial cell CL:0000125 +Myofibroblasts myofibroblast cell CL:0000186 +Pericyte 1 pericyte cell CL:0000669 +Pericyte 2 pericyte cell CL:0000669 +Pericytes pericyte cell CL:0000669 +Plasma Cells plasma cell CL:0000786 +Smooth Muscle smooth muscle cell of large intestine CL:1000279 +Stromal 1 stromal cell CL:0000499 +Stromal 2a stromal cell CL:0000499 +Stromal 2b stromal cell CL:0000499 +Stromal 3 stromal cell CL:0000499 +Stromal 4 stromal cell CL:0000499 diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2018_08_067/human_laminapropriaofmucosaofcolon_2019_10xsequencing_kinchen_001.yaml b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2018_08_067/human_laminapropriaofmucosaofcolon_2019_10xsequencing_kinchen_001.yaml new file mode 100644 index 000000000..826736b3a --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2018_08_067/human_laminapropriaofmucosaofcolon_2019_10xsequencing_kinchen_001.yaml @@ -0,0 +1,60 @@ +dataset_structure: + dataset_index: 1 + sample_fns: + - "HC" + - "UC" +dataset_wise: + author: + - "Kinchen" + default_embedding: + doi: + - "10.1016/j.cell.2018.08.067" + download_url_data: + HC: "https://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE114374&format=file&file=GSE114374%5FHuman%5FHC%5Fexpression%5Fmatrix%2Etxt%2Egz" + UC: "https://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE114374&format=file&file=GSE114374%5FHuman%5FUC%5Fexpression%5Fmatrix%2Etxt%2Egz" + download_url_meta: + HC: "private,hc_meta_data_stromal_with_donor.txt" + UC: "private,uc_meta_data_stromal_with_donor.txt" + normalization: "norm" + primary_data: + year: 2019 +dataset_or_observation_wise: + assay_sc: "10x sequencing" + assay_sc_obs_key: + assay_differentiation: + assay_differentiation_obs_key: + assay_type_differentiation: + assay_type_differentiation_obs_key: + bio_sample: + bio_sample_obs_key: + cell_line: + cell_line_obs_key: + development_stage: + development_stage_obs_key: "Age" + disease: + disease_obs_key: + ethnicity: + ethnicity_obs_key: + individual: + individual_obs_key: + organ: "lamina propria of mucosa of colon" + organ_obs_key: + organism: "human" + organism_obs_key: + sample_source: "primary_tissue" + sample_source_obs_key: + sex: + sex_obs_key: "Sex" + state_exact: + HC: "healthy" + UC: "ulcerative colitis" + state_exact_obs_key: + tech_sample: + tech_sample_obs_key: +observation_wise: + cell_types_original_obs_key: "Cluster" +feature_wise: + gene_id_ensembl_var_key: + gene_id_symbols_var_key: "index" +meta: + version: "1.0" diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2019_06_029/__init__.py b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2019_06_029/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2019_06_029/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2019_06_029/human_colonicepithelium_2019_10xsequencing_smilie_001.py b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2019_06_029/human_colonicepithelium_2019_10xsequencing_smilie_001.py new file mode 100644 index 000000000..7f978325a --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2019_06_029/human_colonicepithelium_2019_10xsequencing_smilie_001.py @@ -0,0 +1,39 @@ +import anndata +import os +import numpy as np +import scipy.sparse + +from sfaira.data import DatasetBase + + +class Dataset(DatasetBase): + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = "https://covid19.cog.sanger.ac.uk/smillie19_epi.processed.h5ad" + self.download_url_meta = None + + self.assay_sc = "10x sequencing" + self.author = "Smilie" + self.disease = "healthy" + self.doi = "10.1016/j.cell.2019.06.029" + self.normalization = "raw" + self.organ = "colonic epithelium" + self.organism = "human" + self.sample_source = "primary_tissue" + self.year = 2019 + + self.gene_id_symbols_var_key = "index" + + self.cell_types_original_obs_key = "CellType" + + self.set_dataset_id(idx=1) + + +def load(data_dir, **kwargs): + fn = os.path.join(data_dir, "smillie19_epi.processed.h5ad") + adata = anndata.read(fn) + adata.X = np.expm1(adata.X) + adata.X = adata.X.multiply(scipy.sparse.csc_matrix(adata.obs["n_counts"].values[:, None])).multiply(1 / 10000) + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2019_06_029/human_colonicepithelium_2019_10xsequencing_smilie_001.tsv b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2019_06_029/human_colonicepithelium_2019_10xsequencing_smilie_001.tsv new file mode 100644 index 000000000..3cc9c58c8 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2019_06_029/human_colonicepithelium_2019_10xsequencing_smilie_001.tsv @@ -0,0 +1,39 @@ +source target target_id +Best4+ Enterocytes enterocyte CL:0000584 +CD4+ Activated Fos-hi activated CD4-positive, alpha-beta T cell CL:0000896 +CD4+ Activated Fos-lo activated CD4-positive, alpha-beta T cell CL:0000896 +CD4+ Memory CD4-positive, alpha-beta memory T cell CL:0000897 +CD4+ PD1+ CD4-positive, alpha-beta T cell CL:0000624 +CD69+ Mast mast cell CL:0000097 +CD69- Mast mast cell CL:0000097 +CD8+ IELs CD8-alpha-beta-positive, alpha-beta intraepithelial T cell CL:0000796 +CD8+ IL17+ CD8-positive, alpha-beta thymocyte CL:0000811 +CD8+ LP CD8-positive, alpha-beta thymocyte CL:0000811 +Cycling B B cell CL:0000236 +Cycling T T cell CL:0000084 +Cycling TA transit amplifying cell of large intestine CL:0009011 +DC1 dendritic cell CL:0000451 +DC2 dendritic cell CL:0000451 +Enterocyte Progenitors enterocyte CL:0000584 +Enterocytes enterocyte CL:0000584 +Enteroendocrine enteroendocrine cell CL:0000164 +Follicular follicular B cell CL:0000843 +GC goblet cell CL:0000160 +Goblet goblet cell CL:0000160 +ILCs innate lymphoid cell CL:0001065 +Immature Enterocytes 1 enterocyte CL:0000584 +Immature Enterocytes 2 enterocyte CL:0000584 +Immature Goblet goblet cell CL:0000160 +M cells M cell of gut CL:0000682 +MT-hi T cell CL:0000084 +Macrophages macrophage CL:0000235 +NKs natural killer cell CL:0000623 +Plasma plasma cell CL:0000786 +Secretory TA transit amplifying cell of large intestine CL:0009011 +Stem intestinal crypt stem cell CL:0002250 +TA 1 transit amplifying cell of large intestine CL:0009011 +TA 2 transit amplifying cell of large intestine CL:0009011 +Tregs regulatory T cell CL:0000815 +Tuft intestinal tuft cell CL:0019032 +WNT2B+ Fos-lo 1 fibroblast CL:0000057 +WNT5B+ 2 fibroblast CL:0000057 diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2019_08_008/__init__.py b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2019_08_008/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2019_08_008/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2019_08_008/human_ileum_2019_10xsequencing_martin_001.py b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2019_08_008/human_ileum_2019_10xsequencing_martin_001.py new file mode 100644 index 000000000..fde1b559b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2019_08_008/human_ileum_2019_10xsequencing_martin_001.py @@ -0,0 +1,41 @@ +import anndata +import os +import numpy as np +import scipy.sparse + +from sfaira.data import DatasetBase + + +class Dataset(DatasetBase): + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = "https://covid19.cog.sanger.ac.uk/martin19.processed.h5ad" + self.download_url_meta = None + + self.assay_sc = "10x sequencing" + self.author = "Martin" + self.disease = "healthy" + self.doi = "10.1016/j.cell.2019.08.008" + self.normalization = "raw" + self.organ = "ileum" + self.organism = "human" + self.sample_source = "primary_tissue" + self.year = 2019 + + self.gene_id_symbols_var_key = "index" + self.gene_id_ensembl_var_key = "gene_ids" + + self.cell_types_original_obs_key = "CellType" + + self.set_dataset_id(idx=1) + + +def load(data_dir, **kwargs): + fn = os.path.join(data_dir, "martin19.processed.h5ad") + adata = anndata.read(fn) + adata.X = np.expm1(adata.X) + adata.X = adata.X.multiply(scipy.sparse.csc_matrix(adata.obs["n_counts"].values[:, None])).multiply(1 / 10000) + adata = adata[adata.obs["CellType"] != "Doublets"].copy() + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2019_08_008/human_ileum_2019_10xsequencing_martin_001.tsv b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2019_08_008/human_ileum_2019_10xsequencing_martin_001.tsv new file mode 100644 index 000000000..9f9d59ca5 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_cell_2019_08_008/human_ileum_2019_10xsequencing_martin_001.tsv @@ -0,0 +1,21 @@ +source target target_id +ACKR1+ endothelium endothelial cell CL:0000115 +B cells B cell CL:0000236 +CD36+ endothelium endothelial cell CL:0000115 +Cycling UNKNOWN UNKNOWN +Enterocytes enterocyte CL:0000584 +Enteroendocrines enteroendocrine cell CL:0000164 +Fibs fibroblast CL:0000057 +Glial cells glial cell CL:0000125 +Goblets ileal goblet cell CL:1000326 +ILC innate lymphoid cell CL:0001065 +Lymphatics endothelial cell of lymphatic vessel CL:0002138 +MNP mononuclear phagocyte CL:0000113 +Mast cells mast cell CL:0000097 +Paneth cells paneth cell CL:0000510 +Pericytes pericyte cell CL:0000669 +Plasma cells plasma cell CL:0000786 +Progenitors intestinal crypt stem cell CL:0002250 +SM smooth muscle cell of small intestine CL:1000275 +T cells T cell CL:0000084 +TA transit amplifying cell of large intestine CL:0009011 diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_celrep_2018_11_086/__init__.py b/sfaira/data/dataloaders/loaders/d10_1016_j_celrep_2018_11_086/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_celrep_2018_11_086/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_celrep_2018_11_086/human_prostategland_2018_10xsequencing_henry_001.py b/sfaira/data/dataloaders/loaders/d10_1016_j_celrep_2018_11_086/human_prostategland_2018_10xsequencing_henry_001.py new file mode 100644 index 000000000..b16ceb030 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_celrep_2018_11_086/human_prostategland_2018_10xsequencing_henry_001.py @@ -0,0 +1,45 @@ +import anndata +import os +import numpy as np +import scipy.sparse + +from sfaira.data import DatasetBase + + +class Dataset(DatasetBase): + """ + ToDo: revisit these cell type maps, Club and Hillock are described in this paper. + Club,epithelial cell of prostate + Hillock,epithelial cell of prostate + """ + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = "https://covid19.cog.sanger.ac.uk/henry18_0.processed.h5ad" + self.download_url_meta = None + + self.assay_sc = "10x sequencing" + self.author = "Henry" + self.disease = "healthy" + self.doi = "10.1016/j.celrep.2018.11.086" + self.normalization = "raw" + self.sample_source = "primary_tissue" + self.state_exact = "healthy" + self.organ = "prostate gland" + self.organism = "human" + self.year = 2018 + + self.gene_id_symbols_var_key = "index" + + self.cell_types_original_obs_key = "CellType" + + self.set_dataset_id(idx=1) + + +def load(data_dir, **kwargs): + fn = os.path.join(data_dir, "henry18_0.processed.h5ad") + adata = anndata.read(fn) + adata.X = np.expm1(adata.X) + adata.X = adata.X.multiply(scipy.sparse.csc_matrix(adata.obs["n_counts"].values[:, None])).multiply(1 / 10000) + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_celrep_2018_11_086/human_prostategland_2018_10xsequencing_henry_001.tsv b/sfaira/data/dataloaders/loaders/d10_1016_j_celrep_2018_11_086/human_prostategland_2018_10xsequencing_henry_001.tsv new file mode 100644 index 000000000..182443a59 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_celrep_2018_11_086/human_prostategland_2018_10xsequencing_henry_001.tsv @@ -0,0 +1,9 @@ +source target target_id +Basal basal cell of prostate epithelium CL:0002341 +Club epithelial cell of prostate CL:0002231 +Endothelia endothelial cell CL:0000115 +Fibroblast fibroblast CL:0000057 +Hillock epithelial cell of prostate CL:0002231 +Leukocytes leukocyte CL:0000738 +Luminal luminal cell of prostate epithelium CL:0002340 +Smooth muscle smooth muscle cell of prostate CL:1000487 diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_cels_2016_08_011/__init__.py b/sfaira/data/dataloaders/loaders/d10_1016_j_cels_2016_08_011/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_cels_2016_08_011/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_cels_2016_08_011/human_pancreas_2016_indrop_baron_001.py b/sfaira/data/dataloaders/loaders/d10_1016_j_cels_2016_08_011/human_pancreas_2016_indrop_baron_001.py new file mode 100644 index 000000000..d7e33841b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_cels_2016_08_011/human_pancreas_2016_indrop_baron_001.py @@ -0,0 +1,61 @@ +import anndata +import os +import numpy as np +import scipy.sparse + +from sfaira.data import DatasetBase + + +class Dataset(DatasetBase): + """ + ToDo: revisit gamma cell missing in CO + """ + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = "https://covid19.cog.sanger.ac.uk/baron16.processed.h5ad" + self.download_url_meta = None + + self.assay_sc = "inDrop" + self.author = "Baron" + self.disease = "healthy" + self.doi = "10.1016/j.cels.2016.08.011" + self.normalization = "raw" + self.organ = "pancreas" + self.organism = "human" + self.sample_source = "primary_tissue" + self.state_exact = "healthy" + self.year = 2016 + + self.gene_id_symbols_var_key = "index" + self.cell_types_original_obs_key = "CellType" + + self.set_dataset_id(idx=1) + + self.class_maps = { + "0": { + "t_cell": "T cell", + "quiescent_stellate": "Quiescent Stellate cell", + "mast": "Mast cell", + "delta": "Delta cell", + "beta": "Beta cell", + "endothelial": "Endothelial cell", + "macrophage": "Macrophage", + "epsilon": "Epsilon cell", + "activated_stellate": "Activated Stellate cell", + "acinar": "Acinar cell", + "alpha": "Alpha cell", + "ductal": "Ductal cell", + "schwann": "Schwann cell", + "gamma": "Gamma cell", + }, + } + + +def load(data_dir, **kwargs): + fn = os.path.join(data_dir, "baron16.processed.h5ad") + adata = anndata.read(fn) + adata.X = np.expm1(adata.X) + adata.X = adata.X.multiply(scipy.sparse.csc_matrix(adata.obs["n_counts"].values[:, None])).multiply(1 / 10000) + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_cels_2016_08_011/human_pancreas_2016_indrop_baron_001.tsv b/sfaira/data/dataloaders/loaders/d10_1016_j_cels_2016_08_011/human_pancreas_2016_indrop_baron_001.tsv new file mode 100644 index 000000000..0ba8de392 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_cels_2016_08_011/human_pancreas_2016_indrop_baron_001.tsv @@ -0,0 +1,15 @@ +source target target_id +acinar pancreatic acinar cell CL:0002064 +activated_stellate pancreatic stellate cell CL:0002410 +alpha pancreatic A cell CL:0000171 +beta type B pancreatic cell CL:0000169 +delta pancreatic D cell CL:0000173 +ductal pancreatic ductal cell CL:0002079 +endothelial endothelial cell CL:0000115 +epsilon pancreatic epsilon cell CL:0005019 +gamma pancreatic endocrine cell CL:0008024 +macrophage macrophage CL:0000235 +mast mast cell CL:0000097 +quiescent_stellate pancreatic stellate cell CL:0002410 +schwann Schwann cell CL:0002573 +t_cell T cell CL:0000084 diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_cmet_2016_08_020/__init__.py b/sfaira/data/dataloaders/loaders/d10_1016_j_cmet_2016_08_020/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_cmet_2016_08_020/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_cmet_2016_08_020/human_pancreas_2016_smartseq2_segerstolpe_001.py b/sfaira/data/dataloaders/loaders/d10_1016_j_cmet_2016_08_020/human_pancreas_2016_smartseq2_segerstolpe_001.py new file mode 100644 index 000000000..6abb1637c --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_cmet_2016_08_020/human_pancreas_2016_smartseq2_segerstolpe_001.py @@ -0,0 +1,50 @@ +import anndata +import os +import pandas as pd + +from sfaira.data import DatasetBase + + +class Dataset(DatasetBase): + """ + ToDo: revisit gamma cell missing in CO + TODO: move state exact to diesase + """ + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = "https://www.ebi.ac.uk/arrayexpress/files/E-MTAB-5061/E-MTAB-5061.processed.1.zip" + self.download_url_meta = "https://www.ebi.ac.uk/arrayexpress/files/E-MTAB-5061/E-MTAB-5061.sdrf.txt" + + self.author = "Segerstolpe" + self.doi = "10.1016/j.cmet.2016.08.020" + self.normalization = "raw" + self.organ = "pancreas" + self.organism = "human" + self.assay_sc = "Smart-seq2" + self.year = 2016 + self.sample_source = "primary_tissue" + + self.gene_id_symbols_var_key = "index" + + self.cell_types_original_obs_key = "Characteristics[cell type]" + self.state_exact_obs_key = "Characteristics[disease]" + + self.set_dataset_id(idx=1) + + +def load(data_dir, **kwargs): + fn = [ + os.path.join(data_dir, "E-MTAB-5061.processed.1.zip"), + os.path.join(data_dir, "E-MTAB-5061.sdrf.txt") + ] + df = pd.read_csv(fn[0], sep="\t") + df.index = df.index.get_level_values(0) + df = df.drop("#samples", axis=1) + df = df.T.iloc[:, :26178] + adata = anndata.AnnData(df) + adata.obs = pd.read_csv(fn[1], sep="\t").set_index("Source Name").loc[adata.obs.index] + # filter observations which are not cells (empty wells, low quality cells etc.) + adata = adata[adata.obs["Characteristics[cell type]"] != "not applicable"].copy() + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_cmet_2016_08_020/human_pancreas_2016_smartseq2_segerstolpe_001.tsv b/sfaira/data/dataloaders/loaders/d10_1016_j_cmet_2016_08_020/human_pancreas_2016_smartseq2_segerstolpe_001.tsv new file mode 100644 index 000000000..8d536b19b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_cmet_2016_08_020/human_pancreas_2016_smartseq2_segerstolpe_001.tsv @@ -0,0 +1,15 @@ +source target target_id +MHC class II cell UNKNOWN UNKNOWN +PSC cell pancreatic stellate cell CL:0002410 +acinar cell pancreatic acinar cell CL:0002064 +alpha cell pancreatic A cell CL:0000171 +beta cell type B pancreatic cell CL:0000169 +co-expression cell pancreatic endocrine cell CL:0008024 +delta cell pancreatic D cell CL:0000173 +ductal cell pancreatic ductal cell CL:0002079 +endothelial cell endothelial cell CL:0000115 +epsilon cell pancreatic epsilon cell CL:0005019 +gamma cell pancreatic endocrine cell CL:0008024 +mast cell mast cell CL:0000097 +unclassified cell UNKNOWN UNKNOWN +unclassified endocrine cell pancreatic endocrine cell CL:0008024 diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_cmet_2019_01_021/__init__.py b/sfaira/data/dataloaders/loaders/d10_1016_j_cmet_2019_01_021/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_cmet_2019_01_021/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_cmet_2019_01_021/mouse_pancreas_2019_10xsequencing_thompson_x.py b/sfaira/data/dataloaders/loaders/d10_1016_j_cmet_2019_01_021/mouse_pancreas_2019_10xsequencing_thompson_x.py new file mode 100644 index 000000000..cba511374 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_cmet_2019_01_021/mouse_pancreas_2019_10xsequencing_thompson_x.py @@ -0,0 +1,68 @@ +import anndata +import tarfile +import gzip +import scipy.io +import os +import pandas as pd +from sfaira.data import DatasetBase + +SAMPLE_FNS = [ + "GSM3308545_NOD_08w_A", + "GSM3308547_NOD_08w_C", + "GSM3308548_NOD_14w_A", + "GSM3308549_NOD_14w_B", + "GSM3308550_NOD_14w_C", + "GSM3308551_NOD_16w_A", + "GSM3308552_NOD_16w_B", + "GSM3308553_NOD_16w_C" +] + + +class Dataset(DatasetBase): + """ + TODO add disease + """ + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE117nnn/GSE117770/suppl/GSE117770_RAW.tar" + self.download_url_meta = f"private,{self.sample_fn}_annotation.csv" + + self.author = "Thompson" + self.doi = "10.1016/j.cmet.2019.01.021" + self.normalization = "raw" + self.organ = "pancreas" + self.organism = "mouse" + self.assay_sc = "Drop-seq" + self.state_exact = "diabetic" + self.year = 2019 + self.sample_source = "primary_tissue" + + self.gene_id_symbols_var_key = "names" + self.gene_id_ensembl_var_key = "ensembl" + self.cell_types_original_obs_key = "celltypes" + + self.set_dataset_id(idx=1) + + +def load(data_dir, sample_fn, **kwargs): + with tarfile.open(os.path.join(data_dir, 'GSE117770_RAW.tar')) as tar: + for member in tar.getmembers(): + if "_matrix.mtx.gz" in member.name and sample_fn in member.name: + name = "_".join(member.name.split("_")[:-1]) + with gzip.open(tar.extractfile(member), "rb") as mm: + x = scipy.io.mmread(mm).T.tocsr() + obs = pd.read_csv(tar.extractfile(name + "_barcodes.tsv.gz"), compression="gzip", header=None, + sep="\t", index_col=0) + obs.index.name = None + var = pd.read_csv(tar.extractfile(name + "_genes.tsv.gz"), compression="gzip", header=None, + sep="\t") + var.columns = ["ensembl", "names"] + var.index = var["ensembl"].values + adata = anndata.AnnData(X=x, obs=obs, var=var) + adata.var_names_make_unique() + celltypes = pd.read_csv(os.path.join(data_dir, sample_fn + "_annotation.csv"), index_col=0) + adata = adata[celltypes.index] + adata.obs["celltypes"] = celltypes + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_cmet_2019_01_021/mouse_pancreas_2019_10xsequencing_thompson_x.tsv b/sfaira/data/dataloaders/loaders/d10_1016_j_cmet_2019_01_021/mouse_pancreas_2019_10xsequencing_thompson_x.tsv new file mode 100644 index 000000000..c519ca087 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_cmet_2019_01_021/mouse_pancreas_2019_10xsequencing_thompson_x.tsv @@ -0,0 +1,14 @@ +source target target_id +acinar pancreatic acinar cell CL:0002064 +alpha pancreatic A cell CL:0000171 +beta type B pancreatic cell CL:0000169 +delta pancreatic D cell CL:0000173 +ductal pancreatic ductal cell CL:0002079 +endothelial endothelial cell CL:0000115 +erythroblast erythroblast CL:0000765 +fibroblast fibroblast CL:0000057 +leukocyte leukocyte CL:0000738 +lymphatic endothelial cell endothelial cell of lymphatic vessel CL:0002138 +pp pancreatic PP cell CL:0002275 +smooth_muscle smooth muscle cell CL:0000192 +stellate cell pancreatic stellate cell CL:0002410 diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_devcel_2020_01_033/__init__.py b/sfaira/data/dataloaders/loaders/d10_1016_j_devcel_2020_01_033/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_devcel_2020_01_033/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_devcel_2020_01_033/human_lung_2020_10xsequencing_miller_001.py b/sfaira/data/dataloaders/loaders/d10_1016_j_devcel_2020_01_033/human_lung_2020_10xsequencing_miller_001.py new file mode 100644 index 000000000..ccd9bdca3 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_devcel_2020_01_033/human_lung_2020_10xsequencing_miller_001.py @@ -0,0 +1,39 @@ +import anndata +import os +import numpy as np +import scipy.sparse + +from sfaira.data import DatasetBase + + +class Dataset(DatasetBase): + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = "https://covid19.cog.sanger.ac.uk/miller20.processed.h5ad" + self.download_url_meta = None + + self.assay_sc = "10x sequencing" + self.author = "Miller" + self.disease = "healthy" + self.doi = "10.1016/j.devcel.2020.01.033" + self.normalization = "raw" + self.organ = "lung" + self.organism = "human" + self.sample_source = "primary_tissue" + self.state_exact = "healthy" + self.year = 2020 + + self.gene_id_symbols_var_key = "index" + self.cell_types_original_obs_key = "Cell_type" + + self.set_dataset_id(idx=1) + + +def load(data_dir, **kwargs): + fn = os.path.join(data_dir, "miller20.processed.h5ad") + adata = anndata.read(fn) + adata.X = np.expm1(adata.X) + adata.X = adata.X.multiply(scipy.sparse.csc_matrix(adata.obs["nUMI"].values[:, None])).multiply(1 / 10000) + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_devcel_2020_01_033/human_lung_2020_10xsequencing_miller_001.tsv b/sfaira/data/dataloaders/loaders/d10_1016_j_devcel_2020_01_033/human_lung_2020_10xsequencing_miller_001.tsv new file mode 100644 index 000000000..35c66097c --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_devcel_2020_01_033/human_lung_2020_10xsequencing_miller_001.tsv @@ -0,0 +1,26 @@ +source target target_id +Airway Smooth Muscle bronchial smooth muscle cell CL:0002598 +Basal cell respiratory basal cell CL:0002633 +Bud tip adjacent UNKNOWN UNKNOWN +Bud tip progenitor UNKNOWN UNKNOWN +Cartilage chondrocyte CL:0000138 +Club-like secretory secretory cell CL:0000151 +Endothelial endothelial cell CL:0000115 +Epithelial epithelial cell of lung CL:0000082 +Goblet-like secretory secretory cell CL:0000151 +Hematopoietic, B Cells B cell CL:0000236 +Hematopoietic, Macrophage macrophage CL:0000235 +Hematopoietic, Natural Killer Cell natural killer cell CL:0000623 +Hematopoietic, T Cells T cell CL:0000084 +Immune leukocyte CL:0000738 +Intermediate ciliated ciliated cell CL:0000064 +Mesenchyme RSPO2+ mesenchymal cell CL:0008019 +Mesenchyme SERPINF1-high mesenchymal cell CL:0008019 +Multiciliated cell multi-ciliated epithelial cell CL:0005012 +Multiciliated precursor multi-ciliated epithelial cell CL:0005012 +Neuroendocrine neuroendocrine cell CL:0000165 +Pericyte pericyte cell CL:0000669 +RBC erythrocyte CL:0000232 +Secretory progenitor secretory cell CL:0000151 +Submucosal gland UNKNOWN UNKNOWN +Submucosal gland basal UNKNOWN UNKNOWN diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_neuron_2019_06_011/__init__.py b/sfaira/data/dataloaders/loaders/d10_1016_j_neuron_2019_06_011/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_neuron_2019_06_011/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_neuron_2019_06_011/human_brain_2019_dropseq_polioudakis_001.py b/sfaira/data/dataloaders/loaders/d10_1016_j_neuron_2019_06_011/human_brain_2019_dropseq_polioudakis_001.py new file mode 100644 index 000000000..e2d8b8435 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_neuron_2019_06_011/human_brain_2019_dropseq_polioudakis_001.py @@ -0,0 +1,52 @@ +import os +import pandas +import shutil +import zipfile + + +def load(data_dir, **kwargs): + age_dict = { + 17: "17th week post-fertilization human stage", + 18: "18th week post-fertilization human stage", + } + ct_dict = { + "End": "Endothelial", + "ExDp1": "Excitatory deep layer 1", + "ExDp2": "Excitatory deep layer 2", + "ExM": "Maturing excitatory", + "ExM-U": "Maturing excitatory upper enriched", + "ExN": "Migrating excitatory", + "IP": "IP", + "InCGE": "Interneuron CGE", + "InMGE": "Interneuron MGE", + "Mic": "Microglia", + "OPC": "OPC", + "Per": "Pericyte", + "PgG2M": "Cycling Progenitors (G2/M phase)", + "PgS": "Cycling Progenitors (S phase)", + "oRG": "Outer Radial Glia", + "vRG": "Ventricular Radial Glia", + } + + import anndata2ri + from rpy2.robjects import r + fn = os.path.join(data_dir, "sc_dev_cortex_geschwind.zip") + fn_tmp = os.path.join(os.path.expanduser("~"), "sfaira_tmp") + if not os.path.exists(fn_tmp): + os.makedirs(fn_tmp) + with zipfile.ZipFile(fn, 'r') as zip_ref: + zip_ref.extractall(fn_tmp) + anndata2ri.activate() # TODO: remove global activation of anndata2ri and use localconverter once it's fixed + adata = r( + f"library(Seurat)\n" + f"load('{os.path.join(fn_tmp, 'raw_counts_mat.rdata')}')\n" + f"new_obj = CreateSeuratObject(raw_counts_mat)\n" + f"as.SingleCellExperiment(new_obj)\n" + ) + obs = pandas.read_csv(os.path.join(fn_tmp, "cell_metadata.csv"), index_col=0) + adata = adata[obs.index.tolist()].copy() + adata.obs = obs + shutil.rmtree(fn_tmp) + adata.obs['devstage'] = [age_dict[i] for i in adata.obs['Gestation_week']] + adata.obs['celltype'] = [ct_dict[i] for i in adata.obs['Cluster']] + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_neuron_2019_06_011/human_brain_2019_dropseq_polioudakis_001.tsv b/sfaira/data/dataloaders/loaders/d10_1016_j_neuron_2019_06_011/human_brain_2019_dropseq_polioudakis_001.tsv new file mode 100644 index 000000000..bcdfb356b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_neuron_2019_06_011/human_brain_2019_dropseq_polioudakis_001.tsv @@ -0,0 +1,17 @@ +source target target_id +Endothelial endothelial cell CL:0000115 +Excitatory deep layer 1 excitatory neuron CL:0008030 +Excitatory deep layer 2 excitatory neuron CL:0008030 +Maturing excitatory excitatory neuron CL:0008030 +Maturing excitatory upper enriched excitatory neuron CL:0008030 +Migrating excitatory excitatory neuron CL:0008030 +IP neural progenitor cell CL:0011020 +Interneuron CGE interneuron CL:0000099 +Interneuron MGE interneuron CL:0000099 +Microglia microglial cell CL:0000129 +OPC oligodendrocyte precursor cell CL:0002453 +Pericyte pericyte cell CL:0000669 +Cycling Progenitors (G2/M phase) neural progenitor cell CL:0011020 +Cycling Progenitors (S phase) neural progenitor cell CL:0011020 +Outer Radial Glia radial glial cell CL:0000681 +Ventricular Radial Glia radial glial cell CL:0000681 diff --git a/sfaira/data/dataloaders/loaders/d10_1016_j_neuron_2019_06_011/human_brain_2019_dropseq_polioudakis_001.yaml b/sfaira/data/dataloaders/loaders/d10_1016_j_neuron_2019_06_011/human_brain_2019_dropseq_polioudakis_001.yaml new file mode 100644 index 000000000..667f9b4d2 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1016_j_neuron_2019_06_011/human_brain_2019_dropseq_polioudakis_001.yaml @@ -0,0 +1,51 @@ +dataset_structure: + dataset_index: 1 + sample_fns: +dataset_wise: + author: + - "Polioudakis" + doi: + - "10.1016/j.neuron.2019.06.011" + download_url_data: + - "manual,sc_dev_cortex_geschwind.zip,http://solo.bmap.ucla.edu/shiny/webapp" + download_url_meta: + normalization: "raw" + year: 2019 +dataset_or_observation_wise: + assay_sc: "Drop-seq" + assay_sc_obs_key: + assay_differentiation: + assay_differentiation_obs_key: + assay_type_differentiation: + assay_type_differentiation_obs_key: + bio_sample: + bio_sample_obs_key: "Layer" + cell_line: + cell_line_obs_key: + development_stage: + development_stage_obs_key: "devstage" + disease: "healthy" + disease_obs_key: + ethnicity: + ethnicity_obs_key: + individual: + individual_obs_key: "Donor" + organ: "brain" + organ_obs_key: + organism: "human" + organism_obs_key: + sample_source: "primary_tissue" + sample_source_obs_key: + sex: + sex_obs_key: + state_exact: + state_exact_obs_key: + tech_sample: + tech_sample_obs_key: "Index" +observation_wise: + cell_types_original_obs_key: "celltype" +feature_wise: + gene_id_ensembl_var_key: + gene_id_symbols_var_key: "index" +meta: + version: "1.0" diff --git a/sfaira/data/dataloaders/loaders/d10_1038_nmeth_4407/__init__.py b/sfaira/data/dataloaders/loaders/d10_1038_nmeth_4407/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_nmeth_4407/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1038_nmeth_4407/human_brain_2017_droncseq_habib_001.py b/sfaira/data/dataloaders/loaders/d10_1038_nmeth_4407/human_brain_2017_droncseq_habib_001.py new file mode 100644 index 000000000..27ef2f609 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_nmeth_4407/human_brain_2017_droncseq_habib_001.py @@ -0,0 +1,38 @@ +import anndata +import os +import numpy as np +import scipy.sparse + +from sfaira.data import DatasetBase + + +class Dataset(DatasetBase): + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = "https://covid19.cog.sanger.ac.uk/habib17.processed.h5ad" + self.download_url_meta = None + + self.assay_sc = "DroNc-seq" + self.author = "Habib" + self.disease = "healthy" + self.doi = "10.1038/nmeth.4407" + self.normalization = "raw" + self.organ = "brain" + self.organism = "human" + self.sample_source = "primary_tissue" + self.year = 2017 + + self.gene_id_symbols_var_key = "index" + self.cell_types_original_obs_key = "CellType" + + self.set_dataset_id(idx=1) + + +def load(data_dir, **kwargs): + fn = os.path.join(data_dir, "habib17.processed.h5ad") + adata = anndata.read(fn) + adata.X = np.expm1(adata.X) + adata.X = adata.X.multiply(scipy.sparse.csc_matrix(adata.obs["n_counts"].values[:, None])).multiply(1 / 10000) + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1038_nmeth_4407/human_brain_2017_droncseq_habib_001.tsv b/sfaira/data/dataloaders/loaders/d10_1038_nmeth_4407/human_brain_2017_droncseq_habib_001.tsv new file mode 100644 index 000000000..caafc031c --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_nmeth_4407/human_brain_2017_droncseq_habib_001.tsv @@ -0,0 +1,16 @@ +source target target_id +ASC1 astrocyte CL:0000127 +ASC2 astrocyte CL:0000127 +END endothelial cell CL:0000115 +GABA1 GABAergic interneuron CL:0011005 +GABA2 GABAergic interneuron CL:0011005 +MG microglial cell CL:0000129 +NSC neuronal stem cell CL:0000047 +ODC1 oligodendrocyte CL:0000128 +OPC oligodendrocyte precursor cell CL:0002453 +Unclassified UNKNOWN UNKNOWN +exCA1 hippocampal pyramidal neuron CL:1001571 +exCA3 hippocampal pyramidal neuron CL:1001571 +exDG dentate gyrus of hippocampal formation granule cell CL:2000089 +exPFC1 primary motor cortex pyramidal cell CL:2000049 +exPFC2 primary motor cortex pyramidal cell CL:2000049 diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41422_018_0099_2/__init__.py b/sfaira/data/dataloaders/loaders/d10_1038_s41422_018_0099_2/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41422_018_0099_2/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41422_018_0099_2/human_testis_2018_10xsequencing_guo_001.py b/sfaira/data/dataloaders/loaders/d10_1038_s41422_018_0099_2/human_testis_2018_10xsequencing_guo_001.py new file mode 100644 index 000000000..c3d9af7a9 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41422_018_0099_2/human_testis_2018_10xsequencing_guo_001.py @@ -0,0 +1,38 @@ +import anndata +import os +import numpy as np +import scipy.sparse + +from sfaira.data import DatasetBase + + +class Dataset(DatasetBase): + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = "https://covid19.cog.sanger.ac.uk/guo18_donor.processed.h5ad" + self.download_url_meta = None + + self.assay_sc = "10x sequencing" + self.author = "Guo" + self.disease = "healthy" + self.doi = "10.1038/s41422-018-0099-2" + self.normalization = "raw" + self.organ = "testis" + self.organism = "human" + self.sample_source = "primary_tissue" + self.year = 2018 + + self.gene_id_symbols_var_key = "index" + self.cell_types_original_obs_key = "CellType" + + self.set_dataset_id(idx=1) + + +def load(data_dir, **kwargs): + fn = os.path.join(data_dir, "guo18_donor.processed.h5ad") + adata = anndata.read(fn) + adata.X = np.expm1(adata.X) + adata.X = adata.X.multiply(scipy.sparse.csc_matrix(adata.obs["n_counts"].values[:, None])).multiply(1 / 10000) + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41422_018_0099_2/human_testis_2018_10xsequencing_guo_001.tsv b/sfaira/data/dataloaders/loaders/d10_1038_s41422_018_0099_2/human_testis_2018_10xsequencing_guo_001.tsv new file mode 100644 index 000000000..bbb34ee72 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41422_018_0099_2/human_testis_2018_10xsequencing_guo_001.tsv @@ -0,0 +1,13 @@ +source target target_id +Differentiating Spermatogonia spermatogonium CL:0000020 +Early Primary Spermatocytes primary spermatocyte CL:0000656 +Elongated Spermatids spermatid CL:0000018 +Endothelial cells endothelial cell CL:0000115 +Late primary Spermatocytes primary spermatocyte CL:0000656 +Leydig cells Leydig cell CL:0000178 +Macrophages macrophage CL:0000235 +Myoid cells peritubular myoid cell CL:0002481 +Round Spermatids spermatid CL:0000018 +Sertoli cells Sertoli cell CL:0000216 +Sperm sperm CL:0000019 +Spermatogonial Stem cell male germ line stem cell (sensu Vertebrata) CL:0000089 diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41467_018_06318_7/__init__.py b/sfaira/data/dataloaders/loaders/d10_1038_s41467_018_06318_7/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41467_018_06318_7/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41467_018_06318_7/human_caudatelobeofliver_2018_10xsequencing_macparland_001.py b/sfaira/data/dataloaders/loaders/d10_1038_s41467_018_06318_7/human_caudatelobeofliver_2018_10xsequencing_macparland_001.py new file mode 100644 index 000000000..aa459169b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41467_018_06318_7/human_caudatelobeofliver_2018_10xsequencing_macparland_001.py @@ -0,0 +1,40 @@ +import anndata +import os +import pandas as pd + +from sfaira.data import DatasetBase + + +class Dataset(DatasetBase): + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = "private,GSE115469.csv.gz" + self.download_url_meta = "private,GSE115469_labels.txt" + + self.assay_sc = "10x sequencing" + self.author = "MacParland" + self.disease = "healthy" + self.doi = "10.1038/s41467-018-06318-7" + self.normalization = "raw" + self.organ = "caudate lobe of liver" + self.organism = "human" + self.sample_source = "primary_tissue" + self.year = 2018 + + self.gene_id_symbols_var_key = "index" + self.cell_types_original_obs_key = "celltype" + + self.set_dataset_id(idx=1) + + +def load(data_dir, **kwargs): + fn = [ + os.path.join(data_dir, "GSE115469.csv.gz"), + os.path.join(data_dir, "GSE115469_labels.txt") + ] + adata = anndata.read_csv(fn[0]).T + celltype_df = pd.read_csv(fn[1], sep="\t").set_index("CellName") + adata.obs["celltype"] = [str(celltype_df.loc[i]["Cluster#"]) for i in adata.obs.index] + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41467_018_06318_7/human_caudatelobeofliver_2018_10xsequencing_macparland_001.tsv b/sfaira/data/dataloaders/loaders/d10_1038_s41467_018_06318_7/human_caudatelobeofliver_2018_10xsequencing_macparland_001.tsv new file mode 100644 index 000000000..78ac4a487 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41467_018_06318_7/human_caudatelobeofliver_2018_10xsequencing_macparland_001.tsv @@ -0,0 +1,21 @@ +source target target_id +1 hepatocyte CL:0000182 +10 macrophage CL:0000235 +11 endothelial cell of periportal hepatic sinusoid CL:0019021 +12 endothelial cell of pericentral hepatic sinusoid CL:0019022 +13 endothelial cell CL:0000115 +14 hepatocyte CL:0000182 +15 hepatocyte CL:0000182 +16 mature B cell CL:0000785 +17 cholangiocyte CL:1000488 +18 gamma-delta T cell CL:0000798 +19 erythroid lineage cell CL:0000764 +2 alpha-beta T cell CL:0000789 +20 hepatic stellate cell CL:0000632 +3 hepatocyte CL:0000182 +4 inflammatory macrophage CL:0000863 +5 hepatocyte CL:0000182 +6 hepatocyte CL:0000182 +7 plasma cell CL:0000786 +8 natural killer cell CL:0000623 +9 gamma-delta T cell CL:0000798 diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41467_019_10861_2/__init__.py b/sfaira/data/dataloaders/loaders/d10_1038_s41467_019_10861_2/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41467_019_10861_2/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41467_019_10861_2/human_kidney_2019_droncseq_lake_001.py b/sfaira/data/dataloaders/loaders/d10_1038_s41467_019_10861_2/human_kidney_2019_droncseq_lake_001.py new file mode 100644 index 000000000..5bb21b453 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41467_019_10861_2/human_kidney_2019_droncseq_lake_001.py @@ -0,0 +1,42 @@ +import anndata +import os +import pandas as pd + +from sfaira.data import DatasetBase + + +class Dataset(DatasetBase): + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE121nnn/GSE121862/suppl/" \ + "GSE121862%5FUCSD%2DWU%5FSingle%5FNuclei%5FCluster%5FAnnotated%5FRaw%5FUMI%5FMatrix%2Etsv%2Egz" + self.download_url_meta = "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE121nnn/GSE121862/suppl/" \ + "GSE121862%5FUCSD%2DWU%5FSingle%5FNuclei%5FCluster%5FAnnotations%2Ecsv%2Egz" + + self.assay_sc = "DroNc-seq" + self.author = "Lake" + self.disease = "healthy" + self.doi = "10.1038/s41467-019-10861-2" + self.normalization = "raw" + self.organ = "kidney" + self.organism = "human" + self.sample_source = "primary_tissue" + self.year = 2019 + + self.gene_id_symbols_var_key = "index" + self.cell_types_original_obs_key = "celltype" + + self.set_dataset_id(idx=1) + + +def load(data_dir, **kwargs): + fn = [ + os.path.join(data_dir, "GSE121862_UCSD-WU_Single_Nuclei_Cluster_Annotated_Raw_UMI_Matrix.tsv.gz"), + os.path.join(data_dir, "GSE121862_UCSD-WU_Single_Nuclei_Cluster_Annotations.csv.gz") + ] + adata = anndata.AnnData(pd.read_csv(fn[0], sep="\t").T) + annot = pd.read_csv(fn[1], index_col=0, dtype="category") + adata.obs["celltype"] = [annot.loc[i.split("_")[0][1:]]["Annotation"] for i in adata.obs.index] + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41467_019_10861_2/human_kidney_2019_droncseq_lake_001.tsv b/sfaira/data/dataloaders/loaders/d10_1038_s41467_019_10861_2/human_kidney_2019_droncseq_lake_001.tsv new file mode 100644 index 000000000..3fdf8c073 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41467_019_10861_2/human_kidney_2019_droncseq_lake_001.tsv @@ -0,0 +1,29 @@ +source target target_id +Collecting Duct - Intercalated Cells Type A (cortex) kidney collecting duct intercalated cell CL:1001432 +Collecting Duct - Intercalated Cells Type A (medulla) kidney collecting duct intercalated cell CL:1001432 +Collecting Duct - Intercalated Cells Type B kidney collecting duct intercalated cell CL:1001432 +Collecting Duct - PCs - Stressed Dissoc Subset kidney collecting duct principal cell CL:1001431 +Collecting Duct - Principal Cells (cortex) kidney collecting duct principal cell CL:1001431 +Collecting Duct - Principal Cells (medulla) kidney collecting duct principal cell CL:1001431 +Connecting Tubule kidney connecting tubule epithelial cell CL:1000768 +Decending Limb kidney loop of Henle descending limb epithelial cell CL:1001021 +Distal Convoluted Tubule kidney distal convoluted tubule epithelial cell CL:1000849 +Endothelial Cells (unassigned) endothelial cell CL:0000115 +Endothelial Cells - AEA & DVR kidney blood vessel cell CL:1000854 +Endothelial Cells - AVR kidney blood vessel cell CL:1000854 +Endothelial Cells - glomerular capillaries glomerular capillary endothelial cell CL:1001005 +Epithelial Cells (unassigned) renal intercalated cell CL:0005010 +Immune Cells - Macrophages macrophage CL:0000235 +Interstitium kidney interstitial cell CL:1000500 +Mesangial Cells mesangial cell CL:0000650 +Podocytes glomerular visceral epithelial cell CL:0000653 +Proximal Tubule Epithelial Cells (S1) epithelial cell of proximal tubule CL:0002306 +Proximal Tubule Epithelial Cells (S2) epithelial cell of proximal tubule CL:0002306 +Proximal Tubule Epithelial Cells (S3) epithelial cell of proximal tubule CL:0002306 +Proximal Tubule Epithelial Cells - Fibrinogen+ (S3) epithelial cell of proximal tubule CL:0002306 +Proximal Tubule Epithelial Cells - Stress/Inflam epithelial cell of proximal tubule CL:0002306 +Thick Ascending Limb kidney loop of Henle thick ascending limb epithelial cell CL:1001106 +Thin ascending limb kidney loop of Henle thin ascending limb epithelial cell CL:1001107 +Vascular Smooth Muscle Cells and pericytes kidney pelvis smooth muscle cell CL:1000702 +Unknown - Novel PT CFH+ Subpopulation (S2) UNKNOWN UNKNOWN +Unknown UNKNOWN UNKNOWN diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41467_019_12464_3/__init__.py b/sfaira/data/dataloaders/loaders/d10_1038_s41467_019_12464_3/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41467_019_12464_3/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41467_019_12464_3/human_x_2019_10xsequencing_szabo_001.py b/sfaira/data/dataloaders/loaders/d10_1038_s41467_019_12464_3/human_x_2019_10xsequencing_szabo_001.py new file mode 100644 index 000000000..60448ed1f --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41467_019_12464_3/human_x_2019_10xsequencing_szabo_001.py @@ -0,0 +1,105 @@ +import anndata +import os +import tarfile +import pandas as pd +import scipy.sparse + +from sfaira.data import DatasetBase + +SAMPLE_FNS = [ + "GSM3589406_PP001swap.filtered.matrix.txt.gz", + "GSM3589407_PP002swap.filtered.matrix.txt.gz", + "GSM3589408_PP003swap.filtered.matrix.txt.gz", + "GSM3589409_PP004swap.filtered.matrix.txt.gz", + "GSM3589410_PP005swap.filtered.matrix.txt.gz", + "GSM3589411_PP006swap.filtered.matrix.txt.gz", + "GSM3589412_PP009swap.filtered.matrix.txt.gz", + "GSM3589413_PP010swap.filtered.matrix.txt.gz", + "GSM3589414_PP011swap.filtered.matrix.txt.gz", + "GSM3589415_PP012swap.filtered.matrix.txt.gz", + "GSM3589416_PP013swap.filtered.matrix.txt.gz", + "GSM3589417_PP014swap.filtered.matrix.txt.gz", + "GSM3589418_PP017swap.filtered.matrix.txt.gz", + "GSM3589419_PP018swap.filtered.matrix.txt.gz", + "GSM3589420_PP019swap.filtered.matrix.txt.gz", + "GSM3589421_PP020swap.filtered.matrix.txt.gz", +] + +SAMPLE_DICT = { + "GSM3589406_PP001swap.filtered.matrix.txt.gz": ["lung", "Donor 1", "healthy"], + "GSM3589407_PP002swap.filtered.matrix.txt.gz": ["lung", "Donor 1", "stimulated"], + "GSM3589408_PP003swap.filtered.matrix.txt.gz": ["bone marrow", "Donor 1", "healthy"], + "GSM3589409_PP004swap.filtered.matrix.txt.gz": ["bone marrow", "Donor 1", "stimulated"], + "GSM3589410_PP005swap.filtered.matrix.txt.gz": ["lymph node", "Donor 1", "healthy"], + "GSM3589411_PP006swap.filtered.matrix.txt.gz": ["lymph node", "Donor 1", "stimulated"], + "GSM3589412_PP009swap.filtered.matrix.txt.gz": ["lung", "Donor 2", "healthy"], + "GSM3589413_PP010swap.filtered.matrix.txt.gz": ["lung", "Donor 2", "stimulated"], + "GSM3589414_PP011swap.filtered.matrix.txt.gz": ["bone marrow", "Donor 2", "healthy"], + "GSM3589415_PP012swap.filtered.matrix.txt.gz": ["bone marrow", "Donor 2", "stimulated"], + "GSM3589416_PP013swap.filtered.matrix.txt.gz": ["lymph node", "Donor 2", "healthy"], + "GSM3589417_PP014swap.filtered.matrix.txt.gz": ["lymph node", "Donor 2", "stimulated"], + "GSM3589418_PP017swap.filtered.matrix.txt.gz": ["blood", "Donor A", "stimulated"], + "GSM3589419_PP018swap.filtered.matrix.txt.gz": ["blood", "Donor A", "healthy"], + "GSM3589420_PP019swap.filtered.matrix.txt.gz": ["blood", "Donor B", "stimulated"], + "GSM3589421_PP020swap.filtered.matrix.txt.gz": ["blood", "Donor B", "healthy"], +} + + +class Dataset(DatasetBase): + """ + TODO: move state exact to disease + """ + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE126nnn/GSE126030/suppl/GSE126030_RAW.tar" + self.download_url_meta = [ + "private,donor1.annotation.txt", + "private,donor2.annotation.txt" + ] + + self.assay_sc = "10x sequencing" + self.author = "Szabo" + self.doi = "10.1038/s41467-019-12464-3" + self.individual = SAMPLE_DICT[self.sample_fn][1] + self.normalization = "raw" + self.organ = SAMPLE_DICT[self.sample_fn][0] + self.organism = "human" + self.sample_source = "primary_tissue" + self.state_exact = SAMPLE_DICT[self.sample_fn][2] + self.year = 2019 + + self.gene_id_symbols_var_key = "Gene" + self.gene_id_ensembl_var_key = "Accession" + + self.cell_types_original_obs_key = "cell_ontology_class" + + self.set_dataset_id(idx=1) + + +def load(data_dir, sample_fn, **kwargs): + fn = [ + os.path.join(data_dir, "GSE126030_RAW.tar"), + os.path.join(data_dir, "donor1.annotation.txt"), + os.path.join(data_dir, "donor2.annotation.txt") + ] + with tarfile.open(fn[0]) as tar: + df = pd.read_csv(tar.extractfile(sample_fn), compression="gzip", sep="\t") + df.index = [i.split(".")[0] for i in df["Accession"]] + var = pd.concat([df.pop(x) for x in ["Gene", "Accession"]], 1) + if df.columns[-1].startswith("Un"): + df.drop(df.columns[len(df.columns) - 1], axis=1, inplace=True) + adata = anndata.AnnData(df.T) + adata.var = var + adata.obs["donor"] = SAMPLE_DICT[sample_fn][1] + adata.obs.index = sample_fn.split("_")[1].split("s")[0] + "nskept." + adata.obs.index + adata.obs["cell_ontology_class"] = "unknown" + df1 = pd.read_csv(fn[1], sep="\t", index_col=0, header=None) + df2 = pd.read_csv(fn[2], sep="\t", index_col=0, header=None) + for i in df1.index: + adata.obs["cell_ontology_class"].loc[i] = df1.loc[i][1] + for i in df2.index: + adata.obs["cell_ontology_class"].loc[i] = df2.loc[i][1] + adata.X = scipy.sparse.csc_matrix(adata.X) + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41467_019_12464_3/human_x_2019_10xsequencing_szabo_001.tsv b/sfaira/data/dataloaders/loaders/d10_1038_s41467_019_12464_3/human_x_2019_10xsequencing_szabo_001.tsv new file mode 100644 index 000000000..632538543 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41467_019_12464_3/human_x_2019_10xsequencing_szabo_001.tsv @@ -0,0 +1,22 @@ +source target target_id +1.CD4rest CD4-positive, alpha-beta T cell CL:0000624 +10.CD8EM/TRMact effector memory CD8-positive, alpha-beta T cell CL:0000913 +10.CD8TEMRAact effector memory CD8-positive, alpha-beta T cell CL:0000913 +11.CD8TEMRA effector memory CD8-positive, alpha-beta T cell CL:0000913 +2.CD4act1 CD4-positive, alpha-beta T cell CL:0000624 +2.CD4rest2 CD4-positive, alpha-beta T cell CL:0000624 +3.CD4act1 CD4-positive, alpha-beta T cell CL:0000624 +3.CD4act2 CD4-positive, alpha-beta T cell CL:0000624 +4.CD4act2 CD4-positive, alpha-beta T cell CL:0000624 +4.CD4act3 CD4-positive, alpha-beta T cell CL:0000624 +5.CD4TRMrest CD4-positive, alpha-beta T cell CL:0000624 +5.CD4act3 CD4-positive, alpha-beta T cell CL:0000624 +6.CD4TRMact CD4-positive, alpha-beta T cell CL:0000624 +6.CD4Treg CD4-positive, CD25-positive, alpha-beta regulatory T cell CL:0000792 +7.CD4Treg CD4-positive, CD25-positive, alpha-beta regulatory T cell CL:0000792 +7.CD8EM/TRMrest effector memory CD8-positive, alpha-beta T cell CL:0000913 +8.CD8EM/TRMact effector memory CD8-positive, alpha-beta T cell CL:0000913 +8.CD8EM/TRMrest effector memory CD8-positive, alpha-beta T cell CL:0000913 +9.CD8TEMRArest effector memory CD8-positive, alpha-beta T cell CL:0000913 +9.CD8TRMrest effector memory CD8-positive, alpha-beta T cell CL:0000913 +unknown UNKNOWN UNKNOWN diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41467_019_12780_8/__init__.py b/sfaira/data/dataloaders/loaders/d10_1038_s41467_019_12780_8/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41467_019_12780_8/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41467_019_12780_8/human_retina_2019_10xsequencing_menon_001.py b/sfaira/data/dataloaders/loaders/d10_1038_s41467_019_12780_8/human_retina_2019_10xsequencing_menon_001.py new file mode 100644 index 000000000..cfb4a1155 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41467_019_12780_8/human_retina_2019_10xsequencing_menon_001.py @@ -0,0 +1,34 @@ +import anndata +import os + +from sfaira.data import DatasetBase + + +class Dataset(DatasetBase): + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = "https://covid19.cog.sanger.ac.uk/menon19.processed.h5ad" + self.download_url_meta = None + + self.assay_sc = "10x sequencing" + self.author = "Menon" + self.disease = "healthy" + self.doi = "10.1038/s41467-019-12780-8" + self.normalization = "raw" + self.organ = "retina" + self.organism = "human" + self.sample_source = "primary_tissue" + self.year = 2019 + + self.gene_id_symbols_var_key = "index" + self.cell_types_original_obs_key = "CellType" + + self.set_dataset_id(idx=1) + + +def load(data_dir, **kwargs): + fn = os.path.join(data_dir, "menon19.processed.h5ad") + adata = anndata.read(fn) + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41467_019_12780_8/human_retina_2019_10xsequencing_menon_001.tsv b/sfaira/data/dataloaders/loaders/d10_1038_s41467_019_12780_8/human_retina_2019_10xsequencing_menon_001.tsv new file mode 100644 index 000000000..11901244d --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41467_019_12780_8/human_retina_2019_10xsequencing_menon_001.tsv @@ -0,0 +1,10 @@ +source target target_id +ACs amacrine cell CL:0000561 +BPs cone retinal bipolar cell CL:0000752 +Cones retinal cone cell CL:0000573 +Endo retinal blood vessel endothelial cell CL:0002585 +HCs retina horizontal cell CL:0000745 +Macroglia macroglial cell CL:0000126 +Microglia microglial cell CL:0000129 +RGCs retinal ganglion cell CL:0000740 +Rods retinal rod cell CL:0000604 diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41586_018_0698_6/__init__.py b/sfaira/data/dataloaders/loaders/d10_1038_s41586_018_0698_6/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41586_018_0698_6/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41586_018_0698_6/human_placenta_2018_x_ventotormo_001.py b/sfaira/data/dataloaders/loaders/d10_1038_s41586_018_0698_6/human_placenta_2018_x_ventotormo_001.py new file mode 100644 index 000000000..84b0d677e --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41586_018_0698_6/human_placenta_2018_x_ventotormo_001.py @@ -0,0 +1,55 @@ +import os +import pandas as pd +import anndata + +from sfaira.data import DatasetBase + +SAMPLE_FNS = [ + "E-MTAB-6678.processed", + "E-MTAB-6701.processed", +] + + +class Dataset(DatasetBase): + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = f"https://www.ebi.ac.uk/arrayexpress/files/{self.sample_fn.split('.')[0]}/" \ + f"{self.sample_fn}.1.zip" + self.download_url_meta = f"https://www.ebi.ac.uk/arrayexpress/files/{self.sample_fn.split('.')[0]}/" \ + f"{self.sample_fn}.2.zip" + + self.assay_sc = "10x sequencing" if self.sample_fn == "E-MTAB-6678.processed" else "Smart-seq2" + self.author = "Ventotormo" + self.disease = "healthy" + self.doi = "10.1038/s41586-018-0698-6" + self.normalization = "raw" + self.organ = "placenta" + self.organism = "human" + self.sample_source = "primary_tissue" + self.year = 2018 + + self.gene_id_symbols_var_key = "names" + self.gene_id_ensembl_var_key = "ensembl" + self.cell_types_original_obs_key = "annotation" + + self.set_dataset_id(idx=1) + + +def load(data_dir, sample_fn, **kwargs): + fn = [ + os.path.join(data_dir, f"{sample_fn}.1.zip"), + os.path.join(data_dir, f"{sample_fn}.2.zip"), + ] + adata = anndata.AnnData(pd.read_csv(fn[0], sep="\t", index_col="Gene").T) + df = pd.read_csv(fn[1], sep="\t") + for i in df.columns: + adata.obs[i] = [df.loc[j][i] for j in adata.obs.index] + + adata.var["ensembl"] = [i.split("_")[1] for i in adata.var.index] + adata.var["names"] = [i.split("_")[0] for i in adata.var.index] + adata.var = adata.var.reset_index().reset_index().drop("index", axis=1) + adata = adata[:, ~adata.var.index.isin( + ["", "-1", "-10", "-11", "-2", "-3", "-4", "-5", "-6", "-7", "-8", "-9", "A.2", "A.3"])].copy() + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41586_018_0698_6/human_placenta_2018_x_ventotormo_001.tsv b/sfaira/data/dataloaders/loaders/d10_1038_s41586_018_0698_6/human_placenta_2018_x_ventotormo_001.tsv new file mode 100644 index 000000000..179972c0a --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41586_018_0698_6/human_placenta_2018_x_ventotormo_001.tsv @@ -0,0 +1,33 @@ +source target target_id +DC1 dendritic cell CL:0000451 +DC2 dendritic cell CL:0000451 +EVT extravillous trophoblast CL:0008036 +Endo (f) endothelial cell CL:0000115 +Endo (m) endothelial cell CL:0000115 +Endo L endothelial cell CL:0000115 +Epi1 placental epithelial cell CL:0002577 +Epi2 placental epithelial cell CL:0002577 +Granulocytes granulocyte CL:0000094 +HB Hofbauer cell CL:3000001 +ILC3 group 3 innate lymphoid cell CL:0001071 +MO monocyte CL:0000576 +NK CD16+ natural killer cell CL:0000623 +NK CD16- natural killer cell CL:0000623 +Plasma plasma cell CL:0000786 +SCT syncytiotrophoblast cell CL:0000525 +Tcells T cell CL:0000084 +VCT placental villous trophoblast CL:2000060 +dM1 macrophage CL:0000235 +dM2 macrophage CL:0000235 +dM3 macrophage CL:0000235 +dNK p decidual natural killer cell, human CL:0002343 +dNK1 decidual natural killer cell, human CL:0002343 +dNK2 decidual natural killer cell, human CL:0002343 +dNK3 decidual natural killer cell, human CL:0002343 +dP1 smooth muscle cell CL:0000192 +dP2 smooth muscle cell CL:0000192 +dS1 decidual cell CL:2000002 +dS2 decidual cell CL:2000002 +dS3 decidual cell CL:2000002 +fFB1 fibroblast CL:0000057 +fFB2 fibroblast CL:0000057 diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1373_2/__init__.py b/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1373_2/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1373_2/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1373_2/human_liver_2019_celseq2_aizarani_001.py b/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1373_2/human_liver_2019_celseq2_aizarani_001.py new file mode 100644 index 000000000..ef2597f3b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1373_2/human_liver_2019_celseq2_aizarani_001.py @@ -0,0 +1,41 @@ +import anndata +import os +import pandas as pd + +from sfaira.data import DatasetBase + + +class Dataset(DatasetBase): + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE124nnn/GSE124395/suppl/GSE124395%5FNormalhumanlivercellatlasdata%2Etxt%2Egz" + self.download_url_meta = "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE124nnn/GSE124395/suppl/GSE124395%5Fclusterpartition%2Etxt%2Egz" + + self.assay_sc = "CEL-seq2" + self.author = "Aizarani" + self.disease = "healthy" + self.doi = "10.1038/s41586-019-1373-2" + self.normalization = "raw" + self.sample_source = "primary_tissue" + self.organ = "liver" + self.organism = "human" + self.year = 2019 + + self.gene_id_symbols_var_key = "index" + self.cell_types_original_obs_key = "CellType" + + self.set_dataset_id(idx=1) + + +def load(data_dir, **kwargs): + fn = [ + os.path.join(data_dir, "GSE124395_Normalhumanlivercellatlasdata.txt.gz"), + os.path.join(data_dir, "GSE124395_clusterpartition.txt.gz") + ] + adata = anndata.AnnData(pd.read_csv(fn[0], sep="\t").T) + celltype_df = pd.read_csv(fn[1], sep=" ") + adata = adata[[i in celltype_df.index for i in adata.obs.index]].copy() + adata.obs["CellType"] = [str(celltype_df.loc[i]["sct@cpart"]) for i in adata.obs.index] + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1373_2/human_liver_2019_celseq2_aizarani_001.tsv b/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1373_2/human_liver_2019_celseq2_aizarani_001.tsv new file mode 100644 index 000000000..1057481d9 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1373_2/human_liver_2019_celseq2_aizarani_001.tsv @@ -0,0 +1,40 @@ +source target target_id +1 alpha-beta T cell CL:0000789 +10 endothelial cell CL:0000115 +11 hepatocyte CL:0000182 +12 alpha-beta T cell CL:0000789 +13 endothelial cell of hepatic sinusoid CL:1000398 +14 hepatocyte CL:0000182 +15 endothelial cell CL:0000115 +16 UNKNOWN UNKNOWN +17 hepatocyte CL:0000182 +18 alpha-beta T cell CL:0000789 +19 UNKNOWN UNKNOWN +2 Kupffer cell CL:0000091 +20 endothelial cell of hepatic sinusoid CL:1000398 +21 endothelial cell CL:0000115 +22 B cell CL:0000236 +23 Kupffer cell CL:0000091 +24 cholangiocyte CL:1000488 +25 Kupffer cell CL:0000091 +26 endothelial cell CL:0000115 +27 UNKNOWN UNKNOWN +28 alpha-beta T cell CL:0000789 +29 endothelial cell of vascular tree CL:0002139 +3 alpha-beta T cell CL:0000789 +30 hepatocyte CL:0000182 +31 Kupffer cell CL:0000091 +32 endothelial cell of hepatic sinusoid CL:1000398 +33 hepatic stellate cell CL:0000632 +34 B cell CL:0000236 +35 endothelial cell CL:0000115 +36 UNKNOWN UNKNOWN +37 UNKNOWN UNKNOWN +38 B cell CL:0000236 +39 cholangiocyte CL:1000488 +4 cholangiocyte CL:1000488 +5 alpha-beta T cell CL:0000789 +6 Kupffer cell CL:0000091 +7 cholangiocyte CL:1000488 +8 B cell CL:0000236 +9 endothelial cell of hepatic sinusoid CL:1000398 diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1631_3/__init__.py b/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1631_3/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1631_3/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1631_3/human_liver_2019_10xsequencing_ramachandran_001.py b/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1631_3/human_liver_2019_10xsequencing_ramachandran_001.py new file mode 100644 index 000000000..d4487a62f --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1631_3/human_liver_2019_10xsequencing_ramachandran_001.py @@ -0,0 +1,49 @@ +import os +import numpy as np + +from sfaira.data import DatasetBase + + +class Dataset(DatasetBase): + """ + TODO move state exact to disease, condition Uninjured is healthy + """ + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = "https://datashare.is.ed.ac.uk/bitstream/handle/10283/3433/tissue.rdata" + self.download_url_meta = None + + self.assay_sc = "10x sequencing" + self.author = "Ramachandran" + self.doi = "10.1038/s41586-019-1631-3" + self.normalization = "raw" + self.organ = "liver" + self.organism = "human" + self.sample_source = "primary_tissue" + self.year = 2019 + + self.gene_id_symbols_var_key = "index" + + self.cell_types_original_obs_key = "annotation_lineage" + self.state_exact_obs_key = "condition" + + self.set_dataset_id(idx=1) + + +def load(data_dir, **kwargs): + import anndata2ri + from rpy2.robjects import r + + fn = os.path.join(data_dir, "tissue.rdata") + anndata2ri.activate() # TODO: remove global activation of anndata2ri and use localconverter once it's fixed + adata = r( + f"library(Seurat)\n" + f"load('{fn}')\n" + f"new_obj = CreateSeuratObject(counts = tissue@raw.data)\n" + f"new_obj@meta.data = tissue@meta.data\n" + f"as.SingleCellExperiment(new_obj)\n" + ) + adata.obs["nGene"] = adata.obs["nGene"].astype(np.int32) + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1631_3/human_liver_2019_10xsequencing_ramachandran_001.tsv b/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1631_3/human_liver_2019_10xsequencing_ramachandran_001.tsv new file mode 100644 index 000000000..a1bd07ccd --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1631_3/human_liver_2019_10xsequencing_ramachandran_001.tsv @@ -0,0 +1,13 @@ +source target target_id +Bcells B cell CL:0000236 +Cholangiocytes intrahepatic cholangiocyte CL:0002538 +Endothelia endothelial cell CL:0000115 +Hepatocytes hepatocyte CL:0000182 +ILCs innate lymphoid cell CL:0001065 +MPs mononuclear phagocyte CL:0000113 +Mast cells mast cell CL:0000097 +Mesenchyme mesenchymal cell CL:0008019 +Mesothelia mesothelial cell CL:0000077 +Plasma Bcells plasma cell CL:0000786 +Tcells T cell CL:0000084 +pDCs plasmacytoid dendritic cell CL:0000784 diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1652_y/__init__.py b/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1652_y/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1652_y/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1652_y/human_liver_2019_10xsequencing_popescu_001.py b/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1652_y/human_liver_2019_10xsequencing_popescu_001.py new file mode 100644 index 000000000..d36bc6554 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1652_y/human_liver_2019_10xsequencing_popescu_001.py @@ -0,0 +1,35 @@ +import anndata +import os + +from sfaira.data import DatasetBase + + +class Dataset(DatasetBase): + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = "private,fetal_liver_alladata_.h5ad" + self.download_url_meta = None + + self.assay_sc = "10x sequencing" + self.author = "Popescu" + self.disease = "healthy" + self.doi = "10.1038/s41586-019-1652-y" + self.normalization = "raw" + self.organ = "liver" + self.organism = "human" + self.sample_source = "primary_tissue" + self.state_exact = "healthy" + self.year = 2019 + + self.gene_id_symbols_var_key = "index" + self.cell_types_original_obs_key = "cell.labels" + + self.set_dataset_id(idx=1) + + +def load(data_dir, **kwargs): + fn = os.path.join(data_dir, "fetal_liver_alladata_.h5ad") + adata = anndata.read(fn) + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1652_y/human_liver_2019_10xsequencing_popescu_001.tsv b/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1652_y/human_liver_2019_10xsequencing_popescu_001.tsv new file mode 100644 index 000000000..56d02a20e --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1652_y/human_liver_2019_10xsequencing_popescu_001.tsv @@ -0,0 +1,28 @@ +source target target_id +B cell B cell CL:0000236 +DC precursor common dendritic progenitor CL:0001029 +DC1 dendritic cell CL:0000451 +DC2 dendritic cell CL:0000451 +Early Erythroid erythroid progenitor cell CL:0000038 +Early lymphoid_T lymphocyte early lymphoid progenitor CL:0000936 +Endothelial cell endothelial cell CL:0000115 +Fibroblast fibroblast CL:0000057 +HSC_MPP hematopoietic multipotent progenitor cell CL:0000837 +Hepatocyte hepatocyte CL:0000182 +ILC precursor immature innate lymphoid cell CL:0001082 +Kupffer Cell Kupffer cell CL:0000091 +Late Erythroid erythroid progenitor cell CL:0000038 +MEMP megakaryocyte-erythroid progenitor cell CL:0000050 +Mast cell mast cell CL:0000097 +Megakaryocyte megakaryocyte CL:0000556 +Mid Erythroid erythroid progenitor cell CL:0000038 +Mono-Mac myeloid leukocyte CL:0000766 +Monocyte monocyte CL:0000576 +Monocyte precursor granulocyte monocyte progenitor cell CL:0000557 +NK natural killer cell CL:0000623 +Neutrophil-myeloid progenitor common myeloid progenitor CL:0000049 +Pre pro B cell Fraction A pre-pro B cell CL:0002045 +VCAM1+ EI macrophage macrophage CL:0000235 +pDC precursor plasmacytoid dendritic cell CL:0000784 +pre-B cell precursor B cell CL:0000817 +pro-B cell pro-B cell CL:0000826 diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1654_9/__init__.py b/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1654_9/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1654_9/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1654_9/human_brain_2019_10x3v2sequencing_kanton_001.py b/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1654_9/human_brain_2019_10x3v2sequencing_kanton_001.py new file mode 100644 index 000000000..86e461f0b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1654_9/human_brain_2019_10x3v2sequencing_kanton_001.py @@ -0,0 +1,34 @@ +import anndata +import os +import scipy.io +import zipfile +import pandas + + +def load(data_dir, **kwargs): + + cell_line_dict = { + '409b2': '409B2', + 'H9': 'WA09', + 'Wibj2': 'HPSI0214i-wibj_2', + 'Sc102a1': 'SC102A-1', + 'Kucg2': 'HPSI0214i-kucg_2', + 'Hoik1': 'HPSI0314i-hoik_1', + 'Sojd3': 'HPSI0314i-sojd_3', + } + + fn = [ + os.path.join(data_dir, "E-MTAB-7552.processed.3.zip"), + os.path.join(data_dir, "E-MTAB-7552.processed.1.zip"), + os.path.join(data_dir, "E-MTAB-7552.processed.7.zip") + ] + with zipfile.ZipFile(fn[0]) as archive: + x = scipy.io.mmread(archive.open('human_cell_counts_GRCh38.mtx')).T.tocsr() + with zipfile.ZipFile(fn[1]) as archive: + var = pandas.read_csv(archive.open('genes_GRCh38.txt'), sep="\t", index_col=1, names=['ensembl', 'genetype']) + with zipfile.ZipFile(fn[2]) as archive: + obs = pandas.read_csv(archive.open('metadata_human_cells.tsv'), sep="\t", index_col=0) + adata = anndata.AnnData(X=x, var=var, obs=obs) + adata.obs["Line"] = [cell_line_dict[x] for x in adata.obs["Line"]] + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1654_9/human_brain_2019_10x3v2sequencing_kanton_001.yaml b/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1654_9/human_brain_2019_10x3v2sequencing_kanton_001.yaml new file mode 100644 index 000000000..dde9db146 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41586_019_1654_9/human_brain_2019_10x3v2sequencing_kanton_001.yaml @@ -0,0 +1,53 @@ +dataset_structure: + dataset_index: 1 + sample_fns: +dataset_wise: + author: + - "Kanton" + doi: + - "10.1038/s41586-019-1654-9" + download_url_data: + - "https://www.ebi.ac.uk/arrayexpress/files/E-MTAB-7552/E-MTAB-7552.processed.3.zip" + download_url_meta: + - "https://www.ebi.ac.uk/arrayexpress/files/E-MTAB-7552/E-MTAB-7552.processed.1.zip" + - "https://www.ebi.ac.uk/arrayexpress/files/E-MTAB-7552/E-MTAB-7552.processed.7.zip" + normalization: "raw" + year: 2019 +dataset_or_observation_wise: + assay_sc: "10x 3' v2 sequencing" + assay_sc_obs_key: + assay_differentiation: "Lancaster, 2014 (doi: 10.1038/nprot.2014.158)" + assay_differentiation_obs_key: + assay_type_differentiation: "unguided" + assay_type_differentiation_obs_key: + bio_sample: + bio_sample_obs_key: "Sample" + cell_line: + cell_line_obs_key: "Line" + development_stage: + development_stage_obs_key: + disease: "healthy" + disease_obs_key: + ethnicity: + ethnicity_obs_key: + individual: + individual_obs_key: + organ: "brain" + organ_obs_key: + organism: "human" + organism_obs_key: + sample_source: "3d_culture" + sample_source_obs_key: + sex: + sex_obs_key: + state_exact: + state_exact_obs_key: "Stage" + tech_sample: + tech_sample_obs_key: +observation_wise: + cell_types_original_obs_key: +feature_wise: + gene_id_ensembl_var_key: "ensembl" + gene_id_symbols_var_key: "index" +meta: + version: "1.0" diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41586_020_2157_4/__init__.py b/sfaira/data/dataloaders/loaders/d10_1038_s41586_020_2157_4/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41586_020_2157_4/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41586_020_2157_4/human_x_2020_microwellseq_han_x.py b/sfaira/data/dataloaders/loaders/d10_1038_s41586_020_2157_4/human_x_2020_microwellseq_han_x.py new file mode 100644 index 000000000..d01646a31 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41586_020_2157_4/human_x_2020_microwellseq_han_x.py @@ -0,0 +1,331 @@ +import anndata +import numpy as np +import os +import pandas as pd +import scipy.sparse +import zipfile + +from sfaira.data import DatasetBase + + +class Dataset(DatasetBase): + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = "https://ndownloader.figshare.com/files/17727365" + self.download_url_meta = [ + "https://ndownloader.figshare.com/files/21758835", + "https://ndownloader.figshare.com/files/22447898", + ] + + self.author = "Han" + self.doi = "10.1038/s41586-020-2157-4" + self.healthy = True + self.normalization = "raw" + self.organism = "human" + self.assay_sc = "microwell-seq" + self.state_exact = "healthy" + self.year = 2020 + self.sample_source = "primary_tissue" + + self.bio_sample_obs_key = "sample" + self.cell_types_original_obs_key = "celltype_specific" + self.development_stage_obs_key = "dev_stage" + self.organ_obs_key = "organ" + self.sex_obs_key = "sex" + self.age_obs_key = "age" + + self.gene_id_symbols_var_key = "index" + + self.set_dataset_id(idx=1) + + +def load(data_dir, **kwargs): + sample_organ_dict = { + 'AdultAdipose_1': 'adipose tissue of abdominal region', + 'AdultAdrenalGland_2': 'adrenal gland', + 'AdultAdrenalGland_3': 'adrenal gland', + 'AdultArtery_1': 'artery', + 'AdultAscendingColon_1': 'ascending colon', + 'AdultBladder_1': 'urinary bladder', + 'AdultBladder_2': 'urinary bladder', + 'AdultCerebellum_1': 'cerebellum', + 'AdultCervix_1': 'uterine cervix', + 'AdultColon_1': 'colon', + 'AdultDuodenum_1': 'duodenum', + 'AdultEpityphlon_1': 'caecum', + 'AdultEsophagus_1': 'esophagus', + 'AdultEsophagus_2': 'esophagus', + 'AdultFallopiantube_1': 'fallopian tube', + 'AdultGallbladder_1': 'gall bladder', + 'AdultGallbladder_2': 'gall bladder', + 'AdultHeart_1': 'heart', + 'AdultHeart_2': 'heart', + 'AdultIleum_2': 'ileum', + 'AdultJejunum_2': 'jejunum', + 'AdultKidney_2': 'kidney', + 'AdultKidney_3': 'kidney', + 'AdultKidney_4': 'kidney', + 'AdultLiver_1': 'liver', + 'AdultLiver_2': 'liver', + 'AdultLiver_4': 'liver', + 'AdultLung_1': 'lung', + 'AdultLung_2': 'lung', + 'AdultLung_3': 'lung', + 'AdultMuscle_1': 'skeletal muscle organ', + 'AdultOmentum_1': 'omentum', + 'AdultOmentum_2': 'omentum', + 'AdultOmentum_3': 'omentum', + 'AdultPancreas_1': 'pancreas', + 'AdultPeripheralBlood_3': 'blood', + 'AdultPeripheralBlood_4': 'blood', + 'AdultPleura_1': 'pleura', + 'AdultProstate_1': 'prostate gland', + 'AdultRectum_1': 'rectum', + 'AdultSigmoidColon_1': 'sigmoid colon', + 'AdultSpleenParenchyma_1': 'parenchyma of spleen', + 'AdultSpleen_1': 'spleen', + 'AdultStomach_1': 'stomach', + 'AdultStomach_2': 'stomach', + 'AdultStomach_3': 'stomach', + 'AdultTemporalLobe_1': 'temporal lobe', + 'AdultThyroid_1': 'thyroid gland', + 'AdultThyroid_2': 'thyroid gland', + 'AdultTrachea_2': 'trachea', + 'AdultTransverseColon_2': 'transverse colon', + 'AdultUreter_1': 'ureter', + 'AdultUterus_1': 'uterus', + 'BoneMarrow_1': 'bone marrow', + 'BoneMarrow_2': 'bone marrow', + 'ChorionicVillus_1': 'chorionic villus', + 'CordBloodCD34P_1': 'umbilical cord blood', + 'CordBloodCD34P_2': 'umbilical cord blood', + 'CordBlood_1': 'umbilical cord blood', + 'CordBlood_2': 'umbilical cord blood', + 'FetalAdrenalGland_2': 'adrenal gland', + 'FetalAdrenalGland_3': 'adrenal gland', + 'FetalAdrenalGland_4': 'adrenal gland', + 'FetalBrain_3': 'brain', + 'FetalBrain_4': 'brain', + 'FetalBrain_5': 'brain', + 'FetalBrain_6': 'brain', + 'FetalCalvaria_1': 'vault of skull', + 'FetalEyes_1': 'eye', + 'FetalFemaleGonad_1': 'ovary', + 'FetalFemaleGonad_2': 'ovary', + 'FetalHeart_1': 'heart', + 'FetalHeart_2': 'heart', + 'FetalIntestine_1': 'intestine', + 'FetalIntestine_2': 'intestine', + 'FetalIntetsine_3': 'intestine', + 'FetalIntestine_4': 'intestine', + 'FetalIntestine_5': 'intestine', + 'FetalKidney_3': 'kidney', + 'FetalKidney_4': 'kidney', + 'FetalKidney_5': 'kidney', + 'FetalKidney_6': 'kidney', + 'FetalLung_1': 'lung', + 'FetalLung_2': 'lung', + 'FetalMaleGonad_1': 'testis', + 'FetalMaleGonad_2': 'testis', + 'FetalMuscle_1': 'skeletal muscle organ', + 'FetalPancreas_1': 'pancreas', + 'FetalPancreas_2': 'pancreas', + 'FetalPancreas_3': 'pancreas', + 'FetalRib_2': 'rib', + 'FetalRib_3': 'rib', + 'FetalSkin_2': 'skin of body', + 'FetalSkin_3': 'skin of body', + 'FetalSpinalCord_1': 'spinal cord', + 'FetalStomach_1': 'stomach', + 'FetalStomach_2': 'stomach', + 'FetalThymus_1': 'thymus', + 'FetalThymus_2': 'thymus', + 'HESC_1': 'blastocyst', + 'Liver_1': 'liver', + 'Liver_2': 'liver', + 'NeonatalAdrenalGland_1': 'adrenal gland', + 'PeripheralBlood_1': 'blood', + 'Placenta_1': 'placenta', + } + sample_dev_stage_dict = { + 'AdultAdipose_1': 'human adult stage', + 'AdultAdrenalGland_2': 'human adult stage', + 'AdultAdrenalGland_3': 'human adult stage', + 'AdultArtery_1': 'human adult stage', + 'AdultAscendingColon_1': 'human adult stage', + 'AdultBladder_1': 'human adult stage', + 'AdultBladder_2': 'human adult stage', + 'AdultCerebellum_1': 'human adult stage', + 'AdultCervix_1': 'human adult stage', + 'AdultColon_1': 'human adult stage', + 'AdultDuodenum_1': 'human adult stage', + 'AdultEpityphlon_1': 'human adult stage', + 'AdultEsophagus_1': 'human adult stage', + 'AdultEsophagus_2': 'human adult stage', + 'AdultFallopiantube_1': 'human adult stage', + 'AdultGallbladder_1': 'human adult stage', + 'AdultGallbladder_2': 'human adult stage', + 'AdultHeart_1': 'human adult stage', + 'AdultHeart_2': 'human adult stage', + 'AdultIleum_2': 'human adult stage', + 'AdultJejunum_2': 'human adult stage', + 'AdultKidney_2': 'human adult stage', + 'AdultKidney_3': 'human adult stage', + 'AdultKidney_4': 'human adult stage', + 'AdultLiver_1': 'human adult stage', + 'AdultLiver_2': 'human adult stage', + 'AdultLiver_4': 'human adult stage', + 'AdultLung_1': 'human adult stage', + 'AdultLung_2': 'human adult stage', + 'AdultLung_3': 'human adult stage', + 'AdultMuscle_1': 'human adult stage', + 'AdultOmentum_1': 'human adult stage', + 'AdultOmentum_2': 'human adult stage', + 'AdultOmentum_3': 'human adult stage', + 'AdultPancreas_1': 'human adult stage', + 'AdultPeripheralBlood_3': 'human adult stage', + 'AdultPeripheralBlood_4': 'human adult stage', + 'AdultPleura_1': 'human adult stage', + 'AdultProstate_1': 'human adult stage', + 'AdultRectum_1': 'human adult stage', + 'AdultSigmoidColon_1': 'human adult stage', + 'AdultSpleenParenchyma_1': 'human adult stage', + 'AdultSpleen_1': 'human adult stage', + 'AdultStomach_1': 'human adult stage', + 'AdultStomach_2': 'human adult stage', + 'AdultStomach_3': 'human adult stage', + 'AdultTemporalLobe_1': 'human adult stage', + 'AdultThyroid_1': 'human adult stage', + 'AdultThyroid_2': 'human adult stage', + 'AdultTrachea_2': 'human adult stage', + 'AdultTransverseColon_2': 'human adult stage', + 'AdultUreter_1': 'human adult stage', + 'AdultUterus_1': 'human adult stage', + 'BoneMarrow_1': 'human adult stage', + 'BoneMarrow_2': 'human adult stage', + 'ChorionicVillus_1': 'human adult stage', + 'CordBloodCD34P_1': 'human adult stage', + 'CordBloodCD34P_2': 'human adult stage', + 'CordBlood_1': 'human adult stage', + 'CordBlood_2': 'human adult stage', + 'FetalAdrenalGland_2': 'fetal stage', + 'FetalAdrenalGland_3': 'fetal stage', + 'FetalAdrenalGland_4': 'fetal stage', + 'FetalBrain_3': 'fetal stage', + 'FetalBrain_4': 'fetal stage', + 'FetalBrain_5': 'fetal stage', + 'FetalBrain_6': 'fetal stage', + 'FetalCalvaria_1': 'fetal stage', + 'FetalEyes_1': 'fetal stage', + 'FetalFemaleGonad_1': 'fetal stage', + 'FetalFemaleGonad_2': 'fetal stage', + 'FetalHeart_1': 'fetal stage', + 'FetalHeart_2': 'fetal stage', + 'FetalIntestine_1': 'fetal stage', + 'FetalIntestine_2': 'fetal stage', + 'FetalIntetsine_3': 'fetal stage', + 'FetalIntestine_4': 'fetal stage', + 'FetalIntestine_5': 'fetal stage', + 'FetalKidney_3': 'fetal stage', + 'FetalKidney_4': 'fetal stage', + 'FetalKidney_5': 'fetal stage', + 'FetalKidney_6': 'fetal stage', + 'FetalLung_1': 'fetal stage', + 'FetalLung_2': 'fetal stage', + 'FetalMaleGonad_1': 'fetal stage', + 'FetalMaleGonad_2': 'fetal stage', + 'FetalMuscle_1': 'fetal stage', + 'FetalPancreas_1': 'fetal stage', + 'FetalPancreas_2': 'fetal stage', + 'FetalPancreas_3': 'fetal stage', + 'FetalRib_2': 'fetal stage', + 'FetalRib_3': 'fetal stage', + 'FetalSkin_2': 'fetal stage', + 'FetalSkin_3': 'fetal stage', + 'FetalSpinalCord_1': 'fetal stage', + 'FetalStomach_1': 'fetal stage', + 'FetalStomach_2': 'fetal stage', + 'FetalThymus_1': 'fetal stage', + 'FetalThymus_2': 'fetal stage', + 'HESC_1': 'blastula stage', + 'Liver_1': 'human adult stage', + 'Liver_2': 'human adult stage', + 'NeonatalAdrenalGland_1': 'newborn human stage', + 'PeripheralBlood_1': 'human adult stage', + 'Placenta_1': 'human adult stage', + } + sex_dict = { + 'Male': "male", + 'Female': "female", + 'nan': "unknown", + 'FeM=male': "unknown", + } + + adata = anndata.read(os.path.join(data_dir, "HCL_Fig1_adata.h5ad")) + # convert to sparse matrix + adata.X = scipy.sparse.csr_matrix(adata.X).copy() + + # harmonise annotations + for col in ["batch", "tissue"]: + adata.obs[col] = adata.obs[col].astype("str") + adata.obs.index = adata.obs.index.str.replace("AdultJeJunum", "AdultJejunum", regex=True).str.replace( + "AdultGallBladder", "AdultGallbladder", regex=True).str.replace( + "FetalFemaleGonald", "FetalFemaleGonad", regex=True) + adata.obs.replace({"AdultJeJunum": "AdultJejunum", "AdultGallBladder": "AdultGallbladder", + "FetalFemaleGonald": "FetalFemaleGonad"}, regex=True, inplace=True) + adata.obs.index = ["-".join(i.split("-")[:-1]) for i in adata.obs.index] + + # load celltype labels and harmonise them + # This pandas code should work with pandas 1.2 but it does not and yields an empty data frame: + fig1_anno = pd.read_excel( + os.path.join(data_dir, "HCL_Fig1_cell_Info.xlsx"), + index_col="cellnames", + engine="xlrd", # ToDo: Update when pandas xlsx reading with openpyxl is fixed: yields empty tables + ) + fig1_anno.index = fig1_anno.index.str.replace("AdultJeJunum", "AdultJejunum", regex=True).str.replace( + "AdultGallBladder", "AdultGallbladder", regex=True).str.replace( + "FetalFemaleGonald", "FetalFemaleGonad", regex=True) + + # check that the order of cells and cell labels is the same + assert np.all(fig1_anno.index == adata.obs.index) + + # add annotations to adata object and rename columns + adata.obs = pd.concat([adata.obs, fig1_anno[["cluster", "stage", "donor", "celltype"]]], axis=1) + adata.obs.columns = ["sample", "tissue", "n_genes", "n_counts", "cluster_global", "stage", "donor", + "celltype_global"] + + # add sample-wise annotations to the full adata object + df = pd.DataFrame( + columns=["Cell_barcode", "Sample", "Batch", "Cell_id", "Cluster_id", "Ages", "Development_stage", "Method", + "Gender", "Source", "Biomaterial", "Name", "ident", "Celltype"]) + archive = zipfile.ZipFile(os.path.join(data_dir, "annotation_rmbatch_data_revised417.zip")) + for f in archive.namelist(): + df1 = pd.read_csv(archive.open(f), encoding="unicode_escape") + df = pd.concat([df, df1], sort=True) + df = df.set_index("Cell_id") + adata = adata[[i in df.index for i in adata.obs.index]].copy() + a_idx = adata.obs.index.copy() + adata.obs = pd.concat([adata.obs, df[ + ["Ages", "Celltype", "Cluster_id", "Gender", "Method", "Source"] + ]], axis=1) + assert np.all(a_idx == adata.obs.index) + + # remove mouse cells from the object # ToDo: add this back in as mouse data sets? + adata = adata[adata.obs["Source"] != "MCA2.0"].copy() + + # tidy up the column names of the obs annotations + adata.obs.columns = [ + "sample", "sub_tissue", "n_genes", "n_counts", "cluster_global", "dev_stage", "donor", "celltype_global", + "age", "celltype_specific", "cluster_specific", "sex", "assay_sc", "source"] + # Remove new line characters from cell type: + adata.obs["celltype_specific"] = [ + x.replace("\n", "").rstrip() + for x in adata.obs["celltype_specific"].values + ] + adata.obs["organ"] = [sample_organ_dict[x] for x in adata.obs["sample"].values] + adata.obs["sex"] = [sex_dict[str(x)] for x in adata.obs["sex"].values] + # TODO are the more exact developmental stages in dev_stage? + adata.obs["dev_stage"] = [sample_dev_stage_dict[str(x)] for x in adata.obs["sample"].values] + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41586_020_2157_4/human_x_2020_microwellseq_han_x.tsv b/sfaira/data/dataloaders/loaders/d10_1038_s41586_020_2157_4/human_x_2020_microwellseq_han_x.tsv new file mode 100644 index 000000000..6765cf7ee --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41586_020_2157_4/human_x_2020_microwellseq_han_x.tsv @@ -0,0 +1,635 @@ +source target target_id +0 UNKNOWN UNKNOWN +AT1 cell type I pneumocyte CL:0002062 +AT2 cell type II pneumocyte CL:0002063 +Absorptive cell absorptive cell CL:0000212 +Acinar cell_CLPS high acinar cell CL:0000622 +Acinar cell_CPA1 high acinar cell CL:0000622 +Acinar cell_CPA2 high acinar cell CL:0000622 +Acinar cell_REG1B high acinar cell CL:0000622 +Acniar cell_ANXA4 high acinar cell CL:0000622 +Activated T cell T cell CL:0000084 +Actived T cell T cell CL:0000084 +Adenocarcinoma epithelial cell abnormal cell CL:0001061 +Adipocyte _FGR high fat cell CL:0000136 +Adipocyte_SPP1 high fat cell CL:0000136 +Adipose tissue fat cell CL:0000136 +Adrenocortical cell cortical cell of adrenal gland CL:0002097 +Adrenocortical cell_NOV high cortical cell of adrenal gland CL:0002097 +Adrenocortical cell_TPM2 high cortical cell of adrenal gland CL:0002097 +Airway smooth muscle cell smooth muscle cell of trachea CL:0002600 +Alpha cell pancreatic A cell CL:0000171 +Alveolar bipotent/intermediate cell pneumocyte CL:0000322 +Antigen presenting cell professional antigen presenting cell CL:0000145 +Antigen-presenting cell professional antigen presenting cell CL:0000145 +Arterial endothelial cell endothelial cell of artery CL:1000413 +Arterial endothelial cell_GJA5 high endothelial cell of artery CL:1000413 +Artry endothelial cell endothelial cell of artery CL:1000413 +Astrocyte astrocyte CL:0000127 +Astrocyte(Bergmann glia) Bergmann glial cell CL:0000644 +Atrial cardiomyocyte_MT high regular atrial cardiac myocyte CL:0002129 +Atrial cardiomyocyte_MYH6 high regular atrial cardiac myocyte CL:0002129 +Atrial cardiomyocyte_NPPA high regular atrial cardiac myocyte CL:0002129 +B cell B cell CL:0000236 +B cell (Centrocyte) B cell CL:0000236 +B cell (Plasmocyte) plasma cell CL:0000786 +B cell (Plasmocyte)_IGHA high plasma cell CL:0000786 +B cell (Plasmocyte)_IGHA/HG high plasma cell CL:0000786 +B cell (Plasmocyte)_IGHA/HM high plasma cell CL:0000786 +B cell (Plasmocyte)_IGHA/HM_IGK high plasma cell CL:0000786 +B cell (Plasmocyte)_IGHA/HM_IGL high plasma cell CL:0000786 +B cell (Plasmocyte)_IGHA_IGK high plasma cell CL:0000786 +B cell (Plasmocyte)_IGHA_IGL high plasma cell CL:0000786 +B cell (Plasmocyte)_IGHG high plasma cell CL:0000786 +B cell (Plasmocyte)_IGHG/HA high plasma cell CL:0000786 +B cell (Plasmocyte)_IGHG/HA_IGK high plasma cell CL:0000786 +B cell (Plasmocyte)_IGHG3 high plasma cell CL:0000786 +B cell (Plasmocyte)_IGHG_IGK high plasma cell CL:0000786 +B cell (Plasmocyte)_IGHG_IGL high plasma cell CL:0000786 +B cell (Plasmocyte)_IGHM/HA_IGK high plasma cell CL:0000786 +B cell (Plasmocyte)_IGHM/HA_IGL high plasma cell CL:0000786 +B cell (Plasmocyte)_IGHM/HG high plasma cell CL:0000786 +B cell (Plasmocyte)_IGLV3-1 high plasma cell CL:0000786 +B cell (centrocyte) B cell CL:0000236 +B cell(Centrocyte) B cell CL:0000236 +B cell(Centrocyte)_IGLC2 high B cell CL:0000236 +B cell(Centrocyte)_IGLL1 high B cell CL:0000236 +B cell(Plasmocyte) plasma cell CL:0000786 +B cell(Plasmocyte)_IGHG1 high plasma cell CL:0000786 +B cell(Plasmocyte)_IGHG4 high plasma cell CL:0000786 +B cell(Plasmocyte)_IGHM high plasma cell CL:0000786 +B cell(Plasmocyte)_IGKC high plasma cell CL:0000786 +B cell(Plasmocyte)_IGLC3 high plasma cell CL:0000786 +B cell(Plasmocyte)_IGLL5 high plasma cell CL:0000786 +B cell(Unknown) B cell CL:0000236 +B cell(plasmocyte)_IGHA1 high plasma cell CL:0000786 +B cell(plasmocyte)_IGHG3 high plasma cell CL:0000786 +B cell_Contamination B cell CL:0000236 +B cell_JCHAIN high B cell CL:0000236 +Basal cell basal cell CL:0000646 +Basal cell basal cell CL:0000646 +Basal cell_KRT6A high basal cell CL:0000646 +Basal/Epithelial cell basal cell CL:0000646 +Basal/epithelial cell basal cell CL:0000646 +Beta cell type B pancreatic cell CL:0000169 +CD4_T cell CD4-positive, alpha-beta T cell CL:0000624 +CD8 T cell CD8-positive, alpha-beta T cell CL:0000625 +CD8+ T cell CD8-positive, alpha-beta T cell CL:0000625 +CD8_T cell CD8-positive, alpha-beta T cell CL:0000625 +Cardiomyocyte cardiac muscle cell CL:0000746 +Cervical Mesothelial cell mesothelial cell CL:0000077 +Cholangiocyte cholangiocyte CL:1000488 +Chondrocyte chondrocyte CL:0000138 +Chondrocyte_CYTL1 high chondrocyte CL:0000138 +Chondrocyte_PANX3 high chondrocyte CL:0000138 +Chromaffin cell chromaffin cell CL:0000166 +Chromaffin cell_SPOCK3 high chromaffin cell CL:0000166 +Chromaffin cell_VIP high chromaffin cell CL:0000166 +Ciliated epithelial cell ciliated epithelial cell CL:0000067 +Ciliated cell ciliated cell CL:0000064 +Club cell club cell CL:0000158 +Club cell_BPIFB1 high club cell CL:0000158 +Club cell_KLK11 high club cell CL:0000158 +Collecting duct cell kidney collecting duct cell CL:1001225 +Collecting duct cell_CRABP1 high kidney collecting duct cell CL:1001225 +Conventional dendritic cell conventional dendritic cell CL:0000990 +Conventional dendritic cell_FECER1A high conventional dendritic cell CL:0000990 +Conventional dendritic cell_IL8 high conventional dendritic cell CL:0000990 +Cytotrophoblast mononuclear cytotrophoblast cell CL:0000523 +Cytotrophoblast_PAGE4 high mononuclear cytotrophoblast cell CL:0000523 +Cytotrophoblast_PEG10 high mononuclear cytotrophoblast cell CL:0000523 +D cell/ X/A cell type D cell of stomach CL:0002267 +Dendritic cell dendritic cell CL:0000451 +Dendritic cell_CPVL high dendritic cell CL:0000451 +Dendritic cell_FCER1A high dendritic cell CL:0000451 +Dendritic cell_HLA-DRA high dendritic cell CL:0000451 +Dendritic cell_LGALS2 high dendritic cell CL:0000451 +Dendritic cell_LYZ high dendritic cell CL:0000451 +Dendritic cell_WDFY4 high dendritic cell CL:0000451 +Dermis fibroblast fibroblast of dermis CL:0002551 +Distal progenitor cell epithelial cell of distal tubule CL:0002305 +Distal tubule cell epithelial cell of distal tubule CL:0002305 +Distal tubule cell_SLC12A3 high epithelial cell of distal tubule CL:0002305 +Distal tubule progenitor cell epithelial cell of distal tubule CL:0002305 +Duct cell pancreatic ductal cell CL:0002079 +Ductal cell pancreatic ductal cell CL:0002079 +ES_ANXA1 high embryonic stem cell CL:0002322 +ES_S100A6 high embryonic stem cell CL:0002322 +ES_TERF1 high embryonic stem cell CL:0002322 +Effector T cell effector T cell CL:0000911 +Endocardial cell endocardial cell CL:0002350 +Endocervix Mesothelial cell epithelial cell of cervix CL:0002535 +Endocrine cell pancreatic endocrine cell CL:0008024 +Endometrial cell stromal cell of endometrium CL:0002255 +Endothelial cell gut endothelial cell CL:0000131 +Endothelial cell endothelial cell CL:0000115 +Endothelial cell (non-professional APC) endothelial cell CL:0000115 +Endothelial cell in EMT endothelial cell CL:0000115 +Endothelial cell_A2M high endothelial cell CL:0000115 +Endothelial cell_ACKR1 high endothelial cell CL:0000115 +Endothelial cell_APC endothelial cell CL:0000115 +Endothelial cell_APLNR high endothelial cell CL:0000115 +Endothelial cell_CCL2 high endothelial cell CL:0000115 +Endothelial cell_CCL21 high endothelial cell CL:0000115 +Endothelial cell_COL15A1 high endothelial cell CL:0000115 +Endothelial cell_Col4A1 high endothelial cell CL:0000115 +Endothelial cell_EMCN high endothelial cell CL:0000115 +Endothelial cell_ESAM high endothelial cell CL:0000115 +Endothelial cell_ESM1 high endothelial cell CL:0000115 +Endothelial cell_FABP4 high endothelial cell CL:0000115 +Endothelial cell_GJA4 high endothelial cell CL:0000115 +Endothelial cell_IGFBP3 high endothelial cell CL:0000115 +Endothelial cell_IGFBP5 high endothelial cell CL:0000115 +Endothelial cell_IL6 high endothelial cell CL:0000115 +Endothelial cell_NEAT1 high endothelial cell CL:0000115 +Endothelial cell_NTS high endothelial cell CL:0000115 +Endothelial cell_PLVAP high endothelial cell CL:0000115 +Endothelial cell_PODXL high endothelial cell CL:0000115 +Endothelial cell_SELE high endothelial cell CL:0000115 +Endothelial cell_SOCS3 high endothelial cell CL:0000115 +Endothelial cell_SPARCL1 high endothelial cell CL:0000115 +Endothelial cell_STC1 high endothelial cell CL:0000115 +Endothelial cell_TM4SF1 high endothelial cell CL:0000115 +Endothelial cell_TMEM100 high endothelial cell CL:0000115 +Endothelial cell_VWF high endothelial cell CL:0000115 +Endothelial progenitor cell endothelial cell CL:0000115 +Enteric glial cell glial cell CL:0000125 +Enteric nerval cell neuron CL:0000540 +Enterocyte enterocyte CL:0000584 +Enterocyte progenitor enterocyte CL:0000584 +Enterocyte progenitor_APOA4 high enterocyte CL:0000584 +Enterocyte progenitor_APOC3 high enterocyte CL:0000584 +Enterocyte progenitor_GUCA2B high enterocyte CL:0000584 +Enterocyte progenitor_OLFM4 high enterocyte CL:0000584 +Enterocyte progenitor_REG1A high enterocyte CL:0000584 +Enterocyte progenitor_TSPAN8 high enterocyte CL:0000584 +Enterocyte_AGR2 high enterocyte CL:0000584 +Enterocyte_APOA1 high enterocyte CL:0000584 +Enterocyte_APOA4 high enterocyte CL:0000584 +Enterocyte_BEST4 high enterocyte CL:0000584 +Enterocyte_CA1 high enterocyte CL:0000584 +Enterocyte_CA7 high enterocyte CL:0000584 +Enterocyte_FABP1 low enterocyte CL:0000584 +Enterocyte_GUCA2A high enterocyte CL:0000584 +Enterocyte_MT gene high enterocyte CL:0000584 +Enterocyte_OTOP2 high enterocyte CL:0000584 +Enterocyte_PHGR1 high enterocyte CL:0000584 +Enterocyte_RBP2 high enterocyte CL:0000584 +Enterocyte_RN7SK high enterocyte CL:0000584 +Enterocyte_SELENBP1 high enterocyte CL:0000584 +Enterocyte_SLC26A3 high enterocyte CL:0000584 +Enteroendocrine cell enteroendocrine cell CL:0000164 +Eosinophil eosinophil CL:0000771 +Ependymal cell ependymal cell CL:0000065 +Epithelial cell epithelial cell CL:0000066 +Epithelial cell_CCL21 high epithelial cell CL:0000066 +Epithelial cell_CCNB1 high epithelial cell CL:0000066 +Epithelial cell_CD24 high epithelial cell CL:0000066 +Epithelial cell_CLCA1 high epithelial cell CL:0000066 +Epithelial cell_CYSTM1 high epithelial cell CL:0000066 +Epithelial cell_EDN1 high epithelial cell CL:0000066 +Epithelial cell_FABP1 high epithelial cell CL:0000066 +Epithelial cell_HP high epithelial cell CL:0000066 +Epithelial cell_IGFBP5 high epithelial cell CL:0000066 +Epithelial cell_ITLN high epithelial cell CL:0000066 +Epithelial cell_KRT13 high epithelial cell of esophagus CL:0002252 +Epithelial cell_KRT14 high epithelial cell of esophagus CL:0002252 +Epithelial cell_KRT16 high epithelial cell of esophagus CL:0002252 +Epithelial cell_KRT17 high epithelial cell of esophagus CL:0002252 +Epithelial cell_KRT4 high epithelial cell of esophagus CL:0002252 +Epithelial cell_KRT7 high epithelial cell of esophagus CL:0002252 +Epithelial cell_MMP10 high epithelial cell of lower respiratory tract CL:0002632 +Epithelial cell_MMP7 high epithelial cell of esophagus CL:0002252 +Epithelial cell_MT1G high epithelial cell CL:0000066 +Epithelial cell_MT1L high epithelial cell CL:0000066 +Epithelial cell_NR4A2 high epithelial cell CL:0000066 +Epithelial cell_PLA2G2A high epithelial cell of lung CL:0000082 +Epithelial cell_S100A2 high epithelial cell of lung CL:0000082 +Epithelial cell_SCGB3A1 high epithelial cell CL:0000066 +Epithelial cell_TM4SF4 high epithelial cell CL:0000066 +Epithelial cell_TPPP3 high epithelial cell CL:0000066 +Epithelial progenitor cell epithelial cell CL:0000066 +Epithelial_cell_NUPR1 high epithelial cell CL:0000066 +Epithelial¨Cmesenchymal transition epithelial cell CL:0000066 +Erythroid cell erythroid lineage cell CL:0000764 +Erythroid cell_AHSP high erythroid lineage cell CL:0000764 +Erythroid cell_HBA1 high erythroid lineage cell CL:0000764 +Erythroid cell_HBB high erythroid lineage cell CL:0000764 +Erythroid cell_HBB_high erythroid lineage cell CL:0000764 +Erythroid cell_HBE1 high erythroid lineage cell CL:0000764 +Erythroid cell_HBM high erythroid lineage cell CL:0000764 +Erythroid cell_HBZ high erythroid lineage cell CL:0000764 +Erythroid cell_HBZ_high erythroid lineage cell CL:0000764 +Erythroid cell_PRDX2 high erythroid lineage cell CL:0000764 +Erythroid cell_SLC4A1 high erythroid lineage cell CL:0000764 +Erythroid cell__HBD high erythroid lineage cell CL:0000764 +Erythroid progenitor cell erythroblast CL:0000765 +Erythroid progenitor cell_NPM1 high erythroblast CL:0000765 +Erythroid progenitor cell_REXO2 high erythroblast CL:0000765 +Erythroid/Basophil Progenitor erythroblast CL:0000765 +Excitatory neuron excitatory neuron CL:0008030 +Exocrine cell pancreas exocrine glandular cell CL:1001599 +Exocrine cell_SAA1 high pancreas exocrine glandular cell CL:1001599 +Extravillous trophoblast_AOC1 high extravillous trophoblast CL:0008036 +Extravillous trophoblast_HPGD high extravillous trophoblast CL:0008036 +Extravillous trophoblast_LAIR2 high extravillous trophoblast CL:0008036 +Extravillous trophoblast_MMP12 high extravillous trophoblast CL:0008036 +Extravillous trophoblast_NOTUM high extravillous trophoblast CL:0008036 +Extravillous trophoblast_TIMP3 high extravillous trophoblast CL:0008036 +Fast skeletal muscle cell fast muscle cell CL:0000190 +Fenestrated endothelial cell_EMCN high fenestrated cell CL:0000666 +Fenestrated endothelial cell_SELE high fenestrated cell CL:0000666 +Fetal leydig cell Leydig cell CL:0000178 +Fibroblast fibroblast CL:0000057 +Fibroblast cell_MFAP5 high fibroblast CL:0000057 +Fibroblast_ CXCL12 high fibroblast CL:0000057 +Fibroblast_A2M high fibroblast CL:0000057 +Fibroblast_APOD high fibroblast CL:0000057 +Fibroblast_COL1A1 high fibroblast of choroid plexus CL:0002549 +Fibroblast_COL3A1 high fibroblast CL:0000057 +Fibroblast_COL5A2 high fibroblast of dermis CL:0002551 +Fibroblast_DCN high fibroblast CL:0000057 +Fibroblast_EFEMP1 high fibroblast of dermis CL:0002551 +Fibroblast_FBLN1 high fibroblast CL:0000057 +Fibroblast_FNDC1 high fibroblast CL:0000057 +Fibroblast_HMGB2 high fibroblast CL:0000057 +Fibroblast_IBSP_high fibroblast CL:0000057 +Fibroblast_LUM high fibroblast CL:0000057 +Fibroblast_MFAP4 high fibroblast CL:0000057 +Fibroblast_MFAP5 high fibroblast CL:0000057 +Fibroblast_MGP high fibroblast CL:0000057 +Fibroblast_MGP_high fibroblast CL:0000057 +Fibroblast_PENK high fibroblast CL:0000057 +Fibroblast_POSTN high fibroblast CL:0000057 +Fibroblast_PTX3 high fibroblast CL:0000057 +Fibroblast_SFPR4 high fibroblast of dermis CL:0002551 +Fibroblast_SFRP high fibroblast CL:0000057 +Fibroblast_ZFAND2A high fibroblast CL:0000057 +Follicular dendritic cell follicular dendritic cell CL:0000442 +Ganglion cell neural cell CL:0002319 +Gastric chief cell peptic cell CL:0000155 +Gastric chief cell_CHIA high peptic cell CL:0000155 +Gastric chief cell_MT high peptic cell CL:0000155 +Gastric chief cell_PGA3 high peptic cell CL:0000155 +Gastric mucosa cell mucous cell of stomach CL:0002180 +Germ cell germ cell CL:0000586 +Glial cell glial cell CL:0000125 +Glomerular endothelial cell_AQP1 high glomerular endothelial cell CL:0002188 +Goblet cell goblet cell CL:0000160 +Goblet cell_FCGBP high goblet cell CL:0000160 +Goblet cell_PIGR high goblet cell CL:0000160 +Granulocyte granulocyte CL:0000094 +HSPC hematopoietic stem cell CL:0000037 +Hepatocyte hepatocyte CL:0000182 +Hepatocyte-like cell hepatocyte CL:0000182 +Hepatocyte_FGB high hepatocyte CL:0000182 +Hepatocyte_GSTA1 high hepatocyte CL:0000182 +Hepatocyte_HP high hepatocyte CL:0000182 +Hepatocyte_TF high hepatocyte CL:0000182 +Hofbauer cell Hofbauer cell CL:3000001 +Hypertrophic chondrocyte hypertrophic chondrocyte CL:0000743 +IC-tran-PC kidney cell CL:1000497 +Immature sertoli cell(Pre-Sertoli cell) Sertoli cell CL:0000216 +Immune response stromal cell stromal cell CL:0000499 +Inflammatory cell inflammatory cell CL:0009002 +Inflammatory stromal cell_HSPA1A high inflammatory cell CL:0009002 +Inflammatory stromal cell_MT-RNR2 high inflammatory cell CL:0009002 +Inflammed epithelial cell inflammatory cell CL:0009002 +Inhibitory neuron inhibitory neuron CL:0008029 +Intercalated cell renal intercalated cell CL:0005010 +Intercalated cell_SLC26A4 high renal intercalated cell CL:0005010 +Intercalated cell_SPINK1 high renal intercalated cell CL:0005010 +Intermediate Epithelial cell intermediate epitheliocyte CL:0002209 +Intermediated cell UNKNOWN UNKNOWN +Interneuron interneuron CL:0000099 +Interstitial cell_POSTN high kidney interstitial cell CL:1000500 +Interstitial cell_PTN high kidney interstitial cell CL:1000500 +Interstitial progenitor cell kidney interstitial cell CL:1000500 +Intra-adrenal chromoblast pigment cell CL:0000147 +Intra-adrenal ganglion neuron neuron CL:0000540 +Keratinocyte keratinocyte CL:0000312 +Kerationcyte keratinocyte CL:0000312 +Kidney Epithelial cell kidney epithelial cell CL:0002518 +Kupffer cell Kupffer cell CL:0000091 +Kuppfer Cell Kupffer cell CL:0000091 +Kuppfer cell Kupffer cell CL:0000091 +Lens epithelial cell lens epithelial cell CL:0002224 +Loop of Henle(Thick ascending limb) kidney loop of Henle thick ascending limb epithelial cell CL:1001106 +Loop of Henle (Thick ascending limb) kidney loop of Henle thick ascending limb epithelial cell CL:1001106 +Loop of henle _ANXA1 high kidney loop of Henle epithelial cell CL:1000909 +Loop of henle _KNG1 high kidney loop of Henle epithelial cell CL:1000909 +Loop of henle _UMOD high kidney loop of Henle epithelial cell CL:1000909 +Loop of henle progenitor cell kidney loop of Henle epithelial cell CL:1000909 +Loop of henle_SFN high kidney loop of Henle epithelial cell CL:1000909 +Loop of henle_SLPI high kidney loop of Henle epithelial cell CL:1000909 +Loop of henle_SOD3 high kidney loop of Henle epithelial cell CL:1000909 +Loop of henle_SPP1 high kidney loop of Henle epithelial cell CL:1000909 +Luminal cell luminal epithelial cell of prostatic duct CL:0002237 +Luminal epithelium placental epithelial cell CL:0002577 +Lung mesenchyme cell (cardiopulmonary progenitor) mesenchymal cell CL:0008019 +Lymphatic endothelial cell endothelial cell CL:0000115 +Lymphatic endothelial cell_CCL21 high endothelial cell CL:0000115 +Lymphatic endothelial cell_NTS high endothelial cell CL:0000115 +Lymphocyte lymphocyte CL:0000542 +Lymphoid progenitor cell lymphoid lineage restricted progenitor cell CL:0000838 +M1 Macrophage inflammatory macrophage CL:0000863 +M1 Macrophage_CCL2_high inflammatory macrophage CL:0000863 +M1 Macrophage_CXCL8_high inflammatory macrophage CL:0000863 +M2 Macrophage alternatively activated macrophage CL:0000890 +M2 macrophage alternatively activated macrophage CL:0000890 +M2 macrophage_CXCL8 high alternatively activated macrophage CL:0000890 +M2 macrophage_MALAT1 high alternatively activated macrophage CL:0000890 +Macrophage macrophage CL:0000235 +Macrophage_APOC1 high macrophage CL:0000235 +Macrophage_C1QB high macrophage CL:0000235 +Macrophage_CCL20 high macrophage CL:0000235 +Macrophage_CCL3L3 high macrophage CL:0000235 +Macrophage_CD52 high macrophage CL:0000235 +Macrophage_CTSB high macrophage CL:0000235 +Macrophage_CXCL2 high macrophage CL:0000235 +Macrophage_CXCL8 high macrophage CL:0000235 +Macrophage_FABP5 high macrophage CL:0000235 +Macrophage_FCGR3A high macrophage CL:0000235 +Macrophage_GPR183 high macrophage CL:0000235 +Macrophage_HLA-DRA high macrophage CL:0000235 +Macrophage_IL1B high macrophage CL:0000235 +Macrophage_M2 macrophage CL:0000235 +Macrophage_RGS1 high macrophage CL:0000235 +Macrophage_RNASE1 high macrophage CL:0000235 +Macrophage_SDS high macrophage CL:0000235 +Macrophage_SPP1 high macrophage CL:0000235 +Macrophage_TPSB2 high macrophage CL:0000235 +Macrophage_VSIG4 high macrophage CL:0000235 +Mast mast cell CL:0000097 +Mast cell mast cell CL:0000097 +Mast progenitor cell mast cell CL:0000097 +Megakaryocyte megakaryocyte CL:0000556 +Megakaryocyte/Erythroid Progenitor megakaryocyte-erythroid progenitor cell CL:0000050 +Megakaryocyte/Erythtoid progenitor cell megakaryocyte-erythroid progenitor cell CL:0000050 +Melanocyte melanocyte CL:0000148 +Melanocyte_MLANA high melanocyte CL:0000148 +Melanocyte_S100B high melanocyte CL:0000148 +Mesangial cell mesangial cell CL:0000650 +Mesenchymal cell mesenchymal cell CL:0008019 +Mesothelial cell mesothelial cell of peritoneum CL:1000490 +Mesothelial cell_CPA3 high mesothelial cell of peritoneum CL:1000490 +Mesothelial cell_ITLN high mesothelial cell of peritoneum CL:1000490 +Mesothelial cell_MT gene high mesothelial cell of peritoneum CL:1000490 +Microglia microglial cell CL:0000129 +Microglia_ALOX5AP high microglial cell CL:0000129 +Microglia_C3 high microglial cell CL:0000129 +Microglia_SPP1_high microglial cell CL:0000129 +Microvascular endothelial cell microvascular endothelial cell CL:2000008 +Monocyte monocyte CL:0000576 +Monocyte/DC progenitor macrophage dendritic cell progenitor CL:0002009 +Monocyte_CXCL8 high monocyte CL:0000576 +Monocyte_CXCR2 high monocyte CL:0000576 +Monocyte_FCGR3A high monocyte CL:0000576 +Monocyte_FTL high monocyte CL:0000576 +Monocyte_IGHG4 high monocyte CL:0000576 +Monocyte_ISG15 high monocyte CL:0000576 +Monocyte_S100A12 high monocyte CL:0000576 +Monocyte_S100A9 high monocyte CL:0000576 +Monocyte_TPPP3 high monocyte CL:0000576 +Motile liver macrophage macrophage CL:0000235 +Motor neuron motor neuron CL:0000100 +MT high UNKNOWN UNKNOWN +MT-gene high cell UNKNOWN UNKNOWN +Mucosal aquamous Epithelial cell mucous cell of stomach CL:0002180 +Mucous Epithelial cell epithelial cell CL:0000066 +Mucous Epithelial cell_REG1A high epithelial cell CL:0000066 +Mucous Epithelial cell_TFF1 high epithelial cell CL:0000066 +Mucous neck cell mucous neck cell CL:0000651 +Multipotential progenitor cell multi fate stem cell CL:0000048 +Muscle progenitor cell cell of skeletal muscle CL:0000188 +Myelinating oligodendrocyte oligodendrocyte CL:0000128 +Myeloid cell myeloid cell CL:0000763 +Myocyte muscle cell CL:0000187 +Myoepithelial cell myoepithelial cell CL:0000185 +Myofibroblast myofibroblast cell CL:0000186 +Myofibroblast_ELN high myofibroblast cell CL:0000186 +Myofibroblast_POSTN high myofibroblast cell CL:0000186 +Myofibroblast_TAGLN high myofibroblast cell CL:0000186 +Myogenic precursor cell cell of skeletal muscle CL:0000188 +M¨¹ller glia Mueller cell CL:0000636 +NK cell natural killer cell CL:0000623 +Natural killer cell natural killer cell CL:0000623 +Nephrogenic mesenchyme cell nephrogenic mesenchyme stem cell CL:0000383 +Nephrogenic mesenchyme cell_DAPL1 high nephrogenic mesenchyme stem cell CL:0000383 +Neuroendocrine cell neuroendocrine cell CL:0000165 +Neuroendocrine cell_ACPP high neuroendocrine cell CL:0000165 +Neuroendocrine cell_CCL21 high neuroendocrine cell CL:0000165 +Neuroendocrine cell_SST high neuroendocrine cell CL:0000165 +Neuron neuron CL:0000540 +Neuron_GAP43 high neuron CL:0000540 +Neuron_LINC00682 HIGH neuron CL:0000540 +Neuron_NEUROD6 high neuron CL:0000540 +Neuron_PENK high neuron CL:0000540 +Neuron_PLP1 high neuron CL:0000540 +Neuron_PPP1R17 high neuron CL:0000540 +Neuron_RELN high neuron CL:0000540 +Neuron_S100B high neuron CL:0000540 +Neuron_TMEM233 high neuron CL:0000540 +Neuron_XPR1 high neuron CL:0000540 +Neutriophil neutrophil CL:0000775 +Neutrophil neutrophil CL:0000775 +Neutrophil _S100A8 high neutrophil CL:0000775 +Neutrophil_CAMP high neutrophil CL:0000775 +Neutrophil_CAMP_high neutrophil CL:0000775 +Neutrophil_CD177 high neutrophil CL:0000775 +Neutrophil_CXCL3 high neutrophil CL:0000775 +Neutrophil_DEFA3 high neutrophil CL:0000775 +Neutrophil_DEFA4 high neutrophil CL:0000775 +Neutrophil_DEFA4_high neutrophil CL:0000775 +Neutrophil_ELANE high neutrophil CL:0000775 +Neutrophil_FCGR3B high neutrophil CL:0000775 +Neutrophil_IL1B high neutrophil CL:0000775 +Neutrophil_LCN2 high neutrophil CL:0000775 +Neutrophil_LTF high neutrophil CL:0000775 +Neutrophil_LYZ high neutrophil CL:0000775 +Neutrophil_MMP high neutrophil CL:0000775 +Neutrophil_MMP9 high neutrophil CL:0000775 +Neutrophil_MPO high neutrophil CL:0000775 +Neutrophil_MPO_high neutrophil CL:0000775 +Neutrophil_OLFM4 high neutrophil CL:0000775 +Neutrophil_OLFM42 high neutrophil CL:0000775 +Neutrophil_PRTN3 high neutrophil CL:0000775 +Neutrophil_RNASE2 high neutrophil CL:0000775 +Neutrophil_S100A12 high neutrophil CL:0000775 +Neutrophil_S100A8 high neutrophil CL:0000775 +Neutrophil_S100A9 high neutrophil CL:0000775 +Neutrophil_S100P high neutrophil CL:0000775 +Neutrophil__S100A12 high neutrophil CL:0000775 +Oligodendrocyte oligodendrocyte CL:0000128 +Oligodendrocyte progenitor cell oligodendrocyte CL:0000128 +Oligodendrocyte_MT gene high oligodendrocyte CL:0000128 +Oligodendrocyte_TF high oligodendrocyte CL:0000128 +Osteoblast osteoblast CL:0000062 +Osteoblast_IBSP high osteoblast CL:0000062 +Osteoclast osteoclast CL:0000092 +Osteoclast_ACP5 high osteoclast CL:0000092 +Oviductal epithelial cell epithelial cell CL:0000066 +Paneth cell paneth cell CL:0000510 +Paneth cell_DEFA5 high paneth cell CL:0000510 +Paneth cell_REG3A high paneth cell CL:0000510 +Parietal cell parietal cell CL:0000162 +Parietal cell_ATP4B high parietal cell CL:0000162 +Parietal cell_GIF high parietal cell CL:0000162 +Pericyte pericyte cell CL:0000669 +Pit cell hepatic pit cell CL:2000054 +Pit cell_FOXQ1 high hepatic pit cell CL:2000054 +Pit cell_MUC6 high hepatic pit cell CL:2000054 +Pit cell_TFF2 high hepatic pit cell CL:2000054 +Pit cell_WFDC21P high hepatic pit cell CL:2000054 +Plasmacytoid dendritic cell plasmacytoid dendritic cell, human CL:0001058 +Podocyte glomerular visceral epithelial cell CL:0000653 +Pre B cell precursor B cell CL:0000817 +Primordial germ cell primordial germ cell CL:0000670 +Primordial germ cell_GTSF1 high primordial germ cell CL:0000670 +Primordial germ cell_TCL1A high primordial germ cell CL:0000670 +Principle cell renal principal cell CL:0005009 +Proliferating B cell B cell CL:0000236 +Proliferating cell UNKNOWN UNKNOWN +Proliferating keratinocyte keratinocyte CL:0000312 +Proliferating B cell B cell CL:0000236 +Proliferating Intra-adrenal ganglion neuron neuron CL:0000540 +Proliferating T cell T cell CL:0000084 +Proliferating alveolar bipotent progenitor cell pneumocyte CL:0000322 +Proliferating cell UNKNOWN UNKNOWN +Proliferating cell_C7 high UNKNOWN UNKNOWN +Proliferating cell_CCNB1 high UNKNOWN UNKNOWN +Proliferating cell_FABP5 high UNKNOWN UNKNOWN +Proliferating cell_HMGB2 high UNKNOWN UNKNOWN +Proliferating cell_KIAA0101 high UNKNOWN UNKNOWN +Proliferating cell_KIAA0101_high UNKNOWN UNKNOWN +Proliferating cell_PTTG1 high UNKNOWN UNKNOWN +Proliferating cell_TOP2A high UNKNOWN UNKNOWN +Proliferating cell_UBE2C high UNKNOWN UNKNOWN +Proliferating cell_UBE2C high UNKNOWN UNKNOWN +Proliferating cell_UBE2C_high UNKNOWN UNKNOWN +Proliferating endothelial cell endothelial cell CL:0000115 +Proliferating fibroblast fibroblast CL:0000057 +Proliferating lung mesenchyme cell_HIST1H4C high mesenchymal cell CL:0008019 +Proliferating lung mesenchyme cell_UBE2C high mesenchymal cell CL:0008019 +Proliferating mesothelial cell mesothelial cell of pleura CL:1000491 +Proliferating monocyte monocyte CL:0000576 +Proliferating radial glia radial glial cell CL:0000681 +Proliferating smooth muscle cell smooth muscle cell CL:0000192 +Proliferating stromal cell stromal cell CL:0000499 +Proximal progenitor cell epithelial cell of lung CL:0000082 +Proximal progenitor cell_GRP high epithelial cell of lung CL:0000082 +Proximal progenitor cell_SCGB3A2 high epithelial cell of lung CL:0000082 +Proximal tubule cell epithelial cell of proximal tubule CL:0002306 +Proximal tubule cell_ALDOB high epithelial cell of proximal tubule CL:0002306 +Proximal tubule cell_MT1G high epithelial cell of proximal tubule CL:0002306 +Proximal tubule cell_SOX4 high epithelial cell of proximal tubule CL:0002306 +Proximal tubule progenitor cell epithelial cell of proximal tubule CL:0002306 +Purkinje cell Purkinje cell CL:0000121 +Radial glia radial glial cell CL:0000681 +Radial glia_HES1 high radial glial cell CL:0000681 +Radial glia_HES1_high radial glial cell CL:0000681 +Retinal pigment epithelal cell retinal pigment epithelial cell CL:0002586 +Retinal pigment epithelal cell_MLANA high retinal pigment epithelial cell CL:0002586 +Retinal progenitor cell_ATP1A2 high retinal progenitor cell CL:0002672 +Retinal progenitor cell_FABP7 high retinal progenitor cell CL:0002672 +S-shaped body cell kidney cell CL:1000497 +S-shaped body cell_CFAP126 high kidney cell CL:1000497 +S-shaped body cell_LINC01158 high kidney cell CL:1000497 +S-shaped body medial cell kidney cell CL:1000497 +Secretory epithelial cell serous cell of epithelium of trachea CL:1000330 +Sertoli cell_DLK1 high Sertoli cell CL:0000216 +Sinusoidal endothelial cell endothelial cell of hepatic sinusoid CL:1000398 +Sinusoidal endothelial cell_FCN1 high endothelial cell of hepatic sinusoid CL:1000398 +Smooth muscel cell smooth muscle cell CL:0000192 +Smooth muscle cell smooth muscle cell CL:0000192 +Smooth muscle cell_ACTA2 high smooth muscle cell CL:0000192 +Smooth muscle cell_ACTG2 high smooth muscle cell CL:0000192 +Smooth muscle cell_ADIRF high smooth muscle cell CL:0000192 +Smooth muscle cell_CCL19 high smooth muscle cell CL:0000192 +Smooth muscle cell_CCL4L2 high smooth muscle cell CL:0000192 +Smooth muscle cell_CYCS high smooth muscle cell of the pulmonary artery CL:0002591 +Smooth muscle cell_MYL9 high smooth muscle cell CL:0000192 +Smooth muscle cell_MYLK high smooth muscle cell CL:0000192 +Smooth muscle cell_PDK4 high smooth muscle cell CL:0000192 +Smooth muscle cell_TAGLN high smooth muscle cell CL:0000192 +Soomth muscle cell smooth muscle cell CL:0000192 +Spermatocyte spermatocyte CL:0000017 +Stomach fundus cell mucous cell of stomach CL:0002180 +Striated muscle cell striated muscle cell CL:0000737 +Stromal cell stromal cell CL:0000499 +Stromal cell_APOD high stromal cell CL:0000499 +Stromal cell_ASPN high stromal cell CL:0000499 +Stromal cell_CLEC3B high stromal cell CL:0000499 +Stromal cell_COL1A1 high stromal cell CL:0000499 +Stromal cell_COL3A1 high stromal cell CL:0000499 +Stromal cell_CXCL14 high stromal cell CL:0000499 +Stromal cell_DCN high stromal cell CL:0000499 +Stromal cell_ERRFI1 high stromal cell of endometrium CL:0002255 +Stromal cell_GPX3 high stromal cell CL:0000499 +Stromal cell_HES1 high stromal cell CL:0000499 +Stromal cell_LOX high stromal cell CL:0000499 +Stromal cell_LUM high stromal cell CL:0000499 +Stromal cell_MFAP4 high stromal cell CL:0000499 +Stromal cell_MFAP5 high stromal cell CL:0000499 +Stromal cell_MGP high stromal cell CL:0000499 +Stromal cell_NOV high stromal cell CL:0000499 +Stromal cell_PCP4 high stromal cell CL:0000499 +Stromal cell_PLA2G2A high stromal cell CL:0000499 +Stromal cell_PRG4 high stromal cell CL:0000499 +Stromal cell_PTGDS high stromal cell CL:0000499 +Stromal cell_PTGDS_high stromal cell CL:0000499 +Stromal cell_SFRP2 high stromal cell CL:0000499 +Stromal cell_SULT1E1 high stromal cell CL:0000499 +Stromal cell_TSLP high stromal cell CL:0000499 +Superficial cell ureteral cell CL:1000601 +Sympathetic neuron sympathetic neuron CL:0011103 +Syncytiotrophoblast syncytiotrophoblast cell CL:0000525 +Syncytiotrophoblast cell syncytiotrophoblast cell CL:0000525 +T cell T cell CL:0000084 +T cell_CCL4 high T cell CL:0000084 +T cell_CCL5 high T cell CL:0000084 +T cell_GNLY high T cell CL:0000084 +T cell_GZMA high T cell CL:0000084 +T cell_IFNG high T cell CL:0000084 +T cell_IL7R high T cell CL:0000084 +T cell_LEPROTL1 high T cell CL:0000084 +T cell_TRAC high T cell CL:0000084 +Tendon cell_GCG high tendon cell CL:0000388 +Theca cell theca cell CL:0000503 +Thyroid follicular cell thyroid follicular cell CL:0002258 +Treg cell regulatory T cell CL:0000815 +Unknown UNKNOWN UNKNOWN +Unknown Epithelial cell_EFNA1 high epithelial cell CL:0000066 +Unknown Epithelial cell_FOS high epithelial cell CL:0000066 +Unknown1 UNKNOWN UNKNOWN +Unknown2 UNKNOWN UNKNOWN +Ureteric Epithelial cell epithelial cell CL:0000066 +Ureteric bud cell epithelial cell CL:0000066 +Ureteric epithelial cell epithelial cell CL:0000066 +Ureteric smooth muscle cell ureter smooth muscle cell CL:1000979 +Urothelial cell bladder urothelial cell CL:1001428 +Vascular endothelial cell endothelial cell of vascular tree CL:0002139 +Vascular endothelial cell_A2M high endothelial cell of vascular tree CL:0002139 +Vascular endothelial cell_AQP1 high endothelial cell of vascular tree CL:0002139 +Vascular endothelial cell_CD34 high endothelial cell of vascular tree CL:0002139 +Vascular endothelial cell_FABP4 high endothelial cell of vascular tree CL:0002139 +Vascular endothelial cell_FABP5 high endothelial cell of vascular tree CL:0002139 +Vascular endothelial cell_IGFBP3 high endothelial cell of vascular tree CL:0002139 +Vascular endothelial cell_SELE high endothelial cell of vascular tree CL:0002139 +Vascular endothelial cell_VWF high endothelial cell of vascular tree CL:0002139 +Vascular epithelial cell epithelial cell CL:0000066 +Vascular smooth muscle cell vascular associated smooth muscle cell CL:0000359 +Ventricle Cardiomyocyte_MYL2 high cardiac muscle cell CL:0000746 +Ventricle cardiomyocyte cardiac muscle cell CL:0000746 +Ventricle cardiomyocyte_CSRP3 high cardiac muscle cell CL:0000746 +Ventricle cardiomyocyte_MB high cardiac muscle cell CL:0000746 +Ventricle cardiomyocyte_MT gene high cardiac muscle cell CL:0000746 +Villous trophoblast cell trophoblast cell CL:0000351 +Zona fasciculata cell cortical cell of adrenal gland CL:0002097 +Zona fasciculata cell_CYP11B2 high cortical cell of adrenal gland CL:0002097 +Zona fasciculata cell_FDX1 high cortical cell of adrenal gland CL:0002097 +Zona fasciculata cell_GSTA1 high cortical cell of adrenal gland CL:0002097 +Zona fasciculata cell_HSD3B2 high cortical cell of adrenal gland CL:0002097 +activative T cell T cell CL:0000084 +inflammatory cell inflammatory cell CL:0009002 +lymphatic endothelial cell endothelial cell of lymphatic vessel CL:0002138 diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41586_020_2922_4/__init__.py b/sfaira/data/dataloaders/loaders/d10_1038_s41586_020_2922_4/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41586_020_2922_4/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41586_020_2922_4/human_lung_2020_x_travaglini_001.py b/sfaira/data/dataloaders/loaders/d10_1038_s41586_020_2922_4/human_lung_2020_x_travaglini_001.py new file mode 100644 index 000000000..4966e2c21 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41586_020_2922_4/human_lung_2020_x_travaglini_001.py @@ -0,0 +1,20 @@ +import anndata +import os +import scipy.sparse +import numpy as np + + +def load(data_dir, sample_fn, **kwargs): + fn = os.path.join(data_dir, sample_fn) + if sample_fn.split("_")[0] == "droplet": + norm_const = 10000 + sf_key = "nUMI" + else: + norm_const = 1000000 + sf_key = "nReads" + adata = anndata.read(fn) + adata.X = scipy.sparse.csc_matrix(adata.X) + adata.X = np.expm1(adata.X) + adata.X = adata.X.multiply(scipy.sparse.csc_matrix(adata.obs[sf_key].values[:, None])).multiply(1 / norm_const) + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41586_020_2922_4/human_lung_2020_x_travaglini_001.tsv b/sfaira/data/dataloaders/loaders/d10_1038_s41586_020_2922_4/human_lung_2020_x_travaglini_001.tsv new file mode 100644 index 000000000..17f26b130 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41586_020_2922_4/human_lung_2020_x_travaglini_001.tsv @@ -0,0 +1,140 @@ +source target target_id +Adventitial Fibroblast_P1 adventitial cell CL:0002503 +Adventitial Fibroblast_P2 adventitial cell CL:0002503 +Adventitial Fibroblast_P3 adventitial cell CL:0002503 +Airway Smooth Muscle_P1 tracheobronchial smooth muscle cell CL:0019019 +Airway Smooth Muscle_P2 tracheobronchial smooth muscle cell CL:0019019 +Airway Smooth Muscle_P3 tracheobronchial smooth muscle cell CL:0019019 +Alveolar Epithelial Type 1_P1 type I pneumocyte CL:0002062 +Alveolar Epithelial Type 1_P2 type I pneumocyte CL:0002062 +Alveolar Epithelial Type 1_P3 type I pneumocyte CL:0002062 +Alveolar Epithelial Type 2_P1 type II pneumocyte CL:0002063 +Alveolar Epithelial Type 2_P2 type II pneumocyte CL:0002063 +Alveolar Epithelial Type 2_P3 type II pneumocyte CL:0002063 +Alveolar Fibroblast_P1 fibroblast of lung CL:0002553 +Alveolar Fibroblast_P2 fibroblast of lung CL:0002553 +Alveolar Fibroblast_P3 fibroblast of lung CL:0002553 +Artery_P1 endothelial cell CL:0000115 +Artery_P2 endothelial cell CL:0000115 +Artery_P3 endothelial cell CL:0000115 +B_P1 B cell CL:0000236 +B_P2 B cell CL:0000236 +B_P3 B cell CL:0000236 +Basal_P1 respiratory basal cell CL:0002633 +Basal_P2 respiratory basal cell CL:0002633 +Basal_P3 respiratory basal cell CL:0002633 +Basophil/Mast 1_P1 myeloid leukocyte CL:0000766 +Basophil/Mast 1_P2 myeloid leukocyte CL:0000766 +Basophil/Mast 1_P3 myeloid leukocyte CL:0000766 +Basophil/Mast 2_P3 myeloid leukocyte CL:0000766 +Bronchial Vessel 1_P1 endothelial cell CL:0000115 +Bronchial Vessel 1_P3 endothelial cell CL:0000115 +Bronchial Vessel 2_P1 endothelial cell CL:0000115 +Bronchial Vessel 2_P3 endothelial cell CL:0000115 +CD4+ Memory/Effector T_P1 effector memory CD4-positive, alpha-beta T cell, terminally differentiated CL:0001087 +CD4+ Memory/Effector T_P2 effector memory CD4-positive, alpha-beta T cell, terminally differentiated CL:0001087 +CD4+ Memory/Effector T_P3 effector memory CD4-positive, alpha-beta T cell, terminally differentiated CL:0001087 +CD4+ Naive T_P1 naive thymus-derived CD4-positive, alpha-beta T cell CL:0000895 +CD4+ Naive T_P2 naive thymus-derived CD4-positive, alpha-beta T cell CL:0000895 +CD4+ Naive T_P3 naive thymus-derived CD4-positive, alpha-beta T cell CL:0000895 +CD8+ Memory/Effector T_P1 effector memory CD8-positive, alpha-beta T cell, terminally differentiated CL:0001062 +CD8+ Memory/Effector T_P2 effector memory CD8-positive, alpha-beta T cell, terminally differentiated CL:0001062 +CD8+ Memory/Effector T_P3 effector memory CD8-positive, alpha-beta T cell, terminally differentiated CL:0001062 +CD8+ Naive T_P1 naive thymus-derived CD8-positive, alpha-beta T cell CL:0000900 +CD8+ Naive T_P2 naive thymus-derived CD8-positive, alpha-beta T cell CL:0000900 +CD8+ Naive T_P3 naive thymus-derived CD8-positive, alpha-beta T cell CL:0000900 +Capillary Aerocyte_P1 endothelial cell CL:0000115 +Capillary Aerocyte_P2 endothelial cell CL:0000115 +Capillary Aerocyte_P3 endothelial cell CL:0000115 +Capillary Intermediate 1_P2 endothelial cell CL:0000115 +Capillary Intermediate 2_P2 endothelial cell CL:0000115 +Capillary_P1 endothelial cell CL:0000115 +Capillary_P2 endothelial cell CL:0000115 +Capillary_P3 endothelial cell CL:0000115 +Ciliated_P1 lung ciliated cell CL:1000271 +Ciliated_P2 lung ciliated cell CL:1000271 +Ciliated_P3 lung ciliated cell CL:1000271 +Classical Monocyte_P1 classical monocyte CL:0000860 +Classical Monocyte_P2 classical monocyte CL:0000860 +Classical Monocyte_P3 classical monocyte CL:0000860 +Club_P1 club cell CL:0000158 +Club_P2 club cell CL:0000158 +Club_P3 club cell CL:0000158 +Dendritic_P1 dendritic cell CL:0000451 +Differentiating Basal_P1 respiratory basal cell CL:0002633 +Differentiating Basal_P3 respiratory basal cell CL:0002633 +EREG+ Dendritic_P1 dendritic cell CL:0000451 +EREG+ Dendritic_P2 dendritic cell CL:0000451 +Fibromyocyte_P3 myofibroblast cell CL:0000186 +Goblet_P1 lung goblet cell CL:1000143 +Goblet_P2 lung goblet cell CL:1000143 +Goblet_P3 lung goblet cell CL:1000143 +IGSF21+ Dendritic_P1 dendritic cell CL:0000451 +IGSF21+ Dendritic_P2 dendritic cell CL:0000451 +IGSF21+ Dendritic_P3 dendritic cell CL:0000451 +Intermediate Monocyte_P2 intermediate monocyte CL:0002393 +Intermediate Monocyte_P3 intermediate monocyte CL:0002393 +Ionocyte_P3 ionocyte CL:0005006 +Lipofibroblast_P1 fibroblast of lung CL:0002553 +Lymphatic_P1 endothelial cell of lymphatic vessel CL:0002138 +Lymphatic_P2 endothelial cell of lymphatic vessel CL:0002138 +Lymphatic_P3 endothelial cell of lymphatic vessel CL:0002138 +Macrophage_P1 lung macrophage CL:1001603 +Macrophage_P2 lung macrophage CL:1001603 +Macrophage_P3 lung macrophage CL:1001603 +Mesothelial_P1 mesothelial cell CL:0000077 +Mucous_P2 mucus secreting cell CL:0000319 +Mucous_P3 mucus secreting cell CL:0000319 +Myeloid Dendritic Type 1_P1 myeloid dendritic cell CL:0000782 +Myeloid Dendritic Type 1_P2 myeloid dendritic cell CL:0000782 +Myeloid Dendritic Type 1_P3 myeloid dendritic cell CL:0000782 +Myeloid Dendritic Type 2_P1 myeloid dendritic cell CL:0000782 +Myeloid Dendritic Type 2_P2 myeloid dendritic cell CL:0000782 +Myeloid Dendritic Type 2_P3 myeloid dendritic cell CL:0000782 +Myofibroblast_P1 myofibroblast cell CL:0000186 +Myofibroblast_P2 myofibroblast cell CL:0000186 +Myofibroblast_P3 myofibroblast cell CL:0000186 +Natural Killer T_P2 mature NK T cell CL:0000814 +Natural Killer T_P3 mature NK T cell CL:0000814 +Natural Killer_P1 natural killer cell CL:0000623 +Natural Killer_P2 natural killer cell CL:0000623 +Natural Killer_P3 natural killer cell CL:0000623 +Neuroendocrine_P1 neuroendocrine cell CL:0000165 +Neuroendocrine_P3 neuroendocrine cell CL:0000165 +Neutrophil_P1 neutrophil CL:0000775 +Neutrophil_P2 neutrophil CL:0000775 +Neutrophil_P3 neutrophil CL:0000775 +Nonclassical Monocyte_P1 non-classical monocyte CL:0000875 +Nonclassical Monocyte_P2 non-classical monocyte CL:0000875 +Nonclassical Monocyte_P3 non-classical monocyte CL:0000875 +OLR1+ Classical Monocyte_P2 classical monocyte CL:0000860 +Pericyte_P1 pericyte cell CL:0000669 +Pericyte_P2 pericyte cell CL:0000669 +Pericyte_P3 pericyte cell CL:0000669 +Plasma_P1 plasma cell CL:0000786 +Plasma_P3 plasma cell CL:0000786 +Plasmacytoid Dendritic_P1 plasmacytoid dendritic cell CL:0000784 +Plasmacytoid Dendritic_P2 plasmacytoid dendritic cell CL:0000784 +Plasmacytoid Dendritic_P3 plasmacytoid dendritic cell CL:0000784 +Platelet/Megakaryocyte_P1 megakaryocyte CL:0000556 +Platelet/Megakaryocyte_P3 megakaryocyte CL:0000556 +Proliferating Basal_P1 respiratory basal cell CL:0002633 +Proliferating Basal_P3 respiratory basal cell CL:0002633 +Proliferating Macrophage_P1 macrophage CL:0000235 +Proliferating Macrophage_P2 macrophage CL:0000235 +Proliferating Macrophage_P3 macrophage CL:0000235 +Proliferating NK/T_P2 mature NK T cell CL:0000814 +Proliferating NK/T_P3 mature NK T cell CL:0000814 +Proximal Basal_P3 respiratory basal cell CL:0002633 +Proximal Ciliated_P3 lung ciliated cell CL:1000271 +Serous_P3 serous secreting cell CL:0000313 +Signaling Alveolar Epithelial Type 2_P1 type II pneumocyte CL:0002063 +Signaling Alveolar Epithelial Type 2_P3 type II pneumocyte CL:0002063 +TREM2+ Dendritic_P1 dendritic cell CL:0000451 +TREM2+ Dendritic_P3 dendritic cell CL:0000451 +Vascular Smooth Muscle_P1 vascular associated smooth muscle cell CL:0000359 +Vascular Smooth Muscle_P2 vascular associated smooth muscle cell CL:0000359 +Vascular Smooth Muscle_P3 vascular associated smooth muscle cell CL:0000359 +Vein_P1 endothelial cell CL:0000115 +Vein_P2 endothelial cell CL:0000115 +Vein_P3 endothelial cell CL:0000115 diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41586_020_2922_4/human_lung_2020_x_travaglini_001.yaml b/sfaira/data/dataloaders/loaders/d10_1038_s41586_020_2922_4/human_lung_2020_x_travaglini_001.yaml new file mode 100644 index 000000000..ab082177f --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41586_020_2922_4/human_lung_2020_x_travaglini_001.yaml @@ -0,0 +1,62 @@ +dataset_structure: + dataset_index: 1 + sample_fns: + - "droplet_normal_lung_blood_scanpy.20200205.RC4.h5ad" + - "facs_normal_lung_blood_scanpy.20200205.RC4.h5ad" +dataset_wise: + author: + - "Travaglini" + default_embedding: "X_tSNE" + doi: + - "10.1038/s41586-020-2922-4" + download_url_data: + droplet_normal_lung_blood_scanpy.20200205.RC4.h5ad: "syn21625095,droplet_normal_lung_blood_scanpy.20200205.RC4.h5ad" + facs_normal_lung_blood_scanpy.20200205.RC4.h5ad: "syn21625142,facs_normal_lung_blood_scanpy.20200205.RC4.h5ad" + download_url_meta: + normalization: "raw" + primary_data: + year: 2020 +dataset_or_observation_wise: + assay_sc: + droplet_normal_lung_blood_scanpy.20200205.RC4.h5ad: "10x sequencing" + facs_normal_lung_blood_scanpy.20200205.RC4.h5ad: "Smart-seq2" + assay_sc_obs_key: + assay_differentiation: + assay_differentiation_obs_key: + assay_type_differentiation: + assay_type_differentiation_obs_key: + bio_sample: + bio_sample_obs_key: + droplet_normal_lung_blood_scanpy.20200205.RC4.h5ad: "orig.ident*sample*magnetic.selection" + facs_normal_lung_blood_scanpy.20200205.RC4.h5ad: "patient*sample" + cell_line: + cell_line_obs_key: + development_stage: + development_stage_obs_key: + disease: "healthy" + disease_obs_key: + ethnicity: + ethnicity_obs_key: + individual: + individual_obs_key: "patient" + organ: "lung" + organ_obs_key: + organism: "human" + organism_obs_key: + sample_source: "primary_tissue" + sample_source_obs_key: + sex: + sex_obs_key: + state_exact: + state_exact_obs_key: + tech_sample: + tech_sample_obs_key: + droplet_normal_lung_blood_scanpy.20200205.RC4.h5ad: "channel" + facs_normal_lung_blood_scanpy.20200205.RC4.h5ad: "plate.barcode" +observation_wise: + cell_types_original_obs_key: "free_annotation" +feature_wise: + gene_id_ensembl_var_key: + gene_id_symbols_var_key: "index" +meta: + version: "1.0" diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41590_020_0602_z/__init__.py b/sfaira/data/dataloaders/loaders/d10_1038_s41590_020_0602_z/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41590_020_0602_z/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41590_020_0602_z/human_colon_2020_10xsequencing_james_001.py b/sfaira/data/dataloaders/loaders/d10_1038_s41590_020_0602_z/human_colon_2020_10xsequencing_james_001.py new file mode 100644 index 000000000..6ae1b3135 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41590_020_0602_z/human_colon_2020_10xsequencing_james_001.py @@ -0,0 +1,40 @@ +import anndata +import os +import numpy as np +import scipy.sparse + +from sfaira.data import DatasetBase + + +class Dataset(DatasetBase): + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = "https://covid19.cog.sanger.ac.uk/james20.processed.h5ad" + self.download_url_meta = None + + self.assay_sc = "10x sequencing" + self.author = "James" + self.disease = "healthy" + self.doi = "10.1038/s41590-020-0602-z" + self.normalization = "raw" + self.organ = "colon" + self.organism = "human" + self.sample_source = "primary_tissue" + self.state_exact = "healthy" + self.year = 2020 + + self.gene_id_symbols_var_key = "index" + self.gene_id_ensembl_var_key = "gene_ids" + self.cell_types_original_obs_key = "cell_type" + + self.set_dataset_id(idx=1) + + +def load(data_dir, **kwargs): + fn = os.path.join(data_dir, "james20.processed.h5ad") + adata = anndata.read(fn) + adata.X = np.expm1(adata.X) + adata.X = adata.X.multiply(scipy.sparse.csc_matrix(adata.obs["n_counts"].values[:, None])).multiply(1 / 10000) + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41590_020_0602_z/human_colon_2020_10xsequencing_james_001.tsv b/sfaira/data/dataloaders/loaders/d10_1038_s41590_020_0602_z/human_colon_2020_10xsequencing_james_001.tsv new file mode 100644 index 000000000..751d8c43f --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41590_020_0602_z/human_colon_2020_10xsequencing_james_001.tsv @@ -0,0 +1,26 @@ +source target target_id +Activated CD4 T activated CD4-positive, alpha-beta T cell CL:0000896 +B cell IgA Plasma IgA plasma cell CL:0000987 +B cell IgG Plasma IgG plasma cell CL:0000985 +B cell cycling B cell CL:0000236 +B cell memory memory B cell CL:0000787 +CD8 T CD8-positive, alpha-beta T cell CL:0000625 +Follicular B cell follicular B cell CL:0000843 +ILC innate lymphoid cell CL:0001065 +LYVE1 Macrophage macrophage CL:0000235 +Lymphoid DC plasmacytoid dendritic cell CL:0000784 +Macrophage macrophage CL:0000235 +Mast mast cell CL:0000097 +Monocyte monocyte CL:0000576 +NK natural killer cell CL:0000623 +Tcm memory T cell CL:0000813 +Tfh T follicular helper cell CL:0002038 +Th1 T-helper 1 cell CL:0000545 +Th17 T-helper 17 cell CL:0000899 +Treg regulatory T cell CL:0000815 +cDC1 conventional dendritic cell CL:0000990 +cDC2 conventional dendritic cell CL:0000990 +cycling DCs dendritic cell CL:0000451 +cycling gd T gamma-delta T cell CL:0000798 +gd T gamma-delta T cell CL:0000798 +pDC plasmacytoid dendritic cell CL:0000784 diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41591_019_0468_5/__init__.py b/sfaira/data/dataloaders/loaders/d10_1038_s41591_019_0468_5/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41591_019_0468_5/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41591_019_0468_5/human_lung_2019_dropseq_braga_001.py b/sfaira/data/dataloaders/loaders/d10_1038_s41591_019_0468_5/human_lung_2019_dropseq_braga_001.py new file mode 100644 index 000000000..b7ce94249 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41591_019_0468_5/human_lung_2019_dropseq_braga_001.py @@ -0,0 +1,40 @@ +import anndata +import os +import pandas as pd + +from sfaira.data import DatasetBase + + +class Dataset(DatasetBase): + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE130nnn/GSE130148/suppl/GSE130148%5Fraw%5Fcounts%2Ecsv%2Egz" + self.download_url_meta = "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE130nnn/GSE130148/suppl/GSE130148%5Fbarcodes%5Fcell%5Ftypes%2Etxt%2Egz" + + self.assay_sc = "Drop-seq" + self.author = "Braga" + self.disease = "healthy" + self.doi = "10.1038/s41591-019-0468-5" + self.normalization = "raw" + self.organ = "lung" + self.organism = "human" + self.sample_source = "primary_tissue" + self.state_exact = "uninvolved areas of tumour resection material" + self.year = 2019 + + self.gene_id_symbols_var_key = "index" + self.cell_types_original_obs_key = "celltype" + + self.set_dataset_id(idx=1) + + +def load(data_dir, **kwargs): + fn = [ + os.path.join(data_dir, "GSE130148_raw_counts.csv.gz"), + os.path.join(data_dir, "GSE130148_barcodes_cell_types.txt.gz"), + ] + adata = anndata.read_csv(fn[0]).T + adata.obs = pd.read_csv(fn[1], sep="\t", index_col=0) + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41591_019_0468_5/human_lung_2019_dropseq_braga_001.tsv b/sfaira/data/dataloaders/loaders/d10_1038_s41591_019_0468_5/human_lung_2019_dropseq_braga_001.tsv new file mode 100644 index 000000000..1c02efcca --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41591_019_0468_5/human_lung_2019_dropseq_braga_001.tsv @@ -0,0 +1,14 @@ +source target target_id +B cell B cell CL:0000236 +Ciliated lung ciliated cell CL:1000271 +Endothelium endothelial cell CL:0000115 +Fibroblast fibroblast of lung CL:0002553 +Lymphatic endothelial cell of lymphatic vessel CL:0002138 +Macrophages lung macrophage CL:1001603 +Mast cell mast cell CL:0000097 +NK cell natural killer cell CL:0000623 +Secretory secretory cell CL:0000151 +T cell T cell CL:0000084 +Transformed epithelium epithelial cell of tracheobronchial tree CL:0002202 +Type 1 type I pneumocyte CL:0002062 +Type 2 type II pneumocyte CL:0002063 diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41591_019_0468_5/human_x_2019_10xsequencing_braga_x.py b/sfaira/data/dataloaders/loaders/d10_1038_s41591_019_0468_5/human_x_2019_10xsequencing_braga_x.py new file mode 100644 index 000000000..ad68bd449 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41591_019_0468_5/human_x_2019_10xsequencing_braga_x.py @@ -0,0 +1,41 @@ +import anndata +import os +import numpy as np + +from sfaira.data import DatasetBase + +SAMPLE_FNS = [ + "vieira19_Alveoli_and_parenchyma_anonymised.processed.h5ad", + "vieira19_Bronchi_anonymised.processed.h5ad", +] + + +class Dataset(DatasetBase): + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = f"https://covid19.cog.sanger.ac.uk/{self.sample_fn}" + self.download_url_meta = None + + self.assay_sc = "10x sequencing" + self.author = "Braga" + self.disease = "healthy" + self.doi = "10.1038/s41591-019-0468-5" + self.normalization = "scaled" + self.organ = "bronchus" if self.sample_fn == "vieira19_Bronchi_anonymised.processed.h5ad" else "lung parenchyma" + self.organism = "human" + self.sample_source = "primary_tissue" + self.year = 2019 + + self.gene_id_symbols_var_key = "index" + self.cell_types_original_obs_key = "CellType" + + self.set_dataset_id(idx=1) + + +def load(data_dir, sample_fn, **kwargs): + fn = os.path.join(data_dir, sample_fn) + adata = anndata.read(fn) + adata.X = np.expm1(adata.X) + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41591_019_0468_5/human_x_2019_10xsequencing_braga_x.tsv b/sfaira/data/dataloaders/loaders/d10_1038_s41591_019_0468_5/human_x_2019_10xsequencing_braga_x.tsv new file mode 100644 index 000000000..ba2550b04 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41591_019_0468_5/human_x_2019_10xsequencing_braga_x.tsv @@ -0,0 +1,22 @@ +source target target_id +B cells B cell CL:0000236 +Basal 1 respiratory basal cell CL:0002633 +Basal 2 respiratory basal cell CL:0002633 +Ciliated 1 lung ciliated cell CL:1000271 +Ciliated 2 lung ciliated cell CL:1000271 +Club club cell CL:0000158 +Dendritic cells dendritic cell CL:0000451 +Endothelial endothelial cell CL:0000115 +Fibroblasts fibroblast of lung CL:0002553 +Goblet 2 lung goblet cell CL:1000143 +Goblet_1 lung goblet cell CL:1000143 +Ionocytes ionocyte CL:0005006 +Luminal_Macrophages lung macrophage CL:1001603 +Lymphatic endothelial cell of lymphatic vessel CL:0002138 +Mast cells mast cell CL:0000097 +Mesothelium mesothelial cell CL:0000077 +Neutrophils neutrophil CL:0000775 +Smooth muscle bronchial smooth muscle cell CL:0002598 +T and NK alpha-beta T cell CL:0000789 +Type 2 alveolar type II pneumocyte CL:0002063 +Type_1_alveolar type I pneumocyte CL:0002062 diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41593_019_0393_4/__init__.py b/sfaira/data/dataloaders/loaders/d10_1038_s41593_019_0393_4/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41593_019_0393_4/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41593_019_0393_4/mouse_x_2019_10xsequencing_hove_001.py b/sfaira/data/dataloaders/loaders/d10_1038_s41593_019_0393_4/mouse_x_2019_10xsequencing_hove_001.py new file mode 100644 index 000000000..f4c7413ba --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41593_019_0393_4/mouse_x_2019_10xsequencing_hove_001.py @@ -0,0 +1,79 @@ +import anndata +import numpy as np +import os +import pandas +import zipfile +import scipy.io +from sfaira.data import DatasetBase + + +class Dataset(DatasetBase): + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = \ + "https://www.brainimmuneatlas.org/data_files/toDownload/filtered_gene_bc_matrices_mex_WT_fullAggr.zip" + self.download_url_meta = \ + "https://www.brainimmuneatlas.org/data_files/toDownload/annot_fullAggr.csv" + + self.assay_sc = "10x sequencing" + self.author = "Hove" + self.disease = "healthy" + self.doi = "10.1038/s41593-019-0393-4" + self.normalization = "raw" + self.organism = "mouse" + self.sample_source = "primary_tissue" + self.state_exact = "healthy" + self.year = 2019 + + self.bio_sample_obs_key = "sample" + self.cell_types_original_obs_key = "cluster" + self.organ_obs_key = "organ" + + self.gene_id_ensembl_var_key = "ensembl" + self.gene_id_symbols_var_key = "name" + + self.set_dataset_id(idx=1) + + +def load(data_dir, **kwargs): + sample_organ_dict = { + "Choroid plexus": "choroid plexus", + "Dura mater": "dura mater", + "Enr. SDM": "brain meninx", + "Whole brain": "brain", + } + fn = [ + os.path.join(data_dir, "filtered_gene_bc_matrices_mex_WT_fullAggr.zip"), + os.path.join(data_dir, "annot_fullAggr.csv") + ] + + with zipfile.ZipFile(fn[0]) as archive: + x = scipy.io.mmread(archive.open('filtered_gene_bc_matrices_mex/mm10/matrix.mtx')).T.tocsr() + adata = anndata.AnnData(x) + var = pandas.read_csv(archive.open('filtered_gene_bc_matrices_mex/mm10/genes.tsv'), sep="\t", header=None) + var.columns = ["ensembl", "name"] + obs_names = pandas.read_csv(archive.open('filtered_gene_bc_matrices_mex/mm10/barcodes.tsv'), + sep="\t", + header=None + )[0].values + obs = pandas.read_csv(fn[1]) + obs.fillna("isnan", inplace=True) + + # Match annotation to raw data. + obs.index = obs["cell"].values + obs = obs.loc[[i in obs_names for i in obs.index], :] + idx_tokeep = np.where([i in obs.index for i in obs_names])[0] + adata = adata[idx_tokeep, :] + obs_names = obs_names[idx_tokeep] + idx_map = np.array([obs.index.tolist().index(i) for i in obs_names]) + adata = adata[idx_map, :] + obs_names = obs_names[idx_map] + obs["organ"] = [sample_organ_dict[x] for x in obs["sample"].values] + + # Assign attributes + adata.obs_names = obs_names + adata.var = var + adata.obs = obs + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41593_019_0393_4/mouse_x_2019_10xsequencing_hove_001.tsv b/sfaira/data/dataloaders/loaders/d10_1038_s41593_019_0393_4/mouse_x_2019_10xsequencing_hove_001.tsv new file mode 100644 index 000000000..b5ed7859b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41593_019_0393_4/mouse_x_2019_10xsequencing_hove_001.tsv @@ -0,0 +1,16 @@ +source target target_id +B cells B cell CL:0000236 +BAM macrophage CL:0000235 +ILC innate lymphoid cell CL:0001065 +Microglia brain macroglial cell CL:2000005 +Monocytes/Mdc monocyte CL:0000576 +NK cells natural killer cell CL:0000623 +Neutorphils neutrophil CL:0000775 +Neutrophils neutrophil CL:0000775 +T/NKT cells alpha-beta T cell CL:0000789 +cDC1 conventional dendritic cell CL:0000990 +cDC2 conventional dendritic cell CL:0000990 +migDC dendritic cell CL:0000451 +isnan UNKNOWN UNKNOWN +pDC plasmacytoid dendritic cell CL:0000784 +yd T cells gamma-delta T cell CL:0000798 diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41597_019_0351_8/__init__.py b/sfaira/data/dataloaders/loaders/d10_1038_s41597_019_0351_8/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41597_019_0351_8/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1038_s41597_019_0351_8/human_kidney_2020_10xsequencing_liao_001.py b/sfaira/data/dataloaders/loaders/d10_1038_s41597_019_0351_8/human_kidney_2020_10xsequencing_liao_001.py new file mode 100644 index 000000000..8256e3e73 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1038_s41597_019_0351_8/human_kidney_2020_10xsequencing_liao_001.py @@ -0,0 +1,55 @@ +import anndata +import os +import pandas as pd +import scipy.io +import gzip +import tarfile + +from sfaira.data import DatasetBase + + +class Dataset(DatasetBase): + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE131nnn/GSE131685/suppl/GSE131685_RAW.tar" + self.download_url_meta = None + + self.assay_sc = "10x sequencing" + self.author = "Liao" + self.disease = "healthy" + self.normalization = "raw" + self.organ = "kidney" + self.organism = "human" + self.sample_source = "primary_tissue" + self.year = 2020 + self.doi = "10.1038/s41597-019-0351-8" + + self.gene_id_symbols_var_key = "names" + self.gene_id_ensembl_var_key = "ensembl" + + self.set_dataset_id(idx=1) + + +def load(data_dir, **kwargs): + fn = os.path.join(data_dir, "GSE131685_RAW.tar") + adatas = [] + with tarfile.open(fn) as tar: + for member in tar.getmembers(): + if "_matrix.mtx.gz" in member.name: + name = "_".join(member.name.split("_")[:-1]) + with gzip.open(tar.extractfile(member), "rb") as mm: + X = scipy.io.mmread(mm).T.tocsr() + obs = pd.read_csv(tar.extractfile(name + "_barcodes.tsv.gz"), compression="gzip", header=None, + sep="\t", index_col=0) + obs.index.name = None + var = pd.read_csv(tar.extractfile(name + "_features.tsv.gz"), compression="gzip", header=None, + sep="\t").iloc[:, :2] + var.columns = ["ensembl", "names"] + var.index = var["ensembl"].values + adata = anndata.AnnData(X=X, obs=obs, var=var) + adata.obs["sample"] = name + adatas.append(adata) + adata = adatas[0].concatenate(adatas[1:]) + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1073_pnas_1914143116/__init__.py b/sfaira/data/dataloaders/loaders/d10_1073_pnas_1914143116/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1073_pnas_1914143116/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1073_pnas_1914143116/human_retina_2019_10xsequencing_voigt_001.py b/sfaira/data/dataloaders/loaders/d10_1073_pnas_1914143116/human_retina_2019_10xsequencing_voigt_001.py new file mode 100644 index 000000000..feaf2d55b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1073_pnas_1914143116/human_retina_2019_10xsequencing_voigt_001.py @@ -0,0 +1,36 @@ +import anndata +import os +import numpy as np + +from sfaira.data import DatasetBase + + +class Dataset(DatasetBase): + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = "https://covid19.cog.sanger.ac.uk/voigt19.processed.h5ad" + self.download_url_meta = None + + self.assay_sc = "10x sequencing" + self.author = "Voigt" + self.disease = "healthy" + self.doi = "10.1073/pnas.1914143116" + self.normalization = "norm" + self.organ = "retina" + self.organism = "human" + self.sample_source = "primary_tissue" + self.year = 2019 + + self.gene_id_symbols_var_key = "index" + self.cell_types_original_obs_key = "CellType" + + self.set_dataset_id(idx=1) + + +def load(data_dir, **kwargs): + fn = os.path.join(data_dir, "voigt19.processed.h5ad") + adata = anndata.read(fn) + adata.X = np.expm1(adata.X) + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1073_pnas_1914143116/human_retina_2019_10xsequencing_voigt_001.tsv b/sfaira/data/dataloaders/loaders/d10_1073_pnas_1914143116/human_retina_2019_10xsequencing_voigt_001.tsv new file mode 100644 index 000000000..cfde2906d --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1073_pnas_1914143116/human_retina_2019_10xsequencing_voigt_001.tsv @@ -0,0 +1,12 @@ +source target target_id +B-cell B cell CL:0000236 +Endothelial endothelial cell CL:0000115 +Fibroblast fibroblast CL:0000057 +Macrophage macrophage CL:0000235 +Mast-cell mast cell CL:0000097 +Melanocyte retinal melanocyte CL:0002485 +Pericyte pericyte cell CL:0000669 +RPE retinal pigment epithelial cell CL:0002586 +Schwann1 terminal Schwann cell CL:0000692 +Schwann2 terminal Schwann cell CL:0000692 +T/NK-cell alpha-beta T cell CL:0000789 diff --git a/sfaira/data/dataloaders/loaders/d10_1084_jem_20191130/__init__.py b/sfaira/data/dataloaders/loaders/d10_1084_jem_20191130/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1084_jem_20191130/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1084_jem_20191130/human_x_2019_10xsequencing_wang_001.py b/sfaira/data/dataloaders/loaders/d10_1084_jem_20191130/human_x_2019_10xsequencing_wang_001.py new file mode 100644 index 000000000..84b179723 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1084_jem_20191130/human_x_2019_10xsequencing_wang_001.py @@ -0,0 +1,46 @@ +import anndata +import os +import numpy as np +import scipy.sparse + +from sfaira.data import DatasetBase + +SAMPLE_FNS = [ + "wang20_colon.processed.h5ad", + "wang20_ileum.processed.h5ad", + "wang20_rectum.processed.h5ad" +] + + +class Dataset(DatasetBase): + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = f"https://covid19.cog.sanger.ac.uk/{self.sample_fn}" + self.download_url_meta = None + + organ = self.sample_fn.split("_")[1].split(".")[0] + + self.assay_sc = "10x sequencing" + self.author = "Wang" + self.disease = "healthy" + self.doi = "10.1084/jem.20191130" + self.normalization = "raw" + self.organ = organ + self.organism = "human" + self.sample_source = "primary_tissue" + self.year = 2019 + + self.gene_id_symbols_var_key = "index" + self.cell_types_original_obs_key = "CellType" + + self.set_dataset_id(idx=1) + + +def load(data_dir, sample_fn, **kwargs): + fn = os.path.join(data_dir, sample_fn) + adata = anndata.read(fn) + adata.X = np.expm1(adata.X) + adata.X = adata.X.multiply(scipy.sparse.csc_matrix(adata.obs["n_counts"].values[:, None])).multiply(1 / 10000) + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1084_jem_20191130/human_x_2019_10xsequencing_wang_001.tsv b/sfaira/data/dataloaders/loaders/d10_1084_jem_20191130/human_x_2019_10xsequencing_wang_001.tsv new file mode 100644 index 000000000..8850c721b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1084_jem_20191130/human_x_2019_10xsequencing_wang_001.tsv @@ -0,0 +1,8 @@ +source target target_id +Enteriendocrine enteroendocrine cell CL:0000164 +Enterocyte enterocyte CL:0000584 +Goblet goblet cell CL:0000160 +Paneth-like paneth cell CL:0000510 +Progenitor transit amplifying cell of large intestine CL:0009011 +Stem Cell intestinal crypt stem cell CL:0002250 +TA transit amplifying cell of large intestine CL:0009011 diff --git a/sfaira/data/dataloaders/loaders/d10_1101_2020_03_13_991455/__init__.py b/sfaira/data/dataloaders/loaders/d10_1101_2020_03_13_991455/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1101_2020_03_13_991455/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1101_2020_03_13_991455/human_lung_2020_10xsequencing_lukassen_001.py b/sfaira/data/dataloaders/loaders/d10_1101_2020_03_13_991455/human_lung_2020_10xsequencing_lukassen_001.py new file mode 100644 index 000000000..1352418da --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1101_2020_03_13_991455/human_lung_2020_10xsequencing_lukassen_001.py @@ -0,0 +1,43 @@ +import anndata +import os +import numpy as np +import scipy.sparse + +from sfaira.data import DatasetBase + +SAMPLE_FNS = [ + "lukassen20_lung_orig.processed.h5ad", + "lukassen20_airway_orig.processed.h5ad" +] + + +class Dataset(DatasetBase): + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = f"https://covid19.cog.sanger.ac.uk/{self.sample_fn}" + self.download_url_meta = None + + self.assay_sc = "10x sequencing" + self.author = "Lukassen" + self.disease = "healthy" + self.doi = "10.1101/2020.03.13.991455" + self.normalization = "raw" + self.organ = "lung" + self.organism = "human" + self.sample_source = "primary_tissue" + self.year = 2020 + + self.gene_id_symbols_var_key = "index" + self.cell_types_original_obs_key = "CellType" + + self.set_dataset_id(idx=1) + + +def load(data_dir, sample_fn, **kwargs): + fn = os.path.join(data_dir, sample_fn) + adata = anndata.read(fn) + adata.X = np.expm1(adata.X) + adata.X = adata.X.multiply(scipy.sparse.csc_matrix(adata.obs["nCount_RNA"].values[:, None])).multiply(1 / 10000) + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1101_2020_03_13_991455/human_lung_2020_10xsequencing_lukassen_001.tsv b/sfaira/data/dataloaders/loaders/d10_1101_2020_03_13_991455/human_lung_2020_10xsequencing_lukassen_001.tsv new file mode 100644 index 000000000..fc867ca74 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1101_2020_03_13_991455/human_lung_2020_10xsequencing_lukassen_001.tsv @@ -0,0 +1,23 @@ +source target target_id +AT1 type I pneumocyte CL:0002062 +AT2 type II pneumocyte CL:0002063 +Basal1 respiratory basal cell CL:0002633 +Basal2 respiratory basal cell CL:0002633 +Basal3 respiratory basal cell CL:0002633 +Basal_Mitotic respiratory basal cell CL:0002633 +Ciliated lung ciliated cell CL:1000271 +Ciliated1 lung ciliated cell CL:1000271 +Ciliated2 lung ciliated cell CL:1000271 +Club club cell CL:0000158 +Endothelial endothelial cell CL:0000115 +FOXN4 ciliated cell CL:0000064 +Fibroblast fibroblast of lung CL:0002553 +Fibroblasts fibroblast of lung CL:0002553 +Goblet lung goblet cell CL:1000143 +Immuno_Monocytes monocyte CL:0000576 +Immuno_TCells T cell CL:0000084 +Ionocyte ionocyte CL:0005006 +LymphaticEndothelium endothelial cell of lymphatic vessel CL:0002138 +Secretory1 secretory cell CL:0000151 +Secretory2 secretory cell CL:0000151 +Secretory3 secretory cell CL:0000151 diff --git a/sfaira/data/dataloaders/loaders/d10_1101_2020_10_12_335331/__init__.py b/sfaira/data/dataloaders/loaders/d10_1101_2020_10_12_335331/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1101_2020_10_12_335331/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1101_2020_10_12_335331/human_blood_2020_10x_hao_001.py b/sfaira/data/dataloaders/loaders/d10_1101_2020_10_12_335331/human_blood_2020_10x_hao_001.py new file mode 100644 index 000000000..58c8fcae6 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1101_2020_10_12_335331/human_blood_2020_10x_hao_001.py @@ -0,0 +1,35 @@ +import anndata +import gzip +import os +import pandas as pd +import scipy.io +import tarfile + + +def load(data_dir, **kwargs): + fn = os.path.join(data_dir, "GSE164378_RAW.tar") + adatas = [] + with tarfile.open(fn) as tar: + samples = ['GSM5008737_RNA_3P', 'GSM5008738_ADT_3P'] + for sample in samples: + with gzip.open(tar.extractfile(sample + '-matrix.mtx.gz'), 'rb') as mm: + x = scipy.io.mmread(mm).T.tocsr() + obs = pd.read_csv(tar.extractfile(sample + '-barcodes.tsv.gz'), compression='gzip', + header=None, sep='\t', index_col=0) + obs.index.name = None + var = pd.read_csv(tar.extractfile(sample + '-features.tsv.gz'), compression='gzip', + header=None, sep='\t').iloc[:, :1] + var.columns = ['names'] + var.index = var['names'].values + adata = anndata.AnnData(X=x, obs=obs, var=var) + adata.var_names_make_unique() + adatas.append(adata) + tar.close() + + adata = adatas[0] + protein = adatas[1] + meta = pd.read_csv(os.path.join(data_dir, 'GSE164378_sc.meta.data_3P.csv.gz'), index_col=0) + adata.obs = adata.obs.join(meta) + adata.obsm['protein_expression'] = pd.DataFrame(protein.X.A, columns=protein.var_names, index=protein.obs_names) + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1101_2020_10_12_335331/human_blood_2020_10x_hao_001.tsv b/sfaira/data/dataloaders/loaders/d10_1101_2020_10_12_335331/human_blood_2020_10x_hao_001.tsv new file mode 100644 index 000000000..93516d4d3 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1101_2020_10_12_335331/human_blood_2020_10x_hao_001.tsv @@ -0,0 +1,59 @@ +source target target_id +ASDC_mDC myeloid dendritic cell CL:0000782 +ASDC_pDC plasmacytoid dendritic cell CL:0000784 +B intermediate kappa B cell CL:0000236 +B intermediate lambda B cell CL:0000236 +B memory kappa memory B cell CL:0000787 +B memory lambda memory B cell CL:0000787 +B naive kappa naive B cell CL:0000788 +B naive lambda naive B cell CL:0000788 +CD14 Mono CD14-positive monocyte CL:0001054 +CD16 Mono CD14-low, CD16-positive monocyte CL:0002396 +CD4 CTL CD4-positive, alpha-beta cytotoxic T cell CL:0000934 +CD4 Naive naive thymus-derived CD4-positive, alpha-beta T cell CL:0000895 +CD4 Proliferating CD4-positive, alpha-beta T cell CL:0000624 +CD4 TCM_1 central memory CD4-positive, alpha-beta T cell CL:0000904 +CD4 TCM_2 central memory CD4-positive, alpha-beta T cell CL:0000904 +CD4 TCM_3 central memory CD4-positive, alpha-beta T cell CL:0000904 +CD4 TEM_1 effector memory CD4-positive, alpha-beta T cell CL:0000905 +CD4 TEM_2 effector memory CD4-positive, alpha-beta T cell CL:0000905 +CD4 TEM_3 effector memory CD4-positive, alpha-beta T cell CL:0000905 +CD4 TEM_4 effector memory CD4-positive, alpha-beta T cell CL:0000905 +CD8 Naive naive thymus-derived CD8-positive, alpha-beta T cell CL:0000900 +CD8 Naive_2 naive thymus-derived CD8-positive, alpha-beta T cell CL:0000900 +CD8 Proliferating CD8-positive, alpha-beta T cell CL:0000625 +CD8 TCM_1 central memory CD8-positive, alpha-beta T cell CL:0000907 +CD8 TCM_2 central memory CD8-positive, alpha-beta T cell CL:0000907 +CD8 TCM_3 central memory CD8-positive, alpha-beta T cell CL:0000907 +CD8 TEM_1 effector memory CD8-positive, alpha-beta T cell CL:0000913 +CD8 TEM_2 effector memory CD8-positive, alpha-beta T cell CL:0000913 +CD8 TEM_3 effector memory CD8-positive, alpha-beta T cell CL:0000913 +CD8 TEM_4 effector memory CD8-positive, alpha-beta T cell CL:0000913 +CD8 TEM_5 effector memory CD8-positive, alpha-beta T cell CL:0000913 +CD8 TEM_6 effector memory CD8-positive, alpha-beta T cell CL:0000913 +Doublet UNKNOWN UNKNOWN +Eryth erythrocyte CL:0000232 +HSPC hematopoietic multipotent progenitor cell CL:0000837 +ILC innate lymphoid cell CL:0001065 +MAIT mucosal invariant T cell CL:0000940 +NK Proliferating natural killer cell CL:0000623 +NK_1 natural killer cell CL:0000623 +NK_2 natural killer cell CL:0000623 +NK_3 natural killer cell CL:0000623 +NK_4 natural killer cell CL:0000623 +NK_CD56bright CD16-negative, CD56-bright natural killer cell, human CL:0000938 +Plasma plasma cell CL:0000786 +Plasmablast plasmablast CL:0000980 +Platelet platelet CL:0000233 +Treg Memory memory regulatory T cell CL:0002678 +Treg Naive naive regulatory T cell CL:0002677 +cDC1 conventional dendritic cell CL:0000990 +cDC2_1 conventional dendritic cell CL:0000990 +cDC2_2 conventional dendritic cell CL:0000990 +dnT_1 double negative thymocyte CL:0002489 +dnT_2 double negative thymocyte CL:0002489 +gdT_1 gamma-delta T cell CL:0000798 +gdT_2 gamma-delta T cell CL:0000798 +gdT_3 gamma-delta T cell CL:0000798 +gdT_4 gamma-delta T cell CL:0000798 +pDC plasmacytoid dendritic cell CL:0000784 diff --git a/sfaira/data/dataloaders/loaders/d10_1101_2020_10_12_335331/human_blood_2020_10x_hao_001.yaml b/sfaira/data/dataloaders/loaders/d10_1101_2020_10_12_335331/human_blood_2020_10x_hao_001.yaml new file mode 100644 index 000000000..b5c0a6b3f --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1101_2020_10_12_335331/human_blood_2020_10x_hao_001.yaml @@ -0,0 +1,51 @@ +dataset_structure: + dataset_index: 1 + sample_fns: +dataset_wise: + author: + - "Hao, Yuhan" + default_embedding: + doi: "10.1101/2020.10.12.335331" + download_url_data: "https://atlas.fredhutch.org/nygc/multimodal-pbmc/" + download_url_meta: "https://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE164378&format=file&file=GSE164378%5Fsc%2Emeta%2Edata%5F3P%2Ecsv%2Egz" + normalization: "raw" + primary_data: + year: 2020 +dataset_or_observation_wise: + assay_sc: "10x sequencing" + assay_sc_obs_key: + assay_differentiation: + assay_differentiation_obs_key: + assay_type_differentiation: + assay_type_differentiation_obs_key: + bio_sample: + bio_sample_obs_key: + cell_line: + cell_line_obs_key: + development_stage: "human adult stage" + development_stage_obs_key: + disease: "healthy" + disease_obs_key: + ethnicity: + ethnicity_obs_key: + individual: + individual_obs_key: "donor" + organ: "blood" + organ_obs_key: + organism: "human" + organism_obs_key: + sample_source: "primary_tissue" + sample_source_obs_key: + sex: + sex_obs_key: + state_exact: + state_exact_obs_key: 'time' + tech_sample: + tech_sample_obs_key: 'Batch' +observation_wise: + cell_types_original_obs_key: "celltype.l3" +feature_wise: + gene_id_ensembl_var_key: + gene_id_symbols_var_key: "names" +meta: + version: "1.0" diff --git a/sfaira/data/dataloaders/loaders/d10_1101_661728/__init__.py b/sfaira/data/dataloaders/loaders/d10_1101_661728/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1101_661728/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1101_661728/mouse_x_2019_x_pisco_x.py b/sfaira/data/dataloaders/loaders/d10_1101_661728/mouse_x_2019_x_pisco_x.py new file mode 100644 index 000000000..10170393a --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1101_661728/mouse_x_2019_x_pisco_x.py @@ -0,0 +1,119 @@ +import anndata +import os + +from sfaira.data import DatasetBase + +SAMPLE_FNS = [ + "tabula-muris-senis-droplet-processed-official-annotations-Fat.h5ad", + "tabula-muris-senis-facs-processed-official-annotations-BAT.h5ad", + "tabula-muris-senis-facs-processed-official-annotations-GAT.h5ad", + "tabula-muris-senis-facs-processed-official-annotations-MAT.h5ad", + "tabula-muris-senis-facs-processed-official-annotations-SCAT.h5ad", + "tabula-muris-senis-droplet-processed-official-annotations-Bladder.h5ad", + "tabula-muris-senis-facs-processed-official-annotations-Bladder.h5ad", + "tabula-muris-senis-droplet-processed-official-annotations-Marrow.h5ad", + "tabula-muris-senis-facs-processed-official-annotations-Marrow.h5ad", + "tabula-muris-senis-facs-processed-official-annotations-Brain_Non-Myeloid.h5ad", + "tabula-muris-senis-facs-processed-official-annotations-Brain_Myeloid.h5ad", + "tabula-muris-senis-droplet-processed-official-annotations-Large_Intestine.h5ad", + "tabula-muris-senis-facs-processed-official-annotations-Large_Intestine.h5ad", + "tabula-muris-senis-facs-processed-official-annotations-Diaphragm.h5ad", + "tabula-muris-senis-droplet-processed-official-annotations-Heart_and_Aorta.h5ad", + "tabula-muris-senis-facs-processed-official-annotations-Heart.h5ad", + "tabula-muris-senis-facs-processed-official-annotations-Aorta.h5ad", + "tabula-muris-senis-droplet-processed-official-annotations-Kidney.h5ad", + "tabula-muris-senis-facs-processed-official-annotations-Kidney.h5ad", + "tabula-muris-senis-droplet-processed-official-annotations-Liver.h5ad", + "tabula-muris-senis-facs-processed-official-annotations-Liver.h5ad", + "tabula-muris-senis-droplet-processed-official-annotations-Lung.h5ad", + "tabula-muris-senis-facs-processed-official-annotations-Lung.h5ad", + "tabula-muris-senis-droplet-processed-official-annotations-Mammary_Gland.h5ad", + "tabula-muris-senis-facs-processed-official-annotations-Mammary_Gland.h5ad", + "tabula-muris-senis-droplet-processed-official-annotations-Limb_Muscle.h5ad", + "tabula-muris-senis-facs-processed-official-annotations-Limb_Muscle.h5ad", + "tabula-muris-senis-droplet-processed-official-annotations-Pancreas.h5ad", + "tabula-muris-senis-facs-processed-official-annotations-Pancreas.h5ad", + "tabula-muris-senis-droplet-processed-official-annotations-Skin.h5ad", + "tabula-muris-senis-facs-processed-official-annotations-Skin.h5ad", + "tabula-muris-senis-facs-processed-official-annotations-Spleen.h5ad", + "tabula-muris-senis-facs-processed-official-annotations-Spleen.h5ad", + "tabula-muris-senis-droplet-processed-official-annotations-Thymus.h5ad", + "tabula-muris-senis-facs-processed-official-annotations-Thymus.h5ad", + "tabula-muris-senis-droplet-processed-official-annotations-Tongue.h5ad", + "tabula-muris-senis-facs-processed-official-annotations-Tongue.h5ad", + "tabula-muris-senis-droplet-processed-official-annotations-Trachea.h5ad", + "tabula-muris-senis-facs-processed-official-annotations-Trachea.h5ad", +] + + +class Dataset(DatasetBase): + + def __init__(self, **kwargs): + super().__init__(**kwargs) + organ = "-".join(self.sample_fn.split("-")[7:]).split(".")[0].lower() + organ = "adipose tissue" if organ in ["fat", "bat", "gat", "mat", "scat"] else \ + "aorta" if organ in ["aorta"] else \ + "urinary bladder" if organ in ["bladder"] else \ + "bone marrow" if organ in ["marrow"] else \ + "brain" if organ in ["brain_non-myeloid", "brain_myeloid"] else \ + "colon" if organ in ["large_intestine"] else \ + "diaphragm" if organ in ["diaphragm"] else \ + "heart" if organ in ["heart_and_aorta", "heart"] else \ + "kidney" if organ in ["kidney"] else \ + "liver" if organ in ["liver"] else \ + "lung" if organ in ["lung"] else \ + "mammary gland" if organ in ["mammary_gland"] else \ + "muscle organ" if organ in ["limb_muscle"] else \ + "pancreas" if organ in ["pancreas"] else \ + "skin of body" if organ in ["skin"] else \ + "spleen" if organ in ["spleen"] else \ + "thymus" if organ in ["thymus"] else \ + "tongue" if organ in ["tongue"] else \ + "trachea" if organ in ["trachea"] else organ + # ToDo: heart_and_aorta could be a distinct UBERON term, e.g. cardiovascular system? + + self.download_url_data = f"https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" \ + f"{self.sample_fn}" + self.download_url_meta = None + + self.cell_types_original_obs_key = "cell_ontology_class" + self.development_stage_obs_key = "development_stage" + self.sex_obs_key = "sex" + # ToDo: further anatomical information for subtissue in "subtissue"? + + self.author = "Pisco" + self.disease = "healthy" + self.doi = "10.1101/661728" + self.normalization = "norm" + self.organism = "mouse" + self.organ = organ + self.assay_sc = "10x sequencing" if self.sample_fn.split("-")[3] == "droplet" else "Smart-seq2" + self.year = 2019 + self.sample_source = "primary_tissue" + + self.gene_id_ensembl_var_key = None + self.gene_id_symbols_var_key = "index" + + self.set_dataset_id(idx=1) + + +def load(data_dir, sample_fn, **kwargs): + dev_stage_dict = { + "18m": "18 month-old stage", + "1m": "4 weeks", + "21m": "20 month-old stage and over", + "24m": "20 month-old stage and over", + "30m": "20 month-old stage and over", + "3m": "3 month-old stage", + } + fn = os.path.join(data_dir, sample_fn) + adata = anndata.read_h5ad(fn) + adata.X = adata.raw.X + adata.var = adata.raw.var + del adata.raw + adata.obsm = {} + adata.varm = {} + adata.uns = {} + adata.obs['development_stage'] = [dev_stage_dict[i] for i in adata.obs['age']] + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1101_661728/mouse_x_2019_x_pisco_x.tsv b/sfaira/data/dataloaders/loaders/d10_1101_661728/mouse_x_2019_x_pisco_x.tsv new file mode 100644 index 000000000..d72fca0e4 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1101_661728/mouse_x_2019_x_pisco_x.tsv @@ -0,0 +1,154 @@ +source target target_id +B cell B cell CL:0000236 +Bergmann glial cell Bergmann glial cell CL:0000644 +Brush cell of epithelium proper of large intestine brush cell of epithelium proper of large intestine CL:0002203 +CD4-positive, alpha-beta T cell CD4-positive, alpha-beta T cell CL:0000624 +CD8-positive, alpha-beta T cell CD8-positive, alpha-beta T cell CL:0000625 +DN3 thymocyte DN3 thymocyte CL:0000807 +DN4 thymocyte DN4 thymocyte CL:0000808 +Kupffer cell Kupffer cell CL:0000091 +Langerhans cell Langerhans cell CL:0000453 +NK cell natural killer cell CL:0000623 +Schwann cell Schwann cell CL:0002573 +T cell T cell CL:0000084 +adventitial cell adventitial cell CL:0002503 +alveolar macrophage alveolar macrophage CL:0000583 +aortic endothelial cell aortic endothelial cell CL:0002544 +astrocyte astrocyte CL:0000127 +atrial myocyte regular atrial cardiac myocyte CL:0002129 +basal cell basal cell CL:0000646 +basal cell of epidermis basal cell of epidermis CL:0002187 +basal epithelial cell of tracheobronchial tree basal epithelial cell of tracheobronchial tree CL:0002329 +basophil basophil CL:0000767 +bladder cell bladder cell CL:1001319 +bladder urothelial cell bladder urothelial cell CL:1001428 +blood cell blood cell CL:0000081 +brain pericyte brain pericyte CL:2000043 +bronchial smooth muscle cell bronchial smooth muscle cell CL:0002598 +brush cell brush cell CL:0002204 +bulge keratinocyte keratinocyte stem cell CL:0002337 +cardiac neuron cardiac neuron CL:0010022 +cardiomyocyte cardiac muscle cell CL:0000746 +chondrocyte chondrocyte CL:0000138 +ciliated columnar cell of tracheobronchial tree ciliated columnar cell of tracheobronchial tree CL:0002145 +classical monocyte classical monocyte CL:0000860 +club cell of bronchiole club cell CL:0000158 +dendritic cell dendritic cell CL:0000451 +double negative T cell double negative thymocyte CL:0002489 +duct epithelial cell duct epithelial cell CL:0000068 +early pro-B cell early pro-B cell CL:0002046 +endocardial cell endocardial cell CL:0002350 +endothelial cell endothelial cell CL:0000115 +endothelial cell of coronary artery endothelial cell of coronary artery CL:2000018 +endothelial cell of hepatic sinusoid endothelial cell of hepatic sinusoid CL:1000398 +endothelial cell of lymphatic vessel endothelial cell of lymphatic vessel CL:0002138 +enterocyte of epithelium of large intestine enterocyte of epithelium of large intestine CL:0002071 +enteroendocrine cell enteroendocrine cell CL:0000164 +ependymal cell ependymal cell CL:0000065 +epidermal cell epidermal cell CL:0000362 +epithelial cell epithelial cell CL:0000066 +epithelial cell of large intestine epithelial cell of large intestine CL:0002253 +epithelial cell of proximal tubule epithelial cell of proximal tubule CL:0002306 +epithelial cell of thymus epithelial cell of thymus CL:0002293 +erythroblast erythroblast CL:0000765 +erythrocyte erythrocyte CL:0000232 +erythroid progenitor erythroid progenitor cell CL:0000038 +fenestrated cell fenestrated cell CL:0000666 +fibroblast fibroblast CL:0000057 +fibroblast of cardiac tissue fibroblast of cardiac tissue CL:0002548 +fibroblast of lung fibroblast of lung CL:0002553 +fibrocyte fibrocyte CL:0000135 +granulocyte granulocyte CL:0000094 +granulocyte monocyte progenitor cell granulocyte monocyte progenitor cell CL:0000557 +granulocytopoietic cell granulocytopoietic cell CL:0002191 +hematopoietic precursor cell hematopoietic precursor cell CL:0008001 +hematopoietic stem cell hematopoietic stem cell CL:0000037 +hepatic stellate cell hepatic stellate cell CL:0000632 +hepatocyte hepatocyte CL:0000182 +immature B cell immature B cell CL:0000816 +immature T cell immature T cell CL:0002420 +intermediate monocyte intermediate monocyte CL:0002393 +interneuron interneuron CL:0000099 +intestinal crypt stem cell intestinal crypt stem cell CL:0002250 +keratinocyte keratinocyte CL:0000312 +keratinocyte stem cell keratinocyte stem cell CL:0002337 +kidney capillary endothelial cell kidney capillary endothelial cell CL:1000892 +kidney cell kidney cell CL:1000497 +kidney collecting duct epithelial cell kidney collecting duct epithelial cell CL:1000454 +kidney collecting duct principal cell kidney collecting duct principal cell CL:1001431 +kidney cortex artery cell kidney cortex artery cell CL:1001045 +kidney distal convoluted tubule epithelial cell kidney distal convoluted tubule epithelial cell CL:1000849 +kidney interstitial fibroblast kidney interstitial fibroblast CL:1000692 +kidney loop of Henle ascending limb epithelial cell kidney loop of Henle ascending limb epithelial cell CL:1001016 +kidney loop of Henle thick ascending limb epithelial cell kidney loop of Henle thick ascending limb epithelial cell CL:1001106 +kidney mesangial cell mesangial cell CL:0000650 +kidney proximal convoluted tubule epithelial cell kidney proximal straight tubule epithelial cell CL:1000839 +kidney proximal straight tubule epithelial cell kidney proximal straight tubule epithelial cell CL:1000839 +large intestine goblet cell large intestine goblet cell CL:1000320 +late pro-B cell late pro-B cell CL:0002048 +leukocyte leukocyte CL:0000738 +luminal epithelial cell of mammary gland mammary alveolar cell CL:0002325 +lung macrophage macrophage CL:0000235 +lung neuroendocrine cell lung neuroendocrine cell CL:1000223 +lymphocyte lymphocyte CL:0000542 +lymphoid progenitor cell common lymphoid progenitor CL:0000051 +macrophage macrophage CL:0000235 +mast cell mast cell CL:0000097 +mature NK T cell mature NK T cell CL:0000814 +mature alpha-beta T cell mature alpha-beta T cell CL:0000791 +medium spiny neuron medium spiny neuron CL:1001474 +megakaryocyte-erythroid progenitor cell megakaryocyte-erythroid progenitor cell CL:0000050 +mesangial cell mesangial cell CL:0000650 +mesenchymal cell mesenchymal cell CL:0008019 +mesenchymal progenitor cell mesenchymal cell CL:0008019 +mesenchymal stem cell mesenchymal stem cell CL:0000134 +mesenchymal stem cell of adipose mesenchymal stem cell of adipose CL:0002570 +microglial cell microglial cell CL:0000129 +monocyte monocyte CL:0000576 +mucus secreting cell mucus secreting cell CL:0000319 +myeloid cell myeloid cell CL:0000763 +myeloid dendritic cell myeloid dendritic cell CL:0000782 +myeloid leukocyte myeloid leukocyte CL:0000766 +naive B cell naive B cell CL:0000788 +naive T cell naive T cell CL:0000898 +neuroendocrine cell neuroendocrine cell CL:0000165 +neuroepithelial cell neuroepithelial stem cell CL:0002259 +neuron neuron CL:0000540 +neuronal stem cell neuronal stem cell CL:0000047 +neutrophil neutrophil CL:0000775 +non-classical monocyte non-classical monocyte CL:0000875 +oligodendrocyte oligodendrocyte CL:0000128 +oligodendrocyte precursor cell oligodendrocyte precursor cell CL:0002453 +pancreatic A cell pancreatic A cell CL:0000171 +pancreatic B cell type B pancreatic cell CL:0000169 +pancreatic D cell pancreatic D cell CL:0000173 +pancreatic PP cell pancreatic PP cell CL:0002275 +pancreatic acinar cell pancreatic acinar cell CL:0002064 +pancreatic ductal cel pancreatic ductal cell CL:0002079 +pancreatic ductal cell pancreatic ductal cell CL:0002079 +pancreatic stellate cell pancreatic stellate cell CL:0002410 +pericyte cell pericyte cell CL:0000669 +plasma cell plasma cell CL:0000786 +plasmacytoid dendritic cell plasmacytoid dendritic cell CL:0000784 +podocyte glomerular visceral epithelial cell CL:0000653 +precursor B cell precursor B cell CL:0000817 +proerythroblast proerythroblast CL:0000547 +professional antigen presenting cell professional antigen presenting cell CL:0000145 +promonocyte promonocyte CL:0000559 +pulmonary interstitial fibroblast pulmonary interstitial fibroblast CL:0002241 +regulatory T cell regulatory T cell CL:0000815 +respiratory basal cell respiratory basal cell CL:0002633 +secretory cell secretory cell CL:0000151 +skeletal muscle cell cell of skeletal muscle CL:0000188 +skeletal muscle satellite cell skeletal muscle satellite cell CL:0000594 +smooth muscle cell smooth muscle cell CL:0000192 +smooth muscle cell of the pulmonary artery smooth muscle cell of the pulmonary artery CL:0002591 +smooth muscle cell of trachea smooth muscle cell of trachea CL:0002600 +stem cell of epidermis stem cell of epidermis CL:1000428 +stromal cell stromal cell CL:0000499 +thymocyte thymocyte CL:0000893 +type I pneumocyte type I pneumocyte CL:0002062 +type II pneumocyte type II pneumocyte CL:0002063 +valve cell valve cell CL:0000663 +vein endothelial cell vein endothelial cell CL:0002543 +ventricular myocyte regular ventricular cardiac myocyte CL:0002131 diff --git a/sfaira/data/dataloaders/loaders/d10_1101_753806/__init__.py b/sfaira/data/dataloaders/loaders/d10_1101_753806/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1101_753806/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1101_753806/human_lungparenchyma_2020_10xsequencing_habermann_001.py b/sfaira/data/dataloaders/loaders/d10_1101_753806/human_lungparenchyma_2020_10xsequencing_habermann_001.py new file mode 100644 index 000000000..4cee92c69 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1101_753806/human_lungparenchyma_2020_10xsequencing_habermann_001.py @@ -0,0 +1,53 @@ +import anndata +import os +import pandas as pd + +from sfaira.data import DatasetBase + + +class Dataset(DatasetBase): + """ + TODO: add disease from status and diagnosis fields, healthy is "control" + """ + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = [ + "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE135nnn/GSE135893/suppl/GSE135893%5Fmatrix%2Emtx%2Egz", + "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE135nnn/GSE135893/suppl/GSE135893%5Fgenes%2Etsv%2Egz", + "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE135nnn/GSE135893/suppl/GSE135893%5Fbarcodes%2Etsv%2Egz" + ] + self.download_url_meta = "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE135nnn/GSE135893/suppl/GSE135893%5FIPF%5Fmetadata%2Ecsv%2Egz" + + self.author = "Habermann" + self.doi = "10.1101/753806" + self.normalization = "raw" + self.organ = "lung parenchyma" + self.organism = "human" + self.assay_sc = "10x sequencing" + self.year = 2020 + self.sample_source = "primary_tissue" + + self.gene_id_symbols_var_key = "index" + + self.cell_types_original_obs_key = "celltype" + self.state_exact_obs_key = "Diagnosis" + + self.set_dataset_id(idx=1) + + +def load(data_dir, **kwargs): + fn = [ + os.path.join(data_dir, "GSE135893_matrix.mtx.gz"), + os.path.join(data_dir, "GSE135893_genes.tsv.gz"), + os.path.join(data_dir, "GSE135893_barcodes.tsv.gz"), + os.path.join(data_dir, "GSE135893_IPF_metadata.csv.gz"), + ] + adata = anndata.read_mtx(fn[0]).T + adata.var = pd.read_csv(fn[1], index_col=0, header=None, names=["ids"]) + adata.obs = pd.read_csv(fn[2], index_col=0, header=None, names=["barcodes"]) + obs = pd.read_csv(fn[3], index_col=0) + adata = adata[obs.index.tolist(), :].copy() + adata.obs = obs + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1101_753806/human_lungparenchyma_2020_10xsequencing_habermann_001.tsv b/sfaira/data/dataloaders/loaders/d10_1101_753806/human_lungparenchyma_2020_10xsequencing_habermann_001.tsv new file mode 100644 index 000000000..da8eb96ef --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1101_753806/human_lungparenchyma_2020_10xsequencing_habermann_001.tsv @@ -0,0 +1,32 @@ +source target target_id +AT1 type I pneumocyte CL:0002062 +AT2 type II pneumocyte CL:0002063 +B Cells B cell CL:0000236 +Basal respiratory basal cell CL:0002633 +Ciliated lung ciliated cell CL:1000271 +Differentiating Ciliated lung ciliated cell CL:1000271 +Endothelial Cells endothelial cell CL:0000115 +Fibroblasts fibroblast of lung CL:0002553 +HAS1 High Fibroblasts fibroblast of lung CL:0002553 +KRT5-/KRT17+ epithelial cell CL:0000066 +Lymphatic Endothelial Cells endothelial cell of lymphatic vessel CL:0002138 +MUC5AC+ High secretory cell CL:0000151 +MUC5B+ secretory cell CL:0000151 +Macrophages lung macrophage CL:1001603 +Mast Cells mast cell CL:0000097 +Mesothelial Cells mesothelial cell CL:0000077 +Monocytes monocyte CL:0000576 +Myofibroblasts myofibroblast cell CL:0000186 +NK Cells natural killer cell CL:0000623 +PLIN2+ Fibroblasts fibroblast of lung CL:0002553 +Plasma Cells plasma cell CL:0000786 +Proliferating Epithelial Cells respiratory epithelial cell CL:0002368 +Proliferating Macrophages macrophage CL:0000235 +Proliferating T Cells T cell CL:0000084 +SCGB3A2+ secretory cell CL:0000151 +SCGB3A2+ SCGB1A1+ secretory cell CL:0000151 +Smooth Muscle Cells bronchial smooth muscle cell CL:0002598 +T Cells T cell CL:0000084 +Transitional AT2 type II pneumocyte CL:0002063 +cDCs conventional dendritic cell CL:0000990 +pDCs plasmacytoid dendritic cell CL:0000784 diff --git a/sfaira/data/dataloaders/loaders/d10_1126_science_aat5031/__init__.py b/sfaira/data/dataloaders/loaders/d10_1126_science_aat5031/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1126_science_aat5031/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1126_science_aat5031/human_kidney_2019_10xsequencing_stewart_001.py b/sfaira/data/dataloaders/loaders/d10_1126_science_aat5031/human_kidney_2019_10xsequencing_stewart_001.py new file mode 100644 index 000000000..97df2730f --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1126_science_aat5031/human_kidney_2019_10xsequencing_stewart_001.py @@ -0,0 +1,48 @@ +import anndata +import os +import numpy as np + +from sfaira.data import DatasetBase + + +class Dataset(DatasetBase): + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = [ + "https://cellgeni.cog.sanger.ac.uk/BenKidney_v2.1/Mature_Full_v2.1.h5ad", + "https://cellgeni.cog.sanger.ac.uk/BenKidney_v2.1/Fetal_full.h5ad" + ] + self.download_url_meta = None + + self.assay_sc = "10x sequencing" + self.author = "Stewart" + self.disease = "healthy" + self.doi = "10.1126/science.aat5031" + self.normalization = "norm" + self.organ = "kidney" + self.organism = "human" + self.sample_source = "primary_tissue" + self.state_exact = "healthy" + self.year = 2019 + + self.gene_id_symbols_var_key = "index" + self.gene_id_ensembl_var_key = "ID" + self.cell_types_original_obs_key = "celltype" + + self.set_dataset_id(idx=1) + + +def load(data_dir, **kwargs): + fn = [ + os.path.join(data_dir, "Mature_Full_v2.1.h5ad"), + os.path.join(data_dir, "Fetal_full.h5ad") + ] + adult = anndata.read(fn[0]) + fetal = anndata.read(fn[1]) + adult.obs["development"] = "adult" + fetal.obs["development"] = "fetal" + adata = adult.concatenate(fetal) + adata.X = np.expm1(adata.X) + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1126_science_aat5031/human_kidney_2019_10xsequencing_stewart_001.tsv b/sfaira/data/dataloaders/loaders/d10_1126_science_aat5031/human_kidney_2019_10xsequencing_stewart_001.tsv new file mode 100644 index 000000000..9b4b28439 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1126_science_aat5031/human_kidney_2019_10xsequencing_stewart_001.tsv @@ -0,0 +1,71 @@ +source target target_id +Ascending vasa recta endothelium vasa recta ascending limb cell CL:1001131 +B cell B cell CL:0000236 +CD4 T cell CD4-positive, alpha-beta T cell CL:0000624 +CD8 T cell CD8-positive, alpha-beta T cell CL:0000625 +CNT/PC - proximal UB UNKNOWN UNKNOWN +Cap mesenchyme mesenchymal cell CL:0008019 +Connecting tubule kidney connecting tubule epithelial cell CL:1000768 +Descending vasa recta endothelium vasa recta descending limb cell CL:1001285 +Distal S shaped body UNKNOWN UNKNOWN +Distal renal vesicle epithelial cell CL:0000066 +Distinct proximal tubule 1 epithelial cell of proximal tubule CL:0002306 +Distinct proximal tubule 2 epithelial cell of proximal tubule CL:0002306 +Endothelium endothelial cell CL:0000115 +Epithelial progenitor cell epithelial cell CL:0000066 +Erythroid erythrocyte CL:0000232 +Fibroblast fibroblast CL:0000057 +Fibroblast 1 fibroblast CL:0000057 +Fibroblast 2 fibroblast CL:0000057 +Glomerular endothelium glomerular capillary endothelial cell CL:1001005 +Indistinct intercalated cell renal intercalated cell CL:0005010 +Innate like lymphocyte innate lymphoid cell CL:0001065 +Loop of Henle kidney loop of Henle epithelial cell CL:1000909 +MNP-a/classical monocyte derived classical monocyte CL:0000860 +MNP-b/non-classical monocyte derived non-classical monocyte CL:0000875 +MNP-c/dendritic cell dendritic cell CL:0000451 +MNP-d/Tissue macrophage macrophage CL:0000235 +Macrophage 1 macrophage CL:0000235 +Macrophage 2 macrophage CL:0000235 +Mast cell mast cell CL:0000097 +Mast cells mast cell CL:0000097 +Medial S shaped body UNKNOWN UNKNOWN +Megakaryocyte megakaryocyte CL:0000556 +Monocyte monocyte CL:0000576 +Myofibroblast kidney interstitial myofibroblast CL:1000691 +Myofibroblast 1 kidney interstitial myofibroblast CL:1000691 +Myofibroblast 2 kidney interstitial myofibroblast CL:1000691 +NK cell natural killer cell CL:0000623 +NKT cell mature NK T cell CL:0000814 +Neuron neuron CL:0000540 +Neutrophil neutrophil CL:0000775 +Pelvic epithelium epithelial cell CL:0000066 +Pelvic epithelium - distal UB epithelial cell CL:0000066 +Peritubular capillary endothelium 1 peritubular capillary endothelial cell CL:1001033 +Peritubular capillary endothelium 2 peritubular capillary endothelial cell CL:1001033 +Plasmacytoid dendritic cell plasmacytoid dendritic cell CL:0000784 +Podocyte glomerular visceral epithelial cell CL:0000653 +Principal cell kidney collecting duct principal cell CL:1001431 +Proliferating B cell B cell CL:0000236 +Proliferating NK cell natural killer cell CL:0000623 +Proliferating Proximal Tubule kidney proximal straight tubule epithelial cell CL:1000839 +Proliferating cDC2 conventional dendritic cell CL:0000990 +Proliferating cap mesenchyme nephrogenic mesenchyme stem cell CL:0000383 +Proliferating distal renal vesicle kidney blood vessel cell CL:1000854 +Proliferating fibroblast fibroblast CL:0000057 +Proliferating macrophage macrophage CL:0000235 +Proliferating monocyte monocyte CL:0000576 +Proliferating myofibroblast kidney interstitial myofibroblast CL:1000691 +Proliferating stroma progenitor UNKNOWN UNKNOWN +Proximal S shaped body UNKNOWN UNKNOWN +Proximal UB UNKNOWN UNKNOWN +Proximal renal vesicle kidney blood vessel cell CL:1000854 +Proximal tubule epithelial cell of proximal tubule CL:0002306 +Stroma progenitor UNKNOWN UNKNOWN +Thick ascending limb of Loop of Henle kidney loop of Henle thick ascending limb epithelial cell CL:1001106 +Transitional urothelium urothelial cell CL:0000731 +Type A intercalated cell renal intercalated cell CL:0005010 +Type B intercalated cell renal intercalated cell CL:0005010 +cDC1 conventional dendritic cell CL:0000990 +cDC2 conventional dendritic cell CL:0000990 +pDC plasmacytoid dendritic cell CL:0000784 diff --git a/sfaira/data/dataloaders/loaders/d10_1126_science_aay3224/__init__.py b/sfaira/data/dataloaders/loaders/d10_1126_science_aay3224/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1126_science_aay3224/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1126_science_aay3224/human_thymus_2020_10xsequencing_park_001.py b/sfaira/data/dataloaders/loaders/d10_1126_science_aay3224/human_thymus_2020_10xsequencing_park_001.py new file mode 100644 index 000000000..07de38e1c --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1126_science_aay3224/human_thymus_2020_10xsequencing_park_001.py @@ -0,0 +1,36 @@ +import anndata +import os +import numpy as np + +from sfaira.data import DatasetBase + + +class Dataset(DatasetBase): + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = "https://covid19.cog.sanger.ac.uk/park20.processed.h5ad" + self.download_url_meta = None + + self.assay_sc = "10x sequencing" + self.author = "Park" + self.disease = "healthy" + self.doi = "10.1126/science.aay3224" + self.normalization = "norm" + self.organ = "thymus" + self.organism = "human" + self.sample_source = "primary_tissue" + self.year = 2020 + + self.gene_id_symbols_var_key = "index" + self.cell_types_original_obs_key = "Anno_level_fig1" + + self.set_dataset_id(idx=1) + + +def load(data_dir, **kwargs): + fn = os.path.join(data_dir, "park20.processed.h5ad") + adata = anndata.read(fn) + adata.X = np.expm1(adata.X) + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1126_science_aay3224/human_thymus_2020_10xsequencing_park_001.tsv b/sfaira/data/dataloaders/loaders/d10_1126_science_aay3224/human_thymus_2020_10xsequencing_park_001.tsv new file mode 100644 index 000000000..a15d96522 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1126_science_aay3224/human_thymus_2020_10xsequencing_park_001.tsv @@ -0,0 +1,45 @@ +source target target_id +B_memory memory B cell CL:0000787 +B_naive naive B cell CL:0000788 +B_plasma plasma cell CL:0000786 +B_pro/pre early pro-B cell CL:0002046 +CD4+T CD4-positive, alpha-beta T cell CL:0000624 +CD4+Tmem effector memory CD4-positive, alpha-beta T cell CL:0000905 +CD8+T CD8-positive, alpha-beta T cell CL:0000625 +CD8+Tmem effector memory CD8-positive, alpha-beta T cell CL:0000913 +CD8αα CD8-positive, alpha-beta thymocyte CL:0000811 +DC1 dendritic cell CL:0000451 +DC2 dendritic cell CL:0000451 +DN double negative thymocyte CL:0002489 +DP double-positive, alpha-beta thymocyte CL:0000809 +ETP early lymphoid progenitor CL:0000936 +Endo endothelial cell CL:0000115 +Epi_GCM2 epithelial cell CL:0000066 +Ery erythrocyte CL:0000232 +Fb_1 fibroblast CL:0000057 +Fb_2 fibroblast CL:0000057 +Fb_cycling fibroblast CL:0000057 +ILC3 group 3 innate lymphoid cell CL:0001071 +Lymph early lymphoid progenitor CL:0000936 +Mac thymic medullary macrophage CL:0000882 +Mast mast cell CL:0000097 +Mgk megakaryocyte CL:0000556 +Mono monocyte CL:0000576 +NK natural killer cell CL:0000623 +NKT immature NK T cell CL:0000914 +NMP common myeloid progenitor CL:0000049 +T(agonist) T cell CL:0000084 +TEC(myo) epithelial cell of thymus CL:0002293 +TEC(neuro) epithelial cell of thymus CL:0002293 +Treg regulatory T cell CL:0000815 +VSMC vascular associated smooth muscle cell CL:0000359 +aDC dendritic cell CL:0000451 +cTEC cortical thymic epithelial cell CL:0002364 +mTEC(I) medullary thymic epithelial cell CL:0002365 +mTEC(II) medullary thymic epithelial cell CL:0002365 +mTEC(III) medullary thymic epithelial cell CL:0002365 +mTEC(IV) medullary thymic epithelial cell CL:0002365 +mcTEC epithelial cell of thymus CL:0002293 +pDC plasmacytoid dendritic cell CL:0000784 +αβT(entry) alpha-beta T cell CL:0000789 +γδT gamma-delta T cell CL:0000798 diff --git a/sfaira/data/dataloaders/loaders/d10_1126_science_aba7721/__init__.py b/sfaira/data/dataloaders/loaders/d10_1126_science_aba7721/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1126_science_aba7721/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1126_science_aba7721/human_x_2020_scirnaseq_cao_001.py b/sfaira/data/dataloaders/loaders/d10_1126_science_aba7721/human_x_2020_scirnaseq_cao_001.py new file mode 100644 index 000000000..a8ee1d628 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1126_science_aba7721/human_x_2020_scirnaseq_cao_001.py @@ -0,0 +1,65 @@ +import os +import gzip +import anndata +import shutil + + +def load(data_dir, **kwargs): + + sex_dict = { + "F": "female", + "M": "male" + } + + dev_stage_dict = { + 72: "11th week post-fertilization human stage", + 74: "11th week post-fertilization human stage", + 85: "13th week post-fertilization human stage", + 89: "13th week post-fertilization human stage", + 90: "13th week post-fertilization human stage", + 94: "14th week post-fertilization human stage", + 96: "14th week post-fertilization human stage", + 100: "15th week post-fertilization human stage", + 110: "16th week post-fertilization human stage", + 112: "17th week post-fertilization human stage", + 113: "17th week post-fertilization human stage", + 115: "17th week post-fertilization human stage", + 117: "17th week post-fertilization human stage", + 119: "18th week post-fertilization human stage", + 120: "18th week post-fertilization human stage", + 122: "18th week post-fertilization human stage", + 125: "18th week post-fertilization human stage", + 129: "19th week post-fertilization human stage", + } + + organ_dict = { + "Adrenal": "adrenal gland", + "Cerebellum": "cerebellum", + "Cerebrum": "telencephalon", + "Eye": "eye", + "Heart": "heart", + "Intestine": "intestine", + "Kidney": "kidney", + "Liver": "liver", + "Lung": "lung", + "Muscle": "muscle organ", + "Pancreas": "pancreas", + "Placenta": "placenta", + "Spleen": "spleen", + "Stomach": "stomach", + "Thymus": "thymus", + } + + fn = os.path.join(data_dir, "GSE156793_S3_gene_count.loom.gz") + fn_tmp = os.path.join(os.path.expanduser("~"), "tmp.loom") + with gzip.open(fn, 'rb') as f_in: + with open(fn_tmp, 'wb') as f_out: + shutil.copyfileobj(f_in, f_out) + adata = anndata.read_loom(fn_tmp) + os.remove(fn_tmp) + + adata.obs["Sex"] = [sex_dict[x] for x in adata.obs["Sex"]] + adata.obs["Organ"] = [organ_dict[x] for x in adata.obs["Organ"]] + adata.obs["Developmental_stage"] = [dev_stage_dict[x] for x in adata.obs["Development_day"]] + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1126_science_aba7721/human_x_2020_scirnaseq_cao_001.tsv b/sfaira/data/dataloaders/loaders/d10_1126_science_aba7721/human_x_2020_scirnaseq_cao_001.tsv new file mode 100644 index 000000000..37e9e316e --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1126_science_aba7721/human_x_2020_scirnaseq_cao_001.tsv @@ -0,0 +1,78 @@ +source target target_id +AFP_ALB positive cells UNKNOWN UNKNOWN +Acinar cells acinar cell CL:0000622 +Adrenocortical cells cortical cell of adrenal gland CL:0002097 +Amacrine cells amacrine cell CL:0000561 +Antigen presenting cells professional antigen presenting cell CL:0000145 +Astrocytes astrocyte CL:0000127 +Bipolar cells bipolar neuron CL:0000103 +Bronchiolar and alveolar epithelial cells epithelial cell CL:0000066 +CCL19_CCL21 positive cells UNKNOWN UNKNOWN +CLC_IL5RA positive cells UNKNOWN UNKNOWN +CSH1_CSH2 positive cells UNKNOWN UNKNOWN +Cardiomyocytes cardiac muscle cell CL:0000746 +Chromaffin cells chromaffin cell CL:0000166 +Ciliated epithelial cells ciliated epithelial cell CL:0000067 +Corneal and conjunctival epithelial cells epithelial cell CL:0000066 +Ductal cells pancreatic ductal cell CL:0002079 +ELF3_AGBL2 positive cells UNKNOWN UNKNOWN +ENS glia glial cell CL:0000125 +ENS neurons enteric neuron CL:0007011 +Endocardial cells endocardial cell CL:0002350 +Epicardial fat cells epicardial adipocyte CL:1000309 +Erythroblasts erythroblast CL:0000765 +Excitatory neurons excitatory neuron CL:0008030 +Extravillous trophoblasts extravillous trophoblast CL:0008036 +Ganglion cells CNS neuron (sensu Vertebrata) CL:0000117 +Goblet cells goblet cell CL:0000160 +Granule neurons granule cell CL:0000120 +Hematopoietic stem cells hematopoietic stem cell CL:0000037 +Hepatoblasts hepatoblast CL:0005026 +Horizontal cells retina horizontal cell CL:0000745 +IGFBP1_DKK1 positive cells UNKNOWN UNKNOWN +Inhibitory interneurons inhibitory interneuron CL:0000498 +Inhibitory neurons inhibitory neuron CL:0008029 +Intestinal epithelial cells intestinal epithelial cell CL:0002563 +Islet endocrine cells endocrine cell CL:0000163 +Lens fibre cells lens fiber cell CL:0011004 +Limbic system neurons neuron of cerebral cortex CL:0002609 +Lymphatic endothelial cells endothelial cell of lymphatic vessel CL:0002138 +Lymphoid cells innate lymphoid cell CL:0001065 +MUC13_DMBT1 positive cells UNKNOWN UNKNOWN +Megakaryocytes megakaryocyte CL:0000556 +Mesangial cells mesangial cell CL:0000650 +Mesothelial cells mesothelial cell CL:0000077 +Metanephric cells kidney cell CL:1000497 +Microglia microglial cell CL:0000129 +Myeloid cells myeloid cell CL:0000763 +Neuroendocrine cells neuroendocrine cell CL:0000165 +Oligodendrocytes oligodendrocyte CL:0000128 +PAEP_MECOM positive cells UNKNOWN UNKNOWN +PDE11A_FAM19A2 positive cells UNKNOWN UNKNOWN +PDE1C_ACSM3 positive cells UNKNOWN UNKNOWN +Parietal and chief cells parietal cell CL:0000162 +Photoreceptor cells photoreceptor cell CL:0000210 +Purkinje neurons Purkinje cell CL:0000121 +Retinal pigment cells visual pigment cell CL:0000149 +Retinal progenitors and Muller glia retinal progenitor cell CL:0002672 +SATB2_LRRC7 positive cells UNKNOWN UNKNOWN +SKOR2_NPSR1 positive cells UNKNOWN UNKNOWN +SLC24A4_PEX5L positive cells UNKNOWN UNKNOWN +SLC26A4_PAEP positive cells UNKNOWN UNKNOWN +STC2_TLX1 positive cells UNKNOWN UNKNOWN +Satellite cells skeletal muscle satellite cell CL:0000594 +Schwann cells Schwann cell CL:0002573 +Skeletal muscle cells cell of skeletal muscle CL:0000188 +Smooth muscle cells smooth muscle cell CL:0000192 +Squamous epithelial cells squamous epithelial cell CL:0000076 +Stellate cells hepatic stellate cell CL:0000632 +Stromal cells stromal cell CL:0000499 +Sympathoblasts neural progenitor cell CL:0011020 +Syncytiotrophoblasts and villous cytotrophoblasts trophoblast cell CL:0000351 +Thymic epithelial cells epithelial cell of thymus CL:0002293 +Thymocytes thymocyte CL:0000893 +Trophoblast giant cells trophoblast giant cell CL:0002488 +Unipolar brush cells brush cell CL:0002204 +Ureteric bud cells ureteral cell CL:1000601 +Vascular endothelial cells endothelial cell of vascular tree CL:0002139 +Visceral neurons visceromotor neuron CL:0005025 diff --git a/sfaira/data/dataloaders/loaders/d10_1126_science_aba7721/human_x_2020_scirnaseq_cao_001.yaml b/sfaira/data/dataloaders/loaders/d10_1126_science_aba7721/human_x_2020_scirnaseq_cao_001.yaml new file mode 100644 index 000000000..cee3e1910 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1126_science_aba7721/human_x_2020_scirnaseq_cao_001.yaml @@ -0,0 +1,52 @@ +dataset_structure: + dataset_index: 1 + sample_fns: +dataset_wise: + author: + - "Cao" + default_embedding: + doi: + - "10.1126/science.aba7721" + download_url_data: "https://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE156793&format=file&file=GSE156793%5FS3%5Fgene%5Fcount%2Eloom%2Egz" + download_url_meta: + normalization: "raw" + primary_data: + year: 2020 +dataset_or_observation_wise: + assay_sc: "sci-RNA-seq" + assay_sc_obs_key: + assay_differentiation: + assay_differentiation_obs_key: + assay_type_differentiation: + assay_type_differentiation_obs_key: + bio_sample: + bio_sample_obs_key: + cell_line: + cell_line_obs_key: + development_stage: + development_stage_obs_key: "Developmental_stage" + disease: "healthy" + disease_obs_key: + ethnicity: + ethnicity_obs_key: + individual: + individual_obs_key: "Fetus_id" + organ: + organ_obs_key: "Organ" + organism: "human" + organism_obs_key: + sample_source: "primary_tissue" + sample_source_obs_key: + sex: + sex_obs_key: "Sex" + state_exact: + state_exact_obs_key: + tech_sample: + tech_sample_obs_key: "Experiment_batch" +observation_wise: + cell_types_original_obs_key: "Main_cluster_name" +feature_wise: + gene_id_ensembl_var_key: "gene_id" + gene_id_symbols_var_key: "gene_short_name" +meta: + version: "1.0" diff --git a/sfaira/data/dataloaders/loaders/d10_1186_s13059_019_1906_x/__init__.py b/sfaira/data/dataloaders/loaders/d10_1186_s13059_019_1906_x/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1186_s13059_019_1906_x/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_1186_s13059_019_1906_x/human_x_2019_10xsequencing_madissoon_001.py b/sfaira/data/dataloaders/loaders/d10_1186_s13059_019_1906_x/human_x_2019_10xsequencing_madissoon_001.py new file mode 100644 index 000000000..d6e7200a9 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1186_s13059_019_1906_x/human_x_2019_10xsequencing_madissoon_001.py @@ -0,0 +1,64 @@ +import anndata +import os +import scipy.sparse + +from sfaira.data import DatasetBase + +SAMPLE_FNS = [ + "madissoon19_lung.processed.h5ad", + "oesophagus.cellxgene.h5ad", + "spleen.cellxgene.h5ad", +] + + +class Dataset(DatasetBase): + """ + ToDo: patient information in .obs["patient"] and sample information in .obs["sample"] (more samples than patients) + """ + + def __init__(self, **kwargs): + super().__init__(**kwargs) + if self.sample_fn == "madissoon19_lung.processed.h5ad": + self.download_url_data = "https://covid19.cog.sanger.ac.uk/madissoon19_lung.processed.h5ad" + self.gene_id_ensembl_var_key = "gene.ids.HCATisStab7509734" + elif self.sample_fn == "oesophagus.cellxgene.h5ad": + self.download_url_data = \ + "https://cellgeni.cog.sanger.ac.uk/tissue-stability/tissue-stability/oesophagus.cellxgene.h5ad" + # Associated DCP: https://data.humancellatlas.org/explore/projects/c4077b3c-5c98-4d26-a614-246d12c2e5d7 + self.gene_id_ensembl_var_key = "gene_ids-HCATisStab7413619" + else: + self.download_url_data = \ + "https://cellgeni.cog.sanger.ac.uk/tissue-stability/tissue-stability/spleen.cellxgene.h5ad" + self.gene_id_ensembl_var_key = "gene_ids-HCATisStab7463846" + + self.download_url_meta = None + + self.assay_sc = "10x sequencing" + self.author = "Madissoon" + self.disease = "healthy" + self.doi = "10.1186/s13059-019-1906-x" + self.normalization = "raw" # ToDo "madissoon19_lung.processed.h5ad" is close to integer but not quire (~1e-4) + self.organ = "lung parenchyma" if self.sample_fn == "madissoon19_lung.processed.h5ad" else \ + "esophagus" if self.sample_fn == "oesophagus.cellxgene.h5ad" else "spleen" + self.organism = "human" + self.year = 2019 + self.sample_source = "primary_tissue" + + self.gene_id_symbols_var_key = "index" + self.cell_types_original_obs_key = "Celltypes" + + self.set_dataset_id(idx=1) + + +def load(data_dir, sample_fn, **kwargs): + fn = os.path.join(data_dir, sample_fn) + adata = anndata.read(fn) + if sample_fn != "madissoon19_lung.processed.h5ad": + adata.X = adata.X.multiply(scipy.sparse.csc_matrix(adata.obs["n_counts"].values[:, None]))\ + .multiply(1 / 10000) + # Cell type column called differently in madissoon19_lung.processed.h5ad: + if sample_fn == "madissoon19_lung.processed.h5ad": + adata.obs["Celltypes"] = adata.obs["CellType"] + del adata.obs["CellType"] + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_1186_s13059_019_1906_x/human_x_2019_10xsequencing_madissoon_001.tsv b/sfaira/data/dataloaders/loaders/d10_1186_s13059_019_1906_x/human_x_2019_10xsequencing_madissoon_001.tsv new file mode 100644 index 000000000..7a90af98a --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_1186_s13059_019_1906_x/human_x_2019_10xsequencing_madissoon_001.tsv @@ -0,0 +1,65 @@ +source target target_id +Alveolar_Type1 type I pneumocyte CL:0002062 +Alveolar_Type2 type II pneumocyte CL:0002063 +B_CD27neg B cell CL:0000236 +B_CD27pos B cell CL:0000236 +B_Hypermutation B cell CL:0000236 +B_T_doublet NOT_A_CELL UNKNOWN +B_cells B cell CL:0000236 +B_follicular follicular B cell CL:0000843 +B_mantle B cell CL:0000236 +Blood_vessel blood vessel endothelial cell CL:0000071 +CD34_progenitor UNKNOWN UNKNOWN +Ciliated ciliated cell CL:0000064 +DC_1 dendritic cell CL:0000451 +DC_2 dendritic cell CL:0000451 +DC_Monocyte_Dividing myeloid leukocyte CL:0000766 +DC_activated dendritic cell CL:0000451 +DC_plasmacytoid plasmacytoid dendritic cell CL:0000784 +Dendritic_Cells dendritic cell CL:0000451 +Epi_basal basal cell CL:0000646 +Epi_dividing epithelial cell CL:0000066 +Epi_stratified epithelial cell of stratum germinativum of esophagus CL:1000447 +Epi_suprabasal epithelial cell CL:0000066 +Epi_upper epithelial cell CL:0000066 +Fibroblast fibroblast CL:0000057 +Glands_duct glandular cell of esophagus CL:0002657 +Glands_mucous epithelial cell of esophagus CL:0002252 +ILC innate lymphoid cell CL:0001065 +Lymph_vessel endothelial cell of lymphatic vessel CL:0002138 +Macrophage macrophage CL:0000235 +Macrophage_Dividing macrophage CL:0000235 +Macrophage_MARCOneg macrophage CL:0000235 +Macrophage_MARCOpos macrophage CL:0000235 +Mast_cell mast cell CL:0000097 +Mast_cells mast cell CL:0000097 +Mono_macro myeloid leukocyte CL:0000766 +Monocyte monocyte CL:0000576 +Muscle_cells muscle cell CL:0000187 +NK natural killer cell CL:0000623 +NK_CD160pos CD16-positive, CD56-dim natural killer cell, human CL:0000939 +NK_Dividing natural killer cell CL:0000623 +NK_FCGR3Apos natural killer cell CL:0000623 +NK_T_CD8_Cytotoxic mature NK T cell CL:0000814 +NK_dividing natural killer cell CL:0000623 +Plasma_IgG IgG short lived plasma cell CL:0000977 +Plasma_IgM IgM plasma cell CL:0000986 +Plasma_cells plasma cell CL:0000786 +Plasmablast plasmablast CL:0000980 +Platelet platelet CL:0000233 +Stroma UNKNOWN UNKNOWN +T_CD4 CD4-positive, alpha-beta T cell CL:0000624 +T_CD4_conv CD4-positive, alpha-beta T cell CL:0000624 +T_CD4_fh T follicular helper cell CL:0002038 +T_CD4_naive naive thymus-derived CD4-positive, alpha-beta T cell CL:0000895 +T_CD4_reg CD4-positive, CD25-positive, alpha-beta regulatory T cell CL:0000792 +T_CD8 CD8-positive, alpha-beta T cell CL:0000625 +T_CD8_CTL CD8-positive, alpha-beta cytotoxic T cell CL:0000794 +T_CD8_CytT CD8-positive, alpha-beta cytotoxic T cell CL:0000794 +T_CD8_MAIT mucosal invariant T cell CL:0000940 +T_CD8_activated activated CD8-positive, alpha-beta T cell, human CL:0001049 +T_CD8_gd CD8-alpha alpha positive, gamma-delta intraepithelial T cell CL:0000802 +T_cell_dividing T cell CL:0000084 +T_cells_Dividing T cell CL:0000084 +T_regulatory regulatory T cell CL:0000815 +Unknown UNKNOWN UNKNOWN diff --git a/sfaira/data/dataloaders/loaders/d10_15252_embj_2018100811/__init__.py b/sfaira/data/dataloaders/loaders/d10_15252_embj_2018100811/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_15252_embj_2018100811/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/d10_15252_embj_2018100811/human_retina_2019_10xsequencing_lukowski_001.py b/sfaira/data/dataloaders/loaders/d10_15252_embj_2018100811/human_retina_2019_10xsequencing_lukowski_001.py new file mode 100644 index 000000000..5385e38fd --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_15252_embj_2018100811/human_retina_2019_10xsequencing_lukowski_001.py @@ -0,0 +1,40 @@ +import anndata +import os +import numpy as np +import scipy.sparse + +from sfaira.data import DatasetBase + + +class Dataset(DatasetBase): + + def __init__(self, **kwargs): + super().__init__(**kwargs) + + self.download_url_data = "https://covid19.cog.sanger.ac.uk/lukowski19.processed.h5ad" + self.download_url_meta = None + + self.assay_sc = "10x sequencing" + self.author = "Lukowski" + self.disease = "healthy" + self.doi = "10.15252/embj.2018100811" + self.normalization = "raw" + self.organ = "retina" + self.organism = "human" + self.sample_source = "primary_tissue" + self.year = 2019 + + self.gene_id_symbols_var_key = "index" + self.gene_id_ensembl_var_key = "gene_ids" + self.cell_types_original_obs_key = "CellType" + + self.set_dataset_id(idx=1) + + +def load(data_dir, **kwargs): + fn = os.path.join(data_dir, "lukowski19.processed.h5ad") + adata = anndata.read(fn) + adata.X = np.expm1(adata.X) + adata.X = adata.X.multiply(scipy.sparse.csc_matrix(adata.obs["n_counts"].values[:, None])).multiply(1 / 10000) + + return adata diff --git a/sfaira/data/dataloaders/loaders/d10_15252_embj_2018100811/human_retina_2019_10xsequencing_lukowski_001.tsv b/sfaira/data/dataloaders/loaders/d10_15252_embj_2018100811/human_retina_2019_10xsequencing_lukowski_001.tsv new file mode 100644 index 000000000..2e1aed660 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/d10_15252_embj_2018100811/human_retina_2019_10xsequencing_lukowski_001.tsv @@ -0,0 +1,15 @@ +source target target_id +Muller cell Mueller cell CL:0000636 +amacrine cell amacrine cell CL:0000561 +microglial cell microglial cell CL:0000129 +retinal bipolar neuron type A retinal bipolar neuron CL:0000748 +retinal bipolar neuron type B retinal bipolar neuron CL:0000748 +retinal bipolar neuron type C retinal bipolar neuron CL:0000748 +retinal bipolar neuron type D retinal bipolar neuron CL:0000748 +retinal cone cell retinal cone cell CL:0000573 +retinal ganglion cell retinal ganglion cell CL:0000740 +retinal rod cell type A retinal rod cell CL:0000604 +retinal rod cell type B retinal rod cell CL:0000604 +retinal rod cell type C retinal rod cell CL:0000604 +unannotated UNKNOWN UNKNOWN +unspecified UNKNOWN UNKNOWN diff --git a/sfaira/data/dataloaders/loaders/dno_doi_10x_genomics/__init__.py b/sfaira/data/dataloaders/loaders/dno_doi_10x_genomics/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/dno_doi_10x_genomics/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/dno_doi_10x_genomics/human_blood_2019_10xsequencing_10xgenomics_001.py b/sfaira/data/dataloaders/loaders/dno_doi_10x_genomics/human_blood_2019_10xsequencing_10xgenomics_001.py new file mode 100644 index 000000000..b4bd78bc8 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/dno_doi_10x_genomics/human_blood_2019_10xsequencing_10xgenomics_001.py @@ -0,0 +1,61 @@ +import os +import scipy.sparse +import anndata as ad +import numpy as np +import tables + +from sfaira.data import DatasetBase + + +class Dataset(DatasetBase): + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = \ + "http://cf.10xgenomics.com/samples/cell-exp/3.0.0/pbmc_10k_v3/pbmc_10k_v3_filtered_feature_bc_matrix.h5" + self.download_url_meta = None + + self.assay_sc = "10x sequencing" + self.author = "10x Genomics" + self.disease = "healthy" + self.doi = "no_doi_10x_genomics" + self.normalization = "raw" + self.organ = "blood" + self.organism = "human" + self.sample_source = "primary_tissue" + self.year = 2019 + + self.gene_id_symbols_var_key = "index" + self.gene_id_ensembl_var_key = "gene_ids" + + self.set_dataset_id(idx=1) + + +def load(data_dir, **kwargs): + fn = os.path.join(data_dir, "pbmc_10k_v3_filtered_feature_bc_matrix.h5") + with tables.open_file(str(fn), 'r') as f: + dsets = {} + for node in f.walk_nodes('/matrix', 'Array'): + dsets[node.name] = node.read() + + M, N = dsets['shape'] + data = dsets['data'] + if dsets['data'].dtype == np.dtype('int32'): + data = dsets['data'].view('float32') + data[:] = dsets['data'] + matrix = scipy.sparse.csr_matrix( + (data, dsets['indices'], dsets['indptr']), + shape=(N, M), + ) + adata = ad.AnnData( + matrix, + dict(obs_names=dsets['barcodes'].astype(str)), + dict( + var_names=dsets['name'].astype(str), + gene_ids=dsets['id'].astype(str), + feature_types=dsets['feature_type'].astype(str), + genome=dsets['genome'].astype(str), + ), + ) + + return adata diff --git a/sfaira/data/dataloaders/loaders/dno_doi_regev/__init__.py b/sfaira/data/dataloaders/loaders/dno_doi_regev/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/data/dataloaders/loaders/dno_doi_regev/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/data/dataloaders/loaders/dno_doi_regev/human_x_2018_10xsequencing_regev_001.py b/sfaira/data/dataloaders/loaders/dno_doi_regev/human_x_2018_10xsequencing_regev_001.py new file mode 100644 index 000000000..2d8ad20a1 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/dno_doi_regev/human_x_2018_10xsequencing_regev_001.py @@ -0,0 +1,36 @@ +import anndata +import os + +from sfaira.data import DatasetBase + + +class Dataset(DatasetBase): + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.download_url_data = "https://data.humancellatlas.org/project-assets/project-matrices/" \ + "cc95ff89-2e68-4a08-a234-480eca21ce79.homo_sapiens.loom" + self.download_url_meta = None + + self.assay_sc = "10x sequencing" + self.author = "Regev" + self.disease = "healthy" + self.doi = "no_doi_regev" + self.normalization = "raw" + self.organ_obs_key = "derived_organ_parts_label" + self.organism = "human" + self.sample_source = "primary_tissue" + self.year = 2018 + + self.gene_id_symbols_var_key = "index" + self.gene_id_ensembl_var_key = "Accession" + + self.set_dataset_id(idx=1) + + +def load(data_dir, **kwargs): + fn = os.path.join(data_dir, "cc95ff89-2e68-4a08-a234-480eca21ce79.homo_sapiens.loom") + adata = anndata.read_loom(fn) + adata = adata[adata.obs["emptydrops_is_cell"] == "t"].copy() + + return adata diff --git a/sfaira/data/dataloaders/loaders/super_group.py b/sfaira/data/dataloaders/loaders/super_group.py new file mode 100644 index 000000000..456787694 --- /dev/null +++ b/sfaira/data/dataloaders/loaders/super_group.py @@ -0,0 +1,46 @@ +import pydoc +import os +from typing import List, Union +from warnings import warn +from sfaira.data import DatasetSuperGroup, DatasetGroupDirectoryOriented + + +class DatasetSuperGroupLoaders(DatasetSuperGroup): + + dataset_groups: List[DatasetGroupDirectoryOriented] + + def __init__( + self, + data_path: Union[str, None] = None, + meta_path: Union[str, None] = None, + cache_path: Union[str, None] = None, + ): + """ + Class that sits on top of a directory of data set directories that each contain a data set group. + + :param file_base: + :param dir_prefix: Prefix to sub-select directories by. Set to "" for no constraints. + :param data_path: + :param meta_path: + :param cache_path: + """ + # Directory choice hyperparamters: + dir_prefix = "d" + dir_exclude = [] + # Collect all data loaders from files in directory: + dataset_groups = [] + cwd = os.path.dirname(__file__) + for f in os.listdir(cwd): + if os.path.isdir(os.path.join(cwd, f)): # only directories + if f[:len(dir_prefix)] == dir_prefix and f not in dir_exclude: # Narrow down to data set directories + path_dsg = pydoc.locate(f"sfaira.data.dataloaders.loaders.{f}.FILE_PATH") + if path_dsg is not None: + dataset_groups.append(DatasetGroupDirectoryOriented( + file_base=path_dsg, + data_path=data_path, + meta_path=meta_path, + cache_path=cache_path + )) + else: + warn(f"DatasetGroupDirectoryOriented was None for {f}") + super().__init__(dataset_groups=dataset_groups) diff --git a/sfaira/data/dataloaders/super_group.py b/sfaira/data/dataloaders/super_group.py new file mode 100644 index 000000000..316560f8a --- /dev/null +++ b/sfaira/data/dataloaders/super_group.py @@ -0,0 +1,47 @@ +from typing import Union + +try: + import sfaira_extension as sfairae +except ImportError: + sfairae = None + +from sfaira.data.dataloaders.loaders import DatasetSuperGroupLoaders +from sfaira.data.dataloaders.databases import DatasetSuperGroupDatabases +from sfaira.data import DatasetSuperGroup + + +class Universe(DatasetSuperGroup): + + def __init__( + self, + data_path: Union[str, None] = None, + meta_path: Union[str, None] = None, + cache_path: Union[str, None] = None, + ): + """ + Nested super group of data loaders, unifying data set wise data loader SuperGroup and the database + interface SuperGroup. + + :param data_path: + :param meta_path: + :param cache_path: + """ + dsgs = [ + DatasetSuperGroupLoaders( + data_path=data_path, + meta_path=meta_path, + cache_path=cache_path, + ), + DatasetSuperGroupDatabases( + data_path=data_path, + meta_path=meta_path, + cache_path=cache_path, + ) + ] + if sfairae is not None: + dsgs.append(sfairae.data.dataloaders.loaders.DatasetSuperGroupLoaders( + data_path=data_path, + meta_path=meta_path, + cache_path=cache_path, + )) + super().__init__(dataset_groups=dsgs) diff --git a/sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb b/sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb deleted file mode 100644 index 156861dd0..000000000 --- a/sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb +++ /dev/null @@ -1,411 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Human Cell Landscape Preprocessing\n", - "This jupyter notebook contains the code that is required to prepare the full Human Cell Landscape single cell dataset (Han et al., 2020. doi: 10.1038/s41586-020-2157-4) for use through sfaira dataloaders. The code downloads, annotates and cleans the provided adata pbject, saves it by sample and copies it into the right folders in your local sfaira dataset repository, so you can use it with sfaira dataloaders. The notebook saves all files in its working directory and requires you to provide the path to your local sfaira dataset repository in the last cell of this notebook." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/opt/python/lib/python3.7/site-packages/anndata/_core/anndata.py:21: FutureWarning: pandas.core.index is deprecated and will be removed in a future version. The public classes are available in the top-level namespace.\n", - " from pandas.core.index import RangeIndex\n" - ] - } - ], - "source": [ - "import pandas as pd\n", - "import urllib.request\n", - "import numpy as np\n", - "import anndata as ad\n", - "import scipy.sparse\n", - "import os\n", - "import zipfile\n", - "from sfaira.versions.genome_versions.class_interface import SuperGenomeContainer" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "('HCL_Fig1_adata.h5ad', )\n", - "('HCL_Fig1_cell_Info.xlsx', )\n", - "('annotation_rmbatch_data_revised417.zip', )\n" - ] - } - ], - "source": [ - "# download required files from human cell landscape publication data: https://figshare.com/articles/HCL_DGE_Data/7235471\n", - "print(urllib.request.urlretrieve('https://ndownloader.figshare.com/files/17727365', 'HCL_Fig1_adata.h5ad'))\n", - "print(urllib.request.urlretrieve('https://ndownloader.figshare.com/files/21758835', 'HCL_Fig1_cell_Info.xlsx'))\n", - "print(urllib.request.urlretrieve('https://ndownloader.figshare.com/files/22447898', 'annotation_rmbatch_data_revised417.zip'))" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "# extract the downloaded zip archive\n", - "with zipfile.ZipFile('annotation_rmbatch_data_revised417.zip', 'r') as zip_ref:\n", - " zip_ref.extractall('./')" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "# load data file\n", - "adata = ad.read('HCL_Fig1_adata.h5ad')" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "adrenalgland 43476\n", - "stomach 41963\n", - "kidney 40691\n", - "blood 35533\n", - "lung 33698\n", - "brain 30493\n", - "liver 28501\n", - "pancreas 28473\n", - "colon 22301\n", - "pleura 19695\n", - "spleen 15806\n", - "malegonad 13211\n", - "omentum 12812\n", - "thyroid 12647\n", - "esophagus 11364\n", - "heart 10783\n", - "trachea 9949\n", - "chorionicvillus 9898\n", - "gallbladder 9769\n", - "artery 9652\n", - "placenta 9595\n", - "bladder 9048\n", - "bone 8704\n", - "cervix 8096\n", - "muscle 7775\n", - "uterus 7694\n", - "skin 6991\n", - "femalegonad 6941\n", - "fallopiantube 6556\n", - "rib 5992\n", - "spinalcord 5916\n", - "rectum 5718\n", - "jejunum 5549\n", - "calvaria 5129\n", - "duodenum 4681\n", - "thymus 4516\n", - "epityphlon 4486\n", - "ileum 3367\n", - "prostate 2445\n", - "ureter 2390\n", - "eye 1880\n", - "hesc 1660\n", - "adipose 1372\n", - "Name: organ, dtype: int64" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# convert to sparse matrix\n", - "adata.X = scipy.sparse.csr_matrix(adata.X).copy()\n", - "\n", - "# harmonise annotations\n", - "for col in ['batch', 'tissue']:\n", - " adata.obs[col] = adata.obs[col].astype('str')\n", - "adata.obs.index = adata.obs.index.str.replace('AdultJeJunum', 'AdultJejunum', regex=True).str.replace('AdultGallBladder', 'AdultGallbladder', regex=True).str.replace('FetalFemaleGonald', 'FetalFemaleGonad', regex=True)\n", - "adata.obs.replace({'AdultJeJunum': 'AdultJejunum', 'AdultGallBladder': 'AdultGallbladder', 'FetalFemaleGonald': 'FetalFemaleGonad'}, regex=True, inplace=True)\n", - "adata.obs.index = [\"-\".join(i.split('-')[:-1]) for i in adata.obs.index]\n", - "\n", - "# load celltype labels and harmonise them\n", - "fig1_anno = pd.read_excel('HCL_Fig1_cell_Info.xlsx', index_col='cellnames')\n", - "fig1_anno.index = fig1_anno.index.str.replace('AdultJeJunum', 'AdultJejunum', regex=True).str.replace('AdultGallBladder', 'AdultGallbladder', regex=True).str.replace('FetalFemaleGonald', 'FetalFemaleGonad', regex=True)\n", - "\n", - "# check that the order of cells and cell labels is the same\n", - "assert np.all(fig1_anno.index == adata.obs.index)\n", - "\n", - "# add annotations to adata object and rename columns\n", - "adata.obs = pd.concat([adata.obs, fig1_anno[['cluster', 'stage', 'donor', 'celltype']]], axis=1)\n", - "adata.obs.columns = ['sample', 'tissue', 'n_genes', 'n_counts', 'cluster_global', 'stage', 'donor', 'celltype_global']\n", - "\n", - "# add sample-wise annotations to the full adata object\n", - "df = pd.DataFrame(columns=['Cell_barcode', 'Sample', 'Batch', 'Cell_id', 'Cluster_id', 'Ages', 'Development_stage', 'Method', 'Gender', 'Source', 'Biomaterial', 'Name', 'ident', 'Celltype'])\n", - "for f in os.listdir('annotation_rmbatch_data_revised417/'):\n", - " df1 = pd.read_csv('annotation_rmbatch_data_revised417/'+f, encoding='unicode_escape')\n", - " df = pd.concat([df, df1], sort=True)\n", - "df = df.set_index('Cell_id')\n", - "adata = adata[[i in df.index for i in adata.obs.index]].copy()\n", - "a_idx = adata.obs.index.copy()\n", - "adata.obs = pd.concat([adata.obs, df[['Ages', 'Celltype', 'Cluster_id', 'Gender', 'Method', 'Source']]], axis=1)\n", - "assert np.all(a_idx == adata.obs.index)\n", - "\n", - "# remove mouse cells from the object\n", - "adata = adata[adata.obs['Source'] != 'MCA2.0'].copy()\n", - "\n", - "# tidy up the column names of the obs annotations\n", - "adata.obs.columns = ['sample', 'sub_tissue', 'n_genes', 'n_counts', 'cluster_global', 'dev_stage',\n", - " 'donor', 'celltype_global', 'age', 'celltype_specific', 'cluster_specific', 'gender',\n", - " 'protocol', 'source']\n", - "\n", - "# create some annotations that are used in sfaira\n", - "adata.obs[\"healthy\"] = True\n", - "adata.obs[\"state_exact\"] = 'healthy'\n", - "adata.obs[\"cell_ontology_class\"] = adata.obs[\"celltype_global\"]\n", - "adata.obs[\"cell_ontology_id\"] = None\n", - "\n", - "# convert gene ids to ensembl ids and store both\n", - "gc = SuperGenomeContainer(species='human', genome='Homo_sapiens_GRCh38_97')\n", - "id_dict = gc.names_to_id_dict\n", - "adata.var = adata.var.reset_index().rename({'index': 'names'}, axis='columns')\n", - "adata.var['ensembl'] = [id_dict[n] if n in id_dict.keys() else 'n/a' for n in adata.var['names']]\n", - "adata.var.index = adata.var['ensembl'].values\n", - "\n", - "# create a tidy organ annotaion which is then used in sfaira\n", - "adata.obs['organ'] = adata.obs['sub_tissue'] \\\n", - " .str.replace(\"Adult\", \"\") \\\n", - " .str.replace(\"Fetal\", \"\") \\\n", - " .str.replace(\"Neonatal\", \"\") \\\n", - " .str.replace(\"Transverse\", \"\") \\\n", - " .str.replace(\"Sigmoid\", \"\") \\\n", - " .str.replace(\"Ascending\", \"\") \\\n", - " .str.replace(\"Cord\", \"\") \\\n", - " .str.replace(\"Peripheral\", \"\") \\\n", - " .str.replace(\"CD34P\", \"\") \\\n", - " .str.replace(\"Cerebellum\", \"Brain\") \\\n", - " .str.replace(\"TemporalLobe\", \"Brain\") \\\n", - " .str.replace(\"BoneMarrow\", \"Bone\") \\\n", - " .str.replace(\"Spinal\", \"SpinalCord\") \\\n", - " .str.replace(\"Intestine\", \"Stomach\") \\\n", - " .str.replace(\"Eyes\", \"Eye\") \\\n", - " .str.lower()\n", - "\n", - "# print the number of cells per organ\n", - "adata.obs['organ'].value_counts()" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "... storing 'sample' as categorical\n", - "... storing 'sub_tissue' as categorical\n", - "... storing 'dev_stage' as categorical\n", - "... storing 'donor' as categorical\n", - "... storing 'celltype_global' as categorical\n", - "... storing 'age' as categorical\n", - "... storing 'celltype_specific' as categorical\n", - "... storing 'cluster_specific' as categorical\n", - "... storing 'gender' as categorical\n", - "... storing 'protocol' as categorical\n", - "... storing 'source' as categorical\n", - "... storing 'state_exact' as categorical\n", - "... storing 'cell_ontology_class' as categorical\n", - "... storing 'cell_ontology_id' as categorical\n", - "... storing 'organ' as categorical\n", - "... storing 'ensembl' as categorical\n" - ] - } - ], - "source": [ - "# write full adata object to disk\n", - "adata.write('HCL_processed.h5ad')" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n", - "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n" - ] - } - ], - "source": [ - "# write separate files per sample as used in sfaira\n", - "os.mkdir('hcl_organs/')\n", - "for i in adata.obs['sample'].unique():\n", - " a = adata[adata.obs['sample'] == i].copy()\n", - " a.write('hcl_organs/hcl_{}.h5ad'.format(i))" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "# copy the seperate h5ad files into your sfaira data repository\n", - "your_datarepository = '/path/to/repository' # path to the folder that contains the 'human' and 'mouse' directories\n", - "for samplefile in os.listdir('hcl_organs/'):\n", - " if samplefile.startswith('hcl_'):\n", - " a = ad.read('hcl_organs/'+samplefile)\n", - " organ = a.obs['organ'][0]\n", - " if organ not in os.listdir(f\"{your_datarepository}/human\"):\n", - " os.mkdir(f\"{your_datarepository}/human/{organ}\")\n", - " a.write(f'{your_datarepository}/human/{organ}/{samplefile}')" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.7" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/sfaira/data/download_scripts/get_batch_download_mouse.sh b/sfaira/data/download_scripts/get_batch_download_mouse.sh deleted file mode 100644 index 58a7e3e96..000000000 --- a/sfaira/data/download_scripts/get_batch_download_mouse.sh +++ /dev/null @@ -1,87 +0,0 @@ -# tabula muris sense -## full objects -#wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-bbknn-processed-official-annotations.h5ad -#wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-droplet-official-raw-obj.h5ad -#wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-facs-official-raw-obj.h5ad -## by organ -mkdir -p bladder -cd bladder -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-droplet-processed-official-annotations-Bladder.h5ad -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-facs-processed-official-annotations-Bladder.h5ad -mkdir -p ../brain -cd ../brain -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-facs-processed-official-annotations-Brain_Myeloid.h5ad -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-facs-processed-official-annotations-Brain_Non-Myeloid.h5ad -mkdir -p ../diaphragm -cd ../diaphragm -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-facs-processed-official-annotations-Diaphragm.h5ad -mkdir -p ../fat -cd ../fat -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-facs-processed-official-annotations-BAT.h5ad -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-facs-processed-official-annotations-GAT.h5ad -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-facs-processed-official-annotations-MAT.h5ad -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-facs-processed-official-annotations-SCAT.h5ad -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-droplet-processed-official-annotations-Fat.h5ad -mkdir -p ../ -cd ../heart -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-facs-processed-official-annotations-Aorta.h5ad -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-facs-processed-official-annotations-Heart.h5ad -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-droplet-processed-official-annotations-Heart_and_Aorta.h5ad -mkdir -p ../kidney -cd ../kidney -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-droplet-processed-official-annotations-Kidney.h5ad -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-facs-processed-official-annotations-Kidney.h5ad -mkdir -p ../large_intestine -cd ../large_intestine -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-droplet-processed-official-annotations-Large_Intestine.h5ad -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-facs-processed-official-annotations-Large_Intestine.h5ad -mkdir -p ../ -cd ../limb_muscle -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-droplet-processed-official-annotations-Limb_Muscle.h5ad -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-facs-processed-official-annotations-Limb_Muscle.h5ad -mkdir -p ../liver -cd ../liver -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-droplet-processed-official-annotations-Liver.h5ad -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-facs-processed-official-annotations-Liver.h5ad -mkdir -p ../lung -cd ../lung -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-droplet-processed-official-annotations-Lung.h5ad -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-facs-processed-official-annotations-Lung.h5ad -mkdir -p ../mammary_gland -cd ../mammary_gland -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-droplet-processed-official-annotations-Mammary_Gland.h5ad -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-facs-processed-official-annotations-Mammary_Gland.h5ad -mkdir -p ../marrow -cd ../marrow -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-droplet-processed-official-annotations-Marrow.h5ad -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-facs-processed-official-annotations-Marrow.h5ad -mkdir -p ../pancreas -cd ../pancreas -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-droplet-processed-official-annotations-Pancreas.h5ad -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-facs-processed-official-annotations-Pancreas.h5ad -mkdir -p ../skin -cd ../skin -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-droplet-processed-official-annotations-Skin.h5ad -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-facs-processed-official-annotations-Skin.h5ad -mkdir -p ../spleen -cd ../spleen -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-facs-processed-official-annotations-Spleen.h5ad -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-droplet-processed-official-annotations-Spleen.h5ad -mkdir -p ../thymus -cd ../thymus -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-facs-processed-official-annotations-Thymus.h5ad -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-droplet-processed-official-annotations-Thymus.h5ad -mkdir -p ../tongue -cd ../tongue -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-droplet-processed-official-annotations-Tongue.h5ad -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-facs-processed-official-annotations-Tongue.h5ad -mkdir -p ../trachea -cd ../trachea -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-droplet-processed-official-annotations-Trachea.h5ad -wget https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/tabula-muris-senis-facs-processed-official-annotations-Trachea.h5ad - -# ENCODE3 -## full objects -cd ../all -wget https://cells.ucsc.edu/mouse-limb/C1_200325/200315_C1_categorical.h5ad -wget https://cells.ucsc.edu/mouse-limb/10x/200120_10x.h5ad diff --git a/sfaira/data/external.py b/sfaira/data/external.py deleted file mode 100644 index b7f8e0ee3..000000000 --- a/sfaira/data/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.versions.genome_versions import SuperGenomeContainer diff --git a/sfaira/data/human/__init__.py b/sfaira/data/human/__init__.py deleted file mode 100644 index d986a9781..000000000 --- a/sfaira/data/human/__init__.py +++ /dev/null @@ -1,44 +0,0 @@ -from .adipose import DatasetGroupAdipose -from .adrenalgland import DatasetGroupAdrenalgland -from .mixed import DatasetGroupMixed -from .artery import DatasetGroupArtery -from .bladder import DatasetGroupBladder -from .blood import DatasetGroupBlood -from .bone import DatasetGroupBone -from .brain import DatasetGroupBrain -from .calvaria import DatasetGroupCalvaria -from .cervix import DatasetGroupCervix -from .chorionicvillus import DatasetGroupChorionicvillus -from .colon import DatasetGroupColon -from .duodenum import DatasetGroupDuodenum -from .epityphlon import DatasetGroupEpityphlon -from .esophagus import DatasetGroupEsophagus -from .eye import DatasetGroupEye -from .fallopiantube import DatasetGroupFallopiantube -from .femalegonad import DatasetGroupFemalegonad -from .gallbladder import DatasetGroupGallbladder -from .heart import DatasetGroupHeart -from .hesc import DatasetGroupHesc -from .ileum import DatasetGroupIleum -from .jejunum import DatasetGroupJejunum -from .kidney import DatasetGroupKidney -from .liver import DatasetGroupLiver -from .lung import DatasetGroupLung -from .malegonad import DatasetGroupMalegonad -from .muscle import DatasetGroupMuscle -from .omentum import DatasetGroupOmentum -from .pancreas import DatasetGroupPancreas -from .placenta import DatasetGroupPlacenta -from .pleura import DatasetGroupPleura -from .prostate import DatasetGroupProstate -from .rectum import DatasetGroupRectum -from .rib import DatasetGroupRib -from .skin import DatasetGroupSkin -from .spinalcord import DatasetGroupSpinalcord -from .spleen import DatasetGroupSpleen -from .stomach import DatasetGroupStomach -from .thymus import DatasetGroupThymus -from .thyroid import DatasetGroupThyroid -from .trachea import DatasetGroupTrachea -from .ureter import DatasetGroupUreter -from .uterus import DatasetGroupUterus diff --git a/sfaira/data/human/adipose/__init__.py b/sfaira/data/human/adipose/__init__.py deleted file mode 100644 index 93e95d11c..000000000 --- a/sfaira/data/human/adipose/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_adipose import DatasetGroupAdipose diff --git a/sfaira/data/human/adipose/external.py b/sfaira/data/human/adipose/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/adipose/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/adipose/human_adipose.py b/sfaira/data/human/adipose/human_adipose.py deleted file mode 100644 index 9994507ab..000000000 --- a/sfaira/data/human/adipose/human_adipose.py +++ /dev/null @@ -1,26 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_adipose_2020_microwell_han_001 import Dataset as Dataset0001 - - -class DatasetGroupAdipose(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupAdipose - self.datasets.update(DatasetGroupAdipose().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/adipose/human_adipose_2020_microwell_han_001.py b/sfaira/data/human/adipose/human_adipose_2020_microwell_han_001.py deleted file mode 100644 index ce2a52aff..000000000 --- a/sfaira/data/human/adipose/human_adipose_2020_microwell_han_001.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_adipose_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'adipose' - self.sub_tissue = 'AdultAdipose' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "adipose", "hcl_AdultAdipose_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/adrenalgland/__init__.py b/sfaira/data/human/adrenalgland/__init__.py deleted file mode 100644 index 4cfcfad3a..000000000 --- a/sfaira/data/human/adrenalgland/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_adrenalgland import DatasetGroupAdrenalgland diff --git a/sfaira/data/human/adrenalgland/external.py b/sfaira/data/human/adrenalgland/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/adrenalgland/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/adrenalgland/human_adrenalgland.py b/sfaira/data/human/adrenalgland/human_adrenalgland.py deleted file mode 100644 index 234a563a9..000000000 --- a/sfaira/data/human/adrenalgland/human_adrenalgland.py +++ /dev/null @@ -1,36 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_adrenalgland_2020_microwell_han_001 import Dataset as Dataset0001 -from .human_adrenalgland_2020_microwell_han_002 import Dataset as Dataset0002 -from .human_adrenalgland_2020_microwell_han_003 import Dataset as Dataset0003 -from .human_adrenalgland_2020_microwell_han_004 import Dataset as Dataset0004 -from .human_adrenalgland_2020_microwell_han_005 import Dataset as Dataset0005 -from .human_adrenalgland_2020_microwell_han_006 import Dataset as Dataset0006 - - -class DatasetGroupAdrenalgland(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path), - Dataset0004(path=path, meta_path=meta_path), - Dataset0005(path=path, meta_path=meta_path), - Dataset0006(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupAdrenalgland - self.datasets.update(DatasetGroupAdrenalgland().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_001.py b/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_001.py deleted file mode 100644 index 2cea78fb3..000000000 --- a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_001.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_adrenalgland_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'adrenalgland' - self.sub_tissue = 'NeonatalAdrenalGland' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "adrenalgland", "hcl_NeonatalAdrenalGland_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_002.py b/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_002.py deleted file mode 100644 index 8b5b750b6..000000000 --- a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_002.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_adrenalgland_2020_microwell_han_002_10.1038/s41586-020-2157-4" - self.organ = 'adrenalgland' - self.sub_tissue = 'FetalAdrenalGland' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "adrenalgland", "hcl_FetalAdrenalGland_2.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_003.py b/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_003.py deleted file mode 100644 index a3a80ef5c..000000000 --- a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_003.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_adrenalgland_2020_microwell_han_003_10.1038/s41586-020-2157-4" - self.organ = 'adrenalgland' - self.sub_tissue = 'FetalAdrenalGland' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "adrenalgland", "hcl_FetalAdrenalGland_3.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_004.py b/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_004.py deleted file mode 100644 index 9f35b56a1..000000000 --- a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_004.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_adrenalgland_2020_microwell_han_004_10.1038/s41586-020-2157-4" - self.organ = 'adrenalgland' - self.sub_tissue = 'AdultAdrenalGland' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "adrenalgland", "hcl_AdultAdrenalGland_3.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_005.py b/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_005.py deleted file mode 100644 index 11adf9ee1..000000000 --- a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_005.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_adrenalgland_2020_microwell_han_005_10.1038/s41586-020-2157-4" - self.organ = 'adrenalgland' - self.sub_tissue = 'FetalAdrenalGland' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "adrenalgland", "hcl_FetalAdrenalGland_4.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_006.py b/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_006.py deleted file mode 100644 index 3d887b371..000000000 --- a/sfaira/data/human/adrenalgland/human_adrenalgland_2020_microwell_han_006.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_adrenalgland_2020_microwell_han_006_10.1038/s41586-020-2157-4" - self.organ = 'adrenalgland' - self.sub_tissue = 'AdultAdrenalGland' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "adrenalgland", "hcl_AdultAdrenalGland_2.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/artery/__init__.py b/sfaira/data/human/artery/__init__.py deleted file mode 100644 index b6d2b14a5..000000000 --- a/sfaira/data/human/artery/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_artery import DatasetGroupArtery diff --git a/sfaira/data/human/artery/external.py b/sfaira/data/human/artery/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/artery/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/artery/human_artery.py b/sfaira/data/human/artery/human_artery.py deleted file mode 100644 index 4575d1b6a..000000000 --- a/sfaira/data/human/artery/human_artery.py +++ /dev/null @@ -1,26 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_artery_2020_microwell_han_001 import Dataset as Dataset0001 - - -class DatasetGroupArtery(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupArtery - self.datasets.update(DatasetGroupArtery().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/artery/human_artery_2020_microwell_han_001.py b/sfaira/data/human/artery/human_artery_2020_microwell_han_001.py deleted file mode 100644 index 773dd0e23..000000000 --- a/sfaira/data/human/artery/human_artery_2020_microwell_han_001.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_artery_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'artery' - self.sub_tissue = 'AdultArtery' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "artery", "hcl_AdultArtery_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/bladder/__init__.py b/sfaira/data/human/bladder/__init__.py deleted file mode 100644 index e85cb5318..000000000 --- a/sfaira/data/human/bladder/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_bladder import DatasetGroupBladder diff --git a/sfaira/data/human/bladder/external.py b/sfaira/data/human/bladder/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/bladder/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/bladder/human_bladder.py b/sfaira/data/human/bladder/human_bladder.py deleted file mode 100644 index d31620a7f..000000000 --- a/sfaira/data/human/bladder/human_bladder.py +++ /dev/null @@ -1,30 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_bladder_2020_microwell_han_001 import Dataset as Dataset0001 -from .human_bladder_2020_microwell_han_002 import Dataset as Dataset0002 -from .human_bladder_2020_microwell_han_003 import Dataset as Dataset0003 - - -class DatasetGroupBladder(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupBladder - self.datasets.update(DatasetGroupBladder().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/bladder/human_bladder_2020_microwell_han_001.py b/sfaira/data/human/bladder/human_bladder_2020_microwell_han_001.py deleted file mode 100644 index 3886a46fa..000000000 --- a/sfaira/data/human/bladder/human_bladder_2020_microwell_han_001.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_bladder_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'bladder' - self.sub_tissue = 'AdultBladder' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "bladder", "hcl_AdultBladder_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/bladder/human_bladder_2020_microwell_han_002.py b/sfaira/data/human/bladder/human_bladder_2020_microwell_han_002.py deleted file mode 100644 index 6e8233113..000000000 --- a/sfaira/data/human/bladder/human_bladder_2020_microwell_han_002.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_bladder_2020_microwell_han_002_10.1038/s41586-020-2157-4" - self.organ = 'bladder' - self.sub_tissue = 'AdultBladder' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "bladder", "hcl_AdultBladder_2.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/bladder/human_bladder_2020_microwell_han_003.py b/sfaira/data/human/bladder/human_bladder_2020_microwell_han_003.py deleted file mode 100644 index 3ed77905e..000000000 --- a/sfaira/data/human/bladder/human_bladder_2020_microwell_han_003.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_bladder_2020_microwell_han_003_10.1038/s41586-020-2157-4" - self.organ = 'bladder' - self.sub_tissue = 'AdultBladder' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "bladder", "hcl_AdultGallbladder_2.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/blood/__init__.py b/sfaira/data/human/blood/__init__.py deleted file mode 100644 index 54879d8e2..000000000 --- a/sfaira/data/human/blood/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_blood import DatasetGroupBlood diff --git a/sfaira/data/human/blood/external.py b/sfaira/data/human/blood/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/blood/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/blood/human_blood.py b/sfaira/data/human/blood/human_blood.py deleted file mode 100644 index e51216bce..000000000 --- a/sfaira/data/human/blood/human_blood.py +++ /dev/null @@ -1,42 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_blood_2018_10x_ica_001 import Dataset as Dataset0001 -from .human_blood_2019_10x_10xGenomics_001 import Dataset as Dataset0002 -from .human_blood_2020_microwell_han_001 import Dataset as Dataset0003 -from .human_blood_2020_microwell_han_002 import Dataset as Dataset0004 -from .human_blood_2020_microwell_han_003 import Dataset as Dataset0005 -from .human_blood_2020_microwell_han_004 import Dataset as Dataset0006 -from .human_blood_2020_microwell_han_005 import Dataset as Dataset0007 -from .human_blood_2020_microwell_han_006 import Dataset as Dataset0008 -from .human_blood_2020_microwell_han_007 import Dataset as Dataset0009 - - -class DatasetGroupBlood(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path), - Dataset0004(path=path, meta_path=meta_path), - Dataset0005(path=path, meta_path=meta_path), - Dataset0006(path=path, meta_path=meta_path), - Dataset0007(path=path, meta_path=meta_path), - Dataset0008(path=path, meta_path=meta_path), - Dataset0009(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupBlood - self.datasets.update(DatasetGroupBlood().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/blood/human_blood_2018_10x_ica_001.py b/sfaira/data/human/blood/human_blood_2018_10x_ica_001.py deleted file mode 100644 index 1079f1e00..000000000 --- a/sfaira/data/human/blood/human_blood_2018_10x_ica_001.py +++ /dev/null @@ -1,81 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import numpy as np - - -class Dataset(DatasetBase): - """ - This data loader supports reading of the downloaded raw data file if `load_raw=True` is passed to self.load() - To download the datafile required by this dataloader, use the link provided as the `download_website` attribute of - this class. For (up to 100-fold faster) repeated data loading, please pass `load_raw=False` when calling the - self.load() method. For this, you need to preprocess the raw files as below and place the resulting h5ad file in the - data folder of this organ: - - import anndata - import numpy as np - adata = anndata.read_loom('c95ff89-2e68-4a08-a234-480eca21ce79.homo_sapiens.loom') - idx = np.logical_and((adata.obs['derived_organ_parts_label'] == 'umbilical cord blood').values, (adata.obs['emptydrops_is_cell'] == 't').values) - adata = adata[idx].copy() - adata.write('ica_bone.h5ad') - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_blood_2018_10x_ica_001_unknown" - self.download_website = "https://data.humancellatlas.org/project-assets/project-matrices/cc95ff89-2e68-4a08-a234-480eca21ce79.homo_sapiens.loom" - self.download_website_meta = None - self.organ = "blood" - self.sub_tissue = "umbilical_cord_blood" - self.has_celltypes = False - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "blood", "cc95ff89-2e68-4a08-a234-480eca21ce79.homo_sapiens.loom") - self.adata = anndata.read_loom(fn) - idx = np.logical_and((self.adata.obs['derived_organ_parts_label'] == 'umbilical cord blood').values, - (self.adata.obs['emptydrops_is_cell'] == 't').values) - self.adata = self.adata[idx].copy() - - else: - if fn is None: - fn = os.path.join(self.path, "human", "blood", "ica_blood.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Regev' - self.adata.uns["year"] = 2018 - self.adata.uns["doi"] = None - self.adata.uns["protocol"] = '10x' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["cell_ontology_class"] = None - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col='Accession', new_index='ensembl') diff --git a/sfaira/data/human/blood/human_blood_2019_10x_10xGenomics_001.py b/sfaira/data/human/blood/human_blood_2019_10x_10xGenomics_001.py deleted file mode 100644 index e14c1e16f..000000000 --- a/sfaira/data/human/blood/human_blood_2019_10x_10xGenomics_001.py +++ /dev/null @@ -1,65 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This data loader requires manual preprocessing of the raw datafile. To download the data, use the link in the - `.download_website` attribute of this class. To create the file required by this dataloader, run the following - python code: - - import scanpy - scanpy.read_10x_h5('pbmc_10k_v3_filtered_feature_bc_matrix.h5').write('pbmc_10k_v3_filtered_feature_bc_matrix.h5ad') - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_blood_2019_10x_10xGenomics_001_unknown" - self.download_website = "http://cf.10xgenomics.com/samples/cell-exp/3.0.0/pbmc_10k_v3/pbmc_10k_v3_filtered_feature_bc_matrix.h5" - self.download_website_meta = None - self.organ = "blood" - self.sub_tissue = "pbmcs" - self.has_celltypes = False - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "blood", "pbmc_10k_v3_filtered_feature_bc_matrix.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = '10x Genomics' - self.adata.uns["year"] = 2019 - self.adata.uns["doi"] = None - self.adata.uns["protocol"] = '10x' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = "http://cf.10xgenomics.com/samples/cell-exp/3.0.0/pbmc_10k_v3/pbmc_10k_v3_filtered_feature_bc_matrix.h5" - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["cell_ontology_class"] = None - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col='gene_ids', new_index='ensembl') diff --git a/sfaira/data/human/blood/human_blood_2020_microwell_han_001.py b/sfaira/data/human/blood/human_blood_2020_microwell_han_001.py deleted file mode 100644 index 13a7ff87d..000000000 --- a/sfaira/data/human/blood/human_blood_2020_microwell_han_001.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_blood_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'blood' - self.sub_tissue = 'AdultPeripheralBlood' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "blood", "hcl_AdultPeripheralBlood_3.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/blood/human_blood_2020_microwell_han_002.py b/sfaira/data/human/blood/human_blood_2020_microwell_han_002.py deleted file mode 100644 index a66e761f3..000000000 --- a/sfaira/data/human/blood/human_blood_2020_microwell_han_002.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_blood_2020_microwell_han_002_10.1038/s41586-020-2157-4" - self.organ = 'blood' - self.sub_tissue = 'AdultPeripheralBlood' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "blood", "hcl_PeripheralBlood_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/blood/human_blood_2020_microwell_han_003.py b/sfaira/data/human/blood/human_blood_2020_microwell_han_003.py deleted file mode 100644 index fdc82a880..000000000 --- a/sfaira/data/human/blood/human_blood_2020_microwell_han_003.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_blood_2020_microwell_han_003_10.1038/s41586-020-2157-4" - self.organ = 'blood' - self.sub_tissue = 'CordBlood' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "blood", "hcl_CordBlood_2.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/blood/human_blood_2020_microwell_han_004.py b/sfaira/data/human/blood/human_blood_2020_microwell_han_004.py deleted file mode 100644 index 51906a462..000000000 --- a/sfaira/data/human/blood/human_blood_2020_microwell_han_004.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_blood_2020_microwell_han_004_10.1038/s41586-020-2157-4" - self.organ = 'blood' - self.sub_tissue = 'AdultPeripheralBlood' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "blood", "hcl_AdultPeripheralBlood_4.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/blood/human_blood_2020_microwell_han_005.py b/sfaira/data/human/blood/human_blood_2020_microwell_han_005.py deleted file mode 100644 index baabbc5e7..000000000 --- a/sfaira/data/human/blood/human_blood_2020_microwell_han_005.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_blood_2020_microwell_han_005_10.1038/s41586-020-2157-4" - self.organ = 'blood' - self.sub_tissue = 'CordBloodCD34P' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "blood", "hcl_CordBloodCD34P_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/blood/human_blood_2020_microwell_han_006.py b/sfaira/data/human/blood/human_blood_2020_microwell_han_006.py deleted file mode 100644 index 9c4a22bac..000000000 --- a/sfaira/data/human/blood/human_blood_2020_microwell_han_006.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_blood_2020_microwell_han_006_10.1038/s41586-020-2157-4" - self.organ = 'blood' - self.sub_tissue = 'CordBloodCD34P' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "blood", "hcl_CordBloodCD34P_2.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/blood/human_blood_2020_microwell_han_007.py b/sfaira/data/human/blood/human_blood_2020_microwell_han_007.py deleted file mode 100644 index e23ba514a..000000000 --- a/sfaira/data/human/blood/human_blood_2020_microwell_han_007.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_blood_2020_microwell_han_007_10.1038/s41586-020-2157-4" - self.organ = 'blood' - self.sub_tissue = 'CordBlood' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "blood", "hcl_CordBlood_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/bone/__init__.py b/sfaira/data/human/bone/__init__.py deleted file mode 100644 index bdf361783..000000000 --- a/sfaira/data/human/bone/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_bone import DatasetGroupBone diff --git a/sfaira/data/human/bone/external.py b/sfaira/data/human/bone/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/bone/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/bone/human_bone.py b/sfaira/data/human/bone/human_bone.py deleted file mode 100644 index 4cc46ad77..000000000 --- a/sfaira/data/human/bone/human_bone.py +++ /dev/null @@ -1,30 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_bone_2018_10x_ica_001 import Dataset as Dataset0001 -from .human_bone_2020_microwell_han_001 import Dataset as Dataset0002 -from .human_bone_2020_microwell_han_002 import Dataset as Dataset0003 - - -class DatasetGroupBone(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupBone - self.datasets.update(DatasetGroupBone().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/bone/human_bone_2018_10x_ica_001.py b/sfaira/data/human/bone/human_bone_2018_10x_ica_001.py deleted file mode 100644 index e9cb4ddc5..000000000 --- a/sfaira/data/human/bone/human_bone_2018_10x_ica_001.py +++ /dev/null @@ -1,81 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import numpy as np - - -class Dataset(DatasetBase): - """ - This data loader supports reading of the downloaded raw data file if `load_raw=True` is passed to self.load() - To download the datafile required by this dataloader, use the link provided as the `download_website` attribute of - this class. For (up to 100-fold faster) repeated data loading, please pass `load_raw=False` when calling the - self.load() method. For this, you need to preprocess the raw files as below and place the resulting h5ad file in the - data folder of this organ: - - import anndata - import numpy as np - adata = anndata.read_loom('c95ff89-2e68-4a08-a234-480eca21ce79.homo_sapiens.loom') - idx = np.logical_and((adata.obs['derived_organ_parts_label'] == 'bone marrow').values, (adata.obs['emptydrops_is_cell'] == 't').values) - adata = adata[idx].copy() - adata.write('ica_bone.h5ad') - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_bone_2018_10x_ica_unknown" - self.download_website = "https://data.humancellatlas.org/project-assets/project-matrices/cc95ff89-2e68-4a08-a234-480eca21ce79.homo_sapiens.loom" - self.download_website_meta = None - self.organ = "bone" - self.sub_tissue = "bone_marrow" - self.has_celltypes = False - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "bone", "cc95ff89-2e68-4a08-a234-480eca21ce79.homo_sapiens.loom") - self.adata = anndata.read_loom(fn) - idx = np.logical_and((self.adata.obs['derived_organ_parts_label'] == 'bone marrow').values, - (self.adata.obs['emptydrops_is_cell'] == 't').values) - self.adata = self.adata[idx].copy() - - else: - if fn is None: - fn = os.path.join(self.path, "human", "bone", "ica_bone.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Regev' - self.adata.uns["year"] = 2018 - self.adata.uns["doi"] = None - self.adata.uns["protocol"] = '10x' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["cell_ontology_class"] = None - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col='Accession', new_index='ensembl') diff --git a/sfaira/data/human/bone/human_bone_2020_microwell_han_001.py b/sfaira/data/human/bone/human_bone_2020_microwell_han_001.py deleted file mode 100644 index eed0fe2bf..000000000 --- a/sfaira/data/human/bone/human_bone_2020_microwell_han_001.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_bone_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'bone' - self.sub_tissue = 'AdultBoneMarrow' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "bone", "hcl_BoneMarrow_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/bone/human_bone_2020_microwell_han_002.py b/sfaira/data/human/bone/human_bone_2020_microwell_han_002.py deleted file mode 100644 index 25fdfb8fc..000000000 --- a/sfaira/data/human/bone/human_bone_2020_microwell_han_002.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_bone_2020_microwell_han_002_10.1038/s41586-020-2157-4" - self.organ = 'bone' - self.sub_tissue = 'AdultBoneMarrow' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "bone", "hcl_BoneMarrow_2.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/brain/__init__.py b/sfaira/data/human/brain/__init__.py deleted file mode 100644 index c1a0ef08b..000000000 --- a/sfaira/data/human/brain/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_brain import DatasetGroupBrain diff --git a/sfaira/data/human/brain/external.py b/sfaira/data/human/brain/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/brain/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/brain/human_brain.py b/sfaira/data/human/brain/human_brain.py deleted file mode 100644 index 3f2eedda9..000000000 --- a/sfaira/data/human/brain/human_brain.py +++ /dev/null @@ -1,38 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_brain_2017_DroNcSeq_habib_001 import Dataset as Dataset0001 -from .human_brain_2020_microwell_han_001 import Dataset as Dataset0002 -from .human_brain_2020_microwell_han_002 import Dataset as Dataset0003 -from .human_brain_2020_microwell_han_003 import Dataset as Dataset0004 -from .human_brain_2020_microwell_han_004 import Dataset as Dataset0005 -from .human_brain_2020_microwell_han_005 import Dataset as Dataset0006 -from .human_brain_2020_microwell_han_006 import Dataset as Dataset0007 - - -class DatasetGroupBrain(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path), - Dataset0004(path=path, meta_path=meta_path), - Dataset0005(path=path, meta_path=meta_path), - Dataset0006(path=path, meta_path=meta_path), - Dataset0007(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupBrain - self.datasets.update(DatasetGroupBrain().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/brain/human_brain_2017_DroNcSeq_habib_001.py b/sfaira/data/human/brain/human_brain_2017_DroNcSeq_habib_001.py deleted file mode 100644 index f5abe85a0..000000000 --- a/sfaira/data/human/brain/human_brain_2017_DroNcSeq_habib_001.py +++ /dev/null @@ -1,82 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import numpy as np -import scipy.sparse - - -class Dataset(DatasetBase): - """ - This data loader directly processes the raw data file which can be obtained from the `download_website` attribute of - this class. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_brain_2017_DroNcSeq_habib_001_10.1038/nmeth.4407" - self.download_website = "https://covid19.cog.sanger.ac.uk/habib17.processed.h5ad" - self.download_website_meta = None - self.organ = "brain" - self.sub_tissue = "hippocampus, prefrontal cortex" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'exPFC1': 'Glutamatergic neurons from the PFC 1', - 'exPFC2': 'Glutamatergic neurons from the PFC 2', - 'exDG': 'Granule neurons from the hip dentate gyrus region', - 'GABA1': 'GABAergic interneurons 1', - 'GABA2': 'GABAergic interneurons 2', - 'exCA3': 'Pyramidal neurons from the hip CA region 1', - 'exCA1': 'Pyramidal neurons from the hip CA region 2', - 'ODC1': 'Oligodendrocytes', - 'ASC1': 'Astrocytes 1', - 'OPC': 'Oligodendrocyte precursors', - 'ASC2': 'Astrocytes 2', - 'Unclassified': 'Unknown', - 'MG': 'Microglia', - 'NSC': 'Neuronal stem cells', - 'END': 'Endothelial cells', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "brain", "habib17.processed.h5ad") - self.adata = anndata.read(fn) - self.adata.X = np.expm1(self.adata.X) - self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['n_counts'].values[:, None]))\ - .multiply(1/10000) - - self.adata.uns["lab"] = "Regev" - self.adata.uns["year"] = 2017 - self.adata.uns["doi"] = "10.1038/nmeth.4407" - self.adata.uns["protocol"] = 'DroNcSeq' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["cell_ontology_class"] = self.adata.obs['CellType'] - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/human/brain/human_brain_2020_microwell_han_001.py b/sfaira/data/human/brain/human_brain_2020_microwell_han_001.py deleted file mode 100644 index e0a33c1f7..000000000 --- a/sfaira/data/human/brain/human_brain_2020_microwell_han_001.py +++ /dev/null @@ -1,93 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_brain_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'brain' - self.sub_tissue = 'FetalBrain' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'Astrocyte': 'Astrocyte', - 'B cell': 'B cell', - 'B cell (Plasmocyte)': 'B cell (Plasmocyte)', - 'CB CD34+': 'CB CD34+', - 'Dendritic cell': 'Dendritic cell', - 'Endothelial cell': 'Endothelial cells', - 'Endothelial cell (APC)': 'Endothelial cells', - 'Erythroid cell': 'Erythroid cell', - 'Erythroid progenitor cell (RP high)': 'Erythroid progenitor cell (RP high)', - 'Fetal Neuron': 'Fetal Neuron', - 'Fetal endocrine cell': 'Fetal endocrine cell', - 'Fetal enterocyte ': 'Fetal enterocyte ', - 'Fetal epithelial progenitor': 'Fetal epithelial progenitor', - 'Fetal mesenchymal progenitor': 'Fetal mesenchymal progenitor', - 'Fetal neuron': 'Fetal Neuron', - 'Fetal stromal cell': 'Fetal stromal cell', - 'Fibroblast': 'Fibroblast', - 'Gastric endocrine cell': 'Gastric endocrine cell', - 'Goblet cell': 'Goblet cell', - 'Macrophage': 'Macrophage', - 'Monocyte': 'Monocyte', - 'Neutrophil': 'Neutrophil', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Oligodendrocyte': 'Oligodendrocytes', - 'Primordial germ cell': 'Primordial germ cell', - 'Sinusoidal endothelial cell': 'Sinusoidal endothelial cell', - 'Smooth muscle cell': 'Smooth muscle cell', - 'Stromal cell': 'Stromal cell', - 'T cell': 'T cell', - 'hESC': 'Neuronal stem cells' - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "brain", "hcl_FetalBrain_4.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/brain/human_brain_2020_microwell_han_002.py b/sfaira/data/human/brain/human_brain_2020_microwell_han_002.py deleted file mode 100644 index c3ab3b15e..000000000 --- a/sfaira/data/human/brain/human_brain_2020_microwell_han_002.py +++ /dev/null @@ -1,93 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_brain_2020_microwell_han_002_10.1038/s41586-020-2157-4" - self.organ = 'brain' - self.sub_tissue = 'FetalBrain' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'Astrocyte': 'Astrocyte', - 'B cell': 'B cell', - 'B cell (Plasmocyte)': 'B cell (Plasmocyte)', - 'CB CD34+': 'CB CD34+', - 'Dendritic cell': 'Dendritic cell', - 'Endothelial cell': 'Endothelial cells', - 'Endothelial cell (APC)': 'Endothelial cells', - 'Erythroid cell': 'Erythroid cell', - 'Erythroid progenitor cell (RP high)': 'Erythroid progenitor cell (RP high)', - 'Fetal Neuron': 'Fetal Neuron', - 'Fetal endocrine cell': 'Fetal endocrine cell', - 'Fetal enterocyte ': 'Fetal enterocyte ', - 'Fetal epithelial progenitor': 'Fetal epithelial progenitor', - 'Fetal mesenchymal progenitor': 'Fetal mesenchymal progenitor', - 'Fetal neuron': 'Fetal Neuron', - 'Fetal stromal cell': 'Fetal stromal cell', - 'Fibroblast': 'Fibroblast', - 'Gastric endocrine cell': 'Gastric endocrine cell', - 'Goblet cell': 'Goblet cell', - 'Macrophage': 'Macrophage', - 'Monocyte': 'Monocyte', - 'Neutrophil': 'Neutrophil', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Oligodendrocyte': 'Oligodendrocytes', - 'Primordial germ cell': 'Primordial germ cell', - 'Sinusoidal endothelial cell': 'Sinusoidal endothelial cell', - 'Smooth muscle cell': 'Smooth muscle cell', - 'Stromal cell': 'Stromal cell', - 'T cell': 'T cell', - 'hESC': 'Neuronal stem cells' - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "brain", "hcl_FetalBrain_5.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/brain/human_brain_2020_microwell_han_003.py b/sfaira/data/human/brain/human_brain_2020_microwell_han_003.py deleted file mode 100644 index ffb523ad2..000000000 --- a/sfaira/data/human/brain/human_brain_2020_microwell_han_003.py +++ /dev/null @@ -1,93 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_brain_2020_microwell_han_003_10.1038/s41586-020-2157-4" - self.organ = 'brain' - self.sub_tissue = 'FetalBrain' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'Astrocyte': 'Astrocyte', - 'B cell': 'B cell', - 'B cell (Plasmocyte)': 'B cell (Plasmocyte)', - 'CB CD34+': 'CB CD34+', - 'Dendritic cell': 'Dendritic cell', - 'Endothelial cell': 'Endothelial cells', - 'Endothelial cell (APC)': 'Endothelial cells', - 'Erythroid cell': 'Erythroid cell', - 'Erythroid progenitor cell (RP high)': 'Erythroid progenitor cell (RP high)', - 'Fetal Neuron': 'Fetal Neuron', - 'Fetal endocrine cell': 'Fetal endocrine cell', - 'Fetal enterocyte ': 'Fetal enterocyte ', - 'Fetal epithelial progenitor': 'Fetal epithelial progenitor', - 'Fetal mesenchymal progenitor': 'Fetal mesenchymal progenitor', - 'Fetal neuron': 'Fetal Neuron', - 'Fetal stromal cell': 'Fetal stromal cell', - 'Fibroblast': 'Fibroblast', - 'Gastric endocrine cell': 'Gastric endocrine cell', - 'Goblet cell': 'Goblet cell', - 'Macrophage': 'Macrophage', - 'Monocyte': 'Monocyte', - 'Neutrophil': 'Neutrophil', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Oligodendrocyte': 'Oligodendrocytes', - 'Primordial germ cell': 'Primordial germ cell', - 'Sinusoidal endothelial cell': 'Sinusoidal endothelial cell', - 'Smooth muscle cell': 'Smooth muscle cell', - 'Stromal cell': 'Stromal cell', - 'T cell': 'T cell', - 'hESC': 'Neuronal stem cells' - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "brain", "hcl_FetalBrain_3.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/brain/human_brain_2020_microwell_han_004.py b/sfaira/data/human/brain/human_brain_2020_microwell_han_004.py deleted file mode 100644 index 0f0c931dc..000000000 --- a/sfaira/data/human/brain/human_brain_2020_microwell_han_004.py +++ /dev/null @@ -1,93 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_brain_2020_microwell_han_004_10.1038/s41586-020-2157-4" - self.organ = 'brain' - self.sub_tissue = 'AdultTemporalLobe' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'Astrocyte': 'Astrocyte', - 'B cell': 'B cell', - 'B cell (Plasmocyte)': 'B cell (Plasmocyte)', - 'CB CD34+': 'CB CD34+', - 'Dendritic cell': 'Dendritic cell', - 'Endothelial cell': 'Endothelial cells', - 'Endothelial cell (APC)': 'Endothelial cells', - 'Erythroid cell': 'Erythroid cell', - 'Erythroid progenitor cell (RP high)': 'Erythroid progenitor cell (RP high)', - 'Fetal Neuron': 'Fetal Neuron', - 'Fetal endocrine cell': 'Fetal endocrine cell', - 'Fetal enterocyte ': 'Fetal enterocyte ', - 'Fetal epithelial progenitor': 'Fetal epithelial progenitor', - 'Fetal mesenchymal progenitor': 'Fetal mesenchymal progenitor', - 'Fetal neuron': 'Fetal Neuron', - 'Fetal stromal cell': 'Fetal stromal cell', - 'Fibroblast': 'Fibroblast', - 'Gastric endocrine cell': 'Gastric endocrine cell', - 'Goblet cell': 'Goblet cell', - 'Macrophage': 'Macrophage', - 'Monocyte': 'Monocyte', - 'Neutrophil': 'Neutrophil', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Oligodendrocyte': 'Oligodendrocytes', - 'Primordial germ cell': 'Primordial germ cell', - 'Sinusoidal endothelial cell': 'Sinusoidal endothelial cell', - 'Smooth muscle cell': 'Smooth muscle cell', - 'Stromal cell': 'Stromal cell', - 'T cell': 'T cell', - 'hESC': 'Neuronal stem cells' - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "brain", "hcl_AdultTemporalLobe_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/brain/human_brain_2020_microwell_han_005.py b/sfaira/data/human/brain/human_brain_2020_microwell_han_005.py deleted file mode 100644 index 5f293066a..000000000 --- a/sfaira/data/human/brain/human_brain_2020_microwell_han_005.py +++ /dev/null @@ -1,93 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_brain_2020_microwell_han_005_10.1038/s41586-020-2157-4" - self.organ = 'brain' - self.sub_tissue = 'FetalBrain' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'Astrocyte': 'Astrocyte', - 'B cell': 'B cell', - 'B cell (Plasmocyte)': 'B cell (Plasmocyte)', - 'CB CD34+': 'CB CD34+', - 'Dendritic cell': 'Dendritic cell', - 'Endothelial cell': 'Endothelial cells', - 'Endothelial cell (APC)': 'Endothelial cells', - 'Erythroid cell': 'Erythroid cell', - 'Erythroid progenitor cell (RP high)': 'Erythroid progenitor cell (RP high)', - 'Fetal Neuron': 'Fetal Neuron', - 'Fetal endocrine cell': 'Fetal endocrine cell', - 'Fetal enterocyte ': 'Fetal enterocyte ', - 'Fetal epithelial progenitor': 'Fetal epithelial progenitor', - 'Fetal mesenchymal progenitor': 'Fetal mesenchymal progenitor', - 'Fetal neuron': 'Fetal Neuron', - 'Fetal stromal cell': 'Fetal stromal cell', - 'Fibroblast': 'Fibroblast', - 'Gastric endocrine cell': 'Gastric endocrine cell', - 'Goblet cell': 'Goblet cell', - 'Macrophage': 'Macrophage', - 'Monocyte': 'Monocyte', - 'Neutrophil': 'Neutrophil', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Oligodendrocyte': 'Oligodendrocytes', - 'Primordial germ cell': 'Primordial germ cell', - 'Sinusoidal endothelial cell': 'Sinusoidal endothelial cell', - 'Smooth muscle cell': 'Smooth muscle cell', - 'Stromal cell': 'Stromal cell', - 'T cell': 'T cell', - 'hESC': 'Neuronal stem cells' - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "brain", "hcl_FetalBrain_6.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/brain/human_brain_2020_microwell_han_006.py b/sfaira/data/human/brain/human_brain_2020_microwell_han_006.py deleted file mode 100644 index 448e6795c..000000000 --- a/sfaira/data/human/brain/human_brain_2020_microwell_han_006.py +++ /dev/null @@ -1,93 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_brain_2020_microwell_han_006_10.1038/s41586-020-2157-4" - self.organ = 'brain' - self.sub_tissue = 'AdultCerebellum' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'Astrocyte': 'Astrocyte', - 'B cell': 'B cell', - 'B cell (Plasmocyte)': 'B cell (Plasmocyte)', - 'CB CD34+': 'CB CD34+', - 'Dendritic cell': 'Dendritic cell', - 'Endothelial cell': 'Endothelial cells', - 'Endothelial cell (APC)': 'Endothelial cells', - 'Erythroid cell': 'Erythroid cell', - 'Erythroid progenitor cell (RP high)': 'Erythroid progenitor cell (RP high)', - 'Fetal Neuron': 'Fetal Neuron', - 'Fetal endocrine cell': 'Fetal endocrine cell', - 'Fetal enterocyte ': 'Fetal enterocyte ', - 'Fetal epithelial progenitor': 'Fetal epithelial progenitor', - 'Fetal mesenchymal progenitor': 'Fetal mesenchymal progenitor', - 'Fetal neuron': 'Fetal Neuron', - 'Fetal stromal cell': 'Fetal stromal cell', - 'Fibroblast': 'Fibroblast', - 'Gastric endocrine cell': 'Gastric endocrine cell', - 'Goblet cell': 'Goblet cell', - 'Macrophage': 'Macrophage', - 'Monocyte': 'Monocyte', - 'Neutrophil': 'Neutrophil', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Oligodendrocyte': 'Oligodendrocytes', - 'Primordial germ cell': 'Primordial germ cell', - 'Sinusoidal endothelial cell': 'Sinusoidal endothelial cell', - 'Smooth muscle cell': 'Smooth muscle cell', - 'Stromal cell': 'Stromal cell', - 'T cell': 'T cell', - 'hESC': 'Neuronal stem cells' - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "brain", "hcl_AdultCerebellum_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/calvaria/__init__.py b/sfaira/data/human/calvaria/__init__.py deleted file mode 100644 index dfad96236..000000000 --- a/sfaira/data/human/calvaria/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_calvaria import DatasetGroupCalvaria diff --git a/sfaira/data/human/calvaria/external.py b/sfaira/data/human/calvaria/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/calvaria/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/calvaria/human_calvaria.py b/sfaira/data/human/calvaria/human_calvaria.py deleted file mode 100644 index 3a101f22e..000000000 --- a/sfaira/data/human/calvaria/human_calvaria.py +++ /dev/null @@ -1,26 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_calvaria_2020_microwell_han_001 import Dataset as Dataset0001 - - -class DatasetGroupCalvaria(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupCalvaria - self.datasets.update(DatasetGroupCalvaria().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/calvaria/human_calvaria_2020_microwell_han_001.py b/sfaira/data/human/calvaria/human_calvaria_2020_microwell_han_001.py deleted file mode 100644 index a012eecdb..000000000 --- a/sfaira/data/human/calvaria/human_calvaria_2020_microwell_han_001.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_calvaria_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'calvaria' - self.sub_tissue = 'FetalCalvaria' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "calvaria", "hcl_FetalCalvaria_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/cervix/__init__.py b/sfaira/data/human/cervix/__init__.py deleted file mode 100644 index 5b71011e8..000000000 --- a/sfaira/data/human/cervix/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_cervix import DatasetGroupCervix diff --git a/sfaira/data/human/cervix/external.py b/sfaira/data/human/cervix/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/cervix/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/cervix/human_cervix.py b/sfaira/data/human/cervix/human_cervix.py deleted file mode 100644 index eb65f1a1f..000000000 --- a/sfaira/data/human/cervix/human_cervix.py +++ /dev/null @@ -1,26 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_cervix_2020_microwell_han_001 import Dataset as Dataset0001 - - -class DatasetGroupCervix(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupCervix - self.datasets.update(DatasetGroupCervix().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/cervix/human_cervix_2020_microwell_han_001.py b/sfaira/data/human/cervix/human_cervix_2020_microwell_han_001.py deleted file mode 100644 index 925b9b2e1..000000000 --- a/sfaira/data/human/cervix/human_cervix_2020_microwell_han_001.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_cervix_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'cervix' - self.sub_tissue = 'AdultCervix' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "cervix", "hcl_AdultCervix_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/chorionicvillus/__init__.py b/sfaira/data/human/chorionicvillus/__init__.py deleted file mode 100644 index 1265da611..000000000 --- a/sfaira/data/human/chorionicvillus/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_chorionicvillus import DatasetGroupChorionicvillus diff --git a/sfaira/data/human/chorionicvillus/external.py b/sfaira/data/human/chorionicvillus/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/chorionicvillus/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/chorionicvillus/human_chorionicvillus.py b/sfaira/data/human/chorionicvillus/human_chorionicvillus.py deleted file mode 100644 index 5fcebd370..000000000 --- a/sfaira/data/human/chorionicvillus/human_chorionicvillus.py +++ /dev/null @@ -1,26 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_chorionicvillus_2020_microwell_han_001 import Dataset as Dataset0001 - - -class DatasetGroupChorionicvillus(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupChorionicvillus - self.datasets.update(DatasetGroupChorionicvillus().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/chorionicvillus/human_chorionicvillus_2020_microwell_han_001.py b/sfaira/data/human/chorionicvillus/human_chorionicvillus_2020_microwell_han_001.py deleted file mode 100644 index faa94f568..000000000 --- a/sfaira/data/human/chorionicvillus/human_chorionicvillus_2020_microwell_han_001.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_chorionicvillus_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'chorionicvillus' - self.sub_tissue = 'ChorionicVillus' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "chorionicvillus", "hcl_ChorionicVillus_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/colon/__init__.py b/sfaira/data/human/colon/__init__.py deleted file mode 100644 index 79ba22cee..000000000 --- a/sfaira/data/human/colon/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_colon import DatasetGroupColon diff --git a/sfaira/data/human/colon/external.py b/sfaira/data/human/colon/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/colon/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/colon/human_colon.py b/sfaira/data/human/colon/human_colon.py deleted file mode 100644 index d86d094f4..000000000 --- a/sfaira/data/human/colon/human_colon.py +++ /dev/null @@ -1,40 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_colon_2019_10x_kinchen_001 import Dataset as Dataset0001 -from .human_colon_2019_10x_smilie_001 import Dataset as Dataset0002 -from .human_colon_2019_10x_wang_001 import Dataset as Dataset0003 -from .human_colon_2020_10x_james_001 import Dataset as Dataset0004 -from .human_colon_2020_microwell_han_001 import Dataset as Dataset0005 -from .human_colon_2020_microwell_han_002 import Dataset as Dataset0006 -from .human_colon_2020_microwell_han_003 import Dataset as Dataset0007 -from .human_colon_2020_microwell_han_004 import Dataset as Dataset0008 - - -class DatasetGroupColon(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path), - Dataset0004(path=path, meta_path=meta_path), - Dataset0005(path=path, meta_path=meta_path), - Dataset0006(path=path, meta_path=meta_path), - Dataset0007(path=path, meta_path=meta_path), - Dataset0008(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupColon - self.datasets.update(DatasetGroupColon().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/colon/human_colon_2019_10x_kinchen_001.py b/sfaira/data/human/colon/human_colon_2019_10x_kinchen_001.py deleted file mode 100644 index 8f7b44e1c..000000000 --- a/sfaira/data/human/colon/human_colon_2019_10x_kinchen_001.py +++ /dev/null @@ -1,150 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import pandas as pd - - -class Dataset(DatasetBase): - """ - This data loader supports reading of the downloaded raw data file if `load_raw=True` is passed to self.load() - To download the datafile required by this dataloader, use the link provided as the `download_website` attribute of - this class and obtain cell type annotations ('hc_meta_data_stromal_with_donor.txt' and - 'uc_meta_data_stromal_with_donor.txt') directly from the authors of the paper. For (up - to 100-fold faster) repeated data loading, please pass `load_raw=False` when calling the self.load() method. For - this, you need to preprocess the raw files as below and place the resulting h5ad file in the data folder of this - organ: - - import anndata - import pandas as pd - - adata = anndata.read_loom('f8aa201c-4ff1-45a4-890e-840d63459ca2.homo_sapiens.loom') - ctuc = pd.read_csv('uc_meta_data_stromal_with_donor.txt', sep='\t') - cthealthy = pd.read_csv('hc_meta_data_stromal_with_donor.txt', sep='\t') - - adata = adata[adata.obs['emptydrops_is_cell'] == 't'].copy() - adata = adata[adata.X.sum(axis=1).flatten() >= 250].copy() - - uc = adata[adata.obs['donor_organism.diseases.ontology_label'] == "ulcerative colitis (disease)"].copy() - bcuc = [i.split('-')[0] for i in ctuc['Barcode']] - seluc = [] - for i in uc.obs['barcode']: - seluc.append((uc.obs['barcode'].str.count(i).sum() == 1) and i in bcuc) - uc = uc[seluc].copy() - ctuc.index = [i.split('-')[0] for i in ctuc['Barcode']] - uc.obs['celltype'] = [ctuc.loc[i]['Cluster'] for i in uc.obs['barcode']] - uc.var = uc.var.reset_index().rename(columns={'index': 'names'}).set_index('featurekey') - - healthy = adata[adata.obs['donor_organism.diseases.ontology_label'] == "normal"].copy() - bchealthy = [i.split('-')[0] for i in cthealthy['Barcode']] - selhealthy = [] - for i in healthy.obs['barcode']: - selhealthy.append((healthy.obs['barcode'].str.count(i).sum() == 1) and i in bchealthy) - healthy = healthy[selhealthy].copy() - cthealthy.index = [i.split('-')[0] for i in cthealthy['Barcode']] - healthy.obs['celltype'] = [cthealthy.loc[i]['Cluster'] for i in healthy.obs['barcode']] - healthy.var = healthy.var.reset_index().rename(columns={'index': 'names'}).set_index('featurekey') - - adata = healthy.concatenate(uc) - adata.write('kinchenetal.h5ad') - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_colon_2019_10x_kinchen_001_10.1016/j.cell.2018.08.067" - self.download_website = "https://data.humancellatlas.org/project-assets/project-matrices/f8aa201c-4ff1-45a4-890e-840d63459ca2.homo_sapiens.loom" - self.download_website_meta = 'private' - self.organ = "colon" - self.sub_tissue = "lamina propria of mucosa of colon" - self.has_celltypes = True - - self.class_maps = { - "0": { - "Endothelial 1": "Endothelial", - "Endothelial 2": "Endothelial", - "Glial": "Glial cells", - "Myofibroblasts": "Myofibroblasts", - "Pericyte 1": "Pericytes", - "Pericyte 2": "Pericytes", - "Pericytes": "Pericytes", - "Plasma Cells": "Plasma Cells", - "Smooth Muscle": "Smooth Muscle", - "Stromal 1": "Stromal", - "Stromal 2a": "Stromal", - "Stromal 2b": "Stromal", - "Stromal 3": "Stromal", - "Stromal 4": "Stromal", - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw: - if fn is None: - fn = [ - os.path.join(self.path, "human", "colon", "f8aa201c-4ff1-45a4-890e-840d63459ca2.homo_sapiens.loom"), - os.path.join(self.path, "human", "colon", "uc_meta_data_stromal_with_donor.txt"), - os.path.join(self.path, "human", "colon", "hc_meta_data_stromal_with_donor.txt") - ] - adata = anndata.read_loom(fn[0]) - ctuc = pd.read_csv(fn[1], sep='\t') - cthealthy = pd.read_csv(fn[2], sep='\t') - adata = adata[adata.obs['emptydrops_is_cell'] == 't'].copy() - adata = adata[adata.X.sum(axis=1).flatten() >= 250].copy() - uc = adata[adata.obs['donor_organism.diseases.ontology_label'] == "ulcerative colitis (disease)"].copy() - bcuc = [i.split('-')[0] for i in ctuc['Barcode']] - seluc = [] - for i in uc.obs['barcode']: - seluc.append((uc.obs['barcode'].str.count(i).sum() == 1) and i in bcuc) - uc = uc[seluc].copy() - ctuc.index = [i.split('-')[0] for i in ctuc['Barcode']] - uc.obs['celltype'] = [ctuc.loc[i]['Cluster'] for i in uc.obs['barcode']] - uc.var = uc.var.reset_index().rename(columns={'index': 'names'}).set_index('featurekey') - healthy = adata[adata.obs['donor_organism.diseases.ontology_label'] == "normal"].copy() - bchealthy = [i.split('-')[0] for i in cthealthy['Barcode']] - selhealthy = [] - for i in healthy.obs['barcode']: - selhealthy.append((healthy.obs['barcode'].str.count(i).sum() == 1) and i in bchealthy) - healthy = healthy[selhealthy].copy() - cthealthy.index = [i.split('-')[0] for i in cthealthy['Barcode']] - healthy.obs['celltype'] = [cthealthy.loc[i]['Cluster'] for i in healthy.obs['barcode']] - healthy.var = healthy.var.reset_index().rename(columns={'index': 'names'}).set_index('featurekey') - self.adata = healthy.concatenate(uc) - - else: - if fn is None: - fn = os.path.join(self.path, "human", "colon", "kinchenetal.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Simmons' - self.adata.uns["year"] = 2019 - self.adata.uns["doi"] = "10.1016/j.cell.2018.08.067" - self.adata.uns["protocol"] = '10x' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["cell_ontology_class"] = self.adata.obs['celltype'] - self.adata.obs["healthy"] = [line == 'normal' for line in - self.adata.obs['donor_organism.diseases.ontology_label']] - self.adata.obs["state_exact"] = self.adata.obs['donor_organism.diseases.ontology_label'].astype('category') - self.adata.obs["state_exact"] = self.adata.obs["state_exact"]\ - .cat.rename_categories({'normal': 'healthy', 'ulcerative colitis (disease)': 'ulcerative colitis'}) - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='Accession', new_index='ensembl') diff --git a/sfaira/data/human/colon/human_colon_2019_10x_smilie_001.py b/sfaira/data/human/colon/human_colon_2019_10x_smilie_001.py deleted file mode 100644 index f54b4147f..000000000 --- a/sfaira/data/human/colon/human_colon_2019_10x_smilie_001.py +++ /dev/null @@ -1,106 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import numpy as np -import scipy.sparse - - -class Dataset(DatasetBase): - """ - This data loader directly processes the raw data file which can be obtained from the `download_website` attribute of - this class. This dataloader only provides the subset of the published sata which has been made available through the - covid-19 Cell Atlas. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_colon_2019_10x_smilie_001_10.1016/j.cell.2019.06.029" - self.download_website = "https://covid19.cog.sanger.ac.uk/smillie19_epi.processed.h5ad" - self.download_website_meta = None - self.organ = "colon" - self.sub_tissue = "colonic epithelium" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Cycling TA': 'Cycling TA', - 'TA 1': 'TA 1', - 'TA 2': 'TA 2', - 'Immature Enterocytes 2': 'Immature Enterocytes 2', - 'Immature Enterocytes 1': 'Immature Enterocytes 1', - 'Enterocyte Progenitors': 'Enterocyte Progenitors', - 'Immature Goblet': 'Immature Goblet', - 'Enterocytes': 'Enterocytes', - 'Secretory TA': 'Secretory TA', - 'Best4+ Enterocytes': 'Best4+ Enterocytes', - 'CD8+ IELs': 'CD8+ IELs', - 'Goblet': 'Goblet cells', - 'Stem': 'Stem cells', - 'Tuft': 'Tuft', - 'Follicular': 'Follicular', - 'Enteroendocrine': 'Enteroendocrine cells', - 'Plasma': 'Plasma Cells', - 'CD4+ Memory': 'CD4+ Memory', - 'CD8+ LP': 'CD8+ LP', - 'CD69- Mast': 'CD69- Mast', - 'Macrophages': 'Macrophage', - 'GC': 'Glial cells', - 'Cycling B': 'B cell cycling', - 'CD4+ Activated Fos-hi': 'CD4+ T Activated Fos-hi', - 'CD4+ Activated Fos-lo': 'CD4+ T Activated Fos-lo', - 'NKs': 'NK', - 'Cycling T': 'Cycling T', - 'M cells': 'M cells', - 'CD69+ Mast': 'CD69+ Mast', - 'MT-hi': 'MT-hi', - 'CD8+ IL17+': 'CD8+ IL17+', - 'CD4+ PD1+': 'CD4+ PD1+', - 'DC2': 'DC2', - 'Treg': 'Treg', - 'ILCs': 'ILC', - 'DC1': 'DC1', - 'WNT2B+ Fos-lo 1': 'WNT2B+ Fos-lo 1', - 'WNT5B+ 2': 'WNT5B+ 2', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "colon", "smillie19_epi.processed.h5ad") - self.adata = anndata.read(fn) - self.adata.X = np.expm1(self.adata.X) - self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['n_counts'].values[:, None]))\ - .multiply(1/10000) - - self.adata.uns["lab"] = "Regev" - self.adata.uns["year"] = 2019 - self.adata.uns["doi"] = "10.1016/j.cell.2019.06.029" - self.adata.uns["protocol"] = '10x' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["cell_ontology_class"] = self.adata.obs['CellType'] - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/human/colon/human_colon_2019_10x_wang_001.py b/sfaira/data/human/colon/human_colon_2019_10x_wang_001.py deleted file mode 100644 index a760c20a6..000000000 --- a/sfaira/data/human/colon/human_colon_2019_10x_wang_001.py +++ /dev/null @@ -1,74 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import numpy as np -import scipy.sparse - - -class Dataset(DatasetBase): - """ - This data loader directly processes the raw data file which can be obtained from the `download_website` attribute of - this class. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_colon_2019_10x_wang_001_10.1084/jem.20191130" - self.download_website = "https://covid19.cog.sanger.ac.uk/wang20_colon.processed.h5ad" - self.download_website_meta = None - self.organ = "colon" - self.sub_tissue = "colon" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Progenitor': 'Enterocyte Progenitors', - 'Enterocyte': 'Enterocytes', - 'Goblet': 'Goblet cells', - 'TA': 'TA', - 'Paneth-like': 'Paneth cells', - 'Stem Cell': 'Stem cells', - 'Enteriendocrine': 'Enteroendocrine cells', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "colon", "wang20_colon.processed.h5ad") - self.adata = anndata.read(fn) - self.adata.X = np.expm1(self.adata.X) - self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['n_counts'].values[:, None]))\ - .multiply(1/10000) - - self.adata.uns["lab"] = "Chen" - self.adata.uns["year"] = 2019 - self.adata.uns["doi"] = "10.1084/jem.20191130" - self.adata.uns["protocol"] = '10x' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["cell_ontology_class"] = self.adata.obs['CellType'] - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/human/colon/human_colon_2020_10x_james_001.py b/sfaira/data/human/colon/human_colon_2020_10x_james_001.py deleted file mode 100644 index cfaabd185..000000000 --- a/sfaira/data/human/colon/human_colon_2020_10x_james_001.py +++ /dev/null @@ -1,93 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import numpy as np -import scipy.sparse - - -class Dataset(DatasetBase): - """ - This data loader directly processes the raw data file which can be obtained from the `download_website` attribute of - this class. This dataloader only provides the subset of the published sata which has been made available through the - covid-19 Cell Atlas. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_colon_2019_10x_james_001_10.1038/s41590-020-0602-z" - self.download_website = "https://covid19.cog.sanger.ac.uk/james20.processed.h5ad" - self.download_website_meta = None - self.organ = "colon" - self.sub_tissue = "colonic immune cells" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Activated CD4 T': 'Activated CD4 T', - 'B cell IgA Plasma': 'B cell IgA Plasma', - 'B cell IgG Plasma': 'B cell IgG Plasma', - 'B cell cycling': 'B cell cycling', - 'B cell memory': 'B cell memory', - 'CD8 T': 'CD8 T', - 'Follicular B cell': 'Follicular', - 'ILC': 'ILC', - 'LYVE1 Macrophage': 'LYVE1 Macrophage', - 'Lymphoid DC': 'Lymphoid DC', - 'Macrophage': 'Macrophage', - 'Mast': 'Mast cell', - 'Monocyte': 'Monocyte', - 'NK': 'NK', - 'Tcm': 'Tcm', - 'Tfh': 'Tfh', - 'Th1': 'Th1', - 'Th17': 'Th17', - 'Treg': 'Treg', - 'cDC1': 'DC1', - 'cDC2': 'DC2', - 'cycling DCs': 'cycling DCs', - 'cycling gd T': 'cycling gd T', - 'gd T': 'gd T', - 'pDC': 'pDC', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "colon", "james20.processed.h5ad") - self.adata = anndata.read(fn) - self.adata.X = np.expm1(self.adata.X) - self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['n_counts'].values[:, None]))\ - .multiply(1/10000) - - self.adata.uns["lab"] = "Teichmann" - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = "10.1038/s41590-020-0602-z" - self.adata.uns["protocol"] = '10x' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["cell_ontology_class"] = self.adata.obs['cell_type'] - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col='gene_ids', new_index='ensembl') diff --git a/sfaira/data/human/colon/human_colon_2020_microwell_han_001.py b/sfaira/data/human/colon/human_colon_2020_microwell_han_001.py deleted file mode 100644 index 3281467e6..000000000 --- a/sfaira/data/human/colon/human_colon_2020_microwell_han_001.py +++ /dev/null @@ -1,88 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_colon_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'Colon' - self.sub_tissue = 'AdultAscendingColon' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Enterocyte progenitor': 'Enterocyte Progenitors', - 'B cell (Plasmocyte)': 'B cell (Plasmocyte)', - 'Enterocyte': 'Enterocytes', - 'Epithelial cell': 'Epithelial cell', - 'T cell': 'T cell', - 'Stromal cell': 'Stromal', - 'Macrophage': 'Macrophage', - 'B cell': 'B cell', - 'Smooth muscle cell': 'Smooth Muscle', - 'Neutrophil': 'Neutrophil', - 'Endothelial cell (APC)': 'Endothelial', - 'Dendritic cell': 'Dendritic cell', - 'Mast cell': 'Mast cell', - 'Endothelial cell': 'Endothelial', - 'Fetal Neuron': 'Fetal Neuron', - 'Fetal epithelial progenitor': 'Enterocyte Progenitors', - 'Fibroblast': 'Fibroblast', - 'Endothelial cell (endothelial to mesenchymal transition)': 'Endothelial', - 'Fetal stromal cell': 'Stromal', - 'Fetal mesenchymal progenitor': 'Fetal mesenchymal progenitor', - 'Monocyte': 'Monocyte', - 'Erythroid cell': 'Erythroid cell', - 'Fetal endocrine cell': 'Enteroendocrine cells', - 'Primordial germ cell': 'Primordial germ cell', - 'Fetal enterocyte': 'Fetal enterocyte', - 'M2 Macrophage': 'Macrophage', - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "colon", "hcl_AdultAscendingColon_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') diff --git a/sfaira/data/human/colon/human_colon_2020_microwell_han_002.py b/sfaira/data/human/colon/human_colon_2020_microwell_han_002.py deleted file mode 100644 index 03e84d136..000000000 --- a/sfaira/data/human/colon/human_colon_2020_microwell_han_002.py +++ /dev/null @@ -1,88 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_colon_2020_microwell_han_002_10.1038/s41586-020-2157-4" - self.organ = 'Colon' - self.sub_tissue = 'AdultTransverseColon' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Enterocyte progenitor': 'Enterocyte Progenitors', - 'B cell (Plasmocyte)': 'B cell (Plasmocyte)', - 'Enterocyte': 'Enterocytes', - 'Epithelial cell': 'Epithelial cell', - 'T cell': 'T cell', - 'Stromal cell': 'Stromal', - 'Macrophage': 'Macrophage', - 'B cell': 'B cell', - 'Smooth muscle cell': 'Smooth Muscle', - 'Neutrophil': 'Neutrophil', - 'Endothelial cell (APC)': 'Endothelial', - 'Dendritic cell': 'Dendritic cell', - 'Mast cell': 'Mast cell', - 'Endothelial cell': 'Endothelial', - 'Fetal Neuron': 'Fetal Neuron', - 'Fetal epithelial progenitor': 'Enterocyte Progenitors', - 'Fibroblast': 'Fibroblast', - 'Endothelial cell (endothelial to mesenchymal transition)': 'Endothelial', - 'Fetal stromal cell': 'Stromal', - 'Fetal mesenchymal progenitor': 'Fetal mesenchymal progenitor', - 'Monocyte': 'Monocyte', - 'Erythroid cell': 'Erythroid cell', - 'Fetal endocrine cell': 'Enteroendocrine cells', - 'Primordial germ cell': 'Primordial germ cell', - 'Fetal enterocyte': 'Fetal enterocyte', - 'M2 Macrophage': 'Macrophage', - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "colon", "hcl_AdultColon_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') diff --git a/sfaira/data/human/colon/human_colon_2020_microwell_han_003.py b/sfaira/data/human/colon/human_colon_2020_microwell_han_003.py deleted file mode 100644 index 5a718c435..000000000 --- a/sfaira/data/human/colon/human_colon_2020_microwell_han_003.py +++ /dev/null @@ -1,88 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_colon_2020_microwell_han_003_10.1038/s41586-020-2157-4" - self.organ = 'Colon' - self.sub_tissue = 'AdultTransverseColon' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Enterocyte progenitor': 'Enterocyte Progenitors', - 'B cell (Plasmocyte)': 'B cell (Plasmocyte)', - 'Enterocyte': 'Enterocytes', - 'Epithelial cell': 'Epithelial cell', - 'T cell': 'T cell', - 'Stromal cell': 'Stromal', - 'Macrophage': 'Macrophage', - 'B cell': 'B cell', - 'Smooth muscle cell': 'Smooth Muscle', - 'Neutrophil': 'Neutrophil', - 'Endothelial cell (APC)': 'Endothelial', - 'Dendritic cell': 'Dendritic cell', - 'Mast cell': 'Mast cell', - 'Endothelial cell': 'Endothelial', - 'Fetal Neuron': 'Fetal Neuron', - 'Fetal epithelial progenitor': 'Enterocyte Progenitors', - 'Fibroblast': 'Fibroblast', - 'Endothelial cell (endothelial to mesenchymal transition)': 'Endothelial', - 'Fetal stromal cell': 'Stromal', - 'Fetal mesenchymal progenitor': 'Fetal mesenchymal progenitor', - 'Monocyte': 'Monocyte', - 'Erythroid cell': 'Erythroid cell', - 'Fetal endocrine cell': 'Enteroendocrine cells', - 'Primordial germ cell': 'Primordial germ cell', - 'Fetal enterocyte': 'Fetal enterocyte', - 'M2 Macrophage': 'Macrophage', - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "colon", "hcl_AdultColon_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') diff --git a/sfaira/data/human/colon/human_colon_2020_microwell_han_004.py b/sfaira/data/human/colon/human_colon_2020_microwell_han_004.py deleted file mode 100644 index 66ed3ae31..000000000 --- a/sfaira/data/human/colon/human_colon_2020_microwell_han_004.py +++ /dev/null @@ -1,88 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_colon_2020_microwell_han_004_10.1038/s41586-020-2157-4" - self.organ = 'Colon' - self.sub_tissue = 'AdultSigmoidColon' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Enterocyte progenitor': 'Enterocyte Progenitors', - 'B cell (Plasmocyte)': 'B cell (Plasmocyte)', - 'Enterocyte': 'Enterocytes', - 'Epithelial cell': 'Epithelial cell', - 'T cell': 'T cell', - 'Stromal cell': 'Stromal', - 'Macrophage': 'Macrophage', - 'B cell': 'B cell', - 'Smooth muscle cell': 'Smooth Muscle', - 'Neutrophil': 'Neutrophil', - 'Endothelial cell (APC)': 'Endothelial', - 'Dendritic cell': 'Dendritic cell', - 'Mast cell': 'Mast cell', - 'Endothelial cell': 'Endothelial', - 'Fetal Neuron': 'Fetal Neuron', - 'Fetal epithelial progenitor': 'Enterocyte Progenitors', - 'Fibroblast': 'Fibroblast', - 'Endothelial cell (endothelial to mesenchymal transition)': 'Endothelial', - 'Fetal stromal cell': 'Stromal', - 'Fetal mesenchymal progenitor': 'Fetal mesenchymal progenitor', - 'Monocyte': 'Monocyte', - 'Erythroid cell': 'Erythroid cell', - 'Fetal endocrine cell': 'Enteroendocrine cells', - 'Primordial germ cell': 'Primordial germ cell', - 'Fetal enterocyte': 'Fetal enterocyte', - 'M2 Macrophage': 'Macrophage', - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "colon", "hcl_AdultColon_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') diff --git a/sfaira/data/human/duodenum/__init__.py b/sfaira/data/human/duodenum/__init__.py deleted file mode 100644 index b8a98c3be..000000000 --- a/sfaira/data/human/duodenum/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_duodenum import DatasetGroupDuodenum diff --git a/sfaira/data/human/duodenum/external.py b/sfaira/data/human/duodenum/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/duodenum/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/duodenum/human_duodenum.py b/sfaira/data/human/duodenum/human_duodenum.py deleted file mode 100644 index 367138896..000000000 --- a/sfaira/data/human/duodenum/human_duodenum.py +++ /dev/null @@ -1,26 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_duodenum_2020_microwell_han_001 import Dataset as Dataset0001 - - -class DatasetGroupDuodenum(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupDuodenum - self.datasets.update(DatasetGroupDuodenum().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/duodenum/human_duodenum_2020_microwell_han_001.py b/sfaira/data/human/duodenum/human_duodenum_2020_microwell_han_001.py deleted file mode 100644 index b55eeaba9..000000000 --- a/sfaira/data/human/duodenum/human_duodenum_2020_microwell_han_001.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_duodenum_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'duodenum' - self.sub_tissue = 'AdultDuodenum' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "duodenum", "hcl_AdultDuodenum_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/epityphlon/__init__.py b/sfaira/data/human/epityphlon/__init__.py deleted file mode 100644 index 1463f978a..000000000 --- a/sfaira/data/human/epityphlon/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_epityphlon import DatasetGroupEpityphlon diff --git a/sfaira/data/human/epityphlon/external.py b/sfaira/data/human/epityphlon/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/epityphlon/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/epityphlon/human_epityphlon.py b/sfaira/data/human/epityphlon/human_epityphlon.py deleted file mode 100644 index bbf2297e9..000000000 --- a/sfaira/data/human/epityphlon/human_epityphlon.py +++ /dev/null @@ -1,26 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_epityphlon_2020_microwell_han_001 import Dataset as Dataset0001 - - -class DatasetGroupEpityphlon(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupEpityphlon - self.datasets.update(DatasetGroupEpityphlon().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/epityphlon/human_epityphlon_2020_microwell_han_001.py b/sfaira/data/human/epityphlon/human_epityphlon_2020_microwell_han_001.py deleted file mode 100644 index dd6e2a396..000000000 --- a/sfaira/data/human/epityphlon/human_epityphlon_2020_microwell_han_001.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_epityphlon_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'epityphlon' - self.sub_tissue = 'AdultEpityphlon' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "epityphlon", "hcl_AdultEpityphlon_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/esophagus/__init__.py b/sfaira/data/human/esophagus/__init__.py deleted file mode 100644 index 8dc074247..000000000 --- a/sfaira/data/human/esophagus/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_esophagus import DatasetGroupEsophagus diff --git a/sfaira/data/human/esophagus/external.py b/sfaira/data/human/esophagus/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/esophagus/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/esophagus/human_esophagus.py b/sfaira/data/human/esophagus/human_esophagus.py deleted file mode 100644 index b1df21e7a..000000000 --- a/sfaira/data/human/esophagus/human_esophagus.py +++ /dev/null @@ -1,30 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_esophagus_2019_10x_madissoon_001 import Dataset as Dataset0001 -from .human_esophagus_2020_microwell_han_001 import Dataset as Dataset0002 -from .human_esophagus_2020_microwell_han_002 import Dataset as Dataset0003 - - -class DatasetGroupEsophagus(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupEsophagus - self.datasets.update(DatasetGroupEsophagus().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/esophagus/human_esophagus_2019_10x_madissoon_001.py b/sfaira/data/human/esophagus/human_esophagus_2019_10x_madissoon_001.py deleted file mode 100644 index 9d9a5b121..000000000 --- a/sfaira/data/human/esophagus/human_esophagus_2019_10x_madissoon_001.py +++ /dev/null @@ -1,85 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import scipy.sparse - - -class Dataset(DatasetBase): - """ - This data loader directly processes the raw data file which can be obtained from the `download_website` attribute of - this class. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_esophagus_2019_10x_madissoon_001_10.1101/741405" - self.download_website = "https://cellgeni.cog.sanger.ac.uk/tissue-stability/tissue-stability/oesophagus.cellxgene.h5ad" - # Associated HCA project: https://data.humancellatlas.org/explore/projects/c4077b3c-5c98-4d26-a614-246d12c2e5d7 - self.download_website_meta = None - self.organ = "esophagus" - self.sub_tissue = "esophagus" - self.has_celltypes = True - - self.class_maps = { - "0": { - "B_CD27neg": "B_CD27neg", - "B_CD27pos": "B_CD27pos", - "Blood_vessel": "Blood_vessel", - "Dendritic_Cells": "Dendritic cell", - "Epi_basal": "Basal cell", - "Epi_dividing": "Epi_dividing", - "Epi_stratified": "Stratified epithelial cell", - "Epi_suprabasal": "Epi_suprabasal", - "Epi_upper": "Epi_upper", - "Glands_duct": "Glands_duct", - "Glands_mucous": "Glands_mucous", - "Lymph_vessel": "Lymph_vessel", - "Mast_cell": "Mast cell", - "Mono_macro": "Mono_macro", - "NK_T_CD8_Cytotoxic": "NK_T_CD8_Cytotoxic", - "Stroma": "Stromal cell", - "T_CD4": "T_CD4", - "T_CD8": "T_CD8", - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "esophagus", "oesophagus.cellxgene.h5ad") - self.adata = anndata.read(fn) - self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['n_counts'].values[:, None]))\ - .multiply(1/10000) - - self.adata.uns["lab"] = "Meyer" - self.adata.uns["year"] = 2019 - self.adata.uns["doi"] = "10.1101/741405" - self.adata.uns["protocol"] = "10x" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["cell_ontology_class"] = self.adata.obs['Celltypes'] - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col='gene_ids-HCATisStab7413619', - new_index='ensembl') \ No newline at end of file diff --git a/sfaira/data/human/esophagus/human_esophagus_2020_microwell_han_001.py b/sfaira/data/human/esophagus/human_esophagus_2020_microwell_han_001.py deleted file mode 100644 index dc9b6c58e..000000000 --- a/sfaira/data/human/esophagus/human_esophagus_2020_microwell_han_001.py +++ /dev/null @@ -1,85 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_esophagus_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'Esophagus' - self.sub_tissue = 'AdultEsophagus' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Fibroblast': 'Fibroblast', - 'Basal cell': 'Basal cell', - 'Stratified epithelial cell': 'Stratified epithelial cell', - 'Endothelial cell (APC)': 'Endothelial cell (APC)', - 'Macrophage': 'Macrophage', - 'B cell': 'B cell', - 'T cell': 'T cell', - 'Dendritic cell': 'Dendritic cell', - 'Mast cell': 'Mast cell', - 'B cell (Plasmocyte)': 'B cell (Plasmocyte)', - 'Stromal cell': 'Stromal cell', - 'Monocyte': 'Monocyte', - 'Smooth muscle cell': 'Smooth muscle cell', - 'Endothelial cell': 'Endothelial cell', - 'Neutrophil': 'Neutrophil', - 'Endothelial cell (endothelial to mesenchymal transition)': 'Endothelial cell (endothelial to mesenchymal transition)', - 'Fetal stromal cell': 'Fetal stromal cell', - 'CB CD34+': 'CB CD34+', - 'Fetal epithelial progenitor': 'Fetal epithelial progenitor', - 'Gastric endocrine cell': 'Gastric endocrine cell', - 'Erythroid progenitor cell (RP high)': 'Erythroid progenitor cell (RP high)', - 'Sinusoidal endothelial cell': 'Sinusoidal endothelial cell', - 'Loop of Henle': 'Loop of Henle', - 'Fetal mesenchymal progenitor': 'Fetal mesenchymal progenitor', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "esophagus", "hcl_AdultEsophagus_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') diff --git a/sfaira/data/human/esophagus/human_esophagus_2020_microwell_han_002.py b/sfaira/data/human/esophagus/human_esophagus_2020_microwell_han_002.py deleted file mode 100644 index e18b89e7d..000000000 --- a/sfaira/data/human/esophagus/human_esophagus_2020_microwell_han_002.py +++ /dev/null @@ -1,85 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_esophagus_2020_microwell_han_002_10.1038/s41586-020-2157-4" - self.organ = 'Esophagus' - self.sub_tissue = 'AdultEsophagus' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Fibroblast': 'Fibroblast', - 'Basal cell': 'Basal cell', - 'Stratified epithelial cell': 'Stratified epithelial cell', - 'Endothelial cell (APC)': 'Endothelial cell (APC)', - 'Macrophage': 'Macrophage', - 'B cell': 'B cell', - 'T cell': 'T cell', - 'Dendritic cell': 'Dendritic cell', - 'Mast cell': 'Mast cell', - 'B cell (Plasmocyte)': 'B cell (Plasmocyte)', - 'Stromal cell': 'Stromal cell', - 'Monocyte': 'Monocyte', - 'Smooth muscle cell': 'Smooth muscle cell', - 'Endothelial cell': 'Endothelial cell', - 'Neutrophil': 'Neutrophil', - 'Endothelial cell (endothelial to mesenchymal transition)': 'Endothelial cell (endothelial to mesenchymal transition)', - 'Fetal stromal cell': 'Fetal stromal cell', - 'CB CD34+': 'CB CD34+', - 'Fetal epithelial progenitor': 'Fetal epithelial progenitor', - 'Gastric endocrine cell': 'Gastric endocrine cell', - 'Erythroid progenitor cell (RP high)': 'Erythroid progenitor cell (RP high)', - 'Sinusoidal endothelial cell': 'Sinusoidal endothelial cell', - 'Loop of Henle': 'Loop of Henle', - 'Fetal mesenchymal progenitor': 'Fetal mesenchymal progenitor', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "esophagus", "hcl_AdultEsophagus_2.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') diff --git a/sfaira/data/human/eye/__init__.py b/sfaira/data/human/eye/__init__.py deleted file mode 100644 index 345236753..000000000 --- a/sfaira/data/human/eye/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_eye import DatasetGroupEye diff --git a/sfaira/data/human/eye/external.py b/sfaira/data/human/eye/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/eye/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/eye/human_eye.py b/sfaira/data/human/eye/human_eye.py deleted file mode 100644 index 227bda330..000000000 --- a/sfaira/data/human/eye/human_eye.py +++ /dev/null @@ -1,32 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_eye_2019_10x_lukowski_001 import Dataset as Dataset0001 -from .human_eye_2019_10x_menon_001 import Dataset as Dataset0002 -from .human_eye_2019_10x_voigt_001 import Dataset as Dataset0003 -from .human_eye_2020_microwell_han_001 import Dataset as Dataset0004 - - -class DatasetGroupEye(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path), - Dataset0004(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupEye - self.datasets.update(DatasetGroupEye().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/eye/human_eye_2019_10x_lukowski_001.py b/sfaira/data/human/eye/human_eye_2019_10x_lukowski_001.py deleted file mode 100644 index 530b4963d..000000000 --- a/sfaira/data/human/eye/human_eye_2019_10x_lukowski_001.py +++ /dev/null @@ -1,81 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import numpy as np -import scipy.sparse - - -class Dataset(DatasetBase): - """ - This data loader directly processes the raw data file which can be obtained from the `download_website` attribute of - this class. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_eye_2019_10x_lukowski_001_10.15252/embj.2018100811" - self.download_website = "https://covid19.cog.sanger.ac.uk/lukowski19.processed.h5ad" - self.download_website_meta = None - self.organ = "eye" - self.sub_tissue = "retina" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Muller cell': 'Muller cell', - 'amacrine cell': 'Amacrine cell', - 'microglial cell': 'Microglia', - 'retinal bipolar neuron type A': 'Retinal bipolar neuron type A', - 'retinal bipolar neuron type B': 'Retinal bipolar neuron type B', - 'retinal bipolar neuron type C': 'Retinal bipolar neuron type C', - 'retinal bipolar neuron type D': 'Retinal bipolar neuron type D', - 'retinal cone cell': 'Retinal cone cell', - 'retinal ganglion cell': 'Retinal ganglion cell', - 'retinal rod cell type A': 'Retinal rod cell type A', - 'retinal rod cell type B': 'Retinal rod cell type B', - 'retinal rod cell type C': 'Retinal rod cell type C', - 'unannotated': 'Unknown', - 'unspecified': 'Unknown', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "eye", "lukowski19.processed.h5ad") - self.adata = anndata.read(fn) - self.adata.X = np.expm1(self.adata.X) - self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['n_counts'].values[:, None]))\ - .multiply(1/10000) - - self.adata.uns["lab"] = 'Wong' - self.adata.uns["year"] = 2019 - self.adata.uns["doi"] = '10.15252/embj.2018100811' - self.adata.uns["protocol"] = '10x' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["cell_ontology_class"] = self.adata.obs['CellType'] - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col='gene_ids', new_index='ensembl') diff --git a/sfaira/data/human/eye/human_eye_2019_10x_menon_001.py b/sfaira/data/human/eye/human_eye_2019_10x_menon_001.py deleted file mode 100644 index 17f77e22a..000000000 --- a/sfaira/data/human/eye/human_eye_2019_10x_menon_001.py +++ /dev/null @@ -1,71 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This data loader directly processes the raw data file which can be obtained from the `download_website` attribute of - this class. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_eye_2019_10x_menon_001_10.1038/s41467-019-12780-8" - self.download_website = "https://covid19.cog.sanger.ac.uk/menon19.processed.h5ad" - self.download_website_meta = None - self.organ = "eye" - self.sub_tissue = "retina" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'ACs': 'Amacrine cell', - 'BPs': 'BPs', - 'Cones': 'Retinal cone cell', - 'Endo': 'Endothelial cell', - 'HCs': 'Horizontal cells', - 'Macroglia': 'Macroglia', - 'Microglia': 'Microglia', - 'RGCs': 'Retinal ganglion cell', - 'Rods': 'Rods', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "eye", "menon19.processed.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Hafler' - self.adata.uns["year"] = 2019 - self.adata.uns["doi"] = '10.1038/s41467-019-12780-8' - self.adata.uns["protocol"] = '10x' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["cell_ontology_class"] = self.adata.obs['CellType'] - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/human/eye/human_eye_2019_10x_voigt_001.py b/sfaira/data/human/eye/human_eye_2019_10x_voigt_001.py deleted file mode 100644 index 05f181393..000000000 --- a/sfaira/data/human/eye/human_eye_2019_10x_voigt_001.py +++ /dev/null @@ -1,75 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import numpy as np - - -class Dataset(DatasetBase): - """ - This data loader directly processes the raw data file which can be obtained from the `download_website` attribute of - this class. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_eye_2019_10x_voigt_001_10.1073/pnas.1914143116" - self.download_website = "https://covid19.cog.sanger.ac.uk/voigt19.processed.h5ad" - self.download_website_meta = None - self.organ = "eye" - self.sub_tissue = "retina" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'B-cell': 'B-cell', - 'Endothelial': 'Endothelial cell', - 'Fibroblast': 'Fibroblast', - 'Macrophage': 'Macrophage', - 'Mast-cell': 'Mast-cell', - 'Melanocyte': 'Melanocyte', - 'Pericyte': 'Pericyte', - 'RPE': 'Retinal pigment epithelium', - 'Schwann1': 'Schwann1', - 'Schwann2': 'Schwann2', - 'T/NK-cell': 'T/NK-cell', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "eye", "voigt19.processed.h5ad") - self.adata = anndata.read(fn) - self.adata.X = np.expm1(self.adata.X) - - self.adata.uns["lab"] = 'Mullins' - self.adata.uns["year"] = 2019 - self.adata.uns["doi"] = '10.1073/pnas.1914143116' - self.adata.uns["protocol"] = '10x' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - - self.adata.obs["cell_ontology_class"] = self.adata.obs['CellType'] - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/human/eye/human_eye_2020_microwell_han_001.py b/sfaira/data/human/eye/human_eye_2020_microwell_han_001.py deleted file mode 100644 index a1b101a65..000000000 --- a/sfaira/data/human/eye/human_eye_2020_microwell_han_001.py +++ /dev/null @@ -1,85 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_eye_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'Eye' - self.sub_tissue = 'FetalEyes' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Fetal neuron': 'Fetal neuron', - 'Fetal mesenchymal progenitor': 'Fetal mesenchymal progenitor', - 'Fetal epithelial progenitor': 'Fetal epithelial progenitor', - 'Erythroid cell': 'Erythroid cell', - 'Primordial germ cell': 'Primordial germ cell', - 'Endothelial cell': 'Endothelial cell', - 'Fetal skeletal muscle cell': 'Fetal skeletal muscle cell', - 'Fetal stromal cell': 'Fetal stromal cell', - 'Fetal fibroblast': 'Fibroblast', - 'Fetal Neuron': 'Fetal neuron', - 'Erythroid progenitor cell (RP high)': 'Erythroid progenitor cell (RP high)', - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'Dendritic cell': 'Dendritic cell', - 'Fetal endocrine cell': 'Fetal endocrine cell', - 'Macrophage': 'Macrophage', - 'T cell': 'T cell', - 'Basal cell': 'Basal cell', - 'Gastric endocrine cell': 'Gastric endocrine cell', - 'Goblet cell': 'Goblet cell', - 'Epithelial cell (intermediated)': 'Epithelial cell (intermediated)', - 'Stratified epithelial cell': 'Stratified epithelial cell', - 'CB CD34+': 'CB CD34_pos', - 'hESC': 'hESC' - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "eye", "hcl_FetalEyes_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/fallopiantube/__init__.py b/sfaira/data/human/fallopiantube/__init__.py deleted file mode 100644 index 4f16e3956..000000000 --- a/sfaira/data/human/fallopiantube/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_fallopiantube import DatasetGroupFallopiantube diff --git a/sfaira/data/human/fallopiantube/external.py b/sfaira/data/human/fallopiantube/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/fallopiantube/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/fallopiantube/human_fallopiantube.py b/sfaira/data/human/fallopiantube/human_fallopiantube.py deleted file mode 100644 index 739e221a0..000000000 --- a/sfaira/data/human/fallopiantube/human_fallopiantube.py +++ /dev/null @@ -1,26 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_fallopiantube_2020_microwell_han_001 import Dataset as Dataset0001 - - -class DatasetGroupFallopiantube(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupFallopiantube - self.datasets.update(DatasetGroupFallopiantube().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/fallopiantube/human_fallopiantube_2020_microwell_han_001.py b/sfaira/data/human/fallopiantube/human_fallopiantube_2020_microwell_han_001.py deleted file mode 100644 index 83618afc0..000000000 --- a/sfaira/data/human/fallopiantube/human_fallopiantube_2020_microwell_han_001.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_fallopiantube_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'fallopiantube' - self.sub_tissue = 'AdultFallopiantube' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "fallopiantube", "hcl_AdultFallopiantube_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/femalegonad/__init__.py b/sfaira/data/human/femalegonad/__init__.py deleted file mode 100644 index bbb59f91d..000000000 --- a/sfaira/data/human/femalegonad/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_femalegonad import DatasetGroupFemalegonad diff --git a/sfaira/data/human/femalegonad/external.py b/sfaira/data/human/femalegonad/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/femalegonad/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/femalegonad/human_femalegonad.py b/sfaira/data/human/femalegonad/human_femalegonad.py deleted file mode 100644 index a4b4745fb..000000000 --- a/sfaira/data/human/femalegonad/human_femalegonad.py +++ /dev/null @@ -1,28 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_femalegonad_2020_microwell_han_001 import Dataset as Dataset0001 -from .human_femalegonad_2020_microwell_han_002 import Dataset as Dataset0002 - - -class DatasetGroupFemalegonad(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupFemalegonad - self.datasets.update(DatasetGroupFemalegonad().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/femalegonad/human_femalegonad_2020_microwell_han_001.py b/sfaira/data/human/femalegonad/human_femalegonad_2020_microwell_han_001.py deleted file mode 100644 index e29aa96e1..000000000 --- a/sfaira/data/human/femalegonad/human_femalegonad_2020_microwell_han_001.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_femalegonad_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'femalegonad' - self.sub_tissue = 'FetalFemaleGonad' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "femalegonad", "hcl_FetalFemaleGonad_2.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/femalegonad/human_femalegonad_2020_microwell_han_002.py b/sfaira/data/human/femalegonad/human_femalegonad_2020_microwell_han_002.py deleted file mode 100644 index 36e38b6ee..000000000 --- a/sfaira/data/human/femalegonad/human_femalegonad_2020_microwell_han_002.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_femalegonad_2020_microwell_han_002_10.1038/s41586-020-2157-4" - self.organ = 'femalegonad' - self.sub_tissue = 'FetalFemaleGonad' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "femalegonad", "hcl_FetalFemaleGonad_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/gallbladder/__init__.py b/sfaira/data/human/gallbladder/__init__.py deleted file mode 100644 index de13546c3..000000000 --- a/sfaira/data/human/gallbladder/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_gallbladder import DatasetGroupGallbladder diff --git a/sfaira/data/human/gallbladder/external.py b/sfaira/data/human/gallbladder/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/gallbladder/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/gallbladder/human_gallbladder.py b/sfaira/data/human/gallbladder/human_gallbladder.py deleted file mode 100644 index 8d5e660f5..000000000 --- a/sfaira/data/human/gallbladder/human_gallbladder.py +++ /dev/null @@ -1,26 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_gallbladder_2020_microwell_han_001 import Dataset as Dataset0001 - - -class DatasetGroupGallbladder(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupGallbladder - self.datasets.update(DatasetGroupGallbladder().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/gallbladder/human_gallbladder_2020_microwell_han_001.py b/sfaira/data/human/gallbladder/human_gallbladder_2020_microwell_han_001.py deleted file mode 100644 index 3bf23a756..000000000 --- a/sfaira/data/human/gallbladder/human_gallbladder_2020_microwell_han_001.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_gallbladder_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'gallbladder' - self.sub_tissue = 'AdultGallbladder' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "gallbladder", "hcl_AdultGallbladder_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/heart/__init__.py b/sfaira/data/human/heart/__init__.py deleted file mode 100644 index b6fe327b0..000000000 --- a/sfaira/data/human/heart/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_heart import DatasetGroupHeart diff --git a/sfaira/data/human/heart/external.py b/sfaira/data/human/heart/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/heart/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/heart/human_heart.py b/sfaira/data/human/heart/human_heart.py deleted file mode 100644 index 5aff6fdce..000000000 --- a/sfaira/data/human/heart/human_heart.py +++ /dev/null @@ -1,32 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_heart_2020_microwell_han_001 import Dataset as Dataset0001 -from .human_heart_2020_microwell_han_002 import Dataset as Dataset0002 -from .human_heart_2020_microwell_han_003 import Dataset as Dataset0003 -from .human_heart_2020_microwell_han_004 import Dataset as Dataset0004 - - -class DatasetGroupHeart(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path), - Dataset0004(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupHeart - self.datasets.update(DatasetGroupHeart().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/heart/human_heart_2020_microwell_han_001.py b/sfaira/data/human/heart/human_heart_2020_microwell_han_001.py deleted file mode 100644 index a4e681323..000000000 --- a/sfaira/data/human/heart/human_heart_2020_microwell_han_001.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_heart_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'heart' - self.sub_tissue = 'FetalHeart' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "heart", "hcl_FetalHeart_2.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/heart/human_heart_2020_microwell_han_002.py b/sfaira/data/human/heart/human_heart_2020_microwell_han_002.py deleted file mode 100644 index d5436ab0f..000000000 --- a/sfaira/data/human/heart/human_heart_2020_microwell_han_002.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_heart_2020_microwell_han_002_10.1038/s41586-020-2157-4" - self.organ = 'heart' - self.sub_tissue = 'AdultHeart' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "heart", "hcl_AdultHeart_2.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/heart/human_heart_2020_microwell_han_003.py b/sfaira/data/human/heart/human_heart_2020_microwell_han_003.py deleted file mode 100644 index 7a1ef3a44..000000000 --- a/sfaira/data/human/heart/human_heart_2020_microwell_han_003.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_heart_2020_microwell_han_003_10.1038/s41586-020-2157-4" - self.organ = 'heart' - self.sub_tissue = 'AdultHeart' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "heart", "hcl_AdultHeart_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/heart/human_heart_2020_microwell_han_004.py b/sfaira/data/human/heart/human_heart_2020_microwell_han_004.py deleted file mode 100644 index fd149a361..000000000 --- a/sfaira/data/human/heart/human_heart_2020_microwell_han_004.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_heart_2020_microwell_han_004_10.1038/s41586-020-2157-4" - self.organ = 'heart' - self.sub_tissue = 'FetalHeart' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "heart", "hcl_FetalHeart_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/hesc/__init__.py b/sfaira/data/human/hesc/__init__.py deleted file mode 100644 index 741b9caa4..000000000 --- a/sfaira/data/human/hesc/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_hesc import DatasetGroupHesc diff --git a/sfaira/data/human/hesc/external.py b/sfaira/data/human/hesc/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/hesc/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/hesc/human_hesc.py b/sfaira/data/human/hesc/human_hesc.py deleted file mode 100644 index 3292ff6f3..000000000 --- a/sfaira/data/human/hesc/human_hesc.py +++ /dev/null @@ -1,26 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_hesc_2020_microwell_han_001 import Dataset as Dataset0001 - - -class DatasetGroupHesc(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupHesc - self.datasets.update(DatasetGroupHesc().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/hesc/human_hesc_2020_microwell_han_001.py b/sfaira/data/human/hesc/human_hesc_2020_microwell_han_001.py deleted file mode 100644 index ad2f0abe1..000000000 --- a/sfaira/data/human/hesc/human_hesc_2020_microwell_han_001.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_hesc_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'hesc' - self.sub_tissue = 'HESC' - self.dev_stage = 'HESC' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "hesc", "hcl_HESC_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/ileum/__init__.py b/sfaira/data/human/ileum/__init__.py deleted file mode 100644 index cb7ce42d4..000000000 --- a/sfaira/data/human/ileum/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_ileum import DatasetGroupIleum diff --git a/sfaira/data/human/ileum/external.py b/sfaira/data/human/ileum/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/ileum/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/ileum/human_ileum.py b/sfaira/data/human/ileum/human_ileum.py deleted file mode 100644 index 636d508f2..000000000 --- a/sfaira/data/human/ileum/human_ileum.py +++ /dev/null @@ -1,30 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_ileum_2019_10x_martin_001 import Dataset as Dataset0001 -from .human_ileum_2019_10x_wang_001 import Dataset as Dataset0002 -from .human_ileum_2020_microwell_han_001 import Dataset as Dataset0003 - - -class DatasetGroupIleum(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupIleum - self.datasets.update(DatasetGroupIleum().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/ileum/human_ileum_2019_10x_martin_001.py b/sfaira/data/human/ileum/human_ileum_2019_10x_martin_001.py deleted file mode 100644 index 4e71cd032..000000000 --- a/sfaira/data/human/ileum/human_ileum_2019_10x_martin_001.py +++ /dev/null @@ -1,88 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import numpy as np -import scipy.sparse - - -class Dataset(DatasetBase): - """ - This data loader directly processes the raw data file which can be obtained from the `download_website` attribute of - this class. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_ileum_2019_10x_martin_001_10.1016/j.cell.2019.08.008" - self.download_website = "https://covid19.cog.sanger.ac.uk/martin19.processed.h5ad" - self.download_website_meta = None - self.organ = "ileum" - self.sub_tissue = "ileum" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'T cells': 'T cells', - 'Plasma cells': 'Plasma Cells', - 'B cells': 'B cells', - 'MNP': 'MNP', - 'ILC': 'ILC', - 'Enterocytes': 'Enterocytes', - 'Fibs': 'Fibroblasts', - 'CD36+ endothelium': 'CD36+ endothelium', - 'Progenitors': 'Progenitors', - 'Goblets': 'Goblet cells', - 'Glial cells': 'Glial cells', - 'Cycling': 'Cycling', - 'ACKR1+ endothelium': 'ACKR1+ endothelium', - 'Pericytes': 'Pericytes', - 'Lymphatics': 'Lymphatics', - 'Mast cells': 'Mast cells', - 'SM': 'Smooth muscle cell', - 'TA': 'TA', - 'Paneth cells': 'Paneth cells', - 'Enteroendocrines': 'Enteroendocrine cells', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "ileum", "martin19.processed.h5ad") - self.adata = anndata.read(fn) - self.adata.X = np.expm1(self.adata.X) - self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['n_counts'].values[:, None]))\ - .multiply(1/10000) - self.adata = self.adata[self.adata.obs['CellType'] != 'Doublets'].copy() - - self.adata.uns["lab"] = "Kenigsberg" - self.adata.uns["year"] = 2019 - self.adata.uns["doi"] = "10.1016/j.cell.2019.08.008" - self.adata.uns["protocol"] = '10x' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["cell_ontology_class"] = self.adata.obs['CellType'] - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col='gene_ids', new_index='ensembl') diff --git a/sfaira/data/human/ileum/human_ileum_2019_10x_wang_001.py b/sfaira/data/human/ileum/human_ileum_2019_10x_wang_001.py deleted file mode 100644 index b8c8513de..000000000 --- a/sfaira/data/human/ileum/human_ileum_2019_10x_wang_001.py +++ /dev/null @@ -1,74 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import numpy as np -import scipy.sparse - - -class Dataset(DatasetBase): - """ - This data loader directly processes the raw data file which can be obtained from the `download_website` attribute of - this class. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_ileum_2019_10x_wang_001_10.1084/jem.20191130" - self.download_website = "https://covid19.cog.sanger.ac.uk/wang20_ileum.processed.h5ad" - self.download_website_meta = None - self.organ = "ileum" - self.sub_tissue = "ileum" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Progenitor': 'Progenitors', - 'Goblet': 'Goblet cells', - 'Enterocyte': 'Enterocytes', - 'Paneth-like': 'Paneth cells', - 'Stem Cell': 'Stem Cell', - 'TA': 'TA', - 'Enteriendocrine': 'Enteroendocrine cells', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "ileum", "wang20_ileum.processed.h5ad") - self.adata = anndata.read(fn) - self.adata.X = np.expm1(self.adata.X) - self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['n_counts'].values[:, None]))\ - .multiply(1/10000) - - self.adata.uns["lab"] = "Chen" - self.adata.uns["year"] = 2019 - self.adata.uns["doi"] = "10.1084/jem.20191130" - self.adata.uns["protocol"] = '10x' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["cell_ontology_class"] = self.adata.obs['CellType'] - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/human/ileum/human_ileum_2020_microwell_han_001.py b/sfaira/data/human/ileum/human_ileum_2020_microwell_han_001.py deleted file mode 100644 index 6d158298b..000000000 --- a/sfaira/data/human/ileum/human_ileum_2020_microwell_han_001.py +++ /dev/null @@ -1,88 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_ileum_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'ileum' - self.sub_tissue = 'AdultIleum' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'B cell': 'B cells', - 'B cell (Plasmocyte)': 'Plasma Cells', - 'Dendritic cell': 'Dendritic cell', - 'Endothelial cell': 'Endothelial cell', - 'Endothelial cell (APC)': 'Endothelial cell', - 'Endothelial cell (endothelial to mesenchymal transition)': 'Endothelial cell', - 'Enterocyte': 'Enterocytes', - 'Enterocyte progenitor': 'Enterocytes', - 'Epithelial cell': 'Epithelial cell', - 'Fetal Neuron': 'Fetal neuron', - 'Fetal enterocyte': 'Enterocytes', - 'Fetal epithelial progenitor': 'Progenitors', - 'Fetal mesenchymal progenitor': 'Fetal mesenchymal progenitor', - 'Fetal neuron': 'Fetal neuron', - 'Fetal stromal cell': 'Fetal stromal cell', - 'Fibroblast': 'Fibroblasts', - 'Hepatocyte/Endodermal cell': 'Hepatocyte/Endodermal cell', - 'M2 Macrophage': 'M2 Macrophage', - 'Macrophage': 'Macrophage', - 'Mast cell': 'Mast cells', - 'Monocyte': 'Monocyte', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Proliferating T cell': 'T cells', - 'Smooth muscle cell': 'Smooth muscle cell', - 'Stromal cell': 'Stromal cell', - 'T cell': 'T cells', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "ileum", "hcl_AdultIleum_2.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/jejunum/__init__.py b/sfaira/data/human/jejunum/__init__.py deleted file mode 100644 index dd9a3acd4..000000000 --- a/sfaira/data/human/jejunum/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_jejunum import DatasetGroupJejunum diff --git a/sfaira/data/human/jejunum/external.py b/sfaira/data/human/jejunum/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/jejunum/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/jejunum/human_jejunum.py b/sfaira/data/human/jejunum/human_jejunum.py deleted file mode 100644 index 3839f321b..000000000 --- a/sfaira/data/human/jejunum/human_jejunum.py +++ /dev/null @@ -1,26 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_jejunum_2020_microwell_han_001 import Dataset as Dataset0001 - - -class DatasetGroupJejunum(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupJejunum - self.datasets.update(DatasetGroupJejunum().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/jejunum/human_jejunum_2020_microwell_han_001.py b/sfaira/data/human/jejunum/human_jejunum_2020_microwell_han_001.py deleted file mode 100644 index deb5e3001..000000000 --- a/sfaira/data/human/jejunum/human_jejunum_2020_microwell_han_001.py +++ /dev/null @@ -1,60 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_jejunum_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'jejunum' - self.sub_tissue = 'AdultJejunum' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "jejunum", "hcl_AdultJejunum_2.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') diff --git a/sfaira/data/human/kidney/__init__.py b/sfaira/data/human/kidney/__init__.py deleted file mode 100644 index 4101ed3c2..000000000 --- a/sfaira/data/human/kidney/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_kidney import DatasetGroupKidney diff --git a/sfaira/data/human/kidney/external.py b/sfaira/data/human/kidney/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/kidney/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/kidney/human_kidney.py b/sfaira/data/human/kidney/human_kidney.py deleted file mode 100644 index 6cc159f97..000000000 --- a/sfaira/data/human/kidney/human_kidney.py +++ /dev/null @@ -1,44 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_kidney_2019_10xSn_lake_001 import Dataset as Dataset0001 -from .human_kidney_2019_10x_stewart_001 import Dataset as Dataset0002 -from .human_kidney_2020_10x_liao_001 import Dataset as Dataset0003 -from .human_kidney_2020_microwell_han_001 import Dataset as Dataset0004 -from .human_kidney_2020_microwell_han_002 import Dataset as Dataset0005 -from .human_kidney_2020_microwell_han_003 import Dataset as Dataset0006 -from .human_kidney_2020_microwell_han_004 import Dataset as Dataset0007 -from .human_kidney_2020_microwell_han_005 import Dataset as Dataset0008 -from .human_kidney_2020_microwell_han_006 import Dataset as Dataset0009 -from .human_kidney_2020_microwell_han_007 import Dataset as Dataset0010 - - -class DatasetGroupKidney(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path), - Dataset0004(path=path, meta_path=meta_path), - Dataset0005(path=path, meta_path=meta_path), - Dataset0006(path=path, meta_path=meta_path), - Dataset0007(path=path, meta_path=meta_path), - Dataset0008(path=path, meta_path=meta_path), - Dataset0009(path=path, meta_path=meta_path), - Dataset0010(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupKidney - self.datasets.update(DatasetGroupKidney().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/kidney/human_kidney_2019_10xSn_lake_001.py b/sfaira/data/human/kidney/human_kidney_2019_10xSn_lake_001.py deleted file mode 100644 index 2066abbf6..000000000 --- a/sfaira/data/human/kidney/human_kidney_2019_10xSn_lake_001.py +++ /dev/null @@ -1,95 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import pandas as pd - - -class Dataset(DatasetBase): - """ - This data loader directly processes the raw data files which can be obtained from the `download_website` and - `download_website_meta` attributes of this class. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_kidney_2019_10xSn_lake_001_10.1038/s41467-019-10861-2" - self.download_website = "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE121nnn/GSE121862/suppl/GSE121862%5FUCSD%2DWU%5FSingle%5FNuclei%5FCluster%5FAnnotated%5FRaw%5FUMI%5FMatrix%2Etsv%2Egz" - self.download_website_meta = "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE121nnn/GSE121862/suppl/GSE121862%5FUCSD%2DWU%5FSingle%5FNuclei%5FCluster%5FAnnotations%2Ecsv%2Egz" - self.organ = "kidney" - self.sub_tissue = "kidney" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Collecting Duct - Intercalated Cells Type A (cortex)': 'Collecting Duct - Intercalated Cells Type A (cortex)', - 'Collecting Duct - Intercalated Cells Type A (medulla)': 'Collecting Duct - Intercalated Cells Type A (medulla)', - 'Collecting Duct - Intercalated Cells Type B': 'Collecting Duct - Intercalated Cells Type B', - 'Collecting Duct - PCs - Stressed Dissoc Subset': 'Collecting Duct - PCs - Stressed Dissoc Subset', - 'Collecting Duct - Principal Cells (cortex)': 'Collecting Duct - Principal Cells (cortex)', - 'Collecting Duct - Principal Cells (medulla)': 'Collecting Duct - Principal Cells (medulla)', - 'Connecting Tubule': 'Connecting tubule', - 'Decending Limb': 'Decending Limb', - 'Distal Convoluted Tubule': 'Distal Convoluted Tubule', - 'Endothelial Cells (unassigned)': 'Endothelial Cells (unassigned)', - 'Endothelial Cells - AEA & DVR ': 'Endothelial Cells - AEA & DVR', - 'Endothelial Cells - AVR': 'Endothelial Cells - AVR', - 'Endothelial Cells - glomerular capillaries': 'Endothelial Cells - glomerular capillaries', - 'Epithelial Cells (unassigned)': 'Epithelial Cells (unassigned)', - 'Immune Cells - Macrophages': 'Macrophage', - 'Interstitium': 'Interstitium', - 'Mesangial Cells': 'Mesangial Cells', - 'Podocytes': 'Podocyte', - 'Proximal Tubule Epithelial Cells (S1)': 'Proximal Tubule Epithelial Cells (S1)', - 'Proximal Tubule Epithelial Cells (S2)': 'Proximal Tubule Epithelial Cells (S2)', - 'Proximal Tubule Epithelial Cells (S3)': 'Proximal Tubule Epithelial Cells (S3)', - 'Proximal Tubule Epithelial Cells - Fibrinogen+ (S3 )': 'Proximal Tubule Epithelial Cells - Fibrinogen+ (S3)', - 'Proximal Tubule Epithelial Cells - Stress/Inflam': 'Proximal Tubule Epithelial Cells - Stress/Inflam', - 'Thick Ascending Limb': 'Thick ascending limb of Loop of Henle', - 'Thin ascending limb': 'Thin ascending limb', - 'Unknown - Novel PT CFH+ Subpopulation (S2)': 'Unknown - Novel PT CFH+ Subpopulation (S2)', - 'Vascular Smooth Muscle Cells and pericytes': 'Vascular Smooth Muscle Cells and pericytes', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = [ - os.path.join(self.path, "human", "kidney", "GSE121862_UCSD-WU_Single_Nuclei_Cluster_Annotated_Raw_UMI_Matrix.tsv.gz"), - os.path.join(self.path, "human", "kidney", "GSE121862_UCSD-WU_Single_Nuclei_Cluster_Annotations.csv.gz") - ] - self.adata = anndata.AnnData(pd.read_csv(fn[0], sep='\t').T) - annot = pd.read_csv(fn[1], index_col=0, dtype='category') - self.adata.obs['celltype'] = [annot.loc[i.split('_')[0][1:]]['Annotation'] for i in self.adata.obs.index] - - self.adata.uns["lab"] = 'Jain' - self.adata.uns["year"] = 2019 - self.adata.uns["doi"] = '10.1038/s41467-019-10861-2' - self.adata.uns["protocol"] = '10xSn' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["cell_ontology_class"] = self.adata.obs['celltype'] - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/human/kidney/human_kidney_2019_10x_stewart_001.py b/sfaira/data/human/kidney/human_kidney_2019_10x_stewart_001.py deleted file mode 100644 index f483c91f7..000000000 --- a/sfaira/data/human/kidney/human_kidney_2019_10x_stewart_001.py +++ /dev/null @@ -1,145 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import numpy as np - - -class Dataset(DatasetBase): - """ - This data loader directly processes the two raw data files which can be obtained from the `download_website` - attribute of this class. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_kidney_2019_10x_stewart_001_10.1126/science.aat5031" - self.download_website = [ - 'https://cellgeni.cog.sanger.ac.uk/BenKidney_v2.1/Mature_Full_v2.1.h5ad', - 'https://cellgeni.cog.sanger.ac.uk/BenKidney_v2.1/Fetal_full.h5ad' - ] - self.download_website_meta = None - self.organ = "kidney" - self.sub_tissue = "renal medulla, renal pelvis, ureter, cortex of kidney" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Ascending vasa recta endothelium': 'Endothelial Cells - AVR', - 'B cell': 'B cell', - 'CD4 T cell': 'CD4 T cell', - 'CD8 T cell': 'CD8 T cell', - 'CNT/PC - proximal UB': 'CNT/PC - proximal UB', - 'Cap mesenchyme': 'Cap mesenchyme', - 'Connecting tubule': 'Connecting tubule', - 'Descending vasa recta endothelium': 'Endothelial Cells - AEA & DVR', - 'Distal S shaped body': 'Distal S shaped body', - 'Distal renal vesicle': 'Distal renal vesicle', - 'Distinct proximal tubule 1': 'Distinct proximal tubule 1', - 'Distinct proximal tubule 2': 'Distinct proximal tubule 2', - 'Endothelium': 'Endothelial Cells (unassigned)', - 'Epithelial progenitor cell': 'Epithelial progenitor', - 'Erythroid': 'Erythroid', - 'Fibroblast': 'Fibroblast', - 'Fibroblast 1': 'Fibroblast', - 'Fibroblast 2': 'Fibroblast', - 'Glomerular endothelium': 'Endothelial Cells - glomerular capillaries', - 'Indistinct intercalated cell': 'Indistinct intercalated cell', - 'Innate like lymphocyte': 'Innate like lymphocyte', - 'Loop of Henle': 'Loop of Henle', - 'MNP-a/classical monocyte derived': 'MNP-a/classical monocyte derived', - 'MNP-b/non-classical monocyte derived': 'MNP-b/non-classical monocyte derived', - 'MNP-c/dendritic cell': 'MNP-c/dendritic cell', - 'MNP-d/Tissue macrophage': 'MNP-d/Tissue macrophage', - 'Macrophage 1': 'Macrophage', - 'Macrophage 2': 'Macrophage', - 'Mast cell': 'Mast cell', - 'Mast cells': 'Mast cell', - 'Medial S shaped body': 'Medial S shaped body', - 'Megakaryocyte': 'Megakaryocyte', - 'Monocyte': 'Monocyte', - 'Myofibroblast': 'Myofibroblast', - 'Myofibroblast 1': 'Myofibroblast', - 'Myofibroblast 2': 'Myofibroblast', - 'NK cell': 'NK cell', - 'NKT cell': 'NKT cell', - 'Neuron': 'Neuron', - 'Neutrophil': 'Neutrophil', - 'Pelvic epithelium': 'Pelvic epithelium', - 'Pelvic epithelium - distal UB': 'Pelvic epithelium - distal UB', - 'Peritubular capillary endothelium 1': 'Peritubular capillary endothelium 1', - 'Peritubular capillary endothelium 2': 'Peritubular capillary endothelium 2', - 'Plasmacytoid dendritic cell': 'Plasmacytoid dendritic cell', - 'Podocyte': 'Podocyte', - 'Principal cell': 'Principal cell', - 'Proliferating B cell': 'Proliferating B cell', - 'Proliferating NK cell': 'Proliferating NK cell', - 'Proliferating Proximal Tubule': 'Proliferating Proximal Tubule', - 'Proliferating cDC2': 'Proliferating cDC2', - 'Proliferating cap mesenchyme': 'Proliferating cap mesenchyme', - 'Proliferating distal renal vesicle': 'Proliferating distal renal vesicle', - 'Proliferating fibroblast': 'Proliferating fibroblast', - 'Proliferating macrophage': 'Proliferating macrophage', - 'Proliferating monocyte': 'Proliferating monocyte', - 'Proliferating myofibroblast': 'Proliferating myofibroblast', - 'Proliferating stroma progenitor': 'Proliferating stroma progenitor', - 'Proximal S shaped body': 'Proximal S shaped body', - 'Proximal UB': 'Proximal UB', - 'Proximal renal vesicle': 'Proximal renal vesicle', - 'Proximal tubule': 'Proximal tubule', - 'Stroma progenitor': 'Stroma progenitor', - 'Thick ascending limb of Loop of Henle': 'Thick ascending limb of Loop of Henle', - 'Transitional urothelium': 'Transitional urothelium', - 'Type A intercalated cell': 'Type A intercalated cell', - 'Type B intercalated cell': 'Collecting Duct - Intercalated Cells Type B', - 'cDC1': 'cDC1', - 'cDC2': 'cDC2', - 'pDC': 'pDC', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = [ - os.path.join(self.path, "human", "kidney", "Mature_Full_v2.1.h5ad"), - os.path.join(self.path, "human", "kidney", "Fetal_full.h5ad") - ] - adult = anndata.read(fn[0]) - fetal = anndata.read(fn[1]) - adult.obs['development'] = 'adult' - fetal.obs['development'] = 'fetal' - self.adata = adult.concatenate(fetal) - self.adata.X = np.expm1(self.adata.X) - - self.adata.uns["lab"] = 'Clatworthy' - self.adata.uns["year"] = 2019 - self.adata.uns["doi"] = '10.1126/science.aat5031' - self.adata.uns["protocol"] = '10x' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - - self.adata.obs["cell_ontology_class"] = self.adata.obs["celltype"] - self.adata.obs["cell_ontology_id"] = None - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col='ID', new_index='ensembl') diff --git a/sfaira/data/human/kidney/human_kidney_2020_10x_liao_001.py b/sfaira/data/human/kidney/human_kidney_2020_10x_liao_001.py deleted file mode 100644 index fcf46fcf6..000000000 --- a/sfaira/data/human/kidney/human_kidney_2020_10x_liao_001.py +++ /dev/null @@ -1,115 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import pandas as pd -import scipy.io -import gzip -import tarfile - - -class Dataset(DatasetBase): - """ - This data loader supports reading of the downloaded raw data file if `load_raw=True` is passed to self.load() - To download the datafile required by this dataloader, use the link provided as the `download_website` attribute of - this class. For (up to 100-fold faster) repeated data loading, please pass `load_raw=False` when calling the - self.load() method. For this, you need to preprocess the raw files as below and place the resulting h5ad file in the - data folder of this organ: - - import anndata - import pandas as pd - import scipy.io - import gzip - import tarfile - adatas = [] - with tarfile.open("GSE131685_RAW.tar") as tar: - for member in tar.getmembers(): - if '_matrix.mtx.gz' in member.name: - name = '_'.join(member.name.split('_')[:-1]) - with gzip.open(tar.extractfile(member), 'rb') as mm: - X = scipy.io.mmread(mm).T.tocsr() - obs = pd.read_csv(tar.extractfile(name+'_barcodes.tsv.gz'), compression='gzip', header=None, sep='\t', index_col=0) - obs.index.name = None - var = pd.read_csv(tar.extractfile(name+'_features.tsv.gz'), compression='gzip', header=None, sep='\t').iloc[:,:2] - var.columns = ['ensembl', 'names'] - var.index = var['ensembl'].values - adata = anndata.AnnData(X=X, obs=obs, var=var) - adata.obs['sample'] = name - adatas.append(adata) - adata = adatas[0].concatenate(adatas[1:]) - del adata.obs['batch'] - adata.write('GSE131685.h5ad') - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_kidney_2020_10x_liao_001_10.1038/s41597-019-0351-8" - self.download_website = "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE131nnn/GSE131685/suppl/GSE131685_RAW.tar" - self.download_website_meta = None - self.organ = "kidney" - self.sub_tissue = "kidney" - self.has_celltypes = False - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "kidney", "GSE131685_RAW.tar") - adatas = [] - with tarfile.open(fn) as tar: - for member in tar.getmembers(): - if '_matrix.mtx.gz' in member.name: - name = '_'.join(member.name.split('_')[:-1]) - with gzip.open(tar.extractfile(member), 'rb') as mm: - X = scipy.io.mmread(mm).T.tocsr() - obs = pd.read_csv(tar.extractfile(name + '_barcodes.tsv.gz'), compression='gzip', header=None, - sep='\t', index_col=0) - obs.index.name = None - var = pd.read_csv(tar.extractfile(name + '_features.tsv.gz'), compression='gzip', header=None, - sep='\t').iloc[:, :2] - var.columns = ['ensembl', 'names'] - var.index = var['ensembl'].values - self.adata = anndata.AnnData(X=X, obs=obs, var=var) - self.adata.obs['sample'] = name - adatas.append(self.adata) - self.adata = adatas[0].concatenate(adatas[1:]) - del self.adata.obs['batch'] - - else: - if fn is None: - fn = os.path.join(self.path, "human", "kidney", "GSE131685.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Mo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41597-019-0351-8' - self.adata.uns["protocol"] = '10x' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["cell_ontology_class"] = None - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = 'healthy' - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') diff --git a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_001.py b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_001.py deleted file mode 100644 index d785af18a..000000000 --- a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_001.py +++ /dev/null @@ -1,110 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_kidney_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'Kidney' - self.sub_tissue = 'AdultKidney' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'B cell': 'B cell', - 'B cell (Plasmocyte)': 'B cell (Plasmocyte)', - 'CB CD34+': 'CB CD34+', - 'Dendritic cell': 'Dendritic cell', - 'Endothelial cell': 'Endothelial cell', - 'Endothelial cell (APC)': 'Endothelial cell (APC)', - 'Endothelial cell (endothelial to mesenchymal transition)': 'Endothelial cell (endothelial to mesenchymal transition)', - 'Enterocyte progenitor': 'Enterocyte progenitor', - 'Epithelial cell': 'Epithelial cell', - 'Epithelial cell (intermediated)': 'Intermediated cell', - 'Erythroid cell': 'Erythroid', - 'Erythroid progenitor cell (RP high)': 'Erythroid progenitor cell (RP high)', - 'Fasciculata cell': 'Fasciculata cell', - 'Fetal Neuron': 'Neuron', - 'Fetal acinar cell': 'Acinar cell', - 'Fetal chondrocyte': 'Chondrocyte', - 'Fetal endocrine cell': 'Endocrine cell', - 'Fetal enterocyte ': 'Enterocyte ', - 'Fetal epithelial progenitor': 'Epithelial progenitor', - 'Fetal fibroblast': 'Fibroblast', - 'Fetal mesenchymal progenitor': 'Stroma progenitor', - 'Fetal neuron': 'Neuron', - 'Fetal skeletal muscle cell': 'Skeletal muscle cell', - 'Fetal stromal cell': 'Stroma progenitor', - 'Fibroblast': 'Fibroblast', - 'Gastric endocrine cell': 'Gastric endocrine cell', - 'Goblet cell': 'Goblet cell', - 'Intercalated cell': 'Intercalated cell', - 'Intermediated cell': 'Intermediated cell', - 'Kidney intercalated cell': 'Intercalated cell', - 'Loop of Henle': 'Loop of Henle', - 'M2 Macrophage': 'M2 Macrophage', - 'Macrophage': 'Macrophage', - 'Mast cell': 'Mast cell', - 'Monocyte': 'Monocyte', - 'Myeloid cell': 'Myeloid cell', - 'Neutrophil': 'Neutrophil', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Primordial germ cell': 'Primordial germ cell', - 'Proliferating T cell': 'Proliferating T cell', - 'Proximal tubule progenitor': 'Proximal tubule progenitor', - 'Sinusoidal endothelial cell': 'Sinusoidal endothelial cell', - 'Smooth muscle cell': 'Vascular Smooth Muscle Cells and pericytes', - 'Stratified epithelial cell': 'Stratified epithelial cell', - 'Stromal cell': 'Stromal cell', - 'T cell': 'T cell', - 'Ureteric bud cell': 'Ureteric bud cell', - 'hESC': 'hESC', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "kidney", "hcl_AdultKidney_2.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') diff --git a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_002.py b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_002.py deleted file mode 100644 index fc69077f6..000000000 --- a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_002.py +++ /dev/null @@ -1,110 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_kidney_2020_microwell_han_002_10.1038/s41586-020-2157-4" - self.organ = 'Kidney' - self.sub_tissue = 'AdultKidney' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'B cell': 'B cell', - 'B cell (Plasmocyte)': 'B cell (Plasmocyte)', - 'CB CD34+': 'CB CD34+', - 'Dendritic cell': 'Dendritic cell', - 'Endothelial cell': 'Endothelial cell', - 'Endothelial cell (APC)': 'Endothelial cell (APC)', - 'Endothelial cell (endothelial to mesenchymal transition)': 'Endothelial cell (endothelial to mesenchymal transition)', - 'Enterocyte progenitor': 'Enterocyte progenitor', - 'Epithelial cell': 'Epithelial cell', - 'Epithelial cell (intermediated)': 'Intermediated cell', - 'Erythroid cell': 'Erythroid', - 'Erythroid progenitor cell (RP high)': 'Erythroid progenitor cell (RP high)', - 'Fasciculata cell': 'Fasciculata cell', - 'Fetal Neuron': 'Neuron', - 'Fetal acinar cell': 'Acinar cell', - 'Fetal chondrocyte': 'Chondrocyte', - 'Fetal endocrine cell': 'Endocrine cell', - 'Fetal enterocyte ': 'Enterocyte ', - 'Fetal epithelial progenitor': 'Epithelial progenitor', - 'Fetal fibroblast': 'Fibroblast', - 'Fetal mesenchymal progenitor': 'Stroma progenitor', - 'Fetal neuron': 'Neuron', - 'Fetal skeletal muscle cell': 'Skeletal muscle cell', - 'Fetal stromal cell': 'Stroma progenitor', - 'Fibroblast': 'Fibroblast', - 'Gastric endocrine cell': 'Gastric endocrine cell', - 'Goblet cell': 'Goblet cell', - 'Intercalated cell': 'Intercalated cell', - 'Intermediated cell': 'Intermediated cell', - 'Kidney intercalated cell': 'Intercalated cell', - 'Loop of Henle': 'Loop of Henle', - 'M2 Macrophage': 'M2 Macrophage', - 'Macrophage': 'Macrophage', - 'Mast cell': 'Mast cell', - 'Monocyte': 'Monocyte', - 'Myeloid cell': 'Myeloid cell', - 'Neutrophil': 'Neutrophil', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Primordial germ cell': 'Primordial germ cell', - 'Proliferating T cell': 'Proliferating T cell', - 'Proximal tubule progenitor': 'Proximal tubule progenitor', - 'Sinusoidal endothelial cell': 'Sinusoidal endothelial cell', - 'Smooth muscle cell': 'Vascular Smooth Muscle Cells and pericytes', - 'Stratified epithelial cell': 'Stratified epithelial cell', - 'Stromal cell': 'Stromal cell', - 'T cell': 'T cell', - 'Ureteric bud cell': 'Ureteric bud cell', - 'hESC': 'hESC', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "kidney", "hcl_AdultKidney_3.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') diff --git a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_003.py b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_003.py deleted file mode 100644 index e56bf1b0e..000000000 --- a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_003.py +++ /dev/null @@ -1,110 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_kidney_2020_microwell_han_003_10.1038/s41586-020-2157-4" - self.organ = 'Kidney' - self.sub_tissue = 'AdultKidney' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'B cell': 'B cell', - 'B cell (Plasmocyte)': 'B cell (Plasmocyte)', - 'CB CD34+': 'CB CD34+', - 'Dendritic cell': 'Dendritic cell', - 'Endothelial cell': 'Endothelial cell', - 'Endothelial cell (APC)': 'Endothelial cell (APC)', - 'Endothelial cell (endothelial to mesenchymal transition)': 'Endothelial cell (endothelial to mesenchymal transition)', - 'Enterocyte progenitor': 'Enterocyte progenitor', - 'Epithelial cell': 'Epithelial cell', - 'Epithelial cell (intermediated)': 'Intermediated cell', - 'Erythroid cell': 'Erythroid', - 'Erythroid progenitor cell (RP high)': 'Erythroid progenitor cell (RP high)', - 'Fasciculata cell': 'Fasciculata cell', - 'Fetal Neuron': 'Neuron', - 'Fetal acinar cell': 'Acinar cell', - 'Fetal chondrocyte': 'Chondrocyte', - 'Fetal endocrine cell': 'Endocrine cell', - 'Fetal enterocyte ': 'Enterocyte ', - 'Fetal epithelial progenitor': 'Epithelial progenitor', - 'Fetal fibroblast': 'Fibroblast', - 'Fetal mesenchymal progenitor': 'Stroma progenitor', - 'Fetal neuron': 'Neuron', - 'Fetal skeletal muscle cell': 'Skeletal muscle cell', - 'Fetal stromal cell': 'Stroma progenitor', - 'Fibroblast': 'Fibroblast', - 'Gastric endocrine cell': 'Gastric endocrine cell', - 'Goblet cell': 'Goblet cell', - 'Intercalated cell': 'Intercalated cell', - 'Intermediated cell': 'Intermediated cell', - 'Kidney intercalated cell': 'Intercalated cell', - 'Loop of Henle': 'Loop of Henle', - 'M2 Macrophage': 'M2 Macrophage', - 'Macrophage': 'Macrophage', - 'Mast cell': 'Mast cell', - 'Monocyte': 'Monocyte', - 'Myeloid cell': 'Myeloid cell', - 'Neutrophil': 'Neutrophil', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Primordial germ cell': 'Primordial germ cell', - 'Proliferating T cell': 'Proliferating T cell', - 'Proximal tubule progenitor': 'Proximal tubule progenitor', - 'Sinusoidal endothelial cell': 'Sinusoidal endothelial cell', - 'Smooth muscle cell': 'Vascular Smooth Muscle Cells and pericytes', - 'Stratified epithelial cell': 'Stratified epithelial cell', - 'Stromal cell': 'Stromal cell', - 'T cell': 'T cell', - 'Ureteric bud cell': 'Ureteric bud cell', - 'hESC': 'hESC', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "kidney", "hcl_AdultKidney_4.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') diff --git a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_004.py b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_004.py deleted file mode 100644 index a0a70e798..000000000 --- a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_004.py +++ /dev/null @@ -1,110 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_kidney_2020_microwell_han_004_10.1038/s41586-020-2157-4" - self.organ = 'Kidney' - self.sub_tissue = 'FetalKidney' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'B cell': 'B cell', - 'B cell (Plasmocyte)': 'B cell (Plasmocyte)', - 'CB CD34+': 'CB CD34+', - 'Dendritic cell': 'Dendritic cell', - 'Endothelial cell': 'Endothelial cell', - 'Endothelial cell (APC)': 'Endothelial cell (APC)', - 'Endothelial cell (endothelial to mesenchymal transition)': 'Endothelial cell (endothelial to mesenchymal transition)', - 'Enterocyte progenitor': 'Enterocyte progenitor', - 'Epithelial cell': 'Epithelial cell', - 'Epithelial cell (intermediated)': 'Intermediated cell', - 'Erythroid cell': 'Erythroid', - 'Erythroid progenitor cell (RP high)': 'Erythroid progenitor cell (RP high)', - 'Fasciculata cell': 'Fasciculata cell', - 'Fetal Neuron': 'Neuron', - 'Fetal acinar cell': 'Acinar cell', - 'Fetal chondrocyte': 'Chondrocyte', - 'Fetal endocrine cell': 'Endocrine cell', - 'Fetal enterocyte ': 'Enterocyte ', - 'Fetal epithelial progenitor': 'Epithelial progenitor', - 'Fetal fibroblast': 'Fibroblast', - 'Fetal mesenchymal progenitor': 'Stroma progenitor', - 'Fetal neuron': 'Neuron', - 'Fetal skeletal muscle cell': 'Skeletal muscle cell', - 'Fetal stromal cell': 'Stroma progenitor', - 'Fibroblast': 'Fibroblast', - 'Gastric endocrine cell': 'Gastric endocrine cell', - 'Goblet cell': 'Goblet cell', - 'Intercalated cell': 'Intercalated cell', - 'Intermediated cell': 'Intermediated cell', - 'Kidney intercalated cell': 'Intercalated cell', - 'Loop of Henle': 'Loop of Henle', - 'M2 Macrophage': 'M2 Macrophage', - 'Macrophage': 'Macrophage', - 'Mast cell': 'Mast cell', - 'Monocyte': 'Monocyte', - 'Myeloid cell': 'Myeloid cell', - 'Neutrophil': 'Neutrophil', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Primordial germ cell': 'Primordial germ cell', - 'Proliferating T cell': 'Proliferating T cell', - 'Proximal tubule progenitor': 'Proximal tubule progenitor', - 'Sinusoidal endothelial cell': 'Sinusoidal endothelial cell', - 'Smooth muscle cell': 'Vascular Smooth Muscle Cells and pericytes', - 'Stratified epithelial cell': 'Stratified epithelial cell', - 'Stromal cell': 'Stromal cell', - 'T cell': 'T cell', - 'Ureteric bud cell': 'Ureteric bud cell', - 'hESC': 'hESC', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "kidney", "hcl_FetalKidney_3.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') diff --git a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_005.py b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_005.py deleted file mode 100644 index f236729e8..000000000 --- a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_005.py +++ /dev/null @@ -1,110 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_kidney_2020_microwell_han_005_10.1038/s41586-020-2157-4" - self.organ = 'Kidney' - self.sub_tissue = 'FetalKidney' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'B cell': 'B cell', - 'B cell (Plasmocyte)': 'B cell (Plasmocyte)', - 'CB CD34+': 'CB CD34+', - 'Dendritic cell': 'Dendritic cell', - 'Endothelial cell': 'Endothelial cell', - 'Endothelial cell (APC)': 'Endothelial cell (APC)', - 'Endothelial cell (endothelial to mesenchymal transition)': 'Endothelial cell (endothelial to mesenchymal transition)', - 'Enterocyte progenitor': 'Enterocyte progenitor', - 'Epithelial cell': 'Epithelial cell', - 'Epithelial cell (intermediated)': 'Intermediated cell', - 'Erythroid cell': 'Erythroid', - 'Erythroid progenitor cell (RP high)': 'Erythroid progenitor cell (RP high)', - 'Fasciculata cell': 'Fasciculata cell', - 'Fetal Neuron': 'Neuron', - 'Fetal acinar cell': 'Acinar cell', - 'Fetal chondrocyte': 'Chondrocyte', - 'Fetal endocrine cell': 'Endocrine cell', - 'Fetal enterocyte ': 'Enterocyte ', - 'Fetal epithelial progenitor': 'Epithelial progenitor', - 'Fetal fibroblast': 'Fibroblast', - 'Fetal mesenchymal progenitor': 'Stroma progenitor', - 'Fetal neuron': 'Neuron', - 'Fetal skeletal muscle cell': 'Skeletal muscle cell', - 'Fetal stromal cell': 'Stroma progenitor', - 'Fibroblast': 'Fibroblast', - 'Gastric endocrine cell': 'Gastric endocrine cell', - 'Goblet cell': 'Goblet cell', - 'Intercalated cell': 'Intercalated cell', - 'Intermediated cell': 'Intermediated cell', - 'Kidney intercalated cell': 'Intercalated cell', - 'Loop of Henle': 'Loop of Henle', - 'M2 Macrophage': 'M2 Macrophage', - 'Macrophage': 'Macrophage', - 'Mast cell': 'Mast cell', - 'Monocyte': 'Monocyte', - 'Myeloid cell': 'Myeloid cell', - 'Neutrophil': 'Neutrophil', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Primordial germ cell': 'Primordial germ cell', - 'Proliferating T cell': 'Proliferating T cell', - 'Proximal tubule progenitor': 'Proximal tubule progenitor', - 'Sinusoidal endothelial cell': 'Sinusoidal endothelial cell', - 'Smooth muscle cell': 'Vascular Smooth Muscle Cells and pericytes', - 'Stratified epithelial cell': 'Stratified epithelial cell', - 'Stromal cell': 'Stromal cell', - 'T cell': 'T cell', - 'Ureteric bud cell': 'Ureteric bud cell', - 'hESC': 'hESC', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "kidney", "hcl_FetalKidney_4.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') diff --git a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_006.py b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_006.py deleted file mode 100644 index 8e0d05fd6..000000000 --- a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_006.py +++ /dev/null @@ -1,110 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_kidney_2020_microwell_han_006_10.1038/s41586-020-2157-4" - self.organ = 'Kidney' - self.sub_tissue = 'FetalKidney' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'B cell': 'B cell', - 'B cell (Plasmocyte)': 'B cell (Plasmocyte)', - 'CB CD34+': 'CB CD34+', - 'Dendritic cell': 'Dendritic cell', - 'Endothelial cell': 'Endothelial cell', - 'Endothelial cell (APC)': 'Endothelial cell (APC)', - 'Endothelial cell (endothelial to mesenchymal transition)': 'Endothelial cell (endothelial to mesenchymal transition)', - 'Enterocyte progenitor': 'Enterocyte progenitor', - 'Epithelial cell': 'Epithelial cell', - 'Epithelial cell (intermediated)': 'Intermediated cell', - 'Erythroid cell': 'Erythroid', - 'Erythroid progenitor cell (RP high)': 'Erythroid progenitor cell (RP high)', - 'Fasciculata cell': 'Fasciculata cell', - 'Fetal Neuron': 'Neuron', - 'Fetal acinar cell': 'Acinar cell', - 'Fetal chondrocyte': 'Chondrocyte', - 'Fetal endocrine cell': 'Endocrine cell', - 'Fetal enterocyte ': 'Enterocyte ', - 'Fetal epithelial progenitor': 'Epithelial progenitor', - 'Fetal fibroblast': 'Fibroblast', - 'Fetal mesenchymal progenitor': 'Stroma progenitor', - 'Fetal neuron': 'Neuron', - 'Fetal skeletal muscle cell': 'Skeletal muscle cell', - 'Fetal stromal cell': 'Stroma progenitor', - 'Fibroblast': 'Fibroblast', - 'Gastric endocrine cell': 'Gastric endocrine cell', - 'Goblet cell': 'Goblet cell', - 'Intercalated cell': 'Intercalated cell', - 'Intermediated cell': 'Intermediated cell', - 'Kidney intercalated cell': 'Intercalated cell', - 'Loop of Henle': 'Loop of Henle', - 'M2 Macrophage': 'M2 Macrophage', - 'Macrophage': 'Macrophage', - 'Mast cell': 'Mast cell', - 'Monocyte': 'Monocyte', - 'Myeloid cell': 'Myeloid cell', - 'Neutrophil': 'Neutrophil', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Primordial germ cell': 'Primordial germ cell', - 'Proliferating T cell': 'Proliferating T cell', - 'Proximal tubule progenitor': 'Proximal tubule progenitor', - 'Sinusoidal endothelial cell': 'Sinusoidal endothelial cell', - 'Smooth muscle cell': 'Vascular Smooth Muscle Cells and pericytes', - 'Stratified epithelial cell': 'Stratified epithelial cell', - 'Stromal cell': 'Stromal cell', - 'T cell': 'T cell', - 'Ureteric bud cell': 'Ureteric bud cell', - 'hESC': 'hESC', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "kidney", "hcl_FetalKidney_5.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') diff --git a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_007.py b/sfaira/data/human/kidney/human_kidney_2020_microwell_han_007.py deleted file mode 100644 index bd6fed9cd..000000000 --- a/sfaira/data/human/kidney/human_kidney_2020_microwell_han_007.py +++ /dev/null @@ -1,110 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_kidney_2020_microwell_han_007_10.1038/s41586-020-2157-4" - self.organ = 'Kidney' - self.sub_tissue = 'FetalKidney' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'B cell': 'B cell', - 'B cell (Plasmocyte)': 'B cell (Plasmocyte)', - 'CB CD34+': 'CB CD34+', - 'Dendritic cell': 'Dendritic cell', - 'Endothelial cell': 'Endothelial cell', - 'Endothelial cell (APC)': 'Endothelial cell (APC)', - 'Endothelial cell (endothelial to mesenchymal transition)': 'Endothelial cell (endothelial to mesenchymal transition)', - 'Enterocyte progenitor': 'Enterocyte progenitor', - 'Epithelial cell': 'Epithelial cell', - 'Epithelial cell (intermediated)': 'Intermediated cell', - 'Erythroid cell': 'Erythroid', - 'Erythroid progenitor cell (RP high)': 'Erythroid progenitor cell (RP high)', - 'Fasciculata cell': 'Fasciculata cell', - 'Fetal Neuron': 'Neuron', - 'Fetal acinar cell': 'Acinar cell', - 'Fetal chondrocyte': 'Chondrocyte', - 'Fetal endocrine cell': 'Endocrine cell', - 'Fetal enterocyte ': 'Enterocyte ', - 'Fetal epithelial progenitor': 'Epithelial progenitor', - 'Fetal fibroblast': 'Fibroblast', - 'Fetal mesenchymal progenitor': 'Stroma progenitor', - 'Fetal neuron': 'Neuron', - 'Fetal skeletal muscle cell': 'Skeletal muscle cell', - 'Fetal stromal cell': 'Stroma progenitor', - 'Fibroblast': 'Fibroblast', - 'Gastric endocrine cell': 'Gastric endocrine cell', - 'Goblet cell': 'Goblet cell', - 'Intercalated cell': 'Intercalated cell', - 'Intermediated cell': 'Intermediated cell', - 'Kidney intercalated cell': 'Intercalated cell', - 'Loop of Henle': 'Loop of Henle', - 'M2 Macrophage': 'M2 Macrophage', - 'Macrophage': 'Macrophage', - 'Mast cell': 'Mast cell', - 'Monocyte': 'Monocyte', - 'Myeloid cell': 'Myeloid cell', - 'Neutrophil': 'Neutrophil', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Primordial germ cell': 'Primordial germ cell', - 'Proliferating T cell': 'Proliferating T cell', - 'Proximal tubule progenitor': 'Proximal tubule progenitor', - 'Sinusoidal endothelial cell': 'Sinusoidal endothelial cell', - 'Smooth muscle cell': 'Vascular Smooth Muscle Cells and pericytes', - 'Stratified epithelial cell': 'Stratified epithelial cell', - 'Stromal cell': 'Stromal cell', - 'T cell': 'T cell', - 'Ureteric bud cell': 'Ureteric bud cell', - 'hESC': 'hESC', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "kidney", "hcl_FetalKidney_6.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') diff --git a/sfaira/data/human/liver/__init__.py b/sfaira/data/human/liver/__init__.py deleted file mode 100644 index 2014f8490..000000000 --- a/sfaira/data/human/liver/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_liver import DatasetGroupLiver diff --git a/sfaira/data/human/liver/external.py b/sfaira/data/human/liver/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/liver/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/liver/human_liver.py b/sfaira/data/human/liver/human_liver.py deleted file mode 100644 index bfb0e8dbb..000000000 --- a/sfaira/data/human/liver/human_liver.py +++ /dev/null @@ -1,42 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_liver_2018_10x_macparland_001 import Dataset as Dataset0001 -from .human_liver_2019_10x_popescu_001 import Dataset as Dataset0002 -from .human_liver_2019_10x_ramachandran_001 import Dataset as Dataset0003 -from .human_liver_2019_mCELSeq2_aizarani_001 import Dataset as Dataset0004 -from .human_liver_2020_microwell_han_001 import Dataset as Dataset0005 -from .human_liver_2020_microwell_han_002 import Dataset as Dataset0006 -from .human_liver_2020_microwell_han_003 import Dataset as Dataset0007 -from .human_liver_2020_microwell_han_004 import Dataset as Dataset0008 -from .human_liver_2020_microwell_han_005 import Dataset as Dataset0009 - - -class DatasetGroupLiver(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path), - Dataset0004(path=path, meta_path=meta_path), - Dataset0005(path=path, meta_path=meta_path), - Dataset0006(path=path, meta_path=meta_path), - Dataset0007(path=path, meta_path=meta_path), - Dataset0008(path=path, meta_path=meta_path), - Dataset0009(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupLiver - self.datasets.update(DatasetGroupLiver().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/liver/human_liver_2018_10x_macparland_001.py b/sfaira/data/human/liver/human_liver_2018_10x_macparland_001.py deleted file mode 100644 index b87b419d9..000000000 --- a/sfaira/data/human/liver/human_liver_2018_10x_macparland_001.py +++ /dev/null @@ -1,89 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import pandas as pd - - -class Dataset(DatasetBase): - """ - The input files for this dataloader (GSE115469.csv.gz and GSE115469_labels.txt) were kindly provided to us by the - authors of the publication. Please contact them directly to obtain the required - files. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_liver_2018_10x_macparland_001_10.1038/s41467-018-06318-7" - self.download_website = "https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE115469" - self.download_website_meta = 'private' - self.organ = "liver" - self.sub_tissue = "caudate lobe" - self.has_celltypes = True - - self.class_maps = { - "0": { - '1':'Hepatocyte 1', - '2':'Alpha beta T cells', - '3':'Hepatocyte 2', - '4':'Inflammatory macrophages', - '5':'Hepatocyte 3', - '6':'Hepatocyte 4', - '7':'Plasma cells', - '8':'NK cell', - '9':'Gamma delta T cells 1', - '10':'Non inflammatory macrophages', - '11':'Periportal LSECs', - '12':'Central venous LSECs', - '13':'Endothelial cell', - '14':'Hepatocyte 5', - '15':'Hepatocyte 6', - '16':'Mature B cells', - '17':'Cholangiocytes', - '18':'Gamma delta T cells 2', - '19':'Erythroid cells', - '20':'Hepatic stellate cells' - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = [ - os.path.join(self.path, "human", "liver", "GSE115469.csv.gz"), - os.path.join(self.path, "human", "liver", "GSE115469_labels.txt") - ] - self.adata = anndata.read_csv(fn[0]).T - celltype_df = pd.read_csv(fn[1], sep='\t').set_index('CellName') - self.adata.obs['celltype'] = [str(celltype_df.loc[i]['Cluster#']) for i in self.adata.obs.index] - - self.adata.uns["lab"] = 'McGilvray' - self.adata.uns["year"] = 2018 - self.adata.uns["doi"] = '10.1038/s41467-018-06318-7' - self.adata.uns["protocol"] = '10x' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["cell_ontology_class"] = self.adata.obs['celltype'] - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/human/liver/human_liver_2019_10x_popescu_001.py b/sfaira/data/human/liver/human_liver_2019_10x_popescu_001.py deleted file mode 100644 index 8781bb009..000000000 --- a/sfaira/data/human/liver/human_liver_2019_10x_popescu_001.py +++ /dev/null @@ -1,89 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - The input file for this dataloader (fetal_liver_alladata_.h5ad) was kindly provided to us by the - authors of the publication. Please contact them directly to obtain the required file. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_liver_2019_10x_popescu_001_10.1038/s41586-019-1652-y" - self.download_website = "https://www.ebi.ac.uk/arrayexpress/experiments/E-MTAB-7407/" - self.download_website_meta = 'private' - self.organ = "liver" - self.sub_tissue = "liver" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'B cell': 'Mature B cells', - 'DC1': 'Dendritic cell 1', - 'DC2': 'Dendritic cell 2', - 'DC precursor': 'Dendritic cell precursor', - 'Early Erythroid': 'Early Erythroid', - 'Early lymphoid_T lymphocyte': 'Early lymphoid T lymphocyte', - 'Endothelial cell': 'Endothelial cell', - 'Fibroblast': 'Fibroblast', - 'HSC_MPP': 'HSC MPP', - 'Hepatocyte': 'Hepatocyte', - 'ILC precursor': 'ILC precursor', - 'Kupffer Cell': 'Kupffer Cell', - 'Late Erythroid': 'Late Erythroid', - 'MEMP': 'MEMP', - 'Mast cell': 'Mast cell', - 'Megakaryocyte': 'Megakaryocyte', - 'Mid Erythroid': 'Mid Erythroid', - 'Mono-Mac': 'Mono Macrophage', - 'Monocyte': 'Monocyte', - 'Monocyte precursor': 'Monocyte precursor', - 'NK': 'NK cell', - 'Neutrophil-myeloid progenitor': 'Neutrophil myeloid progenitor', - 'Pre pro B cell': 'Pre pro B cell', - 'VCAM1+ EI macrophage': 'VCAM1pos EI macrophage', - 'pDC precursor': 'pDendritic cell precursor', - 'pre-B cell': 'pre B cell', - 'pro-B cell': 'pro B cell' - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "liver", "fetal_liver_alladata_.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Haniffa' - self.adata.uns["year"] = 2019 - self.adata.uns["doi"] = '10.1038/s41586-019-1652-y' - self.adata.uns["protocol"] = '10x' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["cell_ontology_class"] = self.adata.obs["cell.labels"] - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/human/liver/human_liver_2019_10x_ramachandran_001.py b/sfaira/data/human/liver/human_liver_2019_10x_ramachandran_001.py deleted file mode 100644 index 6c5425d92..000000000 --- a/sfaira/data/human/liver/human_liver_2019_10x_ramachandran_001.py +++ /dev/null @@ -1,91 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This dataloader requires manual preprocessing of the Rdata file that can be obtained from the link in the - `download_website` attribute of this class. The preprocessing code below uses the rpy2 and anndata2ri python - packages to convert the R object to anndata (pip install anndata2ri), run it in a jupyter notebook: - - ## Notebook Cell 1 - import anndata2ri - anndata2ri.activate() - %load_ext rpy2.ipython - - ## Notebook Cell 2 - %%R -o sce - library(Seurat) - load('tissue.rdata') - new_obj = CreateSeuratObject(counts = tissue@raw.data) - new_obj@meta.data = tissue@meta.data - sce <- as.SingleCellExperiment(new_obj) - - ## Notebook cell 3 - sce.write('ramachandran.h5ad') - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_liver_2019_10x_ramachandran_001_10.1038/s41586-019-1631-3" - self.download_website = "https://datashare.is.ed.ac.uk/bitstream/handle/10283/3433/tissue.rdata" - self.download_website_meta = None - self.organ = "liver" - self.sub_tissue = "liver" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'MPs': 'MP', - 'Tcells': 'Tcells', - 'ILCs': 'ILC', - 'Endothelia': 'Endothelia', - 'Bcells': 'Bcells', - 'pDCs': 'pDCs', - 'Plasma Bcells': 'Plasma B cell', - 'Mast cells': 'Mast cell', - 'Mesenchyme': 'Mesenchyme', - 'Cholangiocytes': 'Cholangiocytes', - 'Hepatocytes': 'Hepatocytes', - 'Mesothelia': 'Mesothelia', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "liver", "ramachandran.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Henderson' - self.adata.uns["year"] = 2019 - self.adata.uns["doi"] = '10.1038/s41586-019-1631-3' - self.adata.uns["protocol"] = '10x' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["cell_ontology_class"] = self.adata.obs["annotation_lineage"] - self.adata.obs["healthy"] = [i == 'Uninjured' for i in self.adata.obs["condition"]] - self.adata.obs["state_exact"] = ['healthy' if i == 'Uninjured' else i for i in self.adata.obs["condition"]] - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/human/liver/human_liver_2019_mCELSeq2_aizarani_001.py b/sfaira/data/human/liver/human_liver_2019_mCELSeq2_aizarani_001.py deleted file mode 100644 index 18a94f9ab..000000000 --- a/sfaira/data/human/liver/human_liver_2019_mCELSeq2_aizarani_001.py +++ /dev/null @@ -1,108 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import pandas as pd - - -class Dataset(DatasetBase): - """ - This data loader directly processes the raw data file which can be obtained from the `download_website` attribute of - this class. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_liver_2019_mCELSeq2_aizarani_001_10.1038/s41586-019-1373-2" - self.download_website = "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE124nnn/GSE124395/suppl/GSE124395%5FNormalhumanlivercellatlasdata%2Etxt%2Egz" - self.download_website_meta = "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE124nnn/GSE124395/suppl/GSE124395%5Fclusterpartition%2Etxt%2Egz" - self.organ = "liver" - self.sub_tissue = "liver" - self.has_celltypes = True - - self.class_maps = { - "0": { - '1': 'NK, NKT and T cells', - '2': 'Kupffer Cell', - '3': 'NK, NKT and T cells', - '4': 'Cholangiocytes', - '5': 'NK, NKT and T cells', - '6': 'Kupffer Cell', - '7': 'Cholangiocytes', - '8': 'B Cell', - '9': 'Liver sinusoidal endothelial cells', - '10': 'Macrovascular endothelial cells', - '11': 'Hepatocyte', - '12': 'NK, NKT and T cells', - '13': 'Liver sinusoidal endothelial cells', - '14': 'Hepatocyte', - '15': 'Other endothelial cells', - '16': 'Unknown', - '17': 'Hepatocyte', - '18': 'NK, NKT and T cells', - '19': 'Unknown', - '20': 'Liver sinusoidal endothelial cells', - '21': 'Macrovascular endothelial cells', - '22': 'B Cell', - '23': 'Kupffer Cell', - '24': 'Cholangiocytes', - '25': 'Kupffer Cell', - '26': 'Other endothelial cells', - '27': 'Unknown', - '28': 'NK, NKT and T cells', - '29': 'Macrovascular endothelial cells', - '30': 'Hepatocyte', - '31': 'Kupffer Cell', - '32': 'Liver sinusoidal endothelial cells', - '33': 'Hepatic stellate cells', - '34': 'B Cell', - '35': 'Other endothelial cells', - '36': 'Unknown', - '37': 'Unknown', - '38': 'B Cell', - '39': 'Cholangiocytes' - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = [ - os.path.join(self.path, "human", "liver", "GSE124395_Normalhumanlivercellatlasdata.txt.gz"), - os.path.join(self.path, "human", "liver", "GSE124395_clusterpartition.txt.gz") - ] - self.adata = anndata.AnnData(pd.read_csv(fn[0], sep='\t').T) - celltype_df = pd.read_csv(fn[1], sep=' ') - self.adata = self.adata[[i in celltype_df.index for i in self.adata.obs.index]].copy() - self.adata.obs['CellType'] = [str(celltype_df.loc[i]['sct@cpart']) for i in self.adata.obs.index] - - self.adata.uns["lab"] = 'Gruen' - self.adata.uns["year"] = 2019 - self.adata.uns["doi"] = '10.1038/s41586-019-1373-2' - self.adata.uns["protocol"] = 'mCEL-Seq2' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs['cell_ontology_class'] = self.adata.obs['CellType'] - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/human/liver/human_liver_2020_microwell_han_001.py b/sfaira/data/human/liver/human_liver_2020_microwell_han_001.py deleted file mode 100644 index cc5f732f8..000000000 --- a/sfaira/data/human/liver/human_liver_2020_microwell_han_001.py +++ /dev/null @@ -1,89 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_liver_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'Liver' - self.sub_tissue = 'AdultLiver' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'B cell': 'B cell', - 'B cell (Plasmocyte)': 'Plasma B cell', - 'CB CD34+': 'CB CD34+', - 'Dendritic cell': 'Dendritic cell', - 'Endothelial cell': 'Endothelial cell', - 'Endothelial cell (APC)': 'Endothelial cell (APC)', - 'Endothelial cell (endothelial to mesenchymal transition)': 'Endothelial cell (endothelial to mesenchymal transition)', - 'Enterocyte progenitor': 'Enterocyte progenitor', - 'Erythroid cell': 'Late Erythroid', - 'Erythroid progenitor cell (RP high)': 'Early Erythroid', - 'Fetal enterocyte ': 'Enterocyte ', - 'Fetal epithelial progenitor': 'Epithelial progenitor', - 'Fetal fibroblast': 'Fibroblast', - 'Gastric endocrine cell': 'Gastric endocrine cell', - 'Goblet cell': 'Goblet cell', - 'Macrophage': 'Non inflammatory macrophages', - 'Mast cell': 'Mast cell', - 'Monocyte': 'Monocyte', - 'Myeloid cell': 'Myeloid cell', - 'Neutrophil': 'Neutrophil', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Pancreas exocrine cell': 'Pancreas exocrine cell', - 'Primordial germ cell': 'Primordial germ cell', - 'Proliferating T cell': 'Proliferating T cell', - 'Sinusoidal endothelial cell': 'Liver sinusoidal endothelial cells', - 'Smooth muscle cell': 'Smooth muscle cell', - 'T cell': 'T cell' - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "liver", "hcl_AdultLiver_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') diff --git a/sfaira/data/human/liver/human_liver_2020_microwell_han_002.py b/sfaira/data/human/liver/human_liver_2020_microwell_han_002.py deleted file mode 100644 index 6cb772184..000000000 --- a/sfaira/data/human/liver/human_liver_2020_microwell_han_002.py +++ /dev/null @@ -1,89 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_liver_2020_microwell_han_002_10.1038/s41586-020-2157-4" - self.organ = 'Liver' - self.sub_tissue = 'AdultLiver' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'B cell': 'B cell', - 'B cell (Plasmocyte)': 'Plasma B cell', - 'CB CD34+': 'CB CD34+', - 'Dendritic cell': 'Dendritic cell', - 'Endothelial cell': 'Endothelial cell', - 'Endothelial cell (APC)': 'Endothelial cell (APC)', - 'Endothelial cell (endothelial to mesenchymal transition)': 'Endothelial cell (endothelial to mesenchymal transition)', - 'Enterocyte progenitor': 'Enterocyte progenitor', - 'Erythroid cell': 'Late Erythroid', - 'Erythroid progenitor cell (RP high)': 'Early Erythroid', - 'Fetal enterocyte ': 'Enterocyte ', - 'Fetal epithelial progenitor': 'Epithelial progenitor', - 'Fetal fibroblast': 'Fibroblast', - 'Gastric endocrine cell': 'Gastric endocrine cell', - 'Goblet cell': 'Goblet cell', - 'Macrophage': 'Non inflammatory macrophages', - 'Mast cell': 'Mast cell', - 'Monocyte': 'Monocyte', - 'Myeloid cell': 'Myeloid cell', - 'Neutrophil': 'Neutrophil', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Pancreas exocrine cell': 'Pancreas exocrine cell', - 'Primordial germ cell': 'Primordial germ cell', - 'Proliferating T cell': 'Proliferating T cell', - 'Sinusoidal endothelial cell': 'Liver sinusoidal endothelial cells', - 'Smooth muscle cell': 'Smooth muscle cell', - 'T cell': 'T cell' - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "liver", "hcl_AdultLiver_2.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') diff --git a/sfaira/data/human/liver/human_liver_2020_microwell_han_003.py b/sfaira/data/human/liver/human_liver_2020_microwell_han_003.py deleted file mode 100644 index bb6661adb..000000000 --- a/sfaira/data/human/liver/human_liver_2020_microwell_han_003.py +++ /dev/null @@ -1,89 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_liver_2020_microwell_han_003_10.1038/s41586-020-2157-4" - self.organ = 'Liver' - self.sub_tissue = 'AdultLiver' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'B cell': 'B cell', - 'B cell (Plasmocyte)': 'Plasma B cell', - 'CB CD34+': 'CB CD34+', - 'Dendritic cell': 'Dendritic cell', - 'Endothelial cell': 'Endothelial cell', - 'Endothelial cell (APC)': 'Endothelial cell (APC)', - 'Endothelial cell (endothelial to mesenchymal transition)': 'Endothelial cell (endothelial to mesenchymal transition)', - 'Enterocyte progenitor': 'Enterocyte progenitor', - 'Erythroid cell': 'Late Erythroid', - 'Erythroid progenitor cell (RP high)': 'Early Erythroid', - 'Fetal enterocyte ': 'Enterocyte ', - 'Fetal epithelial progenitor': 'Epithelial progenitor', - 'Fetal fibroblast': 'Fibroblast', - 'Gastric endocrine cell': 'Gastric endocrine cell', - 'Goblet cell': 'Goblet cell', - 'Macrophage': 'Non inflammatory macrophages', - 'Mast cell': 'Mast cell', - 'Monocyte': 'Monocyte', - 'Myeloid cell': 'Myeloid cell', - 'Neutrophil': 'Neutrophil', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Pancreas exocrine cell': 'Pancreas exocrine cell', - 'Primordial germ cell': 'Primordial germ cell', - 'Proliferating T cell': 'Proliferating T cell', - 'Sinusoidal endothelial cell': 'Liver sinusoidal endothelial cells', - 'Smooth muscle cell': 'Smooth muscle cell', - 'T cell': 'T cell' - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "liver", "hcl_AdultLiver_4.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') diff --git a/sfaira/data/human/liver/human_liver_2020_microwell_han_004.py b/sfaira/data/human/liver/human_liver_2020_microwell_han_004.py deleted file mode 100644 index 577335596..000000000 --- a/sfaira/data/human/liver/human_liver_2020_microwell_han_004.py +++ /dev/null @@ -1,89 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_liver_2020_microwell_han_004_10.1038/s41586-020-2157-4" - self.organ = 'Liver' - self.sub_tissue = 'FetalLiver' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'B cell': 'B cell', - 'B cell (Plasmocyte)': 'Plasma B cell', - 'CB CD34+': 'CB CD34+', - 'Dendritic cell': 'Dendritic cell', - 'Endothelial cell': 'Endothelial cell', - 'Endothelial cell (APC)': 'Endothelial cell (APC)', - 'Endothelial cell (endothelial to mesenchymal transition)': 'Endothelial cell (endothelial to mesenchymal transition)', - 'Enterocyte progenitor': 'Enterocyte progenitor', - 'Erythroid cell': 'Late Erythroid', - 'Erythroid progenitor cell (RP high)': 'Early Erythroid', - 'Fetal enterocyte ': 'Enterocyte ', - 'Fetal epithelial progenitor': 'Epithelial progenitor', - 'Fetal fibroblast': 'Fibroblast', - 'Gastric endocrine cell': 'Gastric endocrine cell', - 'Goblet cell': 'Goblet cell', - 'Macrophage': 'Non inflammatory macrophages', - 'Mast cell': 'Mast cell', - 'Monocyte': 'Monocyte', - 'Myeloid cell': 'Myeloid cell', - 'Neutrophil': 'Neutrophil', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Pancreas exocrine cell': 'Pancreas exocrine cell', - 'Primordial germ cell': 'Primordial germ cell', - 'Proliferating T cell': 'Proliferating T cell', - 'Sinusoidal endothelial cell': 'Liver sinusoidal endothelial cells', - 'Smooth muscle cell': 'Smooth muscle cell', - 'T cell': 'T cell' - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "liver", "hcl_Liver_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') diff --git a/sfaira/data/human/liver/human_liver_2020_microwell_han_005.py b/sfaira/data/human/liver/human_liver_2020_microwell_han_005.py deleted file mode 100644 index 41199f34a..000000000 --- a/sfaira/data/human/liver/human_liver_2020_microwell_han_005.py +++ /dev/null @@ -1,89 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_liver_2020_microwell_han_005_10.1038/s41586-020-2157-4" - self.organ = 'Liver' - self.sub_tissue = 'FetalLiver' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'B cell': 'B cell', - 'B cell (Plasmocyte)': 'Plasma B cell', - 'CB CD34+': 'CB CD34+', - 'Dendritic cell': 'Dendritic cell', - 'Endothelial cell': 'Endothelial cell', - 'Endothelial cell (APC)': 'Endothelial cell (APC)', - 'Endothelial cell (endothelial to mesenchymal transition)': 'Endothelial cell (endothelial to mesenchymal transition)', - 'Enterocyte progenitor': 'Enterocyte progenitor', - 'Erythroid cell': 'Late Erythroid', - 'Erythroid progenitor cell (RP high)': 'Early Erythroid', - 'Fetal enterocyte ': 'Enterocyte ', - 'Fetal epithelial progenitor': 'Epithelial progenitor', - 'Fetal fibroblast': 'Fibroblast', - 'Gastric endocrine cell': 'Gastric endocrine cell', - 'Goblet cell': 'Goblet cell', - 'Macrophage': 'Non inflammatory macrophages', - 'Mast cell': 'Mast cell', - 'Monocyte': 'Monocyte', - 'Myeloid cell': 'Myeloid cell', - 'Neutrophil': 'Neutrophil', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Pancreas exocrine cell': 'Pancreas exocrine cell', - 'Primordial germ cell': 'Primordial germ cell', - 'Proliferating T cell': 'Proliferating T cell', - 'Sinusoidal endothelial cell': 'Liver sinusoidal endothelial cells', - 'Smooth muscle cell': 'Smooth muscle cell', - 'T cell': 'T cell' - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "liver", "hcl_Liver_2.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') diff --git a/sfaira/data/human/lung/__init__.py b/sfaira/data/human/lung/__init__.py deleted file mode 100644 index fafe9671b..000000000 --- a/sfaira/data/human/lung/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_lung import DatasetGroupLung diff --git a/sfaira/data/human/lung/external.py b/sfaira/data/human/lung/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/lung/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/lung/human_lung.py b/sfaira/data/human/lung/human_lung.py deleted file mode 100644 index 9297fd7e9..000000000 --- a/sfaira/data/human/lung/human_lung.py +++ /dev/null @@ -1,53 +0,0 @@ -from typing import Union - -from .external import DatasetGroupBase - -from .human_lung_2019_10x_braga_001 import Dataset as Dataset0001 -from .human_lung_2019_10x_braga_002 import Dataset as Dataset0002 -from .human_lung_2019_10x_madissoon_001 import Dataset as Dataset0003 -from .human_lung_2019_dropseq_braga_003 import Dataset as Dataset0004 -from .human_lung_2020_10x_habermann_001 import Dataset as Dataset0005 -from .human_lung_2020_10x_lukassen_001 import Dataset as Dataset0006 -from .human_lung_2020_10x_lukassen_002 import Dataset as Dataset0007 -from .human_lung_2020_10x_miller_001 import Dataset as Dataset0008 -from .human_lung_2020_10x_travaglini_001 import Dataset as Dataset0009 -from .human_lung_2020_microwell_han_001 import Dataset as Dataset0010 -from .human_lung_2020_microwell_han_002 import Dataset as Dataset0011 -from .human_lung_2020_microwell_han_003 import Dataset as Dataset0012 -from .human_lung_2020_microwell_han_004 import Dataset as Dataset0013 -from .human_lung_2020_microwell_han_005 import Dataset as Dataset0014 -from .human_lung_2020_smartseq2_travaglini_002 import Dataset as Dataset0015 - - -class DatasetGroupLung(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path), - Dataset0004(path=path, meta_path=meta_path), - Dataset0005(path=path, meta_path=meta_path), - Dataset0006(path=path, meta_path=meta_path), - Dataset0007(path=path, meta_path=meta_path), - Dataset0008(path=path, meta_path=meta_path), - Dataset0009(path=path, meta_path=meta_path), - Dataset0010(path=path, meta_path=meta_path), - Dataset0011(path=path, meta_path=meta_path), - Dataset0012(path=path, meta_path=meta_path), - Dataset0013(path=path, meta_path=meta_path), - Dataset0014(path=path, meta_path=meta_path), - Dataset0015(path=path, meta_path=meta_path), - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupLung - self.datasets.update(DatasetGroupLung().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/lung/human_lung_2019_10x_braga_001.py b/sfaira/data/human/lung/human_lung_2019_10x_braga_001.py deleted file mode 100644 index 9d81ce069..000000000 --- a/sfaira/data/human/lung/human_lung_2019_10x_braga_001.py +++ /dev/null @@ -1,84 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import numpy as np - - -class Dataset(DatasetBase): - """ - This data loader directly processes the raw data file which can be obtained from the `download_website` attribute of - this class. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_lung_2019_10x_braga_001_10.1038/s41591-019-0468-5" - self.download_website = "https://covid19.cog.sanger.ac.uk/" \ - "vieira19_Alveoli_and_parenchyma_anonymised.processed.h5ad" - self.download_website_meta = None - self.organ = "lung" - self.sub_tissue = "alveoli, parenchyma" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Ciliated 2': 'Multiciliated lineage', - 'Luminal_Macrophages': 'Macrophages', - 'Basal 1': 'Basal', - 'Dendritic cells': 'Dendritic cells', - 'Endothelial': '1_Endothelial', - 'Lymphatic': 'Lymphatic EC', - 'Ciliated 1': 'Multiciliated lineage', - 'Smooth muscle': '2_Smooth Muscle', - 'Type_1_alveolar': 'AT1', - 'Neutrophils': 'Monocytes', - 'Club': 'Secretory', - 'Basal 2': 'Basal', - 'B cells': 'B cell lineage', - 'T and NK': '2_Lymphoid', - 'Mesothelium': 'Mesothelium', - 'Mast cells': 'Mast cells', - 'Fibroblasts': '2_Fibroblast lineage', - 'Type 2 alveolar': 'AT2', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "lung", "vieira19_Alveoli_and_parenchyma_anonymised.processed.h5ad") - self.adata = anndata.read(fn) - self.adata.X = np.expm1(self.adata.X) - - self.adata.uns["lab"] = 'Teichmann' - self.adata.uns["year"] = 2019 - self.adata.uns["doi"] = "10.1038/s41591-019-0468-5" - self.adata.uns["protocol"] = '10x' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - - self.adata.obs["cell_ontology_class"] = self.adata.obs['CellType'] - self.set_unkown_class_id(ids=["1_Unicorns and artifacts"]) - self.adata.obs["healthy"] = True - self.adata.obs['state_exact'] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/human/lung/human_lung_2019_10x_braga_002.py b/sfaira/data/human/lung/human_lung_2019_10x_braga_002.py deleted file mode 100644 index 28843cea0..000000000 --- a/sfaira/data/human/lung/human_lung_2019_10x_braga_002.py +++ /dev/null @@ -1,84 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import numpy as np - - -class Dataset(DatasetBase): - """ - This data loader directly processes the raw data file which can be obtained from the `download_website` attribute of - this class. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_lung_2019_10x_braga_002_10.1038/s41591-019-0468-5" - self.download_website = "https://covid19.cog.sanger.ac.uk/" \ - "vieira19_Bronchi_anonymised.processed.h5ad" - self.download_website_meta = None - self.organ = "lung" - self.sub_tissue = "bronchi" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Ciliated 1': 'Multiciliated lineage', - 'Club': 'Secretory', - 'Ciliated 2': 'Multiciliated lineage', - 'Ionocytes': 'Rare', - 'Basal 2': 'Basal', - 'Goblet_1': 'Secretory', - 'Goblet 2': 'Secretory', - 'Basal 1': 'Basal', - 'Dendritic cells': 'Dendritic cells', - 'B cells': 'B cell lineage', - 'Luminal_Macrophages': 'Macrophages', - 'Neutrophils': 'Monocytes', - 'Endothelial': '1_Endothelial', - 'Smooth muscle': '2_Smooth Muscle', - 'T and NK': '2_Lymphoid', - 'Fibroblasts': '2_Fibroblast lineage', - 'Lymphatic': 'Lymphatic EC', - 'Mast cells': 'Mast cells', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "lung", "vieira19_Bronchi_anonymised.processed.h5ad") - self.adata = anndata.read(fn) - self.adata.X = np.expm1(self.adata.X) - - self.adata.uns["lab"] = 'Teichmann' - self.adata.uns["year"] = 2019 - self.adata.uns["doi"] = "10.1038/s41591-019-0468-5" - self.adata.uns["protocol"] = '10x' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - - self.adata.obs["cell_ontology_class"] = self.adata.obs['CellType'] - self.set_unkown_class_id(ids=["1_Unicorns and artifacts"]) - self.adata.obs["healthy"] = True - self.adata.obs['state_exact'] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/human/lung/human_lung_2019_10x_madissoon_001.py b/sfaira/data/human/lung/human_lung_2019_10x_madissoon_001.py deleted file mode 100644 index 88aff3f6a..000000000 --- a/sfaira/data/human/lung/human_lung_2019_10x_madissoon_001.py +++ /dev/null @@ -1,88 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This data loader directly processes the raw data file which can be obtained from the `download_website` attribute of - this class. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_lung_2019_10x_madissoon_001._10.1186/s13059-019-1906-x" - self.download_website = "https://covid19.cog.sanger.ac.uk/madissoon19_lung.processed.h5ad" - self.download_website_meta = None - self.organ = "lung" - self.sub_tissue = "parenchyma" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'T_CD4': 'T cell lineage', - 'Mast_cells': 'Mast cells', - 'Monocyte': 'Monocytes', - 'Blood_vessel': '2_Blood vessels', - 'Ciliated': 'Multiciliated lineage', - 'Macrophage_MARCOneg': 'Macrophages', - 'DC_plasmacytoid': 'Dendritic cells', - 'DC_1': 'Dendritic cells', - 'Muscle_cells': '2_Smooth Muscle', - 'Macrophage_MARCOpos': 'Macrophages', - 'T_cells_Dividing': 'T cell lineage', - 'DC_Monocyte_Dividing': 'Dendritic cells', - 'B_cells': 'B cell lineage', - 'T_CD8_CytT': 'T cell lineage', - 'NK_Dividing': 'Innate lymphoid cells', - 'T_regulatory': 'T cell lineage', - 'DC_2': 'Dendritic cells', - 'Alveolar_Type2': 'AT2', - 'Plasma_cells': 'B cell lineage', - 'NK': 'Innate lymphoid cells', - 'Alveolar_Type1': 'AT1', - 'Fibroblast': '2_Fibroblast lineage', - 'DC_activated': 'Dendritic cells', - 'Macrophage_Dividing': 'Macrophages', - 'Lymph_vessel': 'Lymphatic EC', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "lung", "madissoon19_lung.processed.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Meyer' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = "10.1186/s13059-019-1906-x" - self.adata.uns["protocol"] = '10x' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["cell_ontology_class"] = self.adata.obs['CellType'] - self.set_unkown_class_id(ids=["1_Unicorns and artifacts"]) - self.adata.obs["healthy"] = True - self.adata.obs['state_exact'] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col='gene.ids.HCATisStab7509734', new_index='ensembl') diff --git a/sfaira/data/human/lung/human_lung_2019_dropseq_braga_003.py b/sfaira/data/human/lung/human_lung_2019_dropseq_braga_003.py deleted file mode 100644 index 145ee1a13..000000000 --- a/sfaira/data/human/lung/human_lung_2019_dropseq_braga_003.py +++ /dev/null @@ -1,81 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import pandas as pd - - -class Dataset(DatasetBase): - """ - This data loader directly processes the two raw data files which can be obtained from the `download_website` - and `download_website_meta` attributes of this class. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_lung_2019_dropseq_braga_003_10.1038/s41591-019-0468-5" - self.download_website = "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE130nnn/GSE130148/suppl/GSE130148%5Fraw%5Fcounts%2Ecsv%2Egz" - self.download_website_meta = "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE130nnn/GSE130148/suppl/GSE130148%5Fbarcodes%5Fcell%5Ftypes%2Etxt%2Egz" - self.organ = "lung" - self.sub_tissue = "parenchymal lung and distal airway specimens" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Fibroblast': 'Fibroblasts', - 'Type 2': 'AT2', - 'B cell': 'B cell lineage', - 'Macrophages': 'Macrophages', - 'NK cell': 'Innate lymphoid cells', - 'T cell': 'T cell lineage', - 'Ciliated': 'Multiciliated lineage', - 'Lymphatic': 'Lymphatic EC', - 'Type 1': 'AT1', - 'Transformed epithelium': '1_Epithelial', - 'Secretory': 'Secretory', - 'Endothelium': '1_Endothelial', - 'Mast cell': 'Mast cells', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = [ - os.path.join(self.path, "human", "lung", "GSE130148_raw_counts.csv.gz"), - os.path.join(self.path, "human", "lung", "GSE130148_barcodes_cell_types.txt.gz"), - ] - self.adata = anndata.read_csv(fn[0]).T - self.adata.obs = pd.read_csv(fn[1], sep='\t', index_col=0) - - self.adata.uns["lab"] = 'Teichmann' - self.adata.uns["year"] = 2019 - self.adata.uns["doi"] = "10.1038/s41591-019-0468-5" - self.adata.uns["protocol"] = 'dropseq' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = [self.download_website, self.download_website_meta] - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["cell_ontology_class"] = self.adata.obs['celltype'] - self.set_unkown_class_id(ids=["1_Unicorns and artifacts"]) - self.adata.obs["healthy"] = True - self.adata.obs['state_exact'] = 'uninvolved areas of tumour resection material' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/human/lung/human_lung_2020_10x_habermann_001.py b/sfaira/data/human/lung/human_lung_2020_10x_habermann_001.py deleted file mode 100644 index 149a1a092..000000000 --- a/sfaira/data/human/lung/human_lung_2020_10x_habermann_001.py +++ /dev/null @@ -1,126 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import pandas as pd - - -class Dataset(DatasetBase): - """ - This data loader supports reading of the downloaded raw data files if `load_raw=True` is passed to self.load() - To download the datafiles required by this dataloader, use the links provided as the `download_website` and - `download_website_meta` attribute of this class. For (up to 100-fold faster) repeated data loading, please pass - `load_raw=False` when calling the self.load() method. For this, you need to preprocess the raw files as below and - place the resulting h5ad file in the data folder of this organ: - - import anndata - import pandas as pd - adata = anndata.read_mtx('GSE135893_matrix.mtx.gz').T - adata.var = pd.read_csv('GSE135893_genes.tsv.gz', index_col=0, header=None, names=['ids']) - adata.obs = pd.read_csv('GSE135893_barcodes.tsv.gz', index_col=0, header=None, names=['barcodes']) - obs = pd.read_csv('GSE135893_IPF_metadata.csv.gz', index_col=0) - adata = adata[obs.index.tolist(),:].copy() - adata.obs = obs - adata.write('habermann_processed.h5ad') - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_lung_2020_10x_habermann_001_10.1101/753806" - self.download_website = [ - "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE135nnn/GSE135893/suppl/GSE135893%5Fmatrix%2Emtx%2Egz", - "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE135nnn/GSE135893/suppl/GSE135893%5Fgenes%2Etsv%2Egz", - "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE135nnn/GSE135893/suppl/GSE135893%5Fbarcodes%2Etsv%2Egz" - ] - self.download_website_meta = "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE135nnn/GSE135893/suppl/GSE135893%5FIPF%5Fmetadata%2Ecsv%2Egz" - self.organ = "lung" - self.sub_tissue = "parenchyma" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Proliferating Macrophages': 'Macrophages', - 'Myofibroblasts': 'Myofibroblasts', - 'Proliferating Epithelial Cells': 'Proliferating Epithelial Cells', - 'Mesothelial Cells': 'Mesothelium', - 'cDCs': 'Dendritic cells', - 'Mast Cells': 'Mast cells', - 'Ciliated': 'Multiciliated lineage', - 'T Cells': 'T cell lineage', - 'pDCs': 'Dendritic cells', - 'Smooth Muscle Cells': '2_Smooth Muscle', - 'Transitional AT2': 'AT2', - 'AT2': 'AT2', - 'B Cells': 'B cell lineage', - 'NK Cells': 'Innate lymphoid cells', - 'Monocytes': 'Monocytes', - 'Basal': 'Basal', - 'Plasma Cells': 'B cell lineage', - 'Differentiating Ciliated': 'Multiciliated lineage', - 'Macrophages': 'Macrophages', - 'MUC5B+': 'Secretory', - 'SCGB3A2+': 'Secretory', - 'Fibroblasts': 'Fibroblasts', - 'Lymphatic Endothelial Cells': 'Lymphatic EC', - 'Endothelial Cells': '2_Blood vessels', - 'SCGB3A2+ SCGB1A1+': 'Secretory', - 'PLIN2+ Fibroblasts': 'Fibroblasts', - 'KRT5-/KRT17+': 'KRT5-/KRT17+', - 'MUC5AC+ High': 'Secretory', - 'Proliferating T Cells': 'T cell lineage', - 'AT1': 'AT1', - 'HAS1 High Fibroblasts': 'Fibroblasts' - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw: - if fn is None: - fn = [ - os.path.join(self.path, "human", "lung", "GSE135893_matrix.mtx.gz"), - os.path.join(self.path, "human", "lung", "GSE135893_genes.tsv.gz"), - os.path.join(self.path, "human", "lung", "GSE135893_barcodes.tsv.gz"), - os.path.join(self.path, "human", "lung", "GSE135893_IPF_metadata.csv.gz"), - ] - self.adata = anndata.read_mtx(fn[0]).T - self.adata.var = pd.read_csv(fn[1], index_col=0, header=None, names=['ids']) - self.adata.obs = pd.read_csv(fn[2], index_col=0, header=None, names=['barcodes']) - obs = pd.read_csv(fn[3], index_col=0) - self.adata = self.adata[obs.index.tolist(), :].copy() - self.adata.obs = obs - else: - if fn is None: - fn = os.path.join(self.path, "human", "lung", "habermann_processed.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Kropski' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = "10.1101/753806" - self.adata.uns["protocol"] = '10x' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["cell_ontology_class"] = self.adata.obs['celltype'] - self.set_unkown_class_id(ids=["1_Unicorns and artifacts"]) - self.adata.obs["healthy"] = [i == 'Control' for i in self.adata.obs['Status']] - self.adata.obs['state_exact'] = self.adata.obs['Diagnosis'].astype('category') - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/human/lung/human_lung_2020_10x_lukassen_001.py b/sfaira/data/human/lung/human_lung_2020_10x_lukassen_001.py deleted file mode 100644 index 836ce163c..000000000 --- a/sfaira/data/human/lung/human_lung_2020_10x_lukassen_001.py +++ /dev/null @@ -1,77 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import numpy as np -import scipy.sparse - - -class Dataset(DatasetBase): - """ - This data loader directly processes the raw data file which can be obtained from the `download_website` attribute of - this class. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_lung_2020_10x_lukassen_001_10.1101/2020.03.13.991455" - self.download_website = "https://covid19.cog.sanger.ac.uk/lukassen20_lung_orig.processed.h5ad" - self.download_website_meta = None - self.organ = "lung" - self.sub_tissue = "lung" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Ciliated': 'Multiciliated lineage', - 'Endothelial': '1_Endothelial', - 'AT2': 'AT2', - 'LymphaticEndothelium': 'Lymphatic EC', - 'Fibroblasts': '2_Fibroblast lineage', - 'Club': 'Secretory', - 'Immuno_TCells': 'T cell lineage', - 'Immuno_Monocytes': 'Monocytes', - 'AT1': 'AT1' - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "lung", "lukassen20_lung_orig.processed.h5ad") - self.adata = anndata.read(fn) - self.adata.X = np.expm1(self.adata.X) - self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['nCount_RNA'].values[:, None]))\ - .multiply(1/10000) - - self.adata.uns["lab"] = 'Eils' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = "10.1101/2020.03.13.991455" - self.adata.uns["protocol"] = '10x' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["cell_ontology_class"] = self.adata.obs['CellType'] - self.set_unkown_class_id(ids=["1_Unicorns and artifacts"]) - self.adata.obs["healthy"] = True - self.adata.obs['state_exact'] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/human/lung/human_lung_2020_10x_lukassen_002.py b/sfaira/data/human/lung/human_lung_2020_10x_lukassen_002.py deleted file mode 100644 index 84ad0d665..000000000 --- a/sfaira/data/human/lung/human_lung_2020_10x_lukassen_002.py +++ /dev/null @@ -1,82 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import numpy as np -import scipy.sparse - - -class Dataset(DatasetBase): - """ - This data loader directly processes the raw data file which can be obtained from the `download_website` attribute of - this class. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_lung_2020_10x_lukassen_002_10.1101/2020.03.13.991455" - self.download_website = "https://covid19.cog.sanger.ac.uk/lukassen20_airway_orig.processed.h5ad" - self.download_website_meta = None - self.organ = "lung" - self.sub_tissue = "bronchial epithelial cells" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Secretory3': 'Secretory', - 'Ciliated1': 'Multiciliated lineage', - 'Goblet': 'Secretory', - 'Ciliated2': 'Multiciliated lineage', - 'Club': 'Secretory', - 'Secretory2': 'Secretory', - 'FOXN4': 'Rare', - 'Basal1': 'Basal', - 'Secretory1': 'Secretory', - 'Fibroblast': '2_Fibroblast lineage', - 'Ionocyte': 'Rare', - 'Basal3': 'Basal', - 'Basal_Mitotic': 'Basal', - 'Basal2': 'Basal', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "lung", "lukassen20_airway_orig.processed.h5ad") - self.adata = anndata.read(fn) - self.adata.X = np.expm1(self.adata.X) - self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['nCount_RNA'].values[:, None]))\ - .multiply(1/10000) - - self.adata.uns["lab"] = 'Eils' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = "10.1101/2020.03.13.991455" - self.adata.uns["protocol"] = '10x' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["cell_ontology_class"] = self.adata.obs['CellType'] - self.set_unkown_class_id(ids=["1_Unicorns and artifacts"]) - self.adata.obs["healthy"] = True - self.adata.obs['state_exact'] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/human/lung/human_lung_2020_10x_miller_001.py b/sfaira/data/human/lung/human_lung_2020_10x_miller_001.py deleted file mode 100644 index 139c3cb9f..000000000 --- a/sfaira/data/human/lung/human_lung_2020_10x_miller_001.py +++ /dev/null @@ -1,93 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import numpy as np -import scipy.sparse - - -class Dataset(DatasetBase): - """ - This data loader directly processes the raw data file which can be obtained from the `download_website` attribute of - this class. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_lung_2020_10x_miller_001_10.1016/j.devcel.2020.01.033" - self.download_website = "https://covid19.cog.sanger.ac.uk/miller20.processed.h5ad" - self.download_website_meta = None - self.organ = "lung" - self.sub_tissue = "fetal lung" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Airway Smooth Muscle': 'Airway smooth muscle', - 'Basal cell': 'Basal', - 'Bud tip adjacent': 'Fetal airway progenitors', - 'Bud tip progenitor': 'Fetal airway progenitors', - 'Cartilage': 'Cartilage', - 'Club-like secretory': 'Secretory', - 'Endothelial': '1_Endothelial', - 'Epithelial': '1_Epithelial', - 'Goblet-like secretory': 'Secretory', - 'Hematopoietic, B Cells': 'B cell lineage', - 'Hematopoietic, Macrophage': 'Macrophages', - 'Hematopoietic, Natural Killer Cell': 'Innate lymphoid cells', - 'Hematopoietic, T Cells': 'T cell lineage', - 'Immune': '1_Immune', - 'Intermediate ciliated': 'Multiciliated lineage', - 'Mesenchyme RSPO2+': '1_Stroma', - 'Mesenchyme SERPINF1-high': '1_Stroma', - 'Multiciliated cell': 'Multiciliated lineage', - 'Multiciliated precursor': 'Multiciliated lineage', - 'Neuroendocrine': 'Rare', - 'Pericyte': 'Fibroblasts', - 'RBC': 'Erythrocytes', - 'Secretory progenitor': 'Secretory', - 'Submucosal gland': 'Submucosal Secretory', - 'Submucosal gland basal': 'Submucosal Secretory', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "lung", "miller20.processed.h5ad") - self.adata = anndata.read(fn) - self.adata.X = np.expm1(self.adata.X) - self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['nUMI'].values[:, None]))\ - .multiply(1/10000) - - self.adata.uns["lab"] = 'Spence' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = "10.1016/j.devcel.2020.01.033" - self.adata.uns["protocol"] = '10x' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["cell_ontology_class"] = self.adata.obs['Cell_type'] - self.set_unkown_class_id(ids=["1_Unicorns and artifacts"]) - self.adata.obs["healthy"] = True - self.adata.obs['state_exact'] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/human/lung/human_lung_2020_10x_travaglini_001.py b/sfaira/data/human/lung/human_lung_2020_10x_travaglini_001.py deleted file mode 100644 index 161251c6b..000000000 --- a/sfaira/data/human/lung/human_lung_2020_10x_travaglini_001.py +++ /dev/null @@ -1,135 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import scipy.sparse -import numpy as np - - -class Dataset(DatasetBase): - """ - This data loader directly processes the data file provided by the authors. To obtain the file, you need to create a - free account at https://www.synapse.org. You can then use those login credentials to download the file with python - using the synapse client, installable via `pip install synapseclient`: - - import synapseclient - import shutil - syn = synapseclient.Synapse() - syn.login('synapse_username','password') - syn21625095 = syn.get(entity='syn21625095') - shutil.move(syn21625095.path, 'droplet_normal_lung_blood_scanpy.20200205.RC4.h5ad') - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_lung_2020_10x_travaglini_001_10.1038/s41586-020-2922-4" - self.download_website = "https://www.synapse.org/#!Synapse:syn21041850" - self.download_website_meta = None - self.organ = "lung" - self.sub_tissue = "proximal, medial, distal, blood" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Intermediate Monocyte': 'Monocytes', - 'Adventitial Fibroblast': 'Fibroblasts', - 'Myeloid Dendritic Type 1': 'Dendritic cells', - 'Myofibroblast': 'Myofibroblasts', - 'Bronchial Vessel 2': 'Bronchial Vessel 2', - 'Fibromyocyte': 'Fibromyocyte', - 'Basal': 'Basal', - 'IGSF21+ Dendritic': 'Macrophages', - 'CD8+ Memory/Effector T': 'T cell lineage', - 'CD4+ Naive T': 'T cell lineage', - 'Myeloid Dendritic Type 2': 'Dendritic cells', - 'Neuroendocrine': 'Rare', - 'Ciliated': 'Multiciliated lineage', - 'Proximal Ciliated': 'Multiciliated lineage', - 'Proliferating Basal': 'Basal', - 'Proximal Basal': 'Basal', - 'Nonclassical Monocyte': 'Monocytes', - 'Proliferating Macrophage': 'Macrophages', - 'Plasmacytoid Dendritic': 'Dendritic cells', - 'Vein': 'Venous', - 'Basophil/Mast 1': 'Mast cells', - 'Serous': 'Submucosal Secretory', - 'Natural Killer T': 'T cell lineage', - 'Mesothelial': 'Mesothelium', - 'Ionocyte': 'Rare', - 'Bronchial Vessel 1': 'Bronchial Vessel 1', - 'Natural Killer': 'Innate lymphoid cells', - 'Capillary Aerocyte': 'Capillary', - 'Vascular Smooth Muscle': '2_Smooth Muscle', - 'Macrophage': 'Macrophages', - 'Basophil/Mast 2': 'Mast cells', - 'Platelet/Megakaryocyte': 'Megakaryocytes', - 'Pericyte': 'Fibroblasts', - 'Capillary Intermediate 2': 'Capillary Intermediate 2', - 'CD4+ Memory/Effector T': 'T cell lineage', - 'B': 'B cell lineage', - 'Lymphatic': 'Lymphatic EC', - 'Mucous': 'Submucosal Secretory', - 'Signaling Alveolar Epithelial Type 2': 'AT2', - 'Alveolar Epithelial Type 1': 'AT1', - 'OLR1+ Classical Monocyte': 'Monocytes', - 'Plasma': 'B cell lineage', - 'Lipofibroblast': 'Fibroblasts', - 'Capillary Intermediate 1': 'Capillary Intermediate 1', - 'EREG+ Dendritic': 'Macrophages', - 'Capillary': 'Capillary', - 'TREM2+ Dendritic': 'Macrophages', - 'Alveolar Fibroblast': 'Fibroblasts', - 'Classical Monocyte': 'Monocytes', - 'Goblet': 'Secretory', - 'Airway Smooth Muscle': 'Airway smooth muscle', - 'Club': 'Secretory', - 'Proliferating NK/T': 'Innate lymphoid cells', - 'Alveolar Epithelial Type 2': 'AT2', - 'Differentiating Basal': 'Basal', - 'CD8+ Naive T': 'T cell lineage', - 'Artery': 'Arterial' - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "lung", "droplet_normal_lung_blood_scanpy.20200205.RC4.h5ad") - self.adata = anndata.read(fn) - self.adata.X = scipy.sparse.csc_matrix(self.adata.X) - self.adata.X = np.expm1(self.adata.X) - self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['nUMI'].values[:, None])) \ - .multiply(1 / 10000) - - self.adata.uns["lab"] = 'Krasnow' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = "10.1038/s41586-020-2922-4" - self.adata.uns["protocol"] = '10x' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["cell_ontology_class"] = ["_".join(i.split('_')[:-1]) for i in self.adata.obs['free_annotation']] - self.adata.obs["cell_ontology_class"] = self.adata.obs["cell_ontology_class"].astype('category') - self.set_unkown_class_id(ids=["1_Unicorns and artifacts"]) - self.adata.obs["healthy"] = True - self.adata.obs['state_exact'] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/human/lung/human_lung_2020_microwell_han_001.py b/sfaira/data/human/lung/human_lung_2020_microwell_han_001.py deleted file mode 100644 index fb70be4ca..000000000 --- a/sfaira/data/human/lung/human_lung_2020_microwell_han_001.py +++ /dev/null @@ -1,112 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_lung_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'lung' - self.sub_tissue = 'FetalLung' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'AT2 cell': 'AT2', - 'Antigen presenting cell (RPS high)': 'unknown', - 'B cell': 'B cell lineage', - 'B cell (Plasmocyte)': 'B cell lineage', - 'Basal cell': 'Basal', - 'CB CD34+': 'Fetal airway progenitors', - 'Chondrocyte': '1_Stroma', - 'Dendritic cell': 'Dendritic cells', - 'Endothelial cell': '1_Endothelial', - 'Endothelial cell (APC)': '1_Endothelial', - 'Endothelial cell (endothelial to mesenchymal transition)': '1_Endothelial', - 'Enterocyte progenitor': '1_Epithelial', - 'Epithelial cell': '1_Epithelial', - 'Epithelial cell (intermediated)': '1_Epithelial', - 'Erythroid cell': 'Erythrocytes', - 'Erythroid progenitor cell (RP high)': 'Erythrocytes', - 'Fasciculata cell': 'unknown', - 'Fetal Neuron': 'unknown', - 'Fetal chondrocyte': '1_Stroma', - 'Fetal endocrine cell': 'unknown', - 'Fetal enterocyte ': '1_Epithelial', - 'Fetal epithelial progenitor': '1_Epithelial', - 'Fetal fibroblast': 'Fibroblasts', - 'Fetal mesenchymal progenitor': '1_Stroma', - 'Fetal neuron': 'unknown', - 'Fetal skeletal muscle cell': 'unknown', - 'Fetal stromal cell': '1_Stroma', - 'Fibroblast': 'Fibroblasts', - 'Gastric endocrine cell': 'unknown', - 'Goblet cell': 'Secretory', - 'Kidney intercalated cell': 'unknown', - 'Loop of Henle': 'unknown', - 'M2 Macrophage': 'Macrophages', - 'Macrophage': 'Macrophages', - 'Mast cell': 'Mast cells', - 'Mesothelial cell': 'Mast cells', - 'Monocyte': 'Monocytes', - 'Myeloid cell': '2_Myeloid', - 'Neutrophil': 'Neutrophilic', - 'Neutrophil (RPS high)': 'Neutrophilic', - 'Primordial germ cell': 'unknown', - 'Proliferating T cell': 'T cell lineage', - 'Proximal tubule progenitor': 'unknown', - 'Sinusoidal endothelial cell': '1_Endothelial', - 'Smooth muscle cell': '2_Smooth Muscle', - 'Stratified epithelial cell': '1_Epithelial', - 'Stromal cell': '1_Stroma', - 'T cell': 'T cell lineage', - 'Ventricle cardiomyocyte': '1_Stroma', - 'hESC': 'Fetal airway progenitors', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "lung", "hcl_FetalLung_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/lung/human_lung_2020_microwell_han_002.py b/sfaira/data/human/lung/human_lung_2020_microwell_han_002.py deleted file mode 100644 index f1a7c305e..000000000 --- a/sfaira/data/human/lung/human_lung_2020_microwell_han_002.py +++ /dev/null @@ -1,112 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_lung_2020_microwell_han_002_10.1038/s41586-020-2157-4" - self.organ = 'lung' - self.sub_tissue = 'AdultLung' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'AT2 cell': 'AT2', - 'Antigen presenting cell (RPS high)': 'unknown', - 'B cell': 'B cell lineage', - 'B cell (Plasmocyte)': 'B cell lineage', - 'Basal cell': 'Basal', - 'CB CD34+': 'Fetal airway progenitors', - 'Chondrocyte': '1_Stroma', - 'Dendritic cell': 'Dendritic cells', - 'Endothelial cell': '1_Endothelial', - 'Endothelial cell (APC)': '1_Endothelial', - 'Endothelial cell (endothelial to mesenchymal transition)': '1_Endothelial', - 'Enterocyte progenitor': '1_Epithelial', - 'Epithelial cell': '1_Epithelial', - 'Epithelial cell (intermediated)': '1_Epithelial', - 'Erythroid cell': 'Erythrocytes', - 'Erythroid progenitor cell (RP high)': 'Erythrocytes', - 'Fasciculata cell': 'unknown', - 'Fetal Neuron': 'unknown', - 'Fetal chondrocyte': '1_Stroma', - 'Fetal endocrine cell': 'unknown', - 'Fetal enterocyte ': '1_Epithelial', - 'Fetal epithelial progenitor': '1_Epithelial', - 'Fetal fibroblast': 'Fibroblasts', - 'Fetal mesenchymal progenitor': '1_Stroma', - 'Fetal neuron': 'unknown', - 'Fetal skeletal muscle cell': 'unknown', - 'Fetal stromal cell': '1_Stroma', - 'Fibroblast': 'Fibroblasts', - 'Gastric endocrine cell': 'unknown', - 'Goblet cell': 'Secretory', - 'Kidney intercalated cell': 'unknown', - 'Loop of Henle': 'unknown', - 'M2 Macrophage': 'Macrophages', - 'Macrophage': 'Macrophages', - 'Mast cell': 'Mast cells', - 'Mesothelial cell': 'Mast cells', - 'Monocyte': 'Monocytes', - 'Myeloid cell': '2_Myeloid', - 'Neutrophil': 'Neutrophilic', - 'Neutrophil (RPS high)': 'Neutrophilic', - 'Primordial germ cell': 'unknown', - 'Proliferating T cell': 'T cell lineage', - 'Proximal tubule progenitor': 'unknown', - 'Sinusoidal endothelial cell': '1_Endothelial', - 'Smooth muscle cell': '2_Smooth Muscle', - 'Stratified epithelial cell': '1_Epithelial', - 'Stromal cell': '1_Stroma', - 'T cell': 'T cell lineage', - 'Ventricle cardiomyocyte': '1_Stroma', - 'hESC': 'Fetal airway progenitors', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "lung", "hcl_AdultLung_3.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/lung/human_lung_2020_microwell_han_003.py b/sfaira/data/human/lung/human_lung_2020_microwell_han_003.py deleted file mode 100644 index 8f3df4475..000000000 --- a/sfaira/data/human/lung/human_lung_2020_microwell_han_003.py +++ /dev/null @@ -1,112 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_lung_2020_microwell_han_003_10.1038/s41586-020-2157-4" - self.organ = 'lung' - self.sub_tissue = 'AdultLung' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'AT2 cell': 'AT2', - 'Antigen presenting cell (RPS high)': 'unknown', - 'B cell': 'B cell lineage', - 'B cell (Plasmocyte)': 'B cell lineage', - 'Basal cell': 'Basal', - 'CB CD34+': 'Fetal airway progenitors', - 'Chondrocyte': '1_Stroma', - 'Dendritic cell': 'Dendritic cells', - 'Endothelial cell': '1_Endothelial', - 'Endothelial cell (APC)': '1_Endothelial', - 'Endothelial cell (endothelial to mesenchymal transition)': '1_Endothelial', - 'Enterocyte progenitor': '1_Epithelial', - 'Epithelial cell': '1_Epithelial', - 'Epithelial cell (intermediated)': '1_Epithelial', - 'Erythroid cell': 'Erythrocytes', - 'Erythroid progenitor cell (RP high)': 'Erythrocytes', - 'Fasciculata cell': 'unknown', - 'Fetal Neuron': 'unknown', - 'Fetal chondrocyte': '1_Stroma', - 'Fetal endocrine cell': 'unknown', - 'Fetal enterocyte ': '1_Epithelial', - 'Fetal epithelial progenitor': '1_Epithelial', - 'Fetal fibroblast': 'Fibroblasts', - 'Fetal mesenchymal progenitor': '1_Stroma', - 'Fetal neuron': 'unknown', - 'Fetal skeletal muscle cell': 'unknown', - 'Fetal stromal cell': '1_Stroma', - 'Fibroblast': 'Fibroblasts', - 'Gastric endocrine cell': 'unknown', - 'Goblet cell': 'Secretory', - 'Kidney intercalated cell': 'unknown', - 'Loop of Henle': 'unknown', - 'M2 Macrophage': 'Macrophages', - 'Macrophage': 'Macrophages', - 'Mast cell': 'Mast cells', - 'Mesothelial cell': 'Mast cells', - 'Monocyte': 'Monocytes', - 'Myeloid cell': '2_Myeloid', - 'Neutrophil': 'Neutrophilic', - 'Neutrophil (RPS high)': 'Neutrophilic', - 'Primordial germ cell': 'unknown', - 'Proliferating T cell': 'T cell lineage', - 'Proximal tubule progenitor': 'unknown', - 'Sinusoidal endothelial cell': '1_Endothelial', - 'Smooth muscle cell': '2_Smooth Muscle', - 'Stratified epithelial cell': '1_Epithelial', - 'Stromal cell': '1_Stroma', - 'T cell': 'T cell lineage', - 'Ventricle cardiomyocyte': '1_Stroma', - 'hESC': 'Fetal airway progenitors', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "lung", "hcl_AdultLung_2.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/lung/human_lung_2020_microwell_han_004.py b/sfaira/data/human/lung/human_lung_2020_microwell_han_004.py deleted file mode 100644 index b34774648..000000000 --- a/sfaira/data/human/lung/human_lung_2020_microwell_han_004.py +++ /dev/null @@ -1,112 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_lung_2020_microwell_han_004_10.1038/s41586-020-2157-4" - self.organ = 'lung' - self.sub_tissue = 'AdultLung' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'AT2 cell': 'AT2', - 'Antigen presenting cell (RPS high)': 'unknown', - 'B cell': 'B cell lineage', - 'B cell (Plasmocyte)': 'B cell lineage', - 'Basal cell': 'Basal', - 'CB CD34+': 'Fetal airway progenitors', - 'Chondrocyte': '1_Stroma', - 'Dendritic cell': 'Dendritic cells', - 'Endothelial cell': '1_Endothelial', - 'Endothelial cell (APC)': '1_Endothelial', - 'Endothelial cell (endothelial to mesenchymal transition)': '1_Endothelial', - 'Enterocyte progenitor': '1_Epithelial', - 'Epithelial cell': '1_Epithelial', - 'Epithelial cell (intermediated)': '1_Epithelial', - 'Erythroid cell': 'Erythrocytes', - 'Erythroid progenitor cell (RP high)': 'Erythrocytes', - 'Fasciculata cell': 'unknown', - 'Fetal Neuron': 'unknown', - 'Fetal chondrocyte': '1_Stroma', - 'Fetal endocrine cell': 'unknown', - 'Fetal enterocyte ': '1_Epithelial', - 'Fetal epithelial progenitor': '1_Epithelial', - 'Fetal fibroblast': 'Fibroblasts', - 'Fetal mesenchymal progenitor': '1_Stroma', - 'Fetal neuron': 'unknown', - 'Fetal skeletal muscle cell': 'unknown', - 'Fetal stromal cell': '1_Stroma', - 'Fibroblast': 'Fibroblasts', - 'Gastric endocrine cell': 'unknown', - 'Goblet cell': 'Secretory', - 'Kidney intercalated cell': 'unknown', - 'Loop of Henle': 'unknown', - 'M2 Macrophage': 'Macrophages', - 'Macrophage': 'Macrophages', - 'Mast cell': 'Mast cells', - 'Mesothelial cell': 'Mast cells', - 'Monocyte': 'Monocytes', - 'Myeloid cell': '2_Myeloid', - 'Neutrophil': 'Neutrophilic', - 'Neutrophil (RPS high)': 'Neutrophilic', - 'Primordial germ cell': 'unknown', - 'Proliferating T cell': 'T cell lineage', - 'Proximal tubule progenitor': 'unknown', - 'Sinusoidal endothelial cell': '1_Endothelial', - 'Smooth muscle cell': '2_Smooth Muscle', - 'Stratified epithelial cell': '1_Epithelial', - 'Stromal cell': '1_Stroma', - 'T cell': 'T cell lineage', - 'Ventricle cardiomyocyte': '1_Stroma', - 'hESC': 'Fetal airway progenitors', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "lung", "hcl_AdultLung_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/lung/human_lung_2020_microwell_han_005.py b/sfaira/data/human/lung/human_lung_2020_microwell_han_005.py deleted file mode 100644 index 534048249..000000000 --- a/sfaira/data/human/lung/human_lung_2020_microwell_han_005.py +++ /dev/null @@ -1,112 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_lung_2020_microwell_han_005_10.1038/s41586-020-2157-4" - self.organ = 'lung' - self.sub_tissue = 'FetalLung' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'AT2 cell': 'AT2', - 'Antigen presenting cell (RPS high)': 'unknown', - 'B cell': 'B cell lineage', - 'B cell (Plasmocyte)': 'B cell lineage', - 'Basal cell': 'Basal', - 'CB CD34+': 'Fetal airway progenitors', - 'Chondrocyte': '1_Stroma', - 'Dendritic cell': 'Dendritic cells', - 'Endothelial cell': '1_Endothelial', - 'Endothelial cell (APC)': '1_Endothelial', - 'Endothelial cell (endothelial to mesenchymal transition)': '1_Endothelial', - 'Enterocyte progenitor': '1_Epithelial', - 'Epithelial cell': '1_Epithelial', - 'Epithelial cell (intermediated)': '1_Epithelial', - 'Erythroid cell': 'Erythrocytes', - 'Erythroid progenitor cell (RP high)': 'Erythrocytes', - 'Fasciculata cell': 'unknown', - 'Fetal Neuron': 'unknown', - 'Fetal chondrocyte': '1_Stroma', - 'Fetal endocrine cell': 'unknown', - 'Fetal enterocyte ': '1_Epithelial', - 'Fetal epithelial progenitor': '1_Epithelial', - 'Fetal fibroblast': 'Fibroblasts', - 'Fetal mesenchymal progenitor': '1_Stroma', - 'Fetal neuron': 'unknown', - 'Fetal skeletal muscle cell': 'unknown', - 'Fetal stromal cell': '1_Stroma', - 'Fibroblast': 'Fibroblasts', - 'Gastric endocrine cell': 'unknown', - 'Goblet cell': 'Secretory', - 'Kidney intercalated cell': 'unknown', - 'Loop of Henle': 'unknown', - 'M2 Macrophage': 'Macrophages', - 'Macrophage': 'Macrophages', - 'Mast cell': 'Mast cells', - 'Mesothelial cell': 'Mast cells', - 'Monocyte': 'Monocytes', - 'Myeloid cell': '2_Myeloid', - 'Neutrophil': 'Neutrophilic', - 'Neutrophil (RPS high)': 'Neutrophilic', - 'Primordial germ cell': 'unknown', - 'Proliferating T cell': 'T cell lineage', - 'Proximal tubule progenitor': 'unknown', - 'Sinusoidal endothelial cell': '1_Endothelial', - 'Smooth muscle cell': '2_Smooth Muscle', - 'Stratified epithelial cell': '1_Epithelial', - 'Stromal cell': '1_Stroma', - 'T cell': 'T cell lineage', - 'Ventricle cardiomyocyte': '1_Stroma', - 'hESC': 'Fetal airway progenitors', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "lung", "hcl_FetalLung_2.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/lung/human_lung_2020_smartseq2_travaglini_002.py b/sfaira/data/human/lung/human_lung_2020_smartseq2_travaglini_002.py deleted file mode 100644 index 6b6abdf62..000000000 --- a/sfaira/data/human/lung/human_lung_2020_smartseq2_travaglini_002.py +++ /dev/null @@ -1,122 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import scipy.sparse -import numpy as np - - -class Dataset(DatasetBase): - """ - This data loader directly processes the data file provided by the authors. To obtain the file, you need to create a - free account at https://www.synapse.org. You can then use those login credentials to download the file with python - using the synapse client, installable via `pip install synapseclient`: - - import synapseclient - import shutil - syn = synapseclient.Synapse() - syn.login('synapse_username','password') - syn21625142 = syn.get(entity='syn21625142') - shutil.move(syn21625142.path, 'facs_normal_lung_blood_scanpy.20200205.RC4.h5ad') - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_lung_2020_smartseq2_travaglini_002_10.1038/s41586-020-2922-4" - self.download_website = "https://www.synapse.org/#!Synapse:syn21041850" - self.download_website_meta = None - self.organ = "lung" - self.sub_tissue = "proximal, medial, distal, blood" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Intermediate Monocyte': 'Monocytes', - 'Adventitial Fibroblast': 'Fibroblasts', - 'Myofibroblast': 'Myofibroblasts', - 'Fibromyocyte': 'Fibromyocyte', - 'Basal': 'Basal', - 'IGSF21+ Dendritic': 'Macrophages', - 'CD8+ Memory/Effector T': 'T cell lineage', - 'CD4+ Naive T': 'T cell lineage', - 'Myeloid Dendritic Type 2': 'Dendritic cells', - 'Neuroendocrine': 'Rare', - 'Ciliated': 'Multiciliated lineage', - 'Nonclassical Monocyte': 'Monocytes', - 'Plasmacytoid Dendritic': 'Dendritic cells', - 'Vein': 'Venous', - 'Basophil/Mast 1': 'Mast cells', - 'Natural Killer T': 'T cell lineage', - 'Ionocyte': 'Rare', - 'Bronchial Vessel 1': 'Bronchial Vessel 1', - 'Natural Killer': 'Innate lymphoid cells', - 'Capillary Aerocyte': 'Capillary', - 'Vascular Smooth Muscle': '2_Smooth Muscle', - 'Macrophage': 'Macrophages', - 'Pericyte': 'Fibroblasts', - 'CD4+ Memory/Effector T': 'T cell lineage', - 'B': 'B cell lineage', - 'Lymphatic': 'Lymphatic EC', - 'Signaling Alveolar Epithelial Type 2': 'AT2', - 'Alveolar Epithelial Type 1': 'AT1', - 'Plasma': 'B cell lineage', - 'Lipofibroblast': 'Fibroblasts', - 'Capillary Intermediate 1': 'Capillary Intermediate 1', - 'Capillary': 'Capillary', - 'Alveolar Fibroblast': 'Fibroblasts', - 'Classical Monocyte': 'Monocytes', - 'Goblet': 'Secretory', - 'Airway Smooth Muscle': 'Airway smooth muscle', - 'Club': 'Secretory', - 'Proliferating NK/T': 'Innate lymphoid cells', - 'Alveolar Epithelial Type 2': 'AT2', - 'Differentiating Basal': 'Basal', - 'CD8+ Naive T': 'T cell lineage', - 'Artery': 'Arterial', - 'Neutrophil': 'Monocytes', - 'Dendritic': 'Dendritic cells', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "lung", "facs_normal_lung_blood_scanpy.20200205.RC4.h5ad") - self.adata = anndata.read(fn) - self.adata.X = scipy.sparse.csc_matrix(self.adata.X) - self.adata.X = np.expm1(self.adata.X) - self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['nReads'].values[:, None])) \ - .multiply(1 / 1000000) - - self.adata.uns["lab"] = 'Krasnow' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = "10.1038/s41586-020-2922-4" - self.adata.uns["protocol"] = 'smartseq2' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["cell_ontology_class"] = ["_".join(i.split('_')[:-1]) for i in self.adata.obs['free_annotation']] - self.adata.obs["cell_ontology_class"] = self.adata.obs["cell_ontology_class"].astype('category') - self.set_unkown_class_id(ids=["1_Unicorns and artifacts"]) - self.adata.obs["healthy"] = True - self.adata.obs['state_exact'] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/human/malegonad/__init__.py b/sfaira/data/human/malegonad/__init__.py deleted file mode 100644 index bf7a87036..000000000 --- a/sfaira/data/human/malegonad/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_malegonad import DatasetGroupMalegonad diff --git a/sfaira/data/human/malegonad/external.py b/sfaira/data/human/malegonad/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/malegonad/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/malegonad/human_malegonad.py b/sfaira/data/human/malegonad/human_malegonad.py deleted file mode 100644 index ea7e995df..000000000 --- a/sfaira/data/human/malegonad/human_malegonad.py +++ /dev/null @@ -1,30 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_malegonad_2018_10x_guo_001 import Dataset as Dataset0001 -from .human_malegonad_2020_microwell_han_001 import Dataset as Dataset0002 -from .human_malegonad_2020_microwell_han_002 import Dataset as Dataset0003 - - -class DatasetGroupMalegonad(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupMalegonad - self.datasets.update(DatasetGroupMalegonad().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/malegonad/human_malegonad_2018_10x_guo_001.py b/sfaira/data/human/malegonad/human_malegonad_2018_10x_guo_001.py deleted file mode 100644 index bae4b6a99..000000000 --- a/sfaira/data/human/malegonad/human_malegonad_2018_10x_guo_001.py +++ /dev/null @@ -1,78 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import numpy as np -import scipy.sparse - - -class Dataset(DatasetBase): - """ - This data loader directly processes the raw data file which can be obtained from the `download_website` attribute of - this class. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_malegonad_2018_10x_guo_001_10.1038/s41422-018-0099-2" - self.download_website = "https://covid19.cog.sanger.ac.uk/guo18_donor.processed.h5ad" - self.download_website_meta = None - self.organ = "malegonad" - self.sub_tissue = "testis" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Elongated Spermatids': 'Elongated Spermatids', - 'Leydig cells': 'Leydig cells', - 'Early Primary Spermatocytes': 'Early Primary Spermatocytes', - 'Round Spermatids': 'Round Spermatids', - 'Endothelial cells': 'Endothelial cells', - 'Macrophages': 'Macrophages', - 'Myoid cells': 'Myoid cells', - 'Differentiating Spermatogonia': 'Differentiating Spermatogonia', - 'Late primary Spermatocytes': 'Late primary Spermatocytes', - 'Spermatogonial Stem cell': 'Spermatogonial Stem cell', - 'Sertoli cells': 'Sertoli cells', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "malegonad", "guo18_donor.processed.h5ad") - self.adata = anndata.read(fn) - self.adata.X = np.expm1(self.adata.X) - self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['n_counts'].values[:, None]))\ - .multiply(1/10000) - - self.adata.uns["lab"] = "Cairns" - self.adata.uns["year"] = 2018 - self.adata.uns["doi"] = "10.1038/s41422-018-0099-2" - self.adata.uns["protocol"] = '10x' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["cell_ontology_class"] = self.adata.obs['CellType'] - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/human/malegonad/human_malegonad_2020_microwell_han_001.py b/sfaira/data/human/malegonad/human_malegonad_2020_microwell_han_001.py deleted file mode 100644 index 42e072149..000000000 --- a/sfaira/data/human/malegonad/human_malegonad_2020_microwell_han_001.py +++ /dev/null @@ -1,90 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_malegonad_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'malegonad' - self.sub_tissue = 'FetalMaleGonad' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'B cell': 'B cell', - 'CB CD34+': 'CB CD34+', - 'Dendritic cell': 'Dendritic cell', - 'Endothelial cell': 'Endothelial cells', - 'Erythroid cell': 'Erythroid cell', - 'Erythroid progenitor cell (RP high)': 'Erythroid progenitor cell (RP high)', - 'Fasciculata cell': 'Fasciculata cell', - 'Fetal acinar cell': 'Fetal acinar cell', - 'Fetal chondrocyte': 'Fetal chondrocyte', - 'Fetal epithelial progenitor': 'Fetal epithelial progenitor', - 'Fetal fibroblast': 'Fetal fibroblast', - 'Fetal mesenchymal progenitor': 'Fetal mesenchymal progenitor', - 'Fetal neuron': 'Fetal neuron', - 'Fetal skeletal muscle cell': 'Fetal skeletal muscle cell', - 'Fetal stromal cell': 'Fetal stromal cell', - 'Immature sertoli cell (Pre-Sertoli cell)': 'Sertoli cells', - 'Loop of Henle': 'Loop of Henle', - 'Macrophage': 'Macrophages', - 'Monocyte': 'Monocyte', - 'Neutrophil': 'Neutrophil', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Primordial germ cell': 'Primordial germ cell', - 'Proximal tubule progenitor': 'Proximal tubule progenitor', - 'Smooth muscle cell': 'Smooth muscle cell', - 'Stromal cell': 'Stromal cell', - 'T cell': 'T cell', - 'Ureteric bud cell': 'Ureteric bud cell', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "malegonad", "hcl_FetalMaleGonad_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/malegonad/human_malegonad_2020_microwell_han_002.py b/sfaira/data/human/malegonad/human_malegonad_2020_microwell_han_002.py deleted file mode 100644 index 9b7b31072..000000000 --- a/sfaira/data/human/malegonad/human_malegonad_2020_microwell_han_002.py +++ /dev/null @@ -1,90 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_malegonad_2020_microwell_han_002_10.1038/s41586-020-2157-4" - self.organ = 'malegonad' - self.sub_tissue = 'FetalMaleGonad' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'B cell': 'B cell', - 'CB CD34+': 'CB CD34+', - 'Dendritic cell': 'Dendritic cell', - 'Endothelial cell': 'Endothelial cells', - 'Erythroid cell': 'Erythroid cell', - 'Erythroid progenitor cell (RP high)': 'Erythroid progenitor cell (RP high)', - 'Fasciculata cell': 'Fasciculata cell', - 'Fetal acinar cell': 'Fetal acinar cell', - 'Fetal chondrocyte': 'Fetal chondrocyte', - 'Fetal epithelial progenitor': 'Fetal epithelial progenitor', - 'Fetal fibroblast': 'Fetal fibroblast', - 'Fetal mesenchymal progenitor': 'Fetal mesenchymal progenitor', - 'Fetal neuron': 'Fetal neuron', - 'Fetal skeletal muscle cell': 'Fetal skeletal muscle cell', - 'Fetal stromal cell': 'Fetal stromal cell', - 'Immature sertoli cell (Pre-Sertoli cell)': 'Sertoli cells', - 'Loop of Henle': 'Loop of Henle', - 'Macrophage': 'Macrophages', - 'Monocyte': 'Monocyte', - 'Neutrophil': 'Neutrophil', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Primordial germ cell': 'Primordial germ cell', - 'Proximal tubule progenitor': 'Proximal tubule progenitor', - 'Smooth muscle cell': 'Smooth muscle cell', - 'Stromal cell': 'Stromal cell', - 'T cell': 'T cell', - 'Ureteric bud cell': 'Ureteric bud cell', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "malegonad", "hcl_FetalMaleGonad_2.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/mixed/__init__.py b/sfaira/data/human/mixed/__init__.py deleted file mode 100644 index 5c885d57c..000000000 --- a/sfaira/data/human/mixed/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_mixed import DatasetGroupMixed diff --git a/sfaira/data/human/mixed/external.py b/sfaira/data/human/mixed/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/mixed/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/mixed/human_mixed.py b/sfaira/data/human/mixed/human_mixed.py deleted file mode 100644 index cbce1da35..000000000 --- a/sfaira/data/human/mixed/human_mixed.py +++ /dev/null @@ -1,26 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_mixed_2019_10x_szabo_001 import Dataset as Dataset0001 - - -class DatasetGroupMixed(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupMixed - self.datasets.update(DatasetGroupMixed().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/mixed/human_mixed_2019_10x_szabo_001.py b/sfaira/data/human/mixed/human_mixed_2019_10x_szabo_001.py deleted file mode 100644 index f81edd222..000000000 --- a/sfaira/data/human/mixed/human_mixed_2019_10x_szabo_001.py +++ /dev/null @@ -1,189 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import tarfile -import pandas as pd -import scipy.sparse - - -class Dataset(DatasetBase): - """ - This data loader supports reading of the downloaded raw data files if `load_raw=True` is passed to self.load() - To download the datafile required by this dataloader, use the link provided as the `download_website` attribute of - this class. The required celltype annotations for the data were kindly provided to us by the authors of the paper. - Please contact them directly to pbtain the required annotation files (donor1.annotation.txt and - donor2.annotation.txt). For (up to 100-fold faster) repeated data loading, please pass `load_raw=False` when calling - the self.load() method. For this, you need to preprocess the raw files as below and place the resulting h5ad file in - the data folder of this organ: - - import anndata - import tarfile - import pandas as pd - import scipy.sparse - adatas = [] - with tarfile.open('GSE126030_RAW.tar') as tar: - for member in tar.getmembers(): - df = pd.read_csv(tar.extractfile(member.name), compression='gzip', sep='\t') - df.index = [i.split('.')[0] for i in df['Accession']] - var = pd.concat([df.pop(x) for x in ['Gene', 'Accession']], 1) - if df.columns[-1].startswith('Un'): - df.drop(df.columns[len(df.columns)-1], axis=1, inplace=True) - adata = anndata.AnnData(df.T) - adata.var = var - if "PP001" in member.name or "PP002" in member.name: - adata.obs['donor'] = 'Donor1' - adata.obs['organ'] = 'Lung' - elif "PP003" in member.name or "PP004" in member.name: - adata.obs['donor'] = 'Donor1' - adata.obs['organ'] = 'Bone Marrow' - elif "PP005" in member.name or "PP006" in member.name: - adata.obs['donor'] = 'Donor1' - adata.obs['organ'] = 'Lymph Node' - elif "PP009" in member.name or "PP010" in member.name: - adata.obs['donor'] = 'Donor2' - adata.obs['organ'] = 'Lung' - elif "PP011" in member.name or "PP012" in member.name: - adata.obs['donor'] = 'Donor2' - adata.obs['organ'] = 'Bone Marrow' - elif "PP013" in member.name or "PP014" in member.name: - adata.obs['donor'] = 'Donor2' - adata.obs['organ'] = 'Lymph Node' - else: - continue - adata.obs.index = member.name.split('_')[1].split('s')[0]+'nskept.'+adata.obs.index - adatas.append(adata) - adata = adatas[0].concatenate(adatas[1:], index_unique=None) - adata.obs.drop('batch', axis=1, inplace=True) - adata = adata[:,adata.X.sum(axis=0) > 0].copy() - adata.obs['cell_ontology_class'] = 'Unknown' - df1 = pd.read_csv('donor1.annotation.txt', sep='\t', index_col=0, header=None) - df2 = pd.read_csv('donor2.annotation.txt', sep='\t', index_col=0, header=None) - for i in df1.index: - adata.obs['cell_ontology_class'].loc[i] = df1.loc[i][1] - for i in df2.index: - adata.obs['cell_ontology_class'].loc[i] = df2.loc[i][1] - adata.X = scipy.sparse.csc_matrix(adata.X) - adata.write('GSE126030.h5ad') - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_mixed_2019_10x_szabo_001_10.1038/s41467-019-12464-3" - self.download_website = "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE126nnn/GSE126030/suppl/GSE126030_RAW.tar" - self.download_website_meta = 'private' - self.organ = "mixed" - self.sub_tissue = "Bone Marrow, Lung, Lymph Node" - self.has_celltypes = True - self.loaded = False - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw: - if fn is None: - fn = [ - os.path.join(self.path, "human", "mixed", "GSE126030_RAW.tar"), - os.path.join(self.path, "human", "mixed", "donor1.annotation.txt"), - os.path.join(self.path, "human", "mixed", "donor2.annotation.txt"), - ] - adatas = [] - with tarfile.open(fn[0]) as tar: - for member in tar.getmembers(): - df = pd.read_csv(tar.extractfile(member.name), compression='gzip', sep='\t') - df.index = [i.split('.')[0] for i in df['Accession']] - var = pd.concat([df.pop(x) for x in ['Gene', 'Accession']], 1) - if df.columns[-1].startswith('Un'): - df.drop(df.columns[len(df.columns) - 1], axis=1, inplace=True) - self.adata = anndata.AnnData(df.T) - self.adata.var = var - if "PP001" in member.name or "PP002" in member.name: - self.adata.obs['donor'] = 'Donor1' - self.adata.obs['organ'] = 'Lung' - elif "PP003" in member.name or "PP004" in member.name: - self.adata.obs['donor'] = 'Donor1' - self.adata.obs['organ'] = 'Bone Marrow' - elif "PP005" in member.name or "PP006" in member.name: - self.adata.obs['donor'] = 'Donor1' - self.adata.obs['organ'] = 'Lymph Node' - elif "PP009" in member.name or "PP010" in member.name: - self.adata.obs['donor'] = 'Donor2' - self.adata.obs['organ'] = 'Lung' - elif "PP011" in member.name or "PP012" in member.name: - self.adata.obs['donor'] = 'Donor2' - self.adata.obs['organ'] = 'Bone Marrow' - elif "PP013" in member.name or "PP014" in member.name: - self.adata.obs['donor'] = 'Donor2' - self.adata.obs['organ'] = 'Lymph Node' - else: - continue - self.adata.obs.index = member.name.split('_')[1].split('s')[0] + 'nskept.' + self.adata.obs.index - adatas.append(self.adata) - self.adata = adatas[0].concatenate(adatas[1:], index_unique=None) - self.adata.obs.drop('batch', axis=1, inplace=True) - self.adata = self.adata[:, self.adata.X.sum(axis=0) > 0].copy() - self.adata.obs['cell_ontology_class'] = 'Unknown' - df1 = pd.read_csv(fn[1], sep='\t', index_col=0, header=None) - df2 = pd.read_csv(fn[2], sep='\t', index_col=0, header=None) - for i in df1.index: - self.adata.obs['cell_ontology_class'].loc[i] = df1.loc[i][1] - for i in df2.index: - self.adata.obs['cell_ontology_class'].loc[i] = df2.loc[i][1] - self.adata.X = scipy.sparse.csc_matrix(self.adata.X) - else: - if fn is None: - fn = os.path.join(self.path, "human", "mixed", "GSE126030.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = "Sims" - self.adata.uns["year"] = 2019 - self.adata.uns["doi"] = "10.1038/s41467-019-12464-3" - self.adata.uns["protocol"] = "10x" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["subtissue"] = self.adata.obs["organ"] - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = 'healthy' - - self._convert_and_set_var_names(symbol_col='Gene', ensembl_col='Accession', new_index='ensembl') - - # If the subset_organs() method has been run before, subset to specified organs - if "organsubset" in self.__dict__: - self.adata = self.adata[self.adata.obs['organ'].isin(self.organsubset)] - # If adata object is empty, set it to None - if not len(self.adata): - self.adata = None - self.loaded = True - - @property - def ncells(self): - if "organsubset" in self.__dict__: - if not self.loaded: - self._load() - if self.adata is None: - return 0 - else: - return self.adata.n_obs - else: - return super().ncells diff --git a/sfaira/data/human/muscle/__init__.py b/sfaira/data/human/muscle/__init__.py deleted file mode 100644 index f6c2f1d41..000000000 --- a/sfaira/data/human/muscle/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_muscle import DatasetGroupMuscle diff --git a/sfaira/data/human/muscle/external.py b/sfaira/data/human/muscle/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/muscle/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/muscle/human_muscle.py b/sfaira/data/human/muscle/human_muscle.py deleted file mode 100644 index 3ccea8560..000000000 --- a/sfaira/data/human/muscle/human_muscle.py +++ /dev/null @@ -1,28 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_muscle_2020_microwell_han_001 import Dataset as Dataset0001 -from .human_muscle_2020_microwell_han_002 import Dataset as Dataset0002 - - -class DatasetGroupMuscle(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupMuscle - self.datasets.update(DatasetGroupMuscle().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/muscle/human_muscle_2020_microwell_han_001.py b/sfaira/data/human/muscle/human_muscle_2020_microwell_han_001.py deleted file mode 100644 index 61fbdb6f8..000000000 --- a/sfaira/data/human/muscle/human_muscle_2020_microwell_han_001.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_muscle_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'muscle' - self.sub_tissue = 'FetalMuscle' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "muscle", "hcl_FetalMuscle_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/muscle/human_muscle_2020_microwell_han_002.py b/sfaira/data/human/muscle/human_muscle_2020_microwell_han_002.py deleted file mode 100644 index 57927ee83..000000000 --- a/sfaira/data/human/muscle/human_muscle_2020_microwell_han_002.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_muscle_2020_microwell_han_002_10.1038/s41586-020-2157-4" - self.organ = 'muscle' - self.sub_tissue = 'AdultMuscle' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "muscle", "hcl_AdultMuscle_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/omentum/__init__.py b/sfaira/data/human/omentum/__init__.py deleted file mode 100644 index 330530786..000000000 --- a/sfaira/data/human/omentum/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_omentum import DatasetGroupOmentum diff --git a/sfaira/data/human/omentum/external.py b/sfaira/data/human/omentum/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/omentum/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/omentum/human_omentum.py b/sfaira/data/human/omentum/human_omentum.py deleted file mode 100644 index 56f49739e..000000000 --- a/sfaira/data/human/omentum/human_omentum.py +++ /dev/null @@ -1,30 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_omentum_2020_microwell_han_001 import Dataset as Dataset0001 -from .human_omentum_2020_microwell_han_002 import Dataset as Dataset0002 -from .human_omentum_2020_microwell_han_003 import Dataset as Dataset0003 - - -class DatasetGroupOmentum(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupOmentum - self.datasets.update(DatasetGroupOmentum().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/omentum/human_omentum_2020_microwell_han_001.py b/sfaira/data/human/omentum/human_omentum_2020_microwell_han_001.py deleted file mode 100644 index 02b8a3a13..000000000 --- a/sfaira/data/human/omentum/human_omentum_2020_microwell_han_001.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_omentum_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'omentum' - self.sub_tissue = 'AdultOmentum' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "omentum", "hcl_AdultOmentum_2.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/omentum/human_omentum_2020_microwell_han_002.py b/sfaira/data/human/omentum/human_omentum_2020_microwell_han_002.py deleted file mode 100644 index b699a420d..000000000 --- a/sfaira/data/human/omentum/human_omentum_2020_microwell_han_002.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_omentum_2020_microwell_han_002_10.1038/s41586-020-2157-4" - self.organ = 'omentum' - self.sub_tissue = 'AdultOmentum' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "omentum", "hcl_AdultOmentum_3.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/omentum/human_omentum_2020_microwell_han_003.py b/sfaira/data/human/omentum/human_omentum_2020_microwell_han_003.py deleted file mode 100644 index dc2e3bf60..000000000 --- a/sfaira/data/human/omentum/human_omentum_2020_microwell_han_003.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_omentum_2020_microwell_han_003_10.1038/s41586-020-2157-4" - self.organ = 'omentum' - self.sub_tissue = 'AdultOmentum' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "omentum", "hcl_AdultOmentum_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/pancreas/__init__.py b/sfaira/data/human/pancreas/__init__.py deleted file mode 100644 index 34f7a3229..000000000 --- a/sfaira/data/human/pancreas/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_pancreas import DatasetGroupPancreas diff --git a/sfaira/data/human/pancreas/external.py b/sfaira/data/human/pancreas/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/pancreas/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/pancreas/human_pancreas.py b/sfaira/data/human/pancreas/human_pancreas.py deleted file mode 100644 index 84bc010fd..000000000 --- a/sfaira/data/human/pancreas/human_pancreas.py +++ /dev/null @@ -1,38 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_pancreas_2016_indrop_baron_001 import Dataset as Dataset0001 -from .human_pancreas_2016_smartseq2_segerstolpe_001 import Dataset as Dataset0002 -from .human_pancreas_2017_smartseq2_enge_001 import Dataset as Dataset0003 -from .human_pancreas_2020_microwell_han_001 import Dataset as Dataset0004 -from .human_pancreas_2020_microwell_han_002 import Dataset as Dataset0005 -from .human_pancreas_2020_microwell_han_003 import Dataset as Dataset0006 -from .human_pancreas_2020_microwell_han_004 import Dataset as Dataset0007 - - -class DatasetGroupPancreas(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path), - Dataset0004(path=path, meta_path=meta_path), - Dataset0005(path=path, meta_path=meta_path), - Dataset0006(path=path, meta_path=meta_path), - Dataset0007(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupPancreas - self.datasets.update(DatasetGroupPancreas().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/pancreas/human_pancreas_2016_indrop_baron_001.py b/sfaira/data/human/pancreas/human_pancreas_2016_indrop_baron_001.py deleted file mode 100644 index 167cbf95a..000000000 --- a/sfaira/data/human/pancreas/human_pancreas_2016_indrop_baron_001.py +++ /dev/null @@ -1,80 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import numpy as np -import scipy.sparse - - -class Dataset(DatasetBase): - """ - This data loader directly processes the raw data file which can be obtained from the `download_website` attribute of - this class. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_pancreas_2016_indrop_baron_001_10.1016/j.cels.2016.08.011" - self.download_website = "https://covid19.cog.sanger.ac.uk/baron16.processed.h5ad" - self.download_website_meta = None - self.organ = "pancreas" - self.sub_tissue = "pancreas" - self.has_celltypes = True - - self.class_maps = { - "0": { - 't_cell': 'T cell', - 'quiescent_stellate': 'Quiescent Stellate cell', - 'mast': 'Mast cell', - 'delta': 'Delta cell', - 'beta': 'Beta cell', - 'endothelial': 'Endothelial cell', - 'macrophage': 'Macrophage', - 'epsilon': 'Epsilon cell', - 'activated_stellate': 'Activated Stellate cell', - 'acinar': 'Acinar cell', - 'alpha': 'Alpha cell', - 'ductal': 'Ductal cell', - 'schwann': 'Schwann cell', - 'gamma': 'Gamma cell', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "pancreas", "baron16.processed.h5ad") - self.adata = anndata.read(fn) - self.adata.X = np.expm1(self.adata.X) - self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['n_counts'].values[:, None]))\ - .multiply(1/10000) - - self.adata.uns["lab"] = "Yanai" - self.adata.uns["year"] = 2016 - self.adata.uns["doi"] = "10.1016/j.cels.2016.08.011" - self.adata.uns["protocol"] = 'inDrop' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = 'healthy' - - self.adata.obs["cell_ontology_class"] = self.adata.obs['CellType'] - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/human/pancreas/human_pancreas_2016_smartseq2_segerstolpe_001.py b/sfaira/data/human/pancreas/human_pancreas_2016_smartseq2_segerstolpe_001.py deleted file mode 100644 index f6a3edb1f..000000000 --- a/sfaira/data/human/pancreas/human_pancreas_2016_smartseq2_segerstolpe_001.py +++ /dev/null @@ -1,88 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import pandas as pd - - -class Dataset(DatasetBase): - """ - This data loader directly processes the raw data files which can be obtained from the `download_website` and - `download_website_meta` attributes of this class. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_pancreas_2016_smartseq2_segerstolpe_001_10.1016/j.cmet.2016.08.020" - self.download_website = "https://www.ebi.ac.uk/arrayexpress/files/E-MTAB-5061/E-MTAB-5061.processed.1.zip" - self.download_website_meta = "https://www.ebi.ac.uk/arrayexpress/files/E-MTAB-5061/E-MTAB-5061.sdrf.txt" - self.organ = "pancreas" - self.sub_tissue = "pancreas" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'alpha cell': 'Alpha cell', - 'ductal cell': 'Ductal cell', - 'beta cell': 'Beta cell', - 'gamma cell': 'Gamma cell', - 'acinar cell': 'Acinar cell', - 'delta cell': 'Delta cell', - 'PSC cell': 'PSC cell', - 'unclassified endocrine cell': 'Unclassified endocrine cell', - 'co-expression cell': 'Co-expression cell', - 'endothelial cell': 'Endothelial cell', - 'epsilon cell': 'Epsilon cell', - 'mast cell': 'Mast cell', - 'MHC class II cell': 'MHC class II cell', - 'unclassified cell': 'Unknown', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = [ - os.path.join(self.path, "human", "pancreas", "E-MTAB-5061.processed.1.zip"), - os.path.join(self.path, "human", "pancreas", "E-MTAB-5061.sdrf.txt") - ] - df = pd.read_csv(fn[0], sep='\t') - df.index = df.index.get_level_values(0) - df = df.drop('#samples', axis=1) - df = df.T.iloc[:, :26178] - self.adata = anndata.AnnData(df) - self.adata.obs = pd.read_csv(fn[1], sep='\t').set_index('Source Name').loc[self.adata.obs.index] - # filter observations which are not cells (empty wells, low quality cells etc.) - self.adata = self.adata[self.adata.obs['Characteristics[cell type]'] != 'not applicable'].copy() - - self.adata.uns["lab"] = "Sandberg" - self.adata.uns["year"] = 2016 - self.adata.uns["doi"] = "10.1016/j.cmet.2016.08.020" - self.adata.uns["protocol"] = 'Smartseq2' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["healthy"] = [True if line == 'normal' else False for line in self.adata.obs['Characteristics[disease]']] - self.adata.obs["state_exact"] = self.adata.obs['Characteristics[disease]'].astype('category') - self.adata.obs["state_exact"] = self.adata.obs["state_exact"].cat.rename_categories({'normal':'healthy', 'type II diabetes mellitus':'type II diabetes mellitus'}) - - self.adata.obs["cell_ontology_class"] = self.adata.obs['Characteristics[cell type]'] - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/human/pancreas/human_pancreas_2017_smartseq2_enge_001.py b/sfaira/data/human/pancreas/human_pancreas_2017_smartseq2_enge_001.py deleted file mode 100644 index da22b76ae..000000000 --- a/sfaira/data/human/pancreas/human_pancreas_2017_smartseq2_enge_001.py +++ /dev/null @@ -1,147 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import tarfile -import gzip -from io import StringIO -import anndata as ad -import pandas as pd -import scipy.sparse - - -class Dataset(DatasetBase): - """ - This data loader supports reading of the downloaded raw data file if `load_raw=True` is passed to self.load() - To download the datafile required by this dataloader, use the link provided as the `download_website` and - `download_website_meta` attributes of this class. For (up to 100-fold faster) repeated data loading, please pass - `load_raw=False` when calling the self.load() method. For this, you need to preprocess the raw files as below and - place the resulting h5ad file in the data folder of this organ: - - import tarfile - import os - import gzip - from io import StringIO - import anndata as ad - import pandas as pd - import scipy.sparse - dfs = [] - with tarfile.open("GSE81547_RAW.tar") as tar: - for member in tar.getmembers(): - d = pd.read_csv(tar.extractfile(member), compression='gzip', header=None, sep='\t', index_col=0, names=[member.name.split("_")[0]]) - dfs.append(d) - adata = ad.AnnData(pd.concat(dfs, axis=1).iloc[1:-6].T) - adata.X = scipy.sparse.csc_matrix(adata.X) - with gzip.open('GSE81547_series_matrix.txt.gz') as f: - file_content = [i.decode("utf-8") for i in f.readlines()] - inputstring = '' - for line in file_content: - if '"ID_REF"' in line: - inputstring += line - if '!Sample_title' in line: - inputstring += line[1:] - if '!Sample_characteristics_ch1\t"inferred_cell_type: alpha' in line: - inputstring += line[1:] - data = StringIO(inputstring) - d = pd.read_csv(data, sep='\t').T - d.columns=d.iloc[0] - d.drop('Sample_title', inplace=True) - d = d.reset_index().set_index('ID_REF') - d.columns.name = None - d.index.name = None - adata.obs['celltype'] = [d.loc[i]['Sample_characteristics_ch1'].split(": ")[1] for i in adata.obs.index] - adata.obs['patient'] = ["_".join(d.loc[i]['index'].split('_')[:2]) for i in adata.obs.index] - adata.write('GSE81547.h5ad') - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_pancreas_2017_smartseq2_enge_001_10.1016/j.cell.2017.09.004" - self.download_website = "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE81nnn/GSE81547/suppl/GSE81547_RAW.tar" - self.download_website_meta = "https://ftp.ncbi.nlm.nih.gov/geo/series/GSE81nnn/GSE81547/matrix/GSE81547_series_matrix.txt.gz" - self.organ = "pancreas" - self.sub_tissue = "islet of Langerhans" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'alpha': 'Alpha cell', - 'acinar': 'Acinar cell', - 'ductal': 'Ductal cell', - 'beta': 'Beta cell', - 'unsure': 'Unknown', - 'delta': 'Delta cell', - 'mesenchymal': 'Mesenchymal Cell' - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw: - if fn is None: - fn = [ - os.path.join(self.path, "human", "pancreas", "GSE81547_RAW.tar"), - os.path.join(self.path, "human", "pancreas", "GSE81547_series_matrix.txt.gz") - ] - dfs = [] - with tarfile.open(fn[0]) as tar: - for member in tar.getmembers(): - d = pd.read_csv(tar.extractfile(member), compression='gzip', header=None, sep='\t', index_col=0, - names=[member.name.split("_")[0]]) - dfs.append(d) - self.adata = ad.AnnData(pd.concat(dfs, axis=1).iloc[1:-6].T) - self.adata.X = scipy.sparse.csc_matrix(self.adata.X) - with gzip.open(fn[1]) as f: - file_content = [i.decode("utf-8") for i in f.readlines()] - inputstring = '' - for line in file_content: - if '"ID_REF"' in line: - inputstring += line - if '!Sample_title' in line: - inputstring += line[1:] - if '!Sample_characteristics_ch1\t"inferred_cell_type: alpha' in line: - inputstring += line[1:] - data = StringIO(inputstring) - d = pd.read_csv(data, sep='\t').T - d.columns = d.iloc[0] - d.drop('Sample_title', inplace=True) - d = d.reset_index().set_index('ID_REF') - d.columns.name = None - d.index.name = None - self.adata.obs['celltype'] = [d.loc[i]['Sample_characteristics_ch1'].split(": ")[1] for i in self.adata.obs.index] - self.adata.obs['patient'] = ["_".join(d.loc[i]['index'].split('_')[:2]) for i in self.adata.obs.index] - - else: - if fn is None: - fn = os.path.join(self.path, "human", "pancreas", "GSE81547.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = 2017 - self.adata.uns["doi"] = "10.1016/j.cell.2017.09.004" - self.adata.uns["protocol"] = 'Smartseq2' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self.adata.obs["cell_ontology_class"] = self.adata.obs['celltype'] - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_001.py b/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_001.py deleted file mode 100644 index c89dac986..000000000 --- a/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_001.py +++ /dev/null @@ -1,99 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_pancreas_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'Pancreas' - self.sub_tissue = 'AdultPancreas' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'B cell': 'B cell', - 'B cell (Plasmocyte)': 'B cell (Plasmocyte)', - 'Basal cell': 'Basal cell', - 'CB CD34+': 'CB CD34+', - 'Dendritic cell': 'Dendritic cell', - 'Endothelial cell': 'Endothelial cell', - 'Endothelial cell (APC)': 'Endothelial cell', - 'Endothelial cell (endothelial to mesenchymal transition)': 'Endothelial cell', - 'Enterocyte progenitor': 'Enterocyte progenitor', - 'Erythroid cell': 'Erythroid cell', - 'Erythroid progenitor cell (RP high)': 'Erythroid progenitor cell (RP high)', - 'Fetal Neuron': 'Neuron', - 'Fetal acinar cell': 'Acinar cell', - 'Fetal endocrine cell': 'Endocrine cell', - 'Fetal enterocyte ': 'Enterocyte', - 'Fetal epithelial progenitor': 'Epithelial progenitor', - 'Fetal fibroblast': 'Fibroblast', - 'Fetal mesenchymal progenitor': 'Mesenchymal Cell', - 'Fetal neuron': 'Neuron', - 'Fetal skeletal muscle cell': 'Skeletal muscle cell', - 'Fetal stromal cell': 'Stromal cell', - 'Fibroblast': 'Fibroblast', - 'Gastric endocrine cell': 'Gastric endocrine cell', - 'Immature sertoli cell (Pre-Sertoli cell)': 'Immature sertoli cell (Pre-Sertoli cell)', - 'Macrophage': 'Macrophage', - 'Mast cell': 'Mast cell', - 'Monocyte': 'Monocyte', - 'Neutrophil': 'Neutrophil', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Pancreas exocrine cell': 'Pancreas exocrine cell', - 'Primordial germ cell': 'Primordial germ cell', - 'Proliferating T cell': 'T cell', - 'Proximal tubule progenitor': 'Proximal tubule progenitor', - 'Sinusoidal endothelial cell': 'Endothelial cell', - 'Smooth muscle cell': 'Smooth muscle cell', - 'Stromal cell': 'Stromal cell', - 'T cell': 'T cell' - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "pancreas", "hcl_AdultPancreas_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') diff --git a/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_002.py b/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_002.py deleted file mode 100644 index e7099ab75..000000000 --- a/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_002.py +++ /dev/null @@ -1,99 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_pancreas_2020_microwell_han_002_10.1038/s41586-020-2157-4" - self.organ = 'Pancreas' - self.sub_tissue = 'FetalPancreas' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'B cell': 'B cell', - 'B cell (Plasmocyte)': 'B cell (Plasmocyte)', - 'Basal cell': 'Basal cell', - 'CB CD34+': 'CB CD34+', - 'Dendritic cell': 'Dendritic cell', - 'Endothelial cell': 'Endothelial cell', - 'Endothelial cell (APC)': 'Endothelial cell', - 'Endothelial cell (endothelial to mesenchymal transition)': 'Endothelial cell', - 'Enterocyte progenitor': 'Enterocyte progenitor', - 'Erythroid cell': 'Erythroid cell', - 'Erythroid progenitor cell (RP high)': 'Erythroid progenitor cell (RP high)', - 'Fetal Neuron': 'Neuron', - 'Fetal acinar cell': 'Acinar cell', - 'Fetal endocrine cell': 'Endocrine cell', - 'Fetal enterocyte ': 'Enterocyte', - 'Fetal epithelial progenitor': 'Epithelial progenitor', - 'Fetal fibroblast': 'Fibroblast', - 'Fetal mesenchymal progenitor': 'Mesenchymal Cell', - 'Fetal neuron': 'Neuron', - 'Fetal skeletal muscle cell': 'Skeletal muscle cell', - 'Fetal stromal cell': 'Stromal cell', - 'Fibroblast': 'Fibroblast', - 'Gastric endocrine cell': 'Gastric endocrine cell', - 'Immature sertoli cell (Pre-Sertoli cell)': 'Immature sertoli cell (Pre-Sertoli cell)', - 'Macrophage': 'Macrophage', - 'Mast cell': 'Mast cell', - 'Monocyte': 'Monocyte', - 'Neutrophil': 'Neutrophil', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Pancreas exocrine cell': 'Pancreas exocrine cell', - 'Primordial germ cell': 'Primordial germ cell', - 'Proliferating T cell': 'T cell', - 'Proximal tubule progenitor': 'Proximal tubule progenitor', - 'Sinusoidal endothelial cell': 'Endothelial cell', - 'Smooth muscle cell': 'Smooth muscle cell', - 'Stromal cell': 'Stromal cell', - 'T cell': 'T cell', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "pancreas", "hcl_FetalPancreas_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') diff --git a/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_003.py b/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_003.py deleted file mode 100644 index f1e9eda49..000000000 --- a/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_003.py +++ /dev/null @@ -1,99 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_pancreas_2020_microwell_han_003_10.1038/s41586-020-2157-4" - self.organ = 'Pancreas' - self.sub_tissue = 'FetalPancreas' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'B cell': 'B cell', - 'B cell (Plasmocyte)': 'B cell (Plasmocyte)', - 'Basal cell': 'Basal cell', - 'CB CD34+': 'CB CD34+', - 'Dendritic cell': 'Dendritic cell', - 'Endothelial cell': 'Endothelial cell', - 'Endothelial cell (APC)': 'Endothelial cell', - 'Endothelial cell (endothelial to mesenchymal transition)': 'Endothelial cell', - 'Enterocyte progenitor': 'Enterocyte progenitor', - 'Erythroid cell': 'Erythroid cell', - 'Erythroid progenitor cell (RP high)': 'Erythroid progenitor cell (RP high)', - 'Fetal Neuron': 'Neuron', - 'Fetal acinar cell': 'Acinar cell', - 'Fetal endocrine cell': 'Endocrine cell', - 'Fetal enterocyte ': 'Enterocyte', - 'Fetal epithelial progenitor': 'Epithelial progenitor', - 'Fetal fibroblast': 'Fibroblast', - 'Fetal mesenchymal progenitor': 'Mesenchymal Cell', - 'Fetal neuron': 'Neuron', - 'Fetal skeletal muscle cell': 'Skeletal muscle cell', - 'Fetal stromal cell': 'Stromal cell', - 'Fibroblast': 'Fibroblast', - 'Gastric endocrine cell': 'Gastric endocrine cell', - 'Immature sertoli cell (Pre-Sertoli cell)': 'Immature sertoli cell (Pre-Sertoli cell)', - 'Macrophage': 'Macrophage', - 'Mast cell': 'Mast cell', - 'Monocyte': 'Monocyte', - 'Neutrophil': 'Neutrophil', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Pancreas exocrine cell': 'Pancreas exocrine cell', - 'Primordial germ cell': 'Primordial germ cell', - 'Proliferating T cell': 'T cell', - 'Proximal tubule progenitor': 'Proximal tubule progenitor', - 'Sinusoidal endothelial cell': 'Endothelial cell', - 'Smooth muscle cell': 'Smooth muscle cell', - 'Stromal cell': 'Stromal cell', - 'T cell': 'T cell', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "pancreas", "hcl_FetalPancreas_2.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') diff --git a/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_004.py b/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_004.py deleted file mode 100644 index a3eb68e6f..000000000 --- a/sfaira/data/human/pancreas/human_pancreas_2020_microwell_han_004.py +++ /dev/null @@ -1,99 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_pancreas_2020_microwell_han_004_10.1038/s41586-020-2157-4" - self.organ = 'Pancreas' - self.sub_tissue = 'FetalPancreas' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'B cell': 'B cell', - 'B cell (Plasmocyte)': 'B cell (Plasmocyte)', - 'Basal cell': 'Basal cell', - 'CB CD34+': 'CB CD34+', - 'Dendritic cell': 'Dendritic cell', - 'Endothelial cell': 'Endothelial cell', - 'Endothelial cell (APC)': 'Endothelial cell', - 'Endothelial cell (endothelial to mesenchymal transition)': 'Endothelial cell', - 'Enterocyte progenitor': 'Enterocyte progenitor', - 'Erythroid cell': 'Erythroid cell', - 'Erythroid progenitor cell (RP high)': 'Erythroid progenitor cell (RP high)', - 'Fetal Neuron': 'Neuron', - 'Fetal acinar cell': 'Acinar cell', - 'Fetal endocrine cell': 'Endocrine cell', - 'Fetal enterocyte ': 'Enterocyte', - 'Fetal epithelial progenitor': 'Epithelial progenitor', - 'Fetal fibroblast': 'Fibroblast', - 'Fetal mesenchymal progenitor': 'Mesenchymal Cell', - 'Fetal neuron': 'Neuron', - 'Fetal skeletal muscle cell': 'Skeletal muscle cell', - 'Fetal stromal cell': 'Stromal cell', - 'Fibroblast': 'Fibroblast', - 'Gastric endocrine cell': 'Gastric endocrine cell', - 'Immature sertoli cell (Pre-Sertoli cell)': 'Immature sertoli cell (Pre-Sertoli cell)', - 'Macrophage': 'Macrophage', - 'Mast cell': 'Mast cell', - 'Monocyte': 'Monocyte', - 'Neutrophil': 'Neutrophil', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Pancreas exocrine cell': 'Pancreas exocrine cell', - 'Primordial germ cell': 'Primordial germ cell', - 'Proliferating T cell': 'T cell', - 'Proximal tubule progenitor': 'Proximal tubule progenitor', - 'Sinusoidal endothelial cell': 'Endothelial cell', - 'Smooth muscle cell': 'Smooth muscle cell', - 'Stromal cell': 'Stromal cell', - 'T cell': 'T cell', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "pancreas", "hcl_FetalPancreas_3.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') diff --git a/sfaira/data/human/placenta/__init__.py b/sfaira/data/human/placenta/__init__.py deleted file mode 100644 index 5ea45fa0a..000000000 --- a/sfaira/data/human/placenta/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_placenta import DatasetGroupPlacenta diff --git a/sfaira/data/human/placenta/external.py b/sfaira/data/human/placenta/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/placenta/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/placenta/human_placenta.py b/sfaira/data/human/placenta/human_placenta.py deleted file mode 100644 index 03a23584f..000000000 --- a/sfaira/data/human/placenta/human_placenta.py +++ /dev/null @@ -1,30 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_placenta_2018_smartseq2_ventotormo_001 import Dataset as Dataset0001 -from .human_placenta_2018_10x_ventotormo_001 import Dataset as Dataset0002 -from .human_placenta_2020_microwell_han_001 import Dataset as Dataset0003 - - -class DatasetGroupPlacenta(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupPlacenta - self.datasets.update(DatasetGroupPlacenta().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/placenta/human_placenta_2018_10x_ventotormo_001.py b/sfaira/data/human/placenta/human_placenta_2018_10x_ventotormo_001.py deleted file mode 100644 index 4067e9143..000000000 --- a/sfaira/data/human/placenta/human_placenta_2018_10x_ventotormo_001.py +++ /dev/null @@ -1,111 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import pandas as pd -import anndata - - -class Dataset(DatasetBase): - """ - This data loader directly processes the raw data file which can be obtained from the `download_website` and - `download_website_meta` attributes of this class. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_placenta_2018_10x_ventotormo_10.1038/s41586-018-0698-6" - self.download_website = 'https://www.ebi.ac.uk/arrayexpress/files/E-MTAB-6701/E-MTAB-6701.processed.1.zip' - self.download_website_meta = 'https://www.ebi.ac.uk/arrayexpress/files/E-MTAB-6701/E-MTAB-6701.processed.2.zip' - self.organ = "placenta" - self.sub_tissue = "placenta, decidua, blood" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'DC1': 'Dendritic Cells 1', - 'DC2': 'Dendritic Cells 2', - 'EVT': 'Extravillous Trophoblasts', - 'Endo (f)': 'Endothelial Cells f', - 'Endo (m)': 'Endothelial Cells m', - 'Endo L': 'Endothelial Cells L', - 'Epi1': 'Epithelial Glandular Cells 1', - 'Epi2': 'Epithelial Glandular Cells 2', - 'Granulocytes': 'Granulocytes', - 'HB': 'Hofbauer Cells', - 'ILC3': 'ILC3', - 'MO': 'Monocyte', - 'NK CD16+': 'NK Cells CD16+', - 'NK CD16-': 'NK Cells CD16-', - 'Plasma': 'B cell (Plasmocyte)', - 'SCT': 'Syncytiotrophoblasts', - 'Tcells': 'T cell', - 'VCT': 'Villous Cytotrophoblasts', - 'dM1': 'Decidual Macrophages 1', - 'dM2': 'Decidual Macrophages 2', - 'dM3': 'Decidual Macrophages 3', - 'dNK p': 'Decidual NK Cells p', - 'dNK1': 'Decidual NK Cells 1', - 'dNK2': 'Decidual NK Cells 2', - 'dNK3': 'Decidual NK Cells 3', - 'dP1': 'Perivascular Cells 1', - 'dP2': 'Perivascular Cells 2', - 'dS1': 'Decidual Stromal Cells 1', - 'dS2': 'Decidual Stromal Cells 2', - 'dS3': 'Decidual Stromal Cells 3', - 'fFB1': 'Fibroblasts 1', - 'fFB2': 'Fibroblasts 2', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = [ - os.path.join(self.path, "human", "placenta", "E-MTAB-6701.processed.1.zip"), - os.path.join(self.path, "human", "placenta", "E-MTAB-6701.processed.2.zip"), - ] - self.adata = anndata.AnnData(pd.read_csv(fn[0], sep='\t', index_col='Gene').T) - df = pd.read_csv(fn[1], sep='\t') - for i in df.columns: - self.adata.obs[i] = [df.loc[j][i] for j in self.adata.obs.index] - - self.adata.uns["lab"] = 'Teichmann' - self.adata.uns["year"] = 2018 - self.adata.uns["doi"] = '10.1038/s41586-018-0698-6' - self.adata.uns["protocol"] = "10x" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs = self.adata.obs.rename({'location': 'organ'}, axis='columns') - - self.adata.obs["cell_ontology_class"] = self.adata.obs['annotation'] - self.adata.obs["subtissue"] = self.adata.obs["organ"].copy() - self.adata.obs["final_cluster"] = self.adata.obs['final_cluster'].astype('category') - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self.adata.var['ensembl'] = [i.split("_")[1] for i in self.adata.var.index] - self.adata.var['names'] = [i.split("_")[0] for i in self.adata.var.index] - self.adata.var = self.adata.var.reset_index().reset_index().drop('index', axis=1) - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - - self.adata = self.adata[:, ~self.adata.var.index.isin( - ['', '-1', '-10', '-11', '-2', '-3', '-4', '-5', '-6', '-7', '-8', '-9', 'A.2', 'A.3'])].copy() diff --git a/sfaira/data/human/placenta/human_placenta_2018_smartseq2_ventotormo_001.py b/sfaira/data/human/placenta/human_placenta_2018_smartseq2_ventotormo_001.py deleted file mode 100644 index eb55155d9..000000000 --- a/sfaira/data/human/placenta/human_placenta_2018_smartseq2_ventotormo_001.py +++ /dev/null @@ -1,111 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import pandas as pd -import anndata - - -class Dataset(DatasetBase): - """ - This data loader directly processes the raw data file which can be obtained from the `download_website` and - `download_website_meta` attributes of this class. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_placenta_2018_smartseq2_ventotormo_10.1038/s41586-018-0698-6" - self.download_website = 'https://www.ebi.ac.uk/arrayexpress/files/E-MTAB-6678/E-MTAB-6678.processed.1.zip' - self.download_website_meta = 'https://www.ebi.ac.uk/arrayexpress/files/E-MTAB-6678/E-MTAB-6678.processed.2.zip' - self.organ = "placenta" - self.sub_tissue = "placenta, decidua, blood" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'DC1': 'Dendritic Cells 1', - 'DC2': 'Dendritic Cells 2', - 'EVT': 'Extravillous Trophoblasts', - 'Endo (f)': 'Endothelial Cells f', - 'Endo (m)': 'Endothelial Cells m', - 'Endo L': 'Endothelial Cells L', - 'Epi1': 'Epithelial Glandular Cells 1', - 'Epi2': 'Epithelial Glandular Cells 2', - 'Granulocytes': 'Granulocytes', - 'HB': 'Hofbauer Cells', - 'ILC3': 'ILC3', - 'MO': 'Monocyte', - 'NK CD16+': 'NK Cells CD16+', - 'NK CD16-': 'NK Cells CD16-', - 'Plasma': 'B cell (Plasmocyte)', - 'SCT': 'Syncytiotrophoblasts', - 'Tcells': 'T cell', - 'VCT': 'Villous Cytotrophoblasts', - 'dM1': 'Decidual Macrophages 1', - 'dM2': 'Decidual Macrophages 2', - 'dM3': 'Decidual Macrophages 3', - 'dNK p': 'Decidual NK Cells p', - 'dNK1': 'Decidual NK Cells 1', - 'dNK2': 'Decidual NK Cells 2', - 'dNK3': 'Decidual NK Cells 3', - 'dP1': 'Perivascular Cells 1', - 'dP2': 'Perivascular Cells 2', - 'dS1': 'Decidual Stromal Cells 1', - 'dS2': 'Decidual Stromal Cells 2', - 'dS3': 'Decidual Stromal Cells 3', - 'fFB1': 'Fibroblasts 1', - 'fFB2': 'Fibroblasts 2', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = [ - os.path.join(self.path, "human", "placenta", "E-MTAB-6678.processed.1.zip"), - os.path.join(self.path, "human", "placenta", "E-MTAB-6678.processed.2.zip"), - ] - self.adata = anndata.AnnData(pd.read_csv(fn[0], sep='\t', index_col='Gene').T) - df = pd.read_csv(fn[1], sep='\t') - for i in df.columns: - self.adata.obs[i] = [df.loc[j][i] for j in self.adata.obs.index] - - self.adata.uns["lab"] = 'Teichmann' - self.adata.uns["year"] = 2018 - self.adata.uns["doi"] = '10.1038/s41586-018-0698-6' - self.adata.uns["protocol"] = "Smartseq2" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs = self.adata.obs.rename({'location': 'organ'}, axis='columns') - - self.adata.obs["cell_ontology_class"] = self.adata.obs['annotation'] - self.adata.obs["subtissue"] = self.adata.obs["organ"].copy() - self.adata.obs["final_cluster"] = self.adata.obs['final_cluster'].astype('category') - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self.adata.var['ensembl'] = [i.split("_")[1] for i in self.adata.var.index] - self.adata.var['names'] = [i.split("_")[0] for i in self.adata.var.index] - self.adata.var = self.adata.var.reset_index().reset_index().drop('index', axis=1) - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - - self.adata = self.adata[:, ~self.adata.var.index.isin( - ['', '-1', '-10', '-11', '-2', '-3', '-4', '-5', '-6', '-7', '-8', '-9', 'A.2', 'A.3'])].copy() diff --git a/sfaira/data/human/placenta/human_placenta_2020_microwell_han_001.py b/sfaira/data/human/placenta/human_placenta_2020_microwell_han_001.py deleted file mode 100644 index a0a1d8672..000000000 --- a/sfaira/data/human/placenta/human_placenta_2020_microwell_han_001.py +++ /dev/null @@ -1,92 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_placenta_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'Placenta' - self.sub_tissue = 'Placenta' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Fibroblast': 'Fibroblast', - 'Macrophage': 'Macrophage', - 'Epithelial cell': 'Epithelial cell', - 'Erythroid cell': 'Erythroid cell', - 'Fetal stromal cell': 'Fetal stromal cell', - 'Stromal cell': 'Stromal cell', - 'Smooth muscle cell': 'Smooth muscle cell', - 'Endothelial cell': 'Endothelial cell', - 'T cell': 'T cell', - 'Monocyte': 'Monocyte', - 'Neutrophil': 'Neutrophil', - 'Intermediated cell': 'Intermediated cell', - 'Dendritic cell': 'Dendritic cell', - 'CB CD34+': 'CB CD34+', - 'Stratified epithelial cell': 'Stratified epithelial cell', - 'Fetal neuron': 'Fetal neuron', - 'B cell (Plasmocyte)': 'B cell (Plasmocyte)', - 'Endothelial cell (APC)': 'Endothelial cell (APC)', - 'B cell': 'B cell', - 'Epithelial cell (intermediated)': 'Epithelial cell (intermediated)', - 'hESC': 'hESC', - 'Basal cell': 'Basal cell', - 'Fetal mesenchymal progenitor': 'Fetal mesenchymal progenitor', - 'Endothelial cell (endothelial to mesenchymal transition)': 'Endothelial cell (endothelial to mesenchymal transition)', - 'Erythroid progenitor cell (RP high)': 'Erythroid progenitor cell (RP high)', - 'Fetal epithelial progenitor': 'Fetal epithelial progenitor', - 'Fetal fibroblast': 'Fetal fibroblast', - 'Fetal skeletal muscle cell': 'Fetal skeletal muscle cell', - 'M2 Macrophage': 'M2 Macrophage', - 'Myeloid cell': 'Myeloid cell', - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "placenta", "hcl_Placenta_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') diff --git a/sfaira/data/human/pleura/__init__.py b/sfaira/data/human/pleura/__init__.py deleted file mode 100644 index fbfcb922f..000000000 --- a/sfaira/data/human/pleura/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_pleura import DatasetGroupPleura diff --git a/sfaira/data/human/pleura/external.py b/sfaira/data/human/pleura/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/pleura/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/pleura/human_pleura.py b/sfaira/data/human/pleura/human_pleura.py deleted file mode 100644 index db3707fda..000000000 --- a/sfaira/data/human/pleura/human_pleura.py +++ /dev/null @@ -1,26 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_pleura_2020_microwell_han_001 import Dataset as Dataset0001 - - -class DatasetGroupPleura(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupPleura - self.datasets.update(DatasetGroupPleura().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/pleura/human_pleura_2020_microwell_han_001.py b/sfaira/data/human/pleura/human_pleura_2020_microwell_han_001.py deleted file mode 100644 index 4aa4ae998..000000000 --- a/sfaira/data/human/pleura/human_pleura_2020_microwell_han_001.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_pleura_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'pleura' - self.sub_tissue = 'AdultPleura' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "pleura", "hcl_AdultPleura_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/prostate/__init__.py b/sfaira/data/human/prostate/__init__.py deleted file mode 100644 index 34ef08dc6..000000000 --- a/sfaira/data/human/prostate/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_prostate import DatasetGroupProstate diff --git a/sfaira/data/human/prostate/external.py b/sfaira/data/human/prostate/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/prostate/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/prostate/human_prostate.py b/sfaira/data/human/prostate/human_prostate.py deleted file mode 100644 index cf3a5485b..000000000 --- a/sfaira/data/human/prostate/human_prostate.py +++ /dev/null @@ -1,28 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_prostate_2018_10x_henry_001 import Dataset as Dataset0001 -from .human_prostate_2020_microwell_han_001 import Dataset as Dataset0002 - - -class DatasetGroupProstate(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupProstate - self.datasets.update(DatasetGroupProstate().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/prostate/human_prostate_2018_10x_henry_001.py b/sfaira/data/human/prostate/human_prostate_2018_10x_henry_001.py deleted file mode 100644 index ad20b6ca1..000000000 --- a/sfaira/data/human/prostate/human_prostate_2018_10x_henry_001.py +++ /dev/null @@ -1,75 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import numpy as np -import scipy.sparse - - -class Dataset(DatasetBase): - """ - This data loader directly processes the raw data file which can be obtained from the `download_website` attribute of - this class. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_prostate_2018_10x_henry_001_10.1016/j.celrep.2018.11.086" - self.download_website = "https://covid19.cog.sanger.ac.uk/henry18_0.processed.h5ad" - self.download_website_meta = None - self.organ = "prostate" - self.sub_tissue = "prostate" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Basal': 'Basal cell', - 'Hillock': 'Hillock', - 'Luminal': 'Luminal', - 'Endothelia': 'Endothelial cell', - 'Club': 'Club', - 'Fibroblast': 'Fibroblast', - 'Smooth muscle': 'Smooth muscle cell', - 'Leukocytes': 'Leukocytes', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "prostate", "henry18_0.processed.h5ad") - self.adata = anndata.read(fn) - self.adata.X = np.expm1(self.adata.X) - self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['n_counts'].values[:, None]))\ - .multiply(1/10000) - - self.adata.uns["lab"] = "Strand" - self.adata.uns["year"] = 2018 - self.adata.uns["doi"] = "10.1016/j.celrep.2018.11.086" - self.adata.uns["protocol"] = '10x' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["cell_ontology_class"] = self.adata.obs['CellType'] - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/human/prostate/human_prostate_2020_microwell_han_001.py b/sfaira/data/human/prostate/human_prostate_2020_microwell_han_001.py deleted file mode 100644 index 4d8d59621..000000000 --- a/sfaira/data/human/prostate/human_prostate_2020_microwell_han_001.py +++ /dev/null @@ -1,82 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_prostate_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'prostate' - self.sub_tissue = 'AdultProstate' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'Basal cell': 'Basal cell', - 'Dendritic cell': 'Dendritic cell', - 'Endothelial cell': 'Endothelial cell', - 'Endothelial cell (APC)': 'Endothelial cell', - 'Endothelial cell (endothelial to mesenchymal transition)': 'Endothelial cell', - 'Enterocyte progenitor': 'Enterocyte progenitor', - 'Epithelial cell (intermediated)': 'Epithelial cell (intermediated)', - 'Fasciculata cell': 'Fasciculata cell', - 'Fetal enterocyte': 'Fetal enterocyte', - 'Fetal epithelial progenitor': 'Fetal epithelial progenitor', - 'Gastric endocrine cell': 'Gastric endocrine cell', - 'Goblet cell': 'Goblet cell', - 'Macrophage': 'Macrophage', - 'Monocyte': 'Monocyte', - 'Primordial germ cell': 'Primordial germ cell', - 'Smooth muscle cell': 'Smooth muscle cell', - 'Stratified epithelial cell': 'Stratified epithelial cell', - 'Stromal cell': 'Stromal cell', - 'T cell': 'T cell', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "prostate", "hcl_AdultProstate_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/rectum/__init__.py b/sfaira/data/human/rectum/__init__.py deleted file mode 100644 index a341faa2e..000000000 --- a/sfaira/data/human/rectum/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_rectum import DatasetGroupRectum diff --git a/sfaira/data/human/rectum/external.py b/sfaira/data/human/rectum/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/rectum/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/rectum/human_rectum.py b/sfaira/data/human/rectum/human_rectum.py deleted file mode 100644 index be4385732..000000000 --- a/sfaira/data/human/rectum/human_rectum.py +++ /dev/null @@ -1,28 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_rectum_2019_10x_wang_001 import Dataset as Dataset0001 -from .human_rectum_2020_microwell_han_001 import Dataset as Dataset0002 - - -class DatasetGroupRectum(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupRectum - self.datasets.update(DatasetGroupRectum().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/rectum/human_rectum_2019_10x_wang_001.py b/sfaira/data/human/rectum/human_rectum_2019_10x_wang_001.py deleted file mode 100644 index b43c3c31e..000000000 --- a/sfaira/data/human/rectum/human_rectum_2019_10x_wang_001.py +++ /dev/null @@ -1,73 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import numpy as np -import scipy.sparse - - -class Dataset(DatasetBase): - """ - This data loader directly processes the raw data file which can be obtained from the `download_website` attribute of - this class. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_rectum_2019_10x_wang_001_10.1084/jem.20191130" - self.download_website = "https://covid19.cog.sanger.ac.uk/wang20_rectum.processed.h5ad" - self.organ = "rectum" - self.sub_tissue = "rectum" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Progenitor': 'Enterocyte progenitor', - 'Goblet': 'Goblet', - 'Enterocyte': 'Enterocyte', - 'Paneth-like': 'Paneth-like', - 'Stem Cell': 'Stem Cell', - 'TA': 'TA', - 'Enteriendocrine': 'Enteroendocrine', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "rectum", "wang20_rectum.processed.h5ad") - self.adata = anndata.read(fn) - self.adata.X = np.expm1(self.adata.X) - self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['n_counts'].values[:, None]))\ - .multiply(1/10000) - - self.adata.uns["lab"] = "Chen" - self.adata.uns["year"] = 2019 - self.adata.uns["doi"] = "10.1084/jem.20191130" - self.adata.uns["protocol"] = '10x' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["cell_ontology_class"] = self.adata.obs['CellType'] - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/human/rectum/human_rectum_2020_microwell_han_001.py b/sfaira/data/human/rectum/human_rectum_2020_microwell_han_001.py deleted file mode 100644 index 2d2a04765..000000000 --- a/sfaira/data/human/rectum/human_rectum_2020_microwell_han_001.py +++ /dev/null @@ -1,76 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_rectum_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'rectum' - self.sub_tissue = 'AdultRectum' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'B cell': 'B cell', - 'B cell (Plasmocyte)': 'B cell (Plasmocyte)', - 'Dendritic cell': 'Dendritic cell', - 'Endothelial cell (APC)': 'Endothelial cell (APC)', - 'Enterocyte': 'Enterocyte', - 'Enterocyte progenitor': 'Enterocyte progenitor', - 'Epithelial cell': 'Epithelial cell', - 'Erythroid cell': 'Erythroid cell', - 'Fetal stromal cell': 'Fetal stromal cell', - 'Macrophage': 'Macrophage', - 'Mast cell': 'Mast cell', - 'Monocyte': 'Monocyte', - 'Smooth muscle cell': 'Smooth muscle cell', - 'Stromal cell': 'Stromal cell', - 'T cell': 'T cell', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "rectum", "hcl_AdultRectum_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') diff --git a/sfaira/data/human/rib/__init__.py b/sfaira/data/human/rib/__init__.py deleted file mode 100644 index e648dcc40..000000000 --- a/sfaira/data/human/rib/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_rib import DatasetGroupRib diff --git a/sfaira/data/human/rib/external.py b/sfaira/data/human/rib/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/rib/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/rib/human_rib.py b/sfaira/data/human/rib/human_rib.py deleted file mode 100644 index 60f2c6df8..000000000 --- a/sfaira/data/human/rib/human_rib.py +++ /dev/null @@ -1,28 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_rib_2020_microwell_han_001 import Dataset as Dataset0001 -from .human_rib_2020_microwell_han_002 import Dataset as Dataset0002 - - -class DatasetGroupRib(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupRib - self.datasets.update(DatasetGroupRib().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/rib/human_rib_2020_microwell_han_001.py b/sfaira/data/human/rib/human_rib_2020_microwell_han_001.py deleted file mode 100644 index 3acdface8..000000000 --- a/sfaira/data/human/rib/human_rib_2020_microwell_han_001.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_rib_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'rib' - self.sub_tissue = 'FetalRib' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "rib", "hcl_FetalRib_2.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/rib/human_rib_2020_microwell_han_002.py b/sfaira/data/human/rib/human_rib_2020_microwell_han_002.py deleted file mode 100644 index 25d4aa329..000000000 --- a/sfaira/data/human/rib/human_rib_2020_microwell_han_002.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_rib_2020_microwell_han_002_10.1038/s41586-020-2157-4" - self.organ = 'rib' - self.sub_tissue = 'FetalRib' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "rib", "hcl_FetalRib_3.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/skin/__init__.py b/sfaira/data/human/skin/__init__.py deleted file mode 100644 index 78ccff527..000000000 --- a/sfaira/data/human/skin/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_skin import DatasetGroupSkin diff --git a/sfaira/data/human/skin/external.py b/sfaira/data/human/skin/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/skin/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/skin/human_skin.py b/sfaira/data/human/skin/human_skin.py deleted file mode 100644 index 16887b9dd..000000000 --- a/sfaira/data/human/skin/human_skin.py +++ /dev/null @@ -1,28 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_skin_2020_microwell_han_001 import Dataset as Dataset0001 -from .human_skin_2020_microwell_han_002 import Dataset as Dataset0002 - - -class DatasetGroupSkin(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupSkin - self.datasets.update(DatasetGroupSkin().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/skin/human_skin_2020_microwell_han_001.py b/sfaira/data/human/skin/human_skin_2020_microwell_han_001.py deleted file mode 100644 index 9890e2e45..000000000 --- a/sfaira/data/human/skin/human_skin_2020_microwell_han_001.py +++ /dev/null @@ -1,91 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_skin_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'skin' - self.sub_tissue = 'FetalSkin' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'B cell': 'B cell', - 'Basal cell': 'Basal cell', - 'CB CD34+': 'CB CD34+', - 'Dendritic cell': 'Dendritic cell', - 'Endothelial cell': 'Endothelial cell', - 'Endothelial cell (APC)': 'Endothelial cell (APC)', - 'Epithelial cell': 'Epithelial cell', - 'Erythroid cell': 'Erythroid cell', - 'Erythroid progenitor cell (RP high)': 'Erythroid progenitor cell (RP high)', - 'Fetal Neuron': 'Fetal Neuron', - 'Fetal epithelial progenitor': 'Fetal epithelial progenitor', - 'Fetal fibroblast': 'Fetal fibroblast', - 'Fetal mesenchymal progenitor': 'Fetal mesenchymal progenitor', - 'Fetal skeletal muscle cell': 'Fetal skeletal muscle cell', - 'Fetal stromal cell': 'Fetal stromal cell', - 'Fibroblast': 'Fibroblast', - 'Kidney intercalated cell': 'Kidney intercalated cell', - 'Macrophage': 'Macrophage', - 'Mast cell': 'Mast cell', - 'Monocyte': 'Monocyte', - 'Neutrophil': 'Neutrophil', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Primordial germ cell': 'Primordial germ cell', - 'Proliferating T cell': 'Proliferating T cell', - 'Smooth muscle cell': 'Smooth muscle cell', - 'Stromal cell': 'Stromal cell', - 'T cell': 'T cell', - 'hESC': 'hESC', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "skin", "hcl_FetalSkin_2.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/skin/human_skin_2020_microwell_han_002.py b/sfaira/data/human/skin/human_skin_2020_microwell_han_002.py deleted file mode 100644 index fe0bdb272..000000000 --- a/sfaira/data/human/skin/human_skin_2020_microwell_han_002.py +++ /dev/null @@ -1,91 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_skin_2020_microwell_han_002_10.1038/s41586-020-2157-4" - self.organ = 'skin' - self.sub_tissue = 'FetalSkin' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'B cell': 'B cell', - 'Basal cell': 'Basal cell', - 'CB CD34+': 'CB CD34+', - 'Dendritic cell': 'Dendritic cell', - 'Endothelial cell': 'Endothelial cell', - 'Endothelial cell (APC)': 'Endothelial cell (APC)', - 'Epithelial cell': 'Epithelial cell', - 'Erythroid cell': 'Erythroid cell', - 'Erythroid progenitor cell (RP high)': 'Erythroid progenitor cell (RP high)', - 'Fetal Neuron': 'Fetal Neuron', - 'Fetal epithelial progenitor': 'Fetal epithelial progenitor', - 'Fetal fibroblast': 'Fetal fibroblast', - 'Fetal mesenchymal progenitor': 'Fetal mesenchymal progenitor', - 'Fetal skeletal muscle cell': 'Fetal skeletal muscle cell', - 'Fetal stromal cell': 'Fetal stromal cell', - 'Fibroblast': 'Fibroblast', - 'Kidney intercalated cell': 'Kidney intercalated cell', - 'Macrophage': 'Macrophage', - 'Mast cell': 'Mast cell', - 'Monocyte': 'Monocyte', - 'Neutrophil': 'Neutrophil', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Primordial germ cell': 'Primordial germ cell', - 'Proliferating T cell': 'Proliferating T cell', - 'Smooth muscle cell': 'Smooth muscle cell', - 'Stromal cell': 'Stromal cell', - 'T cell': 'T cell', - 'hESC': 'hESC', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "skin", "hcl_FetalSkin_3.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/spinalcord/__init__.py b/sfaira/data/human/spinalcord/__init__.py deleted file mode 100644 index 449651e79..000000000 --- a/sfaira/data/human/spinalcord/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_spinalcord import DatasetGroupSpinalcord diff --git a/sfaira/data/human/spinalcord/external.py b/sfaira/data/human/spinalcord/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/spinalcord/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/spinalcord/human_spinalcord.py b/sfaira/data/human/spinalcord/human_spinalcord.py deleted file mode 100644 index b56b23b34..000000000 --- a/sfaira/data/human/spinalcord/human_spinalcord.py +++ /dev/null @@ -1,26 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_spinalcord_2020_microwell_han_001 import Dataset as Dataset0001 - - -class DatasetGroupSpinalcord(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupSpinalcord - self.datasets.update(DatasetGroupSpinalcord().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/spinalcord/human_spinalcord_2020_microwell_han_001.py b/sfaira/data/human/spinalcord/human_spinalcord_2020_microwell_han_001.py deleted file mode 100644 index 53403c020..000000000 --- a/sfaira/data/human/spinalcord/human_spinalcord_2020_microwell_han_001.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_spinalcord_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'spinalcord' - self.sub_tissue = 'FetalSpinalCord' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "spinalcord", "hcl_FetalSpinalCord_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/spleen/__init__.py b/sfaira/data/human/spleen/__init__.py deleted file mode 100644 index 88890eff3..000000000 --- a/sfaira/data/human/spleen/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_spleen import DatasetGroupSpleen diff --git a/sfaira/data/human/spleen/external.py b/sfaira/data/human/spleen/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/spleen/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/spleen/human_spleen.py b/sfaira/data/human/spleen/human_spleen.py deleted file mode 100644 index 0ca8ab386..000000000 --- a/sfaira/data/human/spleen/human_spleen.py +++ /dev/null @@ -1,30 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_spleen_2019_10x_madissoon_001 import Dataset as Dataset0001 -from .human_spleen_2020_microwell_han_001 import Dataset as Dataset0002 -from .human_spleen_2020_microwell_han_002 import Dataset as Dataset0003 - - -class DatasetGroupSpleen(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupSpleen - self.datasets.update(DatasetGroupSpleen().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/spleen/human_spleen_2019_10x_madissoon_001.py b/sfaira/data/human/spleen/human_spleen_2019_10x_madissoon_001.py deleted file mode 100644 index ac6a7f2f2..000000000 --- a/sfaira/data/human/spleen/human_spleen_2019_10x_madissoon_001.py +++ /dev/null @@ -1,95 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import scipy.sparse - - -class Dataset(DatasetBase): - """ - This data loader directly processes the raw data file which can be obtained from the `download_website` attribute of - this class. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_spleen_2019_10x_madissoon_001_10.1101/741405" - self.download_website = "https://cellgeni.cog.sanger.ac.uk/tissue-stability/tissue-stability/spleen.cellxgene.h5ad" - self.download_website_meta = None - self.organ = "spleen" - self.sub_tissue = "spleen" - self.has_celltypes = True - - self.class_maps = { - "0": { - "B_Hypermutation": "B_Hypermutation", - "B_T_doublet": "B_T_doublet", - "B_follicular": "B_follicular", - "B_mantle": "B_mantle", - "CD34_progenitor": "CD34_progenitor", - "DC_1": "DC_1", - "DC_2": "DC_2", - "DC_activated": "DC_activated", - "DC_plasmacytoid": "DC_plasmacytoid", - "ILC": "ILC", - "Macrophage": "Macrophage", - "Monocyte": "Monocyte", - "NK_CD160pos": "NK_CD160pos", - "NK_FCGR3Apos": "NK_FCGR3Apos", - "NK_dividing": "NK_dividing", - "Plasma_IgG": "Plasma_IgG", - "Plasma_IgM": "Plasma_IgM", - "Plasmablast": "Plasmablast", - "Platelet": "Platelet", - "T_CD4_conv": "T_CD4_conv", - "T_CD4_fh": "T_CD4_fh", - "T_CD4_naive": "T_CD4_naive", - "T_CD4_reg": "T_CD4_reg", - "T_CD8_CTL": "T_CD8_CTL", - "T_CD8_MAIT": "T_CD8_MAIT", - "T_CD8_activated": "T_CD8_activated", - "T_CD8_gd": "T_CD8_gd", - "T_cell_dividing": "Proliferating T cell", - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "spleen", "spleen.cellxgene.h5ad") - self.adata = anndata.read(fn) - self.adata.X = self.adata.X.multiply(scipy.sparse.csc_matrix(self.adata.obs['n_counts'].values[:, None]))\ - .multiply(1/10000) - - self.adata.uns["lab"] = "Meyer" - self.adata.uns["year"] = 2019 - self.adata.uns["doi"] = "10.1101/741405" - self.adata.uns["protocol"] = "10x" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - - self.adata.obs["cell_ontology_class"] = self.adata.obs['Celltypes'] - self.set_unkown_class_id(ids=["Unknown"]) - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col='gene_ids-HCATisStab7463846', - new_index='ensembl') diff --git a/sfaira/data/human/spleen/human_spleen_2020_microwell_han_001.py b/sfaira/data/human/spleen/human_spleen_2020_microwell_han_001.py deleted file mode 100644 index 598a5cdca..000000000 --- a/sfaira/data/human/spleen/human_spleen_2020_microwell_han_001.py +++ /dev/null @@ -1,82 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_spleen_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'Spleen' - self.sub_tissue = 'AdultSpleen' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'B cell (Plasmocyte)': 'B cell (Plasmocyte)', - 'Neutrophil': 'Neutrophil', - 'Endothelial cell (APC)': 'Endothelial cell (APC)', - 'B cell': 'B cell', - 'Macrophage': 'Macrophage', - 'T cell': 'T cell', - 'Erythroid progenitor cell (RP high)': 'Erythroid progenitor cell (RP high)', - 'Dendritic cell': 'Dendritic cell', - 'CB CD34+': 'CB CD34+', - 'Erythroid cell': 'Erythroid cell', - 'Monocyte': 'Monocyte', - 'Endothelial cell': 'Endothelial cell', - 'Sinusoidal endothelial cell': 'Sinusoidal endothelial cell', - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'Fetal epithelial progenitor': 'Fetal epithelial progenitor', - 'Proliferating T cell': 'Proliferating T cell', - 'Fibroblast': 'Fibroblast', - 'Stromal cell': 'Stromal cell', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Mast cell': 'Mast cell', - 'Smooth muscle cell': 'Smooth muscle cell', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "spleen", "hcl_AdultSpleenParenchyma_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') diff --git a/sfaira/data/human/spleen/human_spleen_2020_microwell_han_002.py b/sfaira/data/human/spleen/human_spleen_2020_microwell_han_002.py deleted file mode 100644 index 8b5fb9e5e..000000000 --- a/sfaira/data/human/spleen/human_spleen_2020_microwell_han_002.py +++ /dev/null @@ -1,82 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_spleen_2020_microwell_han_002_10.1038/s41586-020-2157-4" - self.organ = 'Spleen' - self.sub_tissue = 'AdultSpleen' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'B cell (Plasmocyte)': 'B cell (Plasmocyte)', - 'Neutrophil': 'Neutrophil', - 'Endothelial cell (APC)': 'Endothelial cell (APC)', - 'B cell': 'B cell', - 'Macrophage': 'Macrophage', - 'T cell': 'T cell', - 'Erythroid progenitor cell (RP high)': 'Erythroid progenitor cell (RP high)', - 'Dendritic cell': 'Dendritic cell', - 'CB CD34+': 'CB CD34+', - 'Erythroid cell': 'Erythroid cell', - 'Monocyte': 'Monocyte', - 'Endothelial cell': 'Endothelial cell', - 'Sinusoidal endothelial cell': 'Sinusoidal endothelial cell', - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'Fetal epithelial progenitor': 'Fetal epithelial progenitor', - 'Proliferating T cell': 'Proliferating T cell', - 'Fibroblast': 'Fibroblast', - 'Stromal cell': 'Stromal cell', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Mast cell': 'Mast cell', - 'Smooth muscle cell': 'Smooth muscle cell', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "spleen", "hcl_AdultSpleen_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') diff --git a/sfaira/data/human/stomach/__init__.py b/sfaira/data/human/stomach/__init__.py deleted file mode 100644 index 0ba1dc728..000000000 --- a/sfaira/data/human/stomach/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_stomach import DatasetGroupStomach diff --git a/sfaira/data/human/stomach/external.py b/sfaira/data/human/stomach/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/stomach/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/stomach/human_stomach.py b/sfaira/data/human/stomach/human_stomach.py deleted file mode 100644 index 0121077f9..000000000 --- a/sfaira/data/human/stomach/human_stomach.py +++ /dev/null @@ -1,44 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_stomach_2020_microwell_han_001 import Dataset as Dataset0001 -from .human_stomach_2020_microwell_han_002 import Dataset as Dataset0002 -from .human_stomach_2020_microwell_han_003 import Dataset as Dataset0003 -from .human_stomach_2020_microwell_han_004 import Dataset as Dataset0004 -from .human_stomach_2020_microwell_han_005 import Dataset as Dataset0005 -from .human_stomach_2020_microwell_han_006 import Dataset as Dataset0006 -from .human_stomach_2020_microwell_han_007 import Dataset as Dataset0007 -from .human_stomach_2020_microwell_han_008 import Dataset as Dataset0008 -from .human_stomach_2020_microwell_han_009 import Dataset as Dataset0009 -from .human_stomach_2020_microwell_han_010 import Dataset as Dataset0010 - - -class DatasetGroupStomach(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path), - Dataset0004(path=path, meta_path=meta_path), - Dataset0005(path=path, meta_path=meta_path), - Dataset0006(path=path, meta_path=meta_path), - Dataset0007(path=path, meta_path=meta_path), - Dataset0008(path=path, meta_path=meta_path), - Dataset0009(path=path, meta_path=meta_path), - Dataset0010(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupStomach - self.datasets.update(DatasetGroupStomach().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_001.py b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_001.py deleted file mode 100644 index 325d4bb96..000000000 --- a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_001.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_stomach_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'stomach' - self.sub_tissue = 'AdultStomach' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "stomach", "hcl_AdultStomach_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_002.py b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_002.py deleted file mode 100644 index 31374f5fc..000000000 --- a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_002.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_stomach_2020_microwell_han_002_10.1038/s41586-020-2157-4" - self.organ = 'stomach' - self.sub_tissue = 'FetalStomach' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "stomach", "hcl_FetalStomach_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_003.py b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_003.py deleted file mode 100644 index c95880899..000000000 --- a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_003.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_stomach_2020_microwell_han_003_10.1038/s41586-020-2157-4" - self.organ = 'stomach' - self.sub_tissue = 'FetalIntestine' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "stomach", "hcl_FetalIntestine_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_004.py b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_004.py deleted file mode 100644 index 1adb4202e..000000000 --- a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_004.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_stomach_2020_microwell_han_004_10.1038/s41586-020-2157-4" - self.organ = 'stomach' - self.sub_tissue = 'FetalIntestine' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "stomach", "hcl_FetalIntetsine_3.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_005.py b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_005.py deleted file mode 100644 index 5e8d241ac..000000000 --- a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_005.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_stomach_2020_microwell_han_005_10.1038/s41586-020-2157-4" - self.organ = 'stomach' - self.sub_tissue = 'FetalStomach' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "stomach", "hcl_FetalStomach_2.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_006.py b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_006.py deleted file mode 100644 index 7a32f80fd..000000000 --- a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_006.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_stomach_2020_microwell_han_006_10.1038/s41586-020-2157-4" - self.organ = 'stomach' - self.sub_tissue = 'FetalIntestine' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "stomach", "hcl_FetalIntestine_2.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_007.py b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_007.py deleted file mode 100644 index 33508412a..000000000 --- a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_007.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_stomach_2020_microwell_han_007_10.1038/s41586-020-2157-4" - self.organ = 'stomach' - self.sub_tissue = 'FetalIntestine' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "stomach", "hcl_FetalIntestine_5.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_008.py b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_008.py deleted file mode 100644 index 85b44f52e..000000000 --- a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_008.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_stomach_2020_microwell_han_008_10.1038/s41586-020-2157-4" - self.organ = 'stomach' - self.sub_tissue = 'AdultStomach' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "stomach", "hcl_AdultStomach_3.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_009.py b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_009.py deleted file mode 100644 index 55aa7a61f..000000000 --- a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_009.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_stomach_2020_microwell_han_009_10.1038/s41586-020-2157-4" - self.organ = 'stomach' - self.sub_tissue = 'AdultStomach' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "stomach", "hcl_AdultStomach_2.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_010.py b/sfaira/data/human/stomach/human_stomach_2020_microwell_han_010.py deleted file mode 100644 index 761cfe5e1..000000000 --- a/sfaira/data/human/stomach/human_stomach_2020_microwell_han_010.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_stomach_2020_microwell_han_010_10.1038/s41586-020-2157-4" - self.organ = 'stomach' - self.sub_tissue = 'FetalIntestine' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "stomach", "hcl_FetalIntestine_4.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/thymus/__init__.py b/sfaira/data/human/thymus/__init__.py deleted file mode 100644 index 1d0720e38..000000000 --- a/sfaira/data/human/thymus/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_thymus import DatasetGroupThymus diff --git a/sfaira/data/human/thymus/external.py b/sfaira/data/human/thymus/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/thymus/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/thymus/human_thymus.py b/sfaira/data/human/thymus/human_thymus.py deleted file mode 100644 index 1e592a837..000000000 --- a/sfaira/data/human/thymus/human_thymus.py +++ /dev/null @@ -1,30 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_thymus_2020_10x_park_001 import Dataset as Dataset0001 -from .human_thymus_2020_microwell_han_001 import Dataset as Dataset0002 -from .human_thymus_2020_microwell_han_002 import Dataset as Dataset0003 - - -class DatasetGroupThymus(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupThymus - self.datasets.update(DatasetGroupThymus().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/thymus/human_thymus_2020_10x_park_001.py b/sfaira/data/human/thymus/human_thymus_2020_10x_park_001.py deleted file mode 100644 index 7e4699af0..000000000 --- a/sfaira/data/human/thymus/human_thymus_2020_10x_park_001.py +++ /dev/null @@ -1,108 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata -import numpy as np - - -class Dataset(DatasetBase): - """ - This data loader directly processes the raw data file which can be obtained from the `download_website` attribute of - this class. - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_thymus_2020_10x_park_001_10.1126/science.aay3224" - self.download_website = "https://covid19.cog.sanger.ac.uk/park20.processed.h5ad" - self.download_website_meta = None - self.organ = "thymus" - self.sub_tissue = "fetal thymus" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'B_memory': 'B_memory', - 'B_naive': 'B_naive', - 'B_plasma': 'B_plasma', - 'B_pro/pre': 'B_pro/pre', - 'CD4+T': 'CD4+T', - 'CD4+Tmem': 'CD4+Tmem', - 'CD8+T': 'CD8+T', - 'CD8+Tmem': 'CD8+Tmem', - 'CD8αα': 'CD8αα', - 'DC1': 'DC1', - 'DC2': 'DC2', - 'DN': 'DN', - 'DP': 'DP', - 'ETP': 'ETP', - 'Endo': 'Endo', - 'Epi_GCM2': 'Epi_GCM2', - 'Ery': 'Ery', - 'Fb_1': 'Fb_1', - 'Fb_2': 'Fb_2', - 'Fb_cycling': 'Fb_cycling', - 'ILC3': 'ILC3', - 'Lymph': 'Lymph', - 'Mac': 'Mac', - 'Mast': 'Mast', - 'Mgk': 'Mgk', - 'Mono': 'Mono', - 'NK': 'NK', - 'NKT': 'NKT', - 'NMP': 'NMP', - 'T(agonist)': 'T(agonist)', - 'TEC(myo)': 'TEC(myo)', - 'TEC(neuro)': 'TEC(neuro)', - 'Treg': 'Treg', - 'VSMC': 'VSMC', - 'aDC': 'aDC', - 'cTEC': 'cTEC', - 'mTEC(I)': 'mTEC(I)', - 'mTEC(II)': 'mTEC(II)', - 'mTEC(III)': 'mTEC(III)', - 'mTEC(IV)': 'mTEC(IV)', - 'mcTEC': 'mcTEC', - 'pDC': 'pDC', - 'αβT(entry)': 'alpha_beta_T(entry)', - 'γδT': 'gamma_delta_T', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "thymus", "park20.processed.h5ad") - self.adata = anndata.read(fn) - self.adata.X = np.expm1(self.adata.X) - - self.adata.uns["lab"] = "Teichmann" - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = "10.1126/science.aay3224" - self.adata.uns["protocol"] = '10x' - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - - self.adata.obs["cell_ontology_class"] = self.adata.obs['Anno_level_fig1'] - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = 'healthy' - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/human/thymus/human_thymus_2020_microwell_han_001.py b/sfaira/data/human/thymus/human_thymus_2020_microwell_han_001.py deleted file mode 100644 index 427207c52..000000000 --- a/sfaira/data/human/thymus/human_thymus_2020_microwell_han_001.py +++ /dev/null @@ -1,75 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_thymus_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'thymus' - self.sub_tissue = 'FetalThymus' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'B cell': 'B cell', - 'CB CD34+': 'CB CD34+', - 'Dendritic cell': 'Dendritic cell', - 'Erythroid cell': 'Ery', - 'Erythroid progenitor cell (RP high)': 'Ery', - 'Fetal epithelial progenitor': 'Fetal epithelial progenitor', - 'Macrophage': 'Mac', - 'Monocyte': 'Mono', - 'Neutrophil': 'Neutrophil', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Proliferating T cell': 'Proliferating T cell', - 'T cell': 'T cell', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "thymus", "hcl_FetalThymus_2.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/thymus/human_thymus_2020_microwell_han_002.py b/sfaira/data/human/thymus/human_thymus_2020_microwell_han_002.py deleted file mode 100644 index f2d3a4b52..000000000 --- a/sfaira/data/human/thymus/human_thymus_2020_microwell_han_002.py +++ /dev/null @@ -1,75 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_thymus_2020_microwell_han_002_10.1038/s41586-020-2157-4" - self.organ = 'thymus' - self.sub_tissue = 'FetalThymus' - self.dev_stage = 'Fetus' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Antigen presenting cell (RPS high)': 'Antigen presenting cell (RPS high)', - 'B cell': 'B cell', - 'CB CD34+': 'CB CD34+', - 'Dendritic cell': 'Dendritic cell', - 'Erythroid cell': 'Ery', - 'Erythroid progenitor cell (RP high)': 'Ery', - 'Fetal epithelial progenitor': 'Fetal epithelial progenitor', - 'Macrophage': 'Mac', - 'Monocyte': 'Mono', - 'Neutrophil': 'Neutrophil', - 'Neutrophil (RPS high)': 'Neutrophil (RPS high)', - 'Proliferating T cell': 'Proliferating T cell', - 'T cell': 'T cell', - }, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "thymus", "hcl_FetalThymus_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/thyroid/__init__.py b/sfaira/data/human/thyroid/__init__.py deleted file mode 100644 index 5a20c5cab..000000000 --- a/sfaira/data/human/thyroid/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_thyroid import DatasetGroupThyroid diff --git a/sfaira/data/human/thyroid/external.py b/sfaira/data/human/thyroid/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/thyroid/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/thyroid/human_thyroid.py b/sfaira/data/human/thyroid/human_thyroid.py deleted file mode 100644 index 0a8cc4e0d..000000000 --- a/sfaira/data/human/thyroid/human_thyroid.py +++ /dev/null @@ -1,28 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_thyroid_2020_microwell_han_001 import Dataset as Dataset0001 -from .human_thyroid_2020_microwell_han_002 import Dataset as Dataset0002 - - -class DatasetGroupThyroid(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupThyroid - self.datasets.update(DatasetGroupThyroid().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/thyroid/human_thyroid_2020_microwell_han_001.py b/sfaira/data/human/thyroid/human_thyroid_2020_microwell_han_001.py deleted file mode 100644 index 9a97c315e..000000000 --- a/sfaira/data/human/thyroid/human_thyroid_2020_microwell_han_001.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_thyroid_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'thyroid' - self.sub_tissue = 'AdultThyroid' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "thyroid", "hcl_AdultThyroid_2.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/thyroid/human_thyroid_2020_microwell_han_002.py b/sfaira/data/human/thyroid/human_thyroid_2020_microwell_han_002.py deleted file mode 100644 index 5bae70ef3..000000000 --- a/sfaira/data/human/thyroid/human_thyroid_2020_microwell_han_002.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_thyroid_2020_microwell_han_002_10.1038/s41586-020-2157-4" - self.organ = 'thyroid' - self.sub_tissue = 'AdultThyroid' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "thyroid", "hcl_AdultThyroid_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/trachea/__init__.py b/sfaira/data/human/trachea/__init__.py deleted file mode 100644 index 4778fdb5e..000000000 --- a/sfaira/data/human/trachea/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_trachea import DatasetGroupTrachea diff --git a/sfaira/data/human/trachea/external.py b/sfaira/data/human/trachea/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/trachea/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/trachea/human_trachea.py b/sfaira/data/human/trachea/human_trachea.py deleted file mode 100644 index 6ba918535..000000000 --- a/sfaira/data/human/trachea/human_trachea.py +++ /dev/null @@ -1,26 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_trachea_2020_microwell_han_001 import Dataset as Dataset0001 - - -class DatasetGroupTrachea(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupTrachea - self.datasets.update(DatasetGroupTrachea().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/trachea/human_trachea_2020_microwell_han_001.py b/sfaira/data/human/trachea/human_trachea_2020_microwell_han_001.py deleted file mode 100644 index cc107189a..000000000 --- a/sfaira/data/human/trachea/human_trachea_2020_microwell_han_001.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_trachea_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'trachea' - self.sub_tissue = 'AdultTrachea' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "trachea", "hcl_AdultTrachea_2.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/ureter/__init__.py b/sfaira/data/human/ureter/__init__.py deleted file mode 100644 index 0d19170e9..000000000 --- a/sfaira/data/human/ureter/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_ureter import DatasetGroupUreter diff --git a/sfaira/data/human/ureter/external.py b/sfaira/data/human/ureter/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/ureter/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/ureter/human_ureter.py b/sfaira/data/human/ureter/human_ureter.py deleted file mode 100644 index 452153557..000000000 --- a/sfaira/data/human/ureter/human_ureter.py +++ /dev/null @@ -1,26 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_ureter_2020_microwell_han_001 import Dataset as Dataset0001 - - -class DatasetGroupUreter(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupUreter - self.datasets.update(DatasetGroupUreter().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/ureter/human_ureter_2020_microwell_han_001.py b/sfaira/data/human/ureter/human_ureter_2020_microwell_han_001.py deleted file mode 100644 index a9dd3d9a7..000000000 --- a/sfaira/data/human/ureter/human_ureter_2020_microwell_han_001.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_ureter_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'ureter' - self.sub_tissue = 'AdultUreter' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "ureter", "hcl_AdultUreter_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/human/uterus/__init__.py b/sfaira/data/human/uterus/__init__.py deleted file mode 100644 index 3c82a964f..000000000 --- a/sfaira/data/human/uterus/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .human_uterus import DatasetGroupUterus diff --git a/sfaira/data/human/uterus/external.py b/sfaira/data/human/uterus/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/human/uterus/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/human/uterus/human_uterus.py b/sfaira/data/human/uterus/human_uterus.py deleted file mode 100644 index 4d8789bff..000000000 --- a/sfaira/data/human/uterus/human_uterus.py +++ /dev/null @@ -1,26 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .human_uterus_2020_microwell_han_001 import Dataset as Dataset0001 - - -class DatasetGroupUterus(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.human import DatasetGroupUterus - self.datasets.update(DatasetGroupUterus().datasets) - except ImportError: - pass diff --git a/sfaira/data/human/uterus/human_uterus_2020_microwell_han_001.py b/sfaira/data/human/uterus/human_uterus_2020_microwell_han_001.py deleted file mode 100644 index 461154bd4..000000000 --- a/sfaira/data/human/uterus/human_uterus_2020_microwell_han_001.py +++ /dev/null @@ -1,61 +0,0 @@ -import os -from typing import Union -from .external import DatasetBase -import anndata - - -class Dataset(DatasetBase): - """ - This is a dataloader for a the Human Cell Landscape dataset (Han et al. 2020. doi: 10.1038/s41586-020-2157-4). - In order to obtain the required preprocessed datafiles, please use the notebook provided in this repository under: - sfaira/data/download_scripts/get_and_preprocess_HumanCellLandscape.ipynb - - :param path: - :param meta_path: - :param kwargs: - """ - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "human" - self.id = "human_uterus_2020_microwell_han_001_10.1038/s41586-020-2157-4" - self.organ = 'uterus' - self.sub_tissue = 'AdultUterus' - self.dev_stage = 'Adult' - self.download_website = 'https://figshare.com/articles/HCL_DGE_Data/7235471' - self.download_website_meta = None - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None and self.path is None: - raise ValueError("provide either fn in load or path in constructor") - - if self._load_raw or not self._load_raw: - if fn is None: - fn = os.path.join(self.path, "human", "uterus", "hcl_AdultUterus_1.h5ad") - self.adata = anndata.read(fn) - - self.adata.uns["lab"] = 'Guo' - self.adata.uns["year"] = 2020 - self.adata.uns["doi"] = '10.1038/s41586-020-2157-4' - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "human" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.uns["dev_stage"] = self.dev_stage - - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - diff --git a/sfaira/data/interactive/external.py b/sfaira/data/interactive/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/interactive/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/interactive/loader.py b/sfaira/data/interactive/loader.py index 45e6b6d8a..9df419c7a 100644 --- a/sfaira/data/interactive/loader.py +++ b/sfaira/data/interactive/loader.py @@ -1,6 +1,7 @@ import anndata from typing import Union -from .external import DatasetBase + +from sfaira.data import DatasetBase class DatasetInteractive(DatasetBase): @@ -8,37 +9,79 @@ class DatasetInteractive(DatasetBase): def __init__( self, data: anndata.AnnData, - species: str, + organism: str, organ: str, gene_symbol_col: Union[str, None] = 'index', gene_ens_col: Union[str, None] = None, + obs_key_celltypes: Union[str, None] = None, class_maps: dict = {}, - dataset_id: str = "interactive", - **kwargs + dataset_id: str = "interactive_dataset", + data_path: Union[str, None] = ".", + meta_path: Union[str, None] = ".", + cache_path: Union[str, None] = ".", ): """ + Load data set into sfaira data format. - :param data: - :param species: - :param organ: - :param class_maps: - :param id: - :param kwargs: + :param data: Data set. + :param organism: Organism of data set. + :param organ: Organ of data set. + :param gene_symbol_col: Column name in .var which contains gene symbols. Set to "index" to use the index. + :param gene_ens_col: Column name in .var which contains ENSG symbols. Set to "index" to use the index. + :param obs_key_celltypes: .obs column name which contains cell type labels. + :param class_maps: Cell type class maps. + :param dataset_id: Identifer of data set. + :param data_path: + :param meta_path: + :param cache_path: """ - DatasetBase.__init__(self=self, path=None, meta_path=None, **kwargs) - self.adata = data - self.species = species + super().__init__(data_path=data_path, meta_path=meta_path, cache_path=cache_path) self.id = dataset_id + + self.author = "interactive_dataset" + self.doi = "interactive_dataset" + + self.download_url_data = "." + self.download_url_meta = "." + + # self.age # not currently supported + # self.assay_sc # not currently supported + # self.assay_differentiation # not currently supported + # self.assay_type_differentiation # not currently supported + # self.cell_line # not currently supported + # self.dev_stage # not currently supported + # self.ethnicity # not currently supported + # self.healthy # not currently supported + # self.normalisation # not currently supported self.organ = organ + self.organism = organism + # self.sample_source # not currently supported + # self.sex # not currently supported + # self.state_exact # not currently supported + # self.year # not currently supported - self.gene_symbol_col = gene_symbol_col - self.gene_ensg_col = gene_ens_col + self.obs_key_cell_types_original = obs_key_celltypes + + # self.obs_key_age # not currently supported + # self.obs_key_assay_sc # not currently supported + # self.obs_key_assay_differentiation # not currently supported + # self.obs_key_assay_type_differentiation # not currently supported + # self.obs_key_cell_line # not currently supported + # self.obs_key_dev_stage # not currently supported + # self.obs_key_ethnicity # not currently supported + # self.obs_key_healthy # not currently supported + # self.obs_key_organ # not currently supported + # self.obs_key_organism # not currently supported + # self.obs_key_sample_source # not currently supported + # self.obs_key_sex # not currently supported + # self.obs_key_state_exact # not currently supported + + self.gene_id_symbols_var_key = gene_symbol_col + self.gene_id_ensembl_var_key = gene_ens_col self.class_maps = class_maps - def _load(self, fn=None): - self._convert_and_set_var_names( - symbol_col=self.gene_symbol_col, - ensembl_col=self.gene_ensg_col, - new_index='ensembl' - ) + self.adata = data + + def _load(self): + pass diff --git a/sfaira/data/mouse/__init__.py b/sfaira/data/mouse/__init__.py deleted file mode 100644 index f1063a851..000000000 --- a/sfaira/data/mouse/__init__.py +++ /dev/null @@ -1,27 +0,0 @@ -from .bladder import DatasetGroupBladder -from .brain import DatasetGroupBrain -from .diaphragm import DatasetGroupDiaphragm -from .adipose import DatasetGroupAdipose -from .heart import DatasetGroupHeart -from .kidney import DatasetGroupKidney -from .colon import DatasetGroupColon -from .muscle import DatasetGroupMuscle -from .liver import DatasetGroupLiver -from .lung import DatasetGroupLung -from .mammarygland import DatasetGroupMammaryGland -from .bone import DatasetGroupBone -from .femalegonad import DatasetGroupFemalegonad -from .pancreas import DatasetGroupPancreas -from .placenta import DatasetGroupPlacenta -from .blood import DatasetGroupBlood -from .prostate import DatasetGroupProstate -from .rib import DatasetGroupRib -from .ileum import DatasetGroupIleum -from .skin import DatasetGroupSkin -from .spleen import DatasetGroupSpleen -from .stomach import DatasetGroupStomach -from .malegonad import DatasetGroupMalegonad -from .thymus import DatasetGroupThymus -from .tongue import DatasetGroupTongue -from .trachea import DatasetGroupTrachea -from .uterus import DatasetGroupUterus diff --git a/sfaira/data/mouse/adipose/__init__.py b/sfaira/data/mouse/adipose/__init__.py deleted file mode 100644 index c23acef29..000000000 --- a/sfaira/data/mouse/adipose/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_adipose import DatasetGroupAdipose \ No newline at end of file diff --git a/sfaira/data/mouse/adipose/external.py b/sfaira/data/mouse/adipose/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/mouse/adipose/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/mouse/adipose/mouse_adipose.py b/sfaira/data/mouse/adipose/mouse_adipose.py deleted file mode 100644 index 67b4ba1c2..000000000 --- a/sfaira/data/mouse/adipose/mouse_adipose.py +++ /dev/null @@ -1,34 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .mouse_adipose_2019_10x_pisco_001 import Dataset as Dataset0001 -from .mouse_adipose_2019_smartseq2_pisco_001 import Dataset as Dataset0002 -from .mouse_adipose_2019_smartseq2_pisco_002 import Dataset as Dataset0003 -from .mouse_adipose_2019_smartseq2_pisco_003 import Dataset as Dataset0004 -from .mouse_adipose_2019_smartseq2_pisco_004 import Dataset as Dataset0005 - - -class DatasetGroupAdipose(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path), - Dataset0004(path=path, meta_path=meta_path), - Dataset0005(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.mouse import DatasetGroupAdipose - self.datasets.update(DatasetGroupAdipose().datasets) - except ImportError: - pass diff --git a/sfaira/data/mouse/adipose/mouse_adipose_2019_10x_pisco_001.py b/sfaira/data/mouse/adipose/mouse_adipose_2019_10x_pisco_001.py deleted file mode 100644 index 1ce6d2f0c..000000000 --- a/sfaira/data/mouse/adipose/mouse_adipose_2019_10x_pisco_001.py +++ /dev/null @@ -1,71 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_adipose_2019_smartseq2_pisco_004_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "adipose" - self.sub_tissue = "adipose" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "adipose", "tabula-muris-senis-droplet-processed-official-annotations-Fat.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "adipose", "Fat_droplet.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - self.adata.raw = None - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "10x" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/adipose/mouse_adipose_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/adipose/mouse_adipose_2019_smartseq2_pisco_001.py deleted file mode 100644 index 1a1e6e614..000000000 --- a/sfaira/data/mouse/adipose/mouse_adipose_2019_smartseq2_pisco_001.py +++ /dev/null @@ -1,71 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_adipose_2019_smartseq2_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "adipose" - self.sub_tissue = "adipose" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "adipose", "tabula-muris-senis-facs-processed-official-annotations-BAT.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "adipose", "bat_facs.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "smartseq2" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/adipose/mouse_adipose_2019_smartseq2_pisco_002.py b/sfaira/data/mouse/adipose/mouse_adipose_2019_smartseq2_pisco_002.py deleted file mode 100644 index 7499b3ab6..000000000 --- a/sfaira/data/mouse/adipose/mouse_adipose_2019_smartseq2_pisco_002.py +++ /dev/null @@ -1,69 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_adipose_2019_smartseq2_pisco_002_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "adipose" - self.sub_tissue = "adipose" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "adipose", "tabula-muris-senis-facs-processed-official-annotations-GAT.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "adipose", "gat_facs.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "smartseq2" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/adipose/mouse_adipose_2019_smartseq2_pisco_003.py b/sfaira/data/mouse/adipose/mouse_adipose_2019_smartseq2_pisco_003.py deleted file mode 100644 index 0f0030c8c..000000000 --- a/sfaira/data/mouse/adipose/mouse_adipose_2019_smartseq2_pisco_003.py +++ /dev/null @@ -1,71 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_adipose_2019_smartseq2_pisco_003_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "adipose" - self.sub_tissue = "adipose" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "adipose", "tabula-muris-senis-facs-processed-official-annotations-MAT.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "adipose", "mat_facs.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "smartseq2" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/adipose/mouse_adipose_2019_smartseq2_pisco_004.py b/sfaira/data/mouse/adipose/mouse_adipose_2019_smartseq2_pisco_004.py deleted file mode 100644 index e74a9c555..000000000 --- a/sfaira/data/mouse/adipose/mouse_adipose_2019_smartseq2_pisco_004.py +++ /dev/null @@ -1,71 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_adipose_2019_smartseq2_pisco_004_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "adipose" - self.sub_tissue = "adipose" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "adipose", "tabula-muris-senis-facs-processed-official-annotations-SCAT.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "adipose", "scat_facs.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "smartseq2" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/bladder/__init__.py b/sfaira/data/mouse/bladder/__init__.py deleted file mode 100644 index c868320bb..000000000 --- a/sfaira/data/mouse/bladder/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_bladder import DatasetGroupBladder \ No newline at end of file diff --git a/sfaira/data/mouse/bladder/external.py b/sfaira/data/mouse/bladder/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/mouse/bladder/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/mouse/bladder/mouse_bladder.py b/sfaira/data/mouse/bladder/mouse_bladder.py deleted file mode 100644 index 2e2e655a6..000000000 --- a/sfaira/data/mouse/bladder/mouse_bladder.py +++ /dev/null @@ -1,30 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .mouse_bladder_2019_10x_pisco_001 import Dataset as Dataset0001 -from .mouse_bladder_2019_smartseq2_pisco_001 import Dataset as Dataset0002 -from .mouse_bladder_2018_microwell_han_001 import Dataset as Dataset0003 - - -class DatasetGroupBladder(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.mouse import DatasetGroupBladder - self.datasets.update(DatasetGroupBladder().datasets) - except ImportError: - pass diff --git a/sfaira/data/mouse/bladder/mouse_bladder_2018_microwell_han_001.py b/sfaira/data/mouse/bladder/mouse_bladder_2018_microwell_han_001.py deleted file mode 100644 index 34bd88625..000000000 --- a/sfaira/data/mouse/bladder/mouse_bladder_2018_microwell_han_001.py +++ /dev/null @@ -1,80 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_bladder_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "bladder" - self.sub_tissue = "bladder" - self.has_celltypes = True - - self.class_maps = { - "0": { - "Endothelial cell_Ly6c1 high(Bladder)": 'endothelial cell', - "Vascular endothelial cell(Bladder)": 'endothelial cell', - 'Urothelium(Bladder)': 'bladder urothelial cell', - 'Dendritic cell_Cd74 high(Bladder)': 'dendritic cell', - 'Dendritic cell_Lyz2 high(Bladder)': 'dendritic cell', - 'Macrophage_Pf4 high(Bladder)': 'macrophage', - 'NK cell(Bladder)': 'NK cell', - 'Basal epithelial cell(Bladder)': 'basal epithelial cell', - 'Epithelial cell_Upk3a high(Bladder)': 'epithelial cell', - 'Epithelial cell_Gm23935 high(Bladder)': 'epithelial cell', - 'Mesenchymal stromal cell(Bladder)': 'mesenchymal stromal cell', - 'Stromal cell_Dpt high(Bladder)': 'stromal cell', - 'Stromal cell_Car3 high(Bladder)': 'stromal cell', - 'Smooth muscle cell(Bladder)': 'smooth muscle cell', - 'Vascular smooth muscle progenitor cell(Bladder)': 'smooth muscle cell', - 'Umbrella cell(Bladder)': 'umbrella cell' - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Bladder_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/bladder/mouse_bladder_2019_10x_pisco_001.py b/sfaira/data/mouse/bladder/mouse_bladder_2019_10x_pisco_001.py deleted file mode 100644 index 6ae259062..000000000 --- a/sfaira/data/mouse/bladder/mouse_bladder_2019_10x_pisco_001.py +++ /dev/null @@ -1,71 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_bladder_2019_10x_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "bladder" - self.sub_tissue = "bladder" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "bladder", "tabula-muris-senis-droplet-processed-official-annotations-Bladder.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "bladder", "Bladder_droplet.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "10x" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/bladder/mouse_bladder_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/bladder/mouse_bladder_2019_smartseq2_pisco_001.py deleted file mode 100644 index c9bec9d34..000000000 --- a/sfaira/data/mouse/bladder/mouse_bladder_2019_smartseq2_pisco_001.py +++ /dev/null @@ -1,68 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_bladder_2019_smartseq2_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "bladder" - self.sub_tissue = "bladder" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "bladder", "tabula-muris-senis-facs-processed-official-annotations-Bladder.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "bladder", "Bladder_facs.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "smartseq2" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/blood/__init__.py b/sfaira/data/mouse/blood/__init__.py deleted file mode 100644 index 6b0e27f4f..000000000 --- a/sfaira/data/mouse/blood/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_blood import DatasetGroupBlood \ No newline at end of file diff --git a/sfaira/data/mouse/blood/external.py b/sfaira/data/mouse/blood/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/mouse/blood/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/mouse/blood/mouse_blood.py b/sfaira/data/mouse/blood/mouse_blood.py deleted file mode 100644 index 6098a0870..000000000 --- a/sfaira/data/mouse/blood/mouse_blood.py +++ /dev/null @@ -1,34 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .mouse_blood_2018_microwell_han_001 import Dataset as Dataset0001 -from .mouse_blood_2018_microwell_han_002 import Dataset as Dataset0002 -from .mouse_blood_2018_microwell_han_003 import Dataset as Dataset0003 -from .mouse_blood_2018_microwell_han_004 import Dataset as Dataset0004 -from .mouse_blood_2018_microwell_han_005 import Dataset as Dataset0005 - - -class DatasetGroupBlood (DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path), - Dataset0004(path=path, meta_path=meta_path), - Dataset0005(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.mouse import DatasetGroupBlood - self.datasets.update(DatasetGroupBlood().datasets) - except ImportError: - pass diff --git a/sfaira/data/mouse/blood/mouse_blood_2018_microwell_han_001.py b/sfaira/data/mouse/blood/mouse_blood_2018_microwell_han_001.py deleted file mode 100644 index 8435f9343..000000000 --- a/sfaira/data/mouse/blood/mouse_blood_2018_microwell_han_001.py +++ /dev/null @@ -1,85 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_blood_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "blood" - self.sub_tissue = "blood" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'B cell_Igha high(Peripheral_Blood)': 'B cell', - 'B cell_Ly6d high(Peripheral_Blood)': 'B cell', - 'B cell_Rps27rt high(Peripheral_Blood)': 'B cell', - 'B cell_Vpreb3 high(Peripheral_Blood)': 'B cell', - 'Basophil_Prss34 high(Peripheral_Blood)': 'basophil', - 'Dendritic cell_Siglech high(Peripheral_Blood)': 'dendritic cell', - 'Erythroblast_Car2 high(Peripheral_Blood)': 'erythroblast', - 'Erythroblast_Hba-a2 high(Peripheral_Blood)': 'erythroblast', - 'Macrophage_Ace high(Peripheral_Blood)': 'macrophage', - 'Macrophage_Flt-ps1 high(Peripheral_Blood)': 'macrophage', - 'Macrophage_Pf4 high(Peripheral_Blood)': 'macrophage', - 'Macrophage_S100a4 high(Peripheral_Blood)': 'macrophage', - 'Monocyte_Elane high(Peripheral_Blood)': 'monocyte', - 'Monocyte_F13a1 high(Peripheral_Blood)': 'monocyte', - 'NK cell_Gzma high(Peripheral_Blood)': 'NK cell', - 'Neutrophil_Camp high(Peripheral_Blood)': 'neutrophil', - 'Neutrophil_Il1b high(Peripheral_Blood)': 'neutrophil', - 'Neutrophil_Ltf high(Peripheral_Blood)': 'neutrophil', - 'Neutrophil_Retnlg high(Peripheral_Blood)': 'neutrophil', - 'T cell_Gm14303 high(Peripheral_Blood)': 'T cell', - 'T cell_Trbc2 high(Peripheral_Blood)': 'T cell' - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "PeripheralBlood1_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/blood/mouse_blood_2018_microwell_han_002.py b/sfaira/data/mouse/blood/mouse_blood_2018_microwell_han_002.py deleted file mode 100644 index 9693ae727..000000000 --- a/sfaira/data/mouse/blood/mouse_blood_2018_microwell_han_002.py +++ /dev/null @@ -1,85 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_blood_2018_microwell-seq_han_002_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "blood" - self.sub_tissue = "blood" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'B cell_Igha high(Peripheral_Blood)': 'B cell', - 'B cell_Ly6d high(Peripheral_Blood)': 'B cell', - 'B cell_Rps27rt high(Peripheral_Blood)': 'B cell', - 'B cell_Vpreb3 high(Peripheral_Blood)': 'B cell', - 'Basophil_Prss34 high(Peripheral_Blood)': 'basophil', - 'Dendritic cell_Siglech high(Peripheral_Blood)': 'dendritic cell', - 'Erythroblast_Car2 high(Peripheral_Blood)': 'erythroblast', - 'Erythroblast_Hba-a2 high(Peripheral_Blood)': 'erythroblast', - 'Macrophage_Ace high(Peripheral_Blood)': 'macrophage', - 'Macrophage_Flt-ps1 high(Peripheral_Blood)': 'macrophage', - 'Macrophage_Pf4 high(Peripheral_Blood)': 'macrophage', - 'Macrophage_S100a4 high(Peripheral_Blood)': 'macrophage', - 'Monocyte_Elane high(Peripheral_Blood)': 'monocyte', - 'Monocyte_F13a1 high(Peripheral_Blood)': 'monocyte', - 'NK cell_Gzma high(Peripheral_Blood)': 'NK cell', - 'Neutrophil_Camp high(Peripheral_Blood)': 'neutrophil', - 'Neutrophil_Il1b high(Peripheral_Blood)': 'neutrophil', - 'Neutrophil_Ltf high(Peripheral_Blood)': 'neutrophil', - 'Neutrophil_Retnlg high(Peripheral_Blood)': 'neutrophil', - 'T cell_Gm14303 high(Peripheral_Blood)': 'T cell', - 'T cell_Trbc2 high(Peripheral_Blood)': 'T cell' - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "PeripheralBlood2_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/blood/mouse_blood_2018_microwell_han_003.py b/sfaira/data/mouse/blood/mouse_blood_2018_microwell_han_003.py deleted file mode 100644 index 9d8ef9088..000000000 --- a/sfaira/data/mouse/blood/mouse_blood_2018_microwell_han_003.py +++ /dev/null @@ -1,85 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_blood_2018_microwell-seq_han_003_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "blood" - self.sub_tissue = "blood" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'B cell_Igha high(Peripheral_Blood)': 'B cell', - 'B cell_Ly6d high(Peripheral_Blood)': 'B cell', - 'B cell_Rps27rt high(Peripheral_Blood)': 'B cell', - 'B cell_Vpreb3 high(Peripheral_Blood)': 'B cell', - 'Basophil_Prss34 high(Peripheral_Blood)': 'basophil', - 'Dendritic cell_Siglech high(Peripheral_Blood)': 'dendritic cell', - 'Erythroblast_Car2 high(Peripheral_Blood)': 'erythroblast', - 'Erythroblast_Hba-a2 high(Peripheral_Blood)': 'erythroblast', - 'Macrophage_Ace high(Peripheral_Blood)': 'macrophage', - 'Macrophage_Flt-ps1 high(Peripheral_Blood)': 'macrophage', - 'Macrophage_Pf4 high(Peripheral_Blood)': 'macrophage', - 'Macrophage_S100a4 high(Peripheral_Blood)': 'macrophage', - 'Monocyte_Elane high(Peripheral_Blood)': 'monocyte', - 'Monocyte_F13a1 high(Peripheral_Blood)': 'monocyte', - 'NK cell_Gzma high(Peripheral_Blood)': 'NK cell', - 'Neutrophil_Camp high(Peripheral_Blood)': 'neutrophil', - 'Neutrophil_Il1b high(Peripheral_Blood)': 'neutrophil', - 'Neutrophil_Ltf high(Peripheral_Blood)': 'neutrophil', - 'Neutrophil_Retnlg high(Peripheral_Blood)': 'neutrophil', - 'T cell_Gm14303 high(Peripheral_Blood)': 'T cell', - 'T cell_Trbc2 high(Peripheral_Blood)': 'T cell' - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "PeripheralBlood3_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/blood/mouse_blood_2018_microwell_han_004.py b/sfaira/data/mouse/blood/mouse_blood_2018_microwell_han_004.py deleted file mode 100644 index e8b1920a1..000000000 --- a/sfaira/data/mouse/blood/mouse_blood_2018_microwell_han_004.py +++ /dev/null @@ -1,85 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_blood_2018_microwell-seq_han_004_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "blood" - self.sub_tissue = "blood" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'B cell_Igha high(Peripheral_Blood)': 'B cell', - 'B cell_Ly6d high(Peripheral_Blood)': 'B cell', - 'B cell_Rps27rt high(Peripheral_Blood)': 'B cell', - 'B cell_Vpreb3 high(Peripheral_Blood)': 'B cell', - 'Basophil_Prss34 high(Peripheral_Blood)': 'basophil', - 'Dendritic cell_Siglech high(Peripheral_Blood)': 'dendritic cell', - 'Erythroblast_Car2 high(Peripheral_Blood)': 'erythroblast', - 'Erythroblast_Hba-a2 high(Peripheral_Blood)': 'erythroblast', - 'Macrophage_Ace high(Peripheral_Blood)': 'macrophage', - 'Macrophage_Flt-ps1 high(Peripheral_Blood)': 'macrophage', - 'Macrophage_Pf4 high(Peripheral_Blood)': 'macrophage', - 'Macrophage_S100a4 high(Peripheral_Blood)': 'macrophage', - 'Monocyte_Elane high(Peripheral_Blood)': 'monocyte', - 'Monocyte_F13a1 high(Peripheral_Blood)': 'monocyte', - 'NK cell_Gzma high(Peripheral_Blood)': 'NK cell', - 'Neutrophil_Camp high(Peripheral_Blood)': 'neutrophil', - 'Neutrophil_Il1b high(Peripheral_Blood)': 'neutrophil', - 'Neutrophil_Ltf high(Peripheral_Blood)': 'neutrophil', - 'Neutrophil_Retnlg high(Peripheral_Blood)': 'neutrophil', - 'T cell_Gm14303 high(Peripheral_Blood)': 'T cell', - 'T cell_Trbc2 high(Peripheral_Blood)': 'T cell' - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "PeripheralBlood4_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/blood/mouse_blood_2018_microwell_han_005.py b/sfaira/data/mouse/blood/mouse_blood_2018_microwell_han_005.py deleted file mode 100644 index c6ab5b055..000000000 --- a/sfaira/data/mouse/blood/mouse_blood_2018_microwell_han_005.py +++ /dev/null @@ -1,85 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_blood_2018_microwell-seq_han_005_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "blood" - self.sub_tissue = "blood" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'B cell_Igha high(Peripheral_Blood)': 'B cell', - 'B cell_Ly6d high(Peripheral_Blood)': 'B cell', - 'B cell_Rps27rt high(Peripheral_Blood)': 'B cell', - 'B cell_Vpreb3 high(Peripheral_Blood)': 'B cell', - 'Basophil_Prss34 high(Peripheral_Blood)': 'basophil', - 'Dendritic cell_Siglech high(Peripheral_Blood)': 'dendritic cell', - 'Erythroblast_Car2 high(Peripheral_Blood)': 'erythroblast', - 'Erythroblast_Hba-a2 high(Peripheral_Blood)': 'erythroblast', - 'Macrophage_Ace high(Peripheral_Blood)': 'macrophage', - 'Macrophage_Flt-ps1 high(Peripheral_Blood)': 'macrophage', - 'Macrophage_Pf4 high(Peripheral_Blood)': 'macrophage', - 'Macrophage_S100a4 high(Peripheral_Blood)': 'macrophage', - 'Monocyte_Elane high(Peripheral_Blood)': 'monocyte', - 'Monocyte_F13a1 high(Peripheral_Blood)': 'monocyte', - 'NK cell_Gzma high(Peripheral_Blood)': 'NK cell', - 'Neutrophil_Camp high(Peripheral_Blood)': 'neutrophil', - 'Neutrophil_Il1b high(Peripheral_Blood)': 'neutrophil', - 'Neutrophil_Ltf high(Peripheral_Blood)': 'neutrophil', - 'Neutrophil_Retnlg high(Peripheral_Blood)': 'neutrophil', - 'T cell_Gm14303 high(Peripheral_Blood)': 'T cell', - 'T cell_Trbc2 high(Peripheral_Blood)': 'T cell' - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "PeripheralBlood5_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/bone/__init__.py b/sfaira/data/mouse/bone/__init__.py deleted file mode 100644 index 9b6ccd006..000000000 --- a/sfaira/data/mouse/bone/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_bone import DatasetGroupBone \ No newline at end of file diff --git a/sfaira/data/mouse/bone/external.py b/sfaira/data/mouse/bone/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/mouse/bone/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/mouse/bone/mouse_bone.py b/sfaira/data/mouse/bone/mouse_bone.py deleted file mode 100644 index 02fe69705..000000000 --- a/sfaira/data/mouse/bone/mouse_bone.py +++ /dev/null @@ -1,30 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .mouse_bone_2019_10x_pisco_001 import Dataset as Dataset0001 -from .mouse_bone_2019_smartseq2_pisco_001 import Dataset as Dataset0002 -from .mouse_bone_2018_microwell_001 import Dataset as Dataset0003 - - -class DatasetGroupBone(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.mouse import DatasetGroupBone - self.datasets.update(DatasetGroupBone().datasets) - except ImportError: - pass \ No newline at end of file diff --git a/sfaira/data/mouse/bone/mouse_bone_2018_microwell_001.py b/sfaira/data/mouse/bone/mouse_bone_2018_microwell_001.py deleted file mode 100644 index 0834d2d1d..000000000 --- a/sfaira/data/mouse/bone/mouse_bone_2018_microwell_001.py +++ /dev/null @@ -1,80 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_bone_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "bone" - self.sub_tissue = "marrow" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'B cell_Igkc high(Bone-Marrow)': 'naive B cell', - 'Dendritic cell_H2-Eb1 high(Bone-Marrow)': 'dendritic cell', - 'Dendritic cell_Siglech high(Bone-Marrow)': 'dendritic cell', - 'Macrophage_Ms4a6c high(Bone-Marrow)': 'macrophage', - 'Macrophage_S100a4 high(Bone-Marrow)': 'macrophage', - 'Erythroblast(Bone-Marrow)': 'erythroid progenitor', - 'Mast cell(Bone-Marrow)': 'mast cell', - 'Monocyte_Mif high(Bone-Marrow)': 'monocyte', - 'Monocyte_Prtn3 high(Bone-Marrow)': 'monocyte', - 'Neutrophil progenitor(Bone-Marrow)': 'neutrophil progenitor', - 'Neutrophil_Cebpe high(Bone-Marrow)': 'neutrophil', - 'Neutrophil_Fcnb high(Bone-Marrow)': 'neutrophil', - 'Neutrophil_Mmp8 high(Bone-Marrow)': 'neutrophil', - 'Neutrophil_Ngp high(Bone-Marrow)': 'neutrophil', - 'Hematopoietic stem progenitor cell(Bone-Marrow)': 'hematopoietic precursor cell', - 'Pre-pro B cell(Bone-Marrow)': 'early pro-B cell', - 'T cell_Ms4a4b high(Bone-Marrow)': 'CD4-positive, alpha-beta T cell' - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "BoneMarrow1_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs['Annotation'] - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') - diff --git a/sfaira/data/mouse/bone/mouse_bone_2019_10x_pisco_001.py b/sfaira/data/mouse/bone/mouse_bone_2019_10x_pisco_001.py deleted file mode 100644 index 76bfffe2d..000000000 --- a/sfaira/data/mouse/bone/mouse_bone_2019_10x_pisco_001.py +++ /dev/null @@ -1,72 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_bone_2019_10x_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "bone" - self.sub_tissue = "marrow" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "bone", "tabula-muris-senis-droplet-processed-official-annotations-Marrow.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "bone", "Marrow_droplet.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "10x" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.set_unkown_class_id(ids=["unknown cell-1", "unknown cell-2"]) - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/bone/mouse_bone_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/bone/mouse_bone_2019_smartseq2_pisco_001.py deleted file mode 100644 index ae69b645a..000000000 --- a/sfaira/data/mouse/bone/mouse_bone_2019_smartseq2_pisco_001.py +++ /dev/null @@ -1,72 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_bone_2019_smartseq2_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "bone" - self.sub_tissue = "marrow" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "bone", "tabula-muris-senis-facs-processed-official-annotations-Marrow.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "bone", "Marrow_facs.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "smartseq2" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.set_unkown_class_id(ids=["unknown", "nan-marrow-needs-subclustering"]) - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/brain/__init__.py b/sfaira/data/mouse/brain/__init__.py deleted file mode 100644 index 499b40bb0..000000000 --- a/sfaira/data/mouse/brain/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_brain import DatasetGroupBrain \ No newline at end of file diff --git a/sfaira/data/mouse/brain/external.py b/sfaira/data/mouse/brain/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/mouse/brain/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/mouse/brain/mouse_brain.py b/sfaira/data/mouse/brain/mouse_brain.py deleted file mode 100644 index 4e09daddc..000000000 --- a/sfaira/data/mouse/brain/mouse_brain.py +++ /dev/null @@ -1,32 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .mouse_brain_2019_smartseq2_pisco_001 import Dataset as Dataset0001 -from .mouse_brain_2019_smartseq2_pisco_002 import Dataset as Dataset0002 -from .mouse_brain_2018_microwell_han_001 import Dataset as Dataset0003 -from .mouse_brain_2018_microwell_han_002 import Dataset as Dataset0004 - - -class DatasetGroupBrain(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path), - Dataset0004(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.mouse import DatasetGroupBrain - self.datasets.update(DatasetGroupBrain().datasets) - except ImportError: - pass diff --git a/sfaira/data/mouse/brain/mouse_brain_2018_microwell_han_001.py b/sfaira/data/mouse/brain/mouse_brain_2018_microwell_han_001.py deleted file mode 100644 index 2d0920d30..000000000 --- a/sfaira/data/mouse/brain/mouse_brain_2018_microwell_han_001.py +++ /dev/null @@ -1,78 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_brain_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "brain" - self.sub_tissue = "brain" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Astroglial cell(Bergman glia)(Brain)': 'Bergmann glial cell', - 'Astrocyte_Atp1b2 high(Brain)': 'astrocyte', - 'Astrocyte_Mfe8 high(Brain)': 'astrocyte', - 'Astrocyte_Pla2g7 high(Brain)': 'astrocyte', - 'Granulocyte_Ngp high(Brain)': 'granulocyte', - 'Hypothalamic ependymal cell(Brain)': 'ependymal cell', - 'Macrophage_Klf2 high(Brain)': 'macrophage', - 'Macrophage_Lyz2 high(Brain)': 'macrophage', - 'Microglia(Brain)': 'microglial cell', - 'Myelinating oligodendrocyte(Brain)': 'oligodendrocyte', - 'Oligodendrocyte precursor cell(Brain)': 'oligodendrocyte precursor cell', - 'Neuron(Brain)': 'neuron', - 'Pan-GABAergic(Brain)': 'GABAergic cell', - 'Schwann cell(Brain)': 'schwann cell' - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Brain1_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/brain/mouse_brain_2018_microwell_han_002.py b/sfaira/data/mouse/brain/mouse_brain_2018_microwell_han_002.py deleted file mode 100644 index d49d98f73..000000000 --- a/sfaira/data/mouse/brain/mouse_brain_2018_microwell_han_002.py +++ /dev/null @@ -1,78 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_brain_2018_microwell-seq_han_002_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "brain" - self.sub_tissue = "brain" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Astroglial cell(Bergman glia)(Brain)': 'Bergmann glial cell', - 'Astrocyte_Atp1b2 high(Brain)': 'astrocyte', - 'Astrocyte_Mfe8 high(Brain)': 'astrocyte', - 'Astrocyte_Pla2g7 high(Brain)': 'astrocyte', - 'Granulocyte_Ngp high(Brain)': 'granulocyte', - 'Hypothalamic ependymal cell(Brain)': 'ependymal cell', - 'Macrophage_Klf2 high(Brain)': 'macrophage', - 'Macrophage_Lyz2 high(Brain)': 'macrophage', - 'Microglia(Brain)': 'microglial cell', - 'Myelinating oligodendrocyte(Brain)': 'oligodendrocyte', - 'Oligodendrocyte precursor cell(Brain)': 'oligodendrocyte precursor cell', - 'Neuron(Brain)': 'neuron', - 'Pan-GABAergic(Brain)': 'GABAergic cell', - 'Schwann cell(Brain)': 'schwann cell' - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Brain2_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/brain/mouse_brain_2019_mouse_brain_atlas_temp.py b/sfaira/data/mouse/brain/mouse_brain_2019_mouse_brain_atlas_temp.py deleted file mode 100644 index a8f0dc033..000000000 --- a/sfaira/data/mouse/brain/mouse_brain_2019_mouse_brain_atlas_temp.py +++ /dev/null @@ -1,86 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_brain_2019_10x_hove_001_10.1038/s41593-019-0393-4" - self.download_website = \ - "www.brainimmuneatlas.org/data_files/toDownload/filtered_gene_bc_matrices_mex_WT_fullAggr.zip" - self.download_website_meta = \ - "www.brainimmuneatlas.org/data_files/toDownload/annot_fullAggr.csv" - self.organ = "brain" - self.sub_tissue = "brain" - self.has_celltypes = True - - self.class_maps = { - "0": { - "Microglia": "microglial cell", - "T/NKT cells": "CD8-positive, alpha-beta T cell", - "Monocytes": "monocyte" - }, - } - - def _load(self, fn=None): - if fn is None: - fn = os.path.join(self.path, "mouse", "temp_mouse_brain_atlas", "matrix.mtx") - fn_barcodes = os.path.join(self.path, "mouse", "temp_mouse_brain_atlas", "barcodes.tsv") - fn_var = os.path.join(self.path, "mouse", "temp_mouse_brain_atlas", "genes.tsv") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_brain_atlas", "annot_fullAggr.csv") - - self.adata = anndata.read_mtx(fn) - self.adata = anndata.AnnData(self.adata.X.T) - var = pandas.read_csv(fn_var, sep="\t", header=None) - var.columns = ["ensembl", "name"] - obs_names = pandas.read_csv(fn_barcodes, sep="\t", header=None)[0].values - assert len(obs_names) == self.adata.shape[0] - assert var.shape[0] == self.adata.shape[1] - obs = pandas.read_csv(self.path + fn_meta) - - # Match annotation to raw data. - obs.index = obs["cell"].values - obs = obs.loc[[x in obs_names for x in obs.index], :] - idx_tokeep = np.where([x in obs.index for x in obs_names])[0] - self.adata = self.adata[idx_tokeep, :] - obs_names = obs_names[idx_tokeep] - idx_map = np.array([obs.index.tolist().index(x) for x in obs_names]) - self.adata = self.adata[idx_map, :] - obs_names = obs_names[idx_map] - - # Assign attributes - self.adata.obs_names = obs_names - self.adata.var = var - self._convert_and_set_var_names(symbol_col='names', ensembl_col='ensembl', new_index='ensembl') - self.adata.obs = obs - assert np.all(self.adata.obs_names == self.adata.obs["cell"].values) - - self.adata.uns["lab"] = "Movahedi" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1038/s41593-019-0393-4" - self.adata.uns["protocol"] = "microwell" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - # self.adata.obs["cell_ontology_class"] is already set - self.set_unkown_class_id(ids=["nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" diff --git a/sfaira/data/mouse/brain/mouse_brain_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/brain/mouse_brain_2019_smartseq2_pisco_001.py deleted file mode 100644 index 95dfc2ff6..000000000 --- a/sfaira/data/mouse/brain/mouse_brain_2019_smartseq2_pisco_001.py +++ /dev/null @@ -1,73 +0,0 @@ -import anndata -import numpy as np -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_brain_2019_smartseq2_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "brain" - self.sub_tissue = "brain" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "brain", "tabula-muris-senis-facs-processed-official-annotations-Brain_Non-Myeloid.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "brain", "Brain_Non-Myeloid_facs.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "smartseq2" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.set_unkown_class_id(ids=["nan", "Il6 expressing cells"]) - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/brain/mouse_brain_2019_smartseq2_pisco_002.py b/sfaira/data/mouse/brain/mouse_brain_2019_smartseq2_pisco_002.py deleted file mode 100644 index 76bd3bb14..000000000 --- a/sfaira/data/mouse/brain/mouse_brain_2019_smartseq2_pisco_002.py +++ /dev/null @@ -1,73 +0,0 @@ -import anndata -import numpy as np -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_brain_2019_smartseq2_pisco_002_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "brain" - self.sub_tissue = "brain" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "brain", "tabula-muris-senis-facs-processed-official-annotations-Brain_Myeloid.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "brain", "Brain_Myeloid_facs.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "smartseq2" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.set_unkown_class_id(ids=["nan", "Il6 expressing cells"]) - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/colon/__init__.py b/sfaira/data/mouse/colon/__init__.py deleted file mode 100644 index 8e57ba03e..000000000 --- a/sfaira/data/mouse/colon/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_colon import DatasetGroupColon \ No newline at end of file diff --git a/sfaira/data/mouse/colon/external.py b/sfaira/data/mouse/colon/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/mouse/colon/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/mouse/colon/mouse_colon.py b/sfaira/data/mouse/colon/mouse_colon.py deleted file mode 100644 index 3666f396a..000000000 --- a/sfaira/data/mouse/colon/mouse_colon.py +++ /dev/null @@ -1,28 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .mouse_colon_2019_10x_pisco_001 import Dataset as Dataset0001 -from .mouse_colon_2019_smartseq2_pisco_001 import Dataset as Dataset0002 - - -class DatasetGroupColon(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.mouse import DatasetGroupColon - self.datasets.update(DatasetGroupColon().datasets) - except ImportError: - pass \ No newline at end of file diff --git a/sfaira/data/mouse/colon/mouse_colon_2019_10x_pisco_001.py b/sfaira/data/mouse/colon/mouse_colon_2019_10x_pisco_001.py deleted file mode 100644 index 18db6f265..000000000 --- a/sfaira/data/mouse/colon/mouse_colon_2019_10x_pisco_001.py +++ /dev/null @@ -1,72 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_colon_2019_10x_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "colon" - self.sub_tissue = "colon" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "colon", "Large_Intestine_droplet.h5ad") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "colon", "tabula-muris-senis-droplet-processed-official-annotations-Large_Intestine.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "colon", "Large_Intestine_droplet.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "10x" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/colon/mouse_colon_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/colon/mouse_colon_2019_smartseq2_pisco_001.py deleted file mode 100644 index 299b15ede..000000000 --- a/sfaira/data/mouse/colon/mouse_colon_2019_smartseq2_pisco_001.py +++ /dev/null @@ -1,72 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_colon_2019_smartseq2_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "colon" - self.sub_tissue = "colon" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "colon", "Large_Intestine_facs.h5ad") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "colon", "tabula-muris-senis-facs-processed-official-annotations-Large_Intestine.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "colon", "Large_Intestine_facs.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "smartseq2" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/diaphragm/__init__.py b/sfaira/data/mouse/diaphragm/__init__.py deleted file mode 100644 index a68701d73..000000000 --- a/sfaira/data/mouse/diaphragm/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_diaphragm import DatasetGroupDiaphragm \ No newline at end of file diff --git a/sfaira/data/mouse/diaphragm/external.py b/sfaira/data/mouse/diaphragm/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/mouse/diaphragm/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/mouse/diaphragm/mouse_diaphragm.py b/sfaira/data/mouse/diaphragm/mouse_diaphragm.py deleted file mode 100644 index f8fc4d5f6..000000000 --- a/sfaira/data/mouse/diaphragm/mouse_diaphragm.py +++ /dev/null @@ -1,26 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .mouse_diaphragm_2019_smartseq2_pisco_001 import Dataset as Dataset0001 - - -class DatasetGroupDiaphragm(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.mouse import DatasetGroupDiaphragm - self.datasets.update(DatasetGroupDiaphragm().datasets) - except ImportError: - pass diff --git a/sfaira/data/mouse/diaphragm/mouse_diaphragm_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/diaphragm/mouse_diaphragm_2019_smartseq2_pisco_001.py deleted file mode 100644 index 86264eaba..000000000 --- a/sfaira/data/mouse/diaphragm/mouse_diaphragm_2019_smartseq2_pisco_001.py +++ /dev/null @@ -1,70 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_diaphragm_2019_smartseq2_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "diaphragm" - self.sub_tissue = "diaphragm" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "diaphragm", "tabula-muris-senis-facs-processed-official-annotations-Diaphragm.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "diaphragm", "Diaphragm_facs.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "smartseq2" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/femalegonad/__init__.py b/sfaira/data/mouse/femalegonad/__init__.py deleted file mode 100644 index 6cca0c4d4..000000000 --- a/sfaira/data/mouse/femalegonad/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_femalegonad import DatasetGroupFemalegonad \ No newline at end of file diff --git a/sfaira/data/mouse/femalegonad/external.py b/sfaira/data/mouse/femalegonad/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/mouse/femalegonad/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/mouse/femalegonad/mouse_femalegonad.py b/sfaira/data/mouse/femalegonad/mouse_femalegonad.py deleted file mode 100644 index fc35c3ef3..000000000 --- a/sfaira/data/mouse/femalegonad/mouse_femalegonad.py +++ /dev/null @@ -1,28 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .mouse_femalegonad_2018_microwell_han_001 import Dataset as Dataset0001 -from .mouse_femalegonad_2018_microwell_han_002 import Dataset as Dataset0002 - - -class DatasetGroupFemalegonad(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.mouse import DatasetGroupFemalegonad - self.datasets.update(DatasetGroupFemalegonad().datasets) - except ImportError: - pass diff --git a/sfaira/data/mouse/femalegonad/mouse_femalegonad_2018_microwell_han_001.py b/sfaira/data/mouse/femalegonad/mouse_femalegonad_2018_microwell_han_001.py deleted file mode 100644 index bc0878633..000000000 --- a/sfaira/data/mouse/femalegonad/mouse_femalegonad_2018_microwell_han_001.py +++ /dev/null @@ -1,76 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_femalegonad_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "femalegonad" - self.sub_tissue = "femalegonad" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Cumulus cell_Car14 high(Ovary)': 'cumulus cell', - 'Cumulus cell_Nupr1 high(Ovary)': 'cumulus cell', - 'Cumulus cell_Ube2c high(Ovary)': 'cumulus cell', - 'Granulosa cell_Inhba high(Ovary)': 'granulosa cell', - 'Granulosa cell_Kctd14 high(Ovary)': 'granulosa cell', - 'Large luteal cell(Ovary)': 'large luteal cell', - 'Macrophage_Lyz2 high(Ovary)': 'macrophage', - 'Marcrophage_Cd74 high(Ovary)': 'macrophage', - 'Ovarian surface epithelium cell(Ovary)': 'epithelial cell of ovarian surface', - 'Ovarian vascular surface endothelium cell(Ovary)': 'endothelial cell of ovarian surface', - 'Small luteal cell(Ovary)': 'small luteal cell', - 'Stroma cell (Ovary)': 'stromal cell', - 'Thecal cell(Ovary)': 'thecal cell', - 'luteal cells(Ovary)': 'luteal cell', - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Ovary1_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/femalegonad/mouse_femalegonad_2018_microwell_han_002.py b/sfaira/data/mouse/femalegonad/mouse_femalegonad_2018_microwell_han_002.py deleted file mode 100644 index e6e3c0ede..000000000 --- a/sfaira/data/mouse/femalegonad/mouse_femalegonad_2018_microwell_han_002.py +++ /dev/null @@ -1,76 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_femalegonad_2018_microwell-seq_han_002_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "femalegonad" - self.sub_tissue = "femalegonad" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Cumulus cell_Car14 high(Ovary)': 'cumulus cell', - 'Cumulus cell_Nupr1 high(Ovary)': 'cumulus cell', - 'Cumulus cell_Ube2c high(Ovary)': 'cumulus cell', - 'Granulosa cell_Inhba high(Ovary)': 'granulosa cell', - 'Granulosa cell_Kctd14 high(Ovary)': 'granulosa cell', - 'Large luteal cell(Ovary)': 'large luteal cell', - 'Macrophage_Lyz2 high(Ovary)': 'macrophage', - 'Marcrophage_Cd74 high(Ovary)': 'macrophage', - 'Ovarian surface epithelium cell(Ovary)': 'epithelial cell of ovarian surface', - 'Ovarian vascular surface endothelium cell(Ovary)': 'endothelial cell of ovarian surface', - 'Small luteal cell(Ovary)': 'small luteal cell', - 'Stroma cell (Ovary)': 'stromal cell', - 'Thecal cell(Ovary)': 'thecal cell', - 'luteal cells(Ovary)': 'luteal cell', - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Ovary2_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/heart/__init__.py b/sfaira/data/mouse/heart/__init__.py deleted file mode 100644 index be8480688..000000000 --- a/sfaira/data/mouse/heart/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_heart import DatasetGroupHeart \ No newline at end of file diff --git a/sfaira/data/mouse/heart/external.py b/sfaira/data/mouse/heart/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/mouse/heart/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/mouse/heart/mouse_heart.py b/sfaira/data/mouse/heart/mouse_heart.py deleted file mode 100644 index ca7e6af3d..000000000 --- a/sfaira/data/mouse/heart/mouse_heart.py +++ /dev/null @@ -1,31 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - - -from .mouse_heart_2019_10x_pisco_001 import Dataset as Dataset0001 -from .mouse_heart_2019_smartseq2_pisco_001 import Dataset as Dataset0002 -from .mouse_heart_2019_smartseq2_pisco_002 import Dataset as Dataset0003 - - -class DatasetGroupHeart(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.mouse import DatasetGroupHeart - self.datasets.update(DatasetGroupHeart().datasets) - except ImportError: - pass diff --git a/sfaira/data/mouse/heart/mouse_heart_2019_10x_pisco_001.py b/sfaira/data/mouse/heart/mouse_heart_2019_10x_pisco_001.py deleted file mode 100644 index ed29cb229..000000000 --- a/sfaira/data/mouse/heart/mouse_heart_2019_10x_pisco_001.py +++ /dev/null @@ -1,72 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_heart_2019_10x_pisco_001_10.1101/661728" - - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "heart" - self.sub_tissue = "heart" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "heart", "tabula-muris-senis-droplet-processed-official-annotations-Heart_and_Aorta.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "heart", "Heart_droplet.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "10x" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/heart/mouse_heart_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/heart/mouse_heart_2019_smartseq2_pisco_001.py deleted file mode 100644 index d3bbee496..000000000 --- a/sfaira/data/mouse/heart/mouse_heart_2019_smartseq2_pisco_001.py +++ /dev/null @@ -1,71 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_heart_2019_smartseq2_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "heart" - self.sub_tissue = "heart" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "heart", "tabula-muris-senis-facs-processed-official-annotations-Heart.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "heart", "Heart_facs.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "smartseq2" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/heart/mouse_heart_2019_smartseq2_pisco_002.py b/sfaira/data/mouse/heart/mouse_heart_2019_smartseq2_pisco_002.py deleted file mode 100644 index 34a955e49..000000000 --- a/sfaira/data/mouse/heart/mouse_heart_2019_smartseq2_pisco_002.py +++ /dev/null @@ -1,71 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_heart_2019_smartseq2_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "heart" - self.sub_tissue = "heart" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "heart", "tabula-muris-senis-facs-processed-official-annotations-Aorta.h5ad") - elif self.source == "figshare": - raise ValueError("not defined") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "smartseq2" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/ileum/__init__.py b/sfaira/data/mouse/ileum/__init__.py deleted file mode 100644 index 89c13450a..000000000 --- a/sfaira/data/mouse/ileum/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_ileum import DatasetGroupIleum \ No newline at end of file diff --git a/sfaira/data/mouse/ileum/external.py b/sfaira/data/mouse/ileum/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/mouse/ileum/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/mouse/ileum/mouse_ileum.py b/sfaira/data/mouse/ileum/mouse_ileum.py deleted file mode 100644 index f56d2c46e..000000000 --- a/sfaira/data/mouse/ileum/mouse_ileum.py +++ /dev/null @@ -1,30 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .mouse_ileum_2018_microwell_han_001 import Dataset as Dataset0001 -from .mouse_ileum_2018_microwell_han_002 import Dataset as Dataset0002 -from .mouse_ileum_2018_microwell_han_003 import Dataset as Dataset0003 - - -class DatasetGroupIleum(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.mouse import DatasetGroupIleum - self.datasets.update(DatasetGroupIleum().datasets) - except ImportError: - pass diff --git a/sfaira/data/mouse/ileum/mouse_ileum_2018_microwell_han_001.py b/sfaira/data/mouse/ileum/mouse_ileum_2018_microwell_han_001.py deleted file mode 100644 index 0007812a9..000000000 --- a/sfaira/data/mouse/ileum/mouse_ileum_2018_microwell_han_001.py +++ /dev/null @@ -1,87 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_ileum_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "ileum" - self.sub_tissue = "ileum" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'B cell_Ighd high(Small-Intestine)': 'B cell', - 'B cell_Igkv12-46 high(Small-Intestine)': 'B cell', - 'B cell_Jchain high(Small-Intestine)': 'B cell', - 'B cell_Ms4a1 high(Small-Intestine)': 'B cell', - 'Columnar epithelium(Small-Intestine)': 'epithelial cell', - 'Dendritic cell_Siglech high(Small-Intestine)': 'dendritic cell', - 'Dendrtic cell_Cst3 high(Small-Intestine)': 'dendritic cell', - 'Epithelial cell_Kcne3 high(Small-Intestine)': 'epithelial cell', - 'Epithelial cell_Sh2d6 high(Small-Intestine)': 'epithelial cell', - 'Epithelium of small intestinal villi_Fabp1 high(Small-Intestine)': 'epithelial cell villi', - 'Epithelium of small intestinal villi_Fabp6 high(Small-Intestine)': 'epithelial cell villi', - 'Epithelium of small intestinal villi_Gm23935 high(Small-Intestine)': 'epithelial cell villi', - 'Epithelium of small intestinal villi_mt-Nd1 high(Small-Intestine)': 'epithelial cell villi', - 'Macrophage_Apoe high(Small-Intestine)': 'macrophage', - 'Macrophage_Cxcl2 high(Small-Intestine)': 'macrophage', - 'Paneth cell(Small-Intestine)': 'paneth cell', - 'S cell_Chgb high(Small-Intestine)': 'enteroendocrine cell', - 'S cell_Gip high(Small-Intestine)': 'enteroendocrine cell', - 'Stromal cell_Adamdec1 high(Small-Intestine)': 'stromal cell', - 'Stromal cell_Dcn high(Small-Intestine)': 'stromal cell', - 'T cell_Ccl5 high(Small-Intestine)': 'T cell', - 'T cell_Icos high(Small-Intestine)': 'T cell', - 'T cell_Cd7 high(Small-Intestine)': 'T cell', - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "SmallIntestine1_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/ileum/mouse_ileum_2018_microwell_han_002.py b/sfaira/data/mouse/ileum/mouse_ileum_2018_microwell_han_002.py deleted file mode 100644 index f8277c143..000000000 --- a/sfaira/data/mouse/ileum/mouse_ileum_2018_microwell_han_002.py +++ /dev/null @@ -1,87 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_ileum_2018_microwell-seq_han_002_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "ileum" - self.sub_tissue = "ileum" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'B cell_Ighd high(Small-Intestine)': 'B cell', - 'B cell_Igkv12-46 high(Small-Intestine)': 'B cell', - 'B cell_Jchain high(Small-Intestine)': 'B cell', - 'B cell_Ms4a1 high(Small-Intestine)': 'B cell', - 'Columnar epithelium(Small-Intestine)': 'epithelial cell', - 'Dendritic cell_Siglech high(Small-Intestine)': 'dendritic cell', - 'Dendrtic cell_Cst3 high(Small-Intestine)': 'dendritic cell', - 'Epithelial cell_Kcne3 high(Small-Intestine)': 'epithelial cell', - 'Epithelial cell_Sh2d6 high(Small-Intestine)': 'epithelial cell', - 'Epithelium of small intestinal villi_Fabp1 high(Small-Intestine)': 'epithelial cell villi', - 'Epithelium of small intestinal villi_Fabp6 high(Small-Intestine)': 'epithelial cell villi', - 'Epithelium of small intestinal villi_Gm23935 high(Small-Intestine)': 'epithelial cell villi', - 'Epithelium of small intestinal villi_mt-Nd1 high(Small-Intestine)': 'epithelial cell villi', - 'Macrophage_Apoe high(Small-Intestine)': 'macrophage', - 'Macrophage_Cxcl2 high(Small-Intestine)': 'macrophage', - 'Paneth cell(Small-Intestine)': 'paneth cell', - 'S cell_Chgb high(Small-Intestine)': 'enteroendocrine cell', - 'S cell_Gip high(Small-Intestine)': 'enteroendocrine cell', - 'Stromal cell_Adamdec1 high(Small-Intestine)': 'stromal cell', - 'Stromal cell_Dcn high(Small-Intestine)': 'stromal cell', - 'T cell_Ccl5 high(Small-Intestine)': 'T cell', - 'T cell_Icos high(Small-Intestine)': 'T cell', - 'T cell_Cd7 high(Small-Intestine)': 'T cell', - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "SmallIntestine2_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/ileum/mouse_ileum_2018_microwell_han_003.py b/sfaira/data/mouse/ileum/mouse_ileum_2018_microwell_han_003.py deleted file mode 100644 index 535ec2f75..000000000 --- a/sfaira/data/mouse/ileum/mouse_ileum_2018_microwell_han_003.py +++ /dev/null @@ -1,88 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_ileum_2018_microwell-seq_han_003_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "ileum" - self.sub_tissue = "ileum" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'B cell_Ighd high(Small-Intestine)': 'B cell', - 'B cell_Igkv12-46 high(Small-Intestine)': 'B cell', - 'B cell_Jchain high(Small-Intestine)': 'B cell', - 'B cell_Ms4a1 high(Small-Intestine)': 'B cell', - 'Columnar epithelium(Small-Intestine)': 'epithelial cell', - 'Dendritic cell_Siglech high(Small-Intestine)': 'dendritic cell', - 'Dendrtic cell_Cst3 high(Small-Intestine)': 'dendritic cell', - 'Epithelial cell_Kcne3 high(Small-Intestine)': 'epithelial cell', - 'Epithelial cell_Sh2d6 high(Small-Intestine)': 'epithelial cell', - 'Epithelium of small intestinal villi_Fabp1 high(Small-Intestine)': 'epithelial cell villi', - 'Epithelium of small intestinal villi_Fabp6 high(Small-Intestine)': 'epithelial cell villi', - 'Epithelium of small intestinal villi_Gm23935 high(Small-Intestine)': 'epithelial cell villi', - 'Epithelium of small intestinal villi_mt-Nd1 high(Small-Intestine)': 'epithelial cell villi', - 'Macrophage_Apoe high(Small-Intestine)': 'macrophage', - 'Macrophage_Cxcl2 high(Small-Intestine)': 'macrophage', - 'Paneth cell(Small-Intestine)': 'paneth cell', - 'S cell_Chgb high(Small-Intestine)': 'enteroendocrine cell', - 'S cell_Gip high(Small-Intestine)': 'enteroendocrine cell', - 'Stromal cell_Adamdec1 high(Small-Intestine)': 'stromal cell', - 'Stromal cell_Dcn high(Small-Intestine)': 'stromal cell', - 'T cell_Ccl5 high(Small-Intestine)': 'T cell', - 'T cell_Icos high(Small-Intestine)': 'T cell', - 'T cell_Cd7 high(Small-Intestine)': 'T cell', - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "SmallIntestine3_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') - diff --git a/sfaira/data/mouse/kidney/__init__.py b/sfaira/data/mouse/kidney/__init__.py deleted file mode 100644 index 057f45e34..000000000 --- a/sfaira/data/mouse/kidney/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_kidney import DatasetGroupKidney \ No newline at end of file diff --git a/sfaira/data/mouse/kidney/external.py b/sfaira/data/mouse/kidney/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/mouse/kidney/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/mouse/kidney/mouse_kidney.py b/sfaira/data/mouse/kidney/mouse_kidney.py deleted file mode 100644 index ac9d34cfc..000000000 --- a/sfaira/data/mouse/kidney/mouse_kidney.py +++ /dev/null @@ -1,32 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .mouse_kidney_2019_10x_pisco_001 import Dataset as Dataset0001 -from .mouse_kidney_2019_smartseq2_pisco_001 import Dataset as Dataset0002 -from .mouse_kidney_2018_microwell_han_001 import Dataset as Dataset0003 -from .mouse_kidney_2018_microwell_han_002 import Dataset as Dataset0004 - - -class DatasetGroupKidney(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path), - Dataset0004(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.mouse import DatasetGroupKidney - self.datasets.update(DatasetGroupKidney().datasets) - except ImportError: - pass diff --git a/sfaira/data/mouse/kidney/mouse_kidney_2018_microwell_han_001.py b/sfaira/data/mouse/kidney/mouse_kidney_2018_microwell_han_001.py deleted file mode 100644 index b346cf539..000000000 --- a/sfaira/data/mouse/kidney/mouse_kidney_2018_microwell_han_001.py +++ /dev/null @@ -1,64 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_kidney_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "kidney" - self.sub_tissue = "kidney" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Cell in cell cycle(Fetal_Kidney)': 'fetal proliferative cell', - 'Metanephric mesenchyme(Fetal_Kidney)': 'fetal mesenchymal cell' - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Kidney1_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/kidney/mouse_kidney_2018_microwell_han_002.py b/sfaira/data/mouse/kidney/mouse_kidney_2018_microwell_han_002.py deleted file mode 100644 index 60b0d0260..000000000 --- a/sfaira/data/mouse/kidney/mouse_kidney_2018_microwell_han_002.py +++ /dev/null @@ -1,95 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_kidney_2018_microwell-seq_han_002_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "kidney" - self.sub_tissue = "kidney" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Adipocyte(Fetal_Kidney)': 'fetal adipocyte', - 'B cell(Kidney)': 'B cell', - 'Dendritic cell_Ccr7 high(Kidney)': 'dendritic cell', - 'Dendritic cell_Cst3 high(Kidney)': 'dendritic cell', - 'Distal collecting duct principal cell_Cldn4 high(Kidney)': 'kidney collecting duct principal cell', - 'Distal collecting duct principal cell_Hsd11b2 high(Kidney)': 'kidney collecting duct principal cell', - 'Distal convoluted tubule_Pvalb high(Kidney)': 'kidney distal convoluted tubule epithelial cell', - 'Distal convoluted tubule_S100g high(Kidney)': 'kidney distal convoluted tubule epithelial cell', - 'Endothelial cell(Kidney)': 'fenestrated cell', - 'Epithelial cell_Cryab high(Kidney)': "epithelial cell", - 'Fenestrated endothelial cell_Plvap high(Kidney)': 'fenestrated cell', - 'Fenestrated endothelial cell_Tm4sf1 high(Kidney)': 'fenestrated cell', - 'Glomerular epithelial cell_Aldh1a2 high(Fetal_Kidney)': 'glomerular epithelial cell', - 'Intercalated cells of collecting duct_Aqp6 high(Kidney)': 'kidney collecting duct epithelial cell', - 'Intercalated cells of collecting duct_Slc26a4 high(Kidney)': 'kidney collecting duct epithelial cell', - 'Macrophage_Ccl4 high (Kidney)': 'macrophage', - 'Macrophage_Lyz2 high(Kidney)': 'macrophage', - 'Metanephric mesenchyme(Fetal_Kidney)': 'fetal mesenchymal cell', - 'Neutrophil progenitor_S100a8 high(Kidney)': 'neutrophil progenitor', - 'Proximal tubule brush border cell(Kidney)': 'brush cell', - 'Proximal tubule cell_Cyp4a14 high(Kidney)': 'epithelial cell of proximal tubule', - 'Proximal tubule cell_Osgin1 high(Kidney)': 'epithelial cell of proximal tubule', - 'S1 proximal tubule cells(Kidney)': 'epithelial cell of proximal tubule', - 'S3 proximal tubule cells(Kidney)': 'epithelial cell of proximal tubule', - 'Stromal cell_Ankrd1 high(Kidney)': 'fibroblast', - 'Stromal cell_Cxcl10 high(Kidney)': 'fibroblast', - 'Stromal cell_Dcn high(Kidney)': 'fibroblast', - 'Stromal cell_Mgp high(Fetal_Kidney)': 'fibroblast', - 'Stromal cell_Mgp high(Kidney)': 'fibroblast', - 'Stromal cell_Ptgds high(Kidney)': 'fibroblast', - 'T cell(Kidney)': 'T cell', - 'Thick ascending limb of the loop of Henle(Kidney)': 'kidney loop of Henle ascending limb epithelial cell', - 'Ureteric epithelium(Kidney)': 'ureteric epithelial cell' - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Kidney2_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/kidney/mouse_kidney_2019_10x_pisco_001.py b/sfaira/data/mouse/kidney/mouse_kidney_2019_10x_pisco_001.py deleted file mode 100644 index b0f43d02d..000000000 --- a/sfaira/data/mouse/kidney/mouse_kidney_2019_10x_pisco_001.py +++ /dev/null @@ -1,75 +0,0 @@ -import anndata -import numpy as np -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_kidney_2019_10x_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "kidney" - self.sub_tissue = "kidney" - self.has_celltypes = True - - self.class_maps = { - "0": { - "kidney capillary endothelial cell": "endothelial cell", - "kidney mesangial cell": "mesangial cell", - "kidney interstitial fibroblast": "interstitial fibroblast", - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "kidney", "tabula-muris-senis-droplet-processed-official-annotations-Kidney.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "kidney", "Kidney_droplet.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "10x" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.set_unkown_class_id(ids=["nan", "kidney cell"]) - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/kidney/mouse_kidney_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/kidney/mouse_kidney_2019_smartseq2_pisco_001.py deleted file mode 100644 index 88dfe4448..000000000 --- a/sfaira/data/mouse/kidney/mouse_kidney_2019_smartseq2_pisco_001.py +++ /dev/null @@ -1,74 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_kidney_2019_smartseq2_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "kidney" - self.sub_tissue = "kidney" - self.has_celltypes = True - - self.class_maps = { - "0": { - "kidney capillary endothelial cell": "endothelial cell", - "kidney mesangial cell": "mesangial cell", - "kidney interstitial fibroblast": "interstitial fibroblast", - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "kidney", "tabula-muris-senis-facs-processed-official-annotations-Kidney.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "kidney", "Kidney_facs.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "smartseq2" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.set_unkown_class_id(ids=["nan", "kidney cell"]) - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/liver/__init__.py b/sfaira/data/mouse/liver/__init__.py deleted file mode 100644 index 4ddaa4d26..000000000 --- a/sfaira/data/mouse/liver/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_liver import DatasetGroupLiver \ No newline at end of file diff --git a/sfaira/data/mouse/liver/external.py b/sfaira/data/mouse/liver/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/mouse/liver/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/mouse/liver/mouse_liver.py b/sfaira/data/mouse/liver/mouse_liver.py deleted file mode 100644 index a78f4af58..000000000 --- a/sfaira/data/mouse/liver/mouse_liver.py +++ /dev/null @@ -1,32 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .mouse_liver_2019_10x_pisco_001 import Dataset as Dataset0001 -from .mouse_liver_2019_smartseq2_pisco_001 import Dataset as Dataset0002 -from .mouse_liver_2018_microwell_han_001 import Dataset as Dataset0003 -from .mouse_liver_2018_microwell_han_002 import Dataset as Dataset0004 - - -class DatasetGroupLiver(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path), - Dataset0004(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.mouse import DatasetGroupLiver - self.datasets.update(DatasetGroupLiver().datasets) - except ImportError: - pass diff --git a/sfaira/data/mouse/liver/mouse_liver_2018_microwell_han_001.py b/sfaira/data/mouse/liver/mouse_liver_2018_microwell_han_001.py deleted file mode 100644 index 130b0b06c..000000000 --- a/sfaira/data/mouse/liver/mouse_liver_2018_microwell_han_001.py +++ /dev/null @@ -1,82 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_liver_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "liver" - self.sub_tissue = "liver" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'B cell_Fcmr high(Liver)': 'B cell', - 'B cell_Jchain high(Liver)': 'B cell', - 'Dendritic cell_Cst3 high(Liver)': 'dendritic cell', - 'Dendritic cell_Siglech high(Liver)': 'dendritic cell', - 'Endothelial cell(Liver)': 'endothelial cell of hepatic sinusoid', - 'Epithelial cell(Liver)': "duct epithelial cell", - 'Epithelia cell_Spp1 high(Liver)': "duct epithelial cell", - 'Erythroblast_Hbb-bs high(Liver)': 'erythroblast', - 'Erythroblast_Hbb-bt high(Liver)': 'erythroblast', - 'Granulocyte(Liver)': 'granulocyte', - 'Hepatocyte_Fabp1 high(Liver)': 'hepatocyte', - 'Hepatocyte_mt-Nd4 high(Liver)': 'hepatocyte', - 'Pericentral (PC) hepatocytes(Liver)': 'hepatocyte', - 'Periportal (PP) hepatocyte(Liver)': 'hepatocyte', - 'Kuppfer cell(Liver)': 'Kupffer cell', - 'Macrophage_Chil3 high(Liver)': 'macrophage', - 'Neutrophil_Ngp high(Liver)': 'neutrophil', - 'Stromal cell(Liver)': 'stromal cell', - 'T cell_Gzma high(Liver)': 'T cell', - 'T cell_Trbc2 high(Liver)': 'T cell', - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Liver1_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/liver/mouse_liver_2018_microwell_han_002.py b/sfaira/data/mouse/liver/mouse_liver_2018_microwell_han_002.py deleted file mode 100644 index 13bc3b39d..000000000 --- a/sfaira/data/mouse/liver/mouse_liver_2018_microwell_han_002.py +++ /dev/null @@ -1,76 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_liver_2018_microwell-seq_han_002_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "liver" - self.sub_tissue = "liver" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'B cell_Jchain high(Liver)': 'B cell', - 'Dendritic cell_Cst3 high(Liver)': 'dendritic cell', - 'Dendritic cell_Siglech high(Liver)': 'dendritic cell', - 'Epithelial cell(Liver)': "duct epithelial cell", - 'Epithelia cell_Spp1 high(Liver)': "duct epithelial cell", - 'Erythroblast_Hbb-bs high(Liver)': 'erythroblast', - 'Hepatocyte_Fabp1 high(Liver)': 'hepatocyte', - 'Pericentral (PC) hepatocytes(Liver)': 'hepatocyte', - 'Periportal (PP) hepatocyte(Liver)': 'hepatocyte', - 'Kuppfer cell(Liver)': 'Kupffer cell', - 'Macrophage_Chil3 high(Liver)': 'macrophage', - 'Stromal cell(Liver)': 'stromal cell', - 'T cell_Gzma high(Liver)': 'T cell', - 'T cell_Trbc2 high(Liver)': 'T cell', - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Liver2_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/liver/mouse_liver_2019_10x_pisco_001.py b/sfaira/data/mouse/liver/mouse_liver_2019_10x_pisco_001.py deleted file mode 100644 index 51957d57b..000000000 --- a/sfaira/data/mouse/liver/mouse_liver_2019_10x_pisco_001.py +++ /dev/null @@ -1,71 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_liver_2019_10x_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "liver" - self.sub_tissue = "liver" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "liver", "tabula-muris-senis-droplet-processed-official-annotations-Liver.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "liver", "Liver_droplet.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "10x" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/liver/mouse_liver_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/liver/mouse_liver_2019_smartseq2_pisco_001.py deleted file mode 100644 index cbe999809..000000000 --- a/sfaira/data/mouse/liver/mouse_liver_2019_smartseq2_pisco_001.py +++ /dev/null @@ -1,71 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_liver_2019_smartseq2_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "liver" - self.sub_tissue = "liver" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "liver", "tabula-muris-senis-facs-processed-official-annotations-Liver.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "liver", "Liver_facs.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "smartseq2" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/lung/__init__.py b/sfaira/data/mouse/lung/__init__.py deleted file mode 100644 index dafc0bfc6..000000000 --- a/sfaira/data/mouse/lung/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_lung import DatasetGroupLung \ No newline at end of file diff --git a/sfaira/data/mouse/lung/external.py b/sfaira/data/mouse/lung/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/mouse/lung/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/mouse/lung/mouse_lung.py b/sfaira/data/mouse/lung/mouse_lung.py deleted file mode 100644 index aa5a6f0ec..000000000 --- a/sfaira/data/mouse/lung/mouse_lung.py +++ /dev/null @@ -1,34 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .mouse_lung_2019_10x_pisco_001 import Dataset as Dataset0001 -from .mouse_lung_2019_smartseq2_pisco_001 import Dataset as Dataset0002 -from .mouse_lung_2018_microwell_han_001 import Dataset as Dataset0003 -from .mouse_lung_2018_microwell_han_002 import Dataset as Dataset0004 -from .mouse_lung_2018_microwell_han_003 import Dataset as Dataset0005 - - -class DatasetGroupLung(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path), - Dataset0004(path=path, meta_path=meta_path), - Dataset0005(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.mouse import DatasetGroupLung - self.datasets.update(DatasetGroupLung().datasets) - except ImportError: - pass diff --git a/sfaira/data/mouse/lung/mouse_lung_2018_microwell_han_001.py b/sfaira/data/mouse/lung/mouse_lung_2018_microwell_han_001.py deleted file mode 100644 index 2afdf6e2d..000000000 --- a/sfaira/data/mouse/lung/mouse_lung_2018_microwell_han_001.py +++ /dev/null @@ -1,97 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_lung_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "lung" - self.sub_tissue = "lung" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'AT1 Cell(Lung)': 'alveolar epithelial cell type I', - 'AT2 Cell(Lung)': 'alveolar epithelial cell type II', - 'Alveolar bipotent progenitor(Lung)': 'alveolar bipotent progenitor', - 'Alveolar macrophage_Ear2 high(Lung)': 'alveolar macrophage', - 'Alveolar macrophage_Pclaf high(Lung)': 'alveolar macrophage', - 'B Cell(Lung)': 'B cell', - 'Basophil(Lung)': 'basophil', - 'Ciliated cell(Lung)': 'ciliated cell', - 'Clara Cell(Lung)': 'clara cell', - 'Conventional dendritic cell_Gngt2 high(Lung)': "dendritic cell", - 'Conventional dendritic cell_H2-M2 high(Lung)': "dendritic cell", - 'Conventional dendritic cell_Mgl2 high(Lung)': "dendritic cell", - 'Conventional dendritic cell_Tubb5 high(Lung)': "dendritic cell", - 'Dendritic cell_Naaa high(Lung)': "dendritic cell", - 'Dividing T cells(Lung)': "T cell", - 'Dividing cells(Lung)': 'unknown', - 'Dividing dendritic cells(Lung)': "dendritic cell", - 'Endothelial cell_Kdr high(Lung)': "endothelial cell", - 'Endothelial cell_Tmem100 high(Lung)': "endothelial cell", - 'Endothelial cells_Vwf high(Lung)': "endothelial cell", - 'Eosinophil granulocyte(Lung)': 'eosinophil', - 'Ig−producing B cell(Lung)': 'B cell', - 'Interstitial macrophage(Lung)': 'lung macrophage', - 'Monocyte progenitor cell(Lung)': 'monocyte progenitor', - 'NK Cell(Lung)': 'NK cell', - 'Neutrophil granulocyte(Lung)': 'neutrophil', - 'Nuocyte(Lung)': 'nuocyte', - 'Plasmacytoid dendritic cell(Lung)': "plasmacytoid dendritic cell", - 'Stromal cell_Acta2 high(Lung)': 'stromal cell', - 'Stromal cell_Dcn high(Lung)': 'stromal cell', - 'Stromal cell_Inmt high(Lung)': 'stromal cell', - 'T Cell_Cd8b1 high(Lung)': "CD8-positive, alpha-beta T cell", - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Lung1_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') - diff --git a/sfaira/data/mouse/lung/mouse_lung_2018_microwell_han_002.py b/sfaira/data/mouse/lung/mouse_lung_2018_microwell_han_002.py deleted file mode 100644 index 6eba6b10b..000000000 --- a/sfaira/data/mouse/lung/mouse_lung_2018_microwell_han_002.py +++ /dev/null @@ -1,97 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_lung_2018_microwell-seq_han_002_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "lung" - self.sub_tissue = "lung" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'AT1 Cell(Lung)': 'alveolar epithelial cell type I', - 'AT2 Cell(Lung)': 'alveolar epithelial cell type II', - 'Alveolar bipotent progenitor(Lung)': 'alveolar bipotent progenitor', - 'Alveolar macrophage_Ear2 high(Lung)': 'alveolar macrophage', - 'Alveolar macrophage_Pclaf high(Lung)': 'alveolar macrophage', - 'B Cell(Lung)': 'B cell', - 'Basophil(Lung)': 'basophil', - 'Ciliated cell(Lung)': 'ciliated cell', - 'Clara Cell(Lung)': 'clara cell', - 'Conventional dendritic cell_Gngt2 high(Lung)': "dendritic cell", - 'Conventional dendritic cell_H2-M2 high(Lung)': "dendritic cell", - 'Conventional dendritic cell_Mgl2 high(Lung)': "dendritic cell", - 'Conventional dendritic cell_Tubb5 high(Lung)': "dendritic cell", - 'Dendritic cell_Naaa high(Lung)': "dendritic cell", - 'Dividing T cells(Lung)': "T cell", - 'Dividing cells(Lung)': 'unknown', - 'Dividing dendritic cells(Lung)': "dendritic cell", - 'Endothelial cell_Kdr high(Lung)': "endothelial cell", - 'Endothelial cell_Tmem100 high(Lung)': "endothelial cell", - 'Endothelial cells_Vwf high(Lung)': "endothelial cell", - 'Eosinophil granulocyte(Lung)': 'eosinophil', - 'Ig−producing B cell(Lung)': 'B cell', - 'Interstitial macrophage(Lung)': 'lung macrophage', - 'Monocyte progenitor cell(Lung)': 'monocyte progenitor', - 'NK Cell(Lung)': 'NK cell', - 'Neutrophil granulocyte(Lung)': 'neutrophil', - 'Nuocyte(Lung)': 'nuocyte', - 'Plasmacytoid dendritic cell(Lung)': "plasmacytoid dendritic cell", - 'Stromal cell_Acta2 high(Lung)': 'stromal cell', - 'Stromal cell_Dcn high(Lung)': 'stromal cell', - 'Stromal cell_Inmt high(Lung)': 'stromal cell', - 'T Cell_Cd8b1 high(Lung)': "CD8-positive, alpha-beta T cell", - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Lung2_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') - diff --git a/sfaira/data/mouse/lung/mouse_lung_2018_microwell_han_003.py b/sfaira/data/mouse/lung/mouse_lung_2018_microwell_han_003.py deleted file mode 100644 index 64b47219b..000000000 --- a/sfaira/data/mouse/lung/mouse_lung_2018_microwell_han_003.py +++ /dev/null @@ -1,97 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_lung_2018_microwell-seq_han_003_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "lung" - self.sub_tissue = "lung" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'AT1 Cell(Lung)': 'alveolar epithelial cell type I', - 'AT2 Cell(Lung)': 'alveolar epithelial cell type II', - 'Alveolar bipotent progenitor(Lung)': 'alveolar bipotent progenitor', - 'Alveolar macrophage_Ear2 high(Lung)': 'alveolar macrophage', - 'Alveolar macrophage_Pclaf high(Lung)': 'alveolar macrophage', - 'B Cell(Lung)': 'B cell', - 'Basophil(Lung)': 'basophil', - 'Ciliated cell(Lung)': 'ciliated cell', - 'Clara Cell(Lung)': 'clara cell', - 'Conventional dendritic cell_Gngt2 high(Lung)': "dendritic cell", - 'Conventional dendritic cell_H2-M2 high(Lung)': "dendritic cell", - 'Conventional dendritic cell_Mgl2 high(Lung)': "dendritic cell", - 'Conventional dendritic cell_Tubb5 high(Lung)': "dendritic cell", - 'Dendritic cell_Naaa high(Lung)': "dendritic cell", - 'Dividing T cells(Lung)': "T cell", - 'Dividing cells(Lung)': 'unknown', - 'Dividing dendritic cells(Lung)': "dendritic cell", - 'Endothelial cell_Kdr high(Lung)': "endothelial cell", - 'Endothelial cell_Tmem100 high(Lung)': "endothelial cell", - 'Endothelial cells_Vwf high(Lung)': "endothelial cell", - 'Eosinophil granulocyte(Lung)': 'eosinophil', - 'Ig−producing B cell(Lung)': 'B cell', - 'Interstitial macrophage(Lung)': 'lung macrophage', - 'Monocyte progenitor cell(Lung)': 'monocyte progenitor', - 'NK Cell(Lung)': 'NK cell', - 'Neutrophil granulocyte(Lung)': 'neutrophil', - 'Nuocyte(Lung)': 'nuocyte', - 'Plasmacytoid dendritic cell(Lung)': "plasmacytoid dendritic cell", - 'Stromal cell_Acta2 high(Lung)': 'stromal cell', - 'Stromal cell_Dcn high(Lung)': 'stromal cell', - 'Stromal cell_Inmt high(Lung)': 'stromal cell', - 'T Cell_Cd8b1 high(Lung)': "CD8-positive, alpha-beta T cell", - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Lung3_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') - diff --git a/sfaira/data/mouse/lung/mouse_lung_2019_10x_pisco_001.py b/sfaira/data/mouse/lung/mouse_lung_2019_10x_pisco_001.py deleted file mode 100644 index da2b80c7d..000000000 --- a/sfaira/data/mouse/lung/mouse_lung_2019_10x_pisco_001.py +++ /dev/null @@ -1,72 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_lung_2019_10x_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "lung" - self.sub_tissue = "lung" - self.has_celltypes = True - - self.class_maps = { - "0": { - "ciliated columnar cell of tracheobronchial tree": "ciliated cell", - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "lung", "tabula-muris-senis-droplet-processed-official-annotations-Lung.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "lung", "Lung_droplet.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "10x" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.set_unkown_class_id(ids=["nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/lung/mouse_lung_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/lung/mouse_lung_2019_smartseq2_pisco_001.py deleted file mode 100644 index 0eae363a0..000000000 --- a/sfaira/data/mouse/lung/mouse_lung_2019_smartseq2_pisco_001.py +++ /dev/null @@ -1,72 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_lung_2019_smartseq2_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "lung" - self.sub_tissue = "lung" - self.has_celltypes = True - - self.class_maps = { - "0": { - "ciliated columnar cell of tracheobronchial tree": "ciliated cell", - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "lung", "tabula-muris-senis-facs-processed-official-annotations-Lung.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "lung", "Lung_facs.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "smartseq2" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.set_unkown_class_id(ids=["nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/malegonad/__init__.py b/sfaira/data/mouse/malegonad/__init__.py deleted file mode 100644 index a56dbc2f4..000000000 --- a/sfaira/data/mouse/malegonad/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_malegonad import DatasetGroupMalegonad \ No newline at end of file diff --git a/sfaira/data/mouse/malegonad/external.py b/sfaira/data/mouse/malegonad/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/mouse/malegonad/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/mouse/malegonad/mouse_malegonad.py b/sfaira/data/mouse/malegonad/mouse_malegonad.py deleted file mode 100644 index da9610f39..000000000 --- a/sfaira/data/mouse/malegonad/mouse_malegonad.py +++ /dev/null @@ -1,28 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .mouse_malegonad_2018_microwell_han_001 import Dataset as Dataset0001 -from .mouse_malegonad_2018_microwell_han_002 import Dataset as Dataset0002 - - -class DatasetGroupMalegonad(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.mouse import DatasetGroupMalegonad - self.datasets.update(DatasetGroupMalegonad().datasets) - except ImportError: - pass diff --git a/sfaira/data/mouse/malegonad/mouse_malegonad_2018_microwell_han_001.py b/sfaira/data/mouse/malegonad/mouse_malegonad_2018_microwell_han_001.py deleted file mode 100644 index b3c9dad50..000000000 --- a/sfaira/data/mouse/malegonad/mouse_malegonad_2018_microwell_han_001.py +++ /dev/null @@ -1,83 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_malegonad_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "malegonad" - self.sub_tissue = "malegonad" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Elongating spermatid(Testis)': 'elongating spermatid', - 'Erythroblast_Hbb-bs high(Testis)': 'erythroblast', - 'Leydig cell(Testis)': 'leydig cell', - 'Macrophage_Lyz2 high(Testis)': 'macrophage', - 'Pre-Sertoli cell_Cst9 high(Testis)': 'pre-sertoli cell', - 'Pre-Sertoli cell_Ctsl high(Testis)': 'pre-sertoli cell', - 'Preleptotene spermatogonia(Testis)': 'preleptotene spermatogonia', - 'Sertoli cell(Testis)': 'sertoli cell', - 'Spermatids_1700016P04Rik high(Testis)': 'spermatid', - 'Spermatids_Cst13 high(Testis)': 'spermatid', - 'Spermatids_Hmgb4 high(Testis)': 'spermatid', - 'Spermatids_Tnp1 high(Testis)': 'spermatid', - 'Spermatocyte_1700001F09Rik high(Testis)': 'spermatocyte', - 'Spermatocyte_Cabs1 high(Testis)': 'spermatocyte', - 'Spermatocyte_Calm2 high(Testis)': 'spermatocyte', - 'Spermatocyte_Mesp1 high(Testis)': 'spermatocyte', - 'Spermatocyte_Slc2a3 high(Testis)': 'spermatocyte', - 'Spermatogonia_1700001P01Rik high(Testis)': 'spermatogonia', - 'Spermatogonia_Tbc1d23 high(Testis)': 'spermatogonia' - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Testis1_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/malegonad/mouse_malegonad_2018_microwell_han_002.py b/sfaira/data/mouse/malegonad/mouse_malegonad_2018_microwell_han_002.py deleted file mode 100644 index c938d3fea..000000000 --- a/sfaira/data/mouse/malegonad/mouse_malegonad_2018_microwell_han_002.py +++ /dev/null @@ -1,83 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_malegonad_2018_microwell-seq_han_002_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "malegonad" - self.sub_tissue = "malegonad" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Elongating spermatid(Testis)': 'elongating spermatid', - 'Erythroblast_Hbb-bs high(Testis)': 'erythroblast', - 'Leydig cell(Testis)': 'leydig cell', - 'Macrophage_Lyz2 high(Testis)': 'macrophage', - 'Pre-Sertoli cell_Cst9 high(Testis)': 'pre-sertoli cell', - 'Pre-Sertoli cell_Ctsl high(Testis)': 'pre-sertoli cell', - 'Preleptotene spermatogonia(Testis)': 'preleptotene spermatogonia', - 'Sertoli cell(Testis)': 'sertoli cell', - 'Spermatids_1700016P04Rik high(Testis)': 'spermatid', - 'Spermatids_Cst13 high(Testis)': 'spermatid', - 'Spermatids_Hmgb4 high(Testis)': 'spermatid', - 'Spermatids_Tnp1 high(Testis)': 'spermatid', - 'Spermatocyte_1700001F09Rik high(Testis)': 'spermatocyte', - 'Spermatocyte_Cabs1 high(Testis)': 'spermatocyte', - 'Spermatocyte_Calm2 high(Testis)': 'spermatocyte', - 'Spermatocyte_Mesp1 high(Testis)': 'spermatocyte', - 'Spermatocyte_Slc2a3 high(Testis)': 'spermatocyte', - 'Spermatogonia_1700001P01Rik high(Testis)': 'spermatogonia', - 'Spermatogonia_Tbc1d23 high(Testis)': 'spermatogonia' - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Testis2_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/mammarygland/__init__.py b/sfaira/data/mouse/mammarygland/__init__.py deleted file mode 100644 index 6a42b03d9..000000000 --- a/sfaira/data/mouse/mammarygland/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_mammarygland import DatasetGroupMammaryGland \ No newline at end of file diff --git a/sfaira/data/mouse/mammarygland/external.py b/sfaira/data/mouse/mammarygland/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/mouse/mammarygland/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/mouse/mammarygland/mouse_mammarygland.py b/sfaira/data/mouse/mammarygland/mouse_mammarygland.py deleted file mode 100644 index d7cdbd797..000000000 --- a/sfaira/data/mouse/mammarygland/mouse_mammarygland.py +++ /dev/null @@ -1,36 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .mouse_mammarygland_2019_10x_pisco_001 import Dataset as Dataset0001 -from .mouse_mammarygland_2019_smartseq2_pisco_001 import Dataset as Dataset0002 -from .mouse_mammarygland_2018_microwell_han_001 import Dataset as Dataset0003 -from .mouse_mammarygland_2018_microwell_han_002 import Dataset as Dataset0004 -from .mouse_mammarygland_2018_microwell_han_003 import Dataset as Dataset0005 -from .mouse_mammarygland_2018_microwell_han_004 import Dataset as Dataset0006 - - -class DatasetGroupMammaryGland(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path), - Dataset0004(path=path, meta_path=meta_path), - Dataset0005(path=path, meta_path=meta_path), - Dataset0006(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.mouse import DatasetGroupMammaryGland - self.datasets.update(DatasetGroupMammaryGland().datasets) - except ImportError: - pass \ No newline at end of file diff --git a/sfaira/data/mouse/mammarygland/mouse_mammarygland_2018_microwell_han_001.py b/sfaira/data/mouse/mammarygland/mouse_mammarygland_2018_microwell_han_001.py deleted file mode 100644 index 2bea3de8b..000000000 --- a/sfaira/data/mouse/mammarygland/mouse_mammarygland_2018_microwell_han_001.py +++ /dev/null @@ -1,80 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_mammarygland_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "mammarygland" - self.sub_tissue = "mammarygland" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'B cell_Cd79a&Fcer2a high(Mammary-Gland-Virgin)': 'B cell', - 'B cell_Cd79a&Iglc2 high(Mammary-Gland-Virgin)': 'B cell', - 'B cell_Jchain high(Mammary-Gland-Virgin)': 'B cell', - 'Dendritic cell_Cst3 high(Mammary-Gland-Virgin)': 'dendritic cell', - 'Dendritic cell_Fscn1 high(Mammary-Gland-Virgin)': 'dendritic cell', - 'Dendritic cell_Siglech high(Mammary-Gland-Virgin)': 'dendritic cell', - 'Dividing cell(Mammary-Gland-Virgin)': 'proliferative cell', - 'Luminal cell_Krt19 high (Mammary-Gland-Virgin)': 'luminal epithelial cell of mammary gland', - 'Luminal progenitor(Mammary-Gland-Virgin)': 'luminal progenitor cell', - 'Macrophage_C1qc high(Mammary-Gland-Virgin)': 'macrophage', - 'Macrophage_Lyz1 high(Mammary-Gland-Virgin)': 'macrophage', - 'NK cell(Mammary-Gland-Virgin)': 'NK cell', - 'Stem and progenitor cell(Mammary-Gland-Virgin)': 'stem and progenitor cell', - 'Stromal cell_Col3a1 high(Mammary-Gland-Virgin)': 'stromal cell', - 'Stromal cell_Pi16 high(Mammary-Gland-Virgin)': 'stromal cell', - 'T cell_Cd8b1 high(Mammary-Gland-Virgin)': 'T cell', - 'T cell_Ly6c2 high(Mammary-Gland-Virgin)': 'T cell', - 'T-cells_Ctla4 high(Mammary-Gland-Virgin)': 'T cell' - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "MammaryGland.Virgin1_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/mammarygland/mouse_mammarygland_2018_microwell_han_002.py b/sfaira/data/mouse/mammarygland/mouse_mammarygland_2018_microwell_han_002.py deleted file mode 100644 index 2061683e5..000000000 --- a/sfaira/data/mouse/mammarygland/mouse_mammarygland_2018_microwell_han_002.py +++ /dev/null @@ -1,81 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_mammarygland_2018_microwell-seq_han_002_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "mammarygland" - self.sub_tissue = "mammarygland" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'B cell_Cd79a&Fcer2a high(Mammary-Gland-Virgin)': 'B cell', - 'B cell_Cd79a&Iglc2 high(Mammary-Gland-Virgin)': 'B cell', - 'B cell_Jchain high(Mammary-Gland-Virgin)': 'B cell', - 'Dendritic cell_Cst3 high(Mammary-Gland-Virgin)': 'dendritic cell', - 'Dendritic cell_Fscn1 high(Mammary-Gland-Virgin)': 'dendritic cell', - 'Dendritic cell_Siglech high(Mammary-Gland-Virgin)': 'dendritic cell', - 'Dividing cell(Mammary-Gland-Virgin)': 'proliferative cell', - 'Luminal cell_Krt19 high (Mammary-Gland-Virgin)': 'luminal epithelial cell of mammary gland', - 'Luminal progenitor(Mammary-Gland-Virgin)': 'luminal progenitor cell', - 'Macrophage_C1qc high(Mammary-Gland-Virgin)': 'macrophage', - 'Macrophage_Lyz1 high(Mammary-Gland-Virgin)': 'macrophage', - 'NK cell(Mammary-Gland-Virgin)': 'NK cell', - 'Stem and progenitor cell(Mammary-Gland-Virgin)': 'stem and progenitor cell', - 'Stromal cell_Col3a1 high(Mammary-Gland-Virgin)': 'stromal cell', - 'Stromal cell_Pi16 high(Mammary-Gland-Virgin)': 'stromal cell', - 'T cell_Cd8b1 high(Mammary-Gland-Virgin)': 'T cell', - 'T cell_Ly6c2 high(Mammary-Gland-Virgin)': 'T cell', - 'T-cells_Ctla4 high(Mammary-Gland-Virgin)': 'T cell' - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "MammaryGland.Virgin2_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') - diff --git a/sfaira/data/mouse/mammarygland/mouse_mammarygland_2018_microwell_han_003.py b/sfaira/data/mouse/mammarygland/mouse_mammarygland_2018_microwell_han_003.py deleted file mode 100644 index fb6ae9ab4..000000000 --- a/sfaira/data/mouse/mammarygland/mouse_mammarygland_2018_microwell_han_003.py +++ /dev/null @@ -1,81 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_mammarygland_2018_microwell-seq_han_003_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "mammarygland" - self.sub_tissue = "mammarygland" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'B cell_Cd79a&Fcer2a high(Mammary-Gland-Virgin)': 'B cell', - 'B cell_Cd79a&Iglc2 high(Mammary-Gland-Virgin)': 'B cell', - 'B cell_Jchain high(Mammary-Gland-Virgin)': 'B cell', - 'Dendritic cell_Cst3 high(Mammary-Gland-Virgin)': 'dendritic cell', - 'Dendritic cell_Fscn1 high(Mammary-Gland-Virgin)': 'dendritic cell', - 'Dendritic cell_Siglech high(Mammary-Gland-Virgin)': 'dendritic cell', - 'Dividing cell(Mammary-Gland-Virgin)': 'proliferative cell', - 'Luminal cell_Krt19 high (Mammary-Gland-Virgin)': 'luminal epithelial cell of mammary gland', - 'Luminal progenitor(Mammary-Gland-Virgin)': 'luminal progenitor cell', - 'Macrophage_C1qc high(Mammary-Gland-Virgin)': 'macrophage', - 'Macrophage_Lyz1 high(Mammary-Gland-Virgin)': 'macrophage', - 'NK cell(Mammary-Gland-Virgin)': 'NK cell', - 'Stem and progenitor cell(Mammary-Gland-Virgin)': 'stem and progenitor cell', - 'Stromal cell_Col3a1 high(Mammary-Gland-Virgin)': 'stromal cell', - 'Stromal cell_Pi16 high(Mammary-Gland-Virgin)': 'stromal cell', - 'T cell_Cd8b1 high(Mammary-Gland-Virgin)': 'T cell', - 'T cell_Ly6c2 high(Mammary-Gland-Virgin)': 'T cell', - 'T-cells_Ctla4 high(Mammary-Gland-Virgin)': 'T cell' - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "MammaryGland.Virgin3_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') - diff --git a/sfaira/data/mouse/mammarygland/mouse_mammarygland_2018_microwell_han_004.py b/sfaira/data/mouse/mammarygland/mouse_mammarygland_2018_microwell_han_004.py deleted file mode 100644 index 69e3949d6..000000000 --- a/sfaira/data/mouse/mammarygland/mouse_mammarygland_2018_microwell_han_004.py +++ /dev/null @@ -1,81 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_mammarygland_2018_microwell-seq_han_004_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "mammarygland" - self.sub_tissue = "mammarygland" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'B cell_Cd79a&Fcer2a high(Mammary-Gland-Virgin)': 'B cell', - 'B cell_Cd79a&Iglc2 high(Mammary-Gland-Virgin)': 'B cell', - 'B cell_Jchain high(Mammary-Gland-Virgin)': 'B cell', - 'Dendritic cell_Cst3 high(Mammary-Gland-Virgin)': 'dendritic cell', - 'Dendritic cell_Fscn1 high(Mammary-Gland-Virgin)': 'dendritic cell', - 'Dendritic cell_Siglech high(Mammary-Gland-Virgin)': 'dendritic cell', - 'Dividing cell(Mammary-Gland-Virgin)': 'proliferative cell', - 'Luminal cell_Krt19 high (Mammary-Gland-Virgin)': 'luminal epithelial cell of mammary gland', - 'Luminal progenitor(Mammary-Gland-Virgin)': 'luminal progenitor cell', - 'Macrophage_C1qc high(Mammary-Gland-Virgin)': 'macrophage', - 'Macrophage_Lyz1 high(Mammary-Gland-Virgin)': 'macrophage', - 'NK cell(Mammary-Gland-Virgin)': 'NK cell', - 'Stem and progenitor cell(Mammary-Gland-Virgin)': 'stem and progenitor cell', - 'Stromal cell_Col3a1 high(Mammary-Gland-Virgin)': 'stromal cell', - 'Stromal cell_Pi16 high(Mammary-Gland-Virgin)': 'stromal cell', - 'T cell_Cd8b1 high(Mammary-Gland-Virgin)': 'T cell', - 'T cell_Ly6c2 high(Mammary-Gland-Virgin)': 'T cell', - 'T-cells_Ctla4 high(Mammary-Gland-Virgin)': 'T cell' - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "MammaryGland.Virgin4_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') - diff --git a/sfaira/data/mouse/mammarygland/mouse_mammarygland_2019_10x_pisco_001.py b/sfaira/data/mouse/mammarygland/mouse_mammarygland_2019_10x_pisco_001.py deleted file mode 100644 index b2d5d8e47..000000000 --- a/sfaira/data/mouse/mammarygland/mouse_mammarygland_2019_10x_pisco_001.py +++ /dev/null @@ -1,69 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_mammarygland_2019_10x_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "mammarygland" - self.sub_tissue = "mammarygland" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "mammarygland", "tabula-muris-senis-droplet-processed-official-annotations-Mammary_Gland.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "mammarygland", "Mammary_Gland_droplet.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "10x" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/mammarygland/mouse_mammarygland_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/mammarygland/mouse_mammarygland_2019_smartseq2_pisco_001.py deleted file mode 100644 index b442c7f20..000000000 --- a/sfaira/data/mouse/mammarygland/mouse_mammarygland_2019_smartseq2_pisco_001.py +++ /dev/null @@ -1,69 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_mammarygland_2019_smartseq2_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "mammarygland" - self.sub_tissue = "mammarygland" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "mammarygland", "tabula-muris-senis-facs-processed-official-annotations-Mammary_Gland.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "mammarygland", "Mammary_Gland_facs.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "smartseq2" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/muscle/__init__.py b/sfaira/data/mouse/muscle/__init__.py deleted file mode 100644 index fa8cb5cfd..000000000 --- a/sfaira/data/mouse/muscle/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_muscle import DatasetGroupMuscle \ No newline at end of file diff --git a/sfaira/data/mouse/muscle/external.py b/sfaira/data/mouse/muscle/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/mouse/muscle/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/mouse/muscle/mouse_muscle.py b/sfaira/data/mouse/muscle/mouse_muscle.py deleted file mode 100644 index d3eb6f583..000000000 --- a/sfaira/data/mouse/muscle/mouse_muscle.py +++ /dev/null @@ -1,30 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .mouse_muscle_2019_10x_pisco_001 import Dataset as Dataset0001 -from .mouse_muscle_2019_smartseq2_pisco_001 import Dataset as Dataset0002 -from .mouse_muscle_2018_microwell_han_001 import Dataset as Dataset0003 - - -class DatasetGroupMuscle(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.mouse import DatasetGroupMuscle - self.datasets.update(DatasetGroupMuscle().datasets) - except ImportError: - pass \ No newline at end of file diff --git a/sfaira/data/mouse/muscle/mouse_muscle_2018_microwell_han_001.py b/sfaira/data/mouse/muscle/mouse_muscle_2018_microwell_han_001.py deleted file mode 100644 index afa327a9f..000000000 --- a/sfaira/data/mouse/muscle/mouse_muscle_2018_microwell_han_001.py +++ /dev/null @@ -1,82 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_muscle_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "muscle" - self.sub_tissue = "muscle" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'B cell_Jchain high(Muscle)': 'B cell', - 'B cell_Vpreb3 high(Muscle)': 'B cell', - 'Dendritic cell(Muscle)': 'dendritic cell', - 'Endothelial cell(Muscle)': 'endothelial cell', - 'Erythroblast_Car1 high(Muscle)': 'erythroblast', - 'Erythroblast_Car2 high(Muscle)': 'erythroblast', - 'Granulocyte monocyte progenitor cell(Muscle)': 'monocyte progenitor', - 'Macrophage_Ms4a6c high(Muscle)': 'macrophage', - 'Macrophage_Retnla high(Muscle)': 'macrophage', - 'Muscle cell_Tnnc1 high(Muscle)': 'muscle cell', - 'Muscle cell_Tnnc2 high(Muscle)': 'muscle cell', - 'Muscle progenitor cell(Muscle)': 'skeletal muscle satellite cell', - 'Neutrophil_Camp high(Muscle)': 'neutrophil', - 'Neutrophil_Prg2 high(Muscle)': 'neutrophil', - 'Neutrophil_Retnlg high(Muscle)': 'neutrophil', - 'Stromal cell(Muscle)': 'stromal cell', - 'T cell(Muscle)': 'T cell', - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Muscle_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') - diff --git a/sfaira/data/mouse/muscle/mouse_muscle_2019_10x_pisco_001.py b/sfaira/data/mouse/muscle/mouse_muscle_2019_10x_pisco_001.py deleted file mode 100644 index ae3a2c9c3..000000000 --- a/sfaira/data/mouse/muscle/mouse_muscle_2019_10x_pisco_001.py +++ /dev/null @@ -1,69 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_muscle_2019_10x_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "muscle" - self.sub_tissue = "muscle" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "muscle", "tabula-muris-senis-droplet-processed-official-annotations-Limb_Muscle.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "muscle", "Limb_Muscle_droplet.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "10x" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/muscle/mouse_muscle_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/muscle/mouse_muscle_2019_smartseq2_pisco_001.py deleted file mode 100644 index 06a563163..000000000 --- a/sfaira/data/mouse/muscle/mouse_muscle_2019_smartseq2_pisco_001.py +++ /dev/null @@ -1,69 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_muscle_2019_smartseq2_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "muscle" - self.sub_tissue = "muscle" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "muscle", "tabula-muris-senis-facs-processed-official-annotations-Limb_Muscle.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "muscle", "Limb_Muscle_facs.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "smartseq2" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/pancreas/__init__.py b/sfaira/data/mouse/pancreas/__init__.py deleted file mode 100644 index 27d79134c..000000000 --- a/sfaira/data/mouse/pancreas/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_pancreas import DatasetGroupPancreas \ No newline at end of file diff --git a/sfaira/data/mouse/pancreas/external.py b/sfaira/data/mouse/pancreas/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/mouse/pancreas/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/mouse/pancreas/mouse_pancreas.py b/sfaira/data/mouse/pancreas/mouse_pancreas.py deleted file mode 100644 index b036de4b3..000000000 --- a/sfaira/data/mouse/pancreas/mouse_pancreas.py +++ /dev/null @@ -1,46 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .mouse_pancreas_2019_10x_pisco_001 import Dataset as Dataset0001 -from .mouse_pancreas_2019_smartseq2_pisco_001 import Dataset as Dataset0002 -from .mouse_pancreas_2018_microwell_han_001 import Dataset as Dataset0003 -from .mouse_pancreas_2019_10x_thompson_001 import Dataset as Dataset0004 -from .mouse_pancreas_2019_10x_thompson_002 import Dataset as Dataset0005 -from .mouse_pancreas_2019_10x_thompson_003 import Dataset as Dataset0006 -from .mouse_pancreas_2019_10x_thompson_004 import Dataset as Dataset0007 -from .mouse_pancreas_2019_10x_thompson_005 import Dataset as Dataset0008 -from .mouse_pancreas_2019_10x_thompson_006 import Dataset as Dataset0009 -from .mouse_pancreas_2019_10x_thompson_007 import Dataset as Dataset0010 -from .mouse_pancreas_2019_10x_thompson_008 import Dataset as Dataset0011 - - -class DatasetGroupPancreas(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path), - Dataset0004(path=path, meta_path=meta_path), - Dataset0005(path=path, meta_path=meta_path), - Dataset0006(path=path, meta_path=meta_path), - Dataset0007(path=path, meta_path=meta_path), - Dataset0008(path=path, meta_path=meta_path), - Dataset0009(path=path, meta_path=meta_path), - Dataset0010(path=path, meta_path=meta_path), - Dataset0011(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.mouse import DatasetGroupPancreas - self.datasets.update(DatasetGroupPancreas().datasets) - except ImportError: - pass diff --git a/sfaira/data/mouse/pancreas/mouse_pancreas_2018_microwell_han_001.py b/sfaira/data/mouse/pancreas/mouse_pancreas_2018_microwell_han_001.py deleted file mode 100644 index 11786a84f..000000000 --- a/sfaira/data/mouse/pancreas/mouse_pancreas_2018_microwell_han_001.py +++ /dev/null @@ -1,86 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_pancreas_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "pancreas" - self.sub_tissue = "pancreas" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Acinar cell(Pancreas)': 'pancreatic acinar cell', - 'Dendrtic cell(Pancreas)': 'dendritic cell', - 'Ductal cell(Pancreas)': 'pancreatic ductal cell', - 'Endocrine cell(Pancreas)': "endocrine cell", - 'Dividing cell(Pancreas)': "endocrine cell", - 'Endothelial cell_Fabp4 high(Pancreas)': 'endothelial cell', - 'Endothelial cell_Lrg1 high(Pancreas)': 'endothelial cell', - 'Endothelial cell_Tm4sf1 high(Pancreas)': 'endothelial cell', - 'Erythroblast_Hbb-bt high(Pancreas)': 'erythroblast', - 'Erythroblast_Igkc high(Pancreas)': 'erythroblast', - 'Granulocyte(Pancreas)': 'granulocyte', - 'Macrophage_Ly6c2 high(Pancreas)': 'macrophage', - 'Macrophage(Pancreas)': 'macrophage', - 'Glial cell(Pancreas)': 'glial cell', - 'Smooth muscle cell_Acta2 high(Pancreas)': 'smooth muscle cell', - 'Smooth muscle cell_Rgs5 high(Pancreas)': 'smooth muscle cell', - 'Stromal cell_Fn1 high(Pancreas)': 'stromal cell', - 'Stromal cell_Mfap4 high(Pancreas)': 'stromal cell', - 'Stromal cell_Smoc2 high(Pancreas)': 'stromal cell', - 'T cell(Pancreas)': 't cell', - 'B cell(Pancreas)': 'b cell', - 'β-cell(Pancreas)': "pancreatic B cell" - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Pancreas_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_pisco_001.py b/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_pisco_001.py deleted file mode 100644 index cf952ffcb..000000000 --- a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_pisco_001.py +++ /dev/null @@ -1,71 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_pancreas_2019_10x_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "pancreas" - self.sub_tissue = "pancreas" - self.has_celltypes = True - - self.class_maps = { - "0": { - "pancreatic ductal cel": "pancreatic ductal cell" - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "pancreas", "tabula-muris-senis-droplet-processed-official-annotations-Pancreas.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "pancreas", "Pancreas_droplet.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "10x" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_001.py b/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_001.py deleted file mode 100644 index 0165cef0c..000000000 --- a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_001.py +++ /dev/null @@ -1,77 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_pancreas_2019_10x_thompson_001_10.1016/j.cmet.2019.01.021" - self.download_website = "https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE117770" - self.organ = "pancreas" - self.sub_tissue = "pancreas" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'acinar': 'pancreatic acinar cell', - 'ductal': 'pancreatic ductal cell', - 'leukocyte': 'leukocyte', - 'T cell(Pancreas)': 't cell', - 'B cell(Pancreas)': 'b cell', - 'beta': "pancreatic B cell", - 'alpha': "pancreatic A cell", - 'delta': "pancreatic D cell", - 'pp': "pancreatic PP cell", - 'smooth_muscle': "smooth muscle cell", - 'stellate cell': "pancreatic stellate cell", - 'fibroblast': "stromal cell", - 'endothelial': "endothelial cell" - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "pancreas", "GSM3308545_NOD_08w_A") - fn_meta = os.path.join(self.path, "mouse", "pancreas", "GSM3308545_NOD_08w_A_annotation.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=0) - - self.adata = anndata.read_mtx(fn + '_matrix.mtx.gz').transpose() - self.adata.var_names = np.genfromtxt(fn + '_genes.tsv.gz', dtype=str)[:, 1] - self.adata.obs_names = np.genfromtxt(fn + '_barcodes.tsv.gz', dtype=str) - self.adata.var_names_make_unique() - self.adata = self.adata[celltypes.index] - - self.adata.uns["lab"] = "Bhushan" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1016/j.cmet.2019.01.021" - self.adata.uns["protocol"] = "10x" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = celltypes - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = celltypes - self.adata.obs["healthy"] = False - self.adata.obs["state_exact"] = "diabetic" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_002.py b/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_002.py deleted file mode 100644 index 7f282ce57..000000000 --- a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_002.py +++ /dev/null @@ -1,77 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_pancreas_2019_10x_thompson_002_10.1016/j.cmet.2019.01.021" - self.download_website = "https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE117770" - self.organ = "pancreas" - self.sub_tissue = "pancreas" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'acinar': 'pancreatic acinar cell', - 'ductal': 'pancreatic ductal cell', - 'leukocyte': 'leukocyte', - 'T cell(Pancreas)': 't cell', - 'B cell(Pancreas)': 'b cell', - 'beta': "pancreatic B cell", - 'alpha': "pancreatic A cell", - 'delta': "pancreatic D cell", - 'pp': "pancreatic PP cell", - 'smooth_muscle': "smooth muscle cell", - 'stellate cell': "pancreatic stellate cell", - 'fibroblast': "stromal cell", - 'endothelial': "endothelial cell" - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "pancreas", "GSM3308547_NOD_08w_C") - fn_meta = os.path.join(self.path, "mouse", "pancreas", "GSM3308547_NOD_08w_C_annotation.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=0) - - self.adata = anndata.read_mtx(fn + '_matrix.mtx.gz').transpose() - self.adata.var_names = np.genfromtxt(fn + '_genes.tsv.gz', dtype=str)[:, 1] - self.adata.obs_names = np.genfromtxt(fn + '_barcodes.tsv.gz', dtype=str) - self.adata.var_names_make_unique() - self.adata = self.adata[celltypes.index] - - self.adata.uns["lab"] = "Bhushan" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1016/j.cmet.2019.01.021" - self.adata.uns["protocol"] = "10x" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = celltypes - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = celltypes - self.adata.obs["healthy"] = False - self.adata.obs["state_exact"] = "diabetic" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_003.py b/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_003.py deleted file mode 100644 index c9a48f9c5..000000000 --- a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_003.py +++ /dev/null @@ -1,77 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_pancreas_2019_10x_thompson_003_10.1016/j.cmet.2019.01.021" - self.download_website = "https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE117770" - self.organ = "pancreas" - self.sub_tissue = "pancreas" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'acinar': 'pancreatic acinar cell', - 'ductal': 'pancreatic ductal cell', - 'leukocyte': 'leukocyte', - 'T cell(Pancreas)': 't cell', - 'B cell(Pancreas)': 'b cell', - 'beta': "pancreatic B cell", - 'alpha': "pancreatic A cell", - 'delta': "pancreatic D cell", - 'pp': "pancreatic PP cell", - 'smooth_muscle': "smooth muscle cell", - 'stellate cell': "pancreatic stellate cell", - 'fibroblast': "stromal cell", - 'endothelial': "endothelial cell" - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "pancreas", "GSM3308548_NOD_14w_A") - fn_meta = os.path.join(self.path, "mouse", "pancreas", "GSM3308548_NOD_14w_A_annotation.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=0) - - self.adata = anndata.read_mtx(fn + '_matrix.mtx.gz').transpose() - self.adata.var_names = np.genfromtxt(fn + '_genes.tsv.gz', dtype=str)[:, 1] - self.adata.obs_names = np.genfromtxt(fn + '_barcodes.tsv.gz', dtype=str) - self.adata.var_names_make_unique() - self.adata = self.adata[celltypes.index] - - self.adata.uns["lab"] = "Bhushan" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1016/j.cmet.2019.01.021" - self.adata.uns["protocol"] = "10x" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = celltypes - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = celltypes - self.adata.obs["healthy"] = False - self.adata.obs["state_exact"] = "diabetic" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_004.py b/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_004.py deleted file mode 100644 index bb959e09c..000000000 --- a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_004.py +++ /dev/null @@ -1,77 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_pancreas_2019_10x_thompson_004_10.1016/j.cmet.2019.01.021" - self.download_website = "https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE117770" - self.organ = "pancreas" - self.sub_tissue = "pancreas" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'acinar': 'pancreatic acinar cell', - 'ductal': 'pancreatic ductal cell', - 'leukocyte': 'leukocyte', - 'T cell(Pancreas)': 't cell', - 'B cell(Pancreas)': 'b cell', - 'beta': "pancreatic B cell", - 'alpha': "pancreatic A cell", - 'delta': "pancreatic D cell", - 'pp': "pancreatic PP cell", - 'smooth_muscle': "smooth muscle cell", - 'stellate cell': "pancreatic stellate cell", - 'fibroblast': "stromal cell", - 'endothelial': "endothelial cell" - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "pancreas", "GSM3308549_NOD_14w_B") - fn_meta = os.path.join(self.path, "mouse", "pancreas", "GSM3308549_NOD_14w_B_annotation.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=0) - - self.adata = anndata.read_mtx(fn + '_matrix.mtx.gz').transpose() - self.adata.var_names = np.genfromtxt(fn + '_genes.tsv.gz', dtype=str)[:, 1] - self.adata.obs_names = np.genfromtxt(fn + '_barcodes.tsv.gz', dtype=str) - self.adata.var_names_make_unique() - self.adata = self.adata[celltypes.index] - - self.adata.uns["lab"] = "Bhushan" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1016/j.cmet.2019.01.021" - self.adata.uns["protocol"] = "10x" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = celltypes - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = celltypes - self.adata.obs["healthy"] = False - self.adata.obs["state_exact"] = "diabetic" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_005.py b/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_005.py deleted file mode 100644 index 199f56b92..000000000 --- a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_005.py +++ /dev/null @@ -1,77 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_pancreas_2019_10x_thompson_005_10.1016/j.cmet.2019.01.021" - self.download_website = "https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE117770" - self.organ = "pancreas" - self.sub_tissue = "pancreas" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'acinar': 'pancreatic acinar cell', - 'ductal': 'pancreatic ductal cell', - 'leukocyte': 'leukocyte', - 'T cell(Pancreas)': 't cell', - 'B cell(Pancreas)': 'b cell', - 'beta': "pancreatic B cell", - 'alpha': "pancreatic A cell", - 'delta': "pancreatic D cell", - 'pp': "pancreatic PP cell", - 'smooth_muscle': "smooth muscle cell", - 'stellate cell': "pancreatic stellate cell", - 'fibroblast': "stromal cell", - 'endothelial': "endothelial cell" - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "pancreas", "GSM3308550_NOD_14w_C") - fn_meta = os.path.join(self.path, "mouse", "pancreas", "GSM3308550_NOD_14w_C_annotation.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=0) - - self.adata = anndata.read_mtx(fn + '_matrix.mtx.gz').transpose() - self.adata.var_names = np.genfromtxt(fn + '_genes.tsv.gz', dtype=str)[:, 1] - self.adata.obs_names = np.genfromtxt(fn + '_barcodes.tsv.gz', dtype=str) - self.adata.var_names_make_unique() - self.adata = self.adata[celltypes.index] - - self.adata.uns["lab"] = "Bhushan" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1016/j.cmet.2019.01.021" - self.adata.uns["protocol"] = "10x" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = celltypes - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = celltypes - self.adata.obs["healthy"] = False - self.adata.obs["state_exact"] = "diabetic" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_006.py b/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_006.py deleted file mode 100644 index f3bfe767e..000000000 --- a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_006.py +++ /dev/null @@ -1,77 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_pancreas_2019_10x_thompson_006_10.1016/j.cmet.2019.01.021" - self.download_website = "https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE117770" - self.organ = "pancreas" - self.sub_tissue = "pancreas" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'acinar': 'pancreatic acinar cell', - 'ductal': 'pancreatic ductal cell', - 'leukocyte': 'leukocyte', - 'T cell(Pancreas)': 't cell', - 'B cell(Pancreas)': 'b cell', - 'beta': "pancreatic B cell", - 'alpha': "pancreatic A cell", - 'delta': "pancreatic D cell", - 'pp': "pancreatic PP cell", - 'smooth_muscle': "smooth muscle cell", - 'stellate cell': "pancreatic stellate cell", - 'fibroblast': "stromal cell", - 'endothelial': "endothelial cell" - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "pancreas", "GSM3308551_NOD_16w_A") - fn_meta = os.path.join(self.path, "mouse", "pancreas", "GSM3308551_NOD_16w_A_annotation.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=0) - - self.adata = anndata.read_mtx(fn + '_matrix.mtx.gz').transpose() - self.adata.var_names = np.genfromtxt(fn + '_genes.tsv.gz', dtype=str)[:, 1] - self.adata.obs_names = np.genfromtxt(fn + '_barcodes.tsv.gz', dtype=str) - self.adata.var_names_make_unique() - self.adata = self.adata[celltypes.index] - - self.adata.uns["lab"] = "Bhushan" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1016/j.cmet.2019.01.021" - self.adata.uns["protocol"] = "10x" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = celltypes - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = celltypes - self.adata.obs["healthy"] = False - self.adata.obs["state_exact"] = "diabetic" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_007.py b/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_007.py deleted file mode 100644 index 8d0f7e4e3..000000000 --- a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_007.py +++ /dev/null @@ -1,77 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_pancreas_2019_10x_thompson_007_10.1016/j.cmet.2019.01.021" - self.download_website = "https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE117770" - self.organ = "pancreas" - self.sub_tissue = "pancreas" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'acinar': 'pancreatic acinar cell', - 'ductal': 'pancreatic ductal cell', - 'leukocyte': 'leukocyte', - 'T cell(Pancreas)': 't cell', - 'B cell(Pancreas)': 'b cell', - 'beta': "pancreatic B cell", - 'alpha': "pancreatic A cell", - 'delta': "pancreatic D cell", - 'pp': "pancreatic PP cell", - 'smooth_muscle': "smooth muscle cell", - 'stellate cell': "pancreatic stellate cell", - 'fibroblast': "stromal cell", - 'endothelial': "endothelial cell" - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "pancreas", "GSM3308552_NOD_16w_B") - fn_meta = os.path.join(self.path, "mouse", "pancreas", "GSM3308552_NOD_16w_B_annotation.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=0) - - self.adata = anndata.read_mtx(fn + '_matrix.mtx.gz').transpose() - self.adata.var_names = np.genfromtxt(fn + '_genes.tsv.gz', dtype=str)[:, 1] - self.adata.obs_names = np.genfromtxt(fn + '_barcodes.tsv.gz', dtype=str) - self.adata.var_names_make_unique() - self.adata = self.adata[celltypes.index] - - self.adata.uns["lab"] = "Bhushan" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1016/j.cmet.2019.01.021" - self.adata.uns["protocol"] = "10x" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = celltypes - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = celltypes - self.adata.obs["healthy"] = False - self.adata.obs["state_exact"] = "diabetic" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_008.py b/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_008.py deleted file mode 100644 index e72f25101..000000000 --- a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_10x_thompson_008.py +++ /dev/null @@ -1,77 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_pancreas_2019_10x_thompson_008_10.1016/j.cmet.2019.01.021" - self.download_website = "https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE117770" - self.organ = "pancreas" - self.sub_tissue = "pancreas" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'acinar': 'pancreatic acinar cell', - 'ductal': 'pancreatic ductal cell', - 'leukocyte': 'leukocyte', - 'T cell(Pancreas)': 't cell', - 'B cell(Pancreas)': 'b cell', - 'beta': "pancreatic B cell", - 'alpha': "pancreatic A cell", - 'delta': "pancreatic D cell", - 'pp': "pancreatic PP cell", - 'smooth_muscle': "smooth muscle cell", - 'stellate cell': "pancreatic stellate cell", - 'fibroblast': "stromal cell", - 'endothelial': "endothelial cell" - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "pancreas", "GSM3308553_NOD_16w_C") - fn_meta = os.path.join(self.path, "mouse", "pancreas", "GSM3308553_NOD_16w_C_annotation.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=0) - - self.adata = anndata.read_mtx(fn + '_matrix.mtx.gz').transpose() - self.adata.var_names = np.genfromtxt(fn + '_genes.tsv.gz', dtype=str)[:, 1] - self.adata.obs_names = np.genfromtxt(fn + '_barcodes.tsv.gz', dtype=str) - self.adata.var_names_make_unique() - self.adata = self.adata[celltypes.index] - - self.adata.uns["lab"] = "Bhushan" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1016/j.cmet.2019.01.021" - self.adata.uns["protocol"] = "10x" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = celltypes - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = celltypes - self.adata.obs["healthy"] = False - self.adata.obs["state_exact"] = "diabetic" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/pancreas/mouse_pancreas_2019_smartseq2_pisco_001.py deleted file mode 100644 index 1aae53943..000000000 --- a/sfaira/data/mouse/pancreas/mouse_pancreas_2019_smartseq2_pisco_001.py +++ /dev/null @@ -1,73 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_pancreas_2019_smartseq2_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "pancreas" - self.sub_tissue = "pancreas" - self.has_celltypes = True - - self.class_maps = { - "0": { - "pancreatic ductal cel": "pancreatic ductal cell" - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "pancreas", "tabula-muris-senis-facs-processed-official-annotations-Pancreas.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "pancreas", "Pancreas_facs.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "smartseq2" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/placenta/__init__.py b/sfaira/data/mouse/placenta/__init__.py deleted file mode 100644 index f8363fb61..000000000 --- a/sfaira/data/mouse/placenta/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_placenta import DatasetGroupPlacenta \ No newline at end of file diff --git a/sfaira/data/mouse/placenta/external.py b/sfaira/data/mouse/placenta/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/mouse/placenta/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/mouse/placenta/mouse_placenta.py b/sfaira/data/mouse/placenta/mouse_placenta.py deleted file mode 100644 index 412dda22b..000000000 --- a/sfaira/data/mouse/placenta/mouse_placenta.py +++ /dev/null @@ -1,28 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .mouse_placenta_2018_microwell_han_001 import Dataset as Dataset0001 -from .mouse_placenta_2018_microwell_han_002 import Dataset as Dataset0002 - - -class DatasetGroupPlacenta(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.mouse import DatasetGroupPlacenta - self.datasets.update(DatasetGroupPlacenta().datasets) - except ImportError: - pass diff --git a/sfaira/data/mouse/placenta/mouse_placenta_2018_microwell_han_001.py b/sfaira/data/mouse/placenta/mouse_placenta_2018_microwell_han_001.py deleted file mode 100644 index 3942615f3..000000000 --- a/sfaira/data/mouse/placenta/mouse_placenta_2018_microwell_han_001.py +++ /dev/null @@ -1,92 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_placenta_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "placenta" - self.sub_tissue = "placenta" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'B cell(Placenta)': 'B cell', - 'Basophil(Placenta)': 'basophil', - 'Decidual stromal cell(Placenta)': 'decidual stromal cell', - 'Dendritic cell(Placenta)': 'dendritic cell', - 'Endodermal cell_Afp high(Placenta)': 'endodermal cell', - 'Endothelial cell_Maged2 high(Placenta)': 'endothelial cell', - 'Erythroblast_Hbb-y high(Placenta)': 'erythroblast', - 'Granulocyte monocyte progenitors(Placenta)': 'monocyte progenitor', - 'Granulocyte_Neat1 high(Placenta)': 'granulocyte', - 'Granulocyte_S100a9 high(Placenta)': 'granulocyte', - 'HSPC_Lmo2 high(Placenta)': 'HSPC', - 'Invasive spongiotrophoblast(Placenta)': 'invasive spongiotrophoblast', - 'Labyrinthine trophoblast(Placenta)': 'labyrinthine trophoblast', - 'Macrophage_Apoe high(Placenta)': 'macrophage', - 'Macrophage_Spp1 high(Placenta)': 'macrophage', - 'Megakaryocyte progenitor cell(Placenta)': 'megakaryocte', - 'Monocyte(Placenta)': 'monocyte', - 'NK cell(Placenta)': 'NK cell', - 'NKT cell(Placenta)': 'NKT cell', - 'PE lineage cell_Gkn2 high(Placenta)': 'PE lineage cell', - 'PE lineage cell_S100g high(Placenta)': 'PE lineage cell', - 'Progenitor trophoblast_Gjb3 high(Placenta)': 'trophoblast progenitor', - 'Spiral artery trophoblast giant cells(Placenta)': 'spiral artery trophoblast giant cells', - 'Spongiotrophoblast_Hsd11b2 high(Placenta)': 'spongiotrophoblast', - 'Spongiotrophoblast_Phlda2 high(Placenta)': 'spongiotrophoblast', - 'Stromal cell(Placenta)': 'stromal cell', - 'Stromal cell_Acta2 high(Placenta)': 'stromal cell', - 'Trophoblast progenitor_Taf7l high(Placenta)': 'trophoblast progenitor', - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "PlacentaE14.1_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/placenta/mouse_placenta_2018_microwell_han_002.py b/sfaira/data/mouse/placenta/mouse_placenta_2018_microwell_han_002.py deleted file mode 100644 index 7f6cfc8c7..000000000 --- a/sfaira/data/mouse/placenta/mouse_placenta_2018_microwell_han_002.py +++ /dev/null @@ -1,92 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_placenta_2018_microwell-seq_han_002_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "placenta" - self.sub_tissue = "placenta" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'B cell(Placenta)': 'B cell', - 'Basophil(Placenta)': 'basophil', - 'Decidual stromal cell(Placenta)': 'decidual stromal cell', - 'Dendritic cell(Placenta)': 'dendritic cell', - 'Endodermal cell_Afp high(Placenta)': 'endodermal cell', - 'Endothelial cell_Maged2 high(Placenta)': 'endothelial cell', - 'Erythroblast_Hbb-y high(Placenta)': 'erythroblast', - 'Granulocyte monocyte progenitors(Placenta)': 'monocyte progenitor', - 'Granulocyte_Neat1 high(Placenta)': 'granulocyte', - 'Granulocyte_S100a9 high(Placenta)': 'granulocyte', - 'HSPC_Lmo2 high(Placenta)': 'HSPC', - 'Invasive spongiotrophoblast(Placenta)': 'invasive spongiotrophoblast', - 'Labyrinthine trophoblast(Placenta)': 'labyrinthine trophoblast', - 'Macrophage_Apoe high(Placenta)': 'macrophage', - 'Macrophage_Spp1 high(Placenta)': 'macrophage', - 'Megakaryocyte progenitor cell(Placenta)': 'megakaryocte', - 'Monocyte(Placenta)': 'monocyte', - 'NK cell(Placenta)': 'NK cell', - 'NKT cell(Placenta)': 'NKT cell', - 'PE lineage cell_Gkn2 high(Placenta)': 'PE lineage cell', - 'PE lineage cell_S100g high(Placenta)': 'PE lineage cell', - 'Progenitor trophoblast_Gjb3 high(Placenta)': 'trophoblast progenitor', - 'Spiral artery trophoblast giant cells(Placenta)': 'spiral artery trophoblast giant cells', - 'Spongiotrophoblast_Hsd11b2 high(Placenta)': 'spongiotrophoblast', - 'Spongiotrophoblast_Phlda2 high(Placenta)': 'spongiotrophoblast', - 'Stromal cell(Placenta)': 'stromal cell', - 'Stromal cell_Acta2 high(Placenta)': 'stromal cell', - 'Trophoblast progenitor_Taf7l high(Placenta)': 'trophoblast progenitor', - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "PlacentaE14.2_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/prostate/__init__.py b/sfaira/data/mouse/prostate/__init__.py deleted file mode 100644 index 2f35afd48..000000000 --- a/sfaira/data/mouse/prostate/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_prostate import DatasetGroupProstate \ No newline at end of file diff --git a/sfaira/data/mouse/prostate/external.py b/sfaira/data/mouse/prostate/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/mouse/prostate/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/mouse/prostate/mouse_prostate.py b/sfaira/data/mouse/prostate/mouse_prostate.py deleted file mode 100644 index 68354a363..000000000 --- a/sfaira/data/mouse/prostate/mouse_prostate.py +++ /dev/null @@ -1,28 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .mouse_prostate_2018_microwell_han_001 import Dataset as Dataset0001 -from .mouse_prostate_2018_microwell_han_002 import Dataset as Dataset0002 - - -class DatasetGroupProstate(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.mouse import DatasetGroupProstate - self.datasets.update(DatasetGroupProstate().datasets) - except ImportError: - pass diff --git a/sfaira/data/mouse/prostate/mouse_prostate_2018_microwell_han_001.py b/sfaira/data/mouse/prostate/mouse_prostate_2018_microwell_han_001.py deleted file mode 100644 index 21706713b..000000000 --- a/sfaira/data/mouse/prostate/mouse_prostate_2018_microwell_han_001.py +++ /dev/null @@ -1,70 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_prostate_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "prostate" - self.sub_tissue = "prostate" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Dendritic cell(Prostate)': 'dendritic cell', - 'Epithelial cell(Prostate)': 'epithelial cell', - 'Glandular epithelium(Prostate)': 'glandular epithelial cell', - 'Prostate gland cell(Prostate)': 'glandular cell', - 'Stromal cell(Prostate)': 'stromal cell', - 'T cell(Prostate)': 'T cell', - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Prostate1_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/prostate/mouse_prostate_2018_microwell_han_002.py b/sfaira/data/mouse/prostate/mouse_prostate_2018_microwell_han_002.py deleted file mode 100644 index 8a622afb7..000000000 --- a/sfaira/data/mouse/prostate/mouse_prostate_2018_microwell_han_002.py +++ /dev/null @@ -1,70 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_prostate_2018_microwell-seq_han_002_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "prostate" - self.sub_tissue = "prostate" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Dendritic cell(Prostate)': 'dendritic cell', - 'Epithelial cell(Prostate)': 'epithelial cell', - 'Glandular epithelium(Prostate)': 'glandular epithelial cell', - 'Prostate gland cell(Prostate)': 'glandular cell', - 'Stromal cell(Prostate)': 'stromal cell', - 'T cell(Prostate)': 'T cell', - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Prostate2_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/rib/__init__.py b/sfaira/data/mouse/rib/__init__.py deleted file mode 100644 index d8f73f181..000000000 --- a/sfaira/data/mouse/rib/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_rib import DatasetGroupRib \ No newline at end of file diff --git a/sfaira/data/mouse/rib/external.py b/sfaira/data/mouse/rib/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/mouse/rib/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/mouse/rib/mouse_rib.py b/sfaira/data/mouse/rib/mouse_rib.py deleted file mode 100644 index c2a80b1a0..000000000 --- a/sfaira/data/mouse/rib/mouse_rib.py +++ /dev/null @@ -1,30 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .mouse_rib_2018_microwell_han_001 import Dataset as Dataset0001 -from .mouse_rib_2018_microwell_han_002 import Dataset as Dataset0002 -from .mouse_rib_2018_microwell_han_003 import Dataset as Dataset0003 - - -class DatasetGroupRib(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.mouse import DatasetGroupRib - self.datasets.update(DatasetGroupRib().datasets) - except ImportError: - pass diff --git a/sfaira/data/mouse/rib/mouse_rib_2018_microwell_han_001.py b/sfaira/data/mouse/rib/mouse_rib_2018_microwell_han_001.py deleted file mode 100644 index 8a445e893..000000000 --- a/sfaira/data/mouse/rib/mouse_rib_2018_microwell_han_001.py +++ /dev/null @@ -1,87 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_rib_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "rib" - self.sub_tissue = "rib" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'B cell(Neonatal-Rib)': 'B cell', - 'Cartilage cell_Clu high(Neonatal-Rib)': 'cartilage cell', - 'Cartilage cell_Col2a1 high(Neonatal-Rib)': 'cartilage cell', - 'Cartilage cell_Cxcl14 high(Neonatal-Rib)': 'cartilage cell', - 'Cartilage cell_Ppa1 high(Neonatal-Rib)': 'cartilage cell', - 'Cartilage cell_Prg4 high(Neonatal-Rib)': 'cartilage cell', - 'Dividing cell(Neonatal-Rib)': 'proliferative cell', - 'Endothelial cell(Neonatal-Rib)': 'endothelial cell', - 'Erythroblast_Hba-a1 high(Neonatal-Rib)': 'erythroblast', - 'Erythroblast_Ttr high(Neonatal-Rib)': 'erythroblast', - 'Granulocyte(Neonatal-Rib)': 'granulocyte', - 'Macrophage_C1qc high(Neonatal-Rib)': 'macrophage', - 'Macrophage_Ctss high(Neonatal-Rib)': 'macrophage', - 'Muscle cell(Neonatal-Rib)': 'muscle cell', - 'Muscle cell_Acta2 high(Neonatal-Rib)': 'muscle cell', - 'Muscle cell_Actc1 high(Neonatal-Rib)': 'muscle cell', - 'Neuron_Mpz high(Neonatal-Rib)': 'neuron', - 'Neuron_Stmn2 high(Neonatal-Rib)': 'neuron', - 'Neutrophil(Neonatal-Rib)': 'neutrophil', - 'Neutrophil_Elane high(Neonatal-Rib)': 'neutrophil', - 'Oligodendrocyte(Neonatal-Rib)': 'oligodendrocyte', - 'Osteoblast(Neonatal-Rib)': 'osteoblast', - 'Osteoclast(Neonatal-Rib)': 'osteoclast', - 'Stromal cell_Acta1 high(Neonatal-Rib)': 'stromal cell', - 'Stromal cell_Tnmd high(Neonatal-Rib)': 'stromal cell', - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "NeonatalRib1_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/rib/mouse_rib_2018_microwell_han_002.py b/sfaira/data/mouse/rib/mouse_rib_2018_microwell_han_002.py deleted file mode 100644 index 3d7e693d4..000000000 --- a/sfaira/data/mouse/rib/mouse_rib_2018_microwell_han_002.py +++ /dev/null @@ -1,87 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_rib_2018_microwell-seq_han_002_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "rib" - self.sub_tissue = "rib" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'B cell(Neonatal-Rib)': 'B cell', - 'Cartilage cell_Clu high(Neonatal-Rib)': 'cartilage cell', - 'Cartilage cell_Col2a1 high(Neonatal-Rib)': 'cartilage cell', - 'Cartilage cell_Cxcl14 high(Neonatal-Rib)': 'cartilage cell', - 'Cartilage cell_Ppa1 high(Neonatal-Rib)': 'cartilage cell', - 'Cartilage cell_Prg4 high(Neonatal-Rib)': 'cartilage cell', - 'Dividing cell(Neonatal-Rib)': 'proliferative cell', - 'Endothelial cell(Neonatal-Rib)': 'endothelial cell', - 'Erythroblast_Hba-a1 high(Neonatal-Rib)': 'erythroblast', - 'Erythroblast_Ttr high(Neonatal-Rib)': 'erythroblast', - 'Granulocyte(Neonatal-Rib)': 'granulocyte', - 'Macrophage_C1qc high(Neonatal-Rib)': 'macrophage', - 'Macrophage_Ctss high(Neonatal-Rib)': 'macrophage', - 'Muscle cell(Neonatal-Rib)': 'muscle cell', - 'Muscle cell_Acta2 high(Neonatal-Rib)': 'muscle cell', - 'Muscle cell_Actc1 high(Neonatal-Rib)': 'muscle cell', - 'Neuron_Mpz high(Neonatal-Rib)': 'neuron', - 'Neuron_Stmn2 high(Neonatal-Rib)': 'neuron', - 'Neutrophil(Neonatal-Rib)': 'neutrophil', - 'Neutrophil_Elane high(Neonatal-Rib)': 'neutrophil', - 'Oligodendrocyte(Neonatal-Rib)': 'oligodendrocyte', - 'Osteoblast(Neonatal-Rib)': 'osteoblast', - 'Osteoclast(Neonatal-Rib)': 'osteoclast', - 'Stromal cell_Acta1 high(Neonatal-Rib)': 'stromal cell', - 'Stromal cell_Tnmd high(Neonatal-Rib)': 'stromal cell', - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "NeonatalRib2_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/rib/mouse_rib_2018_microwell_han_003.py b/sfaira/data/mouse/rib/mouse_rib_2018_microwell_han_003.py deleted file mode 100644 index 77bcdf73a..000000000 --- a/sfaira/data/mouse/rib/mouse_rib_2018_microwell_han_003.py +++ /dev/null @@ -1,87 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_rib_2018_microwell-seq_han_003_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "rib" - self.sub_tissue = "rib" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'B cell(Neonatal-Rib)': 'B cell', - 'Cartilage cell_Clu high(Neonatal-Rib)': 'cartilage cell', - 'Cartilage cell_Col2a1 high(Neonatal-Rib)': 'cartilage cell', - 'Cartilage cell_Cxcl14 high(Neonatal-Rib)': 'cartilage cell', - 'Cartilage cell_Ppa1 high(Neonatal-Rib)': 'cartilage cell', - 'Cartilage cell_Prg4 high(Neonatal-Rib)': 'cartilage cell', - 'Dividing cell(Neonatal-Rib)': 'proliferative cell', - 'Endothelial cell(Neonatal-Rib)': 'endothelial cell', - 'Erythroblast_Hba-a1 high(Neonatal-Rib)': 'erythroblast', - 'Erythroblast_Ttr high(Neonatal-Rib)': 'erythroblast', - 'Granulocyte(Neonatal-Rib)': 'granulocyte', - 'Macrophage_C1qc high(Neonatal-Rib)': 'macrophage', - 'Macrophage_Ctss high(Neonatal-Rib)': 'macrophage', - 'Muscle cell(Neonatal-Rib)': 'muscle cell', - 'Muscle cell_Acta2 high(Neonatal-Rib)': 'muscle cell', - 'Muscle cell_Actc1 high(Neonatal-Rib)': 'muscle cell', - 'Neuron_Mpz high(Neonatal-Rib)': 'neuron', - 'Neuron_Stmn2 high(Neonatal-Rib)': 'neuron', - 'Neutrophil(Neonatal-Rib)': 'neutrophil', - 'Neutrophil_Elane high(Neonatal-Rib)': 'neutrophil', - 'Oligodendrocyte(Neonatal-Rib)': 'oligodendrocyte', - 'Osteoblast(Neonatal-Rib)': 'osteoblast', - 'Osteoclast(Neonatal-Rib)': 'osteoclast', - 'Stromal cell_Acta1 high(Neonatal-Rib)': 'stromal cell', - 'Stromal cell_Tnmd high(Neonatal-Rib)': 'stromal cell', - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "NeonatalRib3_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/skin/__init__.py b/sfaira/data/mouse/skin/__init__.py deleted file mode 100644 index 232177187..000000000 --- a/sfaira/data/mouse/skin/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_skin import DatasetGroupSkin \ No newline at end of file diff --git a/sfaira/data/mouse/skin/external.py b/sfaira/data/mouse/skin/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/mouse/skin/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/mouse/skin/mouse_skin.py b/sfaira/data/mouse/skin/mouse_skin.py deleted file mode 100644 index b8b33a0e2..000000000 --- a/sfaira/data/mouse/skin/mouse_skin.py +++ /dev/null @@ -1,28 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .mouse_skin_2019_10x_pisco_001 import Dataset as Dataset0001 -from .mouse_skin_2019_smartseq2_pisco_001 import Dataset as Dataset0002 - - -class DatasetGroupSkin(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.mouse import DatasetGroupSkin - self.datasets.update(DatasetGroupSkin().datasets) - except ImportError: - pass \ No newline at end of file diff --git a/sfaira/data/mouse/skin/mouse_skin_2019_10x_pisco_001.py b/sfaira/data/mouse/skin/mouse_skin_2019_10x_pisco_001.py deleted file mode 100644 index c7f5fdd8e..000000000 --- a/sfaira/data/mouse/skin/mouse_skin_2019_10x_pisco_001.py +++ /dev/null @@ -1,71 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_skin_2019_10x_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "skin" - self.sub_tissue = "skin" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "skin", "tabula-muris-senis-droplet-processed-official-annotations-Skin.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "skin", "Skin_droplet.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "10x" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/skin/mouse_skin_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/skin/mouse_skin_2019_smartseq2_pisco_001.py deleted file mode 100644 index be1dc7b71..000000000 --- a/sfaira/data/mouse/skin/mouse_skin_2019_smartseq2_pisco_001.py +++ /dev/null @@ -1,72 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_skin_2019_smartseq2_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "skin" - self.sub_tissue = "skin" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "skin", "Skin_facs.h5ad") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "skin", "tabula-muris-senis-facs-processed-official-annotations-Skin.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "skin", "Skin_facs.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "smartseq2" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/spleen/__init__.py b/sfaira/data/mouse/spleen/__init__.py deleted file mode 100644 index 90981c60b..000000000 --- a/sfaira/data/mouse/spleen/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_spleen import DatasetGroupSpleen \ No newline at end of file diff --git a/sfaira/data/mouse/spleen/external.py b/sfaira/data/mouse/spleen/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/mouse/spleen/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/mouse/spleen/mouse_spleen.py b/sfaira/data/mouse/spleen/mouse_spleen.py deleted file mode 100644 index 27ab1559e..000000000 --- a/sfaira/data/mouse/spleen/mouse_spleen.py +++ /dev/null @@ -1,30 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .mouse_spleen_2019_10x_pisco_001 import Dataset as Dataset0001 -from .mouse_spleen_2019_smartseq2_pisco_001 import Dataset as Dataset0002 -from .mouse_spleen_2018_microwell_han_001 import Dataset as Dataset0003 - - -class DatasetGroupSpleen(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.mouse import DatasetGroupSpleen - self.datasets.update(DatasetGroupSpleen().datasets) - except ImportError: - pass diff --git a/sfaira/data/mouse/spleen/mouse_spleen_2018_microwell_han_001.py b/sfaira/data/mouse/spleen/mouse_spleen_2018_microwell_han_001.py deleted file mode 100644 index fcd5ed494..000000000 --- a/sfaira/data/mouse/spleen/mouse_spleen_2018_microwell_han_001.py +++ /dev/null @@ -1,75 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_spleen_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "spleen" - self.sub_tissue = "spleen" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Erythroblast(Spleen)': 'proerythroblast', - 'Dendritic cell_S100a4 high(Spleen)': 'dendritic cell', - 'Dendritic cell_Siglech high(Spleen)': 'dendritic cell', - 'Granulocyte(Spleen)': 'granulocyte', - 'Macrophage(Spleen)': 'macrophage', - 'Monocyte(Spleen)': 'monocyte', - 'NK cell(Spleen)': 'NK cell', - 'Neutrophil(Spleen)': 'neutrophil', - 'Plasma cell(Spleen)': 'plasma cell', - 'T cell(Spleen)': 'T cell', - 'Marginal zone B cell(Spleen)': 'B cell' - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Spleen_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/spleen/mouse_spleen_2019_10x_pisco_001.py b/sfaira/data/mouse/spleen/mouse_spleen_2019_10x_pisco_001.py deleted file mode 100644 index a65d097b5..000000000 --- a/sfaira/data/mouse/spleen/mouse_spleen_2019_10x_pisco_001.py +++ /dev/null @@ -1,71 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_spleen_2019_10x_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "spleen" - self.sub_tissue = "spleen" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "spleen", "tabula-muris-senis-facs-processed-official-annotations-Spleen.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "spleen", "Spleen_droplet.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "10x" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/spleen/mouse_spleen_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/spleen/mouse_spleen_2019_smartseq2_pisco_001.py deleted file mode 100644 index 1575c8dd7..000000000 --- a/sfaira/data/mouse/spleen/mouse_spleen_2019_smartseq2_pisco_001.py +++ /dev/null @@ -1,71 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_spleen_2019_smartseq2_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "spleen" - self.sub_tissue = "spleen" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "spleen", "tabula-muris-senis-facs-processed-official-annotations-Spleen.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "spleen", "Spleen_facs.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "smartseq2" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/stomach/__init__.py b/sfaira/data/mouse/stomach/__init__.py deleted file mode 100644 index f9f2d2ead..000000000 --- a/sfaira/data/mouse/stomach/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_stomach import DatasetGroupStomach \ No newline at end of file diff --git a/sfaira/data/mouse/stomach/external.py b/sfaira/data/mouse/stomach/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/mouse/stomach/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/mouse/stomach/mouse_stomach.py b/sfaira/data/mouse/stomach/mouse_stomach.py deleted file mode 100644 index cabeaf994..000000000 --- a/sfaira/data/mouse/stomach/mouse_stomach.py +++ /dev/null @@ -1,26 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .mouse_stomach_2018_microwell_han_001 import Dataset as Dataset0001 - - -class DatasetGroupStomach(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.mouse import DatasetGroupStomach - self.datasets.update(DatasetGroupStomach().datasets) - except ImportError: - pass diff --git a/sfaira/data/mouse/stomach/mouse_stomach_2018_microwell_han_001.py b/sfaira/data/mouse/stomach/mouse_stomach_2018_microwell_han_001.py deleted file mode 100644 index 5e2aaae2d..000000000 --- a/sfaira/data/mouse/stomach/mouse_stomach_2018_microwell_han_001.py +++ /dev/null @@ -1,81 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_stomach_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "stomach" - self.sub_tissue = "stomach" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'Antral mucous cell (Stomach)': 'antral mucous cell', - 'Dendritic cell(Stomach)': 'dendritic cell', - 'Dividing cell(Stomach)': 'proliferative cell', - 'Epithelial cell_Gkn3 high(Stomach)': 'epithelial cell', - 'Epithelial cell_Krt20 high(Stomach)': 'epithelial cell', - 'Epithelial cell_Pla2g1b high(Stomach)': 'epithelial cell', - 'G cell(Stomach)': 'G cell', - 'Gastric mucosal cell(Stomach)': 'gastric mucosal cell', - 'Macrophage(Stomach)': 'macrophage', - 'Muscle cell(Stomach)': 'muscle cell', - 'Parietal cell (Stomach)': 'parietal cell', - 'Pit cell_Gm26917 high(Stomach)': 'pit cell', - 'Pit cell_Ifrd1 high(Stomach)': 'pit cell', - 'Stomach cell_Gkn2 high(Stomach)': 'stomach cell', - 'Stomach cell_Mt2 high(Stomach)': 'stomach cell', - 'Stomach cell_Muc5ac high(Stomach)': 'stomach cell', - 'Tuft cell(Stomach)': 'tuft cell' - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas", "500more_dge", "Stomach_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/thymus/__init__.py b/sfaira/data/mouse/thymus/__init__.py deleted file mode 100644 index b01b604c8..000000000 --- a/sfaira/data/mouse/thymus/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_thymus import DatasetGroupThymus \ No newline at end of file diff --git a/sfaira/data/mouse/thymus/external.py b/sfaira/data/mouse/thymus/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/mouse/thymus/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/mouse/thymus/mouse_thymus.py b/sfaira/data/mouse/thymus/mouse_thymus.py deleted file mode 100644 index fe707f8fd..000000000 --- a/sfaira/data/mouse/thymus/mouse_thymus.py +++ /dev/null @@ -1,30 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .mouse_thymus_2019_10x_pisco_001 import Dataset as Dataset0001 -from .mouse_thymus_2019_smartseq2_pisco_001 import Dataset as Dataset0002 -from .mouse_thymus_2018_microwell_han_001 import Dataset as Dataset0003 - - -class DatasetGroupThymus(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path), - Dataset0003(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.mouse import DatasetGroupThymus - self.datasets.update(DatasetGroupThymus().datasets) - except ImportError: - pass diff --git a/sfaira/data/mouse/thymus/mouse_thymus_2018_microwell_han_001.py b/sfaira/data/mouse/thymus/mouse_thymus_2018_microwell_han_001.py deleted file mode 100644 index 3302f32ad..000000000 --- a/sfaira/data/mouse/thymus/mouse_thymus_2018_microwell_han_001.py +++ /dev/null @@ -1,70 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_thymus_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "thymus" - self.sub_tissue = "thymus" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'abT cell(Thymus)': 'abT cell', - 'B cell(Thymus)': "B cell", - 'DPT cell(Thymus)': "double positive T cell", - 'gdT cell (Thymus)': 'gdT cell', - 'Pre T cell(Thymus)': 'immature T cell', - 'Proliferating thymocyte(Thymus)': "immature T cell", - 'T cell_Id2 high(Thymus)': 'abT cell', # TODO check, not sure about this gene - 'T cell_Ms4a4b high(Thymus)': 'abT cell' # TODO check, not sure about this gene - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Thymus1_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/thymus/mouse_thymus_2019_10x_pisco_001.py b/sfaira/data/mouse/thymus/mouse_thymus_2019_10x_pisco_001.py deleted file mode 100644 index c3212bc66..000000000 --- a/sfaira/data/mouse/thymus/mouse_thymus_2019_10x_pisco_001.py +++ /dev/null @@ -1,71 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_thymus_2019_10x_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "spleen" - self.organ = "thymus" - self.sub_tissue = "thymus" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "thymus", "tabula-muris-senis-droplet-processed-official-annotations-Thymus.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "thymus", "Thymus_droplet.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "10x" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.set_unkown_class_id(ids=["nan"]) - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/thymus/mouse_thymus_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/thymus/mouse_thymus_2019_smartseq2_pisco_001.py deleted file mode 100644 index 28a0ae3dc..000000000 --- a/sfaira/data/mouse/thymus/mouse_thymus_2019_smartseq2_pisco_001.py +++ /dev/null @@ -1,71 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_thymus_2019_smartseq2_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "spleen" - self.organ = "thymus" - self.sub_tissue = "thymus" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "thymus", "tabula-muris-senis-facs-processed-official-annotations-Thymus.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "thymus", "Thymus_facs.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "smartseq2" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.set_unkown_class_id(ids=["nan"]) - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/tongue/__init__.py b/sfaira/data/mouse/tongue/__init__.py deleted file mode 100644 index 63266537b..000000000 --- a/sfaira/data/mouse/tongue/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_tongue import DatasetGroupTongue \ No newline at end of file diff --git a/sfaira/data/mouse/tongue/external.py b/sfaira/data/mouse/tongue/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/mouse/tongue/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/mouse/tongue/mouse_tongue.py b/sfaira/data/mouse/tongue/mouse_tongue.py deleted file mode 100644 index 382e06f5e..000000000 --- a/sfaira/data/mouse/tongue/mouse_tongue.py +++ /dev/null @@ -1,28 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .mouse_tongue_2019_10x_pisco_001 import Dataset as Dataset0001 -from .mouse_tongue_2019_smartseq2_pisco_001 import Dataset as Dataset0002 - - -class DatasetGroupTongue(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.mouse import DatasetGroupTongue - self.datasets.update(DatasetGroupTongue().datasets) - except ImportError: - pass diff --git a/sfaira/data/mouse/tongue/mouse_tongue_2019_10x_pisco_001.py b/sfaira/data/mouse/tongue/mouse_tongue_2019_10x_pisco_001.py deleted file mode 100644 index 0856c92ba..000000000 --- a/sfaira/data/mouse/tongue/mouse_tongue_2019_10x_pisco_001.py +++ /dev/null @@ -1,72 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_tongue_2019_10x_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "spleen" - self.organ = "tongue" - self.sub_tissue = "tongue" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "tongue", "tabula-muris-senis-droplet-processed-official-annotations-Tongue.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "tongue", "Tongue_droplet.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "10x" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/tongue/mouse_tongue_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/tongue/mouse_tongue_2019_smartseq2_pisco_001.py deleted file mode 100644 index b17e7dc86..000000000 --- a/sfaira/data/mouse/tongue/mouse_tongue_2019_smartseq2_pisco_001.py +++ /dev/null @@ -1,72 +0,0 @@ -import anndata -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_tongue_2019_smartseq2_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "spleen" - self.organ = "tongue" - self.sub_tissue = "tongue" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "tongue", "tabula-muris-senis-facs-processed-official-annotations-Tongue.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "tongue", "Tongue_facs.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "smartseq2" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/trachea/__init__.py b/sfaira/data/mouse/trachea/__init__.py deleted file mode 100644 index 3286064dd..000000000 --- a/sfaira/data/mouse/trachea/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_trachea import DatasetGroupTrachea \ No newline at end of file diff --git a/sfaira/data/mouse/trachea/external.py b/sfaira/data/mouse/trachea/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/mouse/trachea/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/mouse/trachea/mouse_trachea.py b/sfaira/data/mouse/trachea/mouse_trachea.py deleted file mode 100644 index bb578a632..000000000 --- a/sfaira/data/mouse/trachea/mouse_trachea.py +++ /dev/null @@ -1,28 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .mouse_trachea_2019_10x_pisco_001 import Dataset as Dataset0001 -from .mouse_trachea_2019_smartseq2_pisco_001 import Dataset as Dataset0002 - - -class DatasetGroupTrachea(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.mouse import DatasetGroupTrachea - self.datasets.update(DatasetGroupTrachea().datasets) - except ImportError: - pass diff --git a/sfaira/data/mouse/trachea/mouse_trachea_2019_10x_pisco_001.py b/sfaira/data/mouse/trachea/mouse_trachea_2019_10x_pisco_001.py deleted file mode 100644 index c517b93a0..000000000 --- a/sfaira/data/mouse/trachea/mouse_trachea_2019_10x_pisco_001.py +++ /dev/null @@ -1,74 +0,0 @@ -import anndata -import numpy as np -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_trachea_2019_10x_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "trachea" - self.sub_tissue = "trachea" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "trachea", "Trachea_droplet.h5ad") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "trachea", "tabula-muris-senis-droplet-processed-official-annotations-Trachea.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "trachea", "Trachea_droplet.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "10x" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/trachea/mouse_trachea_2019_smartseq2_pisco_001.py b/sfaira/data/mouse/trachea/mouse_trachea_2019_smartseq2_pisco_001.py deleted file mode 100644 index 98ccf9991..000000000 --- a/sfaira/data/mouse/trachea/mouse_trachea_2019_smartseq2_pisco_001.py +++ /dev/null @@ -1,73 +0,0 @@ -import anndata -import numpy as np -import os -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - source: str = "aws", - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_trachea_2019_smartseq2_pisco_001_10.1101/661728" - self.source = source - if self.source == "aws": - self.download_website = "https://czb-tabula-muris-senis.s3-us-west-2.amazonaws.com/Data-objects/" - elif self.source == "figshare": - self.download_website = "https://ndownloader.figshare.com/articles/8273102/versions/2" - else: - raise ValueError("source %s not recognized" % self.source) - self.organ = "trachea" - self.sub_tissue = "trachea" - self.has_celltypes = True - - self.class_maps = { - "0": {}, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - if self.source == "aws": - fn = os.path.join(self.path, "mouse", "trachea", "tabula-muris-senis-facs-processed-official-annotations-Trachea.h5ad") - elif self.source == "figshare": - fn = os.path.join(self.path, "mouse", "trachea", "Trachea_facs.h5ad") - else: - raise ValueError("source %s not recognized" % self.source) - self.adata = anndata.read_h5ad(fn) - if self.source == "aws": - self.adata.X = self.adata.raw.X - self.adata.var = self.adata.raw.var - del self.adata.raw - self.adata.obsm = {} - self.adata.varm = {} - self.adata.uns = {} - - self.adata.uns["lab"] = "Quake" - self.adata.uns["year"] = "2019" - self.adata.uns["doi"] = "10.1101/661728" - self.adata.uns["protocol"] = "smartseq2" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'norm' - # self.adata.obs["cell_ontology_class"] is already set - self.adata.obs["cell_types_original"] = self.adata.obs["cell_ontology_class"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/uterus/__init__.py b/sfaira/data/mouse/uterus/__init__.py deleted file mode 100644 index e84f043a1..000000000 --- a/sfaira/data/mouse/uterus/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mouse_uterus import DatasetGroupUterus \ No newline at end of file diff --git a/sfaira/data/mouse/uterus/external.py b/sfaira/data/mouse/uterus/external.py deleted file mode 100644 index 9f4e3db68..000000000 --- a/sfaira/data/mouse/uterus/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.data import DatasetBase, DatasetGroupBase diff --git a/sfaira/data/mouse/uterus/mouse_uterus.py b/sfaira/data/mouse/uterus/mouse_uterus.py deleted file mode 100644 index b7a7ea6fc..000000000 --- a/sfaira/data/mouse/uterus/mouse_uterus.py +++ /dev/null @@ -1,28 +0,0 @@ -import os -from typing import Union - -from .external import DatasetGroupBase - -from .mouse_uterus_2018_microwell_han_001 import Dataset as Dataset0001 -from .mouse_uterus_2018_microwell_han_002 import Dataset as Dataset0002 - - -class DatasetGroupUterus(DatasetGroupBase): - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None - ): - datasets = [ - Dataset0001(path=path, meta_path=meta_path), - Dataset0002(path=path, meta_path=meta_path) - ] - keys = [x.id for x in datasets] - self.datasets = dict(zip(keys, datasets)) - # Load versions from extension if available: - try: - from sfaira_extension.data.mouse import DatasetGroupUterus - self.datasets.update(DatasetGroupUterus().datasets) - except ImportError: - pass diff --git a/sfaira/data/mouse/uterus/mouse_uterus_2018_microwell_han_001.py b/sfaira/data/mouse/uterus/mouse_uterus_2018_microwell_han_001.py deleted file mode 100644 index d2087b326..000000000 --- a/sfaira/data/mouse/uterus/mouse_uterus_2018_microwell_han_001.py +++ /dev/null @@ -1,83 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_uterus_2018_microwell-seq_han_001_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "uterus" - self.sub_tissue = "uterus" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'B cell(Uterus)': 'B cell', - 'Dendritic cell(Uterus)': 'dendritic cell', - 'Endothelial cell_Cldn5 high(Uterus)': 'endothelial cell', - 'Endothelial cell_Tm4sf1 high(Uterus)': 'endothelial cell', - 'Glandular epithelium_Ltf high(Uterus)': 'glandular epithelial cell', - 'Glandular epithelium_Sprr2f high(Uterus)': 'glandular epithelial cell', - 'Granulocyte(Uterus)': 'granulocyte', - 'Keratinocyte(Uterus)': 'keratinocyte', - 'Macrophage(Uterus)': 'macrophage', - 'Monocyte(Uterus)': 'monocyte', - 'Muscle cell_Mgp high(Uterus)': 'muscle cell', - 'Muscle cell_Pcp4 high(Uterus)': 'muscle cell', - 'Smooth muscle cell_Rgs5 high(Uterus)': 'smooth muscle cell', - 'NK cell(Uterus)': 'NK cell', - 'Stromal cell_Ccl11 high(Uterus)': 'stromal cell', - 'Stromal cell_Cxcl14 high(Uterus)': 'stromal cell', - 'Stromal cell_Gm23935 high(Uterus)': 'stromal cell', - 'Stromal cell_Has1 high(Uterus)': 'stromal cell', - 'Stromal cell_Hsd11b2 high(Uterus)': 'stromal cell', - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Uterus1_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/mouse/uterus/mouse_uterus_2018_microwell_han_002.py b/sfaira/data/mouse/uterus/mouse_uterus_2018_microwell_han_002.py deleted file mode 100644 index dc612bc3d..000000000 --- a/sfaira/data/mouse/uterus/mouse_uterus_2018_microwell_han_002.py +++ /dev/null @@ -1,83 +0,0 @@ -import anndata -import numpy as np -import os -import pandas -from typing import Union -from .external import DatasetBase - - -class Dataset(DatasetBase): - - id: str - - def __init__( - self, - path: Union[str, None] = None, - meta_path: Union[str, None] = None, - **kwargs - ): - DatasetBase.__init__(self=self, path=path, meta_path=meta_path, **kwargs) - self.species = "mouse" - self.id = "mouse_uterus_2018_microwell-seq_han_002_10.1016/j.cell.2018.02.001" - self.download_website = "https://ndownloader.figshare.com/articles/5435866?private_link=865e694ad06d5857db4b" - self.organ = "uterus" - self.sub_tissue = "uterus" - self.has_celltypes = True - - self.class_maps = { - "0": { - 'B cell(Uterus)': 'B cell', - 'Dendritic cell(Uterus)': 'dendritic cell', - 'Endothelial cell_Cldn5 high(Uterus)': 'endothelial cell', - 'Endothelial cell_Tm4sf1 high(Uterus)': 'endothelial cell', - 'Glandular epithelium_Ltf high(Uterus)': 'glandular epithelial cell', - 'Glandular epithelium_Sprr2f high(Uterus)': 'glandular epithelial cell', - 'Granulocyte(Uterus)': 'granulocyte', - 'Keratinocyte(Uterus)': 'keratinocyte', - 'Macrophage(Uterus)': 'macrophage', - 'Monocyte(Uterus)': 'monocyte', - 'Muscle cell_Mgp high(Uterus)': 'muscle cell', - 'Muscle cell_Pcp4 high(Uterus)': 'muscle cell', - 'Smooth muscle cell_Rgs5 high(Uterus)': 'smooth muscle cell', - 'NK cell(Uterus)': 'NK cell', - 'Stromal cell_Ccl11 high(Uterus)': 'stromal cell', - 'Stromal cell_Cxcl14 high(Uterus)': 'stromal cell', - 'Stromal cell_Gm23935 high(Uterus)': 'stromal cell', - 'Stromal cell_Has1 high(Uterus)': 'stromal cell', - 'Stromal cell_Hsd11b2 high(Uterus)': 'stromal cell', - }, - } - - def _load(self, fn=None): - if fn is None: - if self.path is None: - raise ValueError("provide either fn in load or path in constructor") - fn = os.path.join(self.path, "mouse", "temp_mouse_atlas/500more_dge", "Uterus2_dge.txt.gz") - fn_meta = os.path.join(self.path, "mouse", "temp_mouse_atlas", "MCA_CellAssignments.csv") - - celltypes = pandas.read_csv(fn_meta, index_col=1) - celltypes = celltypes.drop(['Unnamed: 0'], axis=1) - - data = pandas.read_csv(fn, sep=' ', header=0) - self.adata = anndata.AnnData(data.T) - self.adata = self.adata[np.array([x in celltypes.index for x in self.adata.obs_names])].copy() - self.adata.obs = celltypes.loc[self.adata.obs_names, :] - - self.adata.uns["lab"] = "Guo" - self.adata.uns["year"] = "2018" - self.adata.uns["doi"] = "10.1016/j.cell.2018.02.001" - self.adata.uns["protocol"] = "microwell-seq" - self.adata.uns["organ"] = self.organ - self.adata.uns["subtissue"] = self.sub_tissue # TODO - self.adata.uns["animal"] = "mouse" - self.adata.uns["id"] = self.id - self.adata.uns["wget_download"] = self.download_website - self.adata.uns["has_celltypes"] = self.has_celltypes - self.adata.uns["counts"] = 'raw' - self.adata.obs["cell_ontology_class"] = self.adata.obs["Annotation"].values.tolist() - self.adata.obs["cell_types_original"] = self.adata.obs["Annotation"].values.tolist() - self.set_unkown_class_id(ids=[np.nan, "nan"]) - self.adata.obs["healthy"] = True - self.adata.obs["state_exact"] = "healthy" - - self._convert_and_set_var_names(symbol_col='index', ensembl_col=None, new_index='ensembl') diff --git a/sfaira/data/utils.py b/sfaira/data/utils.py new file mode 100644 index 000000000..a9108fb19 --- /dev/null +++ b/sfaira/data/utils.py @@ -0,0 +1,157 @@ +import anndata +import numpy as np +import scipy.sparse +import yaml +from typing import Dict, List, Union + +from sfaira.consts import OntologyContainerSfaira +from sfaira.versions.metadata import CelltypeUniverse + + +def map_celltype_to_ontology( + queries: Union[str, List[str]], + organism: str, + include_synonyms: bool = True, + anatomical_constraint: Union[str, None] = None, + omit_target_list: list = ["cell"], + n_suggest: int = 4, + choices_for_perfect_match: bool = True, + keep_strategy: bool = False, + always_return_dict: bool = False, + threshold_for_partial_matching: float = 90., + **kwargs +) -> Union[List[str], Dict[str, List[str]], str]: + """ + Map free text node name to ontology node names via sfaira cell type matching. + + For details, see also sfaira.versions.metadata.CelltypeUniverse.prepare_celltype_map_fuzzy() + + :param queries: Free text node label which is to be matched to ontology nodes. + Can also be a list of strings to query. + :param organism: Organism, defines ontology extension used. + :param include_synonyms: Whether to include synonyms of nodes in string search. + :param anatomical_constraint: Whether to require suggestions to be within a target anatomy defined within UBERON. + :param omit_target_list: Ontology nodes to not match to. + :param n_suggest: Number of cell types to suggest per search strategy. + :param choices_for_perfect_match: Whether to give additional matches if a perfect match was found. Note that there + are cases in which an apparent perfect match corresponds to a general term which could be specified knowing the + anatomic location of the sample. If this is False and a perfect match is found, only this perfect match is + returned as a string, rather than as a list. + :param keep_strategy: Whether to keep search results structured by search strategy. + For details, see also sfaira.versions.metadata.CelltypeUniverse.prepare_celltype_map_fuzzy() + :param always_return_dict: Also return a dictionary over queries if only one query was given. + :param threshold_for_partial_matching: Maximum fuzzy match score below which lenient matching (ratio) is + extended through partial_ratio. + :param kwargs: Additional parameters to CelltypeUniverse. + :return: List over queries, each entry is: + A list of high priority matches or perfect match (see choices_for_perfect_match) or, if keep_strategy, + dictionary of lists of search strategies named by strategy name. If a search strategy yields perfect matches, it + does not return a list of strings but just a single string. + """ + if isinstance(queries, str): + queries = [queries] + oc = OntologyContainerSfaira() + cu = CelltypeUniverse( + cl=oc.cellontology_class, + uberon=oc.organ, + organism=organism, + **kwargs + ) + matches_to_return = {} + matches = cu.prepare_celltype_map_fuzzy( + source=queries, + match_only=False, + include_synonyms=include_synonyms, + anatomical_constraint=anatomical_constraint, + choices_for_perfect_match=choices_for_perfect_match, + omit_list=[], + omit_target_list=omit_target_list, + n_suggest=n_suggest, + threshold_for_partial_matching=threshold_for_partial_matching, + ) + matches = matches[0] + # Prepare the output: + for x, matches_i in zip(queries, matches): + matches_i = matches_i + # Flatten list of lists: + # Flatten dictionary of lists and account for string rather than list entries. + if len(matches_i.values()) == 1 and isinstance(list(matches_i.values())[0], str): + matches_flat = list(matches_i.values())[0] + else: + matches_flat = [] + for xx in matches_i.values(): + if isinstance(xx, list): + matches_flat.extend(xx) + else: + assert isinstance(xx, str) + matches_flat.append(xx) + if not choices_for_perfect_match and x in matches_flat: + matches_to_return.update({x: x}) + elif keep_strategy: + matches_to_return.update({x: matches_i}) + else: + matches_to_return.update({x: matches_flat}) + # Only return a list over queries if more than one query was given. + if len(queries) == 1 and not always_return_dict: + return matches_to_return[queries[0]] + else: + return matches_to_return + + +def read_yaml(fn) -> Dict[str, Dict[str, Union[str, int, bool]]]: + """ + Read data yaml file. + + Matches format names to Dataset attribute names. + + :param fn: YAML file name. + :return: Dictionary of dictionaries of names of Dataset attributes and their values. + + - "attr": Data set attributes. + - "meta": Meta information of yaml and representation. + """ + with open(fn) as f: + yaml_dict = yaml.safe_load(f) + attr_dict = {} + meta_dict = {} + for k, v in yaml_dict.items(): + if k not in ["dataset_structure", "meta"]: + attr_dict.update(v) + else: + meta_dict.update(v) + return {"attr": attr_dict, "meta": meta_dict} + + +def collapse_matrix(adata: anndata.AnnData, var_column: str) -> anndata.AnnData: + """ + Collapses (sum) features with the same var_name in a provided var column. + + Does not retain .varm if duplicated var_names are found. + keeps .var column of first occurrence of duplicated variables. + + :param adata: Input anndata instance with potential duplicated var names. + :param var_column: column name in .var that contains the duplicated features of interest + :return: Processed anndata instance without duplicated var names. + """ + old_index = adata.var.index.tolist() if var_column == "index" else adata.var[var_column].tolist() + new_index = list(np.unique(old_index)) + if len(new_index) < len(old_index): + idx_map = np.array([np.where(x == np.array(old_index))[0] for x in new_index]) + # Build initial matrix from first match. + data = adata.X[:, np.array([x[0] for x in idx_map])].copy() + # Add additional matched (duplicates) on top: + for i, idx in enumerate(idx_map): + if len(idx) > 1: + data[:, i] = data[:, i] + adata.X[:, idx[1:]].sum(axis=1) + + # Remove varm and populate var with first occurrence only: + obs_names = adata.obs_names + adata = anndata.AnnData( + X=data, + obs=adata.obs, + obsm=adata.obsm, + var=adata.var.iloc[[old_index.index(x) for x in new_index]], + uns=adata.uns + ) + adata.obs_names = obs_names + return adata diff --git a/sfaira/data/utils/create_meta_human.py b/sfaira/data/utils/create_meta_human.py deleted file mode 100644 index 0ba7e49bb..000000000 --- a/sfaira/data/utils/create_meta_human.py +++ /dev/null @@ -1,62 +0,0 @@ -import sys -import tensorflow as tf -from sfaira.data import human - - -print(tf.__version__) - -# Set global variables. -print("sys.argv", sys.argv) - -path = str(sys.argv[1]) -path_meta = str(sys.argv[2]) - -ds_dict = { - "adipose": human.DatasetGroupAdipose(path=path, meta_path=path_meta), - "adrenalgland": human.DatasetGroupAdrenalgland(path=path, meta_path=path_meta), - "mixed": human.DatasetGroupMixed(path=path, meta_path=path_meta), - "artery": human.DatasetGroupArtery(path=path, meta_path=path_meta), - "bladder": human.DatasetGroupBladder(path=path, meta_path=path_meta), - "blood": human.DatasetGroupBlood(path=path, meta_path=path_meta), - "bone": human.DatasetGroupBone(path=path, meta_path=path_meta), - "brain": human.DatasetGroupBrain(path=path, meta_path=path_meta), - "calvaria": human.DatasetGroupCalvaria(path=path, meta_path=path_meta), - "cervix": human.DatasetGroupCervix(path=path, meta_path=path_meta), - "chorionicvillus": human.DatasetGroupChorionicvillus(path=path, meta_path=path_meta), - "colon": human.DatasetGroupColon(path=path, meta_path=path_meta), - "duodenum": human.DatasetGroupDuodenum(path=path, meta_path=path_meta), - "epityphlon": human.DatasetGroupEpityphlon(path=path, meta_path=path_meta), - "esophagus": human.DatasetGroupEsophagus(path=path, meta_path=path_meta), - "eye": human.DatasetGroupEye(path=path, meta_path=path_meta), - "fallopiantube": human.DatasetGroupFallopiantube(path=path, meta_path=path_meta), - "femalegonad": human.DatasetGroupFemalegonad(path=path, meta_path=path_meta), - "gallbladder": human.DatasetGroupGallbladder(path=path, meta_path=path_meta), - "heart": human.DatasetGroupHeart(path=path, meta_path=path_meta), - "hesc": human.DatasetGroupHesc(path=path, meta_path=path_meta), - "ileum": human.DatasetGroupIleum(path=path, meta_path=path_meta), - "jejunum": human.DatasetGroupJejunum(path=path, meta_path=path_meta), - "kidney": human.DatasetGroupKidney(path=path, meta_path=path_meta), - "liver": human.DatasetGroupLiver(path=path, meta_path=path_meta), - "lung": human.DatasetGroupLung(path=path, meta_path=path_meta), - "malegonad": human.DatasetGroupMalegonad(path=path, meta_path=path_meta), - "muscle": human.DatasetGroupMuscle(path=path, meta_path=path_meta), - "omentum": human.DatasetGroupOmentum(path=path, meta_path=path_meta), - "pancreas": human.DatasetGroupPancreas(path=path, meta_path=path_meta), - "placenta": human.DatasetGroupPlacenta(path=path, meta_path=path_meta), - "pleura": human.DatasetGroupPleura(path=path, meta_path=path_meta), - "prostate": human.DatasetGroupProstate(path=path, meta_path=path_meta), - "rectum": human.DatasetGroupRectum(path=path, meta_path=path_meta), - "rib": human.DatasetGroupRib(path=path, meta_path=path_meta), - "skin": human.DatasetGroupSkin(path=path, meta_path=path_meta), - "spinalcord": human.DatasetGroupSpinalcord(path=path, meta_path=path_meta), - "spleen": human.DatasetGroupSpleen(path=path, meta_path=path_meta), - "stomach": human.DatasetGroupStomach(path=path, meta_path=path_meta), - "thymus": human.DatasetGroupThymus(path=path, meta_path=path_meta), - "thyroid": human.DatasetGroupThyroid(path=path, meta_path=path_meta), - "trachea": human.DatasetGroupTrachea(path=path, meta_path=path_meta), - "ureter": human.DatasetGroupUreter(path=path, meta_path=path_meta), - "uterus": human.DatasetGroupUterus(path=path, meta_path=path_meta), -} -for k in list(ds_dict.keys()): - for kk in ds_dict[k].ids: - ds_dict[k].datasets[kk].write_meta(dir_out=path_meta) diff --git a/sfaira/data/utils/create_meta_mouse.py b/sfaira/data/utils/create_meta_mouse.py deleted file mode 100644 index 1634af953..000000000 --- a/sfaira/data/utils/create_meta_mouse.py +++ /dev/null @@ -1,45 +0,0 @@ -import sys -import tensorflow as tf -from sfaira.data import mouse - - -print(tf.__version__) - -# Set global variables. -print("sys.argv", sys.argv) - -path = str(sys.argv[1]) -path_meta = str(sys.argv[2]) - -ds_dict = { - "bladder": mouse.DatasetGroupBladder(path=path, meta_path=path_meta), - "brain": mouse.DatasetGroupBrain(path=path, meta_path=path_meta), - "diaphragm": mouse.DatasetGroupDiaphragm(path=path, meta_path=path_meta), - "adipose": mouse.DatasetGroupAdipose(path=path, meta_path=path_meta), - "heart": mouse.DatasetGroupHeart(path=path, meta_path=path_meta), - "kidney": mouse.DatasetGroupKidney(path=path, meta_path=path_meta), - "colon": mouse.DatasetGroupColon(path=path, meta_path=path_meta), - "muscle": mouse.DatasetGroupMuscle(path=path, meta_path=path_meta), - "liver": mouse.DatasetGroupLiver(path=path, meta_path=path_meta), - "lung": mouse.DatasetGroupLung(path=path, meta_path=path_meta), - "mammarygland": mouse.DatasetGroupMammaryGland(path=path, meta_path=path_meta), - "bone": mouse.DatasetGroupBone(path=path, meta_path=path_meta), - "femalegonad": mouse.DatasetGroupFemalegonad(path=path, meta_path=path_meta), - "pancreas": mouse.DatasetGroupPancreas(path=path, meta_path=path_meta), - "blood": mouse.DatasetGroupBlood(path=path, meta_path=path_meta), - "placenta": mouse.DatasetGroupPlacenta(path=path, meta_path=path_meta), - "prostate": mouse.DatasetGroupProstate(path=path, meta_path=path_meta), - "rib": mouse.DatasetGroupRib(path=path, meta_path=path_meta), - "skin": mouse.DatasetGroupSkin(path=path, meta_path=path_meta), - "ileum": mouse.DatasetGroupIleum(path=path, meta_path=path_meta), - "spleen": mouse.DatasetGroupSpleen(path=path, meta_path=path_meta), - "stomach": mouse.DatasetGroupStomach(path=path, meta_path=path_meta), - "malegonad": mouse.DatasetGroupMalegonad(path=path, meta_path=path_meta), - "thymus": mouse.DatasetGroupThymus(path=path, meta_path=path_meta), - "tongue": mouse.DatasetGroupTongue(path=path, meta_path=path_meta), - "trachea": mouse.DatasetGroupTrachea(path=path, meta_path=path_meta), - "uterus": mouse.DatasetGroupUterus(path=path, meta_path=path_meta) -} -for k in list(ds_dict.keys()): - for kk in ds_dict[k].ids: - ds_dict[k].datasets[kk].write_meta(dir_out=path_meta) diff --git a/sfaira/data/utils/write_backed_human.py b/sfaira/data/utils/write_backed_human.py deleted file mode 100644 index 1788f5e36..000000000 --- a/sfaira/data/utils/write_backed_human.py +++ /dev/null @@ -1,75 +0,0 @@ -import sys -import tensorflow as tf -import sfaira -import os - -from sfaira.data import human - - -print(tf.__version__) - -# Set global variables. -print("sys.argv", sys.argv) - -path = str(sys.argv[1]) -fn = str(sys.argv[2]) -genome = str(sys.argv[3]) - -path_meta = os.path.join(path, "meta") - -ds_dict = { - "adipose": human.DatasetGroupAdipose(path=path, meta_path=path_meta), - "adrenalgland": human.DatasetGroupAdrenalgland(path=path, meta_path=path_meta), - "mixed": human.DatasetGroupMixed(path=path, meta_path=path_meta), - "artery": human.DatasetGroupArtery(path=path, meta_path=path_meta), - "bladder": human.DatasetGroupBladder(path=path, meta_path=path_meta), - "blood": human.DatasetGroupBlood(path=path, meta_path=path_meta), - "bone": human.DatasetGroupBone(path=path, meta_path=path_meta), - "brain": human.DatasetGroupBrain(path=path, meta_path=path_meta), - "calvaria": human.DatasetGroupCalvaria(path=path, meta_path=path_meta), - "cervix": human.DatasetGroupCervix(path=path, meta_path=path_meta), - "chorionicvillus": human.DatasetGroupChorionicvillus(path=path, meta_path=path_meta), - "colon": human.DatasetGroupColon(path=path, meta_path=path_meta), - "duodenum": human.DatasetGroupDuodenum(path=path, meta_path=path_meta), - "epityphlon": human.DatasetGroupEpityphlon(path=path, meta_path=path_meta), - "esophagus": human.DatasetGroupEsophagus(path=path, meta_path=path_meta), - "eye": human.DatasetGroupEye(path=path, meta_path=path_meta), - "fallopiantube": human.DatasetGroupFallopiantube(path=path, meta_path=path_meta), - "femalegonad": human.DatasetGroupFemalegonad(path=path, meta_path=path_meta), - "gallbladder": human.DatasetGroupGallbladder(path=path, meta_path=path_meta), - "heart": human.DatasetGroupHeart(path=path, meta_path=path_meta), - "hesc": human.DatasetGroupHesc(path=path, meta_path=path_meta), - "ileum": human.DatasetGroupIleum(path=path, meta_path=path_meta), - "jejunum": human.DatasetGroupJejunum(path=path, meta_path=path_meta), - "kidney": human.DatasetGroupKidney(path=path, meta_path=path_meta), - "liver": human.DatasetGroupLiver(path=path, meta_path=path_meta), - "lung": human.DatasetGroupLung(path=path, meta_path=path_meta), - "malegonad": human.DatasetGroupMalegonad(path=path, meta_path=path_meta), - "muscle": human.DatasetGroupMuscle(path=path, meta_path=path_meta), - "omentum": human.DatasetGroupOmentum(path=path, meta_path=path_meta), - "pancreas": human.DatasetGroupPancreas(path=path, meta_path=path_meta), - "placenta": human.DatasetGroupPlacenta(path=path, meta_path=path_meta), - "pleura": human.DatasetGroupPleura(path=path, meta_path=path_meta), - "prostate": human.DatasetGroupProstate(path=path, meta_path=path_meta), - "rectum": human.DatasetGroupRectum(path=path, meta_path=path_meta), - "rib": human.DatasetGroupRib(path=path, meta_path=path_meta), - "skin": human.DatasetGroupSkin(path=path, meta_path=path_meta), - "spinalcord": human.DatasetGroupSpinalcord(path=path, meta_path=path_meta), - "spleen": human.DatasetGroupSpleen(path=path, meta_path=path_meta), - "stomach": human.DatasetGroupStomach(path=path, meta_path=path_meta), - "thymus": human.DatasetGroupThymus(path=path, meta_path=path_meta), - "thyroid": human.DatasetGroupThyroid(path=path, meta_path=path_meta), - "trachea": human.DatasetGroupTrachea(path=path, meta_path=path_meta), - "ureter": human.DatasetGroupUreter(path=path, meta_path=path_meta), - "uterus": human.DatasetGroupUterus(path=path, meta_path=path_meta), -} -ds = sfaira.data.DatasetSuperGroup( - dataset_groups=[ds_dict[k] for k in list(ds_dict.keys())] -) -ds.load_all_tobacked( - fn_backed=fn, - genome=genome, - shuffled=False, - as_dense=False, - annotated_only=False -) diff --git a/sfaira/data/utils/write_backed_mouse.py b/sfaira/data/utils/write_backed_mouse.py deleted file mode 100644 index a408380e9..000000000 --- a/sfaira/data/utils/write_backed_mouse.py +++ /dev/null @@ -1,58 +0,0 @@ -import sys -import tensorflow as tf -import sfaira -import os - -from sfaira.data import mouse - - -print(tf.__version__) - -# Set global variables. -print("sys.argv", sys.argv) - -path = str(sys.argv[1]) -fn = str(sys.argv[2]) -genome = str(sys.argv[3]) - -path_meta = os.path.join(path, "meta") - -ds_dict = { - "bladder": mouse.DatasetGroupBladder(path=path, meta_path=path_meta), - "brain": mouse.DatasetGroupBrain(path=path, meta_path=path_meta), - "diaphragm": mouse.DatasetGroupDiaphragm(path=path, meta_path=path_meta), - "adipose": mouse.DatasetGroupAdipose(path=path, meta_path=path_meta), - "heart": mouse.DatasetGroupHeart(path=path, meta_path=path_meta), - "kidney": mouse.DatasetGroupKidney(path=path, meta_path=path_meta), - "colon": mouse.DatasetGroupColon(path=path, meta_path=path_meta), - "muscle": mouse.DatasetGroupMuscle(path=path, meta_path=path_meta), - "liver": mouse.DatasetGroupLiver(path=path, meta_path=path_meta), - "lung": mouse.DatasetGroupLung(path=path, meta_path=path_meta), - "mammarygland": mouse.DatasetGroupMammaryGland(path=path, meta_path=path_meta), - "bone": mouse.DatasetGroupBone(path=path, meta_path=path_meta), - "femalegonad": mouse.DatasetGroupFemalegonad(path=path, meta_path=path_meta), - "pancreas": mouse.DatasetGroupPancreas(path=path, meta_path=path_meta), - "blood": mouse.DatasetGroupBlood(path=path, meta_path=path_meta), - "placenta": mouse.DatasetGroupPlacenta(path=path, meta_path=path_meta), - "prostate": mouse.DatasetGroupProstate(path=path, meta_path=path_meta), - "rib": mouse.DatasetGroupRib(path=path, meta_path=path_meta), - "skin": mouse.DatasetGroupSkin(path=path, meta_path=path_meta), - "ileum": mouse.DatasetGroupIleum(path=path, meta_path=path_meta), - "spleen": mouse.DatasetGroupSpleen(path=path, meta_path=path_meta), - "stomach": mouse.DatasetGroupStomach(path=path, meta_path=path_meta), - "malegonad": mouse.DatasetGroupMalegonad(path=path, meta_path=path_meta), - "thymus": mouse.DatasetGroupThymus(path=path, meta_path=path_meta), - "tongue": mouse.DatasetGroupTongue(path=path, meta_path=path_meta), - "trachea": mouse.DatasetGroupTrachea(path=path, meta_path=path_meta), - "uterus": mouse.DatasetGroupUterus(path=path, meta_path=path_meta), -} -ds = sfaira.data.DatasetSuperGroup( - dataset_groups=[ds_dict[k] for k in list(ds_dict.keys())] -) -ds.load_all_tobacked( - fn_backed=fn, - genome=genome, - shuffled=False, - as_dense=False, - annotated_only=False -) diff --git a/sfaira/data/utils_scripts/create_anatomical_configs_store.py b/sfaira/data/utils_scripts/create_anatomical_configs_store.py new file mode 100644 index 000000000..cb2e2ce36 --- /dev/null +++ b/sfaira/data/utils_scripts/create_anatomical_configs_store.py @@ -0,0 +1,91 @@ +import os +import sys +import tensorflow as tf + +# Any data loader here to extract path: +from sfaira.data import load_store, clean_string + +print(tf.__version__) + +# Set global variables. +print("sys.argv", sys.argv) + +store_path = str(sys.argv[1]) +config_path = str(sys.argv[2]) + + +configs_to_write = { + "human": [ + "adipose tissue", + "adrenal gland", + "artery", + "blood", + "bone marrow", + "brain", + "chorionic villus", + "esophagus", + "eye", + "gall bladder", + "heart", + "intestine", + "kidney", + "liver", + "lung", + "muscle organ", + "ovary", + "pancreas", + "placenta", + "pleura", + "prostate gland", + "rib", + "skeleton", + "skin of body", + "spinal cord", + "spleen", + "stomach", + "testis", + "thymus", + "thyroid gland", + "trachea", + "ureter", + "urinary bladder", + "uterus", + "vault of skull", + ], + "mouse": [ + "adipose tissue", + "blood", + "bone marrow", + "brain", + "diaphragm", + "heart", + "intestine", + "kidney", + "liver", + "lung", + "mammary gland", + "muscle organ", + "ovary", + "pancreas", + "placenta", + "prostate gland", + "skin of body", + "spleen", + "stomach", + "testis", + "thymus", + "tongue", + "trachea", + "urinary bladder", + "uterus", + ], +} + +for organism, organs in configs_to_write.items(): + for organ in organs: + print(f"Writing {organism} {organ}") + store = load_store(cache_path=store_path) + store.subset(attr_key="sample_source", values=["primary_tissue"]) + store.subset(attr_key="organism", values=[organism]) + store.subset(attr_key="organ", values=[organ]) + store.write_config(os.path.join(config_path, f"config_{clean_string(organism)}_{clean_string(organ)}")) diff --git a/sfaira/data/utils_scripts/create_celltype_maps_selected.py b/sfaira/data/utils_scripts/create_celltype_maps_selected.py new file mode 100644 index 000000000..ee839cb7a --- /dev/null +++ b/sfaira/data/utils_scripts/create_celltype_maps_selected.py @@ -0,0 +1,87 @@ +import os +import pydoc +import sfaira +import sys +import tensorflow as tf + +# Any data loader here to extract path: +from sfaira.data.dataloaders.loaders.d10_1016_j_cmet_2019_01_021 import FILE_PATH + +print(tf.__version__) + +# Set global variables. +print("sys.argv", sys.argv) + +data_path = str(sys.argv[1]) +path_meta = str(sys.argv[2]) +path_cache = str(sys.argv[3]) +processes = int(str(sys.argv[4])) +dir_study = str(sys.argv[5]) + +dir_sfaira_dataloaders = "/" + str(os.path.join(*str(os.path.dirname(FILE_PATH)).split("/")[:-1])) + +dir_prefix = "d" +dir_exlcude = [] + +print(dir_study) +if os.path.isdir(os.path.join(dir_sfaira_dataloaders, dir_study)): # only directories + # Narrow down to data set directories: + if dir_study[:len(dir_prefix)] == dir_prefix and dir_study not in dir_exlcude: + for f_dataset in os.listdir(os.path.join(dir_sfaira_dataloaders, dir_study)): + if os.path.isfile(os.path.join(dir_sfaira_dataloaders, dir_study, f_dataset)): # only files + print(f_dataset) + # Narrow down to data set files: + if f_dataset.split(".")[-1] == "py" and \ + f_dataset.split(".")[0] not in ["__init__", "base", "group"]: + file_module = ".".join(str(f_dataset).split(".")[:-1]) + DatasetFound = pydoc.locate( + "sfaira.data.dataloaders.loaders." + dir_study + "." + file_module + ".Dataset") + # Check if global objects are available: + # - SAMPLE_FNS: for DatasetBaseGroupLoadingManyFiles + # - SAMPLE_IDS: for DatasetBaseGroupLoadingOneFile + sample_fns = pydoc.locate( + "sfaira.data.dataloaders.loaders." + dir_study + "." + file_module + ".SAMPLE_FNS") + sample_ids = pydoc.locate( + "sfaira.data.dataloaders.loaders." + dir_study + "." + file_module + ".SAMPLE_IDS") + if sample_fns is not None and sample_ids is None: + # DatasetBaseGroupLoadingManyFiles: + datasets_f = [ + DatasetFound( + sample_fn=x, + data_path=data_path, + meta_path=path_meta, + cache_path=path_cache + ) + for x in sample_fns + ] + elif sample_fns is None and sample_ids is not None: + # DatasetBaseGroupLoadingManyFiles: + datasets_f = [ + DatasetFound( + sample_id=x, + data_path=data_path, + meta_path=path_meta, + cache_path=path_cache + ) + for x in sample_ids + ] + elif sample_fns is not None and sample_ids is not None: + raise ValueError(f"sample_fns and sample_ids both found for {f_dataset}") + else: + datasets_f = [DatasetFound( + data_path=data_path, + meta_path=path_meta, + cache_path=path_cache + )] + dsg_f = sfaira.data.DatasetGroup(datasets=dict([(x.id, x) for x in datasets_f])) + dsg_f.load( + load_raw=False, + allow_caching=True, + match_to_reference=False, + remove_gene_version=False, + ) + dsg_f.write_ontology_class_map( + fn=os.path.join(dir_sfaira_dataloaders, dir_study, file_module + ".tsv"), + protected_writing=True, + n_suggest=4, + ) diff --git a/sfaira/data/utils_scripts/create_meta.py b/sfaira/data/utils_scripts/create_meta.py new file mode 100644 index 000000000..0f227f9ce --- /dev/null +++ b/sfaira/data/utils_scripts/create_meta.py @@ -0,0 +1,30 @@ +import sfaira +import sys +import tensorflow as tf + +print(tf.__version__) + + +def write_meta(args0, args1): + args0.write_meta(fn_meta=None, dir_out=args1) + return None + + +# Set global variables. +print("sys.argv", sys.argv) + +data_path = str(sys.argv[1]) +path_meta = str(sys.argv[2]) +processes = int(str(sys.argv[3])) + +ds = sfaira.data.dataloaders.Universe( + data_path=data_path, meta_path=path_meta, cache_path=path_meta +) +ds.load( + annotated_only=False, + load_raw=True, + allow_caching=False, + processes=processes, + func=write_meta, + kwargs_func={"args1": path_meta}, +) diff --git a/sfaira/data/utils_scripts/create_meta_and_cache.py b/sfaira/data/utils_scripts/create_meta_and_cache.py new file mode 100644 index 000000000..f73d54377 --- /dev/null +++ b/sfaira/data/utils_scripts/create_meta_and_cache.py @@ -0,0 +1,32 @@ +import os +import sfaira +import sys + +# Set global variables. +print("sys.argv", sys.argv) + +data_path = str(sys.argv[1]) +path_meta = str(sys.argv[2]) +path_cache = str(sys.argv[3]) +processes = int(str(sys.argv[4])) + +ds = sfaira.data.dataloaders.Universe( + data_path=data_path, meta_path=path_meta, cache_path=path_cache +) +# Write meta data, cache and test load from cache: +for x in ds.dataset_groups: + for k, v in x.datasets.items(): + print(f"SCRIPT: loading {x} {k}") + try: + # Initial load and cache writing: + # Only run this if data set was not already cached to speed up resumed jobs. + if not os.path.exists(v.cache_fn): + v.load(load_raw=False, allow_caching=True) + # Write meta data, cache. + v.write_meta(fn_meta=None, dir_out=path_meta) + # Test load from cache. + v.load(load_raw=False, allow_caching=False) + v.clear() + except ValueError as e: + # Do not abort upon ValueErrors, such as from cell type map bugs. + print(f"SCRIPT WARNING: TO-FIX: ValueError in {k}: {e}") diff --git a/sfaira/data/utils_scripts/create_target_universes.py b/sfaira/data/utils_scripts/create_target_universes.py new file mode 100644 index 000000000..ec26c17da --- /dev/null +++ b/sfaira/data/utils_scripts/create_target_universes.py @@ -0,0 +1,52 @@ +import os +import sys + +# Any data loader here to extract path: +from sfaira.consts import OCS +from sfaira.data import load_store +from sfaira.versions.metadata import CelltypeUniverse, OntologyCl + + +# Set global variables. +print("sys.argv", sys.argv) + +store_path = str(sys.argv[1]) +config_path = str(sys.argv[2]) +out_path = str(sys.argv[3]) + +col_name_annot = "cell_ontology_class" +cl_branch = "v2021-02-01" + +for f in os.listdir(config_path): + fn = os.path.join(config_path, f) + if os.path.isfile(fn): # only files + # Narrow down to supported file types: + if f.split(".")[-1] == "pickle" and f.startswith("config_"): + print(f"Writing target universe for {f}") + organism = f.split("_")[1] + organ = f.split("_")[2].split(".")[0] + store = load_store(cache_path=store_path) + store.load_config(fn=fn) + celltypes_found = set([]) + for k, idx in store.indices.items(): + if col_name_annot not in store.adatas[k].obs.columns: + print(f"WARNING: annotation column {col_name_annot} not found in {k}, skipping.") + else: + if len(idx) > 0: + celltypes_found = celltypes_found.union( + set(store.adatas[k].obs[col_name_annot].values[idx].tolist()) + ) + celltypes_found = sorted(list(celltypes_found - {store._adata_ids_sfaira.unknown_celltype_identifier, + store._adata_ids_sfaira.not_a_cell_celltype_identifier})) + if len(celltypes_found) == 0: + print(f"WARNING: No cells found for {organism} {organ}, skipping.") + else: + celltypes_universe = CelltypeUniverse( + cl=OntologyCl(branch=cl_branch), + uberon=OCS.organ, + ) + celltypes_found = celltypes_universe.onto_cl.get_effective_leaves(x=celltypes_found) + celltypes_universe.write_target_universe( + fn=os.path.join(out_path, f"targets_{organism}_{organ}.csv"), + x=celltypes_found, + ) diff --git a/sfaira/data/utils_scripts/streamline_selected.py b/sfaira/data/utils_scripts/streamline_selected.py new file mode 100644 index 000000000..b8b3e2ad5 --- /dev/null +++ b/sfaira/data/utils_scripts/streamline_selected.py @@ -0,0 +1,45 @@ +import os +import sfaira +import sys + +# Set global variables. +print("sys.argv", sys.argv) + +data_path = str(sys.argv[1]) +path_meta = str(sys.argv[2]) +path_cache = str(sys.argv[3]) +path_out = str(sys.argv[4]) +schema = str(sys.argv[5]) +dois = str(sys.argv[6]) + +path_cache = path_cache if path_cache != "None" else None + +for x in dois.split(","): + ds = sfaira.data.dataloaders.Universe( + data_path=data_path, meta_path=path_meta, cache_path=path_cache + ) + ds.subset(key="doi", values=[x]) + ds.load( + load_raw=False, + allow_caching=True, + ) + if schema == "cellxgene": + ds.streamline_features( + match_to_reference={"human": "Homo_sapiens.GRCh38.102", "mouse": "Mus_musculus.GRCm38.102"}, + remove_gene_version=True, + subset_genes_to_type=None + ) + ds.streamline_metadata( + schema=schema.lower(), + uns_to_obs=False, + clean_obs=False, + clean_var=True, + clean_uns=True, + clean_obs_names=False + ) + ds.collapse_counts() + assert len(ds.dataset_groups) == 1, len(ds.dataset_groups) + dsg = ds.dataset_groups[0] + for k, v in dsg.datasets.items(): + fn = v.doi_cleaned_id + ".h5ad" + v.adata.write_h5ad(os.path.join(path_out, fn)) diff --git a/sfaira/data/utils_scripts/write_store.py b/sfaira/data/utils_scripts/write_store.py new file mode 100644 index 000000000..9b3f319f5 --- /dev/null +++ b/sfaira/data/utils_scripts/write_store.py @@ -0,0 +1,52 @@ +import os +import sfaira +import sys + +# Set global variables. +print("sys.argv", sys.argv) + +data_path = str(sys.argv[1]) +path_meta = str(sys.argv[2]) +path_cache = str(sys.argv[3]) +path_store = str(sys.argv[4]) +store_type = str(sys.argv[5]).lower() + +# On disk format hyperparameters +if store_type == "h5ad": + # Write sparse arrays in h5ad. + kwargs = {"dense": False} + compression_kwargs = {} +elif store_type == "dao": + # Write dense arrays in zarr. + kwargs = {"dense": True, "chunks": 128} + compression_kwargs = {"compressor": "default", "overwrite": True, "order": "C"} +else: + assert False, store_type + +universe = sfaira.data.dataloaders.Universe(data_path=data_path, meta_path=path_meta, cache_path=path_cache) + +for k, ds in universe.datasets.items(): + if store_type == "h5ad": + fn_store = os.path.join(path_store, ds.doi_cleaned_id + ".h5ad") + elif store_type == "dao": + fn_store = os.path.join(path_store, ds.doi_cleaned_id) + else: + assert False + if os.path.exists(fn_store): + print(f"SCRIPT skipping {k}") + else: + print(f"SCRIPT loading {k}") + ds.load( + load_raw=False, + allow_caching=True, + ) + ds.streamline_features( + remove_gene_version=True, + match_to_reference={"human": "Homo_sapiens.GRCh38.102", "mouse": "Mus_musculus.GRCm38.102"}, + subset_genes_to_type="protein_coding" + ) + ds.streamline_metadata(schema="sfaira", uns_to_obs=True, clean_obs=True, clean_var=True, clean_uns=True, + clean_obs_names=True) + ds.write_distributed_store(dir_cache=path_store, store_format=store_type, compression_kwargs=compression_kwargs, + **kwargs) + ds.clear() diff --git a/sfaira/estimators/__init__.py b/sfaira/estimators/__init__.py index 7e6f3ff03..cbed4e77b 100644 --- a/sfaira/estimators/__init__.py +++ b/sfaira/estimators/__init__.py @@ -1,5 +1,6 @@ from sfaira.estimators.keras import EstimatorKeras, EstimatorKerasEmbedding, EstimatorKerasCelltype + try: - from sfaira_extension.estimators import * + from sfaira_extension.estimators import * # noqa: F403 except ImportError: pass diff --git a/sfaira/estimators/callbacks.py b/sfaira/estimators/callbacks.py index 5121b07a2..6c678976e 100644 --- a/sfaira/estimators/callbacks.py +++ b/sfaira/estimators/callbacks.py @@ -1,4 +1,7 @@ -import tensorflow as tf +try: + import tensorflow as tf +except ImportError: + tf = None import numpy as np @@ -46,15 +49,15 @@ def on_epoch_end(self, epoch, logs=None): # (epoch + 1, pseudo_inputs.max(), pseudo_inputs.mean(), pseudo_inputs.min())) if epoch == 199: lr = tf.keras.backend.get_value(self.model.optimizer.lr) - tf.keras.backend.set_value(self.model.optimizer.lr, lr/10) + tf.keras.backend.set_value(self.model.optimizer.lr, lr / 10) if self.verbose > 0: - print('\nReduce lr training at epoch %03d to %s' % (epoch + 1, lr/10)) + print('\nReduce lr training at epoch %03d to %s' % (epoch + 1, lr / 10)) if epoch == 249: lr = tf.keras.backend.get_value(self.model.optimizer.lr) - tf.keras.backend.set_value(self.model.optimizer.lr, lr/10) + tf.keras.backend.set_value(self.model.optimizer.lr, lr / 10) if self.verbose > 0: - print('\nReduce lr training at epoch %03d to %s' % (epoch + 1, lr/10)) + print('\nReduce lr training at epoch %03d to %s' % (epoch + 1, lr / 10)) if epoch == 299: self.model.stop_training = True diff --git a/sfaira/estimators/external.py b/sfaira/estimators/external.py deleted file mode 100644 index 3e27959ef..000000000 --- a/sfaira/estimators/external.py +++ /dev/null @@ -1,4 +0,0 @@ -from sfaira.versions.celltype_versions import SPECIES_DICT, CelltypeVersionsBase -from sfaira.versions.genome_versions import SuperGenomeContainer -from sfaira.versions.topology_versions import Topologies -from sfaira.models.base import BasicModel diff --git a/sfaira/estimators/keras.py b/sfaira/estimators/keras.py index 960a091b8..2ba21fbf5 100644 --- a/sfaira/estimators/keras.py +++ b/sfaira/estimators/keras.py @@ -2,29 +2,47 @@ import anndata import hashlib import numpy as np -import pandas import scipy.sparse -import tensorflow as tf +try: + import tensorflow as tf +except ImportError: + tf = None from typing import Union import os import warnings from tqdm import tqdm -from .external import CelltypeVersionsBase, Topologies, BasicModel + +from sfaira.consts import AdataIdsSfaira, OCS, AdataIds +from sfaira.data import DistributedStoreBase +from sfaira.models import BasicModelKeras +from sfaira.versions.metadata import CelltypeUniverse, OntologyCl, OntologyObo +from sfaira.versions.topologies import TopologyContainer from .losses import LossLoglikelihoodNb, LossLoglikelihoodGaussian, LossCrossentropyAgg, KLLoss -from .metrics import custom_mse, custom_negll_nb, custom_negll_gaussian, custom_kl, \ +from .metrics import custom_mse, custom_negll_nb, custom_negll_gaussian, \ CustomAccAgg, CustomF1Classwise, CustomFprClasswise, CustomTprClasswise, custom_cce_agg +def prepare_sf(x): + """ + Uses a minimal size factor of 1e-3 for total counts / 1e4 + """ + if len(x.shape) == 2: + sf = np.asarray(x.sum(axis=1)).flatten() + elif len(x.shape) == 1: + sf = np.asarray(x.sum()).flatten() + else: + raise ValueError("x.shape > 2") + sf = np.log(np.maximum(sf / 1e4, 1e-3)) + return sf + + class EstimatorKeras: """ Estimator base class for keras models. """ - data: Union[anndata.AnnData] - obs_train: Union[pandas.DataFrame, None] - obs_eval: Union[pandas.DataFrame, None] - obs_test: Union[pandas.DataFrame, None] - model: Union[BasicModel, None] - model_topology: Union[str, None] + data: Union[anndata.AnnData, DistributedStoreBase] + model: Union[BasicModelKeras, None] + topology_container: Union[TopologyContainer, None] model_id: Union[str, None] weights: Union[np.ndarray, None] model_dir: Union[str, None] @@ -33,38 +51,28 @@ class EstimatorKeras: idx_train: Union[np.ndarray, None] idx_eval: Union[np.ndarray, None] idx_test: Union[np.ndarray, None] + adata_ids: AdataIds def __init__( self, - data: Union[anndata.AnnData, np.ndarray], + data: Union[anndata.AnnData, np.ndarray, DistributedStoreBase], model_dir: Union[str, None], + model_class: str, model_id: Union[str, None], - model_class: Union[str, None], - species: Union[str, None], - organ: Union[str, None], - model_type: Union[str, None], - model_topology: Union[str, None], + model_topology: TopologyContainer, weights_md5: Union[str, None] = None, - cache_path: str = os.path.join('cache', '') + cache_path: str = os.path.join('cache', ''), + adata_ids: AdataIds = AdataIdsSfaira() ): self.data = data - self.obs_train = None - self.obs_eval = None - self.obs_test = None self.model = None self.model_dir = model_dir self.model_id = model_id - self.model_class = model_class.lower() - self.species = species.lower() - self.organ = organ.lower() - self.model_type = model_type.lower() - self.model_topology = model_topology - self.topology_container = Topologies( - species=species, - model_class=model_class, - model_type=model_type, - topology_id=model_topology - ) + self.model_class = model_class + self.topology_container = model_topology + # Prepare store with genome container sub-setting: + if isinstance(self.data, DistributedStoreBase): + self.data.genome_container = self.topology_container.gc self.history = None self.train_hyperparam = None @@ -73,6 +81,15 @@ def __init__( self.idx_test = None self.md5 = weights_md5 self.cache_path = cache_path + self._adata_ids = adata_ids + + @property + def model_type(self): + return self.topology_container.model_type + + @property + def organism(self): + return self.topology_container.organism def load_pretrained_weights(self): """ @@ -99,12 +116,13 @@ def load_pretrained_weights(self): fn = os.path.join(self.cache_path, f"{self.model_id}_weights.h5") except HTTPError: try: - urllib.request.urlretrieve(urljoin(self.model_dir, f'{self.model_id}_weights.data-00000-of-00001'), - os.path.join(self.cache_path, f'{self.model_id}_weights.data-00000-of-00001') - ) + urllib.request.urlretrieve( + urljoin(self.model_dir, f'{self.model_id}_weights.data-00000-of-00001'), + os.path.join(self.cache_path, f'{self.model_id}_weights.data-00000-of-00001') + ) fn = os.path.join(self.cache_path, f"{self.model_id}_weights.data-00000-of-00001") except HTTPError: - raise FileNotFoundError(f'cannot find remote weightsfile') + raise FileNotFoundError('cannot find remote weightsfile') else: # Local repo if not self.model_dir: @@ -150,8 +168,8 @@ def init_model(self, clear_weight_cache=True, override_hyperpar=None): file_path = os.path.join(os.path.join(self.cache_path, 'weights'), file) os.remove(file_path) + @staticmethod def _assert_md5_sum( - self, fn, target_md5 ): @@ -167,14 +185,17 @@ def _get_dataset( batch_size: Union[int, None], mode: str, shuffle_buffer_size: int, - prefetch: int, - weighted: bool - ): + cache_full: bool, + weighted: bool, + retrieval_batch_size: int, + randomized_batch_access: bool, + prefetch: Union[int, None], + ) -> tf.data.Dataset: pass def _get_class_dict( self, - obs_key: str = 'cell_ontology_class' + obs_key: str ): y = self.data.obs[obs_key] for i, val in enumerate(y): @@ -186,7 +207,14 @@ def _get_class_dict( label_dict.update({label: float(i)}) return label_dict - def _prepare_data_matrix(self, idx: Union[np.ndarray, None]): + def _prepare_data_matrix(self, idx: Union[np.ndarray, None]) -> scipy.sparse.csr_matrix: + """ + Subsets observations x features matrix in .data to observation indices (idx, the split) and features defined + by topology. + + :param idx: Observation index split. + :return: Data matrix + """ # Check that AnnData is not backed. If backed, assume that these processing steps were done before. if self.data.isbacked: raise ValueError("tried running backed AnnData object through standard pipeline") @@ -208,51 +236,25 @@ def _prepare_data_matrix(self, idx: Union[np.ndarray, None]): x = x[idx, :] # If the feature space is already mapped to the right reference, return the data matrix immediately - if 'mapped_features' in self.data.uns_keys(): - if self.data.uns['mapped_features'] == self.topology_container.genome_container.genome: - print(f"found {x.shape[0]} observations") - return x + if self._adata_ids.mapped_features in self.data.uns_keys() and \ + self.data.uns[self._adata_ids.mapped_features] == self.topology_container.gc.assembly: + print(f"found {x.shape[0]} observations") + return x # Compute indices of genes to keep - data_ids = self.data.var["ensembl"].values - idx_feature_kept = np.where([x in self.topology_container.genome_container.ensembl for x in data_ids])[0] - idx_feature_map = np.array([self.topology_container.genome_container.ensembl.index(x) - for x in data_ids[idx_feature_kept]]) - - # Convert to csc and remove unmapped genes - x = x.tocsc() - x = x[:, idx_feature_kept] - - # Create reordered feature matrix based on reference and convert to csr - x_new = scipy.sparse.csc_matrix((x.shape[0], self.topology_container.ngenes), dtype=x.dtype) - # copying this over to the new matrix in chunks of size `steps` prevents a strange scipy error: - # ... scipy/sparse/compressed.py", line 922, in _zero_many i, j, offsets) - # ValueError: could not convert integer scalar - step = 2000 - if step < len(idx_feature_map): - for i in range(0, len(idx_feature_map), step): - x_new[:, idx_feature_map[i:i + step]] = x[:, i:i + step] - x_new[:, idx_feature_map[i + step:]] = x[:, i + step:] - else: - x_new[:, idx_feature_map] = x - - x_new = x_new.tocsr() - - print(f"found {len(idx_feature_kept)} intersecting features between {x.shape[1]} " - f"features in input data set and {self.topology_container.ngenes} features in reference genome") - print(f"found {x_new.shape[0]} observations") - - return x_new - - def _prepare_sf(self, x): - if len(x.shape) == 2: - sf = np.asarray(x.sum(axis=1)).flatten() - elif len(x.shape) == 1: - sf = np.asarray(x.sum()).flatten() - else: - raise ValueError("x.shape > 2") - sf = np.log(sf / 1e4 + 1e-10) - return sf + data_ids = self.data.var[self._adata_ids.gene_id_ensembl].values.tolist() + target_ids = self.topology_container.gc.ensembl + idx_map = np.array([data_ids.index(z) for z in target_ids]) + # Assert that each ID from target IDs appears exactly once in data IDs: + assert np.all([z in data_ids for z in target_ids]), "not all target feature IDs found in data" + assert np.all([np.sum(z == np.array(data_ids)) <= 1. for z in target_ids]), \ + "duplicated target feature IDs exist in data" + # Map feature space. + x = x[:, idx_map] + print(f"found {len(idx_map)} intersecting features between {x.shape[1]} features in input data set and" + f" {self.topology_container.n_var} features in reference genome") + print(f"found {x.shape[0]} observations") + return x @abc.abstractmethod def _get_loss(self): @@ -272,6 +274,54 @@ def _compile_models( metrics=self._metrics() ) + def split_train_val_test(self, val_split: float, test_split: Union[float, dict]): + # Split training and evaluation data. + np.random.seed(1) + all_idx = np.arange(0, self.data.n_obs) # n_obs is both a property of AnnData and DistributedStoreBase + if isinstance(test_split, float) or isinstance(test_split, int): + self.idx_test = np.sort(np.random.choice( + a=all_idx, + size=round(self.data.n_obs * test_split), + replace=False, + )) + elif isinstance(test_split, dict): + in_test = np.ones((self.data.n_obs,), dtype=int) == 1 + for k, v in test_split.items(): + if isinstance(v, bool) or isinstance(v, int) or isinstance(v, list): + v = [v] + if isinstance(self.data, anndata.AnnData): + if k not in self.data.obs.columns: + raise ValueError(f"Did not find column {k} used to define test set in self.data.") + in_test = np.logical_and(in_test, np.array([x in v for x in self.data.obs[k].values])) + elif isinstance(self.data, DistributedStoreBase): + idx = self.data.get_subset_idx_global(attr_key=k, values=v) + in_test_k = np.ones((self.data.n_obs,), dtype=int) == 0 + in_test_k[idx] = True + in_test = np.logical_and(in_test, in_test_k) + else: + assert False + self.idx_test = np.sort(np.where(in_test)[0]) + print(f"Found {len(self.idx_test)} out of {self.data.n_obs} cells that correspond to held out data set") + print(self.idx_test) + else: + raise ValueError("type of test_split %s not recognized" % type(test_split)) + idx_train_eval = np.array([x for x in all_idx if x not in self.idx_test]) + np.random.seed(1) + self.idx_eval = np.sort(np.random.choice( + a=idx_train_eval, + size=round(len(idx_train_eval) * val_split), + replace=False + )) + self.idx_train = np.sort([x for x in idx_train_eval if x not in self.idx_eval]) + + # Check that none of the train, test, eval partitions are empty + if not len(self.idx_test): + warnings.warn("Test partition is empty!") + if not len(self.idx_eval): + raise ValueError("The evaluation dataset is empty.") + if not len(self.idx_train): + raise ValueError("The train dataset is empty.") + def train( self, optimizer: str, @@ -287,10 +337,14 @@ def train( lr_schedule_min_lr: float = 1e-5, lr_schedule_factor: float = 0.2, lr_schedule_patience: int = 5, - shuffle_buffer_size: int = int(1e4), + shuffle_buffer_size: Union[int, None] = None, + cache_full: bool = False, + randomized_batch_access: bool = True, + retrieval_batch_size: int = 512, + prefetch: Union[int, None] = 1, log_dir: Union[str, None] = None, callbacks: Union[list, None] = None, - weighted: bool = True, + weighted: bool = False, verbose: int = 2 ): """ @@ -314,6 +368,11 @@ def train( when plateau is reached. :param lr_schedule_patience: Patience for learning rate reduction in learning rate reduction schedule. :param shuffle_buffer_size: tf.Dataset.shuffle(): buffer_size argument. + :param cache_full: Whether to use tensorflow caching on full training and validation data. + :param randomized_batch_access: Whether to randomize batches during reading (in generator). Lifts necessity of + using a shuffle buffer on generator, however, batch composition stays unchanged over epochs unless there + is overhangs in retrieval_batch_size in the raw data files, which often happens and results in modest + changes in batch composition. :param log_dir: Directory to save tensorboard callback to. Disabled if None. :param callbacks: Add additional callbacks to the training call :param weighted: @@ -350,21 +409,22 @@ def train( } # Set callbacks. - cbs = [ - tf.keras.callbacks.EarlyStopping( + cbs = [tf.keras.callbacks.TerminateOnNaN()] + if patience is not None and patience > 0: + cbs.append(tf.keras.callbacks.EarlyStopping( monitor='val_loss', patience=patience, restore_best_weights=True, verbose=verbose - ), - tf.keras.callbacks.ReduceLROnPlateau( + )) + if lr_schedule_factor is not None and lr_schedule_factor < 1.: + cbs.append(tf.keras.callbacks.ReduceLROnPlateau( monitor='val_loss', factor=lr_schedule_factor, patience=lr_schedule_patience, min_lr=lr_schedule_min_lr, verbose=verbose - ) - ] + )) if log_dir is not None: cbs.append(tf.keras.callbacks.TensorBoard( log_dir=log_dir, @@ -384,62 +444,36 @@ def train( # callbacks needs to be a list cbs += callbacks - # Split training and evaluation data. - np.random.seed(1) - all_idx = np.arange(0, self.data.shape[0]) - if isinstance(test_split, float) or isinstance(test_split, int): - self.idx_test = np.random.choice( - a=all_idx, - size=round(self.data.shape[0] * test_split), - replace=False, - ) - elif isinstance(test_split, dict): - in_test = np.ones((self.data.obs.shape[0],), dtype=int) == 1 - for k, v in test_split.items(): - if isinstance(v, list): - in_test = np.logical_and(in_test, np.array([x in v for x in self.data.obs[k].values])) - else: - in_test = np.logical_and(in_test, self.data.obs[k].values == v) - self.idx_test = np.where(in_test)[0] - print(f"Found {len(self.idx_test)} out of {self.data.n_obs} cells that correspond to held out data set") - print(self.idx_test) - else: - raise ValueError("type of test_split %s not recognized" % type(test_split)) - idx_train_eval = np.array([x for x in all_idx if x not in self.idx_test]) - np.random.seed(1) - self.idx_eval = np.random.choice( - a=idx_train_eval, - size=round(len(idx_train_eval) * validation_split), - replace=False - ) - self.idx_train = np.array([x for x in idx_train_eval if x not in self.idx_eval]) - - # Check that none of the train, test, eval partitions are empty - if not len(self.idx_test): - warnings.warn("Test partition is empty!") - if not len(self.idx_eval): - raise ValueError("The evaluation dataset is empty.") - if not len(self.idx_train): - raise ValueError("The train dataset is empty.") - - self.obs_train = self.data.obs.iloc[self.idx_train, :].copy() - self.obs_eval = self.data.obs.iloc[self.idx_eval, :].copy() - self.obs_test = self.data.obs.iloc[self.idx_test, :].copy() - + # Check randomisation settings: + if shuffle_buffer_size is not None and shuffle_buffer_size > 0 and randomized_batch_access: + raise ValueError("You are using shuffle_buffer_size and randomized_batch_access, this is likely not " + "intended.") + if cache_full and randomized_batch_access: + raise ValueError("You are using cache_full and randomized_batch_access, this is likely not intended.") + self.split_train_val_test(val_split=validation_split, test_split=test_split) self._compile_models(optimizer=optim) + shuffle_buffer_size = shuffle_buffer_size if shuffle_buffer_size is not None else 0 train_dataset = self._get_dataset( idx=self.idx_train, batch_size=batch_size, + retrieval_batch_size=retrieval_batch_size, mode='train', shuffle_buffer_size=min(shuffle_buffer_size, len(self.idx_train)), - weighted=weighted + weighted=weighted, + cache_full=cache_full, + randomized_batch_access=randomized_batch_access, + prefetch=prefetch, ) eval_dataset = self._get_dataset( idx=self.idx_eval, batch_size=validation_batch_size, + retrieval_batch_size=retrieval_batch_size, mode='train_val', shuffle_buffer_size=min(shuffle_buffer_size, len(self.idx_eval)), - weighted=weighted + weighted=weighted, + cache_full=cache_full, + randomized_batch_access=randomized_batch_access, + prefetch=prefetch, ) steps_per_epoch = min(max(len(self.idx_train) // batch_size, 1), max_steps_per_epoch) @@ -455,13 +489,21 @@ def train( verbose=verbose ).history - def get_citations(self): - """ - Return papers to cite when using this model. + @property + def using_store(self) -> bool: + return isinstance(self.data, DistributedStoreBase) - :return: - """ - raise NotImplementedError() + @property + def obs_train(self): + return self.data.obs.iloc[self.idx_train, :] + + @property + def obs_eval(self): + return self.data.obs.iloc[self.idx_eval, :] + + @property + def obs_test(self): + return self.data.obs.iloc[self.idx_test, :] class EstimatorKerasEmbedding(EstimatorKeras): @@ -471,27 +513,23 @@ class EstimatorKerasEmbedding(EstimatorKeras): def __init__( self, - data: Union[anndata.AnnData, np.ndarray], + data: Union[anndata.AnnData, np.ndarray, DistributedStoreBase], model_dir: Union[str, None], model_id: Union[str, None], - species: Union[str, None], - organ: Union[str, None], - model_type: Union[str, None], - model_topology: Union[str, None], + model_topology: TopologyContainer, weights_md5: Union[str, None] = None, - cache_path: str = os.path.join('cache', '') + cache_path: str = os.path.join('cache', ''), + adata_ids: AdataIds = AdataIdsSfaira() ): super(EstimatorKerasEmbedding, self).__init__( - data=data, - model_dir=model_dir, - model_id=model_id, - model_class="embedding", - species=species, - organ=organ, - model_type=model_type, - model_topology=model_topology, - weights_md5=weights_md5, - cache_path=cache_path + data=data, + model_dir=model_dir, + model_class="embedding", + model_id=model_id, + model_topology=model_topology, + weights_md5=weights_md5, + cache_path=cache_path, + adata_ids=adata_ids ) def init_model( @@ -515,15 +553,18 @@ def init_model( elif self.model_type == 'vaevamp': from sfaira.models.embedding import ModelVaeVampVersioned as Model else: - raise ValueError('unknown model type %s for EstimatorKerasEmbedding' % self.model_type) + raise ValueError(f'unknown model type {self.model_type} for EstimatorKerasEmbedding') self.model = Model( topology_container=self.topology_container, override_hyperpar=override_hyperpar ) @staticmethod - def _get_output_dim(n_features, model_type): - if model_type == "vae": + def _get_output_dim(n_features, model_type, mode='train'): + if mode == 'predict': # Output shape is same for predict mode regardless of model type + output_types = (tf.float32, tf.float32), + output_shapes = (n_features, ()), + elif model_type == "vae": output_types = ((tf.float32, tf.float32), (tf.float32, tf.float32)) output_shapes = ((n_features, ()), (n_features, ())) else: @@ -532,15 +573,88 @@ def _get_output_dim(n_features, model_type): return output_types, output_shapes + def _get_base_generator( + self, + generator_helper, + idx: Union[np.ndarray, None], + batch_size: int, + randomized_batch_access: bool, + ): + """ + Yield a basic generator based on which a tf dataset can be built. + + The signature of this generator can be modified through generator_helper. + + :param generator_helper: Python function that should take (x_sample,) as an input: + + - x_sample is a gene expression vector of a cell + :param idx: Indicies of data set to include in generator. + :param batch_size: Number of observations read from disk in each batched access. + :param randomized_batch_access: Whether to randomize batches during reading (in generator). Lifts necessity of + using a shuffle buffer on generator, however, batch composition stays unchanged over epochs unless there + is overhangs in retrieval_batch_size in the raw data files, which often happens and results in modest + changes in batch composition. + :return: + """ + if idx is None: + idx = np.arange(0, self.data.n_obs) + + # Prepare data reading according to whether anndata is backed or not: + if self.using_store: + generator_raw = self.data.generator( + idx=idx, + batch_size=batch_size, + obs_keys=[], + return_dense=True, + randomized_batch_access=randomized_batch_access, + ) + + def generator(): + for z in generator_raw(): + x_sample = z[0] + if isinstance(x_sample, scipy.sparse.csr_matrix): + x_sample = x_sample.todense() + x_sample = np.asarray(x_sample) + for i in range(x_sample.shape[0]): + yield generator_helper(x_sample=x_sample[i]) + + n_features = self.data.n_vars + n_samples = self.data.n_obs + else: + x = self.data.X if self.data.isbacked else self._prepare_data_matrix(idx=idx) + indices = idx if self.data.isbacked else range(x.shape[0]) + n_obs = len(indices) + remainder = n_obs % batch_size + batch_starts_ends = [ + (int(x * batch_size), int(x * batch_size) + batch_size) + for x in np.arange(0, n_obs // batch_size + int(remainder > 0)) + ] + + def generator(): + is_sparse = isinstance(x[0, :], scipy.sparse.spmatrix) + for s, e in batch_starts_ends: + x_sample = np.asarray(x[indices[s:e], :].todense()) if is_sparse \ + else x[indices[s:e], :] + for i in range(x_sample.shape[0]): + yield generator_helper(x_sample=x_sample[i]) + + n_features = x.shape[1] + n_samples = x.shape[0] + + return generator, n_samples, n_features + def _get_dataset( self, idx: Union[np.ndarray, None], batch_size: Union[int, None], mode: str, shuffle_buffer_size: int = int(1e7), - prefetch: int = 10, + cache_full: bool = False, weighted: bool = False, - ): + retrieval_batch_size: int = 128, + randomized_batch_access: bool = False, + prefetch: Union[int, None] = 1, + ) -> tf.data.Dataset: """ :param idx: @@ -548,109 +662,102 @@ def _get_dataset( :param mode: :param shuffle_buffer_size: :param weighted: Whether to use weights. Not implemented for embedding models yet. + :param retrieval_batch_size: Number of observations read from disk in each batched access. + :param randomized_batch_access: Whether to randomize batches during reading (in generator). Lifts necessity of + using a shuffle buffer on generator, however, batch composition stays unchanged over epochs unless there + is overhangs in retrieval_batch_size in the raw data files, which often happens and results in modest + changes in batch composition. :return: """ # Determine model type [ae, vae(iaf, vamp)] model_type = "vae" if self.model_type[:3] == "vae" else "ae" - if idx is None: - idx = np.arange(0, self.data.n_obs) - - if mode == 'train' or mode == 'train_val': - # Prepare data reading according to whether anndata is backed or not: - if self.data.isbacked: - n_features = self.data.X.shape[1] - output_types, output_shapes = self._get_output_dim(n_features, model_type) - - if model_type == "vae": - def generator(): - sparse = isinstance(self.data.X[0, :], scipy.sparse.spmatrix) - for i in idx: - # (_,_), (_,sf) is dummy for kl loss - x = self.data.X[i, :].toarray().flatten() if sparse else self.data.X[i, :].flatten() - sf = self._prepare_sf(x=x)[0] - yield (x, sf), (x, sf) - else: - def generator(): - sparse = isinstance(self.data.X[0, :], scipy.sparse.spmatrix) - for i in idx: - x = self.data.X[i, :].toarray().flatten() if sparse else self.data.X[i, :].flatten() - sf = self._prepare_sf(x=x)[0] - yield (x, sf), x - else: - x = self._prepare_data_matrix(idx=idx) - sf = self._prepare_sf(x=x) - n_features = x.shape[1] - output_types, output_shapes = self._get_output_dim(n_features, model_type) - - if model_type == "vae": - def generator(): - for i in range(x.shape[0]): - # (_,_), (_,sf) is dummy for kl loss - yield (x[i, :].toarray().flatten(), sf[i]), (x[i, :].toarray().flatten(), sf[i]) + if mode in ['train', 'train_val', 'eval', 'predict']: + def generator_helper(x_sample): + sf_sample = prepare_sf(x=x_sample)[0] + if mode == 'predict': + return (x_sample, sf_sample), + elif model_type == "vae": + return (x_sample, sf_sample), (x_sample, sf_sample) else: - def generator(): - for i in range(x.shape[0]): - yield (x[i, :].toarray().flatten(), sf[i]), x[i, :].toarray().flatten() + return (x_sample, sf_sample), x_sample + generator, n_samples, n_features = self._get_base_generator( + generator_helper=generator_helper, + idx=idx, + batch_size=retrieval_batch_size, + randomized_batch_access=randomized_batch_access, + ) + output_types, output_shapes = self._get_output_dim(n_features=n_features, model_type=model_type, mode=mode) dataset = tf.data.Dataset.from_generator( generator=generator, output_types=output_types, output_shapes=output_shapes ) - if mode == 'train': + if cache_full: + dataset = dataset.cache() + # Only shuffle in train modes + if mode in ['train', 'train_val']: dataset = dataset.repeat() - dataset = dataset.shuffle( - buffer_size=min(self.data.X.shape[0], shuffle_buffer_size), - seed=None, - reshuffle_each_iteration=True - ).batch(batch_size).prefetch(prefetch) + if shuffle_buffer_size is not None and shuffle_buffer_size > 0: + dataset = dataset.shuffle( + buffer_size=min(n_samples, shuffle_buffer_size), + seed=None, + reshuffle_each_iteration=True) + if prefetch is None: + prefetch = tf.data.AUTOTUNE + dataset = dataset.batch(batch_size, drop_remainder=False).prefetch(prefetch) return dataset - elif mode == 'eval' or mode == 'predict': + elif mode == 'gradient_method': # TODO depreceate this code # Prepare data reading according to whether anndata is backed or not: - if self.data.isbacked: - # Need to supply sorted indices to backed anndata: - x = self.data.X[np.sort(idx), :] - # Sort back in original order of indices. - x = x[[np.where(np.sort(idx) == i)[0][0] for i in idx], :] - else: - x = self._prepare_data_matrix(idx=idx) - x = x.toarray() + cell_to_class = self._get_class_dict(obs_key=self._adata_ids.cellontology_class) + if self.using_store: + n_features = self.data.n_vars + generator_raw = self.data.generator( + idx=idx, + batch_size=1, + obs_keys=[self._adata_ids.cellontology_class], + return_dense=True, + ) - sf = self._prepare_sf(x=x) - if self.model_type[:3] == "vae": - return (x, sf), (x, sf) - else: - return (x, sf), x - - elif mode == 'gradient_method': - # Prepare data reading according to whether anndata is backed or not: - if self.data.isbacked: + def generator(): + for z in generator_raw(): + x_sample = z[0] + if isinstance(x_sample, scipy.sparse.csr_matrix): + x_sample = x_sample.todense() + x_sample = np.asarray(x_sample).flatten() + sf_sample = prepare_sf(x=x_sample)[0] + y_sample = z[1][self._adata_ids.cellontology_class].values[0] + yield (x_sample, sf_sample), (x_sample, cell_to_class[y_sample]) + + elif isinstance(self.data, anndata.AnnData) and self.data.isbacked: + if idx is None: + idx = np.arange(0, self.data.n_obs) n_features = self.data.X.shape[1] - cell_to_class = self._get_class_dict() - output_types, output_shapes = self._get_output_dim(n_features, 'vae') def generator(): sparse = isinstance(self.data.X[0, :], scipy.sparse.spmatrix) for i in idx: - x = self.data.X[i, :].toarray().flatten() if sparse else self.data.X[i, :].flatten() - sf = self._prepare_sf(x=x)[0] - y = self.data.obs['cell_ontology_class'][i] - yield (x, sf), (x, cell_to_class[y]) + x_sample = self.data.X[i, :].toarray().flatten() if sparse else self.data.X[i, :].flatten() + sf_sample = prepare_sf(x=x_sample)[0] + y_sample = self.data.obs[self._adata_ids.cellontology_id][i] + yield (x_sample, sf_sample), (x_sample, cell_to_class[y_sample]) else: + if idx is None: + idx = np.arange(0, self.data.n_obs) x = self._prepare_data_matrix(idx=idx) - sf = self._prepare_sf(x=x) - cell_to_class = self._get_class_dict() - y = self.data.obs['cell_ontology_class'][idx] # for gradients per celltype in compute_gradients_input() - n_features = x.shape[1] - output_types, output_shapes = self._get_output_dim(n_features, 'vae') - + sf = prepare_sf(x=x) + y = self.data.obs[self._adata_ids.cellontology_class].values[idx] + # for gradients per celltype in compute_gradients_input() + n_features = x.shape[1] + def generator(): for i in range(x.shape[0]): yield (x[i, :].toarray().flatten(), sf[i]), (x[i, :].toarray().flatten(), cell_to_class[y[i]]) + output_types, output_shapes = self._get_output_dim(n_features, 'vae') dataset = tf.data.Dataset.from_generator( generator=generator, output_types=output_types, @@ -660,7 +767,7 @@ def generator(): buffer_size=shuffle_buffer_size, seed=None, reshuffle_each_iteration=True - ).batch(batch_size).prefetch(prefetch) + ).batch(batch_size, drop_remainder=False).prefetch(prefetch) return dataset @@ -705,103 +812,98 @@ def _metrics(self): return {"neg_ll": [custom_mse, custom_negll]} - def evaluate_any(self, idx): + def evaluate_any(self, idx, batch_size: int = 128, max_steps: int = np.inf): """ Evaluate the custom model on any local data. + Defaults to run on full data if idx is None. + :param idx: Indices of observations to evaluate on. Evaluates on all observations if None. + :param batch_size: Batch size for evaluation. + :param max_steps: Maximum steps before evaluation round is considered complete. :return: Dictionary of metric names and values. """ - if idx is None or idx.any(): # true if the array is not empty or if the passed value is None - x, y = self._get_dataset( + if idx is None or idx.any(): # true if the array is not empty or if the passed value is None + idx = np.arange(0, self.data.n_obs) if idx is None else idx + dataset = self._get_dataset( idx=idx, - batch_size=None, - mode='eval' - ) - results = self.model.training_model.evaluate( - x=x, y=y + batch_size=batch_size, + mode='eval', + retrieval_batch_size=128, + shuffle_buffer_size=0, ) + steps = min(max(len(idx) // batch_size, 1), max_steps) + results = self.model.training_model.evaluate(x=dataset, steps=steps) return dict(zip(self.model.training_model.metrics_names, results)) else: return {} - def evaluate(self): + def evaluate(self, batch_size: int = 128, max_steps: int = np.inf): """ - Evaluate the custom model on local data. + Evaluate the custom model on test data. Defaults to run on full data if idx_test was not set before, ie. train() has not been called before. + :param batch_size: Batch size for evaluation. + :param max_steps: Maximum steps before evaluation round is considered complete. :return: Dictionary of metric names and values. """ - if self.idx_test is None or self.idx_test.any(): # true if the array is not empty or if the passed value is None - x, y = self._get_dataset( - idx=self.idx_test, - batch_size=None, - mode='eval' - ) - results = self.model.training_model.evaluate( - x=x, y=y - ) - return dict(zip(self.model.training_model.metrics_names, results)) - else: - return {} + return self.evaluate_any(idx=self.idx_test, batch_size=batch_size, max_steps=max_steps) - def predict(self): + def predict(self, batch_size: int = 128): """ return the prediction of the model :return: prediction """ - if self.idx_test is None or self.idx_test.any(): # true if the array is not empty or if the passed value is None - x, y = self._get_dataset( + if self.idx_test is None or self.idx_test.any(): + dataset = self._get_dataset( idx=self.idx_test, - batch_size=None, - mode='predict' - ) - return self.model.predict_reconstructed( - x=x + batch_size=batch_size, + mode='predict', + retrieval_batch_size=128, + shuffle_buffer_size=0, ) + return self.model.predict_reconstructed(x=dataset) else: return np.array([]) - def predict_embedding(self): + def predict_embedding(self, batch_size: int = 128): """ return the prediction in the latent space (z_mean for variational models) :return: latent space """ - if self.idx_test is None or self.idx_test.any(): # true if the array is not empty or if the passed value is None - x, y = self._get_dataset( + if self.idx_test is None or self.idx_test.any(): + dataset = self._get_dataset( idx=self.idx_test, - batch_size=None, - mode='predict' - ) - return self.model.predict_embedding( - x=x, - variational=False + batch_size=batch_size, + mode='predict', + retrieval_batch_size=128, + shuffle_buffer_size=0, ) + return self.model.predict_embedding(x=dataset, variational=False) else: return np.array([]) - def predict_embedding_variational(self): + def predict_embedding_variational(self, batch_size: int = 128, max_steps: int = np.inf): """ return the prediction of z, z_mean, z_log_var in the variational latent space :return: sample of latent space, mean of latent space, variance of latent space """ - if self.idx_test is None or self.idx_test: # true if the array is not empty or if the passed value is None - x, y = self._get_dataset( + if self.idx_test is None or self.idx_test: + dataset = self._get_dataset( idx=self.idx_test, - batch_size=None, - mode='predict' - ) - return self.model.predict_embedding( - x=x, - variational=True + batch_size=batch_size, + mode='predict', + retrieval_batch_size=128, + shuffle_buffer_size=0, ) + return self.model.predict_embedding(x=dataset, variational=True) else: return np.array([]) @@ -816,7 +918,7 @@ def compute_gradients_input( idx = self.idx_test if self.idx_test is None: num_samples = 10000 - idx = np.random.randint(0,self.data.X.shape[0],num_samples) + idx = np.random.randint(0, self.data.X.shape[0], num_samples) n_obs = len(idx) else: idx = None @@ -829,7 +931,7 @@ def compute_gradients_input( ) if per_celltype: - cell_to_id = self._get_class_dict(obs_key="cell_ontology_class") + cell_to_id = self._get_class_dict(obs_key=self._adata_ids.cellontology_class) cell_names = cell_to_id.keys() cell_id = cell_to_id.values() id_to_cell = dict([(key, value) for (key, value) in zip(cell_id, cell_names)]) @@ -843,14 +945,14 @@ def compute_gradients_input( self.model.training_model.input, self.model.encoder_model.output[0] ) - latent_dim = self.model.encoder_model.output[0].shape[1] + latent_dim = self.model.encoder_model.output[0].shape[1] input_dim = self.model.training_model.input[0].shape[1] else: model = tf.keras.Model( self.model.training_model.input, self.model.encoder_model.output ) - latent_dim = self.model.encoder_model.output[0].shape[0] + latent_dim = self.model.encoder_model.output[0].shape[0] input_dim = self.model.training_model.input[0].shape[1] @tf.function @@ -860,14 +962,15 @@ def get_gradients(x_batch): tape.watch(x) model_out = model((x, sf)) if abs_gradients: - f = lambda x: abs(x) + def f(xx): + return abs(xx) else: - f = lambda x: x + def f(xx): + return xx # marginalize on batch level and then accumulate batches # batch_jacobian gives output of size: (batch_size, latent_dim, input_dim) - batch_gradients = f(tape.batch_jacobian(model_out, x)) - return batch_gradients - + return f(tape.batch_jacobian(model_out, x)) + for step, (x_batch, y_batch) in tqdm(enumerate(ds), total=np.ceil(n_obs / batch_size)): batch_gradients = get_gradients(x_batch).numpy() _, y = y_batch @@ -880,11 +983,11 @@ def get_gradients(x_batch): if per_celltype: for cell in cell_names: print(f'{cell} with {counts[cell]} observations') - grads_x[cell] = grads_x[cell]/counts[cell] if counts[cell] > 0 else np.zeros((latent_dim, input_dim)) - + grads_x[cell] = grads_x[cell] / counts[cell] if counts[cell] > 0 else np.zeros((latent_dim, input_dim)) + return {'gradients': grads_x, 'counts': counts} else: - return grads_x/n_obs + return grads_x / n_obs class EstimatorKerasCelltype(EstimatorKeras): @@ -892,34 +995,63 @@ class EstimatorKerasCelltype(EstimatorKeras): Estimator class for the cell type model. """ - celltypes_version: CelltypeVersionsBase + celltype_universe: CelltypeUniverse def __init__( self, - data: Union[anndata.AnnData, np.ndarray], + data: Union[anndata.AnnData, DistributedStoreBase], model_dir: Union[str, None], model_id: Union[str, None], - species: Union[str, None], - organ: Union[str, None], - model_type: Union[str, None], - model_topology: Union[str, None], + model_topology: TopologyContainer, weights_md5: Union[str, None] = None, cache_path: str = os.path.join('cache', ''), - max_class_weight: float = 1e3 + celltype_ontology: Union[OntologyObo, None] = None, + max_class_weight: float = 1e3, + remove_unlabeled_cells: bool = True, + adata_ids: AdataIds = AdataIdsSfaira() ): super(EstimatorKerasCelltype, self).__init__( - data=data, - model_dir=model_dir, - model_id=model_id, - model_class="celltype", - species=species, - organ=organ, - model_type=model_type, - model_topology=model_topology, - weights_md5=weights_md5, - cache_path=cache_path + data=data, + model_dir=model_dir, + model_class="celltype", + model_id=model_id, + model_topology=model_topology, + weights_md5=weights_md5, + cache_path=cache_path, + adata_ids=adata_ids ) + if remove_unlabeled_cells: + # Remove cells without type label from store: + if isinstance(self.data, DistributedStoreBase): + self.data.subset(attr_key="cellontology_class", excluded_values=[ + self._adata_ids.unknown_celltype_identifier, + self._adata_ids.not_a_cell_celltype_identifier, + None, # TODO: it may be possible to remove this in the future + np.nan, # TODO: it may be possible to remove this in the future + ]) + elif isinstance(self.data, anndata.AnnData): + self.data = self.data[np.where([ + x not in [ + self._adata_ids.unknown_celltype_identifier, + self._adata_ids.not_a_cell_celltype_identifier, + None, # TODO: it may be possible to remove this in the future + np.nan, # TODO: it may be possible to remove this in the future + ] for x in self.data.obs[self._adata_ids.cellontology_class].values + ])[0], :] + else: + assert False + assert "cl" in self.topology_container.output.keys(), self.topology_container.output.keys() + assert "targets" in self.topology_container.output.keys(), self.topology_container.output.keys() self.max_class_weight = max_class_weight + if celltype_ontology is None: + celltype_ontology = OntologyCl(branch=self.topology_container.output["cl"]) + self.celltype_universe = CelltypeUniverse( + cl=celltype_ontology, + uberon=OCS.organ, + ) + # Set leaves if they are defined in topology: + if self.topology_container.output["targets"] is not None: + self.celltype_universe.onto_cl.leaves = self.topology_container.output["targets"] def init_model( self, @@ -939,59 +1071,64 @@ def init_model( raise ValueError('unknown topology %s for EstimatorKerasCelltype' % self.model_type) self.model = Model( - species=self.species, - organ=self.organ, + celltypes_version=self.celltype_universe, topology_container=self.topology_container, override_hyperpar=override_hyperpar ) - @property - def ids(self): - return self.model.celltypes_version.ids - @property def ntypes(self): - return self.model.celltypes_version.ntypes + return self.celltype_universe.onto_cl.n_leaves @property def ontology_ids(self): - return self.model.celltypes_version.ontology_ids + return self.celltype_universe.onto_cl.convert_to_id(self.celltype_universe.onto_cl.leaves) @property - def ontology(self): - return self.model.celltypes_version.ontology[self.model.celltypes_version.version] + def ontology_names(self): + return self.celltype_universe.onto_cl.convert_to_name(self.celltype_universe.onto_cl.leaves) + + def _one_hot_encoder(self): + leave_maps = self.celltype_universe.onto_cl.prepare_maps_to_leaves(include_self=True) + + def encoder(x) -> np.ndarray: + if isinstance(x, str): + x = [x] + # Encodes unknowns to empty rows. + idx = [ + leave_maps[y] if y not in [ + self._adata_ids.unknown_celltype_identifier, + self._adata_ids.not_a_cell_celltype_identifier, + ] else np.array([]) + for y in x + ] + oh = np.zeros((len(x), self.ntypes,), dtype="float32") + for i, y in enumerate(idx): + scale = len(y) + if scale > 0: + oh[i, y] = 1. / scale + return oh + + return encoder def _get_celltype_out( self, idx: Union[np.ndarray, None], - lookup_ontology=["names"] ): """ Build one hot encoded cell type output tensor and observation-wise weight matrix. - :param lookup_ontology: list of ontology names to conisder. + :param lookup_ontology: list of ontology names to consider. :return: """ if idx is None: idx = np.arange(0, self.data.n_obs) # One whether "unknown" is already included, otherwise add one extra column. - if np.any([x.lower() == "unknown" for x in self.ids]): - type_classes = self.ntypes - else: - type_classes = self.ntypes + 1 - y = np.zeros((len(idx), type_classes), dtype="float32") - for i, x in enumerate(idx): - label = self.data.obs["cell_ontology_class"].values[x] - if label not in self.ids: - if not np.any([label in self.ontology[ont].keys() for ont in lookup_ontology]): - raise ValueError("%s not found in cell type universe and ontology sets" % label) - # Distribute probability mass uniformly across classes if multiple classes match. - for ont in lookup_ontology: - if label in self.ontology[ont].keys(): - leave_nodes = self.ontology[ont][label] - y[i, np.where([jj in leave_nodes for jj in self.ids])[0]] = 1. - else: - y[i, self.ids.index(label)] = 1. + onehot_encoder = self._one_hot_encoder() + y = np.concatenate([ + onehot_encoder(z) + for z in self.data.obs[self._adata_ids.cellontology_id].values[idx].tolist() + ], axis=0) # Distribute aggregated class weight for computation of weights: freq = np.mean(y / np.sum(y, axis=1, keepdims=True), axis=0, keepdims=True) weights = 1. / np.matmul(y, freq.T) # observation wise weight matrix @@ -1002,15 +1139,127 @@ def _get_celltype_out( ).flatten() return weights, y + @staticmethod + def _get_output_dim(n_features, n_labels, mode): + if mode == 'predict': + output_types = (tf.float32,) + output_shapes = (tf.TensorShape([n_features]),) + else: + output_types = (tf.float32, tf.float32, tf.float32) + output_shapes = ( + (tf.TensorShape([n_features])), + tf.TensorShape([n_labels]), + tf.TensorShape([]) + ) + + return output_types, output_shapes + + def _get_base_generator( + self, + idx: Union[np.ndarray, None], + yield_labels: bool, + weighted: bool, + batch_size: int, + randomized_batch_access: bool, + ): + """ + Yield a basic generator based on which a tf dataset can be built. + + The signature of this generator can be modified through generator_helper. + + :param generator_helper: Python function that should take (x_sample, y_sample, w_sample) as an input: + + - x_sample is a gene expression vector of a cell + - y_sample is a one-hot encoded label vector of a cell + - w_sample is a weight scalar of a cell + :param idx: Indicies of data set to include in generator. + :param yield_labels: + :param batch_size: Number of observations read from disk in each batched access. + :param randomized_batch_access: Whether to randomize batches during reading (in generator). Lifts necessity of + using a shuffle buffer on generator, however, batch composition stays unchanged over epochs unless there + is overhangs in retrieval_batch_size in the raw data files, which often happens and results in modest + changes in batch composition. + :return: + """ + if idx is None: + idx = np.arange(0, self.data.n_obs) + + # Prepare data reading according to whether anndata is backed or not: + if self.using_store: + if weighted: + raise ValueError("using weights with store is not supported yet") + generator_raw = self.data.generator( + idx=idx, + batch_size=batch_size, + obs_keys=[self._adata_ids.cellontology_id], + return_dense=True, + randomized_batch_access=randomized_batch_access, + ) + if yield_labels: + onehot_encoder = self._one_hot_encoder() + + def generator(): + for z in generator_raw(): + x_sample = z[0] + if isinstance(x_sample, scipy.sparse.csr_matrix): + x_sample = x_sample.todense() + x_sample = np.asarray(x_sample) + if yield_labels: + y_sample = onehot_encoder(z[1][self._adata_ids.cellontology_id].values) + for i in range(x_sample.shape[0]): + if y_sample[i].sum() > 0: + yield x_sample[i], y_sample[i], 1. + else: + for i in range(x_sample.shape[0]): + yield x_sample[i], + n_features = self.data.n_vars + n_samples = self.data.n_obs + else: + if yield_labels: + weights, y = self._get_celltype_out(idx=idx) + if not weighted: + weights = np.ones_like(weights) + x = self.data.X if self.data.isbacked else self._prepare_data_matrix(idx=idx) + is_sparse = isinstance(x, scipy.sparse.spmatrix) + indices = idx if self.data.isbacked else range(x.shape[0]) + n_obs = len(indices) + remainder = n_obs % batch_size + batch_starts_ends = [ + (int(x * batch_size), int(x * batch_size) + batch_size) + for x in np.arange(0, n_obs // batch_size + int(remainder > 0)) + ] + + def generator(): + for s, e in batch_starts_ends: + x_sample = np.asarray(x[indices[s:e], :].todense()) if is_sparse else x[indices[s:e], :] + if yield_labels: + y_sample = y[indices[s:e], :] + w_sample = weights[indices[s:e]] + for i in range(x_sample.shape[0]): + if y_sample[i].sum() > 0: + yield x_sample[i], y_sample[i], w_sample[i] + else: + for i in range(x_sample.shape[0]): + yield x_sample[i], + + n_features = x.shape[1] + n_samples = x.shape[0] + + n_labels = self.celltype_universe.onto_cl.n_leaves + return generator, n_samples, n_features, n_labels + def _get_dataset( self, idx: Union[np.ndarray, None], batch_size: Union[int, None], mode: str, shuffle_buffer_size: int = int(1e7), - prefetch: int = 10, - weighted: bool = True, - ): + cache_full: bool = False, + weighted: bool = False, + retrieval_batch_size: int = 128, + randomized_batch_access: bool = False, + prefetch: Union[int, None] = 1, + ) -> tf.data.Dataset: """ :param idx: @@ -1018,180 +1267,135 @@ def _get_dataset( :param mode: :param shuffle_buffer_size: :param weighted: Whether to use weights. + :param retrieval_batch_size: Number of observations read from disk in each batched access. + :param randomized_batch_access: Whether to randomize batches during reading (in generator). Lifts necessity of + using a shuffle buffer on generator, however, batch composition stays unchanged over epochs unless there + is overhangs in retrieval_batch_size in the raw data files, which often happens and results in modest + changes in batch composition. :return: """ + generator, n_samples, n_features, n_labels = self._get_base_generator( + idx=idx, + yield_labels=mode in ['train', 'train_val', 'eval'], + weighted=weighted, + batch_size=retrieval_batch_size, + randomized_batch_access=randomized_batch_access, + ) + output_types, output_shapes = self._get_output_dim(n_features=n_features, n_labels=n_labels, mode=mode) + dataset = tf.data.Dataset.from_generator( + generator=generator, + output_types=output_types, + output_shapes=output_shapes + ) + if cache_full: + dataset = dataset.cache() if mode == 'train' or mode == 'train_val': - weights, y = self._get_celltype_out(idx=idx) - if not weighted: - weights = np.ones_like(weights) - - if self.data.isbacked: - n_features = self.data.X.shape[1] - - def generator(): - sparse = isinstance(self.data.X[0, :], scipy.sparse.spmatrix) - for i, ii in enumerate(idx): - x = self.data.X[ii, :].toarray().flatten() if sparse else self.data.X[ii, :].flatten() - yield x, y[i, :], weights[i] - else: - x = self._prepare_data_matrix(idx=idx) - n_features = x.shape[1] - - def generator(): - for i, ii in enumerate(idx): - yield x[i, :].toarray().flatten(), y[i, :], weights[i] - - dataset = tf.data.Dataset.from_generator( - generator=generator, - output_types=(tf.float32, tf.float32, tf.float32), - output_shapes=( - (tf.TensorShape([n_features])), - tf.TensorShape([y.shape[1]]), - tf.TensorShape([]) - ) - ) - if mode == 'train': - dataset = dataset.repeat() - dataset = dataset.shuffle( - buffer_size=min(x.shape[0], shuffle_buffer_size), - seed=None, - reshuffle_each_iteration=True - ).batch(batch_size).prefetch(prefetch) - - return dataset - - elif mode == 'eval': - weights, y = self._get_celltype_out(idx=idx) - if not weighted: - weights = np.ones_like(weights) - - # Prepare data reading according to whether anndata is backed or not: - if self.data.isbacked: - # Need to supply sorted indices to backed anndata: - x = self.data.X[np.sort(idx), :] - # Sort back in original order of indices. - x = x[[np.where(np.sort(idx) == i)[0][0] for i in idx], :] - else: - x = self._prepare_data_matrix(idx=idx) - x = x.toarray() - - return x, y, weights - - elif mode == 'predict': - # Prepare data reading according to whether anndata is backed or not: - if self.data.isbacked: - # Need to supply sorted indices to backed anndata: - x = self.data.X[np.sort(idx), :] - # Sort back in original order of indices. - x = x[[np.where(np.sort(idx) == i)[0][0] for i in idx], :] - else: - x = self._prepare_data_matrix(idx=idx) - x = x.toarray() - - return x, None, None - - else: - raise ValueError(f'Mode {mode} not recognised. Should be "train", "eval" or" predict"') + dataset = dataset.repeat() + if shuffle_buffer_size is not None and shuffle_buffer_size > 0: + dataset = dataset.shuffle( + buffer_size=min(n_samples, shuffle_buffer_size), + seed=None, + reshuffle_each_iteration=True) + if prefetch is None: + prefetch = tf.data.AUTOTUNE + dataset = dataset.batch(batch_size, drop_remainder=False).prefetch(prefetch) + + return dataset def _get_loss(self): return LossCrossentropyAgg() def _metrics(self): - if np.any([x.lower() == "unknown" for x in self.ids]): - ntypes = self.ntypes - else: - ntypes = self.ntypes + 1 return [ "accuracy", custom_cce_agg, CustomAccAgg(), - CustomF1Classwise(k=ntypes), - CustomFprClasswise(k=ntypes), - CustomTprClasswise(k=ntypes) + CustomF1Classwise(k=self.ntypes), + CustomFprClasswise(k=self.ntypes), + CustomTprClasswise(k=self.ntypes) ] - def predict(self): + def predict(self, batch_size: int = 128, max_steps: int = np.inf): """ Return the prediction of the model - :return: - prediction + :param batch_size: Batch size for evaluation. + :param max_steps: Maximum steps before evaluation round is considered complete. + :return: Prediction tensor. """ - if self.idx_test is None or self.idx_test.any(): # true if the array is not empty or if the passed value is None - x, _, _ = self._get_dataset( - idx=self.idx_test, - batch_size=None, - mode='predict' - ) - return self.model.training_model.predict( - x=x + idx = self.idx_test + if idx is None or idx.any(): + dataset = self._get_dataset( + idx=idx, + batch_size=batch_size, + mode='predict', + retrieval_batch_size=128, + shuffle_buffer_size=0, ) + return self.model.training_model.predict(x=dataset) else: return np.array([]) - def ytrue(self): + def ytrue(self, batch_size: int = 128, max_steps: int = np.inf): """ Return the true labels of the test set. :return: true labels """ - if self.idx_test is None or self.idx_test.any(): # true if the array is not empty or if the passed value is None - x, y, w = self._get_dataset( + if self.idx_test is None or self.idx_test.any(): + dataset = self._get_dataset( idx=self.idx_test, - batch_size=None, - mode='eval' + batch_size=batch_size, + mode='eval', + shuffle_buffer_size=0, ) - return y + y_true = [] + for _, y, _ in dataset.as_numpy_iterator(): + y_true.append(y) + y_true = np.concatenate(y_true, axis=0) + return y_true else: return np.array([]) - def evaluate_any( - self, - idx, - weighted: bool = True - ): + def evaluate_any(self, idx, batch_size: int = 128, max_steps: int = np.inf, weighted: bool = False): """ Evaluate the custom model on any local data. + Defaults to run on full data if idx is None. + :param idx: Indices of observations to evaluate on. Evaluates on all observations if None. + :param batch_size: Batch size for evaluation. + :param max_steps: Maximum steps before evaluation round is considered complete. :param weighted: Whether to use class weights in evaluation. :return: Dictionary of metric names and values. """ if idx is None or idx.any(): # true if the array is not empty or if the passed value is None - x, y, w = self._get_dataset( + idx = np.arange(0, self.data.n_obs) if idx is None else idx + dataset = self._get_dataset( idx=idx, - batch_size=None, + batch_size=batch_size, mode='eval', - weighted=weighted - ) - results = self.model.training_model.evaluate( - x=x, y=y, sample_weight=w + weighted=weighted, + retrieval_batch_size=128, + shuffle_buffer_size=0, ) + results = self.model.training_model.evaluate(x=dataset) return dict(zip(self.model.training_model.metrics_names, results)) else: return {} - def evaluate(self, weighted: bool = True): + def evaluate(self, batch_size: int = 128, max_steps: int = np.inf, weighted: bool = False): """ Evaluate the custom model on local data. Defaults to run on full data if idx_test was not set before, ie. train() has not been called before. + :param batch_size: Batch size for evaluation. + :param max_steps: Maximum steps before evaluation round is considered complete. :param weighted: Whether to use class weights in evaluation. - :return: model.evaluate + :return: Dictionary of metric names and values. """ - if self.idx_test is None or self.idx_test.any(): # true if the array is not empty or if the passed value is None - x, y, w = self._get_dataset( - idx=self.idx_test, - batch_size=None, - mode='eval', - weighted=weighted - ) - return self.model.training_model.evaluate( - x=x, y=y, sample_weight=w - ) - else: - return np.array([]) + return self.evaluate_any(idx=self.idx_test, batch_size=batch_size, max_steps=max_steps, weighted=weighted) def compute_gradients_input( self, @@ -1219,15 +1423,17 @@ def compute_gradients_input( ) for step, (x_batch, _, _) in enumerate(ds): - print("compute gradients wrt. input: batch %i / %i." % (step+1, np.ceil(n_obs / 64))) + print("compute gradients wrt. input: batch %i / %i." % (step + 1, np.ceil(n_obs / 64))) x = x_batch with tf.GradientTape(persistent=True) as tape: tape.watch(x) model_out = model(x) if abs_gradients: - f = lambda x: abs(x) + def f(x): + return abs(x) else: - f = lambda x: x + def f(x): + return x # marginalize on batch level and then accumulate batches # batch_jacobian gives output of size: (batch_size, latent_dim, input_dim) batch_gradients = f(tape.batch_jacobian(model_out, x).numpy()) diff --git a/sfaira/estimators/losses.py b/sfaira/estimators/losses.py index ee2fc03d0..38765fc80 100644 --- a/sfaira/estimators/losses.py +++ b/sfaira/estimators/losses.py @@ -1,6 +1,8 @@ -import abc -import tensorflow as tf import numpy as np +try: + import tensorflow as tf +except ImportError: + tf = None class LossLoglikelihoodNb(tf.keras.losses.Loss): @@ -52,7 +54,7 @@ def call( """Implements the gaussian log likelihood loss as VAE reconstruction loss""" loc, scale = tf.split(y_pred, num_or_size_splits=2, axis=1) - ll = -tf.math.log(scale*tf.math.sqrt(2.*np.pi)) - 0.5*tf.math.square((y_true - loc) / scale) + ll = -tf.math.log(scale * tf.math.sqrt(2. * np.pi)) - 0.5 * tf.math.square((y_true - loc) / scale) ll = tf.clip_by_value(ll, -300, 300, "log_probs") neg_ll = -ll if self.average: diff --git a/sfaira/estimators/metrics.py b/sfaira/estimators/metrics.py index 74ee58b45..f075b9da5 100644 --- a/sfaira/estimators/metrics.py +++ b/sfaira/estimators/metrics.py @@ -1,6 +1,8 @@ -import abc import numpy as np -import tensorflow as tf +try: + import tensorflow as tf +except ImportError: + tf = None def custom_mse(y_true, y_pred, sample_weight=None): @@ -62,8 +64,8 @@ def __init__(self, name='acc_agg', **kwargs): def update_state(self, y_true, y_pred, sample_weight=None): phat_pos_agg = tf.reduce_sum(y_true * y_pred, axis=1, keepdims=True) acc_agg = tf.cast( - phat_pos_agg > tf.reduce_max((tf.ones_like(y_true) - y_true) * y_pred, axis=1), - dtype=y_true.dtype + phat_pos_agg > tf.reduce_max((tf.ones_like(y_true) - y_true) * y_pred, axis=1), + dtype=y_true.dtype ) # Do not use weighting for accuracy. self.acc_agg.assign_add(tf.reduce_mean(acc_agg)) @@ -86,8 +88,8 @@ def __init__(self, k: int, name='tpr', **kwargs): def update_state(self, y_true, y_pred, sample_weight=None): tp_by_class = tf.reduce_sum(tf.cast( - y_pred == tf.reduce_max(y_pred, axis=1, keepdims=True), - dtype=y_true.dtype + y_pred == tf.reduce_max(y_pred, axis=1, keepdims=True), + dtype=y_true.dtype ) * y_true, axis=0) fn_by_class = tf.reduce_sum(tf.cast( y_pred < tf.reduce_max(y_pred, axis=1, keepdims=True), @@ -147,8 +149,8 @@ def __init__(self, k: int, name='f1', **kwargs): def update_state(self, y_true, y_pred, sample_weight=None): tp_by_class = tf.reduce_sum(tf.cast( - y_pred == tf.reduce_max(y_pred, axis=1, keepdims=True), - dtype=y_true.dtype + y_pred == tf.reduce_max(y_pred, axis=1, keepdims=True), + dtype=y_true.dtype ) * y_true, axis=0) fp_by_class = tf.reduce_sum(tf.cast( y_pred == tf.reduce_max(y_pred, axis=1, keepdims=True), diff --git a/sfaira/genomes/generate_feature_list.py b/sfaira/genomes/generate_feature_list.py index 3cb73d555..838f53e87 100644 --- a/sfaira/genomes/generate_feature_list.py +++ b/sfaira/genomes/generate_feature_list.py @@ -5,11 +5,11 @@ class ExtractFeatureList: gene_table: Union[None, pandas.DataFrame] - species: Union[None, str] + organism: Union[None, str] release: Union[None, str] def __init__(self): - self.species = None + self.organism = None self.release = None self.gene_table = None @@ -39,7 +39,7 @@ def from_ensemble_gtf( :return: """ gtf_name = fn.split("/")[-1] - self.species = gtf_name.split(".")[0] + self.organism = gtf_name.split(".")[0] self.release = "_".join(gtf_name.split(".")[1:-1]) tab = pandas.read_table( @@ -63,4 +63,4 @@ def reduce_types_protein_coding(self): self.reduce_types(types=["protein_coding"]) def write_gene_table_to_csv(self, path): - self.gene_table.to_csv(path_or_buf=path + self.species + "_" + self.release + ".csv") + self.gene_table.to_csv(path_or_buf=path + self.organism + "_" + self.release + ".csv") diff --git a/sfaira/interface/__init__.py b/sfaira/interface/__init__.py index 5e70f72b4..7c96cac34 100644 --- a/sfaira/interface/__init__.py +++ b/sfaira/interface/__init__.py @@ -1 +1,2 @@ +from sfaira.interface.model_zoo import ModelZoo from sfaira.interface.user_interface import UserInterface diff --git a/sfaira/interface/external.py b/sfaira/interface/external.py deleted file mode 100644 index fdb52e721..000000000 --- a/sfaira/interface/external.py +++ /dev/null @@ -1,5 +0,0 @@ -from sfaira.estimators import EstimatorKeras, EstimatorKerasEmbedding, EstimatorKerasCelltype -import sfaira.versions.celltype_versions as celltype_versions -from sfaira.versions.genome_versions import SuperGenomeContainer -from sfaira.versions.topology_versions import Topologies -from sfaira.data.interactive import DatasetInteractive diff --git a/sfaira/interface/model_zoo.py b/sfaira/interface/model_zoo.py index 94612b2d1..8b0eb0faf 100644 --- a/sfaira/interface/model_zoo.py +++ b/sfaira/interface/model_zoo.py @@ -1,60 +1,75 @@ import abc -try: - import kipoi -except ImportError: - kipoi = None import numpy as np import pandas as pd from typing import List, Union -from .external import celltype_versions, Topologies +from sfaira.versions.metadata import CelltypeUniverse +from sfaira.consts import OCS +from sfaira.versions.topologies import TopologyContainer, TOPOLOGIES class ModelZoo(abc.ABC): """ - Model ontology base class. + Model zoo base class. """ - topology_container: Topologies - ontology: dict - model_id: Union[str, None] - model_class: Union[str, None] - species: Union[str, None] - organ: Union[str, None] - model_class: Union[str, None] - model_type: Union[str, None] - model_topology: Union[str, None] - model_version: Union[str, None] - celltypes: Union[List, None] + topology_container: TopologyContainer + zoo: Union[dict, None] + _model_id: Union[str, None] + celltypes: Union[CelltypeUniverse, None] + available_model_ids: Union[list, None] + topology_container: Union[None, TopologyContainer] def __init__( self, - model_lookuptable: Union[None, pd.DataFrame] = None + model_lookuptable: Union[None, pd.DataFrame] = None, + model_class: Union[str, None] = None, ): """ :param model_lookuptable: model_lookuptable. + :param model_class: Model class to subset to. """ - if model_lookuptable is not None: # check if models in repository - self.ontology = self.load_ontology_from_model_ids(model_lookuptable['model_id'].values) - self.model_id = None - self.model_class = None - self.species = None - self.organ = None - self.model_type = None - self.organisation = None - self.model_topology = None - self.model_version = None + self._ontology_container_sfaira = OCS + self._model_id = None self.topology_container = None - self.celltypes = None - @abc.abstractmethod - def load_ontology_from_model_ids( + if model_lookuptable is not None: # check if models in repository + self._load_model_ids(model_ids=model_lookuptable['model_id'].values, model_class=model_class) + self._construct_zoo_from_model_ids() + else: + self.zoo = None + self.available_model_ids = None + + def _load_model_ids( self, - model_ids + model_ids, + model_class: Union[str, None] = None, ): - pass + """ + Load model ids based on models available in model lookup tables. + :param model_ids: Table listing all available model_ids. + :param model_class: Model class to subset to + """ + self.available_model_ids = [x for x in model_ids if (x.split('_')[0] == model_class or model_class is None)] + + def _construct_zoo_from_model_ids(self): + """ + Load model zoo based on models available model_ids. + """ + id_df = pd.DataFrame( + [i.split('_')[1:3] for i in self.available_model_ids], + columns=['name', 'organisation'] + ) + orgs = np.unique(id_df['organisation']) + zoo = dict.fromkeys(orgs) + for o in orgs: + id_df_o = id_df[id_df['organisation'] == o] + name = np.unique(id_df_o['name']) + zoo[o] = dict.fromkeys(name) + self.zoo = zoo + + @staticmethod def _order_versions( - self, versions: List[str] ): """ @@ -64,410 +79,122 @@ def _order_versions( :return: Ordered list of versions. """ versions.sort(key=lambda s: [int(u) for u in s.split('.')]) - return versions - def set_model_id( - self, - model_id: str - ): - """ - Set model ID to a manually supplied ID. - - :param model_id: Model ID to set. Format: pipeline_genome_organ_model_organisation_topology_version - :return: - """ - self.model_id = model_id - ixs = self.model_id.split('_') - self.model_class = ixs[0] - self.species = ixs[1] - self.organ = ixs[2] - self.model_type = ixs[3] - self.organisation = ixs[4] - self.model_topology = ixs[5] - self.model_version = ixs[6] - - self.topology_container = Topologies( - species=self.species, - model_class=self.model_class, - model_type=self.model_type, - topology_id=self.model_topology - ) - - def save_weights_to_remote(self, path=None): - """ - Saves model weights to repository XY. - Increments 3rd digit of version number. - Adds model_id to the text file, updates model_index - - :return: - """ - raise NotImplementedError() - - def save_weights_to_public(self): - """ - Saves model weights to cloud under an organization name. - Increments 2nd digit of version number. - Adds model_id to the text file, updates model_index - - :return: - """ - raise NotImplementedError() - - def call_kipoi(self): - """ - Returns kipoi_experimental model call from remote directly on local data using kipoi_experimental. - - Runs model defined in self.model_id. - For this, the remote server associated with the model_id has to be identified via find_remote(). - - :return: Predictions - """ - return kipoi.get_model( - self.model_id, - source='kipoi_experimental', - with_dataloader=True - ) # TODO make sure that this is in line with kipoi_experimental model names - # alternatively: - #return kipoi_experimental.get_model("https://github.com/kipoi/models/tree/7d3ea7800184de414aac16811deba6c8eefef2b6/pwm_HOCOMOCO/human/CTCF", source='github-permalink') - - def species(self) -> List[str]: - """ - Return list of available species. - - :return: List of species available. - """ - return self.ontology.keys() - - def organs( - self, - species: str - ) -> List[str]: - """ - Return list of available organs for a given species. - - :param species: Identifier of species to show organs for. - :return: List of organs available. - """ - assert species in self.ontology.keys(), "species requested was not found in ontology" - return self.ontology[species].keys() - - def models( - self, - species: str, - organ: str - ) -> List[str]: - """ - Return list of available models for a given species, organ. - - :param species: Identifier of species to show organs for. - :param organ: Identifier of organ to show versions for. - :return: List of models available. - """ - assert species in self.ontology.keys(), "species requested was not found in ontology" - assert organ in self.ontology[species].keys(), "organ requested was not found in ontology" - return self.ontology[species][organ].keys() - - def organisation( - self, - species: str, - organ: str, - model_type: str - ) -> List[str]: - """ - Return list of available organisation that trained a given model for a given species and organ - - :param species: Identifier of species to show versions for. - :param organ: Identifier of organ to show versions for. - :param model_type: Identifier of model to show versions for. - :return: List of versions available. - """ - assert species in self.ontology.keys(), "species requested was not found in ontology" - assert organ in self.ontology[species].keys(), "organ requested was not found in ontology" - assert model_type in self.ontology[species][organ].keys(), "model_type requested was not found in ontology" - return self.ontology[species][organ][model_type] - def topology( self, - species: str, - organ: str, model_type: str, organisation: str ) -> List[str]: """ - Return list of available model topologies that trained by a given organisation, - a given model for a given species and organ + Return list of available model topologies that trained by a given organisation, and a given model - :param species: Identifier of species to show versions for. - :param organ: Identifier of organ to show versions for. :param model_type: Identifier of model_type to show versions for. :param organisation: Identifier of organisation to show versions for. :return: List of versions available. """ - assert species in self.ontology.keys(), "species requested was not found in ontology" - assert organ in self.ontology[species].keys(), "organ requested was not found in ontology" - assert model_type in self.ontology[species][organ].keys(), "model_type requested was not found in ontology" - assert organisation in self.ontology[species][organ][model_type].keys(), \ - "organisation requested was not found in ontology" - return self.ontology[species][organ][model_type][organisation] + assert organisation in self.zoo.keys(), "organisation requested was not found in zoo" + assert model_type in self.zoo[organisation].keys(), \ + "model_type requested was not found in zoo" + return self.zoo[organisation][model_type] def versions( self, - species: str, - organ: str, model_type: str, organisation: str, model_topology: str ) -> List[str]: """ - Return list of available model versions of a given organisation for a given species and organ and model. + Return list of available model versions of a given organisation for a given organism and organ and model. - :param species: Identifier of species to show versions for. - :param organ: Identifier of organ to show versions for. :param model_type: Identifier of model_type to show versions for. :param organisation: Identifier of organisation to show versions for. :param model_topology: Identifier of model_topology to show versions for. :return: List of versions available. """ - assert species in self.ontology.keys(), "species requested was not found in ontology" - assert organ in self.ontology[species].keys(), "organ requested was not found in ontology" - assert model_type in self.ontology[species][organ].keys(), "model_type requested was not found in ontology" - assert organisation in self.ontology[species][organ][model_type].keys(), \ - "organisation requested was not found in ontology" - assert model_topology in self.ontology[species][organ][model_type][organisation].keys(), \ - "model_topology requested was not found in ontology" - return self.ontology[species][organ][model_type][organisation][model_topology] - - @property - def genome(self): - return self.model_hyperparameters["genome"] - - @property - def gene_names(self): - return self.topology_container.genome_container.names - - @property - def ensemble_names(self): - return self.topology_container.genome_container.ensembl + assert organisation in self.zoo.keys(), "organisation requested was not found in zoo" + assert model_type in self.zoo[organisation].keys(), \ + "model_type requested was not found in zoo" + assert model_topology in self.zoo[organisation][model_type].keys(), \ + "model_topology requested was not found in zoo" + return self.zoo[organisation][model_type][model_topology] @property def model_hyperparameters(self) -> dict: - assert self.topology_container is not None + assert self.topology_container is not None, "set model_id first" return self.topology_container.topology["hyper_parameters"] + @property + def celltypes(self): + assert self.topology_container is not None, "set model_id first" + return self.topology_container.topology["output"]["targets"] -class ModelZooEmbedding(ModelZoo): - """ - The supported model ontology is: - - species -> organ -> model -> organisation -> topology -> version -> ID - - Maybe: include experimental protocol? Ie droplet, full-length, single-nuclei. - """ - - def load_ontology_from_model_ids( - self, - model_ids - ) -> dict: - """ - Load model ontology based on models available in model lookup tables. - - :param model_ids: Table listing all available model_ids. - :return: Dictionary formatted ontology. - """ - - ids = [i for i in model_ids if i.split('_')[0] == 'embedding'] - id_df = pd.DataFrame( - [i.split('_')[1:7] for i in ids], - columns=['species', 'organ', 'model_type', 'organisation', 'model_topology', 'model_version'] - ) - species = np.unique(id_df['species']) - ontology = dict.fromkeys(species) - for g in species: - id_df_g = id_df[id_df.species == g] - organ = np.unique(id_df_g['organ']) - ontology[g] = dict.fromkeys(organ) - for o in organ: - id_df_o = id_df_g[id_df_g.organ == o] - model = np.unique(id_df_o['model_type']) - ontology[g][o] = dict.fromkeys(model) - for m in model: - id_df_m = id_df_o[id_df_o.model_type == m] - orga = np.unique(id_df_m['organisation']) - ontology[g][o][m] = dict.fromkeys(orga) - for org in orga: - id_df_org = id_df_m[id_df_m.organisation == org] - topo = np.unique(id_df_org['model_topology']) - ontology[g][o][m][org] = dict.fromkeys(topo) - for t in topo: - id_df_t = id_df_org[id_df_org.model_topology == t] - ontology[g][o][m][org][t] = id_df_t.model_version.tolist() + @celltypes.setter + def celltypes(self, x: List): + assert self.topology_container is not None, "set model_id first" + self.topology_container.topology["output"]["targets"] = x - return ontology + @property + def model_id(self): + return self._model_id - def set_latest( - self, - species: str, - organ: str, - model_type: str, - organisation: str, - model_topology: str - ): + @model_id.setter + def model_id(self, x: str): """ - Set model ID to latest model in given ontology group. + Set model ID to a manually supplied ID and automatically set topology container. - :param species: Identifier of species to select. - :param organ: Identifier of organ to select. - :param model_type: Identifier of model_type to select. - :param organisation: Identifier of organisation to select. - :param model_topology: Identifier of model_topology to select - :return: + :param x: Model ID to set. Format: modelclass_organism-organ-modeltype-topology-version_organisation """ - assert species in self.ontology.keys(), "species requested was not found in ontology" - assert organ in self.ontology[species].keys(), "organ requested was not found in ontology" - assert model_type in self.ontology[species][organ].keys(), "model_type requested was not found in ontology" - assert organisation in self.ontology[species][organ][model_type].keys(), \ - "organisation requested was not found in ontology" - assert model_topology in self.ontology[species][organ][model_type][organisation].keys(), \ - "model_topology requested was not found in ontology" - - versions = self.versions( - species=species, - organ=organ, - model_type=model_type, - organisation=organisation, - model_topology=model_topology + assert self.available_model_ids is None or x in self.available_model_ids,\ + f"{x} not found in available_model_ids, please check available models using ModelZoo.available_model_ids" + assert len(x.split('_')) == 3, f'model_id {x} is invalid' + self._model_id = x + self.topology_container = TopologyContainer( + topology=TOPOLOGIES[self.model_organism][self.model_class][self.model_type][self.model_topology], + topology_id=self.model_version ) - self.species = species - self.organ = organ - self.model_type = model_type - self.organisation = organisation - self.model_topology = model_topology # set to model for now, could be species/organ specific later - - self.model_version = self._order_versions(versions=versions)[0] - self.model_id = '_'.join([ - 'embedding', - self.species, - self.organ, - self.model_type, - self.organisation, - self.model_topology, - self.model_version - ]) - self.topology_container = Topologies( - species=self.species, - model_class="embedding", - model_type=self.model_type, - topology_id=self.model_topology - ) - - -class ModelZooCelltype(ModelZoo): - """ - The supported model ontology is: - - species -> organ -> model -> organisation -> topology -> version -> ID - - Maybe: include experimental protocol? Ie droplet, full-length, single-nuclei. - - Note on topology id: The topology ID is x.y.z, x is the major cell type version and y.z is the cell type model - topology. Cell type model ontologies do not include the output size as this is set by the cell type version. - """ - - def load_ontology_from_model_ids( - self, - model_ids - ) -> dict: - """ - Load model ontology based on models available in model lookup tables. - :param model_ids: Table listing all available model_ids. - :return: Dictionary formatted ontology. - """ + @property + def model_class(self): + assert self.model_id is not None, "set model_id first" + return self.model_id.split('_')[0] - ids = [i for i in model_ids if i.split('_')[0] == 'celltype'] - id_df = pd.DataFrame( - [i.split('_')[1:7] for i in ids], - columns=['species', 'organ', 'model_type', 'organisation', 'model_topology', 'model_version'] - ) - species = np.unique(id_df['species']) - ontology = dict.fromkeys(species) - for g in species: - id_df_g = id_df[id_df.species == g] - organ = np.unique(id_df_g['organ']) - ontology[g] = dict.fromkeys(organ) - for o in organ: - id_df_o = id_df_g[id_df_g.organ == o] - model = np.unique(id_df_o['model_type']) - ontology[g][o] = dict.fromkeys(model) - for m in model: - id_df_m = id_df_o[id_df_o.model_type == m] - orga = np.unique(id_df_m['organisation']) - ontology[g][o][m] = dict.fromkeys(orga) - for org in orga: - id_df_org = id_df_m[id_df_m.organisation == org] - topo = np.unique(id_df_org['model_topology']) - ontology[g][o][m][org] = dict.fromkeys(topo) - for t in topo: - id_df_t = id_df_org[id_df_org.model_topology == t] - ontology[g][o][m][org][t] = id_df_t.model_version.tolist() + @property + def model_name(self): + assert self.model_id is not None, "set model_id first" + return self.model_id.split('_')[1] - return ontology + @property + def model_organism(self): + # TODO: this relies on theislab model_name formatting + assert self.model_id is not None, "set model_id first" + return self.model_id.split('_')[1].split("-")[0] - def set_latest( - self, - species: str, - organ: str, - model_type: str, - organisation: str, - model_topology: str - ): - """ - Set model ID to latest model in given ontology group. + @property + def model_organ(self): + # TODO: this relies on theislab model_name formatting + assert self.model_id is not None, "set model_id first" + return self.model_id.split('_')[1].split("-")[1] - :param species: Identifier of species to select. - :param organ: Identifier of organ to select. - :param model_type: Identifier of model_type to select. - :param organisation: Identifier of organisation to select. - :param model_topology: Identifier of model_topology to select - :return: - """ - assert species in self.ontology.keys(), "species requested was not found in ontology" - assert organ in self.ontology[species].keys(), "organ requested was not found in ontology" - assert model_type in self.ontology[species][organ].keys(), "model_type requested was not found in ontology" - assert organisation in self.ontology[species][organ][model_type].keys(), \ - "organisation requested was not found in ontology" - assert model_topology in self.ontology[species][organ][model_type][organisation].keys(), \ - "model_topology requested was not found in ontology" + @property + def model_type(self): + # TODO: this relies on theislab model_name formatting + assert self.model_id is not None, "set model_id first" + return self.model_id.split('_')[1].split("-")[2] - versions = self.versions( - species=species, - organ=organ, - model_type=model_type, - organisation=organisation, - model_topology=model_topology - ) + @property + def model_topology(self): + # TODO: this relies on theislab model_name formatting + assert self.model_id is not None, "set model_id first" + return self.model_id.split('_')[1].split("-")[3] - self.species = species - self.organ = organ - self.model_type = model_type - self.organisation = organisation - self.model_topology = model_topology # set to model for now, could be species/organ specific later + @property + def model_version(self): + # TODO: this relies on theislab model_name formatting + assert self.model_id is not None, "set model_id first" + return self.model_id.split('_')[1].split("-")[4] - self.model_version = self._order_versions(versions=versions)[0] - self.model_id = '_'.join([ - 'celltype', - self.species, - self.organ, - self.model_type, - self.organisation, - self.model_topology, - self.model_version - ]) - self.topology_container = Topologies( - species=self.species, - model_class="celltype", - model_type=self.model_type, - topology_id=self.model_topology - ) - self.celltypes = celltype_versions.SPECIES_DICT[self.species][self.organ].celltype_universe[self.model_version.split(".")[0]] + @property + def organisation(self): + assert self.model_id is not None, "set model_id first" + return self.model_id.split('_')[2] diff --git a/sfaira/interface/user_interface.py b/sfaira/interface/user_interface.py index ef0e1ad70..b4a1caed6 100644 --- a/sfaira/interface/user_interface.py +++ b/sfaira/interface/user_interface.py @@ -1,16 +1,18 @@ import anndata -try: - from kipoi.model import BaseModel -except ImportError: - BaseModel = None import numpy as np -import pandas as pd import os +import re +import pandas as pd +import pickle from typing import List, Union import warnings +import time -from .external import EstimatorKerasEmbedding, EstimatorKerasCelltype, DatasetInteractive -from .model_zoo import ModelZooEmbedding, ModelZooCelltype +from sfaira.consts import AdataIdsSfaira, AdataIds +from sfaira.data import DatasetInteractive +from sfaira.estimators import EstimatorKerasEmbedding, EstimatorKerasCelltype +from sfaira.interface.model_zoo import ModelZoo +from sfaira.versions.topologies import TopologyContainer class UserInterface: @@ -25,27 +27,24 @@ class UserInterface: # initialise your sfaira instance with a model lookuptable. # instead of setting `custom_repo` when initialising the UI you can also use `sfaira_repo=True` to use public weights ui = sfaira.ui.UserInterface(custom_repo="/path/to/local/repo/folder/or/zenodo/repo/URL", sfaira_repo=False) - ui.zoo_embedding.set_latest(species, organ, model_type, organisation, model_topology) - ui.zoo_celltype.set_latest(species, organ, model_type, organisation, model_topology) ui.load_data(anndata.read("/path/to/file.h5ad")) # load your dataset into sfaira ui.load_model_embedding() ui.load_model_celltype() - ui.compute_all() - adata = ui.data + ui.predict_all() + adata = ui.data.adata scanpy.pp.neighbors(adata, use_rep="X_sfaira") scanpy.tl.umap(adata) - scanpy.pl.umap(adata, color="celltype_sfaira", show=True, save="UMAP_sfaira.png") + scanpy.pl.umap(adata, color="celltypes_sfaira", show=True, save="UMAP_sfaira.png") ``` """ estimator_embedding: Union[EstimatorKerasEmbedding, None] estimator_celltype: Union[EstimatorKerasCelltype, None] - model_kipoi_embedding: Union[None] - model_kipoi_celltype: Union[BaseModel, None] - zoo_embedding: Union[ModelZooEmbedding, None] - zoo_celltype: Union[ModelZooCelltype, None] - data: Union[anndata.AnnData] + zoo_embedding: Union[ModelZoo, None] + zoo_celltype: Union[ModelZoo, None] + data: Union[DatasetInteractive, None] model_lookuptable: Union[pd.DataFrame, None] + adata_ids: AdataIds def __init__( self, @@ -53,12 +52,12 @@ def __init__( sfaira_repo: bool = False, cache_path: str = os.path.join('cache', '') ): - self.model_kipoi_embedding = None - self.model_kipoi_celltype = None self.estimator_embedding = None self.estimator_celltype = None + self.data = None self.use_sfaira_repo = sfaira_repo self.cache_path = os.path.join(cache_path, '') + self.adata_ids = AdataIdsSfaira() if sfaira_repo: # check if public sfaira repository should be accessed self.model_lookuptable = self._load_lookuptable("https://zenodo.org/record/4304660/files/") @@ -83,11 +82,8 @@ def __init__( raise ValueError("please either provide a custom folder/repository with model weights or specify " "`sfaira_repo=True` to access the public weight repository") - # TODO: workaround to deal with model ids bearing file endings in model lookuptable (as is the case in first sfaira model repo upload) - self.model_lookuptable['model_id'] = [i.replace('.h5', '').replace('.data-00000-of-00001', '') for i in self.model_lookuptable['model_id']] - - self.zoo_embedding = ModelZooEmbedding(self.model_lookuptable) - self.zoo_celltype = ModelZooCelltype(self.model_lookuptable) + self.zoo_embedding = ModelZoo(model_lookuptable=self.model_lookuptable, model_class="embedding") + self.zoo_celltype = ModelZoo(model_lookuptable=self.model_lookuptable, model_class="celltype") def _load_lookuptable( self, @@ -136,15 +132,14 @@ def write_lookuptable( file_names.append(file) with open(os.path.join(subdir, file), 'rb') as f: md5.append(hashlib.md5(f.read()).hexdigest()) - s = [i.split('_')[0:7] for i in file_names] - ids = ['_'.join(i) for i in s] - ids_cleaned = [i.replace('.h5', '').replace('.data-00000-of-00001', '') for i in ids] # remove file extensions from ids + ids = ['_'.join(i.split('_')[0:3]) for i in file_names] + ids_cleaned = [i.replace('.h5', '').replace('.data-00000-of-00001', '') for i in ids] # remove file extensions if ids: pd.DataFrame( - list(zip(ids_cleaned, model_paths, file_paths, md5)), - columns=['model_id', 'model_path', 'model_file_path', 'md5'] - )\ + list(zip(ids_cleaned, model_paths, file_paths, md5)), + columns=['model_id', 'model_path', 'model_file_path', 'md5'] + )\ .sort_values('model_id')\ .reset_index(drop=True)\ .to_csv(os.path.join(repo_path, 'model_lookuptable.csv')) @@ -161,8 +156,10 @@ def deposit_zenodo( authors: list, description: str, metadata: dict = {}, + update_existing_deposition: Union[None, str] = None, publish: bool = False, - sandbox: bool = False + sandbox: bool = False, + deposit_topologies: bool = True ): """ Deposit all models in model lookup table on Zenodo. If publish is set to false, files will be uploaded to a @@ -171,11 +168,21 @@ def deposit_zenodo( :param zenodo_access_token: Your personal Zenodo API access token. Create one here: https://zenodo.org/account/settings/applications/tokens/new/ :param title: Title of the Zenodo deposition - :param authors: List of dicts, where each dict defines one author (dict keys: name: Name of creator in the format "Family name, Given names", affiliation: Affiliation of creator (optional), orcid: ORCID identifier of creator (optional), gnd: GND identifier of creator (optional) + :param authors: List of dicts, where each dict defines one author (dict keys: + name: Name of creator in the format "Family name, Given names", + affiliation: Affiliation of creator (optional), orcid: ORCID identifier of creator (optional), + gnd: GND identifier of creator (optional) :param description: Description of the Zenodo deposition. - :param metadata: Dictionary with further metadata attributes of the deposit. See the Zenodo API refenrece for accepted keys: https://developers.zenodo.org/#representation - :param publish: Set this to True to directly publish the weights on Zenodo. When set to False a draft will be created, which can be edited in the browser before publishing. - :param sandbox: If True, use the Zenodo testing platform at https://sandbox.zenodo.org for your deposition. We recommend testing your upload with sandbox first as depositions cannot be deleted from the main Zenodo platfowm once created. + :param metadata: Dictionary with further metadata attributes of the deposit. + See the Zenodo API refenrece for accepted keys: https://developers.zenodo.org/#representation + :param update_existing_deposition: If None, a new deposition will be created. + If an existing deposition ID is provided as a sting, than this deposition will be updated with a new version. + :param publish: Set this to True to directly publish the weights on Zenodo. + When set to False a draft will be created, which can be edited in the browser before publishing. + :param sandbox: If True, use the Zenodo testing platform at https://sandbox.zenodo.org for your deposition. + We recommend testing your upload with sandbox first as depositions cannot be deleted from the main Zenodo platform once created. + :param deposit_topologies: If true, an associated topology file for every weights file will be uploaded to zenodo. + The naming format for the topology files is _topology.pickle """ import requests @@ -190,29 +197,88 @@ def deposit_zenodo( raise ValueError( "Your Zenodo access token was not accepted by the API. Please provide a valid access token.") - # Create empty deposition - r = requests.post(f'https://{sandbox}zenodo.org/api/deposit/depositions', - params=params, - json={}, - headers=headers) - - # Obtain bucket URL and deposition ID - bucket_url = r.json()["links"]["bucket"] - deposition_id = r.json()['id'] + if update_existing_deposition is None: + # Create empty deposition + r = requests.post(f'https://{sandbox}zenodo.org/api/deposit/depositions', + params=params, + json={}, + headers=headers) + # Obtain bucket URL and deposition ID + bucket_url = r.json()["links"]["bucket"] + deposition_id = r.json()['id'] + else: + update_existing_deposition = str(update_existing_deposition) if isinstance(update_existing_deposition, int)\ + else update_existing_deposition + # Create a new version of the existing deposition + r = requests.post( + f'https://{sandbox}zenodo.org/api/deposit/depositions/{update_existing_deposition}/actions/newversion', + params=params) + try: + deposition_id = r.json()["links"]["latest_draft"].split("/")[-1] + except json.decoder.JSONDecodeError: + time.sleep(10) + r = requests.post( + f'https://{sandbox}zenodo.org/api/deposit/depositions/{update_existing_deposition}/actions/newversion', + params=params) + deposition_id = r.json()["links"]["latest_draft"].split("/")[-1] + if r.status_code != 201: + raise ValueError( + f"A new version of deposition {update_existing_deposition} could not be created, " + f"please make sure your API key is associated with the account that owns this deposition.") + r = requests.get(f'https://{sandbox}zenodo.org/api/deposit/depositions/{deposition_id}', params=params) + bucket_url = r.json()["links"]["bucket"] + + # Delete all existing files from new version + r_files = requests.get(f'https://{sandbox}zenodo.org/api/deposit/depositions/{deposition_id}/files', + params=params) + while len(r_files.json()) > 0: + for file_dict in r_files.json(): + requests.delete( + f'https://{sandbox}zenodo.org/api/deposit/depositions/{deposition_id}/files/{file_dict["id"]}', + params=params) + r_files = requests.get(f'https://{sandbox}zenodo.org/api/deposit/depositions/{deposition_id}/files', + params=params) + while isinstance(r_files.json(), dict): + print("Pausing due to Zenodo API rate limitng") + time.sleep(10) + r_files = requests.get(f'https://{sandbox}zenodo.org/api/deposit/depositions/{deposition_id}/files', + params=params) # Loop over files in model lookup table and upload them one by one for i, weight_path in enumerate(self.model_lookuptable['model_file_path']): - filename = os.path.basename(weight_path) + basepath, filename_weights = os.path.split(weight_path) with open(weight_path, "rb") as fp: r = requests.put( - f"{bucket_url}/{filename}", + f"{bucket_url}/{filename_weights}", data=fp, params=params, ) + while r.status_code != 200: + print(f"Upload of {weight_path} was not successful (status code {r.status_code}), retrying") + time.sleep(10) + with open(weight_path, "rb") as fp: + r = requests.put( + f"{bucket_url}/{filename_weights}", + data=fp, + params=params, + ) # Verify checksum after upload if r.json()['checksum'][4:] != self.model_lookuptable['md5'][i]: warnings.warn(f"The md5 checksum in your model_lookuptable for {self.model_lookuptable['model_id'][i]} " f"does not match the md5 checksum of the uploaded file.") + if deposit_topologies: # Deposit associated topology file + filename_topology = ".".join(filename_weights.split(".")[:-1]) + filename_topology = re.sub(r"_weights$", "", filename_topology) + filename_topology += "_topology.pickle" + topology_path = os.path.join(basepath, filename_topology) + assert os.path.isfile(topology_path), f"topology file {topology_path} not found. " \ + f"consider deactivating the deposition of topology files." + with open(topology_path, "rb") as fp: + r = requests.put( + f"{bucket_url}/{filename_topology}", + data=fp, + params=params, + ) # Add model lookup table to zenodo df = self.model_lookuptable.copy() @@ -233,7 +299,7 @@ def deposit_zenodo( 'license': 'cc-by-4.0', 'upload_type': 'dataset', 'access_right': 'open' - } + } meta = {**meta_core, **metadata} r = requests.put(f'https://{sandbox}zenodo.org/api/deposit/depositions/{deposition_id}', params=params, @@ -269,47 +335,72 @@ def load_data( self, data: anndata.AnnData, gene_symbol_col: Union[str, None] = None, - gene_ens_col: Union[str, None] = None + gene_ens_col: Union[str, None] = None, + obs_key_celltypes: Union[str, None] = None, + class_maps: dict = {}, ): """ Loads the provided AnnData object into sfaira. - If genes in the provided AnnData object are annotated as gene symbols, please provide the name of the corresponding var column (or 'index') through the gene_symbol_col argument. - If genes in the provided AnnData object are annotated as ensembl ids, please provide the name of the corresponding var column (or 'index') through the gene_ens_col argument. + + If genes in the provided AnnData object are annotated as gene symbols, + please provide the name of the corresponding var column (or 'index') through the gene_symbol_col argument. + If genes in the provided AnnData object are annotated as ensembl ids, + please provide the name of the corresponding var column (or 'index') through the gene_ens_col argument. You need to provide at least one of the two. :param data: AnnData object to load :param gene_symbol_col: Var column name (or 'index') which contains gene symbols :param gene_ens_col: ar column name (or 'index') which contains ensembl ids - """ - if self.zoo_embedding.species is not None: - species = self.zoo_embedding.species - organ = self.zoo_embedding.organ - elif self.zoo_celltype.species is not None: - species = self.zoo_celltype.species - organ = self.zoo_celltype.organ + :param obs_key_celltypes: .obs column name which contains cell type labels. + :param class_maps: Cell type class maps. + """ + if self.zoo_embedding.model_organism is not None: + organism = self.zoo_embedding.model_organism + organ = self.zoo_embedding.model_organ + elif self.zoo_celltype.model_organism is not None: + organism = self.zoo_celltype.model_organism + organ = self.zoo_celltype.model_organ else: raise ValueError("Please first set which model_id to use via the model zoo before loading the data") if gene_ens_col is None and gene_symbol_col is None: raise ValueError("Please provide either the gene_ens_col or the gene_symbol_col argument.") - dataset = DatasetInteractive( - data=data, - species=species, - organ=organ, - gene_symbol_col=gene_symbol_col, - gene_ens_col=gene_ens_col - ) - dataset.load() - self.data = dataset.adata - - def filter_cells(self): - """ - Filters cells with a basic pre-defined filter. + self.data = DatasetInteractive( + data=data, + organism=organism, + organ=organ, + gene_symbol_col=gene_symbol_col, + gene_ens_col=gene_ens_col, + obs_key_celltypes=obs_key_celltypes, + class_maps=class_maps, + ) + # Align to correct featurespace + self.data.streamline_features( + match_to_reference=self.zoo_embedding.topology_container.gc.assembly, + subset_genes_to_type=list(set(self.zoo_embedding.topology_container.gc.biotype)) + ) - :return: - """ - # call cell_filter() - raise NotImplementedError() + def _load_topology_dict(self, model_weights_file) -> dict: + topology_filepath = ".".join(model_weights_file.split(".")[:-1]) + topology_filepath = re.sub(r"_weights$", "", topology_filepath) + topology_filepath += "_topology.pickle" + if topology_filepath.startswith('http'): + # Download into cache if file is on a remote server. + if not os.path.exists(self.cache_path): + os.makedirs(self.cache_path) + import urllib.request + from urllib.error import HTTPError + try: + urllib.request.urlretrieve( + topology_filepath, + os.path.join(self.cache_path, os.path.basename(topology_filepath)) + ) + topology_filepath = os.path.join(self.cache_path, os.path.basename(topology_filepath)) + except HTTPError: + raise FileNotFoundError(f"cannot find remote topology file {topology_filepath}") + with open(topology_filepath, "rb") as f: + topology = pickle.load(f) + return topology def load_model_embedding(self): """ @@ -320,18 +411,22 @@ def load_model_embedding(self): :return: Model ID loaded. """ assert self.zoo_embedding.model_id is not None, "choose embedding model first" - model_dir = self.model_lookuptable.model_file_path[self.model_lookuptable.model_id == self.zoo_embedding.model_id].iloc[0] - md5 = self.model_lookuptable.md5[self.model_lookuptable.model_id == self.zoo_embedding.model_id].iloc[0] + model_weights_file = self.model_lookuptable["model_file_path"].loc[self.model_lookuptable["model_id"] == + self.zoo_embedding.model_id].iloc[0] + md5 = self.model_lookuptable["md5"].loc[self.model_lookuptable["model_id"] == + self.zoo_embedding.model_id].iloc[0] + tc = TopologyContainer( + topology=self._load_topology_dict(model_weights_file=model_weights_file), + topology_id=self.zoo_embedding.topology_container.topology_id + ) self.estimator_embedding = EstimatorKerasEmbedding( - data=self.data, - model_dir=model_dir, + data=self.data.adata, + model_dir=model_weights_file, model_id=self.zoo_embedding.model_id, - species=self.zoo_embedding.species, - organ=self.zoo_embedding.organ, - model_type=self.zoo_embedding.model_type, - model_topology=self.zoo_embedding.model_topology, + model_topology=tc, weights_md5=md5, - cache_path=self.cache_path + cache_path=self.cache_path, + adata_ids=self.adata_ids ) self.estimator_embedding.init_model() self.estimator_embedding.load_pretrained_weights() @@ -345,18 +440,23 @@ def load_model_celltype(self): :return: Model ID loaded. """ assert self.zoo_celltype.model_id is not None, "choose cell type model first" - model_dir = self.model_lookuptable.model_file_path[self.model_lookuptable.model_id == self.zoo_celltype.model_id].iloc[0] - md5 = self.model_lookuptable.md5[self.model_lookuptable.model_id == self.zoo_celltype.model_id].iloc[0] + model_weights_file = self.model_lookuptable["model_file_path"].loc[self.model_lookuptable["model_id"] == + self.zoo_celltype.model_id].iloc[0] + md5 = self.model_lookuptable["md5"].loc[self.model_lookuptable["model_id"] == + self.zoo_celltype.model_id].iloc[0] + tc = TopologyContainer( + topology=self._load_topology_dict(model_weights_file=model_weights_file), + topology_id=self.zoo_celltype.topology_container.topology_id + ) self.estimator_celltype = EstimatorKerasCelltype( - data=self.data, - model_dir=model_dir, + data=self.data.adata, + model_dir=model_weights_file, model_id=self.zoo_celltype.model_id, - species=self.zoo_celltype.species, - organ=self.zoo_celltype.organ, - model_type=self.zoo_celltype.model_type, - model_topology=self.zoo_celltype.model_topology, + model_topology=tc, weights_md5=md5, - cache_path=self.cache_path + cache_path=self.cache_path, + remove_unlabeled_cells=False, + adata_ids=self.adata_ids ) self.estimator_celltype.init_model() self.estimator_celltype.load_pretrained_weights() @@ -370,7 +470,11 @@ def _adata_write_celltype( Writes a list of cell type labels into the column of adata.obs indicated :return: """ - self.data.obs[key] = [self.zoo_celltype.celltypes[i][0] for i in np.argmax(labels, axis=1)] + key_id = key + "_id" + self.data.adata.obs[key] = [self.estimator_celltype.ontology_names[i] for i in np.argmax(labels, axis=1)] + self.data.adata.obs[key] = self.data.adata.obs[key].astype('category') + self.data.adata.obs[key_id] = [self.estimator_celltype.ontology_ids[i] for i in np.argmax(labels, axis=1)] + self.data.adata.obs[key_id] = self.data.adata.obs[key_id].astype('category') def _adata_write_embedding( self, @@ -381,7 +485,7 @@ def _adata_write_embedding( Writes the embedding matrix into adata.obsm with the key indicated. :return: """ - self.data.obsm[key] = embedding + self.data.adata.obsm[key] = embedding def _adata_write_denoised_data( self, @@ -392,9 +496,9 @@ def _adata_write_denoised_data( Writes the denoised expression matrix into adata.obsm with the key indicated. :return: """ - self.data.layers[key] = denoised_data + self.data.adata.layers[key] = denoised_data - def compute_celltype(self): + def predict_celltypes(self): """ Run local cell type prediction model and add predictions to adata.obs. @@ -403,12 +507,12 @@ def compute_celltype(self): if self.zoo_celltype is not None: self._adata_write_celltype( labels=self.estimator_celltype.predict(), - key="celltype_sfaira" + key="celltypes_sfaira" ) else: raise ValueError("celltype zoo has to be set before local model can be run.") - def compute_embedding(self): + def predict_embedding(self): """ Run local embedding prediction model and add embedding to adata.obsm. @@ -422,14 +526,14 @@ def compute_embedding(self): else: raise ValueError("embedding zoo has to be set before local model can be run.") - def compute_all(self): + def predict_all(self): """ Run local cell type prediction and embedding models and add results of both to adata. :return: """ - self.compute_embedding() - self.compute_celltype() + self.predict_embedding() + self.predict_celltypes() def compute_denoised_expression(self): """ @@ -445,74 +549,12 @@ def compute_denoised_expression(self): else: raise ValueError("embedding zoo has to be set before local model can be run.") - def compute_celltype_kipoi(self): - """ - Run executable cell type prediction model from kipoi_experimental and add prediction to adata.obs. - - :return: - """ - if self.zoo_celltype is not None: - self.model_kipoi_celltype = self.zoo_celltype.get_kipoi_model() - self._adata_write_celltype( - labels=self.model_kipoi_celltype.pipeline.predict(dict(adata=self.data)), - key="celltype_sfaira" - ) - else: - raise ValueError("celltype zoo has to be set before kipoi_experimental model can be run.") - - def compute_embedding_kipoi(self): - """ - Run executable embedding prediction model from kipoi_experimental and add embedding to adata.obsm. - - :return: - """ - if self.zoo_embedding is not None: - self.model_kipoi_embedding = self.zoo_embedding.get_kipoi_model() - self._adata_write_embedding( - embedding=self.model_kipoi_embedding.pipeline.predict_embedding(dict(adata=self.data)), - key="X_sfaira" - ) - else: - raise ValueError("embedding zoo has to be set before kipoi_experimental model can be run.") - - def compute_all_kipoi(self): - """ - Run executable cell type prediction and embedding models from kipoi_experimental and add results to adata. - - :return: - """ - self.compute_embedding_kipoi() - self.compute_celltype_kipoi() - - def compute_denoised_expression_kipoi(self): - """ - Run executable embedding prediction model from kipoi_experimental and add denoised expression to adata layer. - - :return: - """ - if self.zoo_embedding is not None: - self.model_kipoi_embedding = self.zoo_embedding.get_kipoi_model() - self._adata_write_denoised_data( - denoised_data=self.model_kipoi_embedding.pipeline.predict(dict(adata=self.data)), - key="denoised_sfaira" - ) - else: - raise ValueError("embedding zoo has to be set before local model can be run.") - def celltype_summary(self): """ Return type with frequencies of predicted cell types. :return: """ - return self.data.obs['celltype_sfaira'].value_counts() - - def get_references(self): - """ - Return papers to cite when using the embedding model. - - Collects references from the estimators of each model type. - - :return: - """ - return self.estimator_embedding.get_citations() + assert "celltypes_sfaira" in self.data.adata.obs.keys(), \ + "Column celltypes_sfaira not found in the data. Please run UserInterface.predict_celltypes() first." + return self.data.adata.obs['celltypes_sfaira'].value_counts() diff --git a/sfaira/models/__init__.py b/sfaira/models/__init__.py index a31eeec41..2a104881b 100644 --- a/sfaira/models/__init__.py +++ b/sfaira/models/__init__.py @@ -1,4 +1,4 @@ -from .base import BasicModel +from .base import BasicModelKeras from .pp_layer import PreprocInput from .made import MaskingDense from sfaira.models import celltype diff --git a/sfaira/models/base.py b/sfaira/models/base.py index cd5a47ed4..73b7c2ad4 100644 --- a/sfaira/models/base.py +++ b/sfaira/models/base.py @@ -1,4 +1,8 @@ import abc +try: + import tensorflow as tf +except ImportError: + tf = None class BasicModel(abc.ABC): @@ -15,3 +19,11 @@ class BasicModel(abc.ABC): @property def version(self): return self._version + + +class BasicModelKeras(BasicModel): + """ + This base class defines model attributes shared across all tf.keras models. + """ + + training_model: tf.keras.Model diff --git a/sfaira/models/celltype/external.py b/sfaira/models/celltype/external.py deleted file mode 100644 index 46629b4d4..000000000 --- a/sfaira/models/celltype/external.py +++ /dev/null @@ -1,4 +0,0 @@ -import sfaira.versions.celltype_versions as celltype_versions -from sfaira.versions.topology_versions import Topologies -from sfaira.models.base import BasicModel -from sfaira.models.pp_layer import PreprocInput diff --git a/sfaira/models/celltype/marker.py b/sfaira/models/celltype/marker.py index c5c2ca03d..2e05e694a 100644 --- a/sfaira/models/celltype/marker.py +++ b/sfaira/models/celltype/marker.py @@ -1,16 +1,20 @@ -import numpy as np -import tensorflow as tf -from typing import List, Union +try: + import tensorflow as tf +except ImportError: + tf = None +from typing import Union -from sfaira.models.celltype.external import BasicModel -from sfaira.models.celltype.external import PreprocInput -from sfaira.models.celltype.external import celltype_versions, Topologies +from sfaira.versions.metadata import CelltypeUniverse +from sfaira.versions.topologies import TopologyContainer +from sfaira.models.base import BasicModelKeras +from sfaira.models.pp_layer import PreprocInput class LearnedThresholdLayer(tf.keras.layers.Layer): """ A layer that thresholds the input with a learned threshold. """ + def __init__( self, out_dim, @@ -36,7 +40,7 @@ def call(self, inputs): return tf.nn.sigmoid(x) -class CellTypeMarker(BasicModel): +class CellTypeMarker(BasicModelKeras): """ Marker gene-based cell type classifier: Learns whether or not each gene exceeds requires threshold and learns cell type assignment as linear combination of these marker gene presence probabilities. @@ -93,51 +97,42 @@ def __init__( class CellTypeMarkerVersioned(CellTypeMarker): - cell_type_version: celltype_versions.CelltypeVersionsBase def __init__( self, - species: str, - organ: str, - topology_container: Topologies, + celltypes_version: CelltypeUniverse, + topology_container: TopologyContainer, override_hyperpar: Union[dict, None] = None ): """ - :param genome: - :param organ: + :param celltypes_version: :param topology_container: :param override_hyperpar: Dictionary with hyper-parameters of model to override in preset hyper-parameter dictionary that is queried based on the topology_id. Can contain a subset of all hyperparameters. """ - # Get cell type version instance based on topology ID, species and organ. - self.celltypes_version = celltype_versions.SPECIES_DICT[species.lower()][organ.lower()] - self.celltypes_version.set_version(version=topology_container.topology_id) - - unkown_already_included = np.any([x.lower() == "unknown" for x in self.celltypes_version.ids]) + # Get cell type version instance based on topology ID, organism and organ. hyperpar = topology_container.topology["hyper_parameters"] if override_hyperpar is not None: for k in list(override_hyperpar.keys()): hyperpar[k] = override_hyperpar[k] - CellTypeMarker.__init__( - self=self, - in_dim=topology_container.ngenes, - out_dim=self.celltypes_version.ntypes if unkown_already_included else self.celltypes_version.ntypes + 1, + super().__init__( + in_dim=topology_container.n_var, + out_dim=celltypes_version.onto_cl.n_leaves, **hyperpar ) print('passed hyperpar: \n', hyperpar) self._topology_id = topology_container.topology_id - self.genome_size = topology_container.ngenes - self.model_class = topology_container.model_class + self.genome_size = topology_container.n_var + self.model_class = "celltype" self.model_type = topology_container.model_type self.hyperparam = dict( - list(hyperpar.items()) + + list(hyperpar.items()) + # noqa: W504 [ ("topology_id", self._topology_id), ("genome_size", self.genome_size), ("model_class", self.model_class), ("model_type", self.model_type), - ("ntypes", self.celltypes_version.ntypes), - ("celltypes_version", self.celltypes_version.version) + ("ntypes", celltypes_version.onto_cl.n_leaves), ] ) diff --git a/sfaira/models/celltype/mlp.py b/sfaira/models/celltype/mlp.py index b94fc4226..92116da6c 100644 --- a/sfaira/models/celltype/mlp.py +++ b/sfaira/models/celltype/mlp.py @@ -1,13 +1,17 @@ import numpy as np -import tensorflow as tf +try: + import tensorflow as tf +except ImportError: + tf = None from typing import List, Union -from sfaira.models.celltype.external import BasicModel -from sfaira.models.celltype.external import PreprocInput -from sfaira.models.celltype.external import celltype_versions, Topologies +from sfaira.versions.metadata import CelltypeUniverse +from sfaira.versions.topologies import TopologyContainer +from sfaira.models.base import BasicModelKeras +from sfaira.models.pp_layer import PreprocInput -class CellTypeMlp(BasicModel): +class CellTypeMlp(BasicModelKeras): """ Multi-layer perceptron to predict cell type. @@ -69,51 +73,42 @@ def __init__( class CellTypeMlpVersioned(CellTypeMlp): - cell_type_version: celltype_versions.CelltypeVersionsBase def __init__( self, - species: str, - organ: str, - topology_container: Topologies, + celltypes_version: CelltypeUniverse, + topology_container: TopologyContainer, override_hyperpar: Union[dict, None] = None ): """ - :param genome: - :param organ: + :param celltypes_version: :param topology_container: :param override_hyperpar: Dictionary with hyper-parameters of model to override in preset hyper-parameter dictionary that is queried based on the topology_id. Can contain a subset of all hyperparameters. """ - # Get cell type version instance based on topology ID, species and organ. - self.celltypes_version = celltype_versions.SPECIES_DICT[species.lower()][organ.lower()] - self.celltypes_version.set_version(version=topology_container.topology_id) - - unkown_already_included = np.any([x.lower() == "unknown" for x in self.celltypes_version.ids]) + # Get cell type version instance based on topology ID, organism and organ. hyperpar = topology_container.topology["hyper_parameters"] if override_hyperpar is not None: for k in list(override_hyperpar.keys()): hyperpar[k] = override_hyperpar[k] - CellTypeMlp.__init__( - self=self, - in_dim=topology_container.ngenes, - out_dim=self.celltypes_version.ntypes if unkown_already_included else self.celltypes_version.ntypes + 1, + super().__init__( + in_dim=topology_container.n_var, + out_dim=celltypes_version.onto_cl.n_leaves, **hyperpar ) print('passed hyperpar: \n', hyperpar) self._topology_id = topology_container.topology_id - self.genome_size = topology_container.ngenes - self.model_class = topology_container.model_class + self.genome_size = topology_container.n_var + self.model_class = "celltype" self.model_type = topology_container.model_type self.hyperparam = dict( - list(hyperpar.items()) + + list(hyperpar.items()) + # noqa: W504 [ ("topology_id", self._topology_id), ("genome_size", self.genome_size), ("model_class", self.model_class), ("model_type", self.model_type), - ("ntypes", self.celltypes_version.ntypes), - ("celltypes_version", self.celltypes_version.version) + ("ntypes", celltypes_version.onto_cl.n_leaves), ] ) diff --git a/sfaira/models/embedding/__init__.py b/sfaira/models/embedding/__init__.py index c07882edd..f206e5be5 100644 --- a/sfaira/models/embedding/__init__.py +++ b/sfaira/models/embedding/__init__.py @@ -1,5 +1,5 @@ -from sfaira.models.embedding.ae import ModelAe, ModelAeVersioned -from sfaira.models.embedding.vae import ModelVae, ModelVaeVersioned -from sfaira.models.embedding.linear import ModelLinear, ModelLinearVersioned -from sfaira.models.embedding.vaeiaf import ModelVaeIAF, ModelVaeIAFVersioned -from sfaira.models.embedding.vaevamp import ModelVaeVamp, ModelVaeVampVersioned +from sfaira.models.embedding.ae import ModelKerasAe, ModelAeVersioned +from sfaira.models.embedding.vae import ModelKerasVae, ModelVaeVersioned +from sfaira.models.embedding.linear import ModelKerasLinear, ModelLinearVersioned +from sfaira.models.embedding.vaeiaf import ModelKerasVaeIAF, ModelVaeIAFVersioned +from sfaira.models.embedding.vaevamp import ModelKerasVaeVamp, ModelVaeVampVersioned diff --git a/sfaira/models/embedding/ae.py b/sfaira/models/embedding/ae.py index 27b4d069c..08ad9a396 100644 --- a/sfaira/models/embedding/ae.py +++ b/sfaira/models/embedding/ae.py @@ -1,12 +1,15 @@ import numpy as np -import tensorflow as tf +try: + import tensorflow as tf +except ImportError: + tf = None from typing import List, Union, Tuple from sfaira.models.embedding.output_layers import NegBinOutput, NegBinSharedDispOutput, NegBinConstDispOutput, \ GaussianOutput, GaussianSharedStdOutput, GaussianConstStdOutput -from sfaira.models.embedding.external import BasicModel -from sfaira.models.embedding.external import PreprocInput -from sfaira.models.embedding.external import Topologies +from sfaira.versions.topologies import TopologyContainer +from sfaira.models.base import BasicModelKeras +from sfaira.models.pp_layer import PreprocInput class Encoder(tf.keras.layers.Layer): @@ -58,8 +61,8 @@ def __init__( self.layer_list.append(tf.keras.layers.Dropout(hid_drop, name='enc_%s_drop' % i)) def call(self, x, **kwargs): - for l in self.layer_list: - x = l(x) + for layer in self.layer_list: + x = layer(x) return x @@ -105,12 +108,12 @@ def __init__( self.layer_list.append(tf.keras.layers.Dropout(hid_drop, name='dec_%s_drop' % i)) def call(self, x, **kwargs): - for l in self.layer_list: - x = l(x) + for layer in self.layer_list: + x = layer(x) return x -class ModelAe(BasicModel): +class ModelKerasAe(BasicModelKeras): """Combines the encoder and decoder into an end-to-end model for training.""" # Note: Original DCA implementation uses l1_l2 regularisation also on last layer (nb) - missing here # Note: Original DCA implementation uses softplus function instead of exponential as dispersion activation @@ -185,7 +188,7 @@ def __init__( output_decoder_expfamily_concat = tf.keras.layers.Concatenate(axis=1, name="neg_ll")(output_decoder_expfamily) self.encoder_model = tf.keras.Model( - inputs=inputs_encoder, + inputs=[inputs_encoder, inputs_sf], outputs=output_encoder, name="encoder_model" ) @@ -195,37 +198,36 @@ def __init__( name="autoencoder" ) - def predict_reconstructed(self, x: np.ndarray): + def predict_reconstructed(self, x): return np.split(self.training_model.predict(x), indices_or_sections=2, axis=1)[0] - def predict_embedding(self, x: np.ndarray, variational=False): + def predict_embedding(self, x, variational=False): if variational: raise ValueError("Cannot predict variational embedding on AE model.topo") return self.encoder_model.predict(x) -class ModelAeVersioned(ModelAe): +class ModelAeVersioned(ModelKerasAe): def __init__( self, - topology_container: Topologies, + topology_container: TopologyContainer, override_hyperpar: Union[dict, None] = None ): hyperpar = topology_container.topology["hyper_parameters"] if override_hyperpar is not None: for k in list(override_hyperpar.keys()): hyperpar[k] = override_hyperpar[k] - ModelAe.__init__( - self=self, - in_dim=topology_container.ngenes, + super().__init__( + in_dim=topology_container.n_var, **hyperpar ) print('passed hyperpar: \n', hyperpar) self._topology_id = topology_container.topology_id - self.genome_size = topology_container.ngenes - self.model_class = topology_container.model_class + self.genome_size = topology_container.n_var + self.model_class = "embedding" self.model_type = topology_container.model_type self.hyperparam = dict( - list(hyperpar.items()) + + list(hyperpar.items()) + # noqa: W504 [ ("topology_id", self._topology_id), ("genome_size", self.genome_size), diff --git a/sfaira/models/embedding/external.py b/sfaira/models/embedding/external.py deleted file mode 100644 index c831cdb04..000000000 --- a/sfaira/models/embedding/external.py +++ /dev/null @@ -1,4 +0,0 @@ -from sfaira.versions.topology_versions import Topologies -from sfaira.models.base import BasicModel -from sfaira.models.pp_layer import PreprocInput -from sfaira.models.made import MaskingDense diff --git a/sfaira/models/embedding/linear.py b/sfaira/models/embedding/linear.py index 93fd33ee6..3004006be 100644 --- a/sfaira/models/embedding/linear.py +++ b/sfaira/models/embedding/linear.py @@ -1,12 +1,15 @@ import numpy as np -import tensorflow as tf +try: + import tensorflow as tf +except ImportError: + tf = None from typing import List, Union from sfaira.models.embedding.output_layers import NegBinOutput, NegBinSharedDispOutput, NegBinConstDispOutput, \ GaussianOutput, GaussianSharedStdOutput, GaussianConstStdOutput -from sfaira.models.embedding.external import BasicModel -from sfaira.models.embedding.external import PreprocInput -from sfaira.models.embedding.external import Topologies +from sfaira.versions.topologies import TopologyContainer +from sfaira.models.base import BasicModelKeras +from sfaira.models.pp_layer import PreprocInput class EncoderLinear(tf.keras.layers.Layer): @@ -36,7 +39,7 @@ def call(self, inputs, **kwargs): return x -class ModelLinear(BasicModel): +class ModelKerasLinear(BasicModelKeras): def __init__( self, @@ -48,7 +51,7 @@ def __init__( dropout_rate=None, output_layer="nb" ): - super(ModelLinear, self).__init__() + super(ModelKerasLinear, self).__init__() self.in_dim = in_dim self.latent_dim = latent_dim @@ -82,7 +85,7 @@ def __init__( output_decoder_expfamily_concat = tf.keras.layers.Concatenate(axis=1, name="neg_ll")(output_decoder_expfamily) self.encoder_model = tf.keras.Model( - inputs=inputs_encoder, + inputs=[inputs_encoder, inputs_sf], outputs=output_encoder, name="encoder" ) @@ -92,35 +95,34 @@ def __init__( name="autoencoder" ) - def predict_reconstructed(self, x: np.ndarray): + def predict_reconstructed(self, x): return np.split(self.training_model.predict(x), indices_or_sections=2, axis=1)[0] - def predict_embedding(self, x: np.ndarray, **kwargs): + def predict_embedding(self, x, **kwargs): return self.encoder_model.predict(x) -class ModelLinearVersioned(ModelLinear): +class ModelLinearVersioned(ModelKerasLinear): def __init__( self, - topology_container: Topologies, + topology_container: TopologyContainer, override_hyperpar: Union[dict, None] = None ): hyperpar = topology_container.topology["hyper_parameters"] if override_hyperpar is not None: for k in list(override_hyperpar.keys()): hyperpar[k] = override_hyperpar[k] - ModelLinear.__init__( - self=self, - in_dim=topology_container.ngenes, + super().__init__( + in_dim=topology_container.n_var, **hyperpar ) print('passed hyperpar: \n', hyperpar) self._topology_id = topology_container.topology_id - self.genome_size = topology_container.ngenes - self.model_class = topology_container.model_class + self.genome_size = topology_container.n_var + self.model_class = "embedding" self.model_type = topology_container.model_type self.hyperparam = dict( - list(hyperpar.items()) + + list(hyperpar.items()) + # noqa: W504 [ ("topology_id", self._topology_id), ("genome_size", self.genome_size), diff --git a/sfaira/models/embedding/output_layers.py b/sfaira/models/embedding/output_layers.py index d4192c7c6..1c7e699b0 100644 --- a/sfaira/models/embedding/output_layers.py +++ b/sfaira/models/embedding/output_layers.py @@ -1,8 +1,12 @@ -import tensorflow as tf +try: + import tensorflow as tf +except ImportError: + tf = None class NegBinOutput(tf.keras.layers.Layer): """Negative binomial output layer""" + def __init__( self, original_dim=None, @@ -203,4 +207,4 @@ def call(self, inputs, **kwargs): invlinker_mean = mean_clip + sf invlinker_var = tf.exp(var_clip) - return [invlinker_mean, invlinker_var] \ No newline at end of file + return [invlinker_mean, invlinker_var] diff --git a/sfaira/models/embedding/vae.py b/sfaira/models/embedding/vae.py index b24b0d75e..47fafa498 100644 --- a/sfaira/models/embedding/vae.py +++ b/sfaira/models/embedding/vae.py @@ -1,12 +1,15 @@ import numpy as np -import tensorflow as tf +try: + import tensorflow as tf +except ImportError: + tf = None from typing import List, Union, Tuple from sfaira.models.embedding.output_layers import NegBinOutput, NegBinSharedDispOutput, NegBinConstDispOutput, \ GaussianOutput, GaussianSharedStdOutput, GaussianConstStdOutput -from sfaira.models.embedding.external import BasicModel -from sfaira.models.embedding.external import PreprocInput -from sfaira.models.embedding.external import Topologies +from sfaira.versions.topologies import TopologyContainer +from sfaira.models.base import BasicModelKeras +from sfaira.models.pp_layer import PreprocInput class Sampling(tf.keras.layers.Layer): @@ -137,7 +140,7 @@ def call(self, inputs, **kwargs): return x -class ModelVae(BasicModel): +class ModelKerasVae(BasicModelKeras): def predict_reconstructed(self, x: np.ndarray): return np.split(self.training_model.predict(x)[0], indices_or_sections=2, axis=1)[0] @@ -154,14 +157,13 @@ def __init__( init='glorot_uniform', output_layer="nb" ): - super(ModelVae, self).__init__() + super(ModelKerasVae, self).__init__() # Check length of latent dim to divide encoder-decoder stack: if len(latent_dim) % 2 == 1: n_layers_enc = len(latent_dim) // 2 + 1 else: raise ValueError("len(latent_dim)=%i should be uneven to provide a defined bottleneck" % len(latent_dim)) - inputs_encoder = tf.keras.Input(shape=(in_dim,), name='counts') inputs_sf = tf.keras.Input(shape=(1,), name='size_factors') inputs_encoder_pp = PreprocInput()(inputs_encoder) @@ -210,7 +212,7 @@ def __init__( output_decoder_expfamily_concat = tf.keras.layers.Concatenate(axis=1, name="neg_ll")(output_decoder_expfamily) self.encoder_model = tf.keras.Model( - inputs=inputs_encoder, + inputs=[inputs_encoder, inputs_sf], outputs=[z, z_mean, z_log_var], name="encoder_model" ) @@ -220,35 +222,34 @@ def __init__( name="autoencoder" ) - def predict_embedding(self, x: np.ndarray, variational=False): + def predict_embedding(self, x, variational=False): if variational: return self.encoder_model.predict(x) else: return self.encoder_model.predict(x)[1] -class ModelVaeVersioned(ModelVae): +class ModelVaeVersioned(ModelKerasVae): def __init__( self, - topology_container: Topologies, + topology_container: TopologyContainer, override_hyperpar: Union[dict, None] = None ): hyperpar = topology_container.topology["hyper_parameters"] if override_hyperpar is not None: for k in list(override_hyperpar.keys()): hyperpar[k] = override_hyperpar[k] - ModelVae.__init__( - self=self, - in_dim=topology_container.ngenes, + super().__init__( + in_dim=topology_container.n_var, **hyperpar ) print('passed hyperpar: \n', hyperpar) self._topology_id = topology_container.topology_id - self.genome_size = topology_container.ngenes - self.model_class = topology_container.model_class + self.genome_size = topology_container.n_var + self.model_class = "embedding" self.model_type = topology_container.model_type self.hyperparam = dict( - list(hyperpar.items()) + + list(hyperpar.items()) + # noqa: W504 [ ("topology_id", self._topology_id), ("genome_size", self.genome_size), diff --git a/sfaira/models/embedding/vaeiaf.py b/sfaira/models/embedding/vaeiaf.py index 3cc518fdc..4db1875a6 100644 --- a/sfaira/models/embedding/vaeiaf.py +++ b/sfaira/models/embedding/vaeiaf.py @@ -1,13 +1,16 @@ import numpy as np -import tensorflow as tf +try: + import tensorflow as tf +except ImportError: + tf = None from typing import Union, Tuple from sfaira.models.embedding.output_layers import NegBinOutput, NegBinSharedDispOutput, NegBinConstDispOutput, \ GaussianOutput, GaussianSharedStdOutput, GaussianConstStdOutput -from sfaira.models.embedding.external import BasicModel -from sfaira.models.embedding.external import PreprocInput -from sfaira.models.embedding.external import Topologies -from sfaira.models.embedding.external import MaskingDense +from sfaira.versions.topologies import TopologyContainer +from sfaira.models.base import BasicModelKeras +from sfaira.models.pp_layer import PreprocInput +from sfaira.models.made import MaskingDense class Sampling(tf.keras.layers.Layer): @@ -96,17 +99,17 @@ def call(self, inputs, **kwargs): class IAF(tf.keras.layers.Layer): def __init__( - self, - bottleneck: int, - n_iaf: int, - l1_coef: float, - l2_coef: float, - masking_dim=320, - n_made=2, - activation="relu", - name='iaf', - **kwargs - ): + self, + bottleneck: int, + n_iaf: int, + l1_coef: float, + l2_coef: float, + masking_dim=320, + n_made=2, + activation="relu", + name='iaf', + **kwargs + ): """ Transforms latent space with simple distribution to one with a more flexible one. @@ -218,7 +221,7 @@ def call(self, inputs, **kwargs): return x -class ModelVaeIAF(BasicModel): +class ModelKerasVaeIAF(BasicModelKeras): def __init__( self, @@ -234,14 +237,13 @@ def __init__( init='glorot_uniform', output_layer="nb" ): - super(ModelVaeIAF, self).__init__() + super(ModelKerasVaeIAF, self).__init__() # Check length of latent dim to divide encoder-decoder stack: if len(latent_dim) % 2 == 1: n_layers_enc = len(latent_dim) // 2 + 1 else: raise ValueError("len(latent_dim)=%i should be uneven to provide a defined bottleneck" % len(latent_dim)) - inputs_encoder = tf.keras.Input(shape=(in_dim,), name='counts') inputs_sf = tf.keras.Input(shape=(1,), name='size_factors') inputs_encoder_pp = PreprocInput()(inputs_encoder) @@ -255,7 +257,7 @@ def __init__( kernel_initializer=init ) iaf = IAF( - bottleneck=latent_dim[n_layers_enc-1], + bottleneck=latent_dim[n_layers_enc - 1], n_iaf=n_iaf, l1_coef=l1_coef, l2_coef=l2_coef @@ -284,8 +286,8 @@ def __init__( z, s_t_sigmas = iaf([z, h]) z_t_square_mc += tf.square(z) z_t_mean += z - z_t_square_mc = z_t_square_mc/mc_samples - z_t_mean = z_t_mean/mc_samples + z_t_square_mc = z_t_square_mc / mc_samples + z_t_mean = z_t_mean / mc_samples cum_s_t_log_var = 0 for s_t_sigma in s_t_sigmas: @@ -317,7 +319,7 @@ def __init__( output_decoder_expfamily_concat = tf.keras.layers.Concatenate(axis=1, name="neg_ll")(output_decoder_expfamily) self.encoder_model = tf.keras.Model( - inputs=inputs_encoder, + inputs=[inputs_encoder, inputs_sf], outputs=[z_t, z_t_mean, z_0], name="encoder_model" ) @@ -327,10 +329,10 @@ def __init__( name="autoencoder" ) - def predict_reconstructed(self, x: np.ndarray): + def predict_reconstructed(self, x): return np.split(self.training_model.predict(x)[0], indices_or_sections=2, axis=1)[0] - def predict_embedding(self, x: np.ndarray, variational=False, return_z0=False): + def predict_embedding(self, x, variational=False, return_z0=False): if return_z0 and variational: z_t, z_t_mean, z_0 = self.encoder_model.predict(x) return z_t, z_t_mean, z_0 @@ -345,28 +347,27 @@ def predict_embedding(self, x: np.ndarray, variational=False, return_z0=False): return z_t_mean -class ModelVaeIAFVersioned(ModelVaeIAF): +class ModelVaeIAFVersioned(ModelKerasVaeIAF): def __init__( self, - topology_container: Topologies, + topology_container: TopologyContainer, override_hyperpar: Union[dict, None] = None ): hyperpar = topology_container.topology["hyper_parameters"] if override_hyperpar is not None: for k in list(override_hyperpar.keys()): hyperpar[k] = override_hyperpar[k] - ModelVaeIAF.__init__( - self=self, - in_dim=topology_container.ngenes, + super().__init__( + in_dim=topology_container.n_var, **hyperpar ) print('passed hyperpar: \n', hyperpar) self._topology_id = topology_container.topology_id - self.genome_size = topology_container.ngenes - self.model_class = topology_container.model_class + self.genome_size = topology_container.n_var + self.model_class = "embedding" self.model_type = topology_container.model_type self.hyperparam = dict( - list(hyperpar.items()) + + list(hyperpar.items()) + # noqa: W504 [ ("topology_id", self._topology_id), ("genome_size", self.genome_size), diff --git a/sfaira/models/embedding/vaevamp.py b/sfaira/models/embedding/vaevamp.py index 55ce3bd47..88062b1fc 100644 --- a/sfaira/models/embedding/vaevamp.py +++ b/sfaira/models/embedding/vaevamp.py @@ -1,12 +1,15 @@ import numpy as np -import tensorflow as tf +try: + import tensorflow as tf +except ImportError: + tf = None from typing import List, Union, Tuple from sfaira.models.embedding.output_layers import NegBinOutput, NegBinSharedDispOutput, NegBinConstDispOutput, \ GaussianOutput, GaussianSharedStdOutput, GaussianConstStdOutput -from sfaira.models.embedding.external import BasicModel -from sfaira.models.embedding.external import PreprocInput -from sfaira.models.embedding.external import Topologies +from sfaira.versions.topologies import TopologyContainer +from sfaira.models.base import BasicModelKeras +from sfaira.models.pp_layer import PreprocInput def log_sum_of_exponentials(x, axis): @@ -197,7 +200,7 @@ def call(self, inputs, **kwargs): return (p_z1_mean, p_z1_log_var), (p_z2_mean, p_z2_log_var), out -class ModelVaeVamp(BasicModel): +class ModelKerasVaeVamp(BasicModelKeras): def predict_reconstructed(self, x: np.ndarray): return np.split(self.training_model.predict(x)[0], indices_or_sections=2, axis=1)[0] @@ -215,7 +218,7 @@ def __init__( init='glorot_uniform', output_layer="nb" ): - super(ModelVaeVamp, self).__init__() + super(ModelKerasVaeVamp, self).__init__() config = ( latent_dim, l1_coef, @@ -271,7 +274,7 @@ def __init__( z_log_var = tf.keras.layers.Concatenate(axis=1, name="z_log_var")([q_z1_log_var, q_z2_log_var]) self.encoder_model = tf.keras.Model( - inputs=inputs_encoder, + inputs=[inputs_encoder, inputs_sf], outputs=[z, z_mean, z_log_var], name="encoder_model" ) @@ -281,36 +284,35 @@ def __init__( name="autoencoder" ) - def predict_embedding(self, x: np.ndarray, variational=False): + def predict_embedding(self, x, variational=False): if variational: return self.encoder_model.predict(x) else: return self.encoder_model.predict(x)[1] -class ModelVaeVampVersioned(ModelVaeVamp): +class ModelVaeVampVersioned(ModelKerasVaeVamp): def __init__( self, - topology_container: Topologies, + topology_container: TopologyContainer, override_hyperpar: Union[dict, None] = None ): hyperpar = topology_container.topology["hyper_parameters"] if override_hyperpar is not None: for k in list(override_hyperpar.keys()): hyperpar[k] = override_hyperpar[k] - ModelVaeVamp.__init__( - self=self, - in_dim=topology_container.ngenes, + super().__init__( + in_dim=topology_container.n_var, **hyperpar ) print('passed hyperpar: \n', hyperpar) self._topology_id = topology_container.topology_id - self.genome_size = topology_container.ngenes - self.model_class = topology_container.model_class + self.genome_size = topology_container.n_var + self.model_class = "embedding" self.model_type = topology_container.model_type self.hyperparam = dict( - list(hyperpar.items()) + + list(hyperpar.items()) + # noqa: W504 [ ("topology_id", self._topology_id), ("genome_size", self.genome_size), diff --git a/sfaira/models/made.py b/sfaira/models/made.py index fb08e2b67..67b6ec873 100644 --- a/sfaira/models/made.py +++ b/sfaira/models/made.py @@ -2,15 +2,14 @@ import numpy as np -import tensorflow.keras.backend as K -from tensorflow.keras.layers import Layer, BatchNormalization -from tensorflow.keras import initializers -from tensorflow.keras import activations -from tensorflow.keras import regularizers -from tensorflow.keras import constraints +try: + import tensorflow as tf +except ImportError: + tf = None +# ToDo: we are using a lot of tf.keras.backend modules below, can we use tf core instead? -class MaskingDense(Layer): +class MaskingDense(tf.keras.layers.Layer): """ Just copied code from keras Dense layer and added masking and a few other tricks: - Direct auto-regressive connections to output - Allows a second (non-autoregressive) input that is fully connected to first hidden @@ -47,24 +46,24 @@ def __init__(self, units, out_units, self.units = units self.out_units = out_units self.hidden_layers = hidden_layers - self.activation = activations.get(activation) - self.out_activation = activations.get(out_activation) # None gives linear activation - self.kernel_initializer = initializers.get(kernel_initializer) - self.bias_initializer = initializers.get(bias_initializer) - self.out_kernel_initializer = initializers.get(out_kernel_initializer) - self.out_bias_initializer = initializers.get(out_bias_initializer) - self.kernel_regularizer = regularizers.get(kernel_regularizer) - self.bias_regularizer = regularizers.get(bias_regularizer) - self.activity_regularizer = regularizers.get(activity_regularizer) - self.kernel_constraint = constraints.get(kernel_constraint) - self.bias_constraint = constraints.get(bias_constraint) + self.activation = tf.keras.activations.get(activation) + self.out_activation = tf.keras.activations.get(out_activation) # None gives linear activation + self.kernel_initializer = tf.keras.initializers.get(kernel_initializer) + self.bias_initializer = tf.keras.initializers.get(bias_initializer) + self.out_kernel_initializer = tf.keras.initializers.get(out_kernel_initializer) + self.out_bias_initializer = tf.keras.initializers.get(out_bias_initializer) + self.kernel_regularizer = tf.keras.regularizers.get(kernel_regularizer) + self.bias_regularizer = tf.keras.regularizers.get(bias_regularizer) + self.activity_regularizer = tf.keras.regularizers.get(activity_regularizer) + self.kernel_constraint = tf.keras.constraints.get(kernel_constraint) + self.bias_constraint = tf.keras.constraints.get(bias_constraint) self.batchnorm = batchnorm + def dropout_wrapper(self, inputs, training): if 0. < self.rate < 1.: def dropped_inputs(): - return K.dropout(inputs, self.rate, noise_shape=None, seed=None) - return K.in_train_phase(dropped_inputs, inputs, - training=training) + return tf.keras.backend.dropout(inputs, self.rate, noise_shape=None, seed=None) + return tf.keras.backend.in_train_phase(dropped_inputs, inputs, training=training) return inputs @@ -118,7 +117,7 @@ def vals(): else: yield 1 if prev_sel[x] <= input_sel[y] else 0 - return K.constant(list(vals()), dtype='float32', shape=shape), input_sel + return tf.keras.backend.constant(list(vals()), dtype='float32', shape=shape), input_sel def build(self, input_shape): if isinstance(input_shape, list): @@ -155,7 +154,7 @@ def build(self, input_shape): prev_sel = kernel_sel shape = (self.units, self.units) - self.batch_norms.append(BatchNormalization(center=True, scale=True)) + self.batch_norms.append(tf.keras.layers.BatchNormalization(center=True, scale=True)) # Direct connection between input/output if self.hidden_layers > 0: @@ -189,8 +188,8 @@ def call(self, inputs, training=None): output = inputs if other_input is not None: - other = K.dot(other_input, self.other_kernel) - other = K.bias_add(other, self.other_bias) + other = tf.keras.backend.dot(other_input, self.other_kernel) + other = tf.keras.backend.bias_add(other, self.other_bias) other = self.activation(other) # Hidden layer + mask @@ -198,13 +197,13 @@ def call(self, inputs, training=None): # i=0: input_dim -> masking_dim # i>0: masking_dim -> masking_dim weight = self.kernels[i] * self.kernel_masks[i] - output = K.dot(output, weight) + output = tf.keras.backend.dot(output, weight) # "other" input if i == 0 and other_input is not None: output = output + other - output = K.bias_add(output, self.biases[i]) + output = tf.keras.backend.bias_add(output, self.biases[i]) output = self.activation(output) if self.batchnorm: output = self.batch_norms[i](output) @@ -212,15 +211,15 @@ def call(self, inputs, training=None): # out_act(bias + (V dot M_v)h(x) + (A dot M_a)x + (other dot M_other)other) # masking_dim -> input_dim - output = K.dot(output, self.out_kernel * self.out_kernel_mask) + output = tf.keras.backend.dot(output, self.out_kernel * self.out_kernel_mask) # Direct connection if self.hidden_layers > 0: # input_dim -> input_dim - direct = K.dot(inputs, self.direct_kernel * self.direct_kernel_mask) + direct = tf.keras.backend.dot(inputs, self.direct_kernel * self.direct_kernel_mask) output = output + direct - output = K.bias_add(output, self.out_bias) + output = tf.keras.backend.bias_add(output, self.out_bias) output = self.out_activation(output) output = self.dropout_wrapper(output, training) diff --git a/sfaira/models/pp_layer.py b/sfaira/models/pp_layer.py index 0e7300e23..f1dcee25f 100644 --- a/sfaira/models/pp_layer.py +++ b/sfaira/models/pp_layer.py @@ -1,4 +1,7 @@ -import tensorflow as tf +try: + import tensorflow as tf +except ImportError: + tf = None class PreprocInput(tf.keras.layers.Layer): diff --git a/sfaira/train/__init__.py b/sfaira/train/__init__.py index f1c9b5b6f..f0a188c17 100644 --- a/sfaira/train/__init__.py +++ b/sfaira/train/__init__.py @@ -1,2 +1,2 @@ from sfaira.train.summaries import GridsearchContainer, SummarizeGridsearchEmbedding, SummarizeGridsearchCelltype -from sfaira.train.train_model import TrainModelEmbedding, TrainModelCelltype, TargetZoos +from sfaira.train.train_model import TrainModelEmbedding, TrainModelCelltype diff --git a/sfaira/train/external.py b/sfaira/train/external.py deleted file mode 100644 index 158904c07..000000000 --- a/sfaira/train/external.py +++ /dev/null @@ -1,5 +0,0 @@ -from sfaira.versions.celltype_versions import SPECIES_DICT -from sfaira.data import DatasetGroupBase, DatasetSuperGroup -from sfaira.estimators import EstimatorKeras, EstimatorKerasCelltype, EstimatorKerasEmbedding -from sfaira.interface.model_zoo import ModelZoo, ModelZooEmbedding, ModelZooCelltype -from sfaira.data import mouse, human diff --git a/sfaira/train/summaries.py b/sfaira/train/summaries.py index 86119aa17..5e4d72bb8 100644 --- a/sfaira/train/summaries.py +++ b/sfaira/train/summaries.py @@ -6,10 +6,13 @@ import warnings from typing import Union, List import os -from .train_model import TargetZoos -from .external import SPECIES_DICT -from .external import EstimatorKerasEmbedding +from sfaira.consts import OCS +from sfaira.data import load_store +from sfaira.data.dataloaders import Universe +from sfaira.estimators import EstimatorKerasEmbedding +from sfaira.interface import ModelZoo +from sfaira.versions.metadata import CelltypeUniverse, OntologyCl def _tp(yhat, ytrue): @@ -109,12 +112,12 @@ class GridsearchContainer: gs_keys: Union[None, dict] summary_tab: Union[None, pandas.DataFrame] cv: bool - source_path: str + source_path: dict model_id_len: Union[None, int] def __init__( self, - source_path: str, + source_path: dict, cv: bool ): self.histories = None @@ -135,12 +138,15 @@ def load_gs( :param gs_ids: :return: """ - res_dirs = [os.path.join(self.source_path, x, "results", "") for x in gs_ids] + res_dirs = [ + os.path.join(self.source_path[x], x, "results", "") + for x in gs_ids + ] run_ids = [ np.sort(np.unique([ - x.split("_history.pickle")[0] + x.split("_evaluation.pickle")[0] for x in os.listdir(indir) - if "_history.pickle" in x + if "_evaluation.pickle" in x ])) for i, indir in enumerate(res_dirs) ] @@ -150,6 +156,7 @@ def load_gs( model_hyperpars = {} run_ids_proc = [] gs_keys = [] + gs_dirs = [] for i, indir in enumerate(res_dirs): for x in run_ids[i]: fn_history = os.path.join(indir, f"{x}_history.pickle") @@ -182,9 +189,11 @@ def load_gs( run_ids_proc.append(x) gs_keys.append(os.path.normpath(indir).split(os.path.sep)[-2]) + gs_dirs.append(indir) self.run_ids = run_ids_proc self.gs_keys = dict(zip(run_ids_proc, gs_keys)) + self.gs_dirs = dict(zip(run_ids_proc, gs_dirs)) self.evals = evals self.hyperpars = hyperpars self.model_hyperpars = model_hyperpars @@ -195,7 +204,7 @@ def load_y( hat_or_true: str, run_id: str ): - fn = os.path.join(self.source_path, self.gs_keys[run_id], "results", f"{run_id}_y{hat_or_true}.npy") + fn = os.path.join(self.gs_dirs[run_id], f"{run_id}_y{hat_or_true}.npy") return np.load(fn) def best_model_by_partition( @@ -279,23 +288,23 @@ def get_best_model_ids( metric_select = f"{partition_select}_{metric_select}" if cv_mode.lower() == "mean": - best_model = tab.groupby("run", as_index=False)[metric_select].mean().\ + best_model = tab.groupby("run", as_index=False)[metric_select].mean(). \ sort_values([metric_select], ascending=ascending) elif cv_mode.lower() == "median": - best_model = tab.groupby("run", as_index=False)[metric_select].median().\ + best_model = tab.groupby("run", as_index=False)[metric_select].median(). \ sort_values([metric_select], ascending=ascending) elif cv_mode.lower() == "max": - best_model = tab.groupby("run", as_index=False)[metric_select].max().\ + best_model = tab.groupby("run", as_index=False)[metric_select].max(). \ sort_values([metric_select], ascending=ascending) elif cv_mode.lower() == "min": - best_model = tab.groupby("run", as_index=False)[metric_select].min().\ + best_model = tab.groupby("run", as_index=False)[metric_select].min(). \ sort_values([metric_select], ascending=ascending) else: raise ValueError("cv_mode %s not recognized" % cv_mode) best_run_id = best_model['run'].values[0] if best_model.shape[0] > 0 else None - best_cv = tab[tab["run"] == best_run_id].\ + best_cv = tab[tab["run"] == best_run_id]. \ sort_values([metric_select], ascending=ascending)['cv'].values[0] if best_run_id is not None \ else None @@ -340,7 +349,7 @@ def save_best_weight( subset=subset, ) shutil.copyfile( - os.path.join(self.source_path, self.gs_keys[model_id], "results", f"{model_id}_weights.h5"), + os.path.join(self.gs_dirs[model_id], self.gs_keys[model_id], "results", f"{model_id}_weights.h5"), os.path.join(path, f"{model_id}_weights.h5") ) @@ -375,8 +384,7 @@ def plot_completions( np.logical_and( sns_tab["model_type"].values == m, sns_tab["organ"].values == o - ), : - ].groupby(groupby).size().values + ), :].groupby(groupby).size().values # Assume that largest number of successful completions is maximum (all completed: hm[j, i] = np.sum(n_by_gridpoint == np.max(n_by_gridpoint)) if len(n_by_gridpoint) > 0 else 0 sns_data_heatmap = pandas.DataFrame( @@ -400,7 +408,7 @@ def plot_best_model_by_hyperparam( partition_select: str = "val", partition_show: str = "test", subset: dict = {}, - param_x=['lr', 'depth', 'width', 'dropout', 'l1', 'l2'], + param_x: Union[tuple, list] = ('lr', 'depth', 'width', 'dropout', 'l1', 'l2'), show_swarm: bool = False, panel_width: float = 4., panel_height: float = 2. @@ -504,12 +512,12 @@ def plot_training_history( ) if cv_key is None: sns_data = [] - for run in np.unique( + for run in list(np.unique( self.summary_tab.loc[self.summary_tab["model_gs_id"].values == model_gs_id, "run"].values - ).tolist(): + )): sns_data_temp = pandas.DataFrame(self.histories[run]) sns_data_temp["epoch"] = np.arange(0, sns_data_temp.shape[0]) - sns_data_temp["cv"] = int(run.split("_")[-1]) + sns_data_temp["cv"] = run[-1] sns_data.append(sns_data_temp) sns_data = pandas.concat(sns_data, axis=0) else: @@ -580,16 +588,14 @@ def write_best_hyparam( if best_model_id is not None: if cvs is None: file_path_base = os.path.join( - self.source_path, + self.gs_dirs[best_model_id], self.gs_keys[best_model_id], 'results', best_model_id, ) else: file_path_base = os.path.join( - self.source_path, - self.gs_keys[f"{best_model_id}_cv{cvs[0]}"], - 'results', + self.gs_dirs[f"{best_model_id}_cv{cvs[0]}"], f"{best_model_id}_cv{cvs[0]}", ) @@ -600,7 +606,6 @@ def write_best_hyparam( # Read optimizer hyperparameter with open(f"{file_path_base}_hyperparam.pickle", 'rb') as file: hyparam_optim = pickle.load(file) - # Write both hyperparameter dicts with open(os.path.join(write_path, f"{best_model_id[:-12]}_best_hyperparam.txt"), 'w') as file: file.write(json.dumps({"model": hyparam_model, "optimizer": hyparam_optim})) @@ -613,9 +618,9 @@ class SummarizeGridsearchCelltype(GridsearchContainer): def __init__( self, - source_path: str, + source_path: dict, cv: bool, - model_id_len: int = 7 + model_id_len: int = 3 ): super(SummarizeGridsearchCelltype, self).__init__( source_path=source_path, @@ -633,7 +638,7 @@ def load_ontology_names( :param run_id: :return: """ - fn = os.path.join(self.source_path, self.gs_keys[run_id], "results", f"{run_id}_ontology_names.pickle") + fn = os.path.join(self.gs_dirs[run_id], f"{run_id}_ontology_names.pickle") if not os.path.isfile(fn): raise FileNotFoundError(f"file {run_id}_ontology_names.pickle not found") with open(fn, 'rb') as f: @@ -641,47 +646,28 @@ def load_ontology_names( return ids def create_summary_tab(self): - """ - metrics = list(self.evals.values())[0]['val'].keys() - hyperpar = list(self.hyperpars.keys()) - model_hyperpar = list(self.hyperpars.keys()) - self.summary_tab = pandas.DataFrame(dict( - list({ - "cv": [id_i.split("_")[-1] if self.cv else "1" for id_i in self.run_ids], - "model": ["_".join(id_i.split("_")[:self.model_id_len]) for id_i in self.run_ids], - "model_type": [id_i.split("_")[3] for id_i in self.run_ids], - "run": self.run_ids, - }.items()) + - list(dict([(hp, [self.hyperpars[id_i][hp] for id_i in self.run_ids]) for hp in hyperpar]).items()) + - list(dict([(hp, [self.model_hyperpar[id_i][hp] for id_i in self.run_ids]) for hp in model_hyperpar]).items()) + - list(dict( - [("train_" + m, [self.evals[id_i]["train"][m] for id_i in self.run_ids]) for m in metrics]).items()) + - list(dict( - [("test_" + m, [self.evals[id_i]["test"][m] for id_i in self.run_ids]) for m in metrics]).items()) + - list(dict([("val_" + m, [self.evals[id_i]["val"][m] for id_i in self.run_ids]) for m in metrics]).items()) + - list(dict([("all_" + m, [self.evals[id_i]["all"][m] for id_i in self.run_ids]) for m in metrics]).items()) - )) - :return: - """ metrics = list(self.evals.values())[0]['val'].keys() self.summary_tab = pandas.DataFrame(dict( list({ - "depth": [id_i.split("_")[self.model_id_len + 0] for id_i in self.run_ids], - "width": [id_i.split("_")[self.model_id_len + 1] for id_i in self.run_ids], - "lr": [id_i.split("_")[self.model_id_len + 2] for id_i in self.run_ids], - "dropout": [id_i.split("_")[self.model_id_len + 3] for id_i in self.run_ids], - "l1": [id_i.split("_")[self.model_id_len + 4] for id_i in self.run_ids], - "l2": [id_i.split("_")[self.model_id_len + 5] for id_i in self.run_ids], - "cv": [id_i.split("_")[-1] if self.cv else "cv0" for id_i in self.run_ids], - "model": ["_".join(id_i.split("_")[:self.model_id_len]) for id_i in self.run_ids], - "organ": [id_i.split("_")[2] for id_i in self.run_ids], - "model_type": [ - "linear" if (id_i.split("_")[3] == "mlp" and id_i.split("_")[5].split(".")[1] == "0") - else id_i.split("_")[3] + "depth": [id_i.split("_")[self.model_id_len + 0] for id_i in self.run_ids], # noqa: E241 + "width": [id_i.split("_")[self.model_id_len + 1] for id_i in self.run_ids], # noqa: E241 + "lr": [id_i.split("_")[self.model_id_len + 2] for id_i in self.run_ids], # noqa: E241 + "dropout": [id_i.split("_")[self.model_id_len + 3] for id_i in self.run_ids], # noqa: E241 + "l1": [id_i.split("_")[self.model_id_len + 4] for id_i in self.run_ids], # noqa: E241 + "l2": [id_i.split("_")[self.model_id_len + 5] for id_i in self.run_ids], # noqa: E241 + "cv": [id_i.split("_")[-1] if self.cv else "1" for id_i in self.run_ids], # noqa: E241 + "model": ["_".join(id_i.split("_")[:self.model_id_len]) for id_i in self.run_ids], # noqa: E241 + "organism": [id_i.split("_")[1].split("-")[0] for id_i in self.run_ids], # noqa: E241 + "organ": [id_i.split("_")[1].split("-")[1] for id_i in self.run_ids], # noqa: E241 + "model_type": [ # noqa: E241 + "linear" if (id_i.split("_")[1].split("-")[2] == "mlp" and + id_i.split("_")[1].split("-")[3].split(".")[1] == "0") + else id_i.split("_")[1].split("-")[2] for id_i in self.run_ids ], - "model_gs_id": ["_".join(id_i.split("_")[:(self.model_id_len + 6)]) for id_i in self.run_ids], - "run": self.run_ids + "version": [id_i.split("_")[1].split("-")[3] for id_i in self.run_ids], # noqa: E241 + "model_gs_id": ["_".join(id_i.split("_")[:(self.model_id_len + 6)]) for id_i in self.run_ids], # noqa: E241 + "run": self.run_ids, # noqa: E241 }.items()) + list(dict([("train_" + m, [self.evals[x]["train"][m] for x in self.run_ids]) for m in metrics]).items()) + list(dict([("test_" + m, [self.evals[x]["test"][m] for x in self.run_ids]) for m in metrics]).items()) + @@ -708,11 +694,11 @@ def best_model_celltype( if model_id is not None: if cvs is not None: fns = [ - os.path.join(self.source_path, self.gs_keys[f"{model_id}_cv{x}"], "results", f"{model_id}_cv{x}") + os.path.join(self.gs_dirs[f"{model_id}_cv{x}"], self.gs_keys[f"{model_id}_cv{x}"], "results", f"{model_id}_cv{x}") for x in cvs ] else: - fns = [os.path.join(self.source_path, self.gs_keys[model_id], "results", model_id)] + fns = [os.path.join(self.gs_dirs[model_id], self.gs_keys[model_id], "results", model_id)] covar = [pandas.read_csv(f"{x}_covar.csv") for x in fns] return model_id, covar else: @@ -735,17 +721,13 @@ def plot_best( Plot accuracy or other metric heatmap by organ and model type. :param rename_levels: - :param metric: Metric to plot in heatmap. - - - acc - - f1 - :param collapse_cv: How to collapse values from cross validation into single scalar: - - - mean - - median - - max - :param ylim: - :param xrot: + :param partition_select: + :param partition_show: + :param metric_select: + :param metric_show: + :param collapse_cv: + :param vmin: + :param vmax: :param height_fig: :param width_fig: :return: @@ -808,7 +790,7 @@ def plot_best( fig, axs = plt.subplots(1, 1, figsize=(height_fig, width_fig)) with sns.axes_style("dark"): axs = sns.heatmap( - sns_data_heatmap, #mask=mask, + sns_data_heatmap, # mask=mask, annot=True, fmt=".2f", ax=axs, vmin=0, vmax=1, xticklabels=True, yticklabels=True, @@ -822,7 +804,9 @@ def plot_best_classwise_heatmap( organ: str, organism: str, datapath: str, - celltype_version: str = "0", + store_format: str, + targetpath: str, + configpath: str, partition_select: str = "val", metric_select: str = "custom_cce_agg", metric_show: str = "f1", @@ -837,7 +821,9 @@ def plot_best_classwise_heatmap( :param organ: Organ to plot in heatmap. :param organism: Species that the gridsearch was run on :param datapath: Path to the local sfaira data repository - :param celltype_version: Version in sfaira celltype universe + :param store_format: + :param targetpath: + :param configpath: :param partition_select: Based on which partition to select the best model - train - val @@ -860,10 +846,53 @@ def plot_best_classwise_heatmap( :param width_fig: Figure width. :return: fig, axs, sns_data_heatmap """ - import matplotlib.pyplot as plt import seaborn as sns + def f1(yhat, ytrue): + """ + Class wise F1. + + :param yhat: + :param ytrue: + :return: + """ + def _tp(yhat, ytrue): + """ + Class wise true positive count. + + :param yhat: + :param ytrue: + :return: + """ + yhat_true = np.asarray(yhat == np.max(yhat, axis=1, keepdims=True), dtype="float32") + return np.sum(yhat_true * ytrue, axis=0) + + def _fp(yhat, ytrue): + """ + Class wise false positive count. + + :param yhat: + :param ytrue: + :return: + """ + yhat_true = np.asarray(yhat == np.max(yhat, axis=1, keepdims=True), dtype="float32") + return np.sum(yhat_true * (1. - ytrue), axis=0) + + def _fn(yhat, ytrue): + """ + Class wise false negative count. + + :param yhat: + :param ytrue: + :return: + """ + yhat_true = np.asarray(yhat < np.max(yhat, axis=1, keepdims=True), dtype="float32") + return np.sum(yhat_true * ytrue, axis=0) + precision = _tp(yhat, ytrue) / (_tp(yhat, ytrue) + _fp(yhat, ytrue)) + recall = _tp(yhat, ytrue) / (_tp(yhat, ytrue) + _fn(yhat, ytrue)) + return 2 * 1 / (1 / precision + 1 / recall) + if self.summary_tab is None: self.create_summary_tab() @@ -877,30 +906,30 @@ def plot_best_classwise_heatmap( ) sns_tab = sns_tab[sns_tab['organ'] == organ] - tz = TargetZoos(path=datapath) - if organism == "human": - dataset = tz.data_human[organ] - elif organism == "mouse": - dataset = tz.data_mouse[organ] - else: - raise(ValueError(f"Supplied organism {organism} not recognised. Should be one of ('mouse', 'human')")) - dataset.load_all() - cell_counts = dataset.obs_concat(keys=['cell_ontology_class'])['cell_ontology_class'].value_counts().to_dict() - - celltype_versions = SPECIES_DICT.copy() - celltype_versions[organism][organ].set_version(celltype_version) - leafnodes = celltype_versions[organism][organ].ids - ontology = celltype_versions[organism][organ].ontology[celltype_version]["names"] - + store = load_store(cache_path=datapath, store_format=store_format) + store.load_config(configpath) + store.subset(attr_key="id", values=[k for k in store.indices.keys() + if 'cell_ontology_class' in store.adata_by_key[k].obs.columns]) + store.subset(attr_key="cellontology_class", excluded_values=[ + store._adata_ids_sfaira.unknown_celltype_identifier, + store._adata_ids_sfaira.not_a_cell_celltype_identifier, + ]) + cu = CelltypeUniverse( + cl=OntologyCl(branch="v2021-02-01"), + uberon=OCS.organ, + ) + cu.load_target_universe(targetpath) + cell_counts = store.obs['cell_ontology_class'].value_counts().to_dict() celltypelist = list(cell_counts.keys()).copy() + leaves = cu.onto_cl.convert_to_name(cu.onto_cl.leaves) for k in celltypelist: - if k not in leafnodes: - if k not in ontology.keys(): - raise(ValueError(f"Celltype '{k}' not found in celltype universe")) - for leaf in ontology[k]: + leafnodes = cu.onto_cl.convert_to_name(cu.onto_cl.map_to_leaves(node=k, return_type="ids", include_self=True)) + # Replace count on intermediate nodes with counts over leaves + if k not in leaves: + for leaf in leaves: if leaf not in cell_counts.keys(): cell_counts[leaf] = 0 - cell_counts[leaf] += 1/len(ontology[k]) + cell_counts[leaf] += 1. / len(leafnodes) del cell_counts[k] # Compute class-wise metrics @@ -921,9 +950,6 @@ def plot_best_classwise_heatmap( model_types = sns_tab["model_type"].unique() model_types.sort() classes = self.load_ontology_names(run_id=sns_tab["run"].values[0]) - if 'unknown' not in classes and 'Unknown' not in classes: - classes = classes + ['Unknown'] - cell_counts['Unknown'] = 0 hm = np.zeros((len(classes), len(model_types))) + np.nan # mask = np.isnan(hm) for i, m in enumerate(model_types): @@ -983,7 +1009,9 @@ def plot_best_classwise_scatter( organ: str, organism: str, datapath: str, - celltype_version: str = "0", + store_format: str, + targetpath: str, + configpath: str, partition_select: str = "val", metric_select: str = "custom_cce_agg", metric_show: str = "f1", @@ -992,15 +1020,17 @@ def plot_best_classwise_scatter( height_fig: int = 7, width_fig: int = 7, annotate_thres_ncells: int = 1000, - annotate_thres_f1: float = 0.5 + annotate_thres_f1: float = 0.5, ): """ Plot evaluation metric scatterplot for specified organ by cell classes and model types. :param organ: Organ to plot in heatmap. - :param organism: Species that the gridsearch was run on + :param organism: Organism that the gridsearch was run on :param datapath: Path to the local sfaira data repository - :param celltype_version: Version in sfaira celltype universe + :param store_format: + :param targetpath: + :param configpath: :param partition_select: Based on which partition to select the best model - train - val @@ -1025,7 +1055,6 @@ def plot_best_classwise_scatter( :param annotate_thres_f1: :return: fig, axs, sns_data_scatter """ - import matplotlib.pyplot as plt import seaborn as sns @@ -1042,30 +1071,30 @@ def plot_best_classwise_scatter( ) sns_tab = sns_tab[sns_tab['organ'] == organ] - tz = TargetZoos(path=datapath) - if organism == "human": - dataset = tz.data_human[organ] - elif organism == "mouse": - dataset = tz.data_mouse[organ] - else: - raise(ValueError(f"Supplied organism {organism} not recognised. Should be one of ('mouse', 'human')")) - dataset.load_all() - cell_counts = dataset.obs_concat(keys=['cell_ontology_class'])['cell_ontology_class'].value_counts().to_dict() - - celltype_versions = SPECIES_DICT.copy() - celltype_versions[organism][organ].set_version(celltype_version) - leafnodes = celltype_versions[organism][organ].ids - ontology = celltype_versions[organism][organ].ontology[celltype_version]["names"] - + store = load_store(cache_path=datapath, store_format=store_format) + store.load_config(configpath) + store.subset(attr_key="id", values=[k for k in store.indices.keys() + if 'cell_ontology_id' in store.adata_by_key[k].obs.columns]) + store.subset(attr_key="cellontology_class", excluded_values=[ + store._adata_ids_sfaira.unknown_celltype_identifier, + store._adata_ids_sfaira.not_a_cell_celltype_identifier, + ]) + cu = CelltypeUniverse( + cl=OntologyCl(branch="v2021-02-01"), + uberon=OCS.organ, + ) + cu.load_target_universe(targetpath) + cell_counts = store.obs['cell_ontology_class'].value_counts().to_dict() celltypelist = list(cell_counts.keys()).copy() + leaves = cu.onto_cl.convert_to_name(cu.onto_cl.leaves) for k in celltypelist: - if k not in leafnodes: - if k not in ontology.keys(): - raise(ValueError(f"Celltype '{k}' not found in celltype universe")) - for leaf in ontology[k]: + leafnodes = cu.onto_cl.convert_to_name(cu.onto_cl.map_to_leaves(node=k, return_type="ids", include_self=True)) + # Replace count on intermediate nodes with counts over leaves + if k not in leaves: + for leaf in leaves: if leaf not in cell_counts.keys(): cell_counts[leaf] = 0 - cell_counts[leaf] += 1/len(ontology[k]) + cell_counts[leaf] += 1. / len(leafnodes) del cell_counts[k] # Compute class-wise metrics @@ -1085,9 +1114,6 @@ def plot_best_classwise_scatter( # Build figure. model_types = sns_tab["model_type"].unique() classes = self.load_ontology_names(run_id=sns_tab["run"].values[0]) - if 'unknown' not in classes and 'Unknown' not in classes: - classes = classes + ['Unknown'] - cell_counts['Unknown'] = 0 hm = np.zeros((len(classes), len(model_types))) + np.nan # mask = np.isnan(hm) for i, m in enumerate(model_types): @@ -1111,7 +1137,7 @@ def plot_best_classwise_scatter( if c in cell_counts.keys(): n_cells.append(np.round(cell_counts[c])) else: - warnings.warn(f"Celltype {c} from cell ontology not found in {organism} {organ} dataset") + warnings.warn(f"Celltype {c} from cell cu not found in {organism} {organ} dataset") n_cells.append(np.nan) n_cells = np.array(n_cells)[:, None] sns_data_scatter = pandas.DataFrame( @@ -1133,6 +1159,7 @@ def plot_best_classwise_scatter( axs = sns.scatterplot(x='Number of cells in whole dataset', y='Classwise f1 score', style='Model type', + alpha=0.8, data=sns_data_scatter, ax=axs ) @@ -1157,11 +1184,11 @@ class SummarizeGridsearchEmbedding(GridsearchContainer): def __init__( self, - source_path: str, + source_path: dict, cv: bool, loss_idx: int = 0, mse_idx: int = 1, - model_id_len: int = 7 + model_id_len: int = 3 ): super(SummarizeGridsearchEmbedding, self).__init__( source_path=source_path, @@ -1175,25 +1202,34 @@ def create_summary_tab(self): metrics = list(self.evals.values())[0]['val'].keys() self.summary_tab = pandas.DataFrame(dict( list({ - "depth": [id_i.split("_")[self.model_id_len + 0] for id_i in self.run_ids], - "width": [id_i.split("_")[self.model_id_len + 1] for id_i in self.run_ids], - "lr": [id_i.split("_")[self.model_id_len + 2] for id_i in self.run_ids], - "dropout": [id_i.split("_")[self.model_id_len + 3] for id_i in self.run_ids], - "l1": [id_i.split("_")[self.model_id_len + 4] for id_i in self.run_ids], - "l2": [id_i.split("_")[self.model_id_len + 5] for id_i in self.run_ids], - "cv": [id_i.split("_")[-1] if self.cv else "1" for id_i in self.run_ids], - "model": ["_".join(id_i.split("_")[:self.model_id_len]) for id_i in self.run_ids], - "organ": [id_i.split("_")[2] for id_i in self.run_ids], - "model_type": [id_i.split("_")[3] for id_i in self.run_ids], - "model_gs_id": ["_".join(id_i.split("_")[:(self.model_id_len + 6)]) for id_i in self.run_ids], - "run": self.run_ids, - }.items()) + - list(dict([("train_" + m, [self.evals[x]["train"][m] if m in self.evals[x]["train"].keys() else self.evals[x]["train"]['neg_ll_'+m] for x in self.run_ids]) for m in metrics]).items()) + # TODO: Hacky solution to make sure metrics are called the same in VAE and other models - list(dict([("test_" + m, [self.evals[x]["test"][m] if m in self.evals[x]["test"].keys() else self.evals[x]["test"]['neg_ll_'+m] for x in self.run_ids]) for m in metrics]).items()) + # TODO: Hacky solution to make sure metrics are called the same in VAE and other models - list(dict([("val_" + m, [self.evals[x]["val"][m] if m in self.evals[x]["val"].keys() else self.evals[x]["val"]['neg_ll_'+m] for x in self.run_ids]) for m in metrics]).items()) + # TODO: Hacky solution to make sure metrics are called the same in VAE and other models - list(dict([("all_" + m, [self.evals[x]["all"][m] if m in self.evals[x]["all"].keys() else self.evals[x]["all"]['neg_ll_'+m] for x in self.run_ids]) for m in metrics]).items()) # TODO: Hacky solution to make sure metrics are called the same in VAE and other models + "depth": [id_i.split("_")[self.model_id_len + 0] for id_i in self.run_ids], # noqa: E241 + "width": [id_i.split("_")[self.model_id_len + 1] for id_i in self.run_ids], # noqa: E241 + "lr": [id_i.split("_")[self.model_id_len + 2] for id_i in self.run_ids], # noqa: E241 + "dropout": [id_i.split("_")[self.model_id_len + 3] for id_i in self.run_ids], # noqa: E241 + "l1": [id_i.split("_")[self.model_id_len + 4] for id_i in self.run_ids], # noqa: E241 + "l2": [id_i.split("_")[self.model_id_len + 5] for id_i in self.run_ids], # noqa: E241 + "cv": [id_i.split("_")[-1] if self.cv else "1" for id_i in self.run_ids], # noqa: E241 + "model": ["_".join(id_i.split("_")[:self.model_id_len]) for id_i in self.run_ids], # noqa: E241 + "organism": [id_i.split("_")[1].split("-")[0] for id_i in self.run_ids], # noqa: E241 + "organ": [id_i.split("_")[1].split("-")[1] for id_i in self.run_ids], # noqa: E241 + "model_type": [id_i.split("_")[1].split("-")[2] for id_i in self.run_ids], # noqa: E241 + "version": [id_i.split("_")[1].split("-")[3] for id_i in self.run_ids], # noqa: E241 + "model_gs_id": ["_".join(id_i.split("_")[:(self.model_id_len + 6)]) for id_i in self.run_ids], # noqa: E241 + "run": self.run_ids, # noqa: E241 + }.items()) + + list(dict([("train_" + m, [self.evals[x]["train"][m] if m in self.evals[x]["train"].keys() else + self.evals[x]["train"]['neg_ll_' + m] for x in self.run_ids]) + for m in metrics]).items()) + + list(dict([("test_" + m, [self.evals[x]["test"][m] if m in self.evals[x]["test"].keys() else + self.evals[x]["test"]['neg_ll_' + m] for x in self.run_ids]) + for m in metrics]).items()) + + list(dict([("val_" + m, [self.evals[x]["val"][m] if m in self.evals[x]["val"].keys() + else self.evals[x]["val"]['neg_ll_' + m] for x in self.run_ids]) + for m in metrics]).items()) + + list(dict([("all_" + m, [self.evals[x]["all"][m] if m in self.evals[x]["all"].keys() + else self.evals[x]["all"]['neg_ll_' + m] for x in self.run_ids]) + for m in metrics]).items()) )) - # TODO: Hacky solution to make sure metrics are called the same in VAE and other models rename_dict = { "train_neg_ll_custom_mse": "train_custom_mse", @@ -1227,11 +1263,11 @@ def best_model_embedding( if model_id is not None: if cvs is not None: fns = [ - os.path.join(self.source_path, self.gs_keys[f"{model_id}_cv{x}"], "results", f"{model_id}_cv{x}") + os.path.join(self.gs_dirs[f"{model_id}_cv{x}"], f"{model_id}_cv{x}") for x in cvs ] else: - fns = [os.path.join(self.source_path, self.gs_keys[model_id], "results", model_id)] + fns = [os.path.join(self.gs_dirs[model_id], self.gs_keys[model_id], "results", model_id)] embedding = [np.load(f"{x}_embedding.npy") for x in fns] covar = [pandas.read_csv(f"{x}_covar.csv") for x in fns] return model_id, embedding, covar @@ -1254,10 +1290,13 @@ def plot_best( """ :param rename_levels: + :param partition_select: + :param partition_show: + :param metric_select: + :param metric_show: :param collapse_cv: - :param metric: - :param ylim: - :param xrot: + :param vmin: + :param vmax: :param height_fig: :param width_fig: :return: @@ -1292,7 +1331,7 @@ def plot_best( np.logical_and( sns_tab["model_type"].values == m, sns_tab["organ"].values == o - ), f"{partition_show}_{metric_show}" + ), f"{partition_show}_{metric_show}" ] if data_temp.shape[0] > 0: if self.cv: @@ -1319,7 +1358,7 @@ def plot_best( fig, axs = plt.subplots(1, 1, figsize=(height_fig, width_fig)) with sns.axes_style("dark"): axs = sns.heatmap( - sns_data_heatmap, #mask=mask, + sns_data_heatmap, annot=True, fmt=".2f", ax=axs, xticklabels=True, yticklabels=True, @@ -1331,11 +1370,15 @@ def plot_best( def get_gradients_by_celltype( self, - organ: str, - organism: str, + organ: Union[str, None], + organism: Union[str, None], + genome: Union[str, None, dict], model_type: Union[str, List[str]], metric_select: str, + data_source: str, datapath, + configpath: Union[None, str] = None, + store_format: Union[None, str] = None, test_data=True, partition_select: str = "val", ignore_cache=False, @@ -1355,7 +1398,7 @@ def get_gradients_by_celltype( :param min_cells: :return: (cell types, input features) cumulative gradients """ - model_id, _, _ = self.get_best_model_ids( + model_id, run_id, _ = self.get_best_model_ids( tab=self.summary_tab, metric_select=metric_select, partition_select=partition_select, @@ -1364,10 +1407,7 @@ def get_gradients_by_celltype( "model_type": model_type, } ) - # check cached file - - resultspath = os.path.join(self.source_path, self.gs_keys[model_id], 'results', '') - + resultspath = self.gs_dirs[run_id] if os.path.isfile(os.path.join(resultspath, f'{model_id}_grads.pickle')) and not ignore_cache: print('Load gradients from cached file...') with open(os.path.join(resultspath, f'{model_id}_grads.pickle'), 'rb') as f: @@ -1375,27 +1415,47 @@ def get_gradients_by_celltype( else: print('Compute gradients (1/3): load data') # load data - tz = TargetZoos(path=datapath) - if organism == "human": - dataset = tz.data_human[organ] - elif organism == "mouse": - dataset = tz.data_mouse[organ] + if data_source == "store": + if genome is not None: + warnings.warn("Using data_source='store', the provided genome will be ignored") + store = load_store(cache_path=datapath, store_format=store_format) + store.load_config(configpath) + store.subset(attr_key="id", values=[k for k in store.indices.keys() + if 'cell_ontology_id' in store.adata_by_key[k].obs.columns]) + store.subset(attr_key="cellontology_class", excluded_values=[ + store._adata_ids_sfaira.unknown_celltype_identifier, + store._adata_ids_sfaira.not_a_cell_celltype_identifier, + ]) + adatas = store.adata_sliced + # Load into memory: + for k in adatas.keys(): + adatas[k] = adatas[k].to_memory() + adata = adatas[list(adatas.keys())[0]] + if len(adatas.keys()) > 0: + adata = adata.concatenate(*[adatas[k] for k in list(adatas.keys())[1:]]) + elif data_source == "universe": + if configpath is not None or store_format is not None: + warnings.warn("Using data_source='universe', the provided configpath and store_format will be ignored") + u = Universe(data_path=datapath) + if organism is not None: + u.subset("organism", organism) + if organ is not None: + u.subset("organ", organ) + u.load(allow_caching=False) + u.streamline_features(match_to_reference=genome) + u.streamline_metadata() + adata = u.adata else: - raise (ValueError(f"Supplied organism {organism} not recognised. Should be one of ('mouse', 'human')")) - dataset.load_all(annotated_only=True) + raise ValueError("data_source has to be 'universe' or 'store'") print('Compute gradients (2/3): load embedding') - # load embedding - adata = dataset.adata - topology = model_id + zoo = ModelZoo() + zoo.model_id = "_".join(model_id.split("_")[:3]) embedding = EstimatorKerasEmbedding( data=adata, model_dir="", - model_id="", - species=organism, - organ=organ, - model_type=model_type, - model_topology=model_id.split('_')[5] + model_id=model_id, + model_topology=zoo.topology_container ) embedding.init_model() embedding.model.training_model.load_weights(os.path.join(resultspath, f'{model_id}_weights.h5')) @@ -1423,10 +1483,14 @@ def get_gradients_by_celltype( def plot_gradient_distr( self, organ: str, - organism: str, model_type: Union[str, List[str]], metric_select: str, - datapath, + datapath: str, + data_source: str, + organism: Union[str, None] = None, + genome: Union[str, None] = None, + configpath: Union[None, str] = None, + store_format: Union[None, str] = None, test_data=True, partition_select: str = "val", normalize=True, @@ -1461,7 +1525,11 @@ def plot_gradient_distr( organism=organism, model_type=modelt, metric_select=metric_select, + genome=genome, + data_source=data_source, datapath=datapath, + configpath=configpath, + store_format=store_format, test_data=test_data, partition_select=partition_select, ignore_cache=ignore_cache, @@ -1470,11 +1538,9 @@ def plot_gradient_distr( if normalize: avg_grads[modelt] = np.abs(avg_grads[modelt]) - avg_grads[modelt] = (avg_grads[modelt] - np.min(avg_grads[modelt], axis=1, keepdims=True)) / \ - np.maximum( - np.max(avg_grads[modelt], axis=1, keepdims=True) - np.min(avg_grads[modelt], - axis=1, - keepdims=True), 1e-8) + avg_grads[modelt] = (avg_grads[modelt] - np.min(avg_grads[modelt], axis=1, keepdims=True)) /\ + np.maximum(np.max(avg_grads[modelt], axis=1, keepdims=True) - + np.min(avg_grads[modelt], axis=1, keepdims=True), 1e-8) fig, axs = plt.subplots(1, 1, figsize=(width_fig, height_fig)) @@ -1519,10 +1585,14 @@ def plot_gradient_distr( def plot_gradient_cor( self, organ: str, - organism: str, model_type: Union[str, List[str]], metric_select: str, - datapath, + datapath: str, + data_source: str, + organism: Union[str, None] = None, + genome: Union[str, None] = None, + configpath: Union[None, str] = None, + store_format: Union[None, str] = None, test_data=True, partition_select: str = "val", height_fig=7, @@ -1538,10 +1608,11 @@ def plot_gradient_cor( Plot correlation heatmap of gradient vectors accumulated on input features between cell types or models. :param organ: - :param organism: :param model_type: :param metric_select: :param datapath: + :param configpath: + :param store_format: :param test_data: :param partition_select: :param height_fig: @@ -1574,7 +1645,11 @@ def plot_gradient_cor( organism=organism, model_type=modelt, metric_select=metric_select, + genome=genome, + data_source=data_source, datapath=datapath, + configpath=configpath, + store_format=store_format, test_data=test_data, partition_select=partition_select, ignore_cache=ignore_cache, @@ -1600,10 +1675,10 @@ def plot_gradient_cor( plt.show() def plot_npc( - self, - organ, - topology_version, - cvs=None + self, + organ, + topology_version, + cvs=None ): """ Plots the explained variance ration that accumulates explained variation of the latent space’s ordered @@ -1613,10 +1688,10 @@ def plot_npc( """ import matplotlib.pyplot as plt if self.summary_tab is None: - self.create_summary_tab() + self.create_summary_tab() models = np.unique(self.summary_tab["model_type"]).tolist() self.summary_tab["topology"] = [x.split("_")[5] for x in self.summary_tab["model_gs_id"].values] - + with plt.style.context("seaborn-whitegrid"): plt.figure(figsize=(12, 6)) for model in models: @@ -1635,7 +1710,7 @@ def plot_npc( eig_sum = sum(eig_vals) var_exp = [(i / eig_sum) for i in sorted(eig_vals, reverse=True)] cum_var_exp = np.cumsum([0] + var_exp) - plt.step(range(0, eig_vals.shape[0]+1), cum_var_exp, where="post", linewidth=3, + plt.step(range(0, eig_vals.shape[0] + 1), cum_var_exp, where="post", linewidth=3, label="%s cumulative explained variance (95%%: %s / 99%%: %s)" % (model, np.sum(cum_var_exp < .95), np.sum(cum_var_exp < .99))) plt.yticks([0.0, .25, .50, .75, .95, .99]) plt.ylabel("Explained variance ratio", fontsize=16) @@ -1645,10 +1720,10 @@ def plot_npc( plt.show() def plot_active_latent_units( - self, - organ, - topology_version, - cvs=None + self, + organ, + topology_version, + cvs=None ): """ Plots latent unit activity measured by empirical variance of the expected latent space. @@ -1657,14 +1732,15 @@ def plot_active_latent_units( the model will use z, and not z_mean. """ - colors = ['red', 'blue', 'green', 'cyan', 'magenta', 'yellow', 'darkgreen', 'lime', 'navy', 'royalblue', 'pink', 'peru'] + colors = ['red', 'blue', 'green', 'cyan', 'magenta', 'yellow', 'darkgreen', 'lime', 'navy', 'royalblue', + 'pink', 'peru'] def active_latent_units_mask(z): var_x = np.diagonal(np.cov(z.T)) min_var_x = 0.01 active_units_mask = var_x > min_var_x return active_units_mask - + import matplotlib.pyplot as plt if self.summary_tab is None: self.create_summary_tab() @@ -1676,11 +1752,11 @@ def active_latent_units_mask(z): plt.axhline(np.log(0.01), color="k", linestyle='dashed', linewidth=2, label="active unit threshold") for i, model in enumerate(models): model_id, embedding, covar = self.best_model_embedding( - subset={"model_type": model, "organ": organ, "topology": topology_version}, - partition="val", - metric="loss", - cvs=cvs, - ) + subset={"model_type": model, "organ": organ, "topology": topology_version}, + partition="val", + metric="loss", + cvs=cvs, + ) if len(embedding[0].shape) == 3: z = embedding[0][0] # in case of three-dimensional VAE embedding (z, z_mean, z_var), use z else: @@ -1690,7 +1766,7 @@ def active_latent_units_mask(z): log_var = np.log(var) active_units = np.log(var[active_latent_units_mask(z)]) - plt.plot(range(1,log_var.shape[0]+1), log_var, color=colors[i], alpha=1.0, linewidth=3, + plt.plot(range(1, log_var.shape[0] + 1), log_var, color=colors[i], alpha=1.0, linewidth=3, label="%s active units: %i" % (model, len(active_units))) # to plot vertical lines log_var_cut = var.copy() @@ -1698,13 +1774,13 @@ def active_latent_units_mask(z): log_var_cut = np.log(log_var_cut) num_active = np.argmax(log_var_cut) if num_active > 0: - plt.vlines(num_active, ymin = -.15, ymax = 0.15, color=colors[i], linestyle='solid', linewidth=3) + plt.vlines(num_active, ymin=-.15, ymax=0.15, color=colors[i], linestyle='solid', linewidth=3) if model == "vaevamp": - z1, z2 = np.split(np.log(np.diagonal(np.cov(z.T))),2) - plt.plot(range(1, int(latent_dim/2)+1), np.sort(z2)[::-1], color=colors[i], alpha=1.0, - label=r"%s $z_2$ active units: %i" % (model, len(z2[z2>np.log(0.01)])), linestyle='dashed', - linewidth=3) - plt.plot(range(1, int(latent_dim/2)+1), np.sort(z1)[::-1], color=colors[i], alpha=1.0, + z1, z2 = np.split(np.log(np.diagonal(np.cov(z.T))), 2) + plt.plot(range(1, int(latent_dim / 2) + 1), np.sort(z2)[::-1], color=colors[i], alpha=1.0, + label=r"%s $z_2$ active units: %i" % (model, len(z2[z2 > np.log(0.01)])), + linestyle='dashed', linewidth=3) + plt.plot(range(1, int(latent_dim / 2) + 1), np.sort(z1)[::-1], color=colors[i], alpha=1.0, label=r"%s $z_1$ active units: %i" % (model, len(z1[z1 > np.log(0.01)])), linestyle='dotted', linewidth=3) plt.xlabel(r'Latent unit $i$', fontsize=16) diff --git a/sfaira/train/train_model.py b/sfaira/train/train_model.py index c6125d400..4d87b28ab 100644 --- a/sfaira/train/train_model.py +++ b/sfaira/train/train_model.py @@ -5,214 +5,69 @@ import pickle from typing import Union -from .external import DatasetGroupBase, DatasetSuperGroup -from .external import EstimatorKeras, EstimatorKerasCelltype, EstimatorKerasEmbedding -from .external import ModelZoo, ModelZooEmbedding, ModelZooCelltype -from .external import mouse, human -from .external import SPECIES_DICT +from sfaira.consts import AdataIdsSfaira +from sfaira.data import DistributedStoreBase, Universe +from sfaira.estimators import EstimatorKeras, EstimatorKerasCelltype, EstimatorKerasEmbedding +from sfaira.interface import ModelZoo -class TargetZoos: - """ - Class that provides access to all available dataset groups in sfaira. +class TrainModel: - Parameters - ---------- - path : str - The name of the animal - meta_path : str - The sound the animal makes - """ + data: Union[anndata.AnnData, DistributedStoreBase] + estimator: Union[EstimatorKeras, None] - def __init__(self, path: Union[str, None], meta_path: Union[str, None] = None): - if path is not None: - self.data_mouse = { - "bladder": mouse.DatasetGroupBladder(path=path, meta_path=meta_path), - "brain": mouse.DatasetGroupBrain(path=path, meta_path=meta_path), - "diaphragm": mouse.DatasetGroupDiaphragm(path=path, meta_path=meta_path), - "adipose": mouse.DatasetGroupAdipose(path=path, meta_path=meta_path), - "heart": mouse.DatasetGroupHeart(path=path, meta_path=meta_path), - "kidney": mouse.DatasetGroupKidney(path=path, meta_path=meta_path), - "colon": mouse.DatasetGroupColon(path=path, meta_path=meta_path), - "muscle": mouse.DatasetGroupMuscle(path=path, meta_path=meta_path), - "liver": mouse.DatasetGroupLiver(path=path, meta_path=meta_path), - "lung": mouse.DatasetGroupLung(path=path, meta_path=meta_path), - "mammarygland": mouse.DatasetGroupMammaryGland(path=path, meta_path=meta_path), - "bone": mouse.DatasetGroupBone(path=path, meta_path=meta_path), - "femalegonad": mouse.DatasetGroupFemalegonad(path=path, meta_path=meta_path), - "pancreas": mouse.DatasetGroupPancreas(path=path, meta_path=meta_path), - "blood": mouse.DatasetGroupBlood(path=path, meta_path=meta_path), - "placenta": mouse.DatasetGroupPlacenta(path=path, meta_path=meta_path), - "prostate": mouse.DatasetGroupProstate(path=path, meta_path=meta_path), - "rib": mouse.DatasetGroupRib(path=path, meta_path=meta_path), - "skin": mouse.DatasetGroupSkin(path=path, meta_path=meta_path), - "ileum": mouse.DatasetGroupIleum(path=path, meta_path=meta_path), - "spleen": mouse.DatasetGroupSpleen(path=path, meta_path=meta_path), - "stomach": mouse.DatasetGroupStomach(path=path, meta_path=meta_path), - "malegonad": mouse.DatasetGroupMalegonad(path=path, meta_path=meta_path), - "thymus": mouse.DatasetGroupThymus(path=path, meta_path=meta_path), - "tongue": mouse.DatasetGroupTongue(path=path, meta_path=meta_path), - "trachea": mouse.DatasetGroupTrachea(path=path, meta_path=meta_path), - "uterus": mouse.DatasetGroupUterus(path=path) - } - self.data_human = { - 'adipose': human.DatasetGroupAdipose(path=path, meta_path=meta_path), - 'adrenalgland': human.DatasetGroupAdrenalgland(path=path, meta_path=meta_path), - 'mixed': human.DatasetGroupMixed(path=path, meta_path=meta_path), - 'artery': human.DatasetGroupArtery(path=path, meta_path=meta_path), - 'bladder': human.DatasetGroupBladder(path=path, meta_path=meta_path), - 'blood': human.DatasetGroupBlood(path=path, meta_path=meta_path), - 'bone': human.DatasetGroupBone(path=path, meta_path=meta_path), - 'brain': human.DatasetGroupBrain(path=path, meta_path=meta_path), - 'calvaria': human.DatasetGroupCalvaria(path=path, meta_path=meta_path), - 'cervix': human.DatasetGroupCervix(path=path, meta_path=meta_path), - 'chorionicvillus': human.DatasetGroupChorionicvillus(path=path, meta_path=meta_path), - 'colon': human.DatasetGroupColon(path=path, meta_path=meta_path), - 'duodenum': human.DatasetGroupDuodenum(path=path, meta_path=meta_path), - 'epityphlon': human.DatasetGroupEpityphlon(path=path, meta_path=meta_path), - 'esophagus': human.DatasetGroupEsophagus(path=path, meta_path=meta_path), - 'eye': human.DatasetGroupEye(path=path, meta_path=meta_path), - 'fallopiantube': human.DatasetGroupFallopiantube(path=path, meta_path=meta_path), - 'femalegonad': human.DatasetGroupFemalegonad(path=path, meta_path=meta_path), - 'gallbladder': human.DatasetGroupGallbladder(path=path, meta_path=meta_path), - 'heart': human.DatasetGroupHeart(path=path, meta_path=meta_path), - 'hesc': human.DatasetGroupHesc(path=path, meta_path=meta_path), - 'ileum': human.DatasetGroupIleum(path=path, meta_path=meta_path), - 'jejunum': human.DatasetGroupJejunum(path=path, meta_path=meta_path), - 'kidney': human.DatasetGroupKidney(path=path, meta_path=meta_path), - 'liver': human.DatasetGroupLiver(path=path, meta_path=meta_path), - 'lung': human.DatasetGroupLung(path=path, meta_path=meta_path), - 'malegonad': human.DatasetGroupMalegonad(path=path, meta_path=meta_path), - 'muscle': human.DatasetGroupMuscle(path=path, meta_path=meta_path), - 'omentum': human.DatasetGroupOmentum(path=path, meta_path=meta_path), - 'pancreas': human.DatasetGroupPancreas(path=path, meta_path=meta_path), - 'placenta': human.DatasetGroupPlacenta(path=path, meta_path=meta_path), - 'pleura': human.DatasetGroupPleura(path=path, meta_path=meta_path), - 'prostate': human.DatasetGroupProstate(path=path, meta_path=meta_path), - 'rectum': human.DatasetGroupRectum(path=path, meta_path=meta_path), - 'rib': human.DatasetGroupRib(path=path, meta_path=meta_path), - 'skin': human.DatasetGroupSkin(path=path, meta_path=meta_path), - 'spinalcord': human.DatasetGroupSpinalcord(path=path, meta_path=meta_path), - 'spleen': human.DatasetGroupSpleen(path=path, meta_path=meta_path), - 'stomach': human.DatasetGroupStomach(path=path, meta_path=meta_path), - 'thymus': human.DatasetGroupThymus(path=path, meta_path=meta_path), - 'thyroid': human.DatasetGroupThyroid(path=path, meta_path=meta_path), - 'trachea': human.DatasetGroupTrachea(path=path, meta_path=meta_path), - 'ureter': human.DatasetGroupUreter(path=path, meta_path=meta_path), - 'uterus': human.DatasetGroupUterus(path=path, meta_path=meta_path), - } - - else: - self.data_human = None - self.data_mouse = None - - def write_celltypes_tocsv_mouse(self, fn: str): - for x in self.data_mouse.keys(): - ds = self.data_mouse[x] - self._write_celltypes_tocsv(fn, x, ds) - - def write_celltypes_tocsv_human(self, fn: str): - for x in self.data_human.keys(): - ds = self.data_human[x] - self._write_celltypes_tocsv(fn, x, ds) - - def _write_celltypes_tocsv(self, fn: str, x: str, ds: DatasetGroupBase): - ds.load_all(annotated_only=True, remove_gene_version=False, match_to_reference=None) - if len(ds.adata_ls) > 0: - obs = ds.obs_concat(keys=["cell_ontology_class", "cell_ontology_id"]) - obs.index = range(0, obs.shape[0]) - strids = [] - listids = [] - for i in obs.index: - if type(obs.loc[i]['cell_ontology_class']) != list: - strids.append(i) - else: - listids.append(i) - remaining = [] - for _, l in obs.iloc[listids].iterrows(): - if type(l['cell_ontology_id']) == list: - if not len(l['cell_ontology_class']) == len(l['cell_ontology_id']): - raise ValueError( - "Number of cell type labels and cell type ontologies for this cell do not match") - for i in range(len(l['cell_ontology_class'])): - remaining.append({ - "cell_ontology_class": l['cell_ontology_class'][i], - "cell_ontology_id": l['cell_ontology_id'][i] - }) - else: - for i in range(len(l['cell_ontology_class'])): - remaining.append({ - "cell_ontology_class": l['cell_ontology_class'][i], - "cell_ontology_id": None - }) - obs = obs.loc[strids] - for i in remaining: - obs = obs.append(i, ignore_index=True) - obs = obs.drop_duplicates() - obs = obs.sort_values(by="cell_ontology_class") - obs.index = range(0, obs.shape[0]) - obs.to_csv(fn + x + ".csv") - - -class TrainModel(TargetZoos): - - estimator: Union[None, EstimatorKeras] - zoo: Union[None, ModelZoo] - model_dir: str - data: Union[DatasetGroupBase, DatasetSuperGroup, anndata.AnnData, str, None] - - def __init__(self, data_path: str, meta_path: str): + def __init__( + self, + data: Union[str, anndata.AnnData, Universe, DistributedStoreBase], + ): # Check if handling backed anndata or base path to directory of raw files: - if data_path.split(".")[-1] == "h5ad": - self.data = anndata.read(data_path, backed='r') + if isinstance(data, str) and data.split(".")[-1] == "h5ad": + self.data = anndata.read(data, backed='r') if len(self.data.obs.columns) == 0: - fn_backed_obs = ".".join(data_path.split(".")[:-1]) + "_obs.csv" + fn_backed_obs = ".".join(data.split(".")[:-1]) + "_obs.csv" self.data.obs = pd.read_csv(fn_backed_obs) + elif isinstance(data, anndata.AnnData): + self.data = data + elif isinstance(data, Universe): + self.data = data.adata + elif isinstance(data, DistributedStoreBase): + self.data = data else: - super(TrainModel, self).__init__(path=data_path, meta_path=meta_path) - self.data = None + raise ValueError(f"did not recongize data of type {type(data)}") + self.zoo = ModelZoo() + self._adata_ids = AdataIdsSfaira() - @abc.abstractmethod - def init_estim(self): - pass - - @property - def adata(self): + def load_into_memory(self): """ - Get adata object depending on whether backed or a property of a container class. - + Loads backed objects from DistributedStoreBase into single adata object in memory in .data slot. :return: """ - if self.data is None: - raise ValueError("self.data not set yet") - elif isinstance(self.data, anndata.AnnData): - return self.data - elif isinstance(self.data, DatasetGroupBase) or isinstance(self.data, DatasetSuperGroup): - return self.data.adata - else: - raise ValueError("self.data type not recognized: %s " % type(self.data)) + if isinstance(self.data, DistributedStoreBase): + adata = None + for k, v in self.data.indices.items(): + x = self.data.adata_by_key[k][v, :].to_memory() + x.obs["dataset_id"] = k + if adata is None: + adata = x + else: + adata = adata.concatenate(x) + self.data = adata - def mouse_target(self, organ: str): - self.set_data(data_group=self.data_mouse[organ]) + @property + @abc.abstractmethod + def topology_dict(self) -> dict: + pass - def human_target(self, organ: str): - self.set_data(data_group=self.data_human[organ]) + @abc.abstractmethod + def init_estim(self): + pass - def set_data( - self, - data_group: Union[DatasetGroupBase, DatasetSuperGroup] - ): - """ - Set input data group. - :return: - """ - self.data = data_group + @abc.abstractmethod + def save_eval(self, fn: str, **kwargs): + pass @abc.abstractmethod - def _save_specific( - self, - fn: str - ): + def _save_specific(self, fn: str, **kwargs): pass def save( @@ -237,40 +92,50 @@ def save( if specific: self._save_specific(fn=fn) + def n_counts(self, idx): + if isinstance(self.estimator.data, anndata.AnnData): + return np.asarray( + self.estimator.data.X[np.sort(idx), :].sum(axis=1)[np.argsort(idx)] + ).flatten() + elif isinstance(self.estimator.data, DistributedStoreBase): + return self.estimator.data.n_counts(idx=idx) + else: + assert False + class TrainModelEmbedding(TrainModel): + estimator: EstimatorKerasEmbedding + def __init__( self, - data_path: str, - meta_path: str, - model_path: str + model_path: str, + data: Union[str, anndata.AnnData, Universe, DistributedStoreBase], ): - super(TrainModelEmbedding, self).__init__(data_path=data_path, meta_path=meta_path) - self.zoo = ModelZooEmbedding(model_lookuptable=None) + super(TrainModelEmbedding, self).__init__(data=data) self.estimator = None self.model_dir = model_path + @property + def topology_dict(self) -> dict: + topology_dict = self.zoo.topology_container.topology + return topology_dict + def init_estim( self, override_hyperpar: Union[dict, None] = None ): assert self.zoo.model_id is not None, "choose model in zoo first" self.estimator = EstimatorKerasEmbedding( - data=self.adata, + data=self.data, model_dir=self.model_dir, model_id=self.zoo.model_id, - species=self.zoo.species, - organ=self.zoo.organ, - model_type=self.zoo.model_type, - model_topology=self.zoo.model_topology + model_topology=self.zoo.topology_container ) self.estimator.init_model(override_hyperpar=override_hyperpar) + print(f"TRAINER: initialised model with {self.estimator.topology_container.n_var} features.") - def save_eval( - self, - fn: str - ): + def save_eval(self, fn: str, **kwargs): evaluation_train = self.estimator.evaluate_any(idx=self.estimator.idx_train) evaluation_val = self.estimator.evaluate_any(idx=self.estimator.idx_eval) evaluation_test = self.estimator.evaluate_any(idx=self.estimator.idx_test) @@ -284,10 +149,7 @@ def save_eval( with open(fn + '_evaluation.pickle', 'wb') as f: pickle.dump(obj=evaluation, file=f) - def _save_specific( - self, - fn: str - ): + def _save_specific(self, fn: str, **kwargs): """ Save embedding prediction: @@ -295,28 +157,36 @@ def _save_specific( :return: """ embedding = self.estimator.predict_embedding() - df_summary = self.estimator.obs_test[ - ["dataset", "cell_ontology_class", "state_exact", "lab", "year", "subtissue", "protocol"] - ] - df_summary["ncounts"] = np.asarray( - self.estimator.data.X[np.sort(self.estimator.idx_test), :].sum(axis=1)[np.argsort(self.estimator.idx_test)] - ).flatten() + df_summary = self.estimator.obs_test + df_summary = df_summary[[k for k in df_summary.columns if k in self._adata_ids.obs_keys]] + df_summary["ncounts"] = self.n_counts(idx=self.estimator.idx_test) np.save(file=fn + "_embedding", arr=embedding) df_summary.to_csv(fn + "_covar.csv") + with open(fn + "_topology.pickle", "wb") as f: + pickle.dump(obj=self.topology_dict, file=f) class TrainModelCelltype(TrainModel): + estimator: EstimatorKerasCelltype + def __init__( self, - data_path: str, - meta_path: str, - model_path: str + model_path: str, + data: Union[str, anndata.AnnData, Universe, DistributedStoreBase], + fn_target_universe: str, ): - super(TrainModelCelltype, self).__init__(data_path=data_path, meta_path=meta_path) - self.zoo = ModelZooCelltype(model_lookuptable=None) + super(TrainModelCelltype, self).__init__(data=data) self.estimator = None self.model_dir = model_path + self.fn_target_universe = fn_target_universe + + @property + def topology_dict(self) -> dict: + topology_dict = self.zoo.topology_container.topology + # Load target universe leaves into topology dict: + topology_dict["output"]["targets"] = self.estimator.celltype_universe.onto_cl.leaves + return topology_dict def init_estim( self, @@ -324,20 +194,17 @@ def init_estim( ): assert self.zoo.model_id is not None, "choose model in zoo first" self.estimator = EstimatorKerasCelltype( - data=self.adata, + data=self.data, model_dir=self.model_dir, model_id=self.zoo.model_id, - species=self.zoo.species, - organ=self.zoo.organ, - model_type=self.zoo.model_type, - model_topology=self.zoo.model_topology + model_topology=self.zoo.topology_container ) + self.estimator.celltype_universe.load_target_universe(self.fn_target_universe) self.estimator.init_model(override_hyperpar=override_hyperpar) + print(f"TRAINER: initialised model with {self.estimator.topology_container.n_var} features and " + f"{self.estimator.ntypes} labels: \n{self.estimator.ontology_names}.") - def save_eval( - self, - fn: str - ): + def save_eval(self, fn: str, eval_weighted: bool = False, **kwargs): evaluation = { 'train': self.estimator.evaluate_any(idx=self.estimator.idx_train, weighted=False), 'val': self.estimator.evaluate_any(idx=self.estimator.idx_eval, weighted=False), @@ -346,51 +213,39 @@ def save_eval( } with open(fn + '_evaluation.pickle', 'wb') as f: pickle.dump(obj=evaluation, file=f) - evaluation_weighted = { - 'train': self.estimator.evaluate_any(idx=self.estimator.idx_train, weighted=True), - 'val': self.estimator.evaluate_any(idx=self.estimator.idx_eval, weighted=True), - 'test': self.estimator.evaluate_any(idx=self.estimator.idx_test, weighted=True), - 'all': self.estimator.evaluate_any(idx=None, weighted=True) - } - with open(fn + '_evaluation_weighted.pickle', 'wb') as f: - pickle.dump(obj=evaluation_weighted, file=f) + if eval_weighted: + evaluation_weighted = { + 'train': self.estimator.evaluate_any(idx=self.estimator.idx_train, weighted=True), + 'val': self.estimator.evaluate_any(idx=self.estimator.idx_eval, weighted=True), + 'test': self.estimator.evaluate_any(idx=self.estimator.idx_test, weighted=True), + 'all': self.estimator.evaluate_any(idx=None, weighted=True) + } + with open(fn + '_evaluation_weighted.pickle', 'wb') as f: + pickle.dump(obj=evaluation_weighted, file=f) - def _save_specific( - self, - fn: str - ): + def _save_specific(self, fn: str, **kwargs): """ Save true and predicted labels on test set: :param fn: :return: """ + obs = self.estimator.data.obs ytrue = self.estimator.ytrue() yhat = self.estimator.predict() - df_summary = self.estimator.obs_test[ - ["dataset", "cell_ontology_class", "state_exact", "lab", "year", "subtissue", "protocol"] - ] - df_summary["ncounts"] = np.asarray(self.estimator.data.X[self.estimator.idx_test, :].sum(axis=1)).flatten() + df_summary = self.estimator.obs_test + df_summary = df_summary[[k for k in df_summary.columns if k in self._adata_ids.obs_keys]] + df_summary["ncounts"] = self.n_counts(idx=self.estimator.idx_test) np.save(file=fn + "_ytrue", arr=ytrue) np.save(file=fn + "_yhat", arr=yhat) df_summary.to_csv(fn + "_covar.csv") with open(fn + '_ontology_names.pickle', 'wb') as f: - pickle.dump(obj=self.estimator.ids, file=f) + pickle.dump(obj=self.estimator.ontology_names, file=f) + with open(fn + '_ontology_ids.pickle', 'wb') as f: + pickle.dump(obj=self.estimator.ontology_ids, file=f) + with open(fn + "_topology.pickle", "wb") as f: + pickle.dump(obj=self.topology_dict, file=f) - cell_counts = self.data.obs_concat(keys=['cell_ontology_class'])['cell_ontology_class'].value_counts().to_dict() - cell_counts_leaf = cell_counts.copy() - celltype_versions = SPECIES_DICT.copy() - celltype_versions[self.zoo.species][self.zoo.organ].set_version(self.zoo.model_version.split(".")[0]) - leafnodes = celltype_versions[self.zoo.species][self.zoo.organ].ids - ontology = celltype_versions[self.zoo.species][self.zoo.organ].ontology[self.zoo.model_version.split(".")[0]]["names"] - for k in cell_counts.keys(): - if k not in leafnodes: - if k not in ontology.keys(): - raise(ValueError(f"Celltype '{k}' not found in celltype universe")) - for leaf in ontology[k]: - if leaf not in cell_counts_leaf.keys(): - cell_counts_leaf[leaf] = 0 - cell_counts_leaf[leaf] += 1/len(ontology[k]) - del cell_counts_leaf[k] + cell_counts = obs['cell_ontology_class'].value_counts().to_dict() with open(fn + '_celltypes_valuecounts_wholedata.pickle', 'wb') as f: - pickle.dump(obj=[cell_counts, cell_counts_leaf], file=f) + pickle.dump(obj=[cell_counts], file=f) diff --git a/sfaira/unit_tests/__init__.py b/sfaira/unit_tests/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/sfaira/unit_tests/conftest.py b/sfaira/unit_tests/conftest.py new file mode 100644 index 000000000..795385d37 --- /dev/null +++ b/sfaira/unit_tests/conftest.py @@ -0,0 +1,22 @@ +from pytest import fixture + + +def pytest_addoption(parser): + parser.addoption( + "--doi_sfaira_repr", + action="store" + ) + parser.addoption( + "--test_data", + action="store" + ) + + +@fixture() +def doi_sfaira_repr(request): + return request.config.getoption("--doi_sfaira_repr") + + +@fixture() +def test_data(request): + return request.config.getoption("--test_data") diff --git a/sfaira/unit_tests/data/__init__.py b/sfaira/unit_tests/data/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/sfaira/unit_tests/data/test_clean_celltype_maps.py b/sfaira/unit_tests/data/test_clean_celltype_maps.py new file mode 100644 index 000000000..4ce259e08 --- /dev/null +++ b/sfaira/unit_tests/data/test_clean_celltype_maps.py @@ -0,0 +1,13 @@ +from sfaira.data.dataloaders.loaders import DatasetSuperGroupLoaders + + +def test_map_celltype_to_ontology(): + # Paths do not matter here as data sets are not loaded for these operations. + dsgl = DatasetSuperGroupLoaders( + data_path="~", + meta_path="~", + cache_path="~" + ) + for x in dsgl.dataset_groups: + print(x.ids) + x.clean_ontology_class_map() diff --git a/sfaira/unit_tests/data/test_data_utils.py b/sfaira/unit_tests/data/test_data_utils.py new file mode 100644 index 000000000..5e766fa01 --- /dev/null +++ b/sfaira/unit_tests/data/test_data_utils.py @@ -0,0 +1,90 @@ +import anndata +import numpy as np +import pandas as pd +import pytest +import scipy.sparse +from typing import Union + +from sfaira.data.utils import map_celltype_to_ontology, collapse_matrix + + +@pytest.mark.parametrize("trial_cell_type_labels", + ["type B pancreatic cell", "beta", ["type B pancreatic cell", "beta"]]) +@pytest.mark.parametrize("choices_for_perfect_match", [True, False]) +@pytest.mark.parametrize("anatomical_constraint", [None, "pancreas"]) +def test_map_celltype_to_ontology( + trial_cell_type_labels: str, + choices_for_perfect_match: bool, + anatomical_constraint: Union[str, None] +): + trial_cell_type_labels = [trial_cell_type_labels] if isinstance(trial_cell_type_labels, str) \ + else trial_cell_type_labels + perfectly_matched_query = ["type B pancreatic cell" == x for x in trial_cell_type_labels] + matches = map_celltype_to_ontology( + queries=trial_cell_type_labels, + organism="human", + include_synonyms=True, + anatomical_constraint=anatomical_constraint, + choices_for_perfect_match=choices_for_perfect_match, + always_return_dict=False, + ) + for x, y in zip(trial_cell_type_labels, perfectly_matched_query): + if isinstance(matches, dict): # dictionary over queries with list of matches as value each + if y and not choices_for_perfect_match: + assert isinstance(matches[x], str), matches + assert matches[x] == "type B pancreatic cell" + else: + assert isinstance(matches[x], list), matches + assert "type B pancreatic cell" in matches[x] + else: # matches for single query + if y and not choices_for_perfect_match: + assert isinstance(matches, str), matches + assert matches == "type B pancreatic cell" + else: + assert isinstance(matches, list), matches + assert "type B pancreatic cell" in matches + + +@pytest.mark.parametrize("data", ["scipy.sparse.lil_matrix", "scipy.sparse.csr_matrix", "numpy"]) +@pytest.mark.parametrize("duplications", [False, True]) +def test_collapse_matrix( + data: str, + duplications: bool, +): + """ + Tests collapse_matrix. + + Tests if: + + - matrix type is maintained + - row sums are maintained + - feature dimension is correct + + :param data: Data format. + :param duplications: Whether feature names are duplicated. + :return: + """ + x = np.asarray(np.random.randint(0, 100, size=(10, 10)), dtype="float32") + if data == "scipy.sparse.lil_matrix": + x = scipy.sparse.lil_matrix(x) + elif data == "scipy.sparse.csr_matrix": + x = scipy.sparse.csr_matrix(x) + elif data == "numpy": + pass + else: + assert False + if duplications: + # Create triplicate and duplicate gene names: + index = ["g" + str(i) for i in range(2)] + ["g" + str(i) for i in range(3)] + \ + ["g" + str(i) for i in range(x.shape[1] - 3 - 2)] + else: + index = ["g" + str(i) for i in range(x.shape[1])] + adata = anndata.AnnData(x, var=pd.DataFrame({"var_column": index})) + adata2 = collapse_matrix(adata=adata, var_column="var_column") + assert adata.X.shape[0] == adata2.X.shape[0], "observation dimension mismatch" + assert adata.X.dtype == adata2.X.dtype, "type mismatch" + assert adata2.X.shape[1] == len(np.unique(adata.var["var_column"])), "feature dimension mismatch" + assert np.all(np.asarray(adata.X.sum()).flatten() == np.asarray(adata2.X.sum().flatten())), \ + "total count mismatch" + assert np.all(np.asarray(adata.X.sum(axis=1)).flatten() == np.asarray(adata2.X.sum(axis=1).flatten())), \ + "observation-wise count mismatch" diff --git a/sfaira/unit_tests/data/test_dataset.py b/sfaira/unit_tests/data/test_dataset.py new file mode 100644 index 000000000..eff963998 --- /dev/null +++ b/sfaira/unit_tests/data/test_dataset.py @@ -0,0 +1,140 @@ +import numpy as np +import os +import pytest + +from sfaira.data import DatasetSuperGroup +from sfaira.data import Universe + +MOUSE_GENOME_ANNOTATION = "Mus_musculus.GRCm38.102" + +dir_data = os.path.join(os.path.dirname(os.path.dirname(__file__)), "test_data") +dir_meta = os.path.join(os.path.dirname(os.path.dirname(__file__)), "test_data/meta") + + +def test_dsgs_instantiate(): + _ = Universe(data_path=dir_data, meta_path=dir_meta, cache_path=dir_data) + + +@pytest.mark.parametrize("organ", ["intestine", "ileum"]) +def test_dsgs_subset_dataset_wise(organ: str): + """ + Tests if subsetting results only in datasets of the desired characteristics. + """ + ds = Universe(data_path=dir_data, meta_path=dir_meta, cache_path=dir_data) + ds.subset(key="organism", values=["mouse"]) + ds.subset(key="organ", values=[organ]) + for x in ds.dataset_groups: + for k, v in x.datasets.items(): + assert v.organism == "mouse", v.organism + assert v.ontology_container_sfaira.organ.is_a(query=v.organ, reference=organ), v.organ + + +def test_dsgs_config_write_load(): + fn = dir_data + "/config.csv" + ds = Universe(data_path=dir_data, meta_path=dir_meta, cache_path=dir_data) + ds.subset(key="organism", values=["mouse"]) + ds.subset(key="organ", values=["lung"]) + ds.write_config(fn=fn) + ds2 = Universe(data_path=dir_data, meta_path=dir_meta, cache_path=dir_data) + ds2.load_config(fn=fn) + assert np.all(ds.ids == ds2.ids) + + +""" +TODO tests from here on down require cached data for mouse lung +""" + + +def test_dsgs_adata(): + ds = Universe(data_path=dir_data, meta_path=dir_meta, cache_path=dir_data) + ds.subset(key="organism", values=["mouse"]) + ds.subset(key="organ", values=["lung"]) + ds.load() + _ = ds.adata + + +def test_dsgs_load(): + ds = Universe(data_path=dir_data, meta_path=dir_meta, cache_path=dir_data) + ds.subset(key="organism", values=["mouse"]) + ds.subset(key="organ", values=["lung"]) + ds.load() + + +@pytest.mark.parametrize("organ", ["lung"]) +@pytest.mark.parametrize("celltype", ["T cell"]) +def test_dsgs_subset_cell_wise(organ: str, celltype: str): + """ + Tests if subsetting results only in datasets of the desired characteristics. + """ + ds = Universe(data_path=dir_data, meta_path=dir_meta, cache_path=dir_data) + ds.subset(key="organism", values=["mouse"]) + ds.subset(key="organ", values=[organ]) + ds.load() + ds.subset_cells(key="cellontology_class", values=celltype) + for x in ds.dataset_groups: + for k, v in x.datasets.items(): + assert v.organism == "mouse", v.id + assert v.ontology_container_sfaira.organ.is_a(query=v.organ, reference=organ), v.organ + for y in np.unique(v.adata.obs[v._adata_ids.cellontology_class].values): + assert v.ontology_container_sfaira.cellontology_class.is_a(query=y, reference=celltype), y + + +@pytest.mark.parametrize("out_format", ["sfaira", "cellxgene"]) +@pytest.mark.parametrize("uns_to_obs", [True, False]) +@pytest.mark.parametrize("clean_obs", [True, False]) +@pytest.mark.parametrize("clean_var", [True, False]) +@pytest.mark.parametrize("clean_uns", [True, False]) +@pytest.mark.parametrize("clean_obs_names", [True, False]) +def test_dsgs_streamline_metadata(out_format: str, uns_to_obs: bool, clean_obs: bool, clean_var: bool, clean_uns: bool, + clean_obs_names: bool): + ds = Universe(data_path=dir_data, meta_path=dir_meta, cache_path=dir_data) + ds.subset(key="organism", values=["mouse"]) + ds.subset(key="organ", values=["lung"]) + ds.load() + ds.streamline_features(remove_gene_version=False, match_to_reference=MOUSE_GENOME_ANNOTATION, + subset_genes_to_type=None) + ds.streamline_metadata(schema=out_format, uns_to_obs=uns_to_obs, clean_obs=clean_obs, clean_var=clean_var, + clean_uns=clean_uns, clean_obs_names=clean_obs_names) + + +@pytest.mark.parametrize("match_to_reference", ["Mus_musculus.GRCm38.102", {"mouse": MOUSE_GENOME_ANNOTATION}]) +@pytest.mark.parametrize("remove_gene_version", [False, True]) +@pytest.mark.parametrize("subset_genes_to_type", [None, "protein_coding"]) +def test_dsgs_streamline_features(match_to_reference: str, remove_gene_version: bool, subset_genes_to_type: str): + ds = Universe(data_path=dir_data, meta_path=dir_meta, cache_path=dir_data) + ds.subset(key="organism", values=["mouse"]) + ds.subset(key="organ", values=["lung"]) + ds.load() + ds.streamline_features(remove_gene_version=remove_gene_version, match_to_reference=match_to_reference, + subset_genes_to_type=subset_genes_to_type) + + +@pytest.mark.parametrize("store", ["h5ad"]) +@pytest.mark.parametrize("dense", [False]) +@pytest.mark.parametrize("clean_obs", [False, True]) +def test_dsg_write_store(store: str, dense: bool, clean_obs: bool): + ds = Universe(data_path=dir_data, meta_path=dir_meta, cache_path=dir_data) + ds.subset(key="organism", values=["mouse"]) + ds.subset(key="organ", values=["lung"]) + ds.load() + ds.streamline_features(remove_gene_version=True, match_to_reference={"mouse": MOUSE_GENOME_ANNOTATION}, + subset_genes_to_type="protein_coding") + ds.streamline_metadata(schema="sfaira", uns_to_obs=False, clean_obs=clean_obs, clean_var=True, clean_uns=True, + clean_obs_names=True) + ds.write_distributed_store(dir_cache=os.path.join(dir_data, "store"), store_format=store, dense=dense) + + +def test_dsg_load(): + ds = Universe(data_path=dir_data, meta_path=dir_meta, cache_path=dir_data) + ds.subset(key="organism", values=["mouse"]) + ds.subset(key="organ", values=["lung"]) + ds = DatasetSuperGroup(dataset_groups=[ds]) + ds.load() + + +def test_dsg_adata(): + ds = Universe(data_path=dir_data, meta_path=dir_meta, cache_path=dir_data) + ds.subset(key="organism", values=["mouse"]) + ds.subset(key="organ", values=["lung"]) + ds = DatasetSuperGroup(dataset_groups=[ds]) + _ = ds.adata diff --git a/sfaira/unit_tests/data/test_store.py b/sfaira/unit_tests/data/test_store.py new file mode 100644 index 000000000..f74395f33 --- /dev/null +++ b/sfaira/unit_tests/data/test_store.py @@ -0,0 +1,162 @@ +import anndata +import dask.array +import numpy as np +import os +import pytest +import scipy.sparse +import time +from typing import List + +from sfaira.data import load_store +from sfaira.versions.genomes import GenomeContainer +from sfaira.unit_tests.utils import cached_store_writing + + +MOUSE_GENOME_ANNOTATION = "Mus_musculus.GRCm38.102" +HUMAN_GENOME_ANNOTATION = "Homo_sapiens.GRCh38.102" + +dir_data = os.path.join(os.path.dirname(os.path.dirname(__file__)), "test_data") +dir_meta = os.path.join(os.path.dirname(os.path.dirname(__file__)), "test_data", "meta") + + +""" +Tests from here on down require cached data for mouse lung +""" + + +@pytest.mark.parametrize("store_format", ["h5ad", "dao"]) +def test_fatal(store_format: str): + """ + Test if basic methods abort. + """ + store_path = cached_store_writing(dir_data=dir_data, dir_meta=dir_meta, assembly=MOUSE_GENOME_ANNOTATION, + store_format=store_format) + store = load_store(cache_path=store_path, store_format=store_format) + store.subset(attr_key="organism", values=["mouse"]) + store.subset(attr_key="assay_sc", values=["10x sequencing"]) + _ = store.n_obs + _ = store.n_vars + _ = store.var_names + _ = store.shape + _ = store.obs + _ = store.indices + _ = store.genome_container + _ = store.n_counts(idx=[1, 3]) + + +@pytest.mark.parametrize("store_format", ["h5ad", "dao"]) +@pytest.mark.parametrize("dataset", ["mouse_lung_2019_10xsequencing_pisco_022_10.1101/661728"]) +def test_data(store_format: str, dataset: str): + """ + Test if the data exposed by the store are the same as in the original Dataset instance after streamlining. + """ + store_path, ds = cached_store_writing(dir_data=dir_data, dir_meta=dir_meta, assembly=MOUSE_GENOME_ANNOTATION, + store_format=store_format, return_ds=True) + store = load_store(cache_path=store_path, store_format=store_format) + dataset_key_reduced = dataset.split("_10.")[0] + store.subset(attr_key="id", values=[dataset_key_reduced]) + adata_store = store.adata_by_key[dataset] + adata_ds = ds.datasets[dataset].adata + # Check .X + x_store = adata_store.X + x_ds = adata_ds.X.todense() + if isinstance(x_store, dask.array.Array): + x_store = x_store.compute() + if isinstance(x_store, anndata._core.sparse_dataset.SparseDataset): + # Need to load sparse matrix into memory if it comes from a backed anndata object. + x_store = x_store[:, :] + if isinstance(x_store, scipy.sparse.csr_matrix): + x_store = x_store.todense() + # Check that non-zero elements are the same: + assert np.all(np.where(x_store > 0)[0] == np.where(x_ds > 0)[0]) + assert np.all(np.where(x_store > 0)[1] == np.where(x_ds > 0)[1]) + assert np.all(x_store - x_ds == 0.) + assert x_store.dtype == x_ds.dtype + # Note: Do not run test on sum across entire object if dtype is float32 as this can result in test failures because + # of float overflows. + # Check .obs + obs_store = adata_store.obs + obs_ds = adata_ds.obs + assert np.all(obs_store.columns == obs_ds.columns), (obs_store.columns, obs_ds.columns) + for k, v in obs_store.items(): + assert np.all(np.asarray(v.values.tolist()) == np.asarray(obs_ds[k].values.tolist())) + # Check .var + var_store = adata_store.var + var_ds = adata_ds.var + assert np.all(var_store.columns == var_ds.columns), (var_store.columns, var_ds.columns) + for k, v in var_store.items(): + assert np.all(np.asarray(v.values.tolist()) == np.asarray(var_ds[k].values.tolist())) + # Check .uns + uns_store = adata_store.uns + uns_ds = adata_ds.uns + assert np.all(uns_store.keys() == uns_ds.keys()), (uns_store.keys(), uns_ds.keys()) + for k, v in uns_store.items(): + assert np.all(v == uns_ds[k]) + + +@pytest.mark.parametrize("store_format", ["h5ad", "dao"]) +def test_config(store_format: str): + """ + Test that data set config files can be set, written and recovered. + """ + store_path = cached_store_writing(dir_data=dir_data, dir_meta=dir_meta, assembly=MOUSE_GENOME_ANNOTATION, + store_format=store_format) + config_path = os.path.join(store_path, "config_lung") + store = load_store(cache_path=store_path, store_format=store_format) + store.subset(attr_key="organism", values=["mouse"]) + store.subset(attr_key="assay_sc", values=["10x sequencing"]) + store.write_config(fn=config_path) + store2 = load_store(cache_path=store_path, store_format=store_format) + store2.load_config(fn=config_path + ".pickle") + assert np.all(store.indices.keys() == store2.indices.keys()) + assert np.all([np.all(store.indices[k] == store2.indices[k]) for k in store.indices.keys()]) + + +@pytest.mark.parametrize("store_format", ["h5ad", "dao"]) +@pytest.mark.parametrize("idx", [np.array([2, 1020, 3, 20000, 20100]), + np.concatenate([np.arange(150, 200), np.array([1, 100, 2003, 33])])]) +@pytest.mark.parametrize("batch_size", [1, 7]) +@pytest.mark.parametrize("obs_keys", [[], ["cell_ontology_class"]]) +@pytest.mark.parametrize("gc", [(None, {}), (MOUSE_GENOME_ANNOTATION, {"biotype": "protein_coding"})]) +@pytest.mark.parametrize("randomized_batch_access", [True, False]) +def test_generator_shapes(store_format: str, idx, batch_size: int, obs_keys: List[str], gc: tuple, + randomized_batch_access: bool): + """ + Test generators queries do not throw errors and that output shapes are correct. + """ + assembly, subset = gc + store_path = cached_store_writing(dir_data=dir_data, dir_meta=dir_meta, assembly=MOUSE_GENOME_ANNOTATION, + store_format=store_format) + store = load_store(cache_path=store_path, store_format=store_format) + store.subset(attr_key="organism", values=["mouse"]) + if assembly is not None: + gc = GenomeContainer(assembly=assembly) + gc.subset(**subset) + store.genome_container = gc + g = store.generator( + idx=idx, + batch_size=batch_size, + obs_keys=obs_keys, + randomized_batch_access=randomized_batch_access, + ) + nobs = len(idx) if idx is not None else store.n_obs + batch_sizes = [] + t0 = time.time() + x = None + obs = None + for i, z in enumerate(g()): + x_i, obs_i = z + assert x_i.shape[0] == obs_i.shape[0] + if i == 0: + x = x_i + obs = obs_i + batch_sizes.append(x_i.shape[0]) + tdelta = time.time() - t0 + print(f"time for iterating over generator:" + f" {tdelta}s for {np.sum(batch_sizes)} cells in {len(batch_sizes)} batches," + f" {tdelta / len(batch_sizes)}s per batch.") + assert x.shape[1] == store.n_vars, (x.shape, store.n_vars) + assert obs.shape[1] == len(obs_keys), (obs.shape, obs_keys) + assert np.sum(batch_sizes) == nobs, (batch_sizes, nobs) + if assembly is not None: + assert x.shape[1] == gc.n_var, (x.shape, gc.n_var) diff --git a/sfaira/unit_tests/data_contribution/__init__.py b/sfaira/unit_tests/data_contribution/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/sfaira/unit_tests/data_contribution/test_data_template.py b/sfaira/unit_tests/data_contribution/test_data_template.py new file mode 100644 index 000000000..bacf8ca50 --- /dev/null +++ b/sfaira/unit_tests/data_contribution/test_data_template.py @@ -0,0 +1,175 @@ +import os +import pydoc +import shutil + +from sfaira.data import DatasetGroupDirectoryOriented, DatasetGroup, DatasetBase +from sfaira.data.utils import read_yaml +try: + import sfaira_extension as sfairae +except ImportError: + sfairae = None + + +def test_load(doi_sfaira_repr: str, test_data: str): + """ + Unit test to assist with data set contribution. + + The workflow for contributing a data set with this data loader is as follows: + + 1. Write a data loader and add it into the loader directory of your local sfaira installation. + 2. Address ToDos below. + 3. Run this unit test until you are not getting errors from your data loader anymore. + + In the process of this unit test, this data loader will have written putative cell type maps from your + annotation to the cell ontology. + + 4. Moderate the suggestions made here: Choose the best fit cell ontology label for your cells. + Sfaira uses multiple mechanisms of finding matches, depending on how the free text was generated, these might be + differentially successful. The proposed IDs groups are separate by ":|||:" strings to give you a visual anchor + when going through these lists. You need to delete all of these division strings and all labels in the second + columns other than the best fit label. Do not change the first column, + (Note that columns are separated by ",") + You can also manually check maps here: https://www.ebi.ac.uk/ols/ontologies/cl + 5. Run this unit test for a last time to check the cell type maps. + """ + remove_gene_version = True + match_to_reference = None + + flattened_doi = doi_sfaira_repr + # Define file names and loader paths in sfaira or sfaira_extension: + # Define base paths of loader collections in sfaira and sfaira_extension: + dir_loader_sfaira = "sfaira.data.dataloaders.loaders." + file_path_sfaira = "/" + "/".join(pydoc.locate(dir_loader_sfaira + "FILE_PATH").split("/")[:-1]) + if sfairae is not None: + dir_loader_sfairae = "sfaira_extension.data.dataloaders.loaders." + file_path_sfairae = "/" + "/".join(pydoc.locate(dir_loader_sfairae + "FILE_PATH").split("/")[:-1]) + else: + file_path_sfairae = None + # Check if loader name is a directory either in sfaira or sfaira_extension loader collections: + if flattened_doi in os.listdir(file_path_sfaira): + dir_loader = dir_loader_sfaira + "." + flattened_doi + package_source = "sfaira" + elif flattened_doi in os.listdir(file_path_sfairae): + dir_loader = dir_loader_sfairae + "." + flattened_doi + package_source = "sfairae" + else: + raise ValueError("data loader not found in sfaira and also not in sfaira_extension") + file_path = pydoc.locate(dir_loader + ".FILE_PATH") + meta_path = None + cache_path = None + # Clear dataset cache + shutil.rmtree(cache_path, ignore_errors=True) + + ds = DatasetGroupDirectoryOriented( + file_base=file_path, + data_path=test_data, + meta_path=None, + cache_path=None + ) + # Test raw loading and caching: + # You can set load_raw to True while debugging when caching works already to speed the test up, + # but be sure to set load_raw to True for final tests. + ds.load( + remove_gene_version=False, + match_to_reference=False, + load_raw=True, # tests raw loading + allow_caching=True, # tests caching + ) + + assert len(ds.ids) > 0, f"no data sets loaded, make sure raw data is in {test_data}" + # Create cell type conversion table: + cwd = os.path.dirname(file_path) + dataset_module = str(cwd.split("/")[-1]) + # Group data sets by file module: + # Note that if we were not grouping the cell type map .tsv files by file module, we could directly call + # write_ontology_class_map on the ds. + for f in os.listdir(cwd): + if os.path.isfile(os.path.join(cwd, f)): # only files + # Narrow down to data set files: + if f.split(".")[-1] == "py" and f.split(".")[0] not in ["__init__", "base", "group"]: + file_module = ".".join(f.split(".")[:-1]) + + # I) Instantiate Data set group to get all IDs of data sets associated with this .py file. + # Note that all data sets in this directory are already loaded in ds, so we just need the IDs. + DatasetFound = pydoc.locate(dir_loader + "." + file_module + ".Dataset") + # Load objects from name space: + # - load(): Loading function that return anndata instance. + # - SAMPLE_FNS: File name list for DatasetBaseGroupLoadingManyFiles + load_func = pydoc.locate(dir_loader + "." + file_module + ".load") + load_func_annotation = pydoc.locate(dir_loader + "." + file_module + ".LOAD_ANNOTATION") + # Also check sfaira_extension for additional load_func_annotation: + if package_source != "sfairae" and sfairae is not None: + load_func_annotation_sfairae = pydoc.locate(dir_loader_sfairae + "." + dataset_module + + "." + file_module + ".LOAD_ANNOTATION") + # LOAD_ANNOTATION is a dictionary so we can use update to extend it. + if load_func_annotation_sfairae is not None and load_func_annotation is not None: + load_func_annotation.update(load_func_annotation_sfairae) + elif load_func_annotation_sfairae is not None and load_func_annotation is None: + load_func_annotation = load_func_annotation_sfairae + sample_fns = pydoc.locate(dir_loader + "." + file_module + ".SAMPLE_FNS") + fn_yaml = os.path.join(cwd, file_module + ".yaml") + fn_yaml = fn_yaml if os.path.exists(fn_yaml) else None + # Check for sample_fns in yaml: + if fn_yaml is not None: + assert os.path.exists(fn_yaml), f"did not find yaml {fn_yaml}" + yaml_vals = read_yaml(fn=fn_yaml) + if sample_fns is None and yaml_vals["meta"]["sample_fns"] is not None: + sample_fns = yaml_vals["meta"]["sample_fns"] + if sample_fns is None: + sample_fns = [None] + # Here we distinguish between class that are already defined and those that are not. + # The latter case arises if meta data are defined in YAMLs and _load is given as a function. + if DatasetFound is None: + datasets_f = [ + DatasetBase( + data_path=test_data, + meta_path=meta_path, + cache_path=cache_path, + load_func=load_func, + dict_load_func_annotation=load_func_annotation, + sample_fn=x, + sample_fns=sample_fns if sample_fns != [None] else None, + yaml_path=fn_yaml, + ) for x in sample_fns + ] + else: + datasets_f = [ + DatasetFound( + data_path=test_data, + meta_path=meta_path, + cache_path=cache_path, + load_func=load_func, + load_func_annotation=load_func_annotation, + sample_fn=x, + sample_fns=sample_fns if sample_fns != [None] else None, + yaml_path=fn_yaml, + ) for x in sample_fns + ] + # II) Build a data set group from the already loaded data sets and use the group ontology writing + # function. + dsg_f = DatasetGroup(datasets=dict([(x.id, ds.datasets[x.id]) for x in datasets_f])) + # III) Write this directly into sfaira installation so that it can be committed via git. + dsg_f.write_ontology_class_map( + fn=os.path.join(cwd, file_module + ".tsv"), + protected_writing=True, + n_suggest=4, + ) + + # Test loading from cache: + ds = DatasetGroupDirectoryOriented( + file_base=file_path, + data_path=test_data, + meta_path=meta_path, + cache_path=cache_path + ) + ds.load( + remove_gene_version=remove_gene_version, + match_to_reference=match_to_reference, + load_raw=False, + allow_caching=False + ) + ds.clean_ontology_class_map() + # Test concatenation: + _ = ds.adata + # Clear dataset cache + shutil.rmtree(cache_path, ignore_errors=True) diff --git a/sfaira/unit_tests/estimators/__init__.py b/sfaira/unit_tests/estimators/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/sfaira/unit_tests/estimators/custom.obo b/sfaira/unit_tests/estimators/custom.obo new file mode 100644 index 000000000..8bd872bd0 --- /dev/null +++ b/sfaira/unit_tests/estimators/custom.obo @@ -0,0 +1,16 @@ +format-version: 1.2 +ontology: custom + +[Term] +id: MYONTO:01 +name: Name1 + +[Term] +id: MYONTO:02 +name: Name2 +is_a: MYONTO:01 + +[Term] +id: MYONTO:03 +name: Name3 +is_a: MYONTO:01 diff --git a/sfaira/unit_tests/estimators/test_estimator.py b/sfaira/unit_tests/estimators/test_estimator.py new file mode 100644 index 000000000..b404ef079 --- /dev/null +++ b/sfaira/unit_tests/estimators/test_estimator.py @@ -0,0 +1,538 @@ +import abc +import anndata +import numpy as np +import os +import pandas as pd +import pytest +import time +from typing import Union + +from sfaira.data import load_store, DistributedStoreBase +from sfaira.estimators import EstimatorKeras, EstimatorKerasCelltype, EstimatorKerasEmbedding +from sfaira.versions.genomes import CustomFeatureContainer +from sfaira.versions.metadata import OntologyOboCustom +from sfaira.versions.topologies import TopologyContainer +from sfaira.unit_tests.utils import cached_store_writing, simulate_anndata + +dir_data = os.path.join(os.path.dirname(os.path.dirname(__file__)), "test_data") +dir_meta = os.path.join(os.path.dirname(os.path.dirname(__file__)), "test_data", "meta") +cache_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(__file__)))), + "cache", "genomes") + +ASSEMBLY = { + "mouse": "Mus_musculus.GRCm38.102", + "human": "Homo_sapiens.GRCh38.102", +} +GENES = { + "mouse": ["ENSMUSG00000000003", "ENSMUSG00000000028"], + "human": ["ENSG00000000003", "ENSG00000000005"], +} +TARGETS = ["T cell", "CD4-positive helper T cell", "stromal cell", "UNKNOWN"] +TARGET_UNIVERSE = ["CD4-positive helper T cell", "stromal cell"] +ASSAYS = ["10x sequencing", "Smart-seq2"] + + +TOPOLOGY_EMBEDDING_MODEL = { + "model_type": None, + "input": { + "genome": None, + "genes": None, + }, + "output": {}, + "hyper_parameters": { + "latent_dim": None, + "l2_coef": 0., + "l1_coef": 0., + "output_layer": "nb_const_disp" + } +} + +TOPOLOGY_CELLTYPE_MODEL = { + "model_type": None, + "input": { + "genome": None, + "genes": None, + }, + "output": { + "cl": "v2021-02-01", + "targets": TARGET_UNIVERSE + }, + "hyper_parameters": { + "l1_coef": 0., + "l2_coef": 0., + } +} + + +class HelperEstimatorBase: + + data: Union[anndata.AnnData, DistributedStoreBase] + estimator: Union[EstimatorKeras] + model_type: str + tc: TopologyContainer + + """ + Contains functions _test* to test individual functions and attributes of estimator class. + + TODO for everybody working on this, add one _test* function in here and add it into + basic_estimator_test(). See _test_call() for an example. + """ + + def _simulate(self) -> anndata.AnnData: + """ + Simulate basic data example used for unit test. + + :return: Simulated data set. + """ + return simulate_anndata(n_obs=100, assays=ASSAYS, genes=self.tc.gc.ensembl, targets=TARGETS) + + def load_adata(self): + """ + Sets attribute .data with simulated data. + """ + self.data = self._simulate() + + def load_store(self, organism, organ): + store_path = cached_store_writing(dir_data=dir_data, dir_meta=dir_meta, assembly=ASSEMBLY[organism], + organism=organism, organ=organ) + store = load_store(cache_path=store_path) + store.subset(attr_key="organism", values=organism) + store.subset(attr_key="organ", values=organ) + self.data = store + + @abc.abstractmethod + def init_topology(self, model_type: str, feature_space: str, organism: str): + pass + + @abc.abstractmethod + def init_estimator(self, test_split): + """ + Initialise target estimator as .estimator attribute. + """ + pass + + def estimator_train(self, test_split, randomized_batch_access): + self.estimator.train( + optimizer="adam", + lr=0.005, + epochs=2, + batch_size=4, + validation_split=0.5, + test_split=test_split, + validation_batch_size=4, + max_validation_steps=1, + shuffle_buffer_size=None if randomized_batch_access else 10, + cache_full=False, + randomized_batch_access=randomized_batch_access, + ) + + @abc.abstractmethod + def basic_estimator_test(self, test_split): + pass + + def load_estimator(self, model_type, data_type, feature_space, test_split, organism="mouse", organ="lung"): + self.init_topology(model_type=model_type, feature_space=feature_space, organism=organism) + np.random.seed(1) + if data_type == "adata": + self.load_adata() + else: + self.load_store(organism=organism, organ=organ) + self.init_estimator(test_split=test_split) + + def fatal_estimator_test(self, model_type, data_type, test_split=0.1, feature_space="small"): + self.load_estimator(model_type=model_type, data_type=data_type, feature_space=feature_space, + test_split=test_split) + self.estimator_train(test_split=test_split, randomized_batch_access=False) + self.basic_estimator_test(test_split=test_split) + + +class HelperEstimatorKerasEmbedding(HelperEstimatorBase): + + estimator: EstimatorKerasEmbedding + model_type: str + tc: TopologyContainer + + def init_topology(self, model_type: str, feature_space: str, organism: str): + topology = TOPOLOGY_EMBEDDING_MODEL.copy() + if feature_space == "full": + # Read 500 genes (not full protein coding) to compromise between being able to distinguish observations + # and reducing run time of unit tests. + tab = pd.read_csv(os.path.join(cache_dir, ASSEMBLY[organism] + ".csv")) + genes_full = tab.loc[tab["gene_biotype"].values == "protein_coding", "gene_id"].values[:500].tolist() + topology["input"]["genes"] = ["ensg", genes_full] + else: + topology["input"]["genes"] = ["ensg", GENES[organism]] + topology["input"]["genome"] = ASSEMBLY[organism] + topology["model_type"] = model_type + if model_type == "linear": + topology["hyper_parameters"]["latent_dim"] = 2 + else: + topology["hyper_parameters"]["latent_dim"] = (2, 2, 2) + self.model_type = model_type + self.tc = TopologyContainer(topology=topology, topology_id="0.1") + + def init_estimator(self, test_split): + self.estimator = EstimatorKerasEmbedding( + data=self.data, + model_dir=None, + model_id="testid", + model_topology=self.tc + ) + self.estimator.init_model() + self.estimator.split_train_val_test(test_split=test_split, val_split=0.1) + + def basic_estimator_test(self, test_split=0.1): + _ = self.estimator.evaluate() + prediction_output = self.estimator.predict() + prediction_embed = self.estimator.predict_embedding() + weights = self.estimator.model.training_model.get_weights() + self.estimator.save_weights_to_cache() + self.estimator.load_weights_from_cache() + new_prediction_output = self.estimator.predict() + new_prediction_embed = self.estimator.predict_embedding() + new_weights = self.estimator.model.training_model.get_weights() + for i in range(len(weights)): + if not np.any(np.isnan(weights[i])): + assert np.allclose(weights[i], new_weights[i], rtol=1e-6, atol=1e-6) + if self.model_type != 'vae': + if not np.any(np.isnan(prediction_output)): + assert np.allclose(prediction_output, new_prediction_output, rtol=1e-6, atol=1e-6) + assert np.allclose(prediction_embed, new_prediction_embed, rtol=1e-6, atol=1e-6) + + +class HelperEstimatorKerasCelltype(HelperEstimatorBase): + + estimator: EstimatorKerasCelltype + model_type: str + tc: TopologyContainer + + def init_topology(self, model_type: str, feature_space: str, organism: str): + topology = TOPOLOGY_CELLTYPE_MODEL.copy() + topology["model_type"] = model_type + topology["input"]["genome"] = ASSEMBLY[organism] + topology["input"]["genes"] = ["ensg", GENES[organism]] + if model_type == "mlp": + topology["hyper_parameters"]["units"] = (2,) + self.model_type = model_type + self.tc = TopologyContainer(topology=topology, topology_id="0.0.1") + + def init_estimator(self, test_split): + tc = self.tc + if isinstance(self.data, DistributedStoreBase): + # Reset leaves below: + tc.topology["output"]["targets"] = None + self.estimator = EstimatorKerasCelltype( + data=self.data, + model_dir=None, + model_id="testid", + model_topology=tc + ) + if isinstance(self.data, DistributedStoreBase): + leaves = self.estimator.celltype_universe.onto_cl.get_effective_leaves( + x=[x for x in self.data.obs[self.data._adata_ids_sfaira.cellontology_class].values + if x != self.data._adata_ids_sfaira.unknown_celltype_identifier] + ) + self.nleaves = len(leaves) + self.estimator.celltype_universe.onto_cl.leaves = leaves + else: + self.nleaves = None + self.estimator.init_model() + self.estimator.split_train_val_test(test_split=test_split, val_split=0.1) + + def basic_estimator_test(self, test_split=0.1): + _ = self.estimator.evaluate() + prediction_output = self.estimator.predict() + if isinstance(self.estimator.data, anndata.AnnData): + assert prediction_output.shape[1] == len(TARGET_UNIVERSE), prediction_output.shape + else: + assert prediction_output.shape[1] == self.nleaves, prediction_output.shape + weights = self.estimator.model.training_model.get_weights() + self.estimator.save_weights_to_cache() + self.estimator.load_weights_from_cache() + new_prediction_output = self.estimator.predict() + new_weights = self.estimator.model.training_model.get_weights() + print(self.estimator.model.training_model.summary()) + for i in range(len(weights)): + if not np.any(np.isnan(weights[i])): + assert np.allclose(weights[i], new_weights[i], rtol=1e-6, atol=1e-6) + if not np.any(np.isnan(prediction_output)): + assert np.allclose(prediction_output, new_prediction_output, rtol=1e-6, atol=1e-6) + + +class HelperEstimatorKerasCelltypeCustomObo(HelperEstimatorKerasCelltype): + + def init_obo_custom(self) -> OntologyOboCustom: + return OntologyOboCustom(obo=os.path.join(os.path.dirname(__file__), "custom.obo")) + + def init_genome_custom(self, n_features) -> CustomFeatureContainer: + return CustomFeatureContainer(genome_tab=pd.DataFrame({ + "gene_name": ["dim_" + str(i) for i in range(n_features)], + "gene_id": ["dim_" + str(i) for i in range(n_features)], + "gene_biotype": ["embedding" for _ in range(n_features)], + })) + + def init_topology_custom(self, model_type: str, n_features): + topology = TOPOLOGY_CELLTYPE_MODEL.copy() + topology["model_type"] = model_type + topology["input"]["genome"] = "custom" + topology["input"]["genes"] = ["biotype", "embedding"] + topology["output"]["cl"] = "custom" + topology["output"]["targets"] = ["MYONTO:02", "MYONTO:03"] + if model_type == "mlp": + topology["hyper_parameters"]["units"] = (2,) + self.model_type = model_type + gc = self.init_genome_custom(n_features=n_features) + self.tc = TopologyContainer(topology=topology, topology_id="0.0.1", custom_genome_constainer=gc) + + def fatal_estimator_test_custom(self): + self.init_topology_custom(model_type="mlp", n_features=50) + obo = self.init_obo_custom() + np.random.seed(1) + self.data = simulate_anndata(n_obs=100, genes=self.tc.gc.ensembl, + targets=["MYONTO:01", "MYONTO:02", "MYONTO:03"], obo=obo) + self.estimator = EstimatorKerasCelltype( + data=self.data, + model_dir=None, + model_id="testid", + model_topology=self.tc, + celltype_ontology=obo, + ) + self.estimator.init_model() + self.estimator_train(test_split=0.1, randomized_batch_access=False) + self.basic_estimator_test(test_split=0.1) + +# Test embedding models: + + +@pytest.mark.parametrize("data_type", ["adata", "store"]) +def test_for_fatal_linear(data_type): + test_estim = HelperEstimatorKerasEmbedding() + test_estim.fatal_estimator_test(model_type="linear", data_type=data_type) + + +@pytest.mark.parametrize("data_type", ["adata"]) +def test_for_fatal_ae(data_type): + test_estim = HelperEstimatorKerasEmbedding() + test_estim.fatal_estimator_test(model_type="ae", data_type=data_type) + + +@pytest.mark.parametrize("data_type", ["adata"]) +def test_for_fatal_vae(data_type): + test_estim = HelperEstimatorKerasEmbedding() + test_estim.fatal_estimator_test(model_type="vae", data_type=data_type) + + +# Test cell type predictor models: + + +@pytest.mark.parametrize("data_type", ["adata", "store"]) +def test_for_fatal_mlp(data_type): + test_estim = HelperEstimatorKerasCelltype() + test_estim.fatal_estimator_test(model_type="mlp", data_type=data_type) + + +@pytest.mark.parametrize("data_type", ["adata"]) +def test_for_fatal_marker(data_type): + test_estim = HelperEstimatorKerasCelltype() + test_estim.fatal_estimator_test(model_type="marker", data_type=data_type) + + +def test_for_fatal_mlp_custom(): + test_estim = HelperEstimatorKerasCelltypeCustomObo() + test_estim.fatal_estimator_test_custom() + +# Test index sets + + +@pytest.mark.parametrize("organism", ["human"]) +@pytest.mark.parametrize("organ", ["lung"]) +@pytest.mark.parametrize("batch_size", [1024, 2048, 4096]) +@pytest.mark.parametrize("randomized_batch_access", [False, True]) +def test_dataset_size(organism: str, organ: str, batch_size: int, randomized_batch_access: bool): + """ + Test that tf data set from estimator has same size as generator invoked directly from store based on number of + observations in emitted batches. + + Tests for batch sizes smaller, equal to and larger than retrieval batch size and with and without randomized + batch access. + """ + test_estim = HelperEstimatorKerasEmbedding() + retrieval_batch_size = 2048 + # Need full feature space here because observations are not necessarily different in small model testing feature + # space with only two genes: + test_estim.load_estimator(model_type="linear", data_type="store", feature_space="reduced", test_split=0.2, + organism=organism, organ=organ) + idx_train = test_estim.estimator.idx_train + shuffle_buffer_size = None if randomized_batch_access else 2 + ds_train = test_estim.estimator._get_dataset(idx=idx_train, batch_size=batch_size, mode='eval', + shuffle_buffer_size=shuffle_buffer_size, + retrieval_batch_size=retrieval_batch_size, + randomized_batch_access=randomized_batch_access) + x_train_shape = 0 + for x, _ in ds_train.as_numpy_iterator(): + x_train_shape += x[0].shape[0] + # Define raw store generator on train data to compare and check that it has the same size as tf generator exposed + # by estimator: + g_train = test_estim.estimator.data.generator(idx=idx_train, batch_size=retrieval_batch_size, + randomized_batch_access=randomized_batch_access) + x_train2_shape = 0 + for x, _ in g_train(): + x_train2_shape += x.shape[0] + assert x_train_shape == x_train2_shape + assert x_train_shape == len(idx_train) + + +@pytest.mark.parametrize("organism", ["mouse"]) +@pytest.mark.parametrize("organ", ["lung"]) +@pytest.mark.parametrize("data_type", ["adata", "store"]) +@pytest.mark.parametrize("randomized_batch_access", [False, True]) +@pytest.mark.parametrize("test_split", [0.3, {"assay_sc": "10x sequencing"}]) +def test_split_index_sets(organism: str, organ: str, data_type: str, randomized_batch_access: bool, test_split): + """ + Test that train, val, test split index sets are correct: + + 1) complete + 2) non-overlapping + 3) that test indices map to all (float split) or distinct (attribute split) data sets + 4) do not contain duplicated observations within and across splits (defined based on the feature vectors) + """ + test_estim = HelperEstimatorKerasEmbedding() + # Need full feature space here because observations are not necessarily different in small model testing feature + # space with only two genes: + test_estim.load_estimator(model_type="linear", data_type=data_type, test_split=test_split, feature_space="full", + organism=organism, organ=organ) + idx_train = test_estim.estimator.idx_train + idx_eval = test_estim.estimator.idx_eval + idx_test = test_estim.estimator.idx_test + print(idx_train) + print(idx_eval) + print(idx_test) + # 1) Assert that index assignment sets sum up to full data set: + # Make sure that there are no repeated indices in each set. + assert len(idx_train) == len(np.unique(idx_train)) + assert len(idx_eval) == len(np.unique(idx_eval)) + assert len(idx_test) == len(np.unique(idx_test)) + assert len(idx_train) + len(idx_eval) + len(idx_test) == test_estim.data.n_obs, \ + (len(idx_train), len(idx_eval), len(idx_test), test_estim.data.n_obs) + if isinstance(test_estim.data, DistributedStoreBase): + assert np.sum([v.shape[0] for v in test_estim.data.adata_by_key.values()]) == test_estim.data.n_obs + # 2) Assert that index assignments are exclusive to each split: + assert len(set(idx_train).intersection(set(idx_eval))) == 0 + assert len(set(idx_train).intersection(set(idx_test))) == 0 + assert len(set(idx_test).intersection(set(idx_eval))) == 0 + # 3) Check partition of index vectors over store data sets matches test split scenario: + if isinstance(test_estim.estimator.data, DistributedStoreBase): + # Prepare data set-wise index vectors that are numbered in the same way as global split index vectors. + # See also EstimatorKeras.train and DistributedStoreBase.subset_cells_idx_global + idx_raw = test_estim.estimator.data.indices_global.values() + if isinstance(test_split, float): + # Make sure that indices from each split are in each data set: + for i, z in enumerate([idx_train, idx_eval, idx_test]): + matches = [ # in each data set + np.any([y in z for y in x]) # at least one match of data set to split index set + for x in idx_raw + ] + assert np.all(matches), (i, matches) + else: + # Make sure that indices from (train, val) and test split are exclusive: + datasets_train = np.where([ # in each data set + np.any([y in idx_train for y in x]) # at least one match of data set to split index set + for x in idx_raw + ])[0] + datasets_eval = np.where([ # in each data set + np.any([y in idx_eval for y in x]) # at least one match of data set to split index set + for x in idx_raw + ])[0] + datasets_test = np.where([ # in each data set + np.any([y in idx_test for y in x]) # at least one match of data set to split index set + for x in idx_raw + ])[0] + assert np.all(datasets_train == datasets_eval), (datasets_train, datasets_eval, datasets_test) + assert len(set(datasets_train).intersection(set(datasets_test))) == 0, \ + (datasets_train, datasets_eval, datasets_test) + # 4) Assert that observations mapped to indices are actually unique based on expression vectors: + # Build numpy arrays of expression input data sets from tensorflow data sets directly from estimator. + # These data sets are the most processed transformation of the data and stand directly in concat with the model. + shuffle_buffer_size = None if randomized_batch_access else 2 + t0 = time.time() + ds_train = test_estim.estimator._get_dataset(idx=idx_train, batch_size=1024, mode='eval', + shuffle_buffer_size=shuffle_buffer_size, + retrieval_batch_size=2048, + randomized_batch_access=randomized_batch_access) + print(f"time for building training data set: {time.time() - t0}s") + t0 = time.time() + ds_eval = test_estim.estimator._get_dataset(idx=idx_eval, batch_size=1024, mode='eval', + shuffle_buffer_size=shuffle_buffer_size, + retrieval_batch_size=2048, + randomized_batch_access=randomized_batch_access) + print(f"time for building validation data set: {time.time() - t0}s") + t0 = time.time() + ds_test = test_estim.estimator._get_dataset(idx=idx_test, batch_size=1024, mode='eval', + shuffle_buffer_size=shuffle_buffer_size, + retrieval_batch_size=2048, + randomized_batch_access=randomized_batch_access) + print(f"time for building test data set: {time.time() - t0}s") + # Create two copies of test data set to make sure that re-instantiation of a subset does not cause issues. + ds_test2 = test_estim.estimator._get_dataset(idx=idx_test, batch_size=1024, mode='eval', + shuffle_buffer_size=shuffle_buffer_size, + retrieval_batch_size=2048, + randomized_batch_access=randomized_batch_access) + print(f"time for building test data set: {time.time() - t0}s") + x_train = [] + x_eval = [] + x_test = [] + x_test2_shape = 0 + t0 = time.time() + for x, _ in ds_train.as_numpy_iterator(): + x_train.append(x[0]) + x_train = np.concatenate(x_train, axis=0) + print(f"time for iterating over training data set: {time.time() - t0}s") + t0 = time.time() + for x, _ in ds_eval.as_numpy_iterator(): + x_eval.append(x[0]) + x_eval = np.concatenate(x_eval, axis=0) + print(f"time for iterating over validation data set: {time.time() - t0}s") + t0 = time.time() + for x, _ in ds_test.as_numpy_iterator(): + x_test.append(x[0]) + x_test = np.concatenate(x_test, axis=0) + print(f"time for iterating over test data set: {time.time() - t0}s") + # Assert that duplicate of test data has the same shape: + for x, _ in ds_test2: + x_test2_shape += x[0].shape[0] + assert x_test2_shape == x_test.shape[0] + # Validate size of recovered numpy data sets: + print(test_estim.data.n_obs) + print(f"shapes expected {(len(idx_train), len(idx_eval), len(idx_test))}") + print(f"shapes received {(x_train.shape[0], x_eval.shape[0], x_test.shape[0])}") + assert x_train.shape[0] + x_eval.shape[0] + x_test.shape[0] == test_estim.data.n_obs + assert len(idx_train) + len(idx_eval) + len(idx_test) == test_estim.data.n_obs + assert x_train.shape[0] == len(idx_train) + assert x_eval.shape[0] == len(idx_eval) + assert x_test.shape[0] == len(idx_test) + # Assert that observations are unique within partition: + assert np.all([ + np.sum(np.abs(x_train[[i], :] - x_train).sum(axis=1) == 0) == 1 + for i in range(x_train.shape[0]) + ]) + assert np.all([ + np.sum(np.abs(x_eval[[i], :] - x_eval).sum(axis=1) == 0) == 1 + for i in range(x_eval.shape[0]) + ]) + assert np.all([ + np.sum(np.abs(x_test[[i], :] - x_test).sum(axis=1) == 0) == 1 + for i in range(x_test.shape[0]) + ]) + # Assert that observations are not replicated across partitions: + assert not np.any([ + np.any(np.abs(x_train[[i], :] - x_eval).sum(axis=1) == 0) + for i in range(x_train.shape[0]) + ]) + assert not np.any([ + np.any(np.abs(x_train[[i], :] - x_test).sum(axis=1) == 0) + for i in range(x_train.shape[0]) + ]) + assert not np.any([ + np.any(np.abs(x_eval[[i], :] - x_test).sum(axis=1) == 0) + for i in range(x_eval.shape[0]) + ]) diff --git a/sfaira/unit_tests/external.py b/sfaira/unit_tests/external.py deleted file mode 100644 index 6e2cfddc3..000000000 --- a/sfaira/unit_tests/external.py +++ /dev/null @@ -1,6 +0,0 @@ -from sfaira.estimators import EstimatorKeras, EstimatorKerasCelltype, EstimatorKerasEmbedding -from sfaira.interface.model_zoo import ModelZoo, ModelZooCelltype, ModelZooEmbedding -from sfaira.interface.user_interface import UserInterface -import sfaira.versions.celltype_versions as celltype_versions -from sfaira.versions.genome_versions import SuperGenomeContainer -from sfaira.versions.topology_versions import Topologies diff --git a/sfaira/unit_tests/interface/__init__.py b/sfaira/unit_tests/interface/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/sfaira/unit_tests/test_userinterface.py b/sfaira/unit_tests/interface/test_userinterface.py similarity index 78% rename from sfaira/unit_tests/test_userinterface.py rename to sfaira/unit_tests/interface/test_userinterface.py index 7548153b3..613d016fe 100644 --- a/sfaira/unit_tests/test_userinterface.py +++ b/sfaira/unit_tests/interface/test_userinterface.py @@ -1,19 +1,18 @@ import numpy as np import os from typing import Union -import unittest -from sfaira.unit_tests.external import UserInterface +from sfaira.interface import UserInterface -class TestUi(unittest.TestCase): +class TestUi: ui: Union[UserInterface] data: np.ndarray """ Contains functions _test* to test individual functions and attributes of the user interface class. - - TODO for everybody working on this, add one _test* function in here and add it into + + TODO for everybody working on this, add one _test* function in here and add it into basic_estimator_test(). See _test_call() for an example. """ @@ -27,27 +26,23 @@ def simulate(self): """ pass - def test_basic(self): + def _test_basic(self): """ Test all relevant model methods. :return: """ - temp_fn = os.path.join(str(os.path.dirname(os.path.abspath(__file__))), 'test_data') + temp_fn = os.path.join(str(os.path.dirname(os.path.abspath(__file__))), '../test_data') self.ui = UserInterface(custom_repo=temp_fn, sfaira_repo=False) - def test_kipoi(self): + def _test_kipoi(self): """ Test all kipoi_experimental model methods. :return: """ - temp_fn = os.path.join(str(os.path.dirname(os.path.abspath(__file__))), 'test_data') + temp_fn = os.path.join(str(os.path.dirname(os.path.abspath(__file__))), '../test_data') self.ui = UserInterface(custom_repo=temp_fn, sfaira_repo=False) self.ui.compute_embedding_kipoi() - - -if __name__ == '__main__': - unittest.main() diff --git a/sfaira/unit_tests/interface/test_zoo.py b/sfaira/unit_tests/interface/test_zoo.py new file mode 100644 index 000000000..2a8f2bd30 --- /dev/null +++ b/sfaira/unit_tests/interface/test_zoo.py @@ -0,0 +1,31 @@ +import os +from sfaira.interface import ModelZoo + +dir_data = os.path.join(os.path.dirname(os.path.dirname(__file__)), "test_data") +dir_meta = os.path.join(os.path.dirname(os.path.dirname(__file__)), "test_data/meta") + + +def test_for_fatal_embedding(): + model_id = "embedding_human-lung-linear-0.1-0.1_mylab" + zoo = ModelZoo() + zoo.model_id = model_id + assert zoo.model_id == model_id + assert zoo.model_class == "embedding" + assert zoo.model_name == "human-lung-linear-0.1-0.1" + assert zoo.organisation == "mylab" + _ = zoo.topology_container + _ = zoo.topology_container.topology + _ = zoo.topology_container.gc + + +def test_for_fatal_celltype(): + model_id = "celltype_human-lung-mlp-0.0.1-0.1_mylab" + zoo = ModelZoo() + zoo.model_id = model_id + assert zoo.model_id == model_id + assert zoo.model_class == "celltype" + assert zoo.model_name == "human-lung-mlp-0.0.1-0.1" + assert zoo.organisation == "mylab" + _ = zoo.topology_container + _ = zoo.topology_container.topology + _ = zoo.topology_container.gc diff --git a/sfaira/unit_tests/test_dataset.py b/sfaira/unit_tests/test_dataset.py deleted file mode 100644 index 17937e696..000000000 --- a/sfaira/unit_tests/test_dataset.py +++ /dev/null @@ -1,53 +0,0 @@ -import numpy as np -import os -import scipy.sparse -import unittest - -from sfaira.data import mouse, DatasetSuperGroup - - -class TestDatasets(unittest.TestCase): - dir_data: str = "." - dir_meta: str = "." - - def test_load(self): - ds = mouse.DatasetGroupLung(path=self.dir_data, meta_path=self.dir_meta) - ds.load_all() - - def test_adata(self): - ds = mouse.DatasetGroupBladder(path=self.dir_data, meta_path=self.dir_meta) - _ = ds.adata - - def test_load_backed_dense(self, genome="Mus_musculus_GRCm38_97"): - ds = DatasetSuperGroup( - dataset_groups=[ - mouse.DatasetGroupLung(path=self.dir_data, meta_path=self.dir_meta) - ] - ) - ds.load_all_tobacked( - fn_backed=os.path.join(self.dir_data, 'test_backed_data.h5ad'), - genome=genome, - shuffled=True, - as_dense=True, - annotated_only=False - ) - assert isinstance(ds.adata.X[:], np.ndarray), "%s" % type(ds.adata.X) - - def test_load_backed_sparse(self, genome="Mus_musculus_GRCm38_97"): - ds = DatasetSuperGroup( - dataset_groups=[ - mouse.DatasetGroupLung(path=self.dir_data, meta_path=self.dir_meta) - ] - ) - ds.load_all_tobacked( - fn_backed=os.path.join(self.dir_data, 'test_backed_data.h5ad'), - genome=genome, - shuffled=False, - as_dense=False, - annotated_only=False - ) - assert isinstance(ds.adata.X[:], scipy.sparse.csr_matrix), "%s" % type(ds.adata.X) - - -if __name__ == '__main__': - unittest.main() diff --git a/sfaira/unit_tests/test_estimator.py b/sfaira/unit_tests/test_estimator.py deleted file mode 100644 index bb9c0a15e..000000000 --- a/sfaira/unit_tests/test_estimator.py +++ /dev/null @@ -1,188 +0,0 @@ -import abc -import anndata -import numpy as np -import tensorflow as tf -from typing import Union -import unittest - -from sfaira.unit_tests.external import EstimatorKeras, EstimatorKerasCelltype, EstimatorKerasEmbedding -from sfaira.unit_tests.external import celltype_versions, SuperGenomeContainer, Topologies - - -class _TestEstimator: - estimator: Union[EstimatorKeras] - data: Union[anndata.AnnData] - model: Union[tf.keras.models.Model, None] - topology_container: Union[Topologies, None] - optimizer: Union[str, None] - model_id: Union[str, None] - weights: Union[np.ndarray, None] - model_dir: Union[str, None] - - """ - Contains functions _test* to test individual functions and attributes of estimator class. - - TODO for everybody working on this, add one _test* function in here and add it into - basic_estimator_test(). See _test_call() for an example. - """ - - @abc.abstractmethod - def set_topology(self, model_type): - pass - - def simulate(self): - """ - Simulate basic data example used for unit test. - - Sets attribute .data with simulated data. - - :return: - """ - nobs = 100 - ngenes = self.topology_container.ngenes - self.data = anndata.AnnData( - np.random.randint(low=0, high=100, size=(nobs, ngenes)).astype(np.float32) - ) - self.data.obs["cell_ontology_class"] = [ - ["vein endothelial cell", "glial cell"][np.random.randint(0, 2)] - for i in range(nobs) - ] - self.data.var["ensembl"] = self.topology_container.genome_container.ensembl - self.data.var["names"] = self.topology_container.genome_container.names - - @abc.abstractmethod - def init_estimator(self): - """ - Initialise target estimator as .estimator attribute. - """ - pass - - @abc.abstractmethod - def basic_estimator_test(self): - pass - - def _test_for_fatal(self): - np.random.seed(1) - self.simulate() - self.init_estimator() - self.basic_estimator_test() - return True - - -class TestEstimatorKerasEmbedding(unittest.TestCase, _TestEstimator): - - def set_topology(self, model_type): - self.topology_container = Topologies( - species="mouse", - model_class="embedding", - model_type=model_type, - topology_id="0.1" - ) - - def init_estimator(self): - self.estimator = EstimatorKerasEmbedding( - data=self.data, - model_dir=None, - model_id=None, - species="mouse", - organ="lung", - model_type=self.topology_container.model_type, - model_topology=self.topology_container.topology_id - ) - - def basic_estimator_test(self): - self.estimator.init_model() - self.estimator.train( - optimizer="adam", - lr=0.005, - epochs=2, - batch_size=32, - validation_split=0.1, - test_split=0.1, - validation_batch_size=32, - max_validation_steps=1 - ) - _ = self.estimator.evaluate() - prediction_output = self.estimator.predict() - prediction_embed = self.estimator.predict_embedding() - weights = self.estimator.model.training_model.get_weights() - self.estimator.save_weights_to_cache() - self.estimator.load_weights_from_cache() - new_prediction_output = self.estimator.predict() - new_prediction_embed = self.estimator.predict_embedding() - new_weights = self.estimator.model.training_model.get_weights() - for i in range(len(weights)): - assert np.allclose(weights[i], new_weights[i], rtol=1e-6, atol=1e-6) - if self.topology_container.model_type != 'vae': - assert np.allclose(prediction_output, new_prediction_output, rtol=1e-6, atol=1e-6) - assert np.allclose(prediction_embed, new_prediction_embed, rtol=1e-6, atol=1e-6) - - def test_for_fatal_vae(self): - self.set_topology(model_type="vae") - self._test_for_fatal() - - def test_for_fatal_ae(self): - self.set_topology(model_type="ae") - self._test_for_fatal() - - def test_for_fatal_linear(self): - self.set_topology(model_type="linear") - self._test_for_fatal() - - -class TestEstimatorKerasCelltype(unittest.TestCase, _TestEstimator): - - def set_topology(self, model_type): - self.topology_container = Topologies( - species="mouse", - model_class="celltype", - model_type=model_type, - topology_id="0.0.1" - ) - - def init_estimator(self): - self.estimator = EstimatorKerasCelltype( - data=self.data, - model_dir=None, - model_id=None, - species="mouse", - organ="lung", - model_type=self.topology_container.model_type, - model_topology=self.topology_container.topology_id - ) - - def basic_estimator_test(self): - self.estimator.init_model() - self.estimator.train( - optimizer="adam", - lr=0.005, - epochs=2, - batch_size=32, - validation_split=0.1, - test_split=0.1, - validation_batch_size=32, - max_validation_steps=1 - ) - _ = self.estimator.evaluate() - prediction_output = self.estimator.predict() - weights = self.estimator.model.training_model.get_weights() - self.estimator.save_weights_to_cache() - self.estimator.load_weights_from_cache() - new_prediction_output = self.estimator.predict() - new_weights = self.estimator.model.training_model.get_weights() - print(self.estimator.model.training_model.summary()) - for i in range(len(weights)): - assert np.allclose(weights[i], new_weights[i], rtol=1e-6, atol=1e-6) - assert np.allclose(prediction_output, new_prediction_output, rtol=1e-6, atol=1e-6) - - def test_for_fatal_mlp(self): - self.set_topology(model_type="mlp") - self._test_for_fatal() - - def test_for_fatal_marker(self): - self.set_topology(model_type="marker") - self._test_for_fatal() - - -if __name__ == '__main__': - unittest.main() diff --git a/sfaira/unit_tests/test_models.py b/sfaira/unit_tests/test_models.py deleted file mode 100644 index 02281d44d..000000000 --- a/sfaira/unit_tests/test_models.py +++ /dev/null @@ -1,236 +0,0 @@ -import abc -import numpy as np -import tensorflow as tf -import unittest - -from sfaira.estimators.losses import LossLoglikelihoodNb -from sfaira.estimators.metrics import custom_mse - -import sfaira.models as models -from sfaira.models.base import BasicModel - - -class _TestModel: - model: BasicModel - data: np.ndarray - - @abc.abstractmethod - def init_model(self): - """ - Initialise target model as .model attribute. - - :return: - """ - pass - - def simulate(self): - """ - Simulate basic data example used for unit test. - - Sets attribute .data with simulated data. - - :return: - """ - self.data = np.random.uniform(low=0, high=100, size=(1000, 100)).astype('float32') - self.sf = np.zeros((1000, 1)) - - -class TestModelAe(unittest.TestCase, _TestModel): - - def init_model(self): - tf.compat.v1.set_random_seed(0) - self.dataset = tf.data.Dataset.from_tensor_slices( - ((self.data, self.sf), self.data) - ) - self.model = models.embedding.ModelAe(in_dim=self.data.shape[1]) - - def compile_models(self): - self.model.training_model.compile( - optimizer=tf.keras.optimizers.Adam(learning_rate=1e-3), - loss=LossLoglikelihoodNb(), - metrics=[custom_mse] - ) - - def train(self): - self.model.training_model.fit( - self.dataset.repeat().batch(128), - epochs=2, steps_per_epoch=100 - ) - - def test_for_fatal(self): - print(tf.__version__) - np.random.seed(1) - self.simulate() - self.init_model() - self.compile_models() - self.train() - _ = self.model.training_model.evaluate(x=(self.data, self.sf), y=self.data) - embedding = self.model.predict_embedding(x=(self.data, self.sf)) - assert embedding.shape[0] == self.data.shape[0], embedding.shape - denoised = self.model.predict_reconstructed(x=(self.data, self.sf)) - assert denoised.shape == self.data.shape, (denoised.shape, self.data.shape) - return True - - -class TestModelVae(unittest.TestCase, _TestModel): - - def init_model(self): - # (_,_), (_,sf) is dummy for kl loss - self.dataset = tf.data.Dataset.from_tensor_slices( - ((self.data, self.sf), (self.data, self.sf)) - ) - self.model = models.embedding.ModelVae(in_dim=self.data.shape[1]) - tf.compat.v1.set_random_seed(0) - - def compile_models(self): - self.model.training_model.compile( - optimizer=tf.keras.optimizers.Adam(learning_rate=1e-3), - loss=LossLoglikelihoodNb(), - metrics=[custom_mse] - ) - - def train(self): - self.model.training_model.fit( - self.dataset.repeat().batch(128), - epochs=2, steps_per_epoch=100 - ) - - def test_for_fatal(self): - print(tf.__version__) - np.random.seed(1) - self.simulate() - self.init_model() - self.compile_models() - self.train() - # (_,_), (_,sf) is dummy for kl loss - _ = self.model.training_model.evaluate(x=(self.data, self.sf), y=(self.data, self.sf)) - embedding = self.model.predict_embedding(x=(self.data, self.sf))[0] - assert embedding.shape[0] == self.data.shape[0], embedding.shape - denoised = self.model.predict_reconstructed(x=(self.data, self.sf)) - assert denoised.shape == self.data.shape, (denoised.shape, self.data.shape) - return True - - -class TestModelLinear(unittest.TestCase, _TestModel): - - def init_model(self): - self.dataset = tf.data.Dataset.from_tensor_slices( - ((self.data, self.sf), self.data) - ) - self.model = models.embedding.ModelLinear( - in_dim=self.data.shape[1], - output_layer="nb_shared_disp" - ) - tf.compat.v1.set_random_seed(0) - - def compile_models(self): - self.model.training_model.compile( - optimizer=tf.keras.optimizers.Adam(learning_rate=1e-3), - loss=LossLoglikelihoodNb(), - metrics=[custom_mse] - ) - - def train(self): - self.model.training_model.fit( - self.dataset.repeat().batch(128), - epochs=2, steps_per_epoch=100 - ) - - def test_for_fatal(self): - print(tf.__version__) - np.random.seed(1) - self.simulate() - self.init_model() - self.compile_models() - self.train() - _ = self.model.training_model.evaluate(x=(self.data, self.sf), y=self.data) - embedding = self.model.predict_embedding(x=(self.data, self.sf)) - assert embedding.shape[0] == self.data.shape[0], (embedding.shape, self.data.shape) - denoised = self.model.predict_reconstructed(x=(self.data, self.sf)) - assert denoised.shape == self.data.shape, (denoised.shape, self.data.shape) - return True - - -class TestCelltypeMlp(unittest.TestCase, _TestModel): - - def init_model(self): - self.out_dim = 20 - self.dataset = tf.data.Dataset.from_tensor_slices( - (self.data, np.ones((self.data.shape[0], self.out_dim))) - ) - self.model = models.celltype.CellTypeMlp( - in_dim=self.data.shape[1], - out_dim=self.out_dim, - units=[30] - ) - - def compile_model(self): - self.model.training_model.compile( - optimizer=tf.keras.optimizers.Adam(learning_rate=1e-3), - loss=tf.keras.losses.CategoricalCrossentropy(), - metrics=["accuracy"] - ) - - def train(self): - train_dataset = self.dataset - train_dataset = train_dataset.shuffle(buffer_size=1024).batch(64) - self.model.training_model.fit(train_dataset, epochs=5, steps_per_epoch=2) - - def test_for_fatal(self): - print(tf.__version__) - np.random.seed(1) - self.simulate() - self.init_model() - self.compile_model() - self.train() - self.model.training_model.evaluate( - x=self.data, y=np.ones((self.data.shape[0], self.out_dim)) - ) - self.model.training_model.predict( - x=self.data - ) - return True - - -class TestCelltypeMarker(unittest.TestCase, _TestModel): - - def init_model(self): - self.out_dim = 20 - self.dataset = tf.data.Dataset.from_tensor_slices( - (self.data, np.ones((self.data.shape[0], self.out_dim))) - ) - self.model = models.celltype.CellTypeMarker( - in_dim=self.data.shape[1], - out_dim=self.out_dim, - ) - - def compile_model(self): - self.model.training_model.compile( - optimizer=tf.keras.optimizers.Adam(learning_rate=1e-3), - loss=tf.keras.losses.CategoricalCrossentropy(), - metrics=["accuracy"] - ) - - def train(self): - train_dataset = self.dataset - train_dataset = train_dataset.shuffle(buffer_size=1024).batch(64) - self.model.training_model.fit(train_dataset, epochs=5, steps_per_epoch=2) - - def test_for_fatal(self): - print(tf.__version__) - np.random.seed(1) - self.simulate() - self.init_model() - self.compile_model() - self.train() - self.model.training_model.evaluate( - x=self.data, y=np.ones((self.data.shape[0], self.out_dim)) - ) - self.model.training_model.predict( - x=self.data - ) - return True - - -if __name__ == '__main__': - unittest.main() diff --git a/sfaira/unit_tests/test_zoo.py b/sfaira/unit_tests/test_zoo.py deleted file mode 100644 index 2fa0b0763..000000000 --- a/sfaira/unit_tests/test_zoo.py +++ /dev/null @@ -1,100 +0,0 @@ -import abc -import numpy as np -import os -import pandas as pd -from typing import Union -import unittest - -from sfaira.unit_tests.external import ModelZoo, ModelZooCelltype, ModelZooEmbedding - - -class _TestZoo: - zoo: Union[ModelZoo] - data: np.ndarray - - """ - Contains functions _test* to test individual functions and attributes of estimator class. - - TODO for everybody working on this, add one _test* function in here and add it into - basic_estimator_test(). See _test_kipoi_call() for an example. - """ - - @abc.abstractmethod - def init_zoo(self): - """ - Initialise target zoo as .zoo attribute. - - :return: - """ - pass - - def simulate(self): - """ - Simulate basic data example used for unit test. - - Sets attribute .data with simulated data. - - :return: - """ - pass - - def _test_kipoi_call(self): - """ - Test whether kipoi_experimental model call works. - - :return: - """ - self.zoo.call_kipoi() - - def _test_basic(self, id: str): - """ - Test all relevant model methods. - - - :return: - """ - np.random.seed(1) - self.simulate() - self.init_zoo() - #self._test_kipoi_call() - self.zoo_manual.set_model_id(id) - - -class TestZooKerasEmbedding(unittest.TestCase, _TestZoo): - - def init_zoo(self): - package_dir = str(os.path.dirname(os.path.abspath(__file__))) - lookup_table = pd.read_csv( - os.path.join(package_dir, 'test_data', 'model_lookuptable.csv'), - header=0, index_col=0 - ) - self.zoo = ModelZooEmbedding(model_lookuptable=lookup_table) - self.zoo_manual = ModelZooEmbedding(model_lookuptable=None) - - def test_basic(self): - self._test_basic(id="embedding_mouse_lung_vae_theislab_0.1_0.1") - self.zoo.set_latest('mouse', 'lung', 'vae', 'theislab', '0.1') - assert self.zoo.model_id == "embedding_mouse_lung_vae_theislab_0.1_0.1" - assert self.zoo.model_id == self.zoo_manual.model_id - - -class TestZooKerasCelltype(unittest.TestCase, _TestZoo): - - def init_zoo(self): - package_dir = str(os.path.dirname(os.path.abspath(__file__))) - lookup_table = pd.read_csv( - os.path.join(package_dir, 'test_data', 'model_lookuptable.csv'), - header=0, index_col=0 - ) - self.zoo = ModelZooCelltype(model_lookuptable=lookup_table) - self.zoo_manual = ModelZooCelltype(model_lookuptable=None) - - def test_basic(self): - self._test_basic(id="celltype_mouse_lung_mlp_theislab_0.0.1_0.1") - self.zoo.set_latest('mouse', 'lung', 'mlp', 'theislab', '0.0.1') - assert self.zoo.model_id == "celltype_mouse_lung_mlp_theislab_0.0.1_0.1" - assert self.zoo.model_id == self.zoo_manual.model_id - - -if __name__ == '__main__': - unittest.main() diff --git a/sfaira/unit_tests/trainer/__init__.py b/sfaira/unit_tests/trainer/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/sfaira/unit_tests/trainer/test_trainer.py b/sfaira/unit_tests/trainer/test_trainer.py new file mode 100644 index 000000000..1d4b0115b --- /dev/null +++ b/sfaira/unit_tests/trainer/test_trainer.py @@ -0,0 +1,83 @@ +import anndata +import numpy as np +import os +from typing import Union + +from sfaira.data import load_store +from sfaira.interface import ModelZoo +from sfaira.train import TrainModelCelltype, TrainModelEmbedding +from sfaira.unit_tests.utils import cached_store_writing, simulate_anndata + +dir_data = os.path.join(os.path.dirname(os.path.dirname(__file__)), "test_data") +dir_meta = os.path.join(os.path.dirname(os.path.dirname(__file__)), "test_data/meta") + +ASSEMBLY = "Mus_musculus.GRCm38.102" +TARGETS = ["T cell", "stromal cell"] + + +class HelperTrainerBase: + + data: Union[anndata.AnnData, load_store] + trainer: Union[TrainModelCelltype, TrainModelEmbedding] + + def __init__(self, zoo: ModelZoo): + self.model_id = zoo.model_id + self.tc = zoo.topology_container + + def _simulate(self) -> anndata.AnnData: + """ + Simulate basic data example used for unit test. + + :return: Simulated data set. + """ + return simulate_anndata(n_obs=100, genes=self.tc.gc.ensembl, targets=TARGETS) + + def load_adata(self): + """ + Sets attribute .data with simulated data. + """ + self.data = self._simulate() + + def load_store(self): + store_path = cached_store_writing(dir_data=dir_data, dir_meta=dir_meta, assembly=ASSEMBLY, organism="mouse") + store = load_store(cache_path=store_path) + self.data = store + + def load_data(self, data_type): + np.random.seed(1) + if data_type == "adata": + self.load_adata() + else: + self.load_store() + + def test_init(self, cls): + self.load_data(data_type="adata") + self.trainer = cls( + data=self.data, + model_path=dir_meta, + ) + self.trainer.zoo.model_id = self.model_id + self.trainer.init_estim(override_hyperpar={}) + + def test_save(self): + self.trainer.estimator.train(epochs=1, max_steps_per_epoch=1, test_split=0.1, validation_split=0.1, + optimizer="adam", lr=0.005) + self.trainer.save(fn=os.path.join(dir_data, "trainer_test"), model=True, specific=True) + + +def test_save_embedding(): + model_id = "embedding_human-lung-linear-0.1-0.1_mylab" + zoo = ModelZoo() + zoo.model_id = model_id + test_trainer = HelperTrainerBase(zoo=zoo) + test_trainer.test_init(cls=TrainModelEmbedding) + test_trainer.test_save() + + +def test_save_celltypes(): + model_id = "celltype_human-lung-mlp-0.0.1-0.1_mylab" + zoo = ModelZoo() + zoo.model_id = model_id + test_trainer = HelperTrainerBase(zoo=zoo) + test_trainer.test_init(cls=TrainModelCelltype) + test_trainer.test_save() diff --git a/sfaira/unit_tests/utils.py b/sfaira/unit_tests/utils.py new file mode 100644 index 000000000..a2dc5d27b --- /dev/null +++ b/sfaira/unit_tests/utils.py @@ -0,0 +1,94 @@ +import anndata +import numpy as np +import os +from typing import Tuple, Union + +from sfaira.consts import AdataIdsSfaira, OCS +from sfaira.data import Universe +from sfaira.versions.metadata import OntologyOboCustom + + +def simulate_anndata(genes, n_obs, targets=None, assays=None, obo: Union[None, OntologyOboCustom] = None) -> \ + anndata.AnnData: + """ + Simulate basic data example. + + :return: AnnData instance. + """ + adata_ids_sfaira = AdataIdsSfaira() + data = anndata.AnnData( + np.random.randint(low=0, high=100, size=(n_obs, len(genes))).astype(np.float32) + ) + if assays is not None: + data.obs[adata_ids_sfaira.assay_sc] = [ + assays[np.random.randint(0, len(assays))] + for _ in range(n_obs) + ] + if targets is not None: + data.obs[adata_ids_sfaira.cellontology_class] = [ + targets[np.random.randint(0, len(targets))] + for _ in range(n_obs) + ] + if obo is None: + data.obs[adata_ids_sfaira.cellontology_id] = [ + OCS.cellontology_class.convert_to_id(x) + if x not in [adata_ids_sfaira.unknown_celltype_identifier, + adata_ids_sfaira.not_a_cell_celltype_identifier] + else x + for x in data.obs[adata_ids_sfaira.cellontology_class].values + ] + else: + data.obs[adata_ids_sfaira.cellontology_id] = [ + obo.convert_to_id(x) + if x not in [adata_ids_sfaira.unknown_celltype_identifier, + adata_ids_sfaira.not_a_cell_celltype_identifier] + else x + for x in data.obs[adata_ids_sfaira.cellontology_class].values + ] + data.var[adata_ids_sfaira.gene_id_ensembl] = genes + return data + + +def cached_store_writing(dir_data, dir_meta, assembly, organism: str = "mouse", organ: str = "lung", + store_format: str = "h5ad", return_ds: bool = False) -> Union[str, Tuple[str, Universe]]: + """ + Writes a store if it does not already exist. + + :return: Path to store. + """ + adata_ids_sfaira = AdataIdsSfaira() + store_path = os.path.join(dir_data, "store") + ds = Universe(data_path=dir_data, meta_path=dir_meta, cache_path=dir_data) + ds.subset(key=adata_ids_sfaira.organism, values=[organism]) + ds.subset(key=adata_ids_sfaira.organ, values=[organ]) + # Only load files that are not already in cache. + anticipated_files = np.unique([ + v.doi[0] if isinstance(v.doi, list) else v.doi for k, v in ds.datasets.items() + if (not os.path.exists(os.path.join(store_path, v.doi_cleaned_id + "." + store_format)) and + store_format == "h5ad") or + (not os.path.exists(os.path.join(store_path, v.doi_cleaned_id)) and store_format == "dao") + ]).tolist() + ds.subset(key=adata_ids_sfaira.doi, values=anticipated_files) + ds.load(allow_caching=True) + ds.streamline_features(remove_gene_version=True, match_to_reference={organism: assembly}, + subset_genes_to_type="protein_coding") + ds.streamline_metadata(schema="sfaira", uns_to_obs=True, clean_obs=True, clean_var=True, clean_uns=True, + clean_obs_names=True) + if store_format == "zarr": + compression_kwargs = {"compressor": "default", "overwrite": True, "order": "C"} + else: + compression_kwargs = {} + ds.write_distributed_store(dir_cache=store_path, store_format=store_format, dense=store_format == "dao", + chunks=128, compression_kwargs=compression_kwargs) + if return_ds: + ds = Universe(data_path=dir_data, meta_path=dir_meta, cache_path=dir_data) + ds.subset(key=adata_ids_sfaira.organism, values=[organism]) + ds.subset(key=adata_ids_sfaira.organ, values=[organ]) + ds.load(allow_caching=True) + ds.streamline_features(remove_gene_version=True, match_to_reference={organism: assembly}, + subset_genes_to_type="protein_coding") + ds.streamline_metadata(schema="sfaira", uns_to_obs=True, clean_obs=True, clean_var=True, clean_uns=True, + clean_obs_names=True) + return store_path, ds + else: + return store_path diff --git a/sfaira/unit_tests/versions/__init__.py b/sfaira/unit_tests/versions/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/sfaira/unit_tests/versions/test_genomes.py b/sfaira/unit_tests/versions/test_genomes.py new file mode 100644 index 000000000..512ca2417 --- /dev/null +++ b/sfaira/unit_tests/versions/test_genomes.py @@ -0,0 +1,40 @@ +import numpy as np +import pytest +from typing import Tuple, Union + +from sfaira.versions.genomes import GenomeContainer + +""" +GenomeContainer +""" + + +@pytest.mark.parametrize("organism", ["mouse"]) +@pytest.mark.parametrize("assembly", [None, "Mus_musculus.GRCm38.102"]) +def test_gc_init(organism: Union[str, None], assembly: Union[str, None]): + """ + Tests different modes of initialisation for fatal errors. + """ + gc = GenomeContainer(organism=organism, assembly=assembly) + assert gc.organism == "mus_musculus" + + +@pytest.mark.parametrize("subset", [ + ({"biotype": "protein_coding"}, 21936), + ({"biotype": "lincRNA"}, 5629), + ({"biotype": "protein_coding,lincRNA"}, 21936 + 5629), + ({"symbols": "Gnai3,Pbsn,Cdc45"}, 3), + ({"ensg": "ENSMUSG00000000003,ENSMUSG00000000028"}, 2) +]) +def test_gc_subsetting(subset: Tuple[dict, int]): + """ + Tests if genome container is subsetted correctly. + """ + gc = GenomeContainer(organism=None, assembly="Mus_musculus.GRCm38.102") + gc.subset(**subset[0]) + assert gc.n_var == subset[1] + assert len(gc.ensembl) == subset[1] + assert len(gc.symbols) == subset[1] + assert len(gc.biotype) == subset[1] + if list(subset[0].keys())[0] == "protein_coding": + assert np.all(gc.biotype == "protein_coding") diff --git a/sfaira/unit_tests/versions/test_ontologies.py b/sfaira/unit_tests/versions/test_ontologies.py new file mode 100644 index 000000000..9d568919e --- /dev/null +++ b/sfaira/unit_tests/versions/test_ontologies.py @@ -0,0 +1,170 @@ +import numpy as np +from sfaira.versions.metadata import OntologyUberon, OntologyCl, OntologyMondo, OntologyMmusdv, OntologyHsapdv, \ + OntologySinglecellLibraryConstruction + +""" +OntologyCelltypes +""" + + +def test_cl_loading(): + """ + Tests if ontology can be initialised. + """ + _ = OntologyCl(branch="v2021-02-01") + + +def test_cl_is_a(): + """ + Tests if is-a relationships work correctly. + """ + oc = OntologyCl(branch="v2021-02-01") + assert oc.is_a(query="T cell", reference="lymphocyte") + assert oc.is_a(query="lymphocyte", reference="lymphocyte") + assert not oc.is_a(query="lymphocyte", reference="T cell") + + +def test_cl_effective_leaves(): + """ + Tests if node sets can be mapped to effective leaf sets via `OntologyCelltypes.get_effective_leaves()` + """ + oc = OntologyCl(branch="v2021-02-01") + x = oc.get_effective_leaves(x=[ + "CD4-positive helper T cell", "lymphocyte", "stromal cell", "T cell", "T-helper 1 cell", + "T-helper 17 cell" + ]) + x = oc.convert_to_name(x) + assert set(x) == {"stromal cell", "T-helper 1 cell", "T-helper 17 cell"}, x + + +def test_cl_map_leaves(): + """ + Tests if nodes can be mapped to leave nodes in ontology. + """ + oc = OntologyCl(branch="v2021-02-01") + leaf_map_1 = oc.convert_to_name(oc.map_to_leaves(node="CD4-positive helper T cell", include_self=True)) + leaf_map_2 = oc.map_to_leaves(node="CD4-positive helper T cell", include_self=True, return_type="idx") + assert len(leaf_map_1) == 7 + assert np.all(leaf_map_2 == np.sort([oc.convert_to_name(oc.leaves).index(x) for x in list(leaf_map_1)])) + + +def test_cl_set_leaves(): + """ + Tests if ontology behaves correctly if leaf nodes were reset. + """ + oc = OntologyCl(branch="v2021-02-01", use_developmental_relationships=False) + targets = ["stromal cell", "T-helper 1 cell", "T-helper 17 cell"] + oc.leaves = targets + leaves = oc.convert_to_name(oc.leaves) + assert set(leaves) == set(targets), leaves + assert len(oc.node_ids) == 22 + assert np.all([x in oc.convert_to_name(oc.node_ids) for x in targets]), oc.convert_to_name(oc.node_ids) + leaf_map_1 = oc.convert_to_name(oc.map_to_leaves(node="lymphocyte", include_self=True)) + leaf_map_2 = oc.convert_to_name(oc.map_to_leaves(node="lymphocyte", include_self=False)) + leaf_map_3 = oc.map_to_leaves(node="lymphocyte", include_self=True, return_type="idx") + leaf_map_4 = oc.convert_to_name(oc.map_to_leaves(node="T-helper 1 cell", include_self=True)) + leaf_map_5 = oc.map_to_leaves(node="T-helper 1 cell", include_self=False) + leaf_map_6 = oc.map_to_leaves(node="T-helper 1 cell", include_self=True, return_type="idx") + assert set(leaf_map_1) == {"T-helper 1 cell", "T-helper 17 cell"} + assert set(leaf_map_2) == {"T-helper 1 cell", "T-helper 17 cell"} + assert np.all(leaf_map_3 == np.sort([oc.convert_to_name(oc.leaves).index(x) for x in list(leaf_map_1)])) + assert set(leaf_map_4) == {"T-helper 1 cell"} + assert leaf_map_5 == [] + assert np.all(leaf_map_6 == np.sort([oc.convert_to_name(oc.leaves).index(x) for x in list(leaf_map_4)])) + + +""" +Hancestro +""" + +# def test_hancestro_loading(): +# _ = OntologyHancestro() + +""" +Hsapdv +""" + + +def test_hsapdv_loading(): + _ = OntologyHsapdv() + + +""" +MONDO +""" + + +def test_mondo_loading(): + _ = OntologyMondo() + + +""" +Mmusdv +""" + + +def test_mmusdv_loading(): + _ = OntologyMmusdv() + + +""" +OntologySinglecellLibraryConstruction +""" + + +def test_sclc_loading(): + """ + Tests if ontology can be initialised. + """ + _ = OntologySinglecellLibraryConstruction() + + +def test_sclc_nodes(): + """ + Tests for presence and absence of a few commonly mistaken nodes. + """ + sclc = OntologySinglecellLibraryConstruction() + assert "10x sequencing" in sclc.node_names + assert "10x 5' v3 sequencing" in sclc.node_names + assert "Smart-like" in sclc.node_names + assert "Smart-seq2" in sclc.node_names + assert "sci-plex" in sclc.node_names + assert "single cell library construction" in sclc.node_names + + +def test_sclc_is_a(): + """ + Tests if is-a relationships work correctly. + """ + sclc = OntologySinglecellLibraryConstruction() + assert sclc.is_a(query="10x v1 sequencing", reference="10x sequencing") + assert sclc.is_a(query="10x 5' v3 sequencing", reference="10x sequencing") + assert sclc.is_a(query="10x 5' v3 sequencing", reference="10x v3 sequencing") + assert not sclc.is_a(query="10x sequencing", reference="10x v1 sequencing") + assert sclc.is_a(query="10x 5' v3 sequencing", reference="single cell library construction") + assert sclc.is_a(query="sci-plex", reference="single cell library construction") + assert not sclc.is_a(query="sci-plex", reference="10x sequencing") + + +""" +UBERON +""" + + +def test_uberon_loading(): + _ = OntologyUberon() + + +def test_uberon_subsetting(): + ou = OntologyUberon() + assert ou.is_a(query="lobe of lung", reference="lung") + assert ou.is_a(query="lobe of lung", reference="lobe of lung") + assert not ou.is_a(query="lung", reference="lobe of lung") + + assert ou.is_a(query="lobar bronchus", reference="lung") + assert ou.is_a(query="lobar bronchus", reference="lobar bronchus") + assert not ou.is_a(query="lung", reference="lobar bronchus") + + assert ou.is_a(query="adipose tissue of abdominal region", reference="adipose tissue") + assert ou.is_a(query="adipose tissue", reference="adipose tissue") + assert not ou.is_a(query="adipose tissue", reference="adipose tissue of abdominal region") diff --git a/sfaira/unit_tests/versions/test_universe.py b/sfaira/unit_tests/versions/test_universe.py new file mode 100644 index 000000000..560eec945 --- /dev/null +++ b/sfaira/unit_tests/versions/test_universe.py @@ -0,0 +1,20 @@ +import os + +from sfaira.versions.metadata import CelltypeUniverse, OntologyCl, OntologyUberon + +""" +CelltypeUniverse +""" + + +def test_universe_io(): + tmp_fn = "./universe_tempp.csv" + targets = ["stromal cell", "lymphocyte", "T-helper 1 cell", "T-helper 17 cell"] + cl = OntologyCl(branch="v2021-02-01") + uberon = OntologyUberon() + cu = CelltypeUniverse(cl=cl, uberon=uberon) + cu.write_target_universe(fn=tmp_fn, x=targets) + cu.load_target_universe(fn=tmp_fn) + os.remove(tmp_fn) + leaves = cu.leaves + assert set(leaves) == set(targets), (leaves, targets) diff --git a/sfaira/unit_tests/versions/test_zoo.py b/sfaira/unit_tests/versions/test_zoo.py new file mode 100644 index 000000000..9204117ae --- /dev/null +++ b/sfaira/unit_tests/versions/test_zoo.py @@ -0,0 +1,100 @@ +import abc +import numpy as np +import os +import pandas as pd +from typing import Union +import unittest + +from sfaira.interface.model_zoo import ModelZoo, ModelZooCelltype, ModelZooEmbedding + + +class _TestZoo: + zoo: Union[ModelZoo] + data: np.ndarray + + """ + Contains functions _test* to test individual functions and attributes of estimator class. + + TODO for everybody working on this, add one _test* function in here and add it into + basic_estimator_test(). See _test_kipoi_call() for an example. + """ + + @abc.abstractmethod + def init_zoo(self): + """ + Initialise target zoo as .zoo attribute. + + :return: + """ + pass + + def simulate(self): + """ + Simulate basic data example used for unit test. + + Sets attribute .data with simulated data. + + :return: + """ + pass + + def _test_kipoi_call(self): + """ + Test whether kipoi_experimental model call works. + + :return: + """ + self.zoo.call_kipoi() + + def _test_basic(self, id: str): + """ + Test all relevant model methods. + + + :return: + """ + np.random.seed(1) + self.simulate() + self.init_zoo() + # self._test_kipoi_call() + self.zoo_manual.set_model_id(id) + + +class TestZooKerasEmbedding(unittest.TestCase, _TestZoo): + + def init_zoo(self): + package_dir = str(os.path.dirname(os.path.abspath(__file__))) + lookup_table = pd.read_csv( + os.path.join(package_dir, '../test_data', 'model_lookuptable.csv'), + header=0, index_col=0 + ) + self.zoo = ModelZooEmbedding(model_lookuptable=lookup_table) + self.zoo_manual = ModelZooEmbedding(model_lookuptable=None) + + def test_basic(self): + self._test_basic(id="embedding_mouse_lung_vae_theislab_0.1_0.1") + self.zoo.set_latest('mouse', 'lung', 'vae', 'theislab', '0.1') + assert self.zoo.model_id == "embedding_mouse_lung_vae_theislab_0.1_0.1" + assert self.zoo.model_id == self.zoo_manual.model_id + + +class TestZooKerasCelltype(unittest.TestCase, _TestZoo): + + def init_zoo(self): + package_dir = str(os.path.dirname(os.path.abspath(__file__))) + lookup_table = pd.read_csv( + os.path.join(package_dir, '../test_data', 'model_lookuptable.csv'), + header=0, index_col=0 + ) + self.zoo = ModelZooCelltype(model_lookuptable=lookup_table) + self.zoo_manual = ModelZooCelltype(model_lookuptable=None) + + def test_basic(self): + self._test_basic(id="celltype_mouse_lung_mlp_theislab_0.0.1_0.1") + self.zoo.set_latest('mouse', 'lung', 'mlp', 'theislab', '0.0.1') + assert self.zoo.model_id == "celltype_mouse_lung_mlp_theislab_0.0.1_0.1" + assert self.zoo.model_id == self.zoo_manual.model_id + + +if __name__ == '__main__': + unittest.main() diff --git a/sfaira/versions/__init__.py b/sfaira/versions/__init__.py index e69de29bb..df806c4cd 100644 --- a/sfaira/versions/__init__.py +++ b/sfaira/versions/__init__.py @@ -0,0 +1,3 @@ +from . import metadata +from . import genomes +from . import topologies diff --git a/sfaira/versions/celltype_versions/__init__.py b/sfaira/versions/celltype_versions/__init__.py deleted file mode 100644 index 3e4990909..000000000 --- a/sfaira/versions/celltype_versions/__init__.py +++ /dev/null @@ -1,38 +0,0 @@ -from .base import CelltypeVersionsBase -from . import mouse -from . import human - - -mouse = mouse.ORGAN_DICT -human = human.ORGAN_DICT - -# Load versions from extension if available: -try: - from sfaira_extension.versions.celltype_versions import SPECIES_DICT as SPECIES_DICT_EXTENSION - - for organ in mouse.keys(): - if organ in SPECIES_DICT_EXTENSION["mouse"].keys(): - for v in SPECIES_DICT_EXTENSION["mouse"][organ].versions: - if v in mouse[organ].celltype_universe.keys(): - raise ValueError(f'Celltype version {v} already defined for mouse organ {organ} in base sfaira. ' - f'Please define a new version in sfaira_extension.') - else: - mouse[organ].celltype_universe[v] = SPECIES_DICT_EXTENSION["mouse"][organ].celltype_universe[v] - mouse[organ].ontology[v] = SPECIES_DICT_EXTENSION["mouse"][organ].ontology[v] - - for organ in human.keys(): - if organ in SPECIES_DICT_EXTENSION["human"].keys(): - for v in SPECIES_DICT_EXTENSION["human"][organ].versions: - if v in human[organ].celltype_universe.keys(): - raise ValueError(f'Celltype version {v} already defined for human organ {organ} in base sfaira. ' - f'Please define a new version in sfaira_extension.') - else: - human[organ].celltype_universe[v] = SPECIES_DICT_EXTENSION["human"][organ].celltype_universe[v] - human[organ].ontology[v] = SPECIES_DICT_EXTENSION["human"][organ].ontology[v] -except ImportError: - pass - -SPECIES_DICT = { - "mouse": mouse, - "human": human -} \ No newline at end of file diff --git a/sfaira/versions/celltype_versions/base.py b/sfaira/versions/celltype_versions/base.py deleted file mode 100644 index 3beeef80c..000000000 --- a/sfaira/versions/celltype_versions/base.py +++ /dev/null @@ -1,110 +0,0 @@ -import numpy as np - - -class CelltypeVersionsBase: - """ - Versioned cell type universe (list) and ontology (hierarchy) container class. - - This class is subclassed once for each anatomical structure (organ). - Cell type versions take the form x.y: - - x is a major version and is incremented if the cell type identities or number changes. - - y is a minor version and is incremented if cell type annotation such as names are altered without changing - the described cell type or adding cell types. - - Basic checks on the organ specific instance are performed in the constructor. - """ - - celltype_universe: dict - ontology: dict - version: str - - def __init__(self, **kwargs): - # Check that versions are consistent. - if not list(self.celltype_universe.keys()) == list(self.ontology.keys()): - raise ValueError( - "error in matching versions of cell type universe and ontology in %s" % - type(self) - ) - # Check that ontology terms are unique also between ontologies - if np.sum([len(x) for x in self.ontology.values()]) != \ - len(np.unique(np.array([list(x) for x in self.ontology.values()]))): - raise ValueError( - "duplicated ontology terms found between ontologies in %s" % - type(self) - ) - - @property - def versions(self): - """ - Available cell type universe versions loaded in this instance. - - :return: - """ - return self.celltype_universe.keys() - - def _check_version(self, version: str): - if version not in self.celltype_universe.keys(): - raise ValueError("Version %s not found. Check self.version for available versions." % version) - - def set_version( - self, - version: str - ): - """ - Set a cell type universe version for this instance. - - :param version: Full version string "a.b.c" or celltype version "a". - :return: - """ - if len(version.split(".")) == 3: - version = version.split(".")[0] - self._check_version(version=version) - self.version = version - elif len(version.split(".")) == 1: - self._check_version(version=version) - self.version = version - else: - raise ValueError("version supplied should be either in format `a.b.c` or `a`") - - - @property - def ids(self): - """ - List of all human understandable cell type names of this instance. - - :return: - """ - return self._ids(self.version) - - def _ids(self, version: str): - return [x[0] for x in self.celltype_universe[version]] - - @property - def ontology_ids(self): - """ - List of all cell type IDs (based on an ontology ID scheme) of this instance. - - :return: - """ - return self._ontology_ids(self.version) - - def _ontology_ids(self, version: str): - return [x[1] for x in self.celltype_universe[version]] - - @property - def ntypes(self): - """ - Number of different cell types in this instance. - - :return: - """ - return self._ntypes(self.version) - - def _ntypes(self, version: str): - return len(self.celltype_universe[version]) - - def to_csv( - self, - fn: str - ): - pass diff --git a/sfaira/versions/celltype_versions/human/__init__.py b/sfaira/versions/celltype_versions/human/__init__.py deleted file mode 100644 index 85ca723ed..000000000 --- a/sfaira/versions/celltype_versions/human/__init__.py +++ /dev/null @@ -1,92 +0,0 @@ -from .adipose import CelltypeVersionsHumanAdipose -from .adrenalgland import CelltypeVersionsHumanAdrenalgland -from .mixed import CelltypeVersionsHumanMixed -from .artery import CelltypeVersionsHumanArtery -from .bladder import CelltypeVersionsHumanBladder -from .blood import CelltypeVersionsHumanBlood -from .bone import CelltypeVersionsHumanBone -from .brain import CelltypeVersionsHumanBrain -from .calvaria import CelltypeVersionsHumanCalvaria -from .cervix import CelltypeVersionsHumanCervix -from .chorionicvillus import CelltypeVersionsHumanChorionicvillus -from .colon import CelltypeVersionsHumanColon -from .duodenum import CelltypeVersionsHumanDuodenum -from .epityphlon import CelltypeVersionsHumanEpityphlon -from .esophagus import CelltypeVersionsHumanEsophagus -from .eye import CelltypeVersionsHumanEye -from .fallopiantube import CelltypeVersionsHumanFallopiantube -from .femalegonad import CelltypeVersionsHumanFemalegonad -from .gallbladder import CelltypeVersionsHumanGallbladder -from .heart import CelltypeVersionsHumanHeart -from .hesc import CelltypeVersionsHumanHesc -from .ileum import CelltypeVersionsHumanIleum -from .jejunum import CelltypeVersionsHumanJejunum -from .kidney import CelltypeVersionsHumanKidney -from .liver import CelltypeVersionsHumanLiver -from .lung import CelltypeVersionsHumanLung -from .malegonad import CelltypeVersionsHumanMalegonad -from .muscle import CelltypeVersionsHumanMuscle -from .omentum import CelltypeVersionsHumanOmentum -from .pancreas import CelltypeVersionsHumanPancreas -from .placenta import CelltypeVersionsHumanPlacenta -from .pleura import CelltypeVersionsHumanPleura -from .prostate import CelltypeVersionsHumanProstate -from .rectum import CelltypeVersionsHumanRectum -from .rib import CelltypeVersionsHumanRib -from .skin import CelltypeVersionsHumanSkin -from .spinalcord import CelltypeVersionsHumanSpinalcord -from .spleen import CelltypeVersionsHumanSpleen -from .stomach import CelltypeVersionsHumanStomach -from .thymus import CelltypeVersionsHumanThymus -from .thyroid import CelltypeVersionsHumanThyroid -from .trachea import CelltypeVersionsHumanTrachea -from .ureter import CelltypeVersionsHumanUreter -from .uterus import CelltypeVersionsHumanUterus - - -ORGAN_DICT = { - 'adipose': CelltypeVersionsHumanAdipose(), - 'adrenalgland': CelltypeVersionsHumanAdrenalgland(), - 'mixed': CelltypeVersionsHumanMixed(), - 'artery': CelltypeVersionsHumanArtery(), - 'bladder': CelltypeVersionsHumanBladder(), - 'blood': CelltypeVersionsHumanBlood(), - 'bone': CelltypeVersionsHumanBone(), - 'brain': CelltypeVersionsHumanBrain(), - 'calvaria': CelltypeVersionsHumanCalvaria(), - 'cervix': CelltypeVersionsHumanCervix(), - 'chorionicvillus': CelltypeVersionsHumanChorionicvillus(), - 'colon': CelltypeVersionsHumanColon(), - 'duodenum': CelltypeVersionsHumanDuodenum(), - 'epityphlon': CelltypeVersionsHumanEpityphlon(), - 'esophagus': CelltypeVersionsHumanEsophagus(), - 'eye': CelltypeVersionsHumanEye(), - 'fallopiantube': CelltypeVersionsHumanFallopiantube(), - 'femalegonad': CelltypeVersionsHumanFemalegonad(), - 'gallbladder': CelltypeVersionsHumanGallbladder(), - 'heart': CelltypeVersionsHumanHeart(), - 'hesc': CelltypeVersionsHumanHesc(), - 'ileum': CelltypeVersionsHumanIleum(), - 'jejunum': CelltypeVersionsHumanJejunum(), - 'kidney': CelltypeVersionsHumanKidney(), - 'liver': CelltypeVersionsHumanLiver(), - 'lung': CelltypeVersionsHumanLung(), - 'malegonad': CelltypeVersionsHumanMalegonad(), - 'muscle': CelltypeVersionsHumanMuscle(), - 'omentum': CelltypeVersionsHumanOmentum(), - 'pancreas': CelltypeVersionsHumanPancreas(), - 'placenta': CelltypeVersionsHumanPlacenta(), - 'pleura': CelltypeVersionsHumanPleura(), - 'prostate': CelltypeVersionsHumanProstate(), - 'rectum': CelltypeVersionsHumanRectum(), - 'rib': CelltypeVersionsHumanRib(), - 'skin': CelltypeVersionsHumanSkin(), - 'spinalcord': CelltypeVersionsHumanSpinalcord(), - 'spleen': CelltypeVersionsHumanSpleen(), - 'stomach': CelltypeVersionsHumanStomach(), - 'thymus': CelltypeVersionsHumanThymus(), - 'thyroid': CelltypeVersionsHumanThyroid(), - 'trachea': CelltypeVersionsHumanTrachea(), - 'ureter': CelltypeVersionsHumanUreter(), - 'uterus': CelltypeVersionsHumanUterus() -} diff --git a/sfaira/versions/celltype_versions/human/adipose.py b/sfaira/versions/celltype_versions/human/adipose.py deleted file mode 100644 index 6b0447e8a..000000000 --- a/sfaira/versions/celltype_versions/human/adipose.py +++ /dev/null @@ -1,34 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_ADIPOSE_V0 = [ - ['B cell (Plasmocyte)', "nan"], - ['Dendritic cell', "nan"], - ['Endothelial cell (APC)', "nan"], - ['Endothelial cell (endothelial to mesenchymal transition)', "nan"], - ['Epithelial cell', "nan"], - ['Erythroid cell', "nan"], - ['Fibroblast', "nan"], - ['Macrophage', "nan"], - ['Mast cell', "nan"], - ['Monocyte', "nan"], - ['Neutrophil', "nan"], - ['Smooth muscle cell', "nan"], - ['Stromal cell', "nan"], - ['T cell', "nan"] -] -ONTOLOGIES_HUMAN_ADIPOSE_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanAdipose(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_ADIPOSE_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_ADIPOSE_V0 - } - super(CelltypeVersionsHumanAdipose, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/adrenalgland.py b/sfaira/versions/celltype_versions/human/adrenalgland.py deleted file mode 100644 index 4603ecf3d..000000000 --- a/sfaira/versions/celltype_versions/human/adrenalgland.py +++ /dev/null @@ -1,66 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_ADRENALGLAND_V0 = [ - ['Adrenal gland inflammatory cell', "nan"], - ['Antigen presenting cell (RPS high)', "nan"], - ['B cell', "nan"], - ['B cell (Plasmocyte)', "nan"], - ['CB CD34+', "nan"], - ['Dendritic cell', "nan"], - ['Endothelial cell', "nan"], - ['Endothelial cell (APC)', "nan"], - ['Endothelial cell (endothelial to mesenchymal transition)', "nan"], - ['Enterocyte', "nan"], - ['Enterocyte progenitor', "nan"], - ['Epithelial cell', "nan"], - ['Erythroid cell', "nan"], - ['Erythroid progenitor cell (RP high)', "nan"], - ['Fasciculata cell', "nan"], - ['Fetal Neuron', "nan"], - ['Fetal acinar cell', "nan"], - ['Fetal endocrine cell', "nan"], - ['Fetal enterocyte ', "nan"], - ['Fetal epithelial progenitor', "nan"], - ['Fetal fibroblast', "nan"], - ['Fetal mesenchymal progenitor', "nan"], - ['Fetal neuron', "nan"], - ['Fetal skeletal muscle cell', "nan"], - ['Fetal stromal cell', "nan"], - ['Fibroblast', "nan"], - ['Goblet cell', "nan"], - ['Hepatocyte/Endodermal cell', "nan"], - ['Immature sertoli cell (Pre-Sertoli cell)', "nan"], - ['Kidney intercalated cell', "nan"], - ['Loop of Henle', "nan"], - ['M2 Macrophage', "nan"], - ['Macrophage', "nan"], - ['Mast cell', "nan"], - ['Monocyte', "nan"], - ['Myeloid cell', "nan"], - ['Neutrophil', "nan"], - ['Neutrophil (RPS high)', "nan"], - ['Primordial germ cell', "nan"], - ['Proximal tubule progenitor', "nan"], - ['Sinusoidal endothelial cell', "nan"], - ['Smooth muscle cell', "nan"], - ['Stromal cell', "nan"], - ['T cell', "nan"], - ['Ureteric bud cell', "nan"], - ['hESC', "nan"] -] -ONTOLOGIES_HUMAN_ADRENALGLAND_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanAdrenalgland(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_ADRENALGLAND_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_ADRENALGLAND_V0 - } - super(CelltypeVersionsHumanAdrenalgland, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/artery.py b/sfaira/versions/celltype_versions/human/artery.py deleted file mode 100644 index f549b2fca..000000000 --- a/sfaira/versions/celltype_versions/human/artery.py +++ /dev/null @@ -1,39 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_ARTERY_V0 = [ - ['B cell', "nan"], - ['B cell (Plasmocyte)', "nan"], - ['Basal cell', "nan"], - ['Dendritic cell', "nan"], - ['Endothelial cell', "nan"], - ['Endothelial cell (APC)', "nan"], - ['Endothelial cell (endothelial to mesenchymal transition)', "nan"], - ['Epithelial cell', "nan"], - ['Fibroblast', "nan"], - ['M2 Macrophage', "nan"], - ['Macrophage', "nan"], - ['Mast cell', "nan"], - ['Mesothelial cell', "nan"], - ['Monocyte', "nan"], - ['Myeloid cell', "nan"], - ['Neutrophil', "nan"], - ['Smooth muscle cell', "nan"], - ['Stromal cell', "nan"], - ['T cell', "nan"] -] -ONTOLOGIES_HUMAN_ARTERY_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanArtery(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_ARTERY_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_ARTERY_V0 - } - super(CelltypeVersionsHumanArtery, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/bladder.py b/sfaira/versions/celltype_versions/human/bladder.py deleted file mode 100644 index 21ad053db..000000000 --- a/sfaira/versions/celltype_versions/human/bladder.py +++ /dev/null @@ -1,44 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_BLADDER_V0 = [ - ['B cell', "nan"], - ['B cell (Plasmocyte)', "nan"], - ['Basal cell', "nan"], - ['CB CD34+', "nan"], - ['Dendritic cell', "nan"], - ['Endothelial cell', "nan"], - ['Endothelial cell (APC)', "nan"], - ['Endothelial cell (endothelial to mesenchymal transition)', "nan"], - ['Epithelial cell', "nan"], - ['Epithelial cell (intermediated)', "nan"], - ['Erythroid progenitor cell (RP high)', "nan"], - ['Fetal fibroblast', "nan"], - ['Fibroblast', "nan"], - ['Gastric endocrine cell', "nan"], - ['Goblet cell', "nan"], - ['Intermediated cell', "nan"], - ['Macrophage', "nan"], - ['Mast cell', "nan"], - ['Monocyte', "nan"], - ['Neutrophil', "nan"], - ['Sinusoidal endothelial cell', "nan"], - ['Smooth muscle cell', "nan"], - ['Stromal cell', "nan"], - ['T cell', "nan"] -] -ONTOLOGIES_HUMAN_BLADDER_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanBladder(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_BLADDER_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_BLADDER_V0 - } - super(CelltypeVersionsHumanBladder, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/blood.py b/sfaira/versions/celltype_versions/human/blood.py deleted file mode 100644 index ada92871b..000000000 --- a/sfaira/versions/celltype_versions/human/blood.py +++ /dev/null @@ -1,40 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_BLOOD_V0 = [ - ['Antigen presenting cell (RPS high)', "nan"], - ['B cell', "nan"], - ['B cell (Plasmocyte)', "nan"], - ['CB CD34+', "nan"], - ['Dendritic cell', "nan"], - ['Endothelial cell', "nan"], - ['Erythroid cell', "nan"], - ['Erythroid progenitor cell (RP high)', "nan"], - ['Fetal chondrocyte', "nan"], - ['Fetal epithelial progenitor', "nan"], - ['M2 Macrophage', "nan"], - ['Macrophage', "nan"], - ['Mast cell', "nan"], - ['Monocyte', "nan"], - ['Neutrophil', "nan"], - ['Neutrophil (RPS high)', "nan"], - ['Primordial germ cell', "nan"], - ['Proliferating T cell', "nan"], - ['Sinusoidal endothelial cell', "nan"], - ['T cell', "nan"] -] -ONTOLOGIES_HUMAN_BLOOD_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanBlood(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_BLOOD_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_BLOOD_V0 - } - super(CelltypeVersionsHumanBlood, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/bone.py b/sfaira/versions/celltype_versions/human/bone.py deleted file mode 100644 index 11cd9dada..000000000 --- a/sfaira/versions/celltype_versions/human/bone.py +++ /dev/null @@ -1,34 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_BONE_V0 = [ - ['Antigen presenting cell (RPS high)', "nan"], - ['B cell', "nan"], - ['B cell (Plasmocyte)', "nan"], - ['CB CD34+', "nan"], - ['Dendritic cell', "nan"], - ['Erythroid cell', "nan"], - ['Erythroid progenitor cell (RP high)', "nan"], - ['Macrophage', "nan"], - ['Monocyte', "nan"], - ['Neutrophil', "nan"], - ['Neutrophil (RPS high)', "nan"], - ['Primordial germ cell', "nan"], - ['Stromal cell', "nan"], - ['T cell', "nan"] -] -ONTOLOGIES_HUMAN_BONE_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanBone(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_BONE_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_BONE_V0 - } - super(CelltypeVersionsHumanBone, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/brain.py b/sfaira/versions/celltype_versions/human/brain.py deleted file mode 100644 index 4e5bc6144..000000000 --- a/sfaira/versions/celltype_versions/human/brain.py +++ /dev/null @@ -1,62 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_BRAIN_V0 = [ - ['Antigen presenting cell (RPS high)', "nan"], - ['Astrocytes 1', "nan"], - ['Astrocytes 2', "nan"], - ['B cell', "nan"], - ['B cell (Plasmocyte)', "nan"], - ['CB CD34+', "nan"], - ['Dendritic cell', "nan"], - ['Endothelial cells', "nan"], - ['Erythroid cell', "nan"], - ['Erythroid progenitor cell (RP high)', "nan"], - ['Fetal endocrine cell', "nan"], - ['Fetal enterocyte ', "nan"], - ['Fetal epithelial progenitor', "nan"], - ['Fetal mesenchymal progenitor', "nan"], - ['Fetal stromal cell', "nan"], - ['Fibroblast', "nan"], - ['GABAergic interneurons 1', "nan"], - ['GABAergic interneurons 2', "nan"], - ['Gastric endocrine cell', "nan"], - ['Glutamatergic neurons from the PFC 1', "nan"], - ['Glutamatergic neurons from the PFC 2', "nan"], - ['Goblet cell', "nan"], - ['Granule neurons from the hip dentate gyrus region', "nan"], - ['Macrophage', "nan"], - ['Microglia', "nan"], - ['Monocyte', "nan"], - ['Neuronal stem cells', "nan"], - ['Neutrophil', "nan"], - ['Neutrophil (RPS high)', "nan"], - ['Oligodendrocyte precursors', "nan"], - ['Oligodendrocytes', "nan"], - ['Primordial germ cell', "nan"], - ['Pyramidal neurons from the hip CA region 1', "nan"], - ['Pyramidal neurons from the hip CA region 2', "nan"], - ['Sinusoidal endothelial cell', "nan"], - ['Smooth muscle cell', "nan"], - ['Stromal cell', "nan"], - ['T cell', "nan"], - ['Unknown', "nan"] -] -ONTOLOGIES_HUMAN_BRAIN_V0 = { - "names": { - 'Astrocyte': ['Astrocytes 1', 'Astrocytes 2'], - 'Fetal Neuron': ['Glutamatergic neurons from the PFC 1', 'Glutamatergic neurons from the PFC 2', 'Granule neurons from the hip dentate gyrus region', 'GABAergic interneurons 1', 'GABAergic interneurons 2', 'Pyramidal neurons from the hip CA region 1', 'Pyramidal neurons from the hip CA region 2'] - }, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanBrain(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_BRAIN_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_BRAIN_V0 - } - super(CelltypeVersionsHumanBrain, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/calvaria.py b/sfaira/versions/celltype_versions/human/calvaria.py deleted file mode 100644 index f3e528a08..000000000 --- a/sfaira/versions/celltype_versions/human/calvaria.py +++ /dev/null @@ -1,42 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_CALVARIA_V0 = [ - ['Antigen presenting cell (RPS high)', "nan"], - ['CB CD34+', "nan"], - ['Dendritic cell', "nan"], - ['Endothelial cell', "nan"], - ['Erythroid cell', "nan"], - ['Erythroid progenitor cell (RP high)', "nan"], - ['Fetal chondrocyte', "nan"], - ['Fetal epithelial progenitor', "nan"], - ['Fetal fibroblast', "nan"], - ['Fetal mesenchymal progenitor', "nan"], - ['Fetal neuron', "nan"], - ['Fetal skeletal muscle cell', "nan"], - ['Fetal stromal cell', "nan"], - ['Kidney intercalated cell', "nan"], - ['Macrophage', "nan"], - ['Monocyte', "nan"], - ['Neutrophil', "nan"], - ['Neutrophil (RPS high)', "nan"], - ['Primordial germ cell', "nan"], - ['Smooth muscle cell', "nan"], - ['Stromal cell', "nan"], - ['T cell', "nan"] -] -ONTOLOGIES_HUMAN_CALVARIA_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanCalvaria(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_CALVARIA_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_CALVARIA_V0 - } - super(CelltypeVersionsHumanCalvaria, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/cervix.py b/sfaira/versions/celltype_versions/human/cervix.py deleted file mode 100644 index db7ebeb0f..000000000 --- a/sfaira/versions/celltype_versions/human/cervix.py +++ /dev/null @@ -1,34 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_CERVIX_V0 = [ - ['B cell (Plasmocyte)', "nan"], - ['Basal cell', "nan"], - ['Dendritic cell', "nan"], - ['Endothelial cell', "nan"], - ['Endothelial cell (APC)', "nan"], - ['Fetal epithelial progenitor', "nan"], - ['Fibroblast', "nan"], - ['Loop of Henle', "nan"], - ['Macrophage', "nan"], - ['Mast cell', "nan"], - ['Smooth muscle cell', "nan"], - ['Stratified epithelial cell', "nan"], - ['Stromal cell', "nan"], - ['T cell', "nan"] -] -ONTOLOGIES_HUMAN_CERVIX_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanCervix(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_CERVIX_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_CERVIX_V0 - } - super(CelltypeVersionsHumanCervix, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/chorionicvillus.py b/sfaira/versions/celltype_versions/human/chorionicvillus.py deleted file mode 100644 index aa5575608..000000000 --- a/sfaira/versions/celltype_versions/human/chorionicvillus.py +++ /dev/null @@ -1,43 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_CHORIONICVILLUS_V0 = [ - ['Antigen presenting cell (RPS high)', "nan"], - ['B cell (Plasmocyte)', "nan"], - ['CB CD34+', "nan"], - ['Endothelial cell', "nan"], - ['Endothelial cell (APC)', "nan"], - ['Endothelial cell (endothelial to mesenchymal transition)', "nan"], - ['Epithelial cell', "nan"], - ['Erythroid cell', "nan"], - ['Erythroid progenitor cell (RP high)', "nan"], - ['Fetal mesenchymal progenitor', "nan"], - ['Fetal stromal cell', "nan"], - ['Fibroblast', "nan"], - ['Loop of Henle', "nan"], - ['M2 Macrophage', "nan"], - ['Macrophage', "nan"], - ['Monocyte', "nan"], - ['Neutrophil', "nan"], - ['Neutrophil (RPS high)', "nan"], - ['Primordial germ cell', "nan"], - ['Smooth muscle cell', "nan"], - ['Stratified epithelial cell', "nan"], - ['Stromal cell', "nan"], - ['T cell', "nan"] -] -ONTOLOGIES_HUMAN_CHORIONICVILLUS_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanChorionicvillus(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_CHORIONICVILLUS_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_CHORIONICVILLUS_V0 - } - super(CelltypeVersionsHumanChorionicvillus, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/colon.py b/sfaira/versions/celltype_versions/human/colon.py deleted file mode 100644 index 61e7e7c2f..000000000 --- a/sfaira/versions/celltype_versions/human/colon.py +++ /dev/null @@ -1,100 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_COLON_V0 = [ - ['Antigen presenting cell (RPS high)', "nan"], - ['B cell IgA Plasma', "nan"], - ['B cell IgG Plasma', "nan"], - ['B cell cycling', "nan"], - ['B cell memory', "nan"], - ['Best4+ Enterocytes', "nan"], - ['CD4+ Memory', "nan"], - ['CD4+ PD1+', "nan"], - ['CD4+ T Activated Fos-hi', "nan"], - ['CD4+ T Activated Fos-lo', "nan"], - ['CD69+ Mast', "nan"], - ['CD69- Mast', "nan"], - ['CD8 T', "nan"], - ['CD8+ IELs', "nan"], - ['CD8+ IL17+', "nan"], - ['CD8+ LP', "nan"], - ['Cycling T', "nan"], - ['Cycling TA', "nan"], - ['DC1', "nan"], - ['DC2', "nan"], - ['Endothelial', "nan"], - ['Enterocyte Progenitors', "nan"], - ['Enterocytes', "nan"], - ['Enteroendocrine cells', "nan"], - ['Erythroid cell', "nan"], - ['Fetal Neuron', "nan"], - ['Fetal enterocyte ', "nan"], - ['Fetal mesenchymal progenitor', "nan"], - ['Fibroblast', "nan"], - ['Follicular', "nan"], - ['Glial cells', "nan"], - ['Goblet cells', "nan"], - ['ILC', "nan"], - ['Immature Enterocytes 1', "nan"], - ['Immature Enterocytes 2', "nan"], - ['Immature Goblet', "nan"], - ['LYVE1 Macrophage', "nan"], - ['Lymphoid DC', "nan"], - ['M cells', "nan"], - ['MT-hi', "nan"], - ['Macrophage', "nan"], - ['Monocyte', "nan"], - ['Myofibroblasts', "nan"], - ['NK', "nan"], - ['Neutrophil', "nan"], - ['Paneth cells', "nan"], - ['Pericytes', "nan"], - ['Primordial germ cell', "nan"], - ['Secretory TA', "nan"], - ['Smooth Muscle', "nan"], - ['Stem cells', "nan"], - ['Stromal', "nan"], - ['TA 1', "nan"], - ['TA 2', "nan"], - ['Tcm', "nan"], - ['Tfh', "nan"], - ['Th1', "nan"], - ['Th17', "nan"], - ['Treg', "nan"], - ['Tregs', "nan"], - ['Tuft', "nan"], - ['WNT2B+ Fos-lo 1', "nan"], - ['WNT5B+ 2', "nan"], - ['cycling DCs', "nan"], - ['cycling gd T', "nan"], - ['gd T', "nan"], - ['pDC', "nan"] -] -ONTOLOGIES_HUMAN_COLON_V0 = { - "names": { - 'Plasma Cells': ['B cell IgA Plasma', 'B cell IgG Plasma'], - 'Macrophage': ['LYVE1 Macrophage', 'Macrophage'], - 'Enterocytes': ['Enterocytes', 'Best4+ Enterocytes'], - 'TA': ['Cycling TA', 'TA 1', 'TA 2', 'Secretory TA'], - 'Activated CD4 T': ['CD4+ T Activated Fos-hi', 'CD4+ T Activated Fos-lo'], - 'Fetal enterocyte': ['Immature Enterocytes 1', 'Immature Enterocytes 2'], - 'B cell (Plasmocyte)': ['B cell IgA Plasma', 'B cell IgG Plasma'], - 'Mast cell': ['CD69+ Mast', 'CD69- Mast'], - 'Dendritic cell': ['DC1', 'DC2'], - 'B cell': ['B cell cycling', 'B cell memory', 'Follicular'], - 'T cell': ['Treg', 'Cycling T', 'CD4+ T Activated Fos-hi', 'CD4+ T Activated Fos-lo', 'Tcm', 'Tfh', 'Th1', 'Th17', 'cycling gd T', 'gd T'], - 'Epithelial cell': ['Enterocytes', 'Goblet cells', 'Enteroendocrine cells', 'Tuft'] - }, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanColon(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_COLON_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_COLON_V0 - } - super(CelltypeVersionsHumanColon, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/duodenum.py b/sfaira/versions/celltype_versions/human/duodenum.py deleted file mode 100644 index 2faeb5062..000000000 --- a/sfaira/versions/celltype_versions/human/duodenum.py +++ /dev/null @@ -1,39 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_DUODENUM_V0 = [ - ['Antigen presenting cell (RPS high)', "nan"], - ['B cell', "nan"], - ['B cell (Plasmocyte)', "nan"], - ['Dendritic cell', "nan"], - ['Endothelial cell', "nan"], - ['Endothelial cell (APC)', "nan"], - ['Endothelial cell (endothelial to mesenchymal transition)', "nan"], - ['Enterocyte', "nan"], - ['Enterocyte progenitor', "nan"], - ['Fetal endocrine cell', "nan"], - ['Fetal enterocyte ', "nan"], - ['Fibroblast', "nan"], - ['Goblet cell', "nan"], - ['Hepatocyte/Endodermal cell', "nan"], - ['Macrophage', "nan"], - ['Mast cell', "nan"], - ['Smooth muscle cell', "nan"], - ['Stromal cell', "nan"], - ['T cell', "nan"] -] -ONTOLOGIES_HUMAN_DUODENUM_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanDuodenum(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_DUODENUM_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_DUODENUM_V0 - } - super(CelltypeVersionsHumanDuodenum, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/epityphlon.py b/sfaira/versions/celltype_versions/human/epityphlon.py deleted file mode 100644 index 3341f735e..000000000 --- a/sfaira/versions/celltype_versions/human/epityphlon.py +++ /dev/null @@ -1,34 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_EPITYPHLON_V0 = [ - ['B cell', "nan"], - ['B cell (Plasmocyte)', "nan"], - ['CB CD34+', "nan"], - ['Dendritic cell', "nan"], - ['Endothelial cell (APC)', "nan"], - ['Enterocyte', "nan"], - ['Enterocyte progenitor', "nan"], - ['Epithelial cell', "nan"], - ['Macrophage', "nan"], - ['Mast cell', "nan"], - ['Monocyte', "nan"], - ['Smooth muscle cell', "nan"], - ['Stromal cell', "nan"], - ['T cell', "nan"] -] -ONTOLOGIES_HUMAN_EPITYPHLON_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanEpityphlon(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_EPITYPHLON_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_EPITYPHLON_V0 - } - super(CelltypeVersionsHumanEpityphlon, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/esophagus.py b/sfaira/versions/celltype_versions/human/esophagus.py deleted file mode 100644 index 3ad9baf9e..000000000 --- a/sfaira/versions/celltype_versions/human/esophagus.py +++ /dev/null @@ -1,58 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_ESOPHAGUS_V0 = [ - ['B cell (Plasmocyte)', "nan"], - ['B_CD27neg', "nan"], - ['B_CD27pos', "nan"], - ['Basal cell', "nan"], - ['Blood_vessel', "nan"], - ['CB CD34+', "nan"], - ['Dendritic cell', "nan"], - ['Endothelial cell', "nan"], - ['Endothelial cell (APC)', "nan"], - ['Endothelial cell (endothelial to mesenchymal transition)', "nan"], - ['Epi_dividing', "nan"], - ['Epi_suprabasal', "nan"], - ['Epi_upper', "nan"], - ['Erythroid progenitor cell (RP high)', "nan"], - ['Fetal epithelial progenitor', "nan"], - ['Fetal mesenchymal progenitor', "nan"], - ['Fetal stromal cell', "nan"], - ['Fibroblast', "nan"], - ['Gastric endocrine cell', "nan"], - ['Glands_duct', "nan"], - ['Glands_mucous', "nan"], - ['Loop of Henle', "nan"], - ['Lymph_vessel', "nan"], - ['Macrophage', "nan"], - ['Mast cell', "nan"], - ['Monocyte', "nan"], - ['NK_T_CD8_Cytotoxic', "nan"], - ['Neutrophil', "nan"], - ['Sinusoidal endothelial cell', "nan"], - ['Smooth muscle cell', "nan"], - ['Stratified epithelial cell', "nan"], - ['Stromal cell', "nan"], - ['T_CD4', "nan"], - ['T_CD8', "nan"] -] -ONTOLOGIES_HUMAN_ESOPHAGUS_V0 = { - "names": { - "Mono_macro": ["Monocyte", "Macrophage"], - "B cell": ['B_CD27neg', 'B_CD27pos'], - "T cell": ["T_CD4", "T_CD8", "NK_T_CD8_Cytotoxic"] - }, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanEsophagus(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_ESOPHAGUS_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_ESOPHAGUS_V0 - } - super(CelltypeVersionsHumanEsophagus, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/external.py b/sfaira/versions/celltype_versions/human/external.py deleted file mode 100644 index cf6bc6d79..000000000 --- a/sfaira/versions/celltype_versions/human/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.versions.celltype_versions import CelltypeVersionsBase diff --git a/sfaira/versions/celltype_versions/human/eye.py b/sfaira/versions/celltype_versions/human/eye.py deleted file mode 100644 index 26a41e393..000000000 --- a/sfaira/versions/celltype_versions/human/eye.py +++ /dev/null @@ -1,68 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_EYE_V0 = [ - ['Amacrine cell', "nan"], - ['Antigen presenting cell (RPS high)', "nan"], - ['B-cell', "nan"], - ['Basal cell', "nan"], - ['CB CD34_pos', "nan"], - ['Dendritic cell', "nan"], - ['Endothelial cell', "nan"], - ['Epithelial cell (intermediated)', "nan"], - ['Erythroid cell', "nan"], - ['Erythroid progenitor cell (RP high)', "nan"], - ['Fetal endocrine cell', "nan"], - ['Fetal epithelial progenitor', "nan"], - ['Fetal mesenchymal progenitor', "nan"], - ['Fetal neuron', "nan"], - ['Fetal skeletal muscle cell', "nan"], - ['Fetal stromal cell', "nan"], - ['Fibroblast', "nan"], - ['Gastric endocrine cell', "nan"], - ['Goblet cell', "nan"], - ['Horizontal cells', "nan"], - ['Macroglia', "nan"], - ['Macrophage', "nan"], - ['Mast-cell', "nan"], - ['Melanocyte', "nan"], - ['Microglia', "nan"], - ['Muller cell', "nan"], - ['Pericyte', "nan"], - ['Primordial germ cell', "nan"], - ['Retinal bipolar neuron type A', "nan"], - ['Retinal bipolar neuron type B', "nan"], - ['Retinal bipolar neuron type C', "nan"], - ['Retinal bipolar neuron type D', "nan"], - ['Retinal cone cell', "nan"], - ['Retinal ganglion cell', "nan"], - ['Retinal pigment epithelium', "nan"], - ['Retinal rod cell type A', "nan"], - ['Retinal rod cell type B', "nan"], - ['Retinal rod cell type C', "nan"], - ['Schwann1', "nan"], - ['Schwann2', "nan"], - ['Stratified epithelial cell', "nan"], - ['T cell', "nan"], - ['T/NK-cell', "nan"], - ['Unknown', "nan"], - ['hESC', "nan"] -] -ONTOLOGIES_HUMAN_EYE_V0 = { - "names": { - 'BPs': ['Retinal bipolar neuron type A', 'Retinal bipolar neuron type B', 'Retinal bipolar neuron type C', 'Retinal bipolar neuron type D'], - 'Rods': ['Retinal rod cell type A', 'Retinal rod cell type B', 'Retinal rod cell type C',] - }, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanEye(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_EYE_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_EYE_V0 - } - super(CelltypeVersionsHumanEye, self).__init__(**kwargs) \ No newline at end of file diff --git a/sfaira/versions/celltype_versions/human/fallopiantube.py b/sfaira/versions/celltype_versions/human/fallopiantube.py deleted file mode 100644 index 149a341c6..000000000 --- a/sfaira/versions/celltype_versions/human/fallopiantube.py +++ /dev/null @@ -1,38 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_FALLOPIANTUBE_V0 = [ - ['Antigen presenting cell (RPS high)', "nan"], - ['B cell (Plasmocyte)', "nan"], - ['Dendritic cell', "nan"], - ['Endothelial cell', "nan"], - ['Endothelial cell (APC)', "nan"], - ['Fetal epithelial progenitor', "nan"], - ['Fetal fibroblast', "nan"], - ['Fibroblast', "nan"], - ['Macrophage', "nan"], - ['Mast cell', "nan"], - ['Monocyte', "nan"], - ['Neutrophil', "nan"], - ['Neutrophil (RPS high)', "nan"], - ['Sinusoidal endothelial cell', "nan"], - ['Smooth muscle cell', "nan"], - ['Stratified epithelial cell', "nan"], - ['Stromal cell', "nan"], - ['T cell', "nan"] -] -ONTOLOGIES_HUMAN_FALLOPIANTUBE_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanFallopiantube(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_FALLOPIANTUBE_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_FALLOPIANTUBE_V0 - } - super(CelltypeVersionsHumanFallopiantube, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/femalegonad.py b/sfaira/versions/celltype_versions/human/femalegonad.py deleted file mode 100644 index b0ccc1c3b..000000000 --- a/sfaira/versions/celltype_versions/human/femalegonad.py +++ /dev/null @@ -1,48 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_FEMALEGONAD_V0 = [ - ['Antigen presenting cell (RPS high)', "nan"], - ['B cell', "nan"], - ['CB CD34+', "nan"], - ['Dendritic cell', "nan"], - ['Endothelial cell', "nan"], - ['Endothelial cell (APC)', "nan"], - ['Epithelial cell', "nan"], - ['Erythroid cell', "nan"], - ['Erythroid progenitor cell (RP high)', "nan"], - ['Fasciculata cell', "nan"], - ['Fetal Neuron', "nan"], - ['Fetal epithelial progenitor', "nan"], - ['Fetal fibroblast', "nan"], - ['Fetal mesenchymal progenitor', "nan"], - ['Fetal neuron', "nan"], - ['Fetal skeletal muscle cell', "nan"], - ['Fetal stromal cell', "nan"], - ['Immature sertoli cell (Pre-Sertoli cell)', "nan"], - ['Macrophage', "nan"], - ['Monocyte', "nan"], - ['Neutrophil', "nan"], - ['Neutrophil (RPS high)', "nan"], - ['Primordial germ cell', "nan"], - ['Sinusoidal endothelial cell', "nan"], - ['Smooth muscle cell', "nan"], - ['Stromal cell', "nan"], - ['T cell', "nan"], - ['hESC', "nan"] -] -ONTOLOGIES_HUMAN_FEMALEGONAD_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanFemalegonad(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_FEMALEGONAD_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_FEMALEGONAD_V0 - } - super(CelltypeVersionsHumanFemalegonad, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/gallbladder.py b/sfaira/versions/celltype_versions/human/gallbladder.py deleted file mode 100644 index e8786816c..000000000 --- a/sfaira/versions/celltype_versions/human/gallbladder.py +++ /dev/null @@ -1,44 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_GALLBLADDER_V0 = [ - ['B cell', "nan"], - ['B cell (Plasmocyte)', "nan"], - ['Dendritic cell', "nan"], - ['Endothelial cell', "nan"], - ['Endothelial cell (APC)', "nan"], - ['Endothelial cell (endothelial to mesenchymal transition)', "nan"], - ['Epithelial cell', "nan"], - ['Fetal enterocyte ', "nan"], - ['Fetal mesenchymal progenitor', "nan"], - ['Fetal skeletal muscle cell', "nan"], - ['Fetal stromal cell', "nan"], - ['Fibroblast', "nan"], - ['Goblet cell', "nan"], - ['Macrophage', "nan"], - ['Mast cell', "nan"], - ['Monocyte', "nan"], - ['Myeloid cell', "nan"], - ['Neutrophil', "nan"], - ['Primordial germ cell', "nan"], - ['Sinusoidal endothelial cell', "nan"], - ['Smooth muscle cell', "nan"], - ['Stromal cell', "nan"], - ['T cell', "nan"], - ['hESC', "nan"] -] -ONTOLOGIES_HUMAN_GALLBLADDER_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanGallbladder(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_GALLBLADDER_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_GALLBLADDER_V0 - } - super(CelltypeVersionsHumanGallbladder, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/heart.py b/sfaira/versions/celltype_versions/human/heart.py deleted file mode 100644 index 1b5d4a81c..000000000 --- a/sfaira/versions/celltype_versions/human/heart.py +++ /dev/null @@ -1,54 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_HEART_V0 = [ - ['Antigen presenting cell (RPS high)', "nan"], - ['B cell', "nan"], - ['B cell (Plasmocyte)', "nan"], - ['CB CD34+', "nan"], - ['Dendritic cell', "nan"], - ['Endothelial cell', "nan"], - ['Endothelial cell (APC)', "nan"], - ['Endothelial cell (endothelial to mesenchymal transition)', "nan"], - ['Epithelial cell', "nan"], - ['Erythroid cell', "nan"], - ['Erythroid progenitor cell (RP high)', "nan"], - ['Fasciculata cell', "nan"], - ['Fetal Neuron', "nan"], - ['Fetal epithelial progenitor', "nan"], - ['Fetal fibroblast', "nan"], - ['Fetal mesenchymal progenitor', "nan"], - ['Fetal neuron', "nan"], - ['Fetal skeletal muscle cell', "nan"], - ['Fetal stromal cell', "nan"], - ['Fibroblast', "nan"], - ['M2 Macrophage', "nan"], - ['Macrophage', "nan"], - ['Mast cell', "nan"], - ['Monocyte', "nan"], - ['Myeloid cell', "nan"], - ['Neutrophil', "nan"], - ['Neutrophil (RPS high)', "nan"], - ['Primordial germ cell', "nan"], - ['Proliferating T cell', "nan"], - ['Sinusoidal endothelial cell', "nan"], - ['Smooth muscle cell', "nan"], - ['Stromal cell', "nan"], - ['T cell', "nan"], - ['Ventricle cardiomyocyte', "nan"] -] -ONTOLOGIES_HUMAN_HEART_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanHeart(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_HEART_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_HEART_V0 - } - super(CelltypeVersionsHumanHeart, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/hesc.py b/sfaira/versions/celltype_versions/human/hesc.py deleted file mode 100644 index 56a9aa838..000000000 --- a/sfaira/versions/celltype_versions/human/hesc.py +++ /dev/null @@ -1,25 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_HESC_V0 = [ - ['Fetal epithelial progenitor', "nan"], - ['Fetal neuron', "nan"], - ['Primordial germ cell', "nan"], - ['Proliferating T cell', "nan"], - ['hESC', "nan"] -] -ONTOLOGIES_HUMAN_HESC_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanHesc(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_HESC_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_HESC_V0 - } - super(CelltypeVersionsHumanHesc, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/ileum.py b/sfaira/versions/celltype_versions/human/ileum.py deleted file mode 100644 index fb51c3a12..000000000 --- a/sfaira/versions/celltype_versions/human/ileum.py +++ /dev/null @@ -1,55 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_ILEUM_V0 = [ - ['ACKR1+ endothelium', "nan"], - ['B cells', "nan"], - ['CD36+ endothelium', "nan"], - ['Cycling', "nan"], - ['Dendritic cell', "nan"], - ['Enterocytes', "nan"], - ['Enteroendocrine cells', "nan"], - ['Fetal enterocyte ', "nan"], - ['Fetal mesenchymal progenitor', "nan"], - ['Fetal neuron', "nan"], - ['Fetal stromal cell', "nan"], - ['Fibroblasts', "nan"], - ['Glial cells', "nan"], - ['Goblet cells', "nan"], - ['Hepatocyte/Endodermal cell', "nan"], - ['ILC', "nan"], - ['Lymphatics', "nan"], - ['M2 Macrophage', "nan"], - ['MNP', "nan"], - ['Macrophage', "nan"], - ['Mast cells', "nan"], - ['Monocyte', "nan"], - ['Neutrophil (RPS high)', "nan"], - ['Paneth cells', "nan"], - ['Pericytes', "nan"], - ['Plasma Cells', "nan"], - ['Progenitors', "nan"], - ['Smooth muscle cell', "nan"], - ['Stem Cell', "nan"], - ['Stromal cell', "nan"], - ['T cells', "nan"], - ['TA', "nan"] -] -ONTOLOGIES_HUMAN_ILEUM_V0 = { - "names": { - 'Endothelial cell': ['ACKR1+ endothelium', 'CD36+ endothelium'], - 'Epithelial cell': ['Goblet cells', 'Enterocytes', 'Paneth cells', 'Enteroendocrine cells'] - }, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanIleum(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_ILEUM_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_ILEUM_V0 - } - super(CelltypeVersionsHumanIleum, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/jejunum.py b/sfaira/versions/celltype_versions/human/jejunum.py deleted file mode 100644 index 2aef7f5d3..000000000 --- a/sfaira/versions/celltype_versions/human/jejunum.py +++ /dev/null @@ -1,37 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_JEJUNUM_V0 = [ - ['B cell', "nan"], - ['B cell (Plasmocyte)', "nan"], - ['Dendritic cell', "nan"], - ['Endothelial cell (APC)', "nan"], - ['Endothelial cell (endothelial to mesenchymal transition)', "nan"], - ['Enterocyte', "nan"], - ['Enterocyte progenitor', "nan"], - ['Fetal endocrine cell', "nan"], - ['Fetal enterocyte ', "nan"], - ['Fibroblast', "nan"], - ['Hepatocyte/Endodermal cell', "nan"], - ['Macrophage', "nan"], - ['Mast cell', "nan"], - ['Monocyte', "nan"], - ['Smooth muscle cell', "nan"], - ['Stromal cell', "nan"], - ['T cell', "nan"] -] -ONTOLOGIES_HUMAN_JEJUNUM_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanJejunum(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_JEJUNUM_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_JEJUNUM_V0 - } - super(CelltypeVersionsHumanJejunum, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/kidney.py b/sfaira/versions/celltype_versions/human/kidney.py deleted file mode 100644 index f05b0c3fd..000000000 --- a/sfaira/versions/celltype_versions/human/kidney.py +++ /dev/null @@ -1,143 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_KIDNEY_V0 = [ - ['Acinar cell', "nan"], - ['Antigen presenting cell (RPS high)', "nan"], - ['B cell', "nan"], - ['B cell (Plasmocyte)', "nan"], - ['CB CD34+', "nan"], - ['CD4 T cell', "nan"], - ['CD8 T cell', "nan"], - ['CNT/PC - proximal UB', "nan"], - ['Cap mesenchyme', "nan"], - ['Chondrocyte', "nan"], - ['Collecting Duct - Intercalated Cells Type A (cortex)', "nan"], - ['Collecting Duct - Intercalated Cells Type A (medulla)', "nan"], - ['Collecting Duct - Intercalated Cells Type B', "nan"], - ['Collecting Duct - PCs - Stressed Dissoc Subset', "nan"], - ['Collecting Duct - Principal Cells (cortex)', "nan"], - ['Collecting Duct - Principal Cells (medulla)', "nan"], - ['Connecting tubule', "nan"], - ['Decending Limb', "nan"], - ['Distal Convoluted Tubule', "nan"], - ['Distal S shaped body', "nan"], - ['Distal renal vesicle', "nan"], - ['Distinct proximal tubule 1', "nan"], - ['Distinct proximal tubule 2', "nan"], - ['Endocrine cell', "nan"], - ['Endothelial Cells (unassigned)', "nan"], - ['Endothelial Cells - AEA & DVR', "nan"], - ['Endothelial Cells - AVR', "nan"], - ['Endothelial Cells - glomerular capillaries', "nan"], - ['Endothelial cell (APC)', "nan"], - ['Endothelial cell (endothelial to mesenchymal transition)', "nan"], - ['Enterocyte ', "nan"], - ['Enterocyte progenitor', "nan"], - ['Epithelial Cells (unassigned)', "nan"], - ['Epithelial progenitor', "nan"], - ['Erythroid', "nan"], - ['Erythroid progenitor cell (RP high)', "nan"], - ['Fasciculata cell', "nan"], - ['Fibroblast', "nan"], - ['Gastric endocrine cell', "nan"], - ['Goblet cell', "nan"], - ['Indistinct intercalated cell', "nan"], - ['Innate like lymphocyte', "nan"], - ['Intermediated cell', "nan"], - ['Interstitium', "nan"], - ['Loop of Henle', "nan"], - ['M2 Macrophage', "nan"], - ['MNP-a/classical monocyte derived', "nan"], - ['MNP-b/non-classical monocyte derived', "nan"], - ['MNP-c/dendritic cell', "nan"], - ['MNP-d/Tissue macrophage', "nan"], - ['Macrophage', "nan"], - ['Mast cell', "nan"], - ['Mast cells', "nan"], - ['Medial S shaped body', "nan"], - ['Megakaryocyte', "nan"], - ['Mesangial Cells', "nan"], - ['Monocyte', "nan"], - ['Myeloid cell', "nan"], - ['Myofibroblast', "nan"], - ['NK cell', "nan"], - ['NKT cell', "nan"], - ['Neuron', "nan"], - ['Neutrophil', "nan"], - ['Neutrophil (RPS high)', "nan"], - ['Pelvic epithelium', "nan"], - ['Pelvic epithelium - distal UB', "nan"], - ['Peritubular capillary endothelium 1', "nan"], - ['Peritubular capillary endothelium 2', "nan"], - ['Plasmacytoid dendritic cell', "nan"], - ['Podocyte', "nan"], - ['Primordial germ cell', "nan"], - ['Proliferating B cell', "nan"], - ['Proliferating NK cell', "nan"], - ['Proliferating Proximal Tubule', "nan"], - ['Proliferating T cell', "nan"], - ['Proliferating cDC2', "nan"], - ['Proliferating cap mesenchyme', "nan"], - ['Proliferating distal renal vesicle', "nan"], - ['Proliferating fibroblast', "nan"], - ['Proliferating macrophage', "nan"], - ['Proliferating monocyte', "nan"], - ['Proliferating myofibroblast', "nan"], - ['Proliferating stroma progenitor', "nan"], - ['Proximal S shaped body', "nan"], - ['Proximal Tubule Epithelial Cells (S1)', "nan"], - ['Proximal Tubule Epithelial Cells (S2)', "nan"], - ['Proximal Tubule Epithelial Cells (S3)', "nan"], - ['Proximal Tubule Epithelial Cells - Fibrinogen+ (S3)', "nan"], - ['Proximal Tubule Epithelial Cells - Stress/Inflam', "nan"], - ['Proximal UB', "nan"], - ['Proximal renal vesicle', "nan"], - ['Proximal tubule progenitor', "nan"], - ['Sinusoidal endothelial cell', "nan"], - ['Skeletal muscle cell', "nan"], - ['Stratified epithelial cell', "nan"], - ['Stroma progenitor', "nan"], - ['Stromal cell', "nan"], - ['Thick ascending limb of Loop of Henle', "nan"], - ['Thin ascending limb', "nan"], - ['Transitional urothelium', "nan"], - ['Unknown - Novel PT CFH+ Subpopulation (S2)', "nan"], - ['Vascular Smooth Muscle Cells and pericytes', "nan"], - ['cDC1', "nan"], - ['cDC2', "nan"], - ['hESC', "nan"], - ['pDC', "nan"] -] -ONTOLOGIES_HUMAN_KIDNEY_V0 = { - "names": { - 'Type A intercalated cell': ['Collecting Duct - Intercalated Cells Type A (cortex)', - 'Collecting Duct - Intercalated Cells Type A (medulla)'], - 'Principal cell': ['Collecting Duct - PCs - Stressed Dissoc Subset', - 'Collecting Duct - Principal Cells (cortex)', - 'Collecting Duct - Principal Cells (medulla)'], - 'Proximal tubule': ['Proximal Tubule Epithelial Cells (S1)', - 'Proximal Tubule Epithelial Cells (S2)', - 'Proximal Tubule Epithelial Cells (S3)', - 'Proximal Tubule Epithelial Cells - Fibrinogen+ (S3)', - 'Proximal Tubule Epithelial Cells - Stress/Inflam'], - 'Dendritic cell': ['MNP-c/dendritic cell', 'Plasmacytoid dendritic cell'], - 'Endothelial cell': ['Endothelial Cells (unassigned)', 'Endothelial Cells - AEA & DVR', 'Endothelial Cells - AVR', 'Endothelial Cells - glomerular capillaries', 'Peritubular capillary endothelium 1', 'Peritubular capillary endothelium 2'], - 'Epithelial cell': ['Pelvic epithelium', 'Pelvic epithelium - distal UB', 'Proximal Tubule Epithelial Cells (S1)', 'Proximal Tubule Epithelial Cells (S2)', 'Proximal Tubule Epithelial Cells (S3)', 'Proximal Tubule Epithelial Cells - Fibrinogen+ (S3)', 'Proximal Tubule Epithelial Cells - Stress/Inflam'], - 'Intercalated cell': ['Collecting Duct - Intercalated Cells Type A (cortex)', 'Collecting Duct - Intercalated Cells Type A (medulla)', 'Collecting Duct - Intercalated Cells Type B', 'Indistinct intercalated cell'], - 'T cell': ['CD4 T cell', 'CD8 T cell'], - 'Ureteric bud cell': ['CNT/PC - proximal UB', 'Proximal UB', 'Pelvic epithelium - distal UB'] - }, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanKidney(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_KIDNEY_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_KIDNEY_V0 - } - super(CelltypeVersionsHumanKidney, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/liver.py b/sfaira/versions/celltype_versions/human/liver.py deleted file mode 100644 index 6120a740f..000000000 --- a/sfaira/versions/celltype_versions/human/liver.py +++ /dev/null @@ -1,100 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_LIVER_V0 = [ - ['Alpha beta T cells', "nan"], - ['Antigen presenting cell (RPS high)', "nan"], - ['CB CD34+', "nan"], - ['Central venous LSECs', "nan"], - ['Cholangiocytes', "nan"], - ['Dendritic cell 1', "nan"], - ['Dendritic cell 2', "nan"], - ['Dendritic cell precursor', "nan"], - ['Early Erythroid', "nan"], - ['Early lymphoid T lymphocyte', "nan"], - ['Endothelial cell (APC)', "nan"], - ['Endothelial cell (endothelial to mesenchymal transition)', "nan"], - ['Enterocyte ', "nan"], - ['Enterocyte progenitor', "nan"], - ['Epithelial progenitor', "nan"], - ['Fibroblast', "nan"], - ['Gamma delta T cells 1', "nan"], - ['Gamma delta T cells 2', "nan"], - ['Gastric endocrine cell', "nan"], - ['Goblet cell', "nan"], - ['HSC MPP', "nan"], - ['Hepatic stellate cells', "nan"], - ['Hepatocyte 1', "nan"], - ['Hepatocyte 2', "nan"], - ['Hepatocyte 3', "nan"], - ['Hepatocyte 4', "nan"], - ['Hepatocyte 5', "nan"], - ['Hepatocyte 6', "nan"], - ['ILC', "nan"], - ['ILC precursor', "nan"], - ['Inflammatory macrophages', "nan"], - ['Kupffer Cell', "nan"], - ['Late Erythroid', "nan"], - ['Liver sinusoidal endothelial cells', "nan"], - ['MEMP', "nan"], - ['MP', "nan"], - ['Macrovascular endothelial cells', "nan"], - ['Mast cell', "nan"], - ['Mature B cells', "nan"], - ['Megakaryocyte', "nan"], - ['Mesenchyme', "nan"], - ['Mesothelia', "nan"], - ['Mid Erythroid', "nan"], - ['Mono Macrophage', "nan"], - ['Monocyte', "nan"], - ['Monocyte precursor', "nan"], - ['Myeloid cell', "nan"], - ['NK cell', "nan"], - ['Neutrophil', "nan"], - ['Neutrophil (RPS high)', "nan"], - ['Neutrophil myeloid progenitor', "nan"], - ['Non inflammatory macrophages', "nan"], - ['Other endothelial cells', "nan"], - ['Pancreas exocrine cell', "nan"], - ['Periportal LSECs', "nan"], - ['Plasma B cell', "nan"], - ['Plasma cells', "nan"], - ['Pre pro B cell', "nan"], - ['Primordial germ cell', "nan"], - ['Proliferating T cell', "nan"], - ['Smooth muscle cell', "nan"], - ['Unknown', "nan"], - ['VCAM1pos EI macrophage', "nan"], - ['pDendritic cell precursor', "nan"], - ['pre B cell', "nan"], - ['pro B cell', "nan"] -] -ONTOLOGIES_HUMAN_LIVER_V0 = { - "names": { - 'Erythroid cells': ['Early Erythroid', 'Mid Erythroid', 'Late Erythroid'], - 'Endothelial cell': ['Liver sinusoidal endothelial cells', 'Macrovascular endothelial cells', 'Other endothelial cells'], - 'Hepatocyte': ['Hepatocyte 1','Hepatocyte 2','Hepatocyte 3','Hepatocyte 4','Hepatocyte 5','Hepatocyte 6'], - 'Hepatocytes': ['Hepatocyte 1','Hepatocyte 2','Hepatocyte 3','Hepatocyte 4','Hepatocyte 5','Hepatocyte 6'], - 'Endothelia': ['Liver sinusoidal endothelial cells', 'Macrovascular endothelial cells', 'Other endothelial cells'], - 'Bcells': ['pro B cell', 'Pre pro B cell', 'Mature B cells', 'pre B cell', 'Plasma B cell'], - 'Tcells': ['Gamma delta T cells 2', 'Gamma delta T cells 1', 'Alpha beta T cells'], - 'pDCs': ['Dendritic cell 1', 'Dendritic cell 2'], - 'NK, NKT and T cells': ['NK cell', 'Alpha beta T cells', 'Gamma delta T cells 1', 'Gamma delta T cells 2'], - 'B Cell': ['pro B cell', 'Pre pro B cell', 'Mature B cells', 'pre B cell', 'Plasma B cell'], - 'T cell': ['Alpha beta T cells', 'Gamma delta T cells 1', 'Gamma delta T cells 2'], - 'Dendritic cell': ['Dendritic cell 1', 'Dendritic cell 2'], - 'B cell': ['pro B cell', 'Pre pro B cell', 'Mature B cells', 'pre B cell'] - }, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanLiver(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_LIVER_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_LIVER_V0 - } - super(CelltypeVersionsHumanLiver, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/lung.py b/sfaira/versions/celltype_versions/human/lung.py deleted file mode 100644 index ddcfd0777..000000000 --- a/sfaira/versions/celltype_versions/human/lung.py +++ /dev/null @@ -1,74 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_LUNG_V0 = [ - ['Cycling cells', "nan"], - ['Cartilage', "nan"], - ['Fetal airway progenitors', "nan"], - ['Mesothelium', "nan"], - ['AT1', "nan"], - ['AT2', "nan"], - ['Acinar', "nan"], - ['Airway smooth muscle', "nan"], - ['Arterial', "nan"], - ['B cell lineage', "nan"], - ['Basal', "nan"], - ['Bronchial Vessel 1', "nan"], - ['Bronchial Vessel 2', "nan"], - ['Capillary', "nan"], - ['Capillary Intermediate 1', "nan"], - ['Capillary Intermediate 2', "nan"], - ['Dendritic cells', "nan"], - ['Erythrocytes', "nan"], - ['Fibroblasts', "nan"], - ['Fibromyocyte', "nan"], - ['Innate lymphoid cells', "nan"], - ['KRT5-/KRT17+', "nan"], - ['Lymphatic EC', "nan"], - ['Macrophages', "nan"], - ['Mast cells', "nan"], - ['Megakaryocytes', "nan"], - ['Monocytes', "nan"], - ['Multiciliated lineage', "nan"], - ['Myofibroblasts', "nan"], - ['Neutrophilic', "nan"], - ['Proliferating Epithelial Cells', "nan"], - ['Rare', "nan"], - ['Secretory', "nan"], - ['Submucosal Secretory', "nan"], - ['T cell lineage', "nan"], - ['Venous', "nan"], - ['Venous smooth muscle', "nan"], - ['unknown', "nan"] -] -ONTOLOGIES_HUMAN_LUNG_V0 = { - "names": { - "1_Endothelial": ['Arterial', 'Capillary', 'Venous', 'Bronchial Vessel 1', 'Bronchial Vessel 2', - 'Capillary Intermediate 1', 'Capillary Intermediate 2', 'Lymphatic EC'], - "1_Epithelial": ['Basal', 'Multiciliated lineage', 'Secretory', 'Rare', 'Submucosal Secretory', 'Acinar', - 'AT1', 'AT2', 'KRT5-/KRT17+', 'Proliferating Epithelial Cells', - 'Fetal airway progenitors'], - "1_Immune": ["B cell lineage", "T cell lineage", "Innate lymphoid cells", "Dendritic cells", "Macrophages", - "Monocytes", "Mast cells", "Megakaryocytes", "Erythrocytes"], - "1_Stroma": ['Mesothelium', 'Fibroblasts', 'Myofibroblasts', 'Fibromyocyte', 'Airway smooth muscle', - 'Venous smooth muscle', 'Cartilage'], - "2_Blood vessels": ['Arterial', 'Capillary', 'Venous', 'Bronchial Vessel 1', 'Bronchial Vessel 2', - 'Capillary Intermediate 1', 'Capillary Intermediate 2'], - "2_Fibroblast lineage": ['Fibroblasts', 'Myofibroblasts'], - "2_Lymphoid": ['B cell lineage', 'T cell lineage', 'Innate lymphoid cells'], - "2_Smooth Muscle": ['Fibromyocyte', 'Airway smooth muscle', 'Venous smooth muscle'], - "2_Myeloid": ["Dendritic cells", "Macrophages", "Monocytes", "Mast cells"] - }, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanLung(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_LUNG_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_LUNG_V0 - } - super(CelltypeVersionsHumanLung, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/malegonad.py b/sfaira/versions/celltype_versions/human/malegonad.py deleted file mode 100644 index ff581554f..000000000 --- a/sfaira/versions/celltype_versions/human/malegonad.py +++ /dev/null @@ -1,57 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_MALEGONAD_V0 = [ - ['Antigen presenting cell (RPS high)', "nan"], - ['B cell', "nan"], - ['CB CD34+', "nan"], - ['Dendritic cell', "nan"], - ['Differentiating Spermatogonia', "nan"], - ['Early Primary Spermatocytes', "nan"], - ['Elongated Spermatids', "nan"], - ['Endothelial cells', "nan"], - ['Erythroid cell', "nan"], - ['Erythroid progenitor cell (RP high)', "nan"], - ['Fasciculata cell', "nan"], - ['Fetal acinar cell', "nan"], - ['Fetal chondrocyte', "nan"], - ['Fetal epithelial progenitor', "nan"], - ['Fetal fibroblast', "nan"], - ['Fetal mesenchymal progenitor', "nan"], - ['Fetal neuron', "nan"], - ['Fetal skeletal muscle cell', "nan"], - ['Fetal stromal cell', "nan"], - ['Late primary Spermatocytes', "nan"], - ['Leydig cells', "nan"], - ['Loop of Henle', "nan"], - ['Macrophages', "nan"], - ['Monocyte', "nan"], - ['Myoid cells', "nan"], - ['Neutrophil', "nan"], - ['Neutrophil (RPS high)', "nan"], - ['Primordial germ cell', "nan"], - ['Proximal tubule progenitor', "nan"], - ['Round Spermatids', "nan"], - ['Sertoli cells', "nan"], - ['Smooth muscle cell', "nan"], - ['Sperm', "nan"], - ['Spermatogonial Stem cell', "nan"], - ['Stromal cell', "nan"], - ['T cell', "nan"], - ['Ureteric bud cell', "nan"] -] -ONTOLOGIES_HUMAN_MALEGONAD_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanMalegonad(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_MALEGONAD_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_MALEGONAD_V0 - } - super(CelltypeVersionsHumanMalegonad, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/mixed.py b/sfaira/versions/celltype_versions/human/mixed.py deleted file mode 100644 index bd2d91e3a..000000000 --- a/sfaira/versions/celltype_versions/human/mixed.py +++ /dev/null @@ -1,41 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_MIXED_V0 = [ - ['1.CD4rest', "nan"], - ['10.CD8EM/TRMact', "nan"], - ['10.CD8TEMRAact', "nan"], - ['11.CD8TEMRA', "nan"], - ['2.CD4act1', "nan"], - ['2.CD4rest2', "nan"], - ['3.CD4act1', "nan"], - ['3.CD4act2', "nan"], - ['4.CD4act2', "nan"], - ['4.CD4act3', "nan"], - ['5.CD4TRMrest', "nan"], - ['5.CD4act3', "nan"], - ['6.CD4TRMact', "nan"], - ['6.CD4Treg', "nan"], - ['7.CD4Treg', "nan"], - ['7.CD8EM/TRMrest', "nan"], - ['8.CD8EM/TRMact', "nan"], - ['8.CD8EM/TRMrest', "nan"], - ['9.CD8TEMRArest', "nan"], - ['9.CD8TRMrest', "nan"], - ['Unknown', "nan"] -] - -ONTOLOGIES_HUMAN_MIXED_V0 = { - "names": {}, - "ontology_ids": {}, -} - -class CelltypeVersionsHumanMixed(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_MIXED_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_MIXED_V0 - } - super(CelltypeVersionsHumanMixed, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/muscle.py b/sfaira/versions/celltype_versions/human/muscle.py deleted file mode 100644 index 3ecdc9d07..000000000 --- a/sfaira/versions/celltype_versions/human/muscle.py +++ /dev/null @@ -1,47 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_MUSCLE_V0 = [ - ['Antigen presenting cell (RPS high)', "nan"], - ['B cell', "nan"], - ['B cell (Plasmocyte)', "nan"], - ['CB CD34+', "nan"], - ['Dendritic cell', "nan"], - ['Endothelial cell', "nan"], - ['Endothelial cell (APC)', "nan"], - ['Erythroid cell', "nan"], - ['Erythroid progenitor cell (RP high)', "nan"], - ['Fetal Neuron', "nan"], - ['Fetal chondrocyte', "nan"], - ['Fetal epithelial progenitor', "nan"], - ['Fetal fibroblast', "nan"], - ['Fetal mesenchymal progenitor', "nan"], - ['Fetal skeletal muscle cell', "nan"], - ['Fetal stromal cell', "nan"], - ['Fibroblast', "nan"], - ['M2 Macrophage', "nan"], - ['Macrophage', "nan"], - ['Mast cell', "nan"], - ['Monocyte', "nan"], - ['Primordial germ cell', "nan"], - ['Smooth muscle cell', "nan"], - ['Stromal cell', "nan"], - ['T cell', "nan"], - ['Ventricle cardiomyocyte', "nan"], - ['hESC', "nan"] -] -ONTOLOGIES_HUMAN_MUSCLE_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanMuscle(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_MUSCLE_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_MUSCLE_V0 - } - super(CelltypeVersionsHumanMuscle, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/omentum.py b/sfaira/versions/celltype_versions/human/omentum.py deleted file mode 100644 index 8730a0528..000000000 --- a/sfaira/versions/celltype_versions/human/omentum.py +++ /dev/null @@ -1,40 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_OMENTUM_V0 = [ - ['Antigen presenting cell (RPS high)', "nan"], - ['B cell', "nan"], - ['B cell (Plasmocyte)', "nan"], - ['Dendritic cell', "nan"], - ['Endothelial cell (APC)', "nan"], - ['Endothelial cell (endothelial to mesenchymal transition)', "nan"], - ['Epithelial cell', "nan"], - ['Fetal fibroblast', "nan"], - ['Fetal mesenchymal progenitor', "nan"], - ['Fibroblast', "nan"], - ['M2 Macrophage', "nan"], - ['Macrophage', "nan"], - ['Mast cell', "nan"], - ['Mesothelial cell', "nan"], - ['Monocyte', "nan"], - ['Neutrophil', "nan"], - ['Sinusoidal endothelial cell', "nan"], - ['Smooth muscle cell', "nan"], - ['Stromal cell', "nan"], - ['T cell', "nan"] -] -ONTOLOGIES_HUMAN_OMENTUM_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanOmentum(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_OMENTUM_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_OMENTUM_V0 - } - super(CelltypeVersionsHumanOmentum, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/pancreas.py b/sfaira/versions/celltype_versions/human/pancreas.py deleted file mode 100644 index c5c161500..000000000 --- a/sfaira/versions/celltype_versions/human/pancreas.py +++ /dev/null @@ -1,66 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_PANCREAS_V0 = [ - ['Acinar cell', "nan"], - ['Activated Stellate cell', "nan"], - ['Alpha cell', "nan"], - ['Antigen presenting cell (RPS high)', "nan"], - ['B cell', "nan"], - ['B cell (Plasmocyte)', "nan"], - ['Basal cell', "nan"], - ['Beta cell', "nan"], - ['CB CD34+', "nan"], - ['Co-expression cell', "nan"], - ['Delta cell', "nan"], - ['Dendritic cell', "nan"], - ['Ductal cell', "nan"], - ['Endothelial cell', "nan"], - ['Enterocyte', "nan"], - ['Enterocyte progenitor', "nan"], - ['Epithelial progenitor', "nan"], - ['Epsilon cell', "nan"], - ['Erythroid cell', "nan"], - ['Erythroid progenitor cell (RP high)', "nan"], - ['Fibroblast', "nan"], - ['Gamma cell', "nan"], - ['Gastric endocrine cell', "nan"], - ['Immature sertoli cell (Pre-Sertoli cell)', "nan"], - ['MHC class II cell', "nan"], - ['Macrophage', "nan"], - ['Mast cell', "nan"], - ['Mesenchymal Cell', "nan"], - ['Monocyte', "nan"], - ['Neuron', "nan"], - ['Neutrophil', "nan"], - ['Neutrophil (RPS high)', "nan"], - ['PSC cell', "nan"], - ['Pancreas exocrine cell', "nan"], - ['Primordial germ cell', "nan"], - ['Proximal tubule progenitor', "nan"], - ['Quiescent Stellate cell', "nan"], - ['Schwann cell', "nan"], - ['Skeletal muscle cell', "nan"], - ['Smooth muscle cell', "nan"], - ['Stromal cell', "nan"], - ['T cell', "nan"], - ['Unclassified endocrine cell', "nan"], - ['Unknown', "nan"] -] -ONTOLOGIES_HUMAN_PANCREAS_V0 = { - "names": { - 'Endocrine cell': ['Alpha cell', 'Beta cell', 'Gamma cell', 'Delta cell', 'Epsilon cell', 'Unclassified endocrine cell'], - }, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanPancreas(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_PANCREAS_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_PANCREAS_V0 - } - super(CelltypeVersionsHumanPancreas, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/placenta.py b/sfaira/versions/celltype_versions/human/placenta.py deleted file mode 100644 index 401ba11fe..000000000 --- a/sfaira/versions/celltype_versions/human/placenta.py +++ /dev/null @@ -1,81 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_PLACENTA_V0 = [ - ['Antigen presenting cell (RPS high)', "nan"], - ['B cell', "nan"], - ['B cell (Plasmocyte)', "nan"], - ['Basal cell', "nan"], - ['CB CD34+', "nan"], - ['Decidual Macrophages 1', "nan"], - ['Decidual Macrophages 2', "nan"], - ['Decidual Macrophages 3', "nan"], - ['Decidual NK Cells 1', "nan"], - ['Decidual NK Cells 2', "nan"], - ['Decidual NK Cells 3', "nan"], - ['Decidual NK Cells p', "nan"], - ['Decidual Stromal Cells 1', "nan"], - ['Decidual Stromal Cells 2', "nan"], - ['Decidual Stromal Cells 3', "nan"], - ['Dendritic Cells 1', "nan"], - ['Dendritic Cells 2', "nan"], - ['Endothelial Cells L', "nan"], - ['Endothelial Cells f', "nan"], - ['Endothelial Cells m', "nan"], - ['Endothelial cell (APC)', "nan"], - ['Endothelial cell (endothelial to mesenchymal transition)', "nan"], - ['Epithelial Glandular Cells 1', "nan"], - ['Epithelial Glandular Cells 2', "nan"], - ['Epithelial cell (intermediated)', "nan"], - ['Erythroid cell', "nan"], - ['Erythroid progenitor cell (RP high)', "nan"], - ['Extravillous Trophoblasts', "nan"], - ['Fetal epithelial progenitor', "nan"], - ['Fetal fibroblast', "nan"], - ['Fetal mesenchymal progenitor', "nan"], - ['Fetal neuron', "nan"], - ['Fetal skeletal muscle cell', "nan"], - ['Fibroblasts 1', "nan"], - ['Fibroblasts 2', "nan"], - ['Granulocytes', "nan"], - ['Hofbauer Cells', "nan"], - ['ILC3', "nan"], - ['Intermediated cell', "nan"], - ['M2 Macrophage', "nan"], - ['Monocyte', "nan"], - ['Myeloid cell', "nan"], - ['NK Cells CD16+', "nan"], - ['NK Cells CD16-', "nan"], - ['Neutrophil', "nan"], - ['Perivascular Cells 1', "nan"], - ['Perivascular Cells 2', "nan"], - ['Smooth muscle cell', "nan"], - ['Stratified epithelial cell', "nan"], - ['Stromal cell', "nan"], - ['Syncytiotrophoblasts', "nan"], - ['T cell', "nan"], - ['Villous Cytotrophoblasts', "nan"], - ['hESC', "nan"] -] -ONTOLOGIES_HUMAN_PLACENTA_V0 = { - "names": { - 'Fibroblast': ['Fibroblasts 1', 'Fibroblasts 2'], - 'Macrophage': ['Decidual Macrophages 1', 'Decidual Macrophages 2', 'Decidual Macrophages 3'], - 'Epithelial cell': ['Epithelial Glandular Cells 1', 'Epithelial Glandular Cells 2'], - 'Fetal stromal cell': ['Decidual Stromal Cells 1', 'Decidual Stromal Cells 2', 'Decidual Stromal Cells 3'], - 'Endothelial cell': ['Endothelial Cells f', 'Endothelial Cells m', 'Endothelial Cells L'], - 'Dendritic cell': ['Dendritic Cells 1', 'Dendritic Cells 2'], - }, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanPlacenta(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_PLACENTA_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_PLACENTA_V0 - } - super(CelltypeVersionsHumanPlacenta, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/pleura.py b/sfaira/versions/celltype_versions/human/pleura.py deleted file mode 100644 index c9c8bf906..000000000 --- a/sfaira/versions/celltype_versions/human/pleura.py +++ /dev/null @@ -1,46 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_PLEURA_V0 = [ - ['Antigen presenting cell (RPS high)', "nan"], - ['B cell', "nan"], - ['B cell (Plasmocyte)', "nan"], - ['CB CD34+', "nan"], - ['Dendritic cell', "nan"], - ['Endothelial cell', "nan"], - ['Endothelial cell (APC)', "nan"], - ['Endothelial cell (endothelial to mesenchymal transition)', "nan"], - ['Epithelial cell', "nan"], - ['Erythroid cell', "nan"], - ['Erythroid progenitor cell (RP high)', "nan"], - ['Fetal epithelial progenitor', "nan"], - ['Fetal stromal cell', "nan"], - ['Fibroblast', "nan"], - ['M2 Macrophage', "nan"], - ['Macrophage', "nan"], - ['Mast cell', "nan"], - ['Mesothelial cell', "nan"], - ['Monocyte', "nan"], - ['Neutrophil', "nan"], - ['Neutrophil (RPS high)', "nan"], - ['Primordial germ cell', "nan"], - ['Sinusoidal endothelial cell', "nan"], - ['Smooth muscle cell', "nan"], - ['Stromal cell', "nan"], - ['T cell', "nan"] -] -ONTOLOGIES_HUMAN_PLEURA_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanPleura(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_PLEURA_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_PLEURA_V0 - } - super(CelltypeVersionsHumanPleura, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/prostate.py b/sfaira/versions/celltype_versions/human/prostate.py deleted file mode 100644 index da8930589..000000000 --- a/sfaira/versions/celltype_versions/human/prostate.py +++ /dev/null @@ -1,43 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_PROSTATE_V0 = [ - ['Antigen presenting cell (RPS high)', "nan"], - ['Basal cell', "nan"], - ['Club', "nan"], - ['Dendritic cell', "nan"], - ['Endothelial cell', "nan"], - ['Enterocyte progenitor', "nan"], - ['Epithelial cell (intermediated)', "nan"], - ['Fasciculata cell', "nan"], - ['Fetal enterocyte ', "nan"], - ['Fetal epithelial progenitor', "nan"], - ['Fibroblast', "nan"], - ['Gastric endocrine cell', "nan"], - ['Goblet cell', "nan"], - ['Hillock', "nan"], - ['Leukocytes', "nan"], - ['Luminal', "nan"], - ['Macrophage', "nan"], - ['Monocyte', "nan"], - ['Primordial germ cell', "nan"], - ['Smooth muscle cell', "nan"], - ['Stratified epithelial cell', "nan"], - ['Stromal cell', "nan"], - ['T cell', "nan"] -] -ONTOLOGIES_HUMAN_PROSTATE_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanProstate(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_PROSTATE_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_PROSTATE_V0 - } - super(CelltypeVersionsHumanProstate, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/rectum.py b/sfaira/versions/celltype_versions/human/rectum.py deleted file mode 100644 index 6741afe2f..000000000 --- a/sfaira/versions/celltype_versions/human/rectum.py +++ /dev/null @@ -1,41 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_RECTUM_V0 = [ - ['B cell', "nan"], - ['B cell (Plasmocyte)', "nan"], - ['Dendritic cell', "nan"], - ['Endothelial cell (APC)', "nan"], - ['Enterocyte', "nan"], - ['Enterocyte progenitor', "nan"], - ['Enteroendocrine', "nan"], - ['Erythroid cell', "nan"], - ['Fetal stromal cell', "nan"], - ['Goblet', "nan"], - ['Macrophage', "nan"], - ['Mast cell', "nan"], - ['Monocyte', "nan"], - ['Paneth-like', "nan"], - ['Smooth muscle cell', "nan"], - ['Stem Cell', "nan"], - ['Stromal cell', "nan"], - ['T cell', "nan"], - ['TA', "nan"] -] -ONTOLOGIES_HUMAN_RECTUM_V0 = { - "names": { - 'Epithelial cell': ['Paneth-like', 'Enteroendocrine', 'Goblet'] - }, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanRectum(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_RECTUM_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_RECTUM_V0 - } - super(CelltypeVersionsHumanRectum, self).__init__(**kwargs) \ No newline at end of file diff --git a/sfaira/versions/celltype_versions/human/rib.py b/sfaira/versions/celltype_versions/human/rib.py deleted file mode 100644 index 11661027f..000000000 --- a/sfaira/versions/celltype_versions/human/rib.py +++ /dev/null @@ -1,44 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_RIB_V0 = [ - ['Antigen presenting cell (RPS high)', "nan"], - ['B cell', "nan"], - ['CB CD34+', "nan"], - ['Dendritic cell', "nan"], - ['Endothelial cell', "nan"], - ['Erythroid cell', "nan"], - ['Erythroid progenitor cell (RP high)', "nan"], - ['Fetal Neuron', "nan"], - ['Fetal chondrocyte', "nan"], - ['Fetal enterocyte ', "nan"], - ['Fetal epithelial progenitor', "nan"], - ['Fetal fibroblast', "nan"], - ['Fetal mesenchymal progenitor', "nan"], - ['Fetal skeletal muscle cell', "nan"], - ['Fetal stromal cell', "nan"], - ['Kidney intercalated cell', "nan"], - ['Macrophage', "nan"], - ['Monocyte', "nan"], - ['Neutrophil', "nan"], - ['Neutrophil (RPS high)', "nan"], - ['Primordial germ cell', "nan"], - ['Smooth muscle cell', "nan"], - ['T cell', "nan"], - ['hESC', "nan"] -] -ONTOLOGIES_HUMAN_RIB_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanRib(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_RIB_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_RIB_V0 - } - super(CelltypeVersionsHumanRib, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/skin.py b/sfaira/versions/celltype_versions/human/skin.py deleted file mode 100644 index 6e391ec50..000000000 --- a/sfaira/versions/celltype_versions/human/skin.py +++ /dev/null @@ -1,60 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_SKIN_V0 = [ - ['Antigen presenting cell (RPS high)', "nan"], - ['B cell', "nan"], - ['Basal cell 1', "nan"], - ['Basal cell 2', "nan"], - ['CB CD34+', "nan"], - ['Dendritic cell', "nan"], - ['Endothelial cell', "nan"], - ['Endothelial cell (APC)', "nan"], - ['Epithelial cell', "nan"], - ['Erythroid cell', "nan"], - ['Erythroid progenitor cell (RP high)', "nan"], - ['Fetal Neuron', "nan"], - ['Fetal epithelial progenitor', "nan"], - ['Fetal fibroblast', "nan"], - ['Fetal mesenchymal progenitor', "nan"], - ['Fetal skeletal muscle cell', "nan"], - ['Fetal stromal cell', "nan"], - ['Fibroblast', "nan"], - ['Kidney intercalated cell', "nan"], - ['Macrophage', "nan"], - ['Mast cell', "nan"], - ['Monocyte', "nan"], - ['Neutrophil', "nan"], - ['Neutrophil (RPS high)', "nan"], - ['Primordial germ cell', "nan"], - ['Proliferating T cell', "nan"], - ['Smooth muscle cell', "nan"], - ['Stromal cell', "nan"], - ['T cell', "nan"], - ['WNT1', "nan"], - ['channel', "nan"], - ['folicular', "nan"], - ['granular', "nan"], - ['hESC', "nan"], - ['melanocyte', "nan"], - ['mitotic', "nan"], - ['spinous', "nan"] -] -ONTOLOGIES_HUMAN_SKIN_V0 = { - "names": { - 'immune': ['B cell', 'T cell', 'Dendritic cell', 'Erythroid cell', 'Erythroid progenitor cell (RP high)', 'Macrophage', 'Mast cell', 'Monocyte', 'Neutrophil', 'Neutrophil (RPS high)', 'Proliferating T cell'], - 'Basal cell': ['Basal cell 1', 'Basal cell 2'] - }, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanSkin(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_SKIN_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_SKIN_V0 - } - super(CelltypeVersionsHumanSkin, self).__init__(**kwargs) \ No newline at end of file diff --git a/sfaira/versions/celltype_versions/human/spinalcord.py b/sfaira/versions/celltype_versions/human/spinalcord.py deleted file mode 100644 index b7d60886e..000000000 --- a/sfaira/versions/celltype_versions/human/spinalcord.py +++ /dev/null @@ -1,55 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_SPINALCORD_V0 = [ - ['Antigen presenting cell (RPS high)', "nan"], - ['Astrocyte', "nan"], - ['B cell', "nan"], - ['B cell (Plasmocyte)', "nan"], - ['CB CD34+', "nan"], - ['Dendritic cell', "nan"], - ['Endothelial cell', "nan"], - ['Epithelial cell', "nan"], - ['Erythroid cell', "nan"], - ['Erythroid progenitor cell (RP high)', "nan"], - ['Fetal Neuron', "nan"], - ['Fetal chondrocyte', "nan"], - ['Fetal endocrine cell', "nan"], - ['Fetal enterocyte ', "nan"], - ['Fetal epithelial progenitor', "nan"], - ['Fetal mesenchymal progenitor', "nan"], - ['Fetal neuron', "nan"], - ['Fetal skeletal muscle cell', "nan"], - ['Fetal stromal cell', "nan"], - ['Fibroblast', "nan"], - ['Kidney intercalated cell', "nan"], - ['Loop of Henle', "nan"], - ['M2 Macrophage', "nan"], - ['Macrophage', "nan"], - ['Monocyte', "nan"], - ['Neutrophil', "nan"], - ['Neutrophil (RPS high)', "nan"], - ['Primordial germ cell', "nan"], - ['Proliferating T cell', "nan"], - ['Sinusoidal endothelial cell', "nan"], - ['Smooth muscle cell', "nan"], - ['Stratified epithelial cell', "nan"], - ['Stromal cell', "nan"], - ['T cell', "nan"], - ['hESC', "nan"] -] -ONTOLOGIES_HUMAN_SPINALCORD_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanSpinalcord(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_SPINALCORD_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_SPINALCORD_V0 - } - super(CelltypeVersionsHumanSpinalcord, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/spleen.py b/sfaira/versions/celltype_versions/human/spleen.py deleted file mode 100644 index 2c1d0bfa3..000000000 --- a/sfaira/versions/celltype_versions/human/spleen.py +++ /dev/null @@ -1,69 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_SPLEEN_V0 = [ - ['Antigen presenting cell (RPS high)', "nan"], - ['B_Hypermutation', "nan"], - ['B_T_doublet', "nan"], - ['B_follicular', "nan"], - ['B_mantle', "nan"], - ['CB CD34+', "nan"], - ['CD34_progenitor', "nan"], - ['DC_1', "nan"], - ['DC_2', "nan"], - ['DC_activated', "nan"], - ['DC_plasmacytoid', "nan"], - ['Endothelial cell', "nan"], - ['Endothelial cell (APC)', "nan"], - ['Erythroid cell', "nan"], - ['Erythroid progenitor cell (RP high)', "nan"], - ['Fetal epithelial progenitor', "nan"], - ['Fibroblast', "nan"], - ['ILC', "nan"], - ['Macrophage', "nan"], - ['Mast cell', "nan"], - ['Monocyte', "nan"], - ['NK_CD160pos', "nan"], - ['NK_FCGR3Apos', "nan"], - ['NK_dividing', "nan"], - ['Neutrophil', "nan"], - ['Neutrophil (RPS high)', "nan"], - ['Plasma_IgG', "nan"], - ['Plasma_IgM', "nan"], - ['Plasmablast', "nan"], - ['Platelet', "nan"], - ['Proliferating T cell', "nan"], - ['Sinusoidal endothelial cell', "nan"], - ['Smooth muscle cell', "nan"], - ['Stromal cell', "nan"], - ['T_CD4_conv', "nan"], - ['T_CD4_fh', "nan"], - ['T_CD4_naive', "nan"], - ['T_CD4_reg', "nan"], - ['T_CD8_CTL', "nan"], - ['T_CD8_MAIT', "nan"], - ['T_CD8_activated', "nan"], - ['T_CD8_gd', "nan"], - ['unknown', "nan"] -] -ONTOLOGIES_HUMAN_SPLEEN_V0 = { - "names": { - 'B cell (Plasmocyte)': ['Plasma_IgG', 'Plasma_IgM', 'Plasmablast'], - 'B cell': ['B_Hypermutation', 'B_follicular', 'B_mantle', 'B_T_doublet'], - 'Dendritic cell': ['DC_1', 'DC_2', 'DC_activated', 'DC_plasmacytoid'], - 'T cell': ["T_CD4_conv", "T_CD4_fh", "T_CD4_naive", "T_CD4_reg", "T_CD8_CTL", "T_CD8_MAIT", "T_CD8_activated", - "T_CD8_gd", ] - }, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanSpleen(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_SPLEEN_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_SPLEEN_V0 - } - super(CelltypeVersionsHumanSpleen, self).__init__(**kwargs) \ No newline at end of file diff --git a/sfaira/versions/celltype_versions/human/stomach.py b/sfaira/versions/celltype_versions/human/stomach.py deleted file mode 100644 index 074d0c97a..000000000 --- a/sfaira/versions/celltype_versions/human/stomach.py +++ /dev/null @@ -1,68 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_STOMACH_V0 = [ - ['Antigen presenting cell (RPS high)', "nan"], - ['B cell', "nan"], - ['B cell (Plasmocyte)', "nan"], - ['Basal cell', "nan"], - ['CB CD34+', "nan"], - ['Dendritic cell', "nan"], - ['Endothelial cell', "nan"], - ['Endothelial cell (APC)', "nan"], - ['Endothelial cell (endothelial to mesenchymal transition)', "nan"], - ['Enterocyte', "nan"], - ['Enterocyte progenitor', "nan"], - ['Epithelial cell', "nan"], - ['Epithelial cell (intermediated)', "nan"], - ['Erythroid cell', "nan"], - ['Erythroid progenitor cell (RP high)', "nan"], - ['Fasciculata cell', "nan"], - ['Fetal Neuron', "nan"], - ['Fetal acinar cell', "nan"], - ['Fetal chondrocyte', "nan"], - ['Fetal endocrine cell', "nan"], - ['Fetal enterocyte ', "nan"], - ['Fetal epithelial progenitor', "nan"], - ['Fetal fibroblast', "nan"], - ['Fetal mesenchymal progenitor', "nan"], - ['Fetal neuron', "nan"], - ['Fetal skeletal muscle cell', "nan"], - ['Fetal stromal cell', "nan"], - ['Fibroblast', "nan"], - ['Gastric chief cell', "nan"], - ['Gastric endocrine cell', "nan"], - ['Goblet cell', "nan"], - ['Hepatocyte/Endodermal cell', "nan"], - ['M2 Macrophage', "nan"], - ['Macrophage', "nan"], - ['Mast cell', "nan"], - ['Mesothelial cell', "nan"], - ['Monocyte', "nan"], - ['Myeloid cell', "nan"], - ['Neutrophil', "nan"], - ['Neutrophil (RPS high)', "nan"], - ['Primordial germ cell', "nan"], - ['Proliferating T cell', "nan"], - ['Proximal tubule progenitor', "nan"], - ['Sinusoidal endothelial cell', "nan"], - ['Smooth muscle cell', "nan"], - ['Stromal cell', "nan"], - ['T cell', "nan"], - ['hESC', "nan"] -] -ONTOLOGIES_HUMAN_STOMACH_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanStomach(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_STOMACH_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_STOMACH_V0 - } - super(CelltypeVersionsHumanStomach, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/thymus.py b/sfaira/versions/celltype_versions/human/thymus.py deleted file mode 100644 index af315a27c..000000000 --- a/sfaira/versions/celltype_versions/human/thymus.py +++ /dev/null @@ -1,74 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_THYMUS_V0 = [ - ['Antigen presenting cell (RPS high)', "nan"], - ['B_memory', "nan"], - ['B_naive', "nan"], - ['B_plasma', "nan"], - ['B_pro/pre', "nan"], - ['CB CD34+', "nan"], - ['CD4+T', "nan"], - ['CD4+Tmem', "nan"], - ['CD8+T', "nan"], - ['CD8+Tmem', "nan"], - ['CD8αα', "nan"], - ['DC1', "nan"], - ['DC2', "nan"], - ['DN', "nan"], - ['DP', "nan"], - ['ETP', "nan"], - ['Endo', "nan"], - ['Epi_GCM2', "nan"], - ['Ery', "nan"], - ['Fb_1', "nan"], - ['Fb_2', "nan"], - ['Fb_cycling', "nan"], - ['Fetal epithelial progenitor', "nan"], - ['ILC3', "nan"], - ['Lymph', "nan"], - ['Mac', "nan"], - ['Mast', "nan"], - ['Mgk', "nan"], - ['Mono', "nan"], - ['NK', "nan"], - ['NKT', "nan"], - ['NMP', "nan"], - ['Neutrophil', "nan"], - ['Neutrophil (RPS high)', "nan"], - ['Proliferating T cell', "nan"], - ['T(agonist)', "nan"], - ['TEC(myo)', "nan"], - ['TEC(neuro)', "nan"], - ['Treg', "nan"], - ['VSMC', "nan"], - ['aDC', "nan"], - ['alpha_beta_T(entry)', "nan"], - ['cTEC', "nan"], - ['gamma_delta_T', "nan"], - ['mTEC(I)', "nan"], - ['mTEC(II)', "nan"], - ['mTEC(III)', "nan"], - ['mTEC(IV)', "nan"], - ['mcTEC', "nan"], - ['pDC', "nan"] -] -ONTOLOGIES_HUMAN_THYMUS_V0 = { - "names": { - 'B cell': ['B_memory', 'B_naive', 'B_pro/pre'], - 'Dendritic cell': ['DC1', 'DC2'], - 'T cell': ['alpha_beta_T(entry)', 'gamma_delta_T', 'Treg', 'CD4+T', 'CD4+Tmem', 'CD8+T', 'CD8+Tmem'] - }, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanThymus(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_THYMUS_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_THYMUS_V0 - } - super(CelltypeVersionsHumanThymus, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/thyroid.py b/sfaira/versions/celltype_versions/human/thyroid.py deleted file mode 100644 index 394b67df0..000000000 --- a/sfaira/versions/celltype_versions/human/thyroid.py +++ /dev/null @@ -1,48 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_THYROID_V0 = [ - ['Antigen presenting cell (RPS high)', "nan"], - ['B cell', "nan"], - ['B cell (Plasmocyte)', "nan"], - ['CB CD34+', "nan"], - ['Dendritic cell', "nan"], - ['Endothelial cell', "nan"], - ['Endothelial cell (APC)', "nan"], - ['Enterocyte progenitor', "nan"], - ['Erythroid progenitor cell (RP high)', "nan"], - ['Fasciculata cell', "nan"], - ['Fetal enterocyte ', "nan"], - ['Fetal epithelial progenitor', "nan"], - ['Fibroblast', "nan"], - ['Gastric endocrine cell', "nan"], - ['Loop of Henle', "nan"], - ['M2 Macrophage', "nan"], - ['Macrophage', "nan"], - ['Mast cell', "nan"], - ['Monocyte', "nan"], - ['Neutrophil', "nan"], - ['Primordial germ cell', "nan"], - ['Proliferating T cell', "nan"], - ['Sinusoidal endothelial cell', "nan"], - ['Smooth muscle cell', "nan"], - ['Stromal cell', "nan"], - ['T cell', "nan"], - ['Thyroid follicular cell', "nan"] -] - -ONTOLOGIES_HUMAN_THYROID_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanThyroid(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_THYROID_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_THYROID_V0 - } - super(CelltypeVersionsHumanThyroid, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/trachea.py b/sfaira/versions/celltype_versions/human/trachea.py deleted file mode 100644 index fe00fce25..000000000 --- a/sfaira/versions/celltype_versions/human/trachea.py +++ /dev/null @@ -1,45 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_TRACHEA_V0 = [ - ['B cell', "nan"], - ['B cell (Plasmocyte)', "nan"], - ['Basal cell', "nan"], - ['Chondrocyte', "nan"], - ['Dendritic cell', "nan"], - ['Endothelial cell', "nan"], - ['Endothelial cell (APC)', "nan"], - ['Endothelial cell (endothelial to mesenchymal transition)', "nan"], - ['Enterocyte progenitor', "nan"], - ['Fetal chondrocyte', "nan"], - ['Fetal epithelial progenitor', "nan"], - ['Fetal stromal cell', "nan"], - ['Fibroblast', "nan"], - ['Gastric endocrine cell', "nan"], - ['Goblet cell', "nan"], - ['Loop of Henle', "nan"], - ['Macrophage', "nan"], - ['Mast cell', "nan"], - ['Monocyte', "nan"], - ['Smooth muscle cell', "nan"], - ['Stratified epithelial cell', "nan"], - ['Stromal cell', "nan"], - ['T cell', "nan"], - ['Thyroid follicular cell', "nan"] -] - -ONTOLOGIES_HUMAN_TRACHEA_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanTrachea(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_TRACHEA_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_TRACHEA_V0 - } - super(CelltypeVersionsHumanTrachea, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/ureter.py b/sfaira/versions/celltype_versions/human/ureter.py deleted file mode 100644 index b410d9db5..000000000 --- a/sfaira/versions/celltype_versions/human/ureter.py +++ /dev/null @@ -1,33 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_URETER_V0 = [ - ['B cell (Plasmocyte)', "nan"], - ['Basal cell', "nan"], - ['Dendritic cell', "nan"], - ['Endothelial cell', "nan"], - ['Endothelial cell (APC)', "nan"], - ['Epithelial cell (intermediated)', "nan"], - ['Fibroblast', "nan"], - ['Intermediated cell', "nan"], - ['Macrophage', "nan"], - ['Mast cell', "nan"], - ['Smooth muscle cell', "nan"], - ['Stromal cell', "nan"], - ['T cell', "nan"] -] -ONTOLOGIES_HUMAN_URETER_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanUreter(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_URETER_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_URETER_V0 - } - super(CelltypeVersionsHumanUreter, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/human/uterus.py b/sfaira/versions/celltype_versions/human/uterus.py deleted file mode 100644 index 5e4c79e79..000000000 --- a/sfaira/versions/celltype_versions/human/uterus.py +++ /dev/null @@ -1,43 +0,0 @@ -from .external import CelltypeVersionsBase - -CELLTYPES_HUMAN_UTERUS_V0 = [ - ['AT2 cell', "nan"], - ['B cell', "nan"], - ['Dendritic cell', "nan"], - ['Endothelial cell', "nan"], - ['Endothelial cell (APC)', "nan"], - ['Endothelial cell (endothelial to mesenchymal transition)', "nan"], - ['Enterocyte progenitor', "nan"], - ['Fetal epithelial progenitor', "nan"], - ['Fetal fibroblast', "nan"], - ['Fetal mesenchymal progenitor', "nan"], - ['Fetal stromal cell', "nan"], - ['Fibroblast', "nan"], - ['Gastric endocrine cell', "nan"], - ['Loop of Henle', "nan"], - ['Macrophage', "nan"], - ['Mast cell', "nan"], - ['Monocyte', "nan"], - ['Myeloid cell', "nan"], - ['Primordial germ cell', "nan"], - ['Smooth muscle cell', "nan"], - ['Stratified epithelial cell', "nan"], - ['Stromal cell', "nan"], - ['T cell', "nan"] -] -ONTOLOGIES_HUMAN_UTERUS_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsHumanUterus(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_HUMAN_UTERUS_V0 - } - self.ontology = { - "0": ONTOLOGIES_HUMAN_UTERUS_V0 - } - super(CelltypeVersionsHumanUterus, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/__init__.py b/sfaira/versions/celltype_versions/mouse/__init__.py deleted file mode 100644 index e19c15aea..000000000 --- a/sfaira/versions/celltype_versions/mouse/__init__.py +++ /dev/null @@ -1,57 +0,0 @@ -from .bladder import CelltypeVersionsMouseBladder -from .brain import CelltypeVersionsMouseBrain -from .diaphragm import CelltypeVersionsMouseDiaphragm -from .adipose import CelltypeVersionsMouseAdipose -from .heart import CelltypeVersionsMouseHeart -from .kidney import CelltypeVersionsMouseKidney -from .colon import CelltypeVersionsMouseColon -from .muscle import CelltypeVersionsMouseMuscle -from .liver import CelltypeVersionsMouseLiver -from .lung import CelltypeVersionsMouseLung -from .mammarygland import CelltypeVersionsMouseMammarygland -from .bone import CelltypeVersionsMouseBone -from .femalegonad import CelltypeVersionsMouseFemalegonad -from .blood import CelltypeVersionsMouseBlood -from .placenta import CelltypeVersionsMousePlacenta -from .pancreas import CelltypeVersionsMousePancreas -from .prostate import CelltypeVersionsMouseProstate -from .rib import CelltypeVersionsMouseRib -from .skin import CelltypeVersionsMouseSkin -from .ileum import CelltypeVersionsMouseIleum -from .spleen import CelltypeVersionsMouseSpleen -from .stomach import CelltypeVersionsMouseStomach -from .malegonad import CelltypeVersionsMouseMalegonad -from .thymus import CelltypeVersionsMouseThymus -from .tongue import CelltypeVersionsMouseTongue -from .trachea import CelltypeVersionsMouseTrachea -from .uterus import CelltypeVersionsMouseUterus - -ORGAN_DICT = { - "bladder": CelltypeVersionsMouseBladder(), - "brain": CelltypeVersionsMouseBrain(), - "diaphragm": CelltypeVersionsMouseDiaphragm(), - "adipose": CelltypeVersionsMouseAdipose(), - "heart": CelltypeVersionsMouseHeart(), - "kidney": CelltypeVersionsMouseKidney(), - "colon": CelltypeVersionsMouseColon(), - "muscle": CelltypeVersionsMouseMuscle(), - "liver": CelltypeVersionsMouseLiver(), - "lung": CelltypeVersionsMouseLung(), - "mammarygland": CelltypeVersionsMouseMammarygland(), - "bone": CelltypeVersionsMouseBone(), - "femalegonad": CelltypeVersionsMouseFemalegonad(), - "blood": CelltypeVersionsMouseBlood(), - "placenta": CelltypeVersionsMousePlacenta(), - "pancreas": CelltypeVersionsMousePancreas(), - "prostate": CelltypeVersionsMouseProstate(), - "rib": CelltypeVersionsMouseRib(), - "skin": CelltypeVersionsMouseSkin(), - "ileum": CelltypeVersionsMouseIleum(), - "spleen": CelltypeVersionsMouseSpleen(), - "stomach": CelltypeVersionsMouseStomach(), - "malegonad": CelltypeVersionsMouseMalegonad(), - "thymus": CelltypeVersionsMouseThymus(), - "tongue": CelltypeVersionsMouseTongue(), - "trachea": CelltypeVersionsMouseTrachea(), - "uterus": CelltypeVersionsMouseUterus() -} diff --git a/sfaira/versions/celltype_versions/mouse/adipose.py b/sfaira/versions/celltype_versions/mouse/adipose.py deleted file mode 100644 index 5b390523d..000000000 --- a/sfaira/versions/celltype_versions/mouse/adipose.py +++ /dev/null @@ -1,38 +0,0 @@ -from .external import CelltypeVersionsBase - -# Version 0 -CELLTYPES_MOUSE_ADIPOSE_V0 = [ - ["B cell", "CL:0000236"], - ["CD4-positive, alpha-beta T cell", "nan"], - ["CD8-positive, alpha-beta T cell", "nan"], - ["endothelial cell", "CL:0000115"], - ["epithelial cell", "CL:0000066"], - ["erythroblast", "nan"], - ["macrophage", "nan"], - ["mesenchymal stem cell of adipose", "CL:0002570"], - ["myeloid cell", "CL:0000763"], - ["NK cell", "CL:0000623"], - ["unknown", "nan"] -] -ONTOLOGIES_MOUSE_ADIPOSE_V0 = { - "names": { - "lymphocyte": [ - "B cell", "CD4-positive, alpha-beta T cell", "CD8-positive, alpha-beta T cell", - "myeloid cell", "NK cell" - ], - "T cell": ["CD4-positive, alpha-beta T cell", "CD8-positive, alpha-beta T cell"] - }, - "ontology_ids": {}, -} - - -class CelltypeVersionsMouseAdipose(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_MOUSE_ADIPOSE_V0 - } - self.ontology = { - "0": ONTOLOGIES_MOUSE_ADIPOSE_V0 - } - super(CelltypeVersionsMouseAdipose, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/bladder.py b/sfaira/versions/celltype_versions/mouse/bladder.py deleted file mode 100644 index 3c2215ec7..000000000 --- a/sfaira/versions/celltype_versions/mouse/bladder.py +++ /dev/null @@ -1,37 +0,0 @@ -from .external import CelltypeVersionsBase - -# Version 0 -CELLTYPES_MOUSE_BLADDER_V0 = [ - ["basal epithelial cell", "nan"], - ["bladder urothelial cell", "CL:1001428"], - ["dendritic cell", "nan"], - ["endothelial cell", "CL:0000115"], - ["epithelial cell", "nan"], - ["macrophage", "nan"], - ["mesenchymal stromal cell", "nan"], - ["NK cell", "nan"], - ["smooth muscle cell", "nan"], - ["stromal cell", "nan"], - ["umbrella cell", "nan"], - ["unknown", "nan"] -] -ONTOLOGIES_MOUSE_BLADDER_V0 = { - "names": { - "bladder cell": ["basal epithelial cell", "epithelial cell", "mesenchymal stromal cell", "smooth muscle cell", - "stromal cell", "umbrella cell"], - "leukocyte": ["dendritic cell", "macrophage", "NK cell"] - }, - "ontology_ids": {}, -} - - -class CelltypeVersionsMouseBladder(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_MOUSE_BLADDER_V0 - } - self.ontology = { - "0": ONTOLOGIES_MOUSE_BLADDER_V0 - } - super(CelltypeVersionsMouseBladder, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/blood.py b/sfaira/versions/celltype_versions/mouse/blood.py deleted file mode 100644 index cc4613157..000000000 --- a/sfaira/versions/celltype_versions/mouse/blood.py +++ /dev/null @@ -1,31 +0,0 @@ -from .external import CelltypeVersionsBase - -# Version 0 -CELLTYPES_MOUSE_BLOOD_V0 = [ - ["B cell", "CL:0000236"], - ["macrophage", "CL:0000235"], - ["T cell", "CL:0000084"], - ["NK cell", "nan"], - ["neutrophil", "nan"], - ["monocyte", "nan"], - ["erythroblast", "nan"], - ["dendritic cell", "nan"], - ["basophil", "nan"], - ["unknown", "nan"] -] -ONTOLOGIES_MOUSE_BLOOD_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsMouseBlood(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_MOUSE_BLOOD_V0 - } - self.ontology = { - "0": ONTOLOGIES_MOUSE_BLOOD_V0 - } - super(CelltypeVersionsMouseBlood, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/bone.py b/sfaira/versions/celltype_versions/mouse/bone.py deleted file mode 100644 index 8cadbb0a2..000000000 --- a/sfaira/versions/celltype_versions/mouse/bone.py +++ /dev/null @@ -1,52 +0,0 @@ -from .external import CelltypeVersionsBase - -# Version 0 -CELLTYPES_MOUSE_BONE_V0 = [ - ["basophil", "CL:0000767"], - ["CD4-positive, alpha-beta T cell", "nan"], - ["dendritic cell", "nan"], - ["early pro-B cell", "CL:0002046"], - ["erythroblast", "CL:0000765"], - ["erythrocyte", "CL:0000232"], - ["erythroid progenitor", "CL:0000038"], - ["granulocyte monocyte progenitor cell", "nan"], - ["granulocytopoietic cell", "CL:0002191"], - ["hematopoietic precursor cell", "CL:0008001"], - ["hematopoietic stem cell", "nan"], - ["immature B cell", "CL:0000816"], - ["late pro-B cell", "CL:0002048"], - ["lymphoid progenitor cell", "nan"], - ["macrophage", "nan"], - ["mast cell", "nan"], - ["monocyte", "CL:0000576"], - ["megakaryocyte-erythroid progenitor cell", "CL:0000050"], - ["naive B cell", "CL:0000788"], - ["naive T cell", "CL:0000898"], - ["neutrophil", "nan"], - ["neutrophil progenitor", "nan"], - ["NK cell", "CL:0000623"], - ["plasma cell", "CL:0000786"], - ["precursor B cell", "CL:0000817"], - ["proerythroblast", "CL:0000547"], - ["promonocyte", "CL:0000559"], - ["unknown", "nan"] -] -ONTOLOGIES_MOUSE_BONE_V0 = { - "names": { - "granulocyte": ["basophil", "neutrophil", "mast cell"], - "mature alpha-beta T cell": ["CD4-positive, alpha-beta T cell"] - }, - "ontology_ids": {}, -} - - -class CelltypeVersionsMouseBone(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_MOUSE_BONE_V0 - } - self.ontology = { - "0": ONTOLOGIES_MOUSE_BONE_V0 - } - super(CelltypeVersionsMouseBone, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/brain.py b/sfaira/versions/celltype_versions/mouse/brain.py deleted file mode 100644 index e8e1b9271..000000000 --- a/sfaira/versions/celltype_versions/mouse/brain.py +++ /dev/null @@ -1,54 +0,0 @@ -from .external import CelltypeVersionsBase - -# Version 0 -CELLTYPES_MOUSE_BRAIN_V0 = [ - ["astrocyte", "CL:0000127"], - ["BAM", "nan"], - ["B cells", "nan"], - ["Bergmann glial cell", "CL:0000644"], - ["brain pericyte", "CL:2000043"], - ["CD8-positive, alpha-beta T cell", "CL:0000625"], - ["cDC1", "nan"], - ["cDC2", "nan"], - ["endothelial cell", "CL:0000115"], - ["ependymal cell", "CL:0000065"], - ["GABAergic cell", "nan"], - ["granulocyte", "nan"], - ["ILC", "nan"], - ["interneuron", "CL:0000099"], - ["macrophage", "CL:0000235"], - ["mature NK T cell", "nan"], - ["medium spiny neuron", "CL:1001474"], - ["microglial cell", "CL:0000129"], - ["migDC", "nan"], - ["monocyte", "nan"], - ["neuroepithelial cell", "nan"], - ["neuron", "CL:0000540"], - ["neuronal stem cell", "CL:0000047"], - ["neutorphils", "nan"], - ["NK cells", "nan"], - ["oligodendrocyte", "CL:0000128"], - ["oligodendrocyte precursor cell", "CL:0002453"], - ["pDC", "nan"], - ["schwann cell", "nan"], - ["yd T cells", "nan"], - ["unknown", "nan"] -] -ONTOLOGIES_MOUSE_BRAIN_V0 = { - "names": { - "T cell": ["CD8-positive, alpha-beta T cell", "yd T cells", "mature NK T cell"], - }, - "ontology_ids": {}, -} - - -class CelltypeVersionsMouseBrain(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_MOUSE_BRAIN_V0 - } - self.ontology = { - "0": ONTOLOGIES_MOUSE_BRAIN_V0 - } - super(CelltypeVersionsMouseBrain, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/colon.py b/sfaira/versions/celltype_versions/mouse/colon.py deleted file mode 100644 index c901104ce..000000000 --- a/sfaira/versions/celltype_versions/mouse/colon.py +++ /dev/null @@ -1,30 +0,0 @@ -from .external import CelltypeVersionsBase - -# Version 0 -CELLTYPES_MOUSE_COLON_V0 = [ - ["Brush cell of epithelium proper of large intestine", "CL:0002203"], - ["enterocyte of epithelium of large intestine", "CL:0002071"], - ["enteroendocrine cell", "CL:0000164"], - ["epithelial cell of large intestine", "CL:0002253"], - ["hematopoietic stem cell", "CL:0000037"], - ["intestinal crypt stem cell", "CL:0002250"], - ["large intestine goblet cell", "CL:1000320"], - ["secretory cell", "CL:0000151"], - ["unknown", "nan"] -] -ONTOLOGIES_MOUSE_COLON_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsMouseColon(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_MOUSE_COLON_V0 - } - self.ontology = { - "0": ONTOLOGIES_MOUSE_COLON_V0 - } - super(CelltypeVersionsMouseColon, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/diaphragm.py b/sfaira/versions/celltype_versions/mouse/diaphragm.py deleted file mode 100644 index 7558ac084..000000000 --- a/sfaira/versions/celltype_versions/mouse/diaphragm.py +++ /dev/null @@ -1,28 +0,0 @@ -from .external import CelltypeVersionsBase - -# Version 0 -CELLTYPES_MOUSE_DIAPHRAGM_V0 = [ - ["B cell", "CL:0000236"], - ["endothelial cell", "CL:0000115"], - ["macrophage", "CL:0000235"], - ["mesenchymal stem cell", "CL:0000134"], - ["skeletal muscle satellite cell", "CL:0000594"], - ["T cell", "CL:0000084"], - ["unknown", "nan"] -] -ONTOLOGIES_MOUSE_DIAPHRAGM_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsMouseDiaphragm(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_MOUSE_DIAPHRAGM_V0 - } - self.ontology = { - "0": ONTOLOGIES_MOUSE_DIAPHRAGM_V0 - } - super(CelltypeVersionsMouseDiaphragm, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/external.py b/sfaira/versions/celltype_versions/mouse/external.py deleted file mode 100644 index cf6bc6d79..000000000 --- a/sfaira/versions/celltype_versions/mouse/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.versions.celltype_versions import CelltypeVersionsBase diff --git a/sfaira/versions/celltype_versions/mouse/femalegonad.py b/sfaira/versions/celltype_versions/mouse/femalegonad.py deleted file mode 100644 index 19278ed31..000000000 --- a/sfaira/versions/celltype_versions/mouse/femalegonad.py +++ /dev/null @@ -1,33 +0,0 @@ -from .external import CelltypeVersionsBase - -# Version 0 -CELLTYPES_MOUSE_FEMALEGONAD_V0 = [ - ["cumulus cell", "nan"], - ["granulosa cell", "nan"], - ["large luteal cell", "nan"], - ["macrophage", "nan"], - ["small luteal cell", "nan"], - ["epithelial cell of ovarian surface", "nan"], - ["endothelial cell of ovarian surface", "nan"], - ["stromal cell", "nan"], - ["thecal cell", "nan"], - ["unknown", "nan"] -] -ONTOLOGIES_MOUSE_FEMALEGONAD_V0 = { - "names": { - 'luteal cell': ['small luteal cell', 'large luteal cell'], - }, - "ontology_ids": {}, -} - - -class CelltypeVersionsMouseFemalegonad(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_MOUSE_FEMALEGONAD_V0 - } - self.ontology = { - "0": ONTOLOGIES_MOUSE_FEMALEGONAD_V0 - } - super(CelltypeVersionsMouseFemalegonad, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/heart.py b/sfaira/versions/celltype_versions/mouse/heart.py deleted file mode 100644 index 76e77c90c..000000000 --- a/sfaira/versions/celltype_versions/mouse/heart.py +++ /dev/null @@ -1,42 +0,0 @@ -from .external import CelltypeVersionsBase - -# Version 0 -CELLTYPES_MOUSE_HEART_V0 = [ - ["aortic endothelial cell", "CL:0002544"], - ["atrial myocyte", "CL:0002129"], - ["B cell", "CL:CL:0000115"], - ["cardiac neuron", "CL:0000057"], - ["cardiomyocyte", "CL:0000746"], - ["endocardial cell", "CL:0002350"], - ["endothelial cell of coronary artery", "CL:2000018"], - ["epithelial cell", "CL:"], - ["erythrocyte", "CL:"], - ["fibroblast of cardiac tissue", "CL:0002548"], - ["fibrocyte", "CL:CL:0000145"], - ["leukocyte", "CL:0000738"], - ["mast cell", "nan"], - ["monocyte", "nan"], - ["macrophage", "nan"], - ["professional antigen presenting cell", "nan"], - ["smooth muscle cell", "CL:0000192"], - ["T cell", "nan"], - ["valve cell", "CL:0000663"], - ["ventricular myocyte", "CL:0002131"], - ["unknown", "nan"] -] -ONTOLOGIES_MOUSE_HEART_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsMouseHeart(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_MOUSE_HEART_V0 - } - self.ontology = { - "0": ONTOLOGIES_MOUSE_HEART_V0 - } - super(CelltypeVersionsMouseHeart, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/ileum.py b/sfaira/versions/celltype_versions/mouse/ileum.py deleted file mode 100644 index 1f190bd5c..000000000 --- a/sfaira/versions/celltype_versions/mouse/ileum.py +++ /dev/null @@ -1,33 +0,0 @@ -from .external import CelltypeVersionsBase - -# Version 0 -CELLTYPES_MOUSE_ILEUM_V0 = [ - ["B cell", "CL:0000236"], - ["macrophage", "CL:0000235"], - ["T cell", "CL:0000084"], - ["dendritic cell", "nan"], - ["mast cell", "nan"], - ["paneth cell", "nan"], - ["stromal cell", "nan"], - ["epithelial cell", "nan"], - ["epithelial cell villi", "nan"], - ["enteroendocrine cell", "nan"], - ["erythroblast", "nan"], - ["unknown", "nan"] -] -ONTOLOGIES_MOUSE_ILEUM_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsMouseIleum(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_MOUSE_ILEUM_V0 - } - self.ontology = { - "0": ONTOLOGIES_MOUSE_ILEUM_V0 - } - super(CelltypeVersionsMouseIleum, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/kidney.py b/sfaira/versions/celltype_versions/mouse/kidney.py deleted file mode 100644 index 5866bb19f..000000000 --- a/sfaira/versions/celltype_versions/mouse/kidney.py +++ /dev/null @@ -1,67 +0,0 @@ -from .external import CelltypeVersionsBase - -# Version 0 -CELLTYPES_MOUSE_KIDNEY_V0 = [ - ["B cell", "CL:0000236"], - ["brush cell", "nan"], - ["dendritic cell", "nan"], - ["endothelial cell", "nan"], - ["fenestrated cell", "CL:0000666"], - ["fetal adipocyte", "nan"], - ["fetal mesenchymal cell", "nan"], - ["fetal proliferative cell", "nan"], - ["fibroblast", "CL:0000057"], - ["interstitial fibroblast", "nan"], - ["glomerular epithelial cell", "nan"], - ["kidney collecting duct epithelial cell", "CL:1000454"], - ["kidney collecting duct principal cell", "CL:1001431"], - ["kidney cortex artery cell", "CL:1001045"], - ["kidney distal convoluted tubule epithelial cell", "CL:1000849"], - ["kidney loop of Henle ascending limb epithelial cell", "CL:1001016"], - ["kidney loop of Henle thick ascending limb epithelial cell", "CL:1001106"], - ["kidney proximal convoluted tubule epithelial cell", "CL:1000838"], - ["kidney proximal straight tubule epithelial cell", "nan"], - ["macrophage", "CL:0000235"], - ["mesangial cell", "CL:0000650"], - ["neutrophil progenitor", "nan"], - ["NK cell", "nan"], - ["podocyte", "CL:0000653"], - ["plasma cell", "CL:0000786"], - ["T cell", "CL:0000084"], - ["ureteric epithelial cell", "nan"], - ["unknown", "nan"] -] -ONTOLOGIES_MOUSE_KIDNEY_V0 = { - "names": { - "epithelial cell": [ - "kidney collecting duct epithelial cell", - "kidney distal convoluted tubule epithelial cell", - "kidney loop of Henle ascending limb epithelial cell", - "kidney loop of Henle thick ascending limb epithelial cell", - "kidney proximal convoluted tubule epithelial cell", - "kidney proximal straight tubule epithelial cell", - ], - "epithelial cell of proximal tubule": [ - "kidney proximal convoluted tubule epithelial cell", - "kidney proximal straight tubule epithelial cell", - ], - "lymphocyte": ["B cell", "dendritic cell", "macrophage", "NK cell", "T cell"], - "leukocyte": [ - "B cell", "dendritic cell", "macrophage", "neutrophil progenitor", - "NK cell", "plasma cell", "T cell" - ], - }, - "ontology_ids": {}, -} - - -class CelltypeVersionsMouseKidney(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_MOUSE_KIDNEY_V0 - } - self.ontology = { - "0": ONTOLOGIES_MOUSE_KIDNEY_V0 - } - super(CelltypeVersionsMouseKidney, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/liver.py b/sfaira/versions/celltype_versions/mouse/liver.py deleted file mode 100644 index 8c944f933..000000000 --- a/sfaira/versions/celltype_versions/mouse/liver.py +++ /dev/null @@ -1,45 +0,0 @@ -from .external import CelltypeVersionsBase - -# Version 0 -CELLTYPES_MOUSE_LIVER_V0 = [ - ["B cell", "CL:0000236"], - ["dendritic cell", "nan"], - ["CD4-positive, alpha-beta T cell", "nan"], - ["CD8-positive, alpha-beta T cell", "nan"], - ["duct epithelial cell", "nan"], - ["erythroblast", "nan"], - ["endothelial cell of hepatic sinusoid", "CL:1000398"], - ["granulocyte", "nan"], - ["hepatic stellate cell", "CL:0000632"], - ["hepatocyte", "CL:0000182"], - ["Kupffer cell", "CL:0000091"], - ["macrophage", "nan"], - ["neutrophil", "CL:0000775"], - ["NK cell", "CL:0000623"], - ["plasmacytoid dendritic cell", "CL:0000784"], - ["stromal cell", "nan"], - ["unknown", "nan"] -] -ONTOLOGIES_MOUSE_LIVER_V0 = { - "names": { - "myeloid leukocyte": [ - "macrophage", "dendritic cell", "plasmacytoid dendritic cell", "erythroblast", - "granulocyte", "neutrophil" - ], - "T cell": ["CD4-positive, alpha-beta T cell", "CD8-positive, alpha-beta T cell"], - "mature NK T cell": ["CD4-positive, alpha-beta T cell", "CD8-positive, alpha-beta T cell", "NK cell"] - }, - "ontology_ids": {}, -} - - -class CelltypeVersionsMouseLiver(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_MOUSE_LIVER_V0 - } - self.ontology = { - "0": ONTOLOGIES_MOUSE_LIVER_V0 - } - super(CelltypeVersionsMouseLiver, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/lung.py b/sfaira/versions/celltype_versions/mouse/lung.py deleted file mode 100644 index ae525824e..000000000 --- a/sfaira/versions/celltype_versions/mouse/lung.py +++ /dev/null @@ -1,87 +0,0 @@ -from .external import CelltypeVersionsBase - -# Version 0 -CELLTYPES_MOUSE_LUNG_V0 = [ - ["adventitial cell", "nan"], - ["alveolar bipotent progenitor", "nan"], - ["alveolar epithelial cell type I", "nan"], - ["alveolar epithelial cell type II", "nan"], - ["alveolar macrophage", "nan"], - ["B cell", "CL_0000236"], - ["basophil", "nan"], - ["bronchial smooth muscle cell", "nan"], - ["CD4-positive, alpha-beta T cell", "nan"], - ["CD8-positive, alpha-beta T cell", "nan"], - ["ciliated cell", "nan"], - ["clara cell", "nan"], - ["classical monocyte", "nan"], - ["club cell of bronchiole", "nan"], - ["endothelial cell of lymphatic vessel", "nan"], - ["eosinophil", "nan"], - ["fibroblast of lung", "nan"], - ["glial cell", "CL_0000125"], - ["intermediate monocyte", "nan"], - ["lung macrophage", "nan"], - ["lung neuroendocrine cell", "nan"], - ["monocyte progenitor", "nan"], - ["myeloid dendritic cell", "nan"], - ["neutrophil", "nan"], - ["NK cell", "CL_0000623"], - ["non-classical monocyte", "nan"], - ["nuocyte", "nan"], - ["pericyte cell", "nan"], - ["plasma cell", "nan"], - ["plasmacytoid dendritic cell", "nan"], - ["proliferative cell", "nan"], - ["pulmonary interstitial fibroblast", "nan"], - ["regulatory T cell", "nan"], - ["respiratory basal cell", "nan"], - ["smooth muscle cell of the pulmonary artery", "nan"], - ["type I pneumocyte", "nan"], - ["type II pneumocyte", "nan"], - ["vein endothelial cell", "nan"], - ["unknown", "nan"] -] -ONTOLOGIES_MOUSE_LUNG_V0 = { - "names": { - "dendritic cell": [ - "myeloid dendritic cell", "plasmacytoid dendritic cell" - ], - "endothelial cell": [ - "endothelial cell of lymphatic vessel", "vein endothelial cell" - ], - "leukocyte": [ - "alveolar macrophage", "B cell", "basophil", "bronchial smooth muscle cell", - "CD4-positive, alpha-beta T cell", "CD8-positive, alpha-beta T cell", "classical monocyte", - "eosinophil", "glial cell", "intermediate monocyte", "lung macrophage", "monocyte progenitor", - "myeloid dendritic cell", "neutrophil", "NK cell", "non-classical monocyte", "plasma cell", - "plasmacytoid dendritic cell", "regulatory T cell" - ], - "lymphocyte": [ - "B cell", "CD4-positive, alpha-beta T cell", "CD8-positive, alpha-beta T cell", - "plasmacytoid dendritic cell", "NK cell", "regulatory T cell" - ], - "mature NK T cell": [ - "CD4-positive, alpha-beta T cell", "CD8-positive, alpha-beta T cell", "NK cell", "regulatory T cell" - ], - "T cell": [ - "CD4-positive, alpha-beta T cell", "CD8-positive, alpha-beta T cell", "regulatory T cell" - ], - "stromal cell": [ - "fibroblast of lung", "pericyte cell" - ] - }, - "ontology_ids": {}, -} - - -class CelltypeVersionsMouseLung(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_MOUSE_LUNG_V0 - } - self.ontology = { - "0": ONTOLOGIES_MOUSE_LUNG_V0 - } - super(CelltypeVersionsMouseLung, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/malegonad.py b/sfaira/versions/celltype_versions/mouse/malegonad.py deleted file mode 100644 index f311320a7..000000000 --- a/sfaira/versions/celltype_versions/mouse/malegonad.py +++ /dev/null @@ -1,33 +0,0 @@ -from .external import CelltypeVersionsBase - -# Version 0 -CELLTYPES_MOUSE_MALEGONAD_V0 = [ - ["macrophage", "CL:0000235"], - ["leydig cell", "nan"], - ["elongating spermatid", "nan"], - ["erythroblast", "nan"], - ["pre-sertoli cell", "nan"], - ["sertoli cell", "nan"], - ["preleptotene spermatogonia", "nan"], - ["spermatogonia", "nan"], - ["spermatocyte", "nan"], - ["spermatid", "nan"], - ["unknown", "nan"] -] -ONTOLOGIES_MOUSE_MALEGONAD_V0 = { - "names": { - }, - "ontology_ids": {}, -} - - -class CelltypeVersionsMouseMalegonad(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_MOUSE_MALEGONAD_V0 - } - self.ontology = { - "0": ONTOLOGIES_MOUSE_MALEGONAD_V0 - } - super(CelltypeVersionsMouseMalegonad, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/mammarygland.py b/sfaira/versions/celltype_versions/mouse/mammarygland.py deleted file mode 100644 index cbd1ad90c..000000000 --- a/sfaira/versions/celltype_versions/mouse/mammarygland.py +++ /dev/null @@ -1,34 +0,0 @@ -from .external import CelltypeVersionsBase - -# Version 0 -CELLTYPES_MOUSE_MAMMARYGLAND_V0 = [ - ["B cell", "CL:0000236"], - ["basal cell", "CL:0000646"], - ["endothelial cell", "CL:0000115"], - ["luminal epithelial cell of mammary gland", "CL:0002326"], - ["luminal progenitor cell", "CL:0002326"], - ["macrophage", "CL:0000235"], - ["stromal cell", "CL:0000499"], - ["T cell", "CL:0000084"], - ["dendritic cell", "nan"], - ["proliferative cell", "nan"], - ["NK cell", "CL:0000623"], - ["stem and progenitor cell", "CL:0000623"], - ["unknown", "nan"] -] -ONTOLOGIES_MOUSE_MAMMARYGLAND_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsMouseMammarygland(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_MOUSE_MAMMARYGLAND_V0 - } - self.ontology = { - "0": ONTOLOGIES_MOUSE_MAMMARYGLAND_V0 - } - super(CelltypeVersionsMouseMammarygland, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/muscle.py b/sfaira/versions/celltype_versions/mouse/muscle.py deleted file mode 100644 index b2ffdc66d..000000000 --- a/sfaira/versions/celltype_versions/mouse/muscle.py +++ /dev/null @@ -1,38 +0,0 @@ -from .external import CelltypeVersionsBase - -# Version 0 -CELLTYPES_MOUSE_MUSCLE_V0 = [ - ["B cell", "CL:0000236"], - ["dendritic cell", "nan"], - ["endothelial cell", "CL:0000115"], - ["erythroblast", "nan"], - ["macrophage", "CL:0000235"], - ["mesenchymal stem cell", "CL:0000134"], - ["monocyte progenitor", "nan"], - ["muscle cell", "nan"], - ["neutrophil", "nan"], - ["Schwann cell", "CL:0002573"], - ["smooth muscle cell", "CL:0000192"], - ["stromal cell", "nan"], - ["skeletal muscle cell", "CL:0000192"], - ["skeletal muscle satellite cell", "CL:0000594"], - ["T cell", "CL:0000084"], - ["unknown", "nan"] -] -ONTOLOGIES_MOUSE_MUSCLE_V0 = { - "names": { - }, - "ontology_ids": {}, -} - - -class CelltypeVersionsMouseMuscle(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_MOUSE_MUSCLE_V0 - } - self.ontology = { - "0": ONTOLOGIES_MOUSE_MUSCLE_V0 - } - super(CelltypeVersionsMouseMuscle, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/pancreas.py b/sfaira/versions/celltype_versions/mouse/pancreas.py deleted file mode 100644 index a89f3ce78..000000000 --- a/sfaira/versions/celltype_versions/mouse/pancreas.py +++ /dev/null @@ -1,53 +0,0 @@ -from .external import CelltypeVersionsBase - -# Version 0 -CELLTYPES_MOUSE_PANCREAS_V0 = [ - ["b cell", "nan"], - ["dendritic cell", "nan"], - ["endothelial cell", "CL:0000115"], - ["erythroblast", "nan"], - ["glial cell", "nan"], - ["granulocyte", "nan"], - ["macrophage", "nan"], - ["pancreatic A cell", "CL:0000171"], - ["pancreatic acinar cell", "CL:0002064"], - ["pancreatic B cell", "CL:0000169"], - ["pancreatic D cell", "CL:0000173"], - ["pancreatic ductal cell", "CL:0002079"], - ["pancreatic PP cell", "CL:0002275"], - ["pancreatic stellate cell", "CL:0002410"], - ["smooth muscle cell", "nan"], - ["stromal cell", "nan"], - ["t cell", "nan"], - ["lymphatic endothelial cell", "nan"], - ["unknown", "nan"] -] -ONTOLOGIES_MOUSE_PANCREAS_V0 = { - "names": { - "leukocyte": [ - "b cell", - "dendritic cell", - "granulocyte", - "macrophage", - "t cell" - ], - "endocrine cell": [ - "pancreatic A cell", - "pancreatic D cell", - "pancreatic PP cell" - ], - }, - "ontology_ids": {}, -} - - -class CelltypeVersionsMousePancreas(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_MOUSE_PANCREAS_V0 - } - self.ontology = { - "0": ONTOLOGIES_MOUSE_PANCREAS_V0 - } - super(CelltypeVersionsMousePancreas, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/placenta.py b/sfaira/versions/celltype_versions/mouse/placenta.py deleted file mode 100644 index 104aafa28..000000000 --- a/sfaira/versions/celltype_versions/mouse/placenta.py +++ /dev/null @@ -1,44 +0,0 @@ -from .external import CelltypeVersionsBase - -# Version 0 -CELLTYPES_MOUSE_PLACENTA_V0 = [ - ["B cell", "CL:0000236"], - ["endothelial cell", "CL:0000115"], - ["macrophage", "CL:0000235"], - ["stromal cell", "CL:0000499"], - ["erythroblast", "nan"], - ["granulocyte", "nan"], - ["basophil", "nan"], - ["decidual stromal cell", "nan"], - ["dendritic cell", "nan"], - ["endodermal cell", "nan"], - ["monocyte progenitor", "nan"], - ["HSPC", "nan"], - ["megakaryocte", "nan"], - ["monocyte", "nan"], - ["NK cell", "nan"], - ["NKT cell", "nan"], - ["PE lineage cell", "nan"], - ["trophoblast progenitor", "nan"], - ["labyrinthine trophoblast", "nan"], - ["spiral artery trophoblast giant cells", "nan"], - ["invasive spongiotrophoblast", "nan"], - ["spongiotrophoblast", "nan"], - ["unknown", "nan"] -] -ONTOLOGIES_MOUSE_PLACENTA_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsMousePlacenta(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_MOUSE_PLACENTA_V0 - } - self.ontology = { - "0": ONTOLOGIES_MOUSE_PLACENTA_V0 - } - super(CelltypeVersionsMousePlacenta, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/prostate.py b/sfaira/versions/celltype_versions/mouse/prostate.py deleted file mode 100644 index c3d476d86..000000000 --- a/sfaira/versions/celltype_versions/mouse/prostate.py +++ /dev/null @@ -1,28 +0,0 @@ -from .external import CelltypeVersionsBase - -# Version 0 -CELLTYPES_MOUSE_PROSTATE_V0 = [ - ["epithelial cell", "nan"], - ["glandular epithelial cell", "nan"], - ["T cell", "CL:0000084"], - ["glandular cell", "nan"], - ["stromal cell", "nan"], - ["dendritic cell", "nan"], - ["unknown", "nan"] -] -ONTOLOGIES_MOUSE_PROSTATE_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsMouseProstate(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_MOUSE_PROSTATE_V0 - } - self.ontology = { - "0": ONTOLOGIES_MOUSE_PROSTATE_V0 - } - super(CelltypeVersionsMouseProstate, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/rib.py b/sfaira/versions/celltype_versions/mouse/rib.py deleted file mode 100644 index fe0437529..000000000 --- a/sfaira/versions/celltype_versions/mouse/rib.py +++ /dev/null @@ -1,36 +0,0 @@ -from .external import CelltypeVersionsBase - -# Version 0 -CELLTYPES_MOUSE_RIB_V0 = [ - ["B cell", "CL:0000236"], - ["endothelial cell", "CL:0000115"], - ["macrophage", "CL:0000235"], - ["stromal cell", "CL:0000499"], - ["proliferative cell", "nan"], - ["cartilage cell", "nan"], - ["erythroblast", "nan"], - ["granulocyte", "nan"], - ["muscle cell", "nan"], - ["neuron", "nan"], - ["neutrophil", "nan"], - ["osteoblast", "nan"], - ["osteoclast", "nan"], - ["oligodendrocyte", "nan"], - ["unknown", "nan"] -] -ONTOLOGIES_MOUSE_RIB_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsMouseRib(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_MOUSE_RIB_V0 - } - self.ontology = { - "0": ONTOLOGIES_MOUSE_RIB_V0 - } - super(CelltypeVersionsMouseRib, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/skin.py b/sfaira/versions/celltype_versions/mouse/skin.py deleted file mode 100644 index fbfe183a4..000000000 --- a/sfaira/versions/celltype_versions/mouse/skin.py +++ /dev/null @@ -1,30 +0,0 @@ -from .external import CelltypeVersionsBase - -# Version 0 -CELLTYPES_MOUSE_SKIN_V0 = [ - ["basal cell of epidermis", "CL:0002187"], - ["bulge keratinocyte", "nan"], - ["epidermal cell", "CL:0000362"], - ["fibroblast", "nan"], - ["keratinocyte stem cell", "CL:0002337"], - ["macrophage", "nan"], - ["stem cell of epidermis", "CL:1000428"], - ["T cell", "CL:0000084"], - ["unknown", "nan"] -] -ONTOLOGIES_MOUSE_SKIN_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsMouseSkin(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_MOUSE_SKIN_V0 - } - self.ontology = { - "0": ONTOLOGIES_MOUSE_SKIN_V0 - } - super(CelltypeVersionsMouseSkin, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/spleen.py b/sfaira/versions/celltype_versions/mouse/spleen.py deleted file mode 100644 index f5204f45a..000000000 --- a/sfaira/versions/celltype_versions/mouse/spleen.py +++ /dev/null @@ -1,43 +0,0 @@ -from .external import CelltypeVersionsBase - -# Version 0 -CELLTYPES_MOUSE_SPLEEN_V0 = [ - ["B cell", "CL:0000236"], - ["CD4-positive, alpha-beta T cell", "nan"], - ["CD8-positive, alpha-beta T cell", "nan"], - ["dendritic cell", "nan"], - ["erythroblast", "CL:0000765"], - ["granulocyte", "CL:0000094"], - ["immature NKT cell", "nan"], - ["macrophage", "nan"], - ["macrophage dendritic cell progenitor", "CL:0002009"], - ["mature NK T cell", "nan"], - ["megakaryocyte-erythroid progenitor cell", "nan"], - ["monocyte", "nan"], - ["neutrophil", "nan"], - ["NK cell", "CL:0000623"], - ["plasma cell", "nan"], - ["proerythroblast", "CL:0000547"], - ["unknown", "nan"] -] -ONTOLOGIES_MOUSE_SPLEEN_V0 = { - "names": { - "T cell": [ - "CD4-positive, alpha-beta T cell", "CD8-positive, alpha-beta T cell", - "immature NKT cell", "mature NK T cell" - ] - }, - "ontology_ids": {}, -} - - -class CelltypeVersionsMouseSpleen(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_MOUSE_SPLEEN_V0 - } - self.ontology = { - "0": ONTOLOGIES_MOUSE_SPLEEN_V0 - } - super(CelltypeVersionsMouseSpleen, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/stomach.py b/sfaira/versions/celltype_versions/mouse/stomach.py deleted file mode 100644 index 1feb65a94..000000000 --- a/sfaira/versions/celltype_versions/mouse/stomach.py +++ /dev/null @@ -1,34 +0,0 @@ -from .external import CelltypeVersionsBase - -# Version 0 -CELLTYPES_MOUSE_STOMACH_V0 = [ - ["antral mucous cell", "nan"], - ["dendritic cell", "nan"], - ["G cell", "nan"], - ["gastric mucosal cell", "nan"], - ["epithelial cell", "nan"], - ["muscle cell", "nan"], - ["macrophage", "CL:0000235"], - ["parietal cell", "nan"], - ["pit cell", "nan"], - ["proliferative cell", "nan"], - ["stomach cell", "nan"], - ["tuft cell", "nan"], - ["unknown", "nan"] -] -ONTOLOGIES_MOUSE_STOMACH_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsMouseStomach(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_MOUSE_STOMACH_V0 - } - self.ontology = { - "0": ONTOLOGIES_MOUSE_STOMACH_V0 - } - super(CelltypeVersionsMouseStomach, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/thymus.py b/sfaira/versions/celltype_versions/mouse/thymus.py deleted file mode 100644 index c9e6c7d36..000000000 --- a/sfaira/versions/celltype_versions/mouse/thymus.py +++ /dev/null @@ -1,46 +0,0 @@ -from .external import CelltypeVersionsBase - -# Version 0 -CELLTYPES_MOUSE_THYMUS_V0 = [ - ["abT cell", "nan"], - ["B cell", "nan"], - ["dendritic cell", "nan"], - ["DN1 thymocyte", "nan"], - ["DN2 thymocyte", "nan"], - ["DN3 thymocyte", "nan"], - ["DN4 thymocyte", "nan"], - ["double positive T cell", "nan"], - ["endothelial cell", "CL:0000115"], - ["epithelial cell of thymus", "CL:0002293"], - ["fibroblast", "nan"], - ["gdT cell", "nan"], - ["macrophage", "nan"], - ["professional antigen presenting cell", "CL:0000145"], - ["unknown", "nan"] -] -ONTOLOGIES_MOUSE_THYMUS_V0 = { - "names": { - 'double negative T cell': ["DN1 thymocyte", "DN2 thymocyte", "DN3 thymocyte", "DN4 thymocyte"], - "immature T cell": [ - "DN1 thymocyte", "DN2 thymocyte", "DN3 thymocyte", "DN4 thymocyte", "double positive T cell" - ], - "mature T cell": ["abT cell", "gdT cell"], - 'thymocyte': [ - "DN1 thymocyte", "DN2 thymocyte", "DN3 thymocyte", "DN4 thymocyte", "double positive T cell", - "gdT cell", "abT cell" - ], - }, - "ontology_ids": {}, -} - - -class CelltypeVersionsMouseThymus(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_MOUSE_THYMUS_V0 - } - self.ontology = { - "0": ONTOLOGIES_MOUSE_THYMUS_V0 - } - super(CelltypeVersionsMouseThymus, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/tongue.py b/sfaira/versions/celltype_versions/mouse/tongue.py deleted file mode 100644 index 080a8dc7e..000000000 --- a/sfaira/versions/celltype_versions/mouse/tongue.py +++ /dev/null @@ -1,25 +0,0 @@ -from .external import CelltypeVersionsBase - -# Version 0 -CELLTYPES_MOUSE_TONGUE_V0 = [ - ["basal cell of epidermis", "CL:0002187"], - ["keratinocyte", "CL:0000312"], - ["Langerhans cell", "nan"], - ["unknown", "nan"] -] -ONTOLOGIES_MOUSE_TONGUE_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsMouseTongue(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_MOUSE_TONGUE_V0 - } - self.ontology = { - "0": ONTOLOGIES_MOUSE_TONGUE_V0 - } - super(CelltypeVersionsMouseTongue, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/trachea.py b/sfaira/versions/celltype_versions/mouse/trachea.py deleted file mode 100644 index 57ad18f33..000000000 --- a/sfaira/versions/celltype_versions/mouse/trachea.py +++ /dev/null @@ -1,39 +0,0 @@ -from .external import CelltypeVersionsBase - -# Version 0 -CELLTYPES_MOUSE_TRACHEA_V0 = [ - ["basal epithelial cell of tracheobronchial tree", "CL:0002329"], - ["chondrocyte", "CL:0000138"], - ["ciliated columnar cell of tracheobronchial tree", "CL:0002145"], - ["endothelial cell", "CL:000115"], - ["epithelial cell", "CL:000115"], - ["fibroblast", "CL:0000057"], - ["granulocyte", "CL:0000094"], - ["keratinocyte", "nan"], - ["macrophage", "CL:0000235"], - ["mesenchymal cell", "nan"], - ["mesenchymal progenitor cell", "nan"], - ["mucus secreting cell", "CL:0000319"], - ["neuroendocrine cell", "nan"], - ["smooth muscle cell of trachea", "CL:0002600"], - ["T cell", "CL:0000084"], - ["unknown", "nan"] -] -ONTOLOGIES_MOUSE_TRACHEA_V0 = { - "names": { - 'blood cell': ["granulocyte", "macrophage", "T cell"] - }, - "ontology_ids": {}, -} - - -class CelltypeVersionsMouseTrachea(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_MOUSE_TRACHEA_V0 - } - self.ontology = { - "0": ONTOLOGIES_MOUSE_TRACHEA_V0 - } - super(CelltypeVersionsMouseTrachea, self).__init__(**kwargs) diff --git a/sfaira/versions/celltype_versions/mouse/uterus.py b/sfaira/versions/celltype_versions/mouse/uterus.py deleted file mode 100644 index 0d207613a..000000000 --- a/sfaira/versions/celltype_versions/mouse/uterus.py +++ /dev/null @@ -1,34 +0,0 @@ -from .external import CelltypeVersionsBase - -# Version 0 -CELLTYPES_MOUSE_UTERUS_V0 = [ - ["B cell", "CL:0000236"], - ["dendritic cell", "nan"], - ["granulocyte", "nan"], - ["macrophage", "CL:0000235"], - ["NK cell", "CL:0000623"], - ["stromal cell", "nan"], - ["endothelial cell", "nan"], - ["glandular epithelial cell", "nan"], - ["keratinocyte", "nan"], - ["monocyte", "nan"], - ["muscle cell", "nan"], - ["smooth muscle cell", "nan"], - ["unknown", "nan"] -] -ONTOLOGIES_MOUSE_UTERUS_V0 = { - "names": {}, - "ontology_ids": {}, -} - - -class CelltypeVersionsMouseUterus(CelltypeVersionsBase): - - def __init__(self, **kwargs): - self.celltype_universe = { - "0": CELLTYPES_MOUSE_UTERUS_V0 - } - self.ontology = { - "0": ONTOLOGIES_MOUSE_UTERUS_V0 - } - super(CelltypeVersionsMouseUterus, self).__init__(**kwargs) diff --git a/sfaira/versions/genome_versions/__init__.py b/sfaira/versions/genome_versions/__init__.py deleted file mode 100644 index 22dd2d697..000000000 --- a/sfaira/versions/genome_versions/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -from . import human -from . import mouse -from .class_interface import SuperGenomeContainer diff --git a/sfaira/versions/genome_versions/class_interface.py b/sfaira/versions/genome_versions/class_interface.py deleted file mode 100644 index 9b28a5994..000000000 --- a/sfaira/versions/genome_versions/class_interface.py +++ /dev/null @@ -1,82 +0,0 @@ -import abc -import pandas - - -class SuperGenomeContainer: - _cache_tab: pandas.DataFrame - genome: str - species: str - - def __init__( - self, - species: str, - genome: str - ): - self.species = species - if self.species == "human": - try: - from sfaira_extension.versions.genome_versions.human import GenomeContainer - if genome not in GenomeContainer.available_genomes: - from .human import GenomeContainer - if genome not in GenomeContainer.available_genomes: - raise ValueError(f"Genome {genome} not recognised.") - except ImportError: - from .human import GenomeContainer - if genome not in GenomeContainer.available_genomes: - raise ValueError(f"Genome {genome} not recognised.") - elif self.species == "mouse": - try: - from sfaira_extension.versions.genome_versions.mouse import GenomeContainer - if genome not in GenomeContainer.available_genomes: - from .mouse import GenomeContainer - if genome not in GenomeContainer.available_genomes: - raise ValueError(f"Genome {genome} not recognised.") - except ImportError: - from .mouse import GenomeContainer - if genome not in GenomeContainer.available_genomes: - raise ValueError(f"Genome {genome} not recognised.") - else: - raise ValueError(f"Species {species} not recognised.") - - self.gc = GenomeContainer() - self.set_genome(genome=genome) - - @property - def cache_tab(self): - return self._cache_tab - - def set_genome(self, genome): - self.genome = genome - self._cache_tab = self.gc.read_local_csv(genome=genome) - assert self.gc.genome_sizes[self.genome][0] == self.cache_tab.shape[0] - - def show_genomes(self): - return list(self.gc.genomes.keys()) - - @property - def names(self): - return self.cache_tab["name"].values.tolist() - - @property - def ensembl(self): - return self.cache_tab["ensg"].values.tolist() - - @property - def type(self): - return self.cache_tab["type"].values.tolist() - - @property - def ngenes(self): - return self.gc.genome_sizes[self.genome][0] - - @property - def names_to_id_dict(self): - return dict(zip(self.cache_tab["name"].values.tolist(), self.cache_tab["ensg"].values.tolist())) - - @property - def id_to_names_dict(self): - return dict(zip(self.cache_tab["ensg"].values.tolist(), self.cache_tab["name"].values.tolist())) - - @property - def strippednames_to_id_dict(self): - return dict(zip([i.split(".")[0] for i in self.cache_tab["name"]], self.cache_tab["ensg"].values.tolist())) diff --git a/sfaira/versions/genome_versions/human/Homo_sapiens_GRCh38_97.csv b/sfaira/versions/genome_versions/human/Homo_sapiens_GRCh38_97.csv deleted file mode 100644 index 09502f313..000000000 --- a/sfaira/versions/genome_versions/human/Homo_sapiens_GRCh38_97.csv +++ /dev/null @@ -1,19987 +0,0 @@ -,name,ensg,type -25937,TSPAN6,ENSG00000000003,protein_coding -25936,TNMD,ENSG00000000005,protein_coding -54434,DPM1,ENSG00000000419,protein_coding -3879,SCYL3,ENSG00000000457,protein_coding -3874,C1orf112,ENSG00000000460,protein_coding -920,FGR,ENSG00000000938,protein_coding -4285,CFH,ENSG00000000971,protein_coding -21077,FUCA2,ENSG00000001036,protein_coding -19946,GCLC,ENSG00000001084,protein_coding -19663,NFYA,ENSG00000001167,protein_coding -790,STPG1,ENSG00000001460,protein_coding -791,NIPAL3,ENSG00000001461,protein_coding -25516,LAS1L,ENSG00000001497,protein_coding -19819,ENPP4,ENSG00000001561,protein_coding -10539,SEMA3F,ENSG00000001617,protein_coding -23690,CFTR,ENSG00000001626,protein_coding -23174,ANKIB1,ENSG00000001629,protein_coding -23165,CYP51A1,ENSG00000001630,protein_coding -23170,KRIT1,ENSG00000001631,protein_coding -37508,RAD52,ENSG00000002016,protein_coding -33460,BAD,ENSG00000002330,protein_coding -13237,LAP3,ENSG00000002549,protein_coding -24592,CD99,ENSG00000002586,protein_coding -13162,HS3ST1,ENSG00000002587,protein_coding -24404,AOC1,ENSG00000002726,protein_coding -23719,WNT16,ENSG00000002745,protein_coding -22290,HECW1,ENSG00000002746,protein_coding -21603,MAD1L1,ENSG00000002822,protein_coding -50453,LASP1,ENSG00000002834,protein_coding -50957,SNX11,ENSG00000002919,protein_coding -24403,TMEM176A,ENSG00000002933,protein_coding -37800,M6PR,ENSG00000003056,protein_coding -26243,KLHL13,ENSG00000003096,protein_coding -6676,CYP26B1,ENSG00000003137,protein_coding -21744,ICA1,ENSG00000003147,protein_coding -48980,DBNDD1,ENSG00000003249,protein_coding -8846,ALS2,ENSG00000003393,protein_coding -8823,CASP10,ENSG00000003400,protein_coding -8817,CFLAR,ENSG00000003402,protein_coding -8631,TFPI,ENSG00000003436,protein_coding -6083,NDUFAF7,ENSG00000003509,protein_coding -10536,RBM5,ENSG00000003756,protein_coding -27389,MTMR7,ENSG00000003987,protein_coding -27391,SLC7A2,ENSG00000003989,protein_coding -23797,ARF5,ENSG00000004059,protein_coding -49990,SARM1,ENSG00000004139,protein_coding -49983,POLDIP2,ENSG00000004142,protein_coding -11655,PLXND1,ENSG00000004399,protein_coding -1100,AK2,ENSG00000004455,protein_coding -13212,CD38,ENSG00000004468,protein_coding -37548,FKBP4,ENSG00000004478,protein_coding -740,KDM1A,ENSG00000004487,protein_coding -10535,RBM6,ENSG00000004534,protein_coding -49153,CAMKK1,ENSG00000004660,protein_coding -38086,RECQL,ENSG00000004700,protein_coding -23193,VPS50,ENSG00000004766,protein_coding -56293,HSPB6,ENSG00000004776,protein_coding -56296,ARHGAP33,ENSG00000004777,protein_coding -47281,NDUFAB1,ENSG00000004779,protein_coding -23239,PDK4,ENSG00000004799,protein_coding -20597,SLC22A16,ENSG00000004809,protein_coding -10560,ZMYND10,ENSG00000004838,protein_coding -21873,ABCB5,ENSG00000004846,protein_coding -24868,ARX,ENSG00000004848,protein_coding -23242,SLC25A13,ENSG00000004864,protein_coding -23666,ST7,ENSG00000004866,protein_coding -50912,CDC27,ENSG00000004897,protein_coding -50790,SLC4A1,ENSG00000004939,protein_coding -23194,CALCR,ENSG00000004948,protein_coding -24678,HCCS,ENSG00000004961,protein_coding -49298,DVL2,ENSG00000004975,protein_coding -46702,PRSS22,ENSG00000005001,protein_coding -55799,UPF1,ENSG00000005007,protein_coding -21975,SKAP2,ENSG00000005020,protein_coding -26277,SLC25A5,ENSG00000005022,protein_coding -14420,MCUB,ENSG00000005059,protein_coding -22003,HOXA11,ENSG00000005073,protein_coding -23467,POLR2J,ENSG00000005075,protein_coding -49235,DHX33,ENSG00000005100,protein_coding -50755,MEOX1,ENSG00000005102,protein_coding -21774,THSD7A,ENSG00000005108,protein_coding -50274,LIG3,ENSG00000005156,protein_coding -38478,RPAP3,ENSG00000005175,protein_coding -47188,ACSM3,ENSG00000005187,protein_coding -47198,REXO5,ENSG00000005189,protein_coding -48137,CIAPIN1,ENSG00000005194,protein_coding -54910,SPPL2B,ENSG00000005206,protein_coding -29995,FAM214B,ENSG00000005238,protein_coding -50949,COPZ2,ENSG00000005243,protein_coding -23552,PRKAR2B,ENSG00000005249,protein_coding -24688,MSL3,ENSG00000005302,protein_coding -46774,CREBBP,ENSG00000005339,protein_coding -51222,TSPOAP1,ENSG00000005379,protein_coding -51221,MPO,ENSG00000005381,protein_coding -23229,PON1,ENSG00000005421,protein_coding -6785,GCFC2,ENSG00000005436,protein_coding -6740,WDR54,ENSG00000005448,protein_coding -23112,CROT,ENSG00000005469,protein_coding -23113,ABCB4,ENSG00000005471,protein_coding -23519,KMT2E,ENSG00000005483,protein_coding -22970,RHBDD2,ENSG00000005486,protein_coding -46523,SOX8,ENSG00000005513,protein_coding -20246,IBTK,ENSG00000005700,protein_coding -31974,ZNF195,ENSG00000005801,protein_coding -41458,MYCBP2,ENSG00000005810,protein_coding -41455,FBXL3,ENSG00000005812,protein_coding -47525,ITGAL,ENSG00000005844,protein_coding -51058,PDK2,ENSG00000005882,protein_coding -51056,ITGA3,ENSG00000005884,protein_coding -24855,ZFX,ENSG00000005889,protein_coding -26308,LAMP2,ENSG00000005893,protein_coding -50802,ITGA2B,ENSG00000005961,protein_coding -23236,ASB4,ENSG00000005981,protein_coding -47162,GDE1,ENSG00000006007,protein_coding -55793,REX1BD,ENSG00000006015,protein_coding -55792,CRLF1,ENSG00000006016,protein_coding -50932,AC003665.1,ENSG00000006025,protein_coding -50232,TMEM98,ENSG00000006042,protein_coding -49310,YBX2,ENSG00000006047,protein_coding -50599,KRT33A,ENSG00000006059,protein_coding -50849,MAP3K14,ENSG00000006062,protein_coding -32409,ABCC8,ENSG00000006071,protein_coding -47299,CACNG3,ENSG00000006116,protein_coding -33279,TMEM132A,ENSG00000006118,protein_coding -50321,AP2B1,ENSG00000006125,protein_coding -23263,TAC1,ENSG00000006128,protein_coding -46743,ZNF263,ENSG00000006194,protein_coding -48135,CX3CL1,ENSG00000006210,protein_coding -51090,SPATA20,ENSG00000006282,protein_coding -51092,CACNA1G,ENSG00000006283,protein_coding -46718,TNFRSF12A,ENSG00000006327,protein_coding -23255,DLX6,ENSG00000006377,protein_coding -43181,MAP3K9,ENSG00000006432,protein_coding -22252,RALA,ENSG00000006451,protein_coding -23285,BAIAP2L1,ENSG00000006453,protein_coding -24061,KDM7A,ENSG00000006459,protein_coding -21796,ETV1,ENSG00000006468,protein_coding -24095,AGK,ENSG00000006530,protein_coding -33719,ALDH3B1,ENSG00000006534,protein_coding -1738,TTC22,ENSG00000006555,protein_coding -23032,PHTF2,ENSG00000006576,protein_coding -22967,CCL26,ENSG00000006606,protein_coding -9631,FARP2,ENSG00000006607,protein_coding -32412,USH1C,ENSG00000006611,protein_coding -22082,GGCT,ENSG00000006625,protein_coding -23118,DBF4,ENSG00000006634,protein_coding -54974,TBXA2R,ENSG00000006638,protein_coding -23612,IFRD1,ENSG00000006652,protein_coding -56499,LGALS14,ENSG00000006659,protein_coding -49516,COX10,ENSG00000006695,protein_coding -22923,GTF2IRD1,ENSG00000006704,protein_coding -56471,PAF1,ENSG00000006712,protein_coding -22241,VPS41,ENSG00000006715,protein_coding -49501,ARHGAP44,ENSG00000006740,protein_coding -49506,ELAC2,ENSG00000006744,protein_coding -21785,SCIN,ENSG00000006747,protein_coding -24596,ARSD,ENSG00000006756,protein_coding -24635,PNPLA4,ENSG00000006757,protein_coding -49453,MYH13,ENSG00000006788,protein_coding -37518,ADIPOR2,ENSG00000006831,protein_coding -17442,CDKL3,ENSG00000006837,protein_coding -8195,UPP2,ENSG00000007001,protein_coding -46698,PRSS21,ENSG00000007038,protein_coding -56779,MARK4,ENSG00000007047,protein_coding -13216,PROM1,ENSG00000007062,protein_coding -55749,CCDC124,ENSG00000007080,protein_coding -56599,CEACAM21,ENSG00000007129,protein_coding -49097,PAFAH1B1,ENSG00000007168,protein_coding -49956,NOS2,ENSG00000007171,protein_coding -49485,DNAH9,ENSG00000007174,protein_coding -50011,KIAA0100,ENSG00000007202,protein_coding -50000,SLC13A2,ENSG00000007216,protein_coding -49450,AC005747.1,ENSG00000007237,protein_coding -56784,TRAPPC6A,ENSG00000007255,protein_coding -54986,MATK,ENSG00000007264,protein_coding -56607,CEACAM7,ENSG00000007306,protein_coding -51421,CD79B,ENSG00000007312,protein_coding -51422,SCN4A,ENSG00000007314,protein_coding -2657,ST7L,ENSG00000007341,protein_coding -26896,TKTL1,ENSG00000007350,protein_coding -32608,PAX6,ENSG00000007372,protein_coding -46512,RPUSD1,ENSG00000007376,protein_coding -46444,RHBDF1,ENSG00000007384,protein_coding -46459,LUC7L,ENSG00000007392,protein_coding -10565,CACNA2D2,ENSG00000007402,protein_coding -46551,BAIAP3,ENSG00000007516,protein_coding -46552,TSR3,ENSG00000007520,protein_coding -46482,PIGQ,ENSG00000007541,protein_coding -46576,CRAMP1,ENSG00000007545,protein_coding -19545,TEAD3,ENSG00000007866,protein_coding -3876,SELE,ENSG00000007908,protein_coding -259,DNAJC11,ENSG00000007923,protein_coding -3902,FMO3,ENSG00000007933,protein_coding -18775,MYLIP,ENSG00000007944,protein_coding -25945,NOX1,ENSG00000007952,protein_coding -760,E2F2,ENSG00000007968,protein_coding -21533,PSMB1,ENSG00000008018,protein_coding -25160,SYN1,ENSG00000008056,protein_coding -18764,JARID2,ENSG00000008083,protein_coding -24787,CDKL5,ENSG00000008086,protein_coding -4609,CAMK1G,ENSG00000008118,protein_coding -134,CDK11A,ENSG00000008128,protein_coding -138,NADK,ENSG00000008130,protein_coding -19885,TFAP2B,ENSG00000008196,protein_coding -19884,TFAP2D,ENSG00000008197,protein_coding -10175,DLEC1,ENSG00000008226,protein_coding -21690,CYTH3,ENSG00000008256,protein_coding -23119,ADAM22,ENSG00000008277,protein_coding -23538,SYPL1,ENSG00000008282,protein_coding -51390,CYB561,ENSG00000008283,protein_coding -51113,SPAG9,ENSG00000008294,protein_coding -10462,CELSR3,ENSG00000008300,protein_coding -23728,AASS,ENSG00000008311,protein_coding -37629,PLEKHG6,ENSG00000008323,protein_coding -10273,SS18L2,ENSG00000008324,protein_coding -55012,MPND,ENSG00000008382,protein_coding -38023,MGST1,ENSG00000008394,protein_coding -39814,CRY1,ENSG00000008405,protein_coding -56829,PGLYRP1,ENSG00000008438,protein_coding -55496,NFIX,ENSG00000008441,protein_coding -29201,ST3GAL1,ENSG00000008513,protein_coding -46724,MMP25,ENSG00000008516,protein_coding -46725,IL32,ENSG00000008517,protein_coding -46622,PKD1,ENSG00000008710,protein_coding -59637,MAPK8IP2,ENSG00000008735,protein_coding -50504,MED24,ENSG00000008838,protein_coding -27506,RHOBTB2,ENSG00000008853,protein_coding -6074,HEATR5B,ENSG00000008869,protein_coding -12283,SEC62,ENSG00000008952,protein_coding -28079,RPS20,ENSG00000008988,protein_coding -2712,CSDE1,ENSG00000009307,protein_coding -24527,UBE3C,ENSG00000009335,protein_coding -20622,REV3L,ENSG00000009413,protein_coding -26381,TENM1,ENSG00000009694,protein_coding -618,PAX7,ENSG00000009709,protein_coding -374,MASP2,ENSG00000009724,protein_coding -21194,IYD,ENSG00000009765,protein_coding -929,FAM76A,ENSG00000009780,protein_coding -4616,TRAF3IP3,ENSG00000009790,protein_coding -43371,POMT2,ENSG00000009830,protein_coding -21054,VTA1,ENSG00000009844,protein_coding -22899,MLXIPL,ENSG00000009950,protein_coding -22895,BAZ1B,ENSG00000009954,protein_coding -18742,RANBP9,ENSG00000010017,protein_coding -19571,ETV7,ENSG00000010030,protein_coding -5068,SPRTN,ENSG00000010072,protein_coding -3926,EEF1AKNMT,ENSG00000010165,protein_coding -37594,DYRK4,ENSG00000010219,protein_coding -50210,ZNF207,ENSG00000010244,protein_coding -10458,UQCRC1,ENSG00000010256,protein_coding -22212,STARD3NL,ENSG00000010270,protein_coding -37626,CD9,ENSG00000010278,protein_coding -10281,HHATL,ENSG00000010282,protein_coding -37644,NCAPD2,ENSG00000010292,protein_coding -37650,IFFO1,ENSG00000010295,protein_coding -56805,GIPR,ENSG00000010310,protein_coding -10630,PHF7,ENSG00000010318,protein_coding -10631,SEMA3G,ENSG00000010319,protein_coding -10633,NISCH,ENSG00000010322,protein_coding -10634,STAB1,ENSG00000010327,protein_coding -57060,FUZ,ENSG00000010361,protein_coding -37493,SLC6A13,ENSG00000010379,protein_coding -26745,IDS,ENSG00000010404,protein_coding -29925,PRSS3,ENSG00000010438,protein_coding -46740,ZNF200,ENSG00000010539,protein_coding -37671,CD4,ENSG00000010610,protein_coding -37680,LRRC23,ENSG00000010626,protein_coding -25963,BTK,ENSG00000010671,protein_coding -18937,HFE,ENSG00000010704,protein_coding -1334,SCMH1,ENSG00000010803,protein_coding -20633,FYN,ENSG00000010810,protein_coding -21060,HIVEP2,ENSG00000010818,protein_coding -3908,FMO1,ENSG00000010932,protein_coding -768,ELOA,ENSG00000011007,protein_coding -770,LYPLA2,ENSG00000011009,protein_coding -403,CLCN6,ENSG00000011021,protein_coding -51365,AC080038.1,ENSG00000011028,protein_coding -51116,NME1-NME2,ENSG00000011052,protein_coding -17890,SLC6A7,ENSG00000011083,protein_coding -37562,TSPAN9,ENSG00000011105,protein_coding -43580,BTBD7,ENSG00000011114,protein_coding -54980,AC005954.1,ENSG00000011132,protein_coding -51217,MKS1,ENSG00000011143,protein_coding -10309,ABHD5,ENSG00000011198,protein_coding -24641,ANOS1,ENSG00000011201,protein_coding -55602,AKAP8L,ENSG00000011243,protein_coding -51118,MBTD1,ENSG00000011258,protein_coding -51121,UTP18,ENSG00000011260,protein_coding -21672,RNF216,ENSG00000011275,protein_coding -49577,TTC19,ENSG00000011295,protein_coding -54802,PTBP1,ENSG00000011304,protein_coding -56404,DPF1,ENSG00000011332,protein_coding -33307,SYT7,ENSG00000011347,protein_coding -10352,LARS2,ENSG00000011376,protein_coding -32399,PIK3C2A,ENSG00000011405,protein_coding -56696,PLAUR,ENSG00000011422,protein_coding -22188,ANLN,ENSG00000011426,protein_coding -55605,WIZ,ENSG00000011451,protein_coding -31291,RABGAP1,ENSG00000011454,protein_coding -39510,DCN,ENSG00000011465,protein_coding -56809,QPCTL,ENSG00000011478,protein_coding -56849,PPP5C,ENSG00000011485,protein_coding -6536,CEP68,ENSG00000011523,protein_coding -6135,MAP4K3,ENSG00000011566,protein_coding -56283,ZBTB32,ENSG00000011590,protein_coding -56306,TYROBP,ENSG00000011600,protein_coding -47204,TMEM159,ENSG00000011638,protein_coding -26809,GABRA3,ENSG00000011677,protein_coding -50717,BRCA1,ENSG00000012048,protein_coding -56793,ERCC1,ENSG00000012061,protein_coding -56252,CD22,ENSG00000012124,protein_coding -10548,SEMA3B,ENSG00000012171,protein_coding -24823,MBTPS2,ENSG00000012174,protein_coding -25257,PRICKLE3,ENSG00000012211,protein_coding -10378,LTF,ENSG00000012223,protein_coding -27628,EXTL3,ENSG00000012232,protein_coding -39689,NR1H4,ENSG00000012504,protein_coding -19936,ELOVL5,ENSG00000012660,protein_coding -35928,ALOX5,ENSG00000012779,protein_coding -58046,KDM5D,ENSG00000012817,protein_coding -38786,CALCOCO1,ENSG00000012822,protein_coding -43578,UBR7,ENSG00000012963,protein_coding -42755,MAP4K5,ENSG00000012983,protein_coding -6003,EHD3,ENSG00000013016,protein_coding -56509,PSMC4,ENSG00000013275,protein_coding -13023,MAN2B2,ENSG00000013288,protein_coding -12299,SLC7A14,ENSG00000013293,protein_coding -12295,CLDN11,ENSG00000013297,protein_coding -50797,SLC25A39,ENSG00000013306,protein_coding -47471,MVP,ENSG00000013364,protein_coding -24428,NUB1,ENSG00000013374,protein_coding -20255,PGM3,ENSG00000013375,protein_coding -20256,RWDD2A,ENSG00000013392,protein_coding -8801,CLK1,ENSG00000013441,protein_coding -39802,POLR3B,ENSG00000013503,protein_coding -43346,ANGEL1,ENSG00000013523,protein_coding -17746,RNF14,ENSG00000013561,protein_coding -26904,DNASE1L1,ENSG00000013563,protein_coding -38250,DDX11,ENSG00000013573,protein_coding -37965,HEBP1,ENSG00000013583,protein_coding -37959,GPRC5A,ENSG00000013588,protein_coding -26774,MAMLD1,ENSG00000013619,protein_coding -33281,CD6,ENSG00000013725,protein_coding -12919,TACC3,ENSG00000013810,protein_coding -20422,UFL1,ENSG00000014123,protein_coding -33532,POLA2,ENSG00000014138,protein_coding -29348,ZC3H3,ENSG00000014164,protein_coding -33529,CAPN1,ENSG00000014216,protein_coding -11709,ACPP,ENSG00000014257,protein_coding -6495,MDH1,ENSG00000014641,protein_coding -13495,SLC30A9,ENSG00000014824,protein_coding -3104,MTMR11,ENSG00000014914,protein_coding -36886,COX15,ENSG00000014919,protein_coding -43542,CCDC88C,ENSG00000015133,protein_coding -38388,YAF2,ENSG00000015153,protein_coding -35154,ZMYND11,ENSG00000015171,protein_coding -25225,WAS,ENSG00000015285,protein_coding -48959,DPEP1,ENSG00000015413,protein_coding -58373,BID,ENSG00000015475,protein_coding -17571,MATR3,ENSG00000015479,protein_coding -22336,NPC1L1,ENSG00000015520,protein_coding -51074,XYLT2,ENSG00000015532,protein_coding -7462,RGPD5,ENSG00000015568,protein_coding -27586,STMN4,ENSG00000015592,protein_coding -22332,NUDCD3,ENSG00000015676,protein_coding -16228,ISL1,ENSG00000016082,protein_coding -10679,CHDH,ENSG00000016391,protein_coding -20989,IL20RA,ENSG00000016402,protein_coding -2185,CLCA1,ENSG00000016490,protein_coding -2186,CLCA4,ENSG00000016602,protein_coding -10647,GLT8D1,ENSG00000016864,protein_coding -11686,ATP2C1,ENSG00000017260,protein_coding -39737,IGF1,ENSG00000017427,protein_coding -25210,SLC38A5,ENSG00000017483,protein_coding -52240,RALBP1,ENSG00000017797,protein_coding -13898,RUFY3,ENSG00000018189,protein_coding -38374,CNTN1,ENSG00000018236,protein_coding -9144,SLC11A1,ENSG00000018280,protein_coding -11981,WWTR1,ENSG00000018408,protein_coding -8509,AGPS,ENSG00000018510,protein_coding -26278,CXorf56,ENSG00000018610,protein_coding -3623,ATP1A2,ENSG00000018625,protein_coding -6032,TTC27,ENSG00000018699,protein_coding -57578,ZNF582,ENSG00000018869,protein_coding -34962,VSIG2,ENSG00000019102,protein_coding -34761,PHLDB1,ENSG00000019144,protein_coding -7640,MARCO,ENSG00000019169,protein_coding -54480,CYP24A1,ENSG00000019186,protein_coding -32791,PRDM11,ENSG00000019485,protein_coding -32793,SYT13,ENSG00000019505,protein_coding -27989,SNAI2,ENSG00000019549,protein_coding -17894,CD74,ENSG00000019582,protein_coding -23073,HGF,ENSG00000019991,protein_coding -37322,ZRANB1,ENSG00000019995,protein_coding -1154,NCDN,ENSG00000020129,protein_coding -27776,ADGRA2,ENSG00000020181,protein_coding -54448,ZFP64,ENSG00000020256,protein_coding -42970,MNAT1,ENSG00000020426,protein_coding -42845,SAMD4A,ENSG00000020577,protein_coding -802,RUNX3,ENSG00000020633,protein_coding -34337,MRE11,ENSG00000020922,protein_coding -33903,PLEKHB1,ENSG00000021300,protein_coding -18533,SERPINB1,ENSG00000021355,protein_coding -23328,CYP3A43,ENSG00000021461,protein_coding -56153,SLC7A9,ENSG00000021488,protein_coding -6016,SPAST,ENSG00000021574,protein_coding -43393,NRXN3,ENSG00000021645,protein_coding -31963,OSBPL5,ENSG00000021762,protein_coding -44736,AQR,ENSG00000021776,protein_coding -9033,CPS1,ENSG00000021826,protein_coding -1776,C8B,ENSG00000021852,protein_coding -26577,FHL1,ENSG00000022267,protein_coding -54502,RTF2,ENSG00000022277,protein_coding -18078,GABRA1,ENSG00000022355,protein_coding -57476,NLRP2,ENSG00000022556,protein_coding -29274,SLC45A4,ENSG00000022567,protein_coding -40133,RNF10,ENSG00000022840,protein_coding -43889,ZNF839,ENSG00000022976,protein_coding -37112,ZDHHC6,ENSG00000023041,protein_coding -34899,GRAMD1B,ENSG00000023171,protein_coding -31828,RNH1,ENSG00000023191,protein_coding -8932,NDUFS1,ENSG00000023228,protein_coding -28024,RB1CC1,ENSG00000023287,protein_coding -30945,ERP44,ENSG00000023318,protein_coding -10615,ALAS1,ENSG00000023330,protein_coding -34423,BIRC3,ENSG00000023445,protein_coding -41018,AKAP11,ENSG00000023516,protein_coding -4265,GLRX2,ENSG00000023572,protein_coding -42989,SNAPC1,ENSG00000023608,protein_coding -38020,DERA,ENSG00000023697,protein_coding -38019,STRAP,ENSG00000023734,protein_coding -36887,ABCC2,ENSG00000023839,protein_coding -19539,DEF6,ENSG00000023892,protein_coding -3109,PLEKHO1,ENSG00000023902,protein_coding -2326,GCLM,ENSG00000023909,protein_coding -19716,UBR2,ENSG00000024048,protein_coding -56910,EHD2,ENSG00000024422,protein_coding -1956,DEPDC1,ENSG00000024526,protein_coding -21018,CCDC28A,ENSG00000024862,protein_coding -20360,RRAGD,ENSG00000025039,protein_coding -20765,HSF2,ENSG00000025156,protein_coding -54045,PHF20,ENSG00000025293,protein_coding -38971,HSD17B6,ENSG00000025423,protein_coding -32858,NR1H3,ENSG00000025434,protein_coding -59626,TYMP,ENSG00000025708,protein_coding -59623,NCAPH2,ENSG00000025770,protein_coding -54241,TOMM34,ENSG00000025772,protein_coding -20533,SEC63,ENSG00000025796,protein_coding -1056,KPNA6,ENSG00000025800,protein_coding -35448,VIM,ENSG00000026025,protein_coding -54705,RTEL1-TNFRSF6B,ENSG00000026036,protein_coding -36662,FAS,ENSG00000026103,protein_coding -21447,RNASET2,ENSG00000026297,protein_coding -32681,CD44,ENSG00000026508,protein_coding -54437,KCNG1,ENSG00000026559,protein_coding -21384,AGPAT4,ENSG00000026652,protein_coding -3647,SLAMF7,ENSG00000026751,protein_coding -18973,BTN3A1,ENSG00000026950,protein_coding -40688,MIPEP,ENSG00000027001,protein_coding -42978,PRKCH,ENSG00000027075,protein_coding -3502,INSRR,ENSG00000027644,protein_coding -20991,IFNGR1,ENSG00000027697,protein_coding -18333,B4GALT7,ENSG00000027847,protein_coding -3500,SH2D2A,ENSG00000027869,protein_coding -6396,VRK2,ENSG00000028116,protein_coding -427,TNFRSF1B,ENSG00000028137,protein_coding -39590,VEZT,ENSG00000028203,protein_coding -56627,POU2F2,ENSG00000028277,protein_coding -15536,BRD9,ENSG00000028310,protein_coding -45429,SNX1,ENSG00000028528,protein_coding -20921,TBPL1,ENSG00000028839,protein_coding -38184,ARNTL2,ENSG00000029153,protein_coding -20968,BCLAF1,ENSG00000029363,protein_coding -43145,SLC39A9,ENSG00000029364,protein_coding -27866,ANK1,ENSG00000029534,protein_coding -14164,IBSP,ENSG00000029559,protein_coding -21274,TFB1M,ENSG00000029639,protein_coding -49229,RABEP1,ENSG00000029725,protein_coding -26781,HMGB3,ENSG00000029993,protein_coding -32883,NUP160,ENSG00000030066,protein_coding -19490,BAK1,ENSG00000030110,protein_coding -31093,MUSK,ENSG00000030304,protein_coding -9049,IKZF2,ENSG00000030419,protein_coding -50799,GRN,ENSG00000030582,protein_coding -17531,FAM13B,ENSG00000031003,protein_coding -11388,ARHGAP31,ENSG00000031081,protein_coding -19863,CENPQ,ENSG00000031691,protein_coding -2540,SARS,ENSG00000031698,protein_coding -55080,RANBP3,ENSG00000031823,protein_coding -42923,ARID4A,ENSG00000032219,protein_coding -5520,EIPR1,ENSG00000032389,protein_coding -55153,PNPLA6,ENSG00000032444,protein_coding -40617,IFT88,ENSG00000032742,protein_coding -46827,ALG1,ENSG00000033011,protein_coding -40205,ZCCHC8,ENSG00000033030,protein_coding -24422,ABCF2,ENSG00000033050,protein_coding -24423,CHPF2,ENSG00000033100,protein_coding -1967,LRRC7,ENSG00000033122,protein_coding -43065,FUT8,ENSG00000033170,protein_coding -13793,UBA6,ENSG00000033178,protein_coding -34055,GAB2,ENSG00000033327,protein_coding -50662,ATP6V0A1,ENSG00000033627,protein_coding -45546,PIAS1,ENSG00000033800,protein_coding -10034,SLC4A7,ENSG00000033867,protein_coding -44574,APBA2,ENSG00000034053,protein_coding -49874,MAP2K3,ENSG00000034152,protein_coding -27986,EFCAB1,ENSG00000034239,protein_coding -6870,TMSB10,ENSG00000034510,protein_coding -11692,ASTE1,ENSG00000034533,protein_coding -28762,RNF19A,ENSG00000034677,protein_coding -21074,PEX3,ENSG00000034693,protein_coding -48611,GABARAPL2,ENSG00000034713,protein_coding -3918,MYOC,ENSG00000034971,protein_coding -5473,SH3YL1,ENSG00000035115,protein_coding -6635,FAM136A,ENSG00000035141,protein_coding -36393,VCL,ENSG00000035403,protein_coding -16372,DEPDC1B,ENSG00000035499,protein_coding -45426,DAPK2,ENSG00000035664,protein_coding -28127,NSMAF,ENSG00000035681,protein_coding -5310,ADSS,ENSG00000035687,protein_coding -13791,STAP1,ENSG00000035720,protein_coding -51848,TIMP2,ENSG00000035862,protein_coding -13424,RFC1,ENSG00000035928,protein_coding -11143,TBC1D23,ENSG00000036054,protein_coding -9286,CUL3,ENSG00000036257,protein_coding -27028,MYOM2,ENSG00000036448,protein_coding -25003,OTC,ENSG00000036473,protein_coding -43711,CYP46A1,ENSG00000036530,protein_coding -2064,AC118549.1,ENSG00000036549,protein_coding -27442,SLC18A1,ENSG00000036565,protein_coding -34816,USP2,ENSG00000036672,protein_coding -11458,CASR,ENSG00000036828,protein_coding -50682,TUBG2,ENSG00000037042,protein_coding -18204,RPL26L1,ENSG00000037241,protein_coding -18434,FLT4,ENSG00000037280,protein_coding -15631,NSUN2,ENSG00000037474,protein_coding -552,FBXO42,ENSG00000037637,protein_coding -17954,MFAP3,ENSG00000037749,protein_coding -55512,MRI1,ENSG00000037757,protein_coding -39030,METTL1,ENSG00000037897,protein_coding -38808,HOXC8,ENSG00000037965,protein_coding -15300,AGA,ENSG00000038002,protein_coding -13294,PI4K2B,ENSG00000038210,protein_coding -13182,BOD1L1,ENSG00000038219,protein_coding -18090,MAT2B,ENSG00000038274,protein_coding -15172,TLL1,ENSG00000038295,protein_coding -48341,EDC4,ENSG00000038358,protein_coding -15757,TRIO,ENSG00000038382,protein_coding -16782,VCAN,ENSG00000038427,protein_coding -46928,CLEC16A,ENSG00000038532,protein_coding -27376,MSR1,ENSG00000038945,protein_coding -48395,CDH1,ENSG00000039068,protein_coding -16292,MTREX,ENSG00000039123,protein_coding -15755,DNAH5,ENSG00000039139,protein_coding -16728,ZFYVE16,ENSG00000039319,protein_coding -48319,RIPOR1,ENSG00000039523,protein_coding -16138,C6,ENSG00000039537,protein_coding -16028,RAI14,ENSG00000039560,protein_coding -18012,SOX30,ENSG00000039600,protein_coding -57069,PNKP,ENSG00000039650,protein_coding -55468,BEST2,ENSG00000039987,protein_coding -48503,PHLPP2,ENSG00000040199,protein_coding -18144,SPDL1,ENSG00000040275,protein_coding -28343,STAU2,ENSG00000040341,protein_coding -635,PQLC2,ENSG00000040487,protein_coding -49141,CTNS,ENSG00000040531,protein_coding -58498,RTN4R,ENSG00000040608,protein_coding -49299,PHF23,ENSG00000040633,protein_coding -15895,CDH10,ENSG00000040731,protein_coding -7257,INPP4A,ENSG00000040933,protein_coding -52907,RAB27B,ENSG00000041353,protein_coding -45844,PSMA4,ENSG00000041357,protein_coding -41811,MYO16,ENSG00000041515,protein_coding -12716,LSG1,ENSG00000041802,protein_coding -10600,PARP3,ENSG00000041880,protein_coding -31191,TNC,ENSG00000041982,protein_coding -258,THAP3,ENSG00000041988,protein_coding -54424,RIPOR3,ENSG00000042062,protein_coding -43512,TDP1,ENSG00000042088,protein_coding -36271,AIFM2,ENSG00000042286,protein_coding -9314,C2orf83,ENSG00000042304,protein_coding -43482,AL049834.1,ENSG00000042317,protein_coding -34325,MED17,ENSG00000042429,protein_coding -6885,RETSAT,ENSG00000042445,protein_coding -6891,CAPG,ENSG00000042493,protein_coding -56880,AP2S1,ENSG00000042753,protein_coding -4725,USH2A,ENSG00000042781,protein_coding -22419,ZPBP,ENSG00000042813,protein_coding -29191,TG,ENSG00000042832,protein_coding -27540,ADAM28,ENSG00000042980,protein_coding -35061,BARX2,ENSG00000043039,protein_coding -12481,DCUN1D1,ENSG00000043093,protein_coding -17454,JADE2,ENSG00000043143,protein_coding -41716,ZIC2,ENSG00000043355,protein_coding -18153,LCP2,ENSG00000043462,protein_coding -1284,TRIT1,ENSG00000043514,protein_coding -37137,ADRB1,ENSG00000043591,protein_coding -1351,GUCA2B,ENSG00000044012,protein_coding -19738,CUL7,ENSG00000044090,protein_coding -17556,CTNNA1,ENSG00000044115,protein_coding -24795,PHKA2,ENSG00000044446,protein_coding -29689,CNTLN,ENSG00000044459,protein_coding -11042,EPHA3,ENSG00000044524,protein_coding -31337,HSPA5,ENSG00000044574,protein_coding -52595,DSG2,ENSG00000046604,protein_coding -24722,GEMIN8,ENSG00000046647,protein_coding -24718,OFD1,ENSG00000046651,protein_coding -24719,GPM6B,ENSG00000046653,protein_coding -26662,MAGEC2,ENSG00000046774,protein_coding -28259,PREX2,ENSG00000046889,protein_coding -35172,WDR37,ENSG00000047056,protein_coding -17135,YTHDC2,ENSG00000047188,protein_coding -24756,CTPS2,ENSG00000047230,protein_coding -28039,ATP6V1H,ENSG00000047249,protein_coding -13706,POLR2B,ENSG00000047315,protein_coding -45210,FAM214A,ENSG00000047346,protein_coding -13377,ARAP2,ENSG00000047365,protein_coding -4197,TPR,ENSG00000047410,protein_coding -11966,CP,ENSG00000047457,protein_coding -47351,KIAA0556,ENSG00000047578,protein_coding -18769,DTNBP1,ENSG00000047579,protein_coding -24988,XK,ENSG00000047597,protein_coding -37621,ANO2,ENSG00000047617,protein_coding -37592,C12orf4,ENSG00000047621,protein_coding -24777,SCML1,ENSG00000047634,protein_coding -24670,WWC3,ENSG00000047644,protein_coding -24680,ARHGAP6,ENSG00000047648,protein_coding -13240,FAM184B,ENSG00000047662,protein_coding -10425,MAP4,ENSG00000047849,protein_coding -20720,GOPC,ENSG00000047932,protein_coding -20712,ROS1,ENSG00000047936,protein_coding -34646,USP28,ENSG00000048028,protein_coding -21845,HDAC9,ENSG00000048052,protein_coding -18298,TSPAN17,ENSG00000048140,protein_coding -18285,NOP16,ENSG00000048162,protein_coding -13204,CC2D2A,ENSG00000048342,protein_coding -28814,RRM2B,ENSG00000048392,protein_coding -23791,ZNF800,ENSG00000048405,protein_coding -46966,TNFRSF17,ENSG00000048462,protein_coding -46968,SNX29,ENSG00000048471,protein_coding -38027,LMO3,ENSG00000048540,protein_coding -19713,MRPS10,ENSG00000048544,protein_coding -19709,GUCA1A,ENSG00000048545,protein_coding -34031,RSF1,ENSG00000048649,protein_coding -431,VPS13D,ENSG00000048707,protein_coding -35336,CELF2,ENSG00000048740,protein_coding -30784,FAM120A,ENSG00000048828,protein_coding -7963,R3HDM1,ENSG00000048991,protein_coding -1300,COL9A2,ENSG00000049089,protein_coding -39471,KITLG,ENSG00000049130,protein_coding -16378,ERCC8,ENSG00000049167,protein_coding -16424,ADAMTS6,ENSG00000049192,protein_coding -320,H6PD,ENSG00000049239,protein_coding -273,VAMP3,ENSG00000049245,protein_coding -275,PER3,ENSG00000049246,protein_coding -277,UTS2,ENSG00000049247,protein_coding -278,TNFRSF9,ENSG00000049249,protein_coding -51089,EPN3,ENSG00000049283,protein_coding -6037,LTBP1,ENSG00000049323,protein_coding -32616,RCN1,ENSG00000049449,protein_coding -22914,ELN,ENSG00000049540,protein_coding -22920,RFC2,ENSG00000049541,protein_coding -21286,ARID1B,ENSG00000049618,protein_coding -15552,CLPTM1L,ENSG00000049656,protein_coding -52958,NEDD4L,ENSG00000049759,protein_coding -25263,FOXP3,ENSG00000049768,protein_coding -25265,PPP1R3F,ENSG00000049769,protein_coding -16601,HEXB,ENSG00000049860,protein_coding -16553,PTCD2,ENSG00000049883,protein_coding -25727,NEXMIF,ENSG00000050030,protein_coding -42943,JKAMP,ENSG00000050130,protein_coding -32322,DKK3,ENSG00000050165,protein_coding -24290,ARHGEF5,ENSG00000050327,protein_coding -21962,NFE2L3,ENSG00000050344,protein_coding -18744,MCUR1,ENSG00000050393,protein_coding -38623,LIMA1,ENSG00000050405,protein_coding -38652,LETMD1,ENSG00000050426,protein_coding -38666,SLC4A8,ENSG00000050438,protein_coding -31520,LAMC3,ENSG00000050555,protein_coding -1987,PTGER3,ENSG00000050628,protein_coding -14588,TNIP3,ENSG00000050730,protein_coding -18425,MAPK9,ENSG00000050748,protein_coding -18357,COL23A1,ENSG00000050767,protein_coding -48591,BCAR1,ENSG00000050820,protein_coding -32158,FAM160A2,ENSG00000051009,protein_coding -48114,HERPUD1,ENSG00000051108,protein_coding -55806,HOMER3,ENSG00000051128,protein_coding -44856,RAD51,ENSG00000051180,protein_coding -11443,POLQ,ENSG00000051341,protein_coding -11807,PIK3CB,ENSG00000051382,protein_coding -48912,CYBA,ENSG00000051523,protein_coding -18264,THOC3,ENSG00000051596,protein_coding -21011,HEBP2,ENSG00000051620,protein_coding -40232,MPHOSPH9,ENSG00000051825,protein_coding -38054,PLEKHA5,ENSG00000052126,protein_coding -47595,PRSS8,ENSG00000052344,protein_coding -2714,SIKE1,ENSG00000052723,protein_coding -36838,RRP12,ENSG00000052749,protein_coding -15095,FNIP2,ENSG00000052795,protein_coding -15163,MSMO1,ENSG00000052802,protein_coding -32749,TTC17,ENSG00000052841,protein_coding -32777,ALX4,ENSG00000052850,protein_coding -17421,FSTL4,ENSG00000053108,protein_coding -43496,FOXN3,ENSG00000053254,protein_coding -20594,METTL24,ENSG00000053328,protein_coding -633,AKR7A2,ENSG00000053371,protein_coding -628,MRTO4,ENSG00000053372,protein_coding -54091,NNAT,ENSG00000053438,protein_coding -55702,USE1,ENSG00000053501,protein_coding -12486,MCF2L2,ENSG00000053524,protein_coding -37552,NRIP2,ENSG00000053702,protein_coding -52493,LAMA3,ENSG00000053747,protein_coding -42901,AP5M1,ENSG00000053770,protein_coding -13298,ANAPC4,ENSG00000053900,protein_coding -31941,KCNQ1,ENSG00000053918,protein_coding -1172,TRAPPC3,ENSG00000054116,protein_coding -1175,THRAP3,ENSG00000054118,protein_coding -31707,PHPT1,ENSG00000054148,protein_coding -31728,ENTPD2,ENSG00000054179,protein_coding -8236,LY75,ENSG00000054219,protein_coding -5147,ARID4B,ENSG00000054267,protein_coding -5258,OPN3,ENSG00000054277,protein_coding -5291,SDCCAG8,ENSG00000054282,protein_coding -9200,PTPRN,ENSG00000054356,protein_coding -4626,HHAT,ENSG00000054392,protein_coding -351,KIF1B,ENSG00000054523,protein_coding -18520,FOXC1,ENSG00000054598,protein_coding -59545,TBC1D22A,ENSG00000054611,protein_coding -43025,SYNE2,ENSG00000054654,protein_coding -43093,PLEKHH1,ENSG00000054690,protein_coding -54442,ATP9A,ENSG00000054793,protein_coding -54526,SPO11,ENSG00000054796,protein_coding -54492,CBLN4,ENSG00000054803,protein_coding -33942,CHRDL2,ENSG00000054938,protein_coding -33897,FAM168A,ENSG00000054965,protein_coding -33895,RELT,ENSG00000054967,protein_coding -43471,GALC,ENSG00000054983,protein_coding -8862,NOP58,ENSG00000055044,protein_coding -553,SZRD1,ENSG00000055070,protein_coding -24405,KCNH2,ENSG00000055118,protein_coding -24327,CUL1,ENSG00000055130,protein_coding -17953,FAM114A2,ENSG00000055147,protein_coding -18001,CYFIP2,ENSG00000055163,protein_coding -21145,TAB2,ENSG00000055208,protein_coding -21156,GINM1,ENSG00000055211,protein_coding -6076,EIF2AK2,ENSG00000055332,protein_coding -51845,AC022966.1,ENSG00000055483,protein_coding -24448,KMT2C,ENSG00000055609,protein_coding -2160,MCOLN3,ENSG00000055732,protein_coding -6388,CCDC85A,ENSG00000055813,protein_coding -5772,PUM2,ENSG00000055917,protein_coding -36920,MRPL43,ENSG00000055950,protein_coding -10655,ITIH4,ENSG00000055955,protein_coding -10653,ITIH1,ENSG00000055957,protein_coding -15206,HPF1,ENSG00000056050,protein_coding -15992,ZFR,ENSG00000056097,protein_coding -26432,ZNF280C,ENSG00000056277,protein_coding -13910,NPFFR2,ENSG00000056291,protein_coding -59492,PHF21B,ENSG00000056487,protein_coding -31237,TRAF1,ENSG00000056558,protein_coding -31285,RC3H2,ENSG00000056586,protein_coding -10680,IL17RB,ENSG00000056736,protein_coding -20631,TRAF3IP2,ENSG00000056972,protein_coding -24594,GYG2,ENSG00000056998,protein_coding -11123,DCBLD2,ENSG00000057019,protein_coding -53064,SERPINB3,ENSG00000057149,protein_coding -4054,SOAT1,ENSG00000057252,protein_coding -38313,PKP2,ENSG00000057294,protein_coding -2043,MSH4,ENSG00000057468,protein_coding -41884,F7,ENSG00000057593,protein_coding -35261,GDI2,ENSG00000057608,protein_coding -20502,PRDM1,ENSG00000057657,protein_coding -20503,ATG5,ENSG00000057663,protein_coding -39580,TMCC3,ENSG00000057704,protein_coding -769,PITHD1,ENSG00000057757,protein_coding -6166,MTA3,ENSG00000057935,protein_coding -12420,USP13,ENSG00000058056,protein_coding -12478,ATP11B,ENSG00000058063,protein_coding -4139,LAMC2,ENSG00000058085,protein_coding -23151,CDK14,ENSG00000058091,protein_coding -11595,SEC61A1,ENSG00000058262,protein_coding -39392,PPP1R12A,ENSG00000058272,protein_coding -45861,RASGRF1,ENSG00000058335,protein_coding -22330,CAMK2B,ENSG00000058404,protein_coding -578,CROCC,ENSG00000058453,protein_coding -47247,POLR3E,ENSG00000058600,protein_coding -4447,ATP2B4,ENSG00000058668,protein_coding -4451,ZC3H11A,ENSG00000058673,protein_coding -16955,RIOK2,ENSG00000058729,protein_coding -1706,YIPF1,ENSG00000058799,protein_coding -1703,NDC1,ENSG00000058804,protein_coding -12570,DGKG,ENSG00000058866,protein_coding -46706,FLYWCH1,ENSG00000059122,protein_coding -46555,UNKL,ENSG00000059145,protein_coding -24059,TBXAS1,ENSG00000059377,protein_coding -24060,PARP12,ENSG00000059378,protein_coding -36798,ALDH18A1,ENSG00000059573,protein_coding -5119,TARBP1,ENSG00000059588,protein_coding -14955,GATB,ENSG00000059691,protein_coding -6621,MXD1,ENSG00000059728,protein_coding -39622,CDK17,ENSG00000059758,protein_coding -31108,DNAJC25,ENSG00000059769,protein_coding -37738,SLC2A3,ENSG00000059804,protein_coding -36968,PSD,ENSG00000059915,protein_coding -53275,CTDP1,ENSG00000060069,protein_coding -37881,YBX3,ENSG00000060138,protein_coding -37880,STYK1,ENSG00000060140,protein_coding -37505,WNK1,ENSG00000060237,protein_coding -36230,CCAR1,ENSG00000060339,protein_coding -54657,OGFR,ENSG00000060491,protein_coding -54952,GNA15,ENSG00000060558,protein_coding -55001,CREB3L3,ENSG00000060566,protein_coding -882,PIGV,ENSG00000060642,protein_coding -996,PTPRU,ENSG00000060656,protein_coding -1024,SNRNP40,ENSG00000060688,protein_coding -40408,RIMBP2,ENSG00000060709,protein_coding -2464,COL11A1,ENSG00000060718,protein_coding -32633,QSER1,ENSG00000060749,protein_coding -21436,MPC1,ENSG00000060762,protein_coding -10177,ACAA1,ENSG00000060971,protein_coding -38128,BCAT1,ENSG00000060982,protein_coding -38487,HDAC7,ENSG00000061273,protein_coding -27445,LZTS1,ENSG00000061337,protein_coding -17260,PRDM6,ENSG00000061455,protein_coding -17535,WNT8A,ENSG00000061492,protein_coding -54034,SPAG4,ENSG00000061656,protein_coding -8586,NCKAP1,ENSG00000061676,protein_coding -38197,MRPS35,ENSG00000061794,protein_coding -15047,GUCY1B1,ENSG00000061918,protein_coding -40455,SFSWAP,ENSG00000061936,protein_coding -12754,TNK2,ENSG00000061938,protein_coding -39088,MON2,ENSG00000061987,protein_coding -48391,CDH3,ENSG00000062038,protein_coding -24600,ARSF,ENSG00000062096,protein_coding -16338,GPBP1,ENSG00000062194,protein_coding -33986,DGAT2,ENSG00000062282,protein_coding -56735,ZNF112,ENSG00000062370,protein_coding -38941,CS,ENSG00000062485,protein_coding -44893,LTK,ENSG00000062524,protein_coding -22303,MRPS24,ENSG00000062582,protein_coding -54318,ELMO2,ENSG00000062598,protein_coding -36588,WAPL,ENSG00000062650,protein_coding -51276,VMP1,ENSG00000062716,protein_coding -51312,APPBP2,ENSG00000062725,protein_coding -57098,POLD1,ENSG00000062822,protein_coding -50050,SEZ6,ENSG00000063015,protein_coding -38743,EIF4B,ENSG00000063046,protein_coding -57013,SLC6A16,ENSG00000063127,protein_coding -56907,BICRA,ENSG00000063169,protein_coding -56956,SPHK2,ENSG00000063176,protein_coding -56954,RPL18,ENSG00000063177,protein_coding -56958,CA11,ENSG00000063180,protein_coding -57520,ISOC2,ENSG00000063241,protein_coding -57538,U2AF2,ENSG00000063244,protein_coding -57541,EPN1,ENSG00000063245,protein_coding -56472,MED29,ENSG00000063322,protein_coding -15516,AHRR,ENSG00000063438,protein_coding -58446,GSC2,ENSG00000063515,protein_coding -26846,ZNF275,ENSG00000063587,protein_coding -26776,MTMR1,ENSG00000063601,protein_coding -9598,GPC1,ENSG00000063660,protein_coding -43390,ADCK1,ENSG00000063761,protein_coding -46592,HAGH,ENSG00000063854,protein_coding -12941,RNF4,ENSG00000063978,protein_coding -8827,CASP8,ENSG00000064012,protein_coding -13479,LIMCH1,ENSG00000064042,protein_coding -38173,INTS13,ENSG00000064102,protein_coding -38175,TM7SF3,ENSG00000064115,protein_coding -51053,DLX3,ENSG00000064195,protein_coding -34959,SPA17,ENSG00000064199,protein_coding -31932,TSPAN32,ENSG00000064201,protein_coding -54233,CCN5,ENSG00000064205,protein_coding -29487,DMRT3,ENSG00000064218,protein_coding -11121,ST3GAL6,ENSG00000064225,protein_coding -48784,ATP2C2,ENSG00000064270,protein_coding -51034,NGFR,ENSG00000064300,protein_coding -35006,CDON,ENSG00000064309,protein_coding -28998,TAF2,ENSG00000064313,protein_coding -24058,HIPK2,ENSG00000064393,protein_coding -23853,TNPO3,ENSG00000064419,protein_coding -55814,BORCS8-MEF2B,ENSG00000064489,protein_coding -55816,RFXANK,ENSG00000064490,protein_coding -55812,TMEM161A,ENSG00000064545,protein_coding -55837,LPAR2,ENSG00000064547,protein_coding -54301,CTSA,ENSG00000064601,protein_coding -55809,SUGP2,ENSG00000064607,protein_coding -17327,SLC12A2,ENSG00000064651,protein_coding -17254,SNX24,ENSG00000064652,protein_coding -54332,EYA2,ENSG00000064655,protein_coding -54823,CNN2,ENSG00000064666,protein_coding -54825,ABCA7,ENSG00000064687,protein_coding -17245,SNCAIP,ENSG00000064692,protein_coding -2645,DDX20,ENSG00000064703,protein_coding -45974,BTBD1,ENSG00000064726,protein_coding -38219,FAR2,ENSG00000064763,protein_coding -54477,BCAS1,ENSG00000064787,protein_coding -11024,POU1F1,ENSG00000064835,protein_coding -2617,CHI3L2,ENSG00000064886,protein_coding -54829,SBNO2,ENSG00000064932,protein_coding -8661,PMS1,ENSG00000064933,protein_coding -54972,HMG20B,ENSG00000064961,protein_coding -8629,CALCRL,ENSG00000064989,protein_coding -19529,TAF11,ENSG00000064995,protein_coding -19530,ANKS1A,ENSG00000064999,protein_coding -54894,AP3D1,ENSG00000065000,protein_coding -19537,ZNF76,ENSG00000065029,protein_coding -46619,SLC9A3R2,ENSG00000065054,protein_coding -46620,NTHL1,ENSG00000065057,protein_coding -19526,UHRF1BP1,ENSG00000065060,protein_coding -2552,GNAI3,ENSG00000065135,protein_coding -41666,IPO5,ENSG00000065150,protein_coding -37307,OAT,ENSG00000065154,protein_coding -2784,WDR3,ENSG00000065183,protein_coding -2213,PKN2,ENSG00000065243,protein_coding -54817,WDR18,ENSG00000065268,protein_coding -19905,TRAM2,ENSG00000065308,protein_coding -49428,NTN1,ENSG00000065320,protein_coding -49447,GLP2R,ENSG00000065325,protein_coding -35378,MCM10,ENSG00000065328,protein_coding -38909,DGKA,ENSG00000065357,protein_coding -38921,ERBB3,ENSG00000065361,protein_coding -11491,ROPN1,ENSG00000065371,protein_coding -8742,ANKRD44,ENSG00000065413,protein_coding -48614,KARS,ENSG00000065427,protein_coding -48613,ADAT1,ENSG00000065457,protein_coding -11478,PDIA5,ENSG00000065485,protein_coding -19602,TBC1D22B,ENSG00000065491,protein_coding -11427,NDUFB4,ENSG00000065518,protein_coding -530,SPEN,ENSG00000065526,protein_coding -11486,MYLK,ENSG00000065534,protein_coding -8619,ZC3H15,ENSG00000065548,protein_coding -49490,MAP2K4,ENSG00000065559,protein_coding -4675,TMEM206,ENSG00000065600,protein_coding -20260,SNAP91,ENSG00000065609,protein_coding -37026,SLK,ENSG00000065613,protein_coding -20264,CYB5R4,ENSG00000065615,protein_coding -37028,COL17A1,ENSG00000065618,protein_coding -37035,GSTO2,ENSG00000065621,protein_coding -35355,SEC61A2,ENSG00000065665,protein_coding -35283,PRKCQ,ENSG00000065675,protein_coding -54945,TLE2,ENSG00000065717,protein_coding -9560,ASB1,ENSG00000065802,protein_coding -35405,FAM107B,ENSG00000065809,protein_coding -20257,ME1,ENSG00000065833,protein_coding -13399,TBC1D1,ENSG00000065882,protein_coding -22264,CDK13,ENSG00000065883,protein_coding -6726,MTHFD2,ENSG00000065911,protein_coding -25131,SLC9A7,ENSG00000065923,protein_coding -37745,FOXJ2,ENSG00000065970,protein_coding -1367,YBX1,ENSG00000065978,protein_coding -55318,PDE4A,ENSG00000065989,protein_coding -4669,PPP2R5A,ENSG00000066027,protein_coding -6824,CTNNA2,ENSG00000066032,protein_coding -55191,ELAVL1,ENSG00000066044,protein_coding -1395,TIE1,ENSG00000066056,protein_coding -38633,DIP2B,ENSG00000066084,protein_coding -38618,SMARCD1,ENSG00000066117,protein_coding -1410,KDM4A,ENSG00000066135,protein_coding -1321,NFYC,ENSG00000066136,protein_coding -1357,ZMYND12,ENSG00000066185,protein_coding -15522,SLC9A3,ENSG00000066230,protein_coding -9448,NGEF,ENSG00000066248,protein_coding -4294,ASPM,ENSG00000066279,protein_coding -3642,CD84,ENSG00000066294,protein_coding -1400,ELOVL1,ENSG00000066322,protein_coding -32863,SPI1,ENSG00000066336,protein_coding -19199,ZNRD1,ENSG00000066379,protein_coding -32597,MPPED2,ENSG00000066382,protein_coding -11792,CLDN18,ENSG00000066405,protein_coding -11170,ZBTB11,ENSG00000066422,protein_coding -43558,ATXN3,ENSG00000066427,protein_coding -43567,GOLGA5,ENSG00000066455,protein_coding -37255,FGFR2,ENSG00000066468,protein_coding -1973,LRRC40,ENSG00000066557,protein_coding -17333,ISOC1,ENSG00000066583,protein_coding -43713,EML1,ENSG00000066629,protein_coding -20801,TRMT11,ENSG00000066651,protein_coding -47192,THUMPD1,ENSG00000066654,protein_coding -30953,MSANTD3,ENSG00000066697,protein_coding -43960,KIF26A,ENSG00000066735,protein_coding -43661,ATG2B,ENSG00000066739,protein_coding -28251,ARFGEF1,ENSG00000066777,protein_coding -47185,ACSM2B,ENSG00000066813,protein_coding -29217,ZFAT,ENSG00000066827,protein_coding -28218,MTFR1,ENSG00000066855,protein_coding -23362,STAG3,ENSG00000066923,protein_coding -52948,FECH,ENSG00000066926,protein_coding -45617,MYO9A,ENSG00000066933,protein_coding -57930,DDX3Y,ENSG00000067048,protein_coding -35196,PFKP,ENSG00000067057,protein_coding -35171,IDI1,ENSG00000067064,protein_coding -9358,SP100,ENSG00000067066,protein_coding -35209,KLF6,ENSG00000067082,protein_coding -16294,PLPP1,ENSG00000067113,protein_coding -45656,NEO1,ENSG00000067141,protein_coding -28300,TRAM1,ENSG00000067167,protein_coding -25652,PHKA1,ENSG00000067177,protein_coding -37630,TNFRSF1A,ENSG00000067182,protein_coding -50471,CACNB1,ENSG00000067191,protein_coding -2290,EVI5,ENSG00000067208,protein_coding -45674,STOML1,ENSG00000067221,protein_coding -45626,PKM,ENSG00000067225,protein_coding -16291,DHX29,ENSG00000067248,protein_coding -2325,DNTTIP2,ENSG00000067334,protein_coding -46867,METTL22,ENSG00000067365,protein_coding -44966,TP53BP1,ENSG00000067369,protein_coding -25426,TRO,ENSG00000067445,protein_coding -4741,RRP15,ENSG00000067533,protein_coding -10503,RHOA,ENSG00000067560,protein_coding -50752,DHX8,ENSG00000067596,protein_coding -147,PRKCZ,ENSG00000067606,protein_coding -57752,ZFY,ENSG00000067646,protein_coding -4765,IARS2,ENSG00000067704,protein_coding -39383,SYT1,ENSG00000067715,protein_coding -39372,NAV3,ENSG00000067798,protein_coding -26869,IDH3G,ENSG00000067829,protein_coding -46819,ROGDI,ENSG00000067836,protein_coding -26871,PDZD4,ENSG00000067840,protein_coding -26855,ATP2B3,ENSG00000067842,protein_coding -52432,ROCK1,ENSG00000067900,protein_coding -48287,CBFB,ENSG00000067955,protein_coding -24859,PDK3,ENSG00000067992,protein_coding -10555,HYAL2,ENSG00000068001,protein_coding -9571,HDAC4,ENSG00000068024,protein_coding -10557,RASSF1,ENSG00000068028,protein_coding -12921,FGFR3,ENSG00000068078,protein_coding -50714,IFI35,ENSG00000068079,protein_coding -51294,HEATR6,ENSG00000068097,protein_coding -50673,COASY,ENSG00000068120,protein_coding -50683,PLEKHH3,ENSG00000068137,protein_coding -46360,MEF2A,ENSG00000068305,protein_coding -25240,OTUD5,ENSG00000068308,protein_coding -25245,TFE3,ENSG00000068323,protein_coding -25217,TBC1D25,ENSG00000068354,protein_coding -26139,ACSL4,ENSG00000068366,protein_coding -37420,INPP5A,ENSG00000068383,protein_coding -25251,GPKOW,ENSG00000068394,protein_coding -25244,GRIPAP1,ENSG00000068400,protein_coding -25211,FTSJ1,ENSG00000068438,protein_coding -51258,PRR11,ENSG00000068489,protein_coding -6928,REEP1,ENSG00000068615,protein_coding -41876,ATP11A,ENSG00000068650,protein_coding -6920,POLR1A,ENSG00000068654,protein_coding -5763,LAPTM4A,ENSG00000068697,protein_coding -6256,TTC7A,ENSG00000068724,protein_coding -10467,IP6K2,ENSG00000068745,protein_coding -6292,STON1-GTF2A1L,ENSG00000068781,protein_coding -6228,SRBD1,ENSG00000068784,protein_coding -16398,KIF2A,ENSG00000068796,protein_coding -33484,RASGRP2,ENSG00000068831,protein_coding -6340,PSME4,ENSG00000068878,protein_coding -12176,IFT80,ENSG00000068885,protein_coding -56442,SIRT2,ENSG00000068903,protein_coding -6337,ERLEC1,ENSG00000068912,protein_coding -33499,PPP2R5B,ENSG00000068971,protein_coding -33485,PYGM,ENSG00000068976,protein_coding -25283,PAGE1,ENSG00000068985,protein_coding -17476,PITX1,ENSG00000069011,protein_coding -17511,TRPC7,ENSG00000069018,protein_coding -16450,MAST4,ENSG00000069020,protein_coding -19833,ADGRF5,ENSG00000069122,protein_coding -51616,SDK2,ENSG00000069188,protein_coding -27543,ADAM7,ENSG00000069206,protein_coding -5024,NUP133,ENSG00000069248,protein_coding -4515,NUCKS1,ENSG00000069275,protein_coding -47859,VPS35,ENSG00000069329,protein_coding -47869,DNAJA2,ENSG00000069345,protein_coding -56754,BCL3,ENSG00000069399,protein_coding -233,KCNAB2,ENSG00000069424,protein_coding -38095,ABCC9,ENSG00000069431,protein_coding -33736,GAL,ENSG00000069482,protein_coding -37837,CLEC2D,ENSG00000069493,protein_coding -25093,FUNDC1,ENSG00000069509,protein_coding -25083,MAOB,ENSG00000069535,protein_coding -45362,RORA,ENSG00000069667,protein_coding -31842,DRD4,ENSG00000069696,protein_coding -2273,TGFBR3,ENSG00000069702,protein_coding -47013,PLA2G10,ENSG00000069764,protein_coding -245,HES2,ENSG00000069812,protein_coding -11870,ATP1B3,ENSG00000069849,protein_coding -45248,NEDD4,ENSG00000069869,protein_coding -45234,PIGB,ENSG00000069943,protein_coding -45191,MAPK6,ENSG00000069956,protein_coding -45199,GNB5,ENSG00000069966,protein_coding -45231,RAB27A,ENSG00000069974,protein_coding -58356,HDHD5,ENSG00000069998,protein_coding -58460,UFD1,ENSG00000070010,protein_coding -37931,LRP6,ENSG00000070018,protein_coding -37993,GUCY2C,ENSG00000070019,protein_coding -31841,SCT,ENSG00000070031,protein_coding -31838,PHRF1,ENSG00000070047,protein_coding -31068,ELP1,ENSG00000070061,protein_coding -32403,NUCB2,ENSG00000070081,protein_coding -11991,PFN2,ENSG00000070087,protein_coding -31079,PTPN3,ENSG00000070159,protein_coding -43045,SPTB,ENSG00000070182,protein_coding -14295,DAPP1,ENSG00000070190,protein_coding -16197,FGF10,ENSG00000070193,protein_coding -31017,SLC44A1,ENSG00000070214,protein_coding -42884,TMEM260,ENSG00000070269,protein_coding -49069,SMG6,ENSG00000070366,protein_coding -42900,EXOC5,ENSG00000070367,protein_coding -58449,CLTCL1,ENSG00000070371,protein_coding -54792,FGF22,ENSG00000070388,protein_coding -54795,FSTL3,ENSG00000070404,protein_coding -58436,DGCR2,ENSG00000070413,protein_coding -54793,AC004156.1,ENSG00000070423,protein_coding -49090,MNT,ENSG00000070444,protein_coding -11559,ZXDC,ENSG00000070476,protein_coding -51771,JMJD6,ENSG00000070495,protein_coding -27883,POLB,ENSG00000070501,protein_coding -51765,ST6GALNAC1,ENSG00000070526,protein_coding -51547,WIPI1,ENSG00000070540,protein_coding -30087,FRMPD1,ENSG00000070601,protein_coding -30023,GBA2,ENSG00000070610,protein_coding -17898,NDST1,ENSG00000070614,protein_coding -23264,ASNS,ENSG00000070669,protein_coding -27879,AP3M2,ENSG00000070718,protein_coding -48157,CNGB1,ENSG00000070729,protein_coding -51761,ST6GALNAC2,ENSG00000070731,protein_coding -36032,CHAT,ENSG00000070748,protein_coding -28774,PABPC1,ENSG00000070756,protein_coding -1479,TESK2,ENSG00000070759,protein_coding -48164,CFAP20,ENSG00000070761,protein_coding -48167,CSNK2A2,ENSG00000070770,protein_coding -43483,AL162171.1,ENSG00000070778,protein_coding -1466,EIF2B3,ENSG00000070785,protein_coding -17891,CAMK2A,ENSG00000070808,protein_coding -17893,TCOF1,ENSG00000070814,protein_coding -717,CDC42,ENSG00000070831,protein_coding -21942,OSBPL3,ENSG00000070882,protein_coding -729,EPHA8,ENSG00000070886,protein_coding -48111,SLC12A3,ENSG00000070915,protein_coding -9747,RAD18,ENSG00000070950,protein_coding -39491,ATP2B1,ENSG00000070961,protein_coding -31939,TRPM5,ENSG00000070985,protein_coding -7385,NCK2,ENSG00000071051,protein_coding -7318,MAP4K4,ENSG00000071054,protein_coding -7260,MGAT4A,ENSG00000071073,protein_coding -7302,RPL31,ENSG00000071082,protein_coding -13140,WDR1,ENSG00000071127,protein_coding -21840,SNX13,ENSG00000071189,protein_coding -33260,MS4A12,ENSG00000071203,protein_coding -14907,ARHGAP10,ENSG00000071205,protein_coding -21439,RPS6KA2,ENSG00000071242,protein_coding -23712,ING3,ENSG00000071243,protein_coding -43342,VASH1,ENSG00000071246,protein_coding -9741,LMCD1,ENSG00000071282,protein_coding -22903,BUD23,ENSG00000071462,protein_coding -43427,SEL1L,ENSG00000071537,protein_coding -15537,TRIP13,ENSG00000071539,protein_coding -26907,ATP6AP1,ENSG00000071553,protein_coding -54866,TCF3,ENSG00000071564,protein_coding -5687,TRIB2,ENSG00000071575,protein_coding -54849,DAZAP1,ENSG00000071626,protein_coding -54862,MBD3,ENSG00000071655,protein_coding -9534,PRLH,ENSG00000071677,protein_coding -11961,HLTF,ENSG00000071794,protein_coding -26909,FAM50A,ENSG00000071859,protein_coding -26916,FAM3A,ENSG00000071889,protein_coding -29416,CPSF1,ENSG00000071894,protein_coding -8353,MYO3B,ENSG00000071909,protein_coding -8377,CYBRD1,ENSG00000071967,protein_coding -53085,CDH19,ENSG00000071991,protein_coding -21535,PDCD2,ENSG00000071994,protein_coding -39440,SLC6A15,ENSG00000072041,protein_coding -43105,RDH11,ENSG00000072042,protein_coding -55540,PRKACA,ENSG00000072062,protein_coding -55544,ADGRL1,ENSG00000072071,protein_coding -9488,SPP2,ENSG00000072080,protein_coding -43130,ACTN1,ENSG00000072110,protein_coding -43109,ZFYVE26,ENSG00000072121,protein_coding -25815,RPS6KA6,ENSG00000072133,protein_coding -49758,EPN2,ENSG00000072134,protein_coding -7823,PTPN18,ENSG00000072135,protein_coding -7744,LIMS2,ENSG00000072163,protein_coding -9216,ASIC4,ENSG00000072182,protein_coding -9210,SPEG,ENSG00000072195,protein_coding -13624,LNX1,ENSG00000072201,protein_coding -49787,ALDH3A2,ENSG00000072210,protein_coding -12764,TFRC,ENSG00000072274,protein_coding -49666,SREBF1,ENSG00000072310,protein_coding -26169,TRPC5,ENSG00000072315,protein_coding -17405,AFF4,ENSG00000072364,protein_coding -36115,UBE2D1,ENSG00000072401,protein_coding -43085,MPP5,ENSG00000072415,protein_coding -36140,RHOBTB1,ENSG00000072422,protein_coding -25397,SMC1A,ENSG00000072501,protein_coding -25400,HSD17B10,ENSG00000072506,protein_coding -33434,MARK2,ENSG00000072518,protein_coding -18088,HMMR,ENSG00000072571,protein_coding -40509,CHFR,ENSG00000072609,protein_coding -39300,TRHDE,ENSG00000072657,protein_coding -17375,P4HA2,ENSG00000072682,protein_coding -3706,FCGR2B,ENSG00000072694,protein_coding -48358,NFATC3,ENSG00000072736,protein_coding -9696,TRNT1,ENSG00000072756,protein_coding -49296,ACADVL,ENSG00000072778,protein_coding -18181,STK10,ENSG00000072786,protein_coding -18180,FBXW11,ENSG00000072803,protein_coding -49316,ACAP1,ENSG00000072818,protein_coding -13012,CRMP1,ENSG00000072832,protein_coding -13011,EVC,ENSG00000072840,protein_coding -49237,DERL2,ENSG00000072849,protein_coding -11319,SIDT1,ENSG00000072858,protein_coding -47056,NDE1,ENSG00000072864,protein_coding -32297,MRVI1,ENSG00000072952,protein_coding -55684,TMEM38A,ENSG00000072954,protein_coding -55656,AP1M1,ENSG00000072958,protein_coding -56748,PVR,ENSG00000073008,protein_coding -56686,XRCC1,ENSG00000073050,protein_coding -40293,SCARB1,ENSG00000073060,protein_coding -21575,CYP2W1,ENSG00000073067,protein_coding -11587,MCM2,ENSG00000073111,protein_coding -59601,MOV10L1,ENSG00000073146,protein_coding -59603,PANX2,ENSG00000073150,protein_coding -59607,SELENOO,ENSG00000073169,protein_coding -12636,TP63,ENSG00000073282,protein_coding -14467,ALPK1,ENSG00000073331,protein_coding -51700,LLGL2,ENSG00000073350,protein_coding -46038,PDE8A,ENSG00000073417,protein_coding -24673,CLCN4,ENSG00000073464,protein_coding -50284,NLE1,ENSG00000073536,protein_coding -15510,SDHA,ENSG00000073578,protein_coding -50535,SMARCE1,ENSG00000073584,protein_coding -50283,FNDC8,ENSG00000073598,protein_coding -50496,GSDMB,ENSG00000073605,protein_coding -37496,KDM5A,ENSG00000073614,protein_coding -50817,ADAM11,ENSG00000073670,protein_coding -11763,PPP2R3A,ENSG00000073711,protein_coding -42822,FERMT2,ENSG00000073712,protein_coding -8330,ABCB11,ENSG00000073734,protein_coding -8331,DHRS9,ENSG00000073737,protein_coding -3530,CD5L,ENSG00000073754,protein_coding -4206,PTGS2,ENSG00000073756,protein_coding -12562,IGF2BP2,ENSG00000073792,protein_coding -12555,MAP3K13,ENSG00000073803,protein_coding -12606,ST6GAL1,ENSG00000073849,protein_coding -50931,TBX21,ENSG00000073861,protein_coding -40861,FRY,ENSG00000073910,protein_coding -34140,PICALM,ENSG00000073921,protein_coding -50898,NSF,ENSG00000073969,protein_coding -7674,GLI2,ENSG00000074047,protein_coding -7681,CLASP1,ENSG00000074054,protein_coding -46587,MRPS34,ENSG00000074071,protein_coding -55593,NOTCH3,ENSG00000074181,protein_coding -34028,CLNS1A,ENSG00000074201,protein_coding -13022,PPP2R2C,ENSG00000074211,protein_coding -57017,TEAD2,ENSG00000074219,protein_coding -34145,EED,ENSG00000074266,protein_coding -18291,CDHR2,ENSG00000074276,protein_coding -18295,SNCB,ENSG00000074317,protein_coding -32447,TSG101,ENSG00000074319,protein_coding -49152,NCBP3,ENSG00000074356,protein_coding -49155,ATP2A3,ENSG00000074370,protein_coding -45415,CA12,ENSG00000074410,protein_coding -11591,MGLL,ENSG00000074416,protein_coding -39604,NTN4,ENSG00000074527,protein_coding -9156,BCS1L,ENSG00000074582,protein_coding -39794,NUAK1,ENSG00000074590,protein_coding -45481,DPP8,ENSG00000074603,protein_coding -45488,SLC24A1,ENSG00000074621,protein_coding -52983,ZNF532,ENSG00000074657,protein_coding -49043,SCARF1,ENSG00000074660,protein_coding -52991,LMAN1,ENSG00000074695,protein_coding -45485,HACD3,ENSG00000074696,protein_coding -21256,IPCEF1,ENSG00000074706,protein_coding -49157,ZZEF1,ENSG00000074755,protein_coding -21277,NOX3,ENSG00000074771,protein_coding -304,ENO1,ENSG00000074800,protein_coding -45092,SLC12A1,ENSG00000074803,protein_coding -55034,MYDGF,ENSG00000074842,protein_coding -55714,ANO8,ENSG00000074855,protein_coding -20636,TUBE1,ENSG00000074935,protein_coding -606,ARHGEF10L,ENSG00000074964,protein_coding -13559,TXK,ENSG00000074966,protein_coding -39834,WSCD2,ENSG00000075035,protein_coding -54690,KCNQ2,ENSG00000075043,protein_coding -36253,TACR2,ENSG00000075073,protein_coding -39684,ACTR6,ENSG00000075089,protein_coding -45503,TIPIN,ENSG00000075131,protein_coding -23120,SRI,ENSG00000075142,protein_coding -681,EIF4G3,ENSG00000075151,protein_coding -39730,NUP37,ENSG00000075188,protein_coding -23085,SEMA3A,ENSG00000075213,protein_coding -59537,GTSE1,ENSG00000075218,protein_coding -23064,SEMA3C,ENSG00000075223,protein_coding -59535,TTC38,ENSG00000075234,protein_coding -34517,ACAT1,ENSG00000075239,protein_coding -59542,GRAMD4,ENSG00000075240,protein_coding -59539,CELSR1,ENSG00000075275,protein_coding -36909,WNT8B,ENSG00000075290,protein_coding -6671,ZNF638,ENSG00000075292,protein_coding -23117,SLC25A40,ENSG00000075303,protein_coding -53165,TIMM21,ENSG00000075336,protein_coding -6641,ADD2,ENSG00000075340,protein_coding -33767,FGF4,ENSG00000075388,protein_coding -4026,RASAL2,ENSG00000075391,protein_coding -48966,VPS9D1,ENSG00000075399,protein_coding -35807,ZNF37A,ENSG00000075407,protein_coding -43926,MARK3,ENSG00000075413,protein_coding -39664,SLC25A3,ENSG00000075415,protein_coding -12323,FNDC3B,ENSG00000075420,protein_coding -5957,FOSL2,ENSG00000075426,protein_coding -51494,CACNG5,ENSG00000075429,protein_coding -51496,CACNG4,ENSG00000075461,protein_coding -13567,FRYL,ENSG00000075539,protein_coding -7249,TMEM131,ENSG00000075568,protein_coding -21671,FSCN1,ENSG00000075618,protein_coding -21668,ACTB,ENSG00000075624,protein_coding -52682,MOCOS,ENSG00000075643,protein_coding -12318,PLD1,ENSG00000075651,protein_coding -40713,ATP12A,ENSG00000075673,protein_coding -56318,WDR62,ENSG00000075702,protein_coding -12813,DLG1,ENSG00000075711,protein_coding -11613,RAB7A,ENSG00000075785,protein_coding -23561,BCAP29,ENSG00000075790,protein_coding -36910,SEC31B,ENSG00000075826,protein_coding -39839,SART3,ENSG00000075856,protein_coding -8026,ARHGAP15,ENSG00000075884,protein_coding -7891,TUBA3D,ENSG00000075886,protein_coding -36915,PAX2,ENSG00000075891,protein_coding -10345,EXOSC7,ENSG00000075914,protein_coding -3881,KIFAP3,ENSG00000075945,protein_coding -9845,MKRN2,ENSG00000075975,protein_coding -7970,MCM6,ENSG00000076003,protein_coding -34660,REXO2,ENSG00000076043,protein_coding -34658,RBM7,ENSG00000076053,protein_coding -38961,RBMS2,ENSG00000076067,protein_coding -38963,BAZ2A,ENSG00000076108,protein_coding -10412,PTPN23,ENSG00000076201,protein_coding -10150,MLH1,ENSG00000076242,protein_coding -39862,UNG,ENSG00000076248,protein_coding -3911,FMO4,ENSG00000076258,protein_coding -3960,KLHL20,ENSG00000076321,protein_coding -46462,RGS11,ENSG00000076344,protein_coding -49994,SLC46A1,ENSG00000076351,protein_coding -4588,PLXNA2,ENSG00000076356,protein_coding -50006,SPAG5,ENSG00000076382,protein_coding -39887,ANKRD13A,ENSG00000076513,protein_coding -28427,TPD52,ENSG00000076554,protein_coding -39864,ACACB,ENSG00000076555,protein_coding -50029,TRAF4,ENSG00000076604,protein_coding -28454,PAG1,ENSG00000076641,protein_coding -56162,GPATCH1,ENSG00000076650,protein_coding -55314,ICAM3,ENSG00000076662,protein_coding -36999,NT5C2,ENSG00000076685,protein_coding -34809,AP002956.1,ENSG00000076706,protein_coding -26483,GPC4,ENSG00000076716,protein_coding -26473,MBNL3,ENSG00000076770,protein_coding -55154,CAMSAP3,ENSG00000076826,protein_coding -701,RAP1GAP,ENSG00000076864,protein_coding -55156,XAB2,ENSG00000076924,protein_coding -56620,ARHGEF1,ENSG00000076928,protein_coding -55161,STXBP2,ENSG00000076944,protein_coding -55182,MAP2K7,ENSG00000076984,protein_coding -54991,NMRK2,ENSG00000077009,protein_coding -9458,DGKD,ENSG00000077044,protein_coding -23695,CTTNBP2,ENSG00000077063,protein_coding -23396,ACTL6B,ENSG00000077080,protein_coding -10011,RARB,ENSG00000077092,protein_coding -10016,TOP2B,ENSG00000077097,protein_coding -36817,TM9SF3,ENSG00000077147,protein_coding -36967,NFKB2,ENSG00000077150,protein_coding -4402,UBE2T,ENSG00000077152,protein_coding -4403,PPP1R12B,ENSG00000077157,protein_coding -8581,DNAJC10,ENSG00000077232,protein_coding -47350,GTF3C1,ENSG00000077235,protein_coding -47347,IL4R,ENSG00000077238,protein_coding -2067,USP33,ENSG00000077254,protein_coding -26155,PAK3,ENSG00000077264,protein_coding -26158,CAPN6,ENSG00000077274,protein_coding -26159,DCX,ENSG00000077279,protein_coding -56546,SNRPA,ENSG00000077312,protein_coding -35534,SPAG6,ENSG00000077327,protein_coding -56585,EXOSC5,ENSG00000077348,protein_coding -8379,DYNC1I2,ENSG00000077380,protein_coding -35585,APBB1IP,ENSG00000077420,protein_coding -23390,LRCH4,ENSG00000077454,protein_coding -34371,FAM76B,ENSG00000077458,protein_coding -55002,AC016586.1,ENSG00000077463,protein_coding -34200,TYR,ENSG00000077498,protein_coding -33939,POLD3,ENSG00000077514,protein_coding -5190,ACTN2,ENSG00000077522,protein_coding -636,CAPZB,ENSG00000077549,protein_coding -5179,GPR137B,ENSG00000077585,protein_coding -34257,NAALAD2,ENSG00000077616,protein_coding -14671,JADE1,ENSG00000077684,protein_coding -26271,SLC25A43,ENSG00000077713,protein_coding -26279,UBE2A,ENSG00000077721,protein_coding -27806,FGFR1,ENSG00000077782,protein_coding -22891,FKBP6,ENSG00000077800,protein_coding -59505,SMC1B,ENSG00000077935,protein_coding -59508,FBLN1,ENSG00000077942,protein_coding -35430,ITGA8,ENSG00000077943,protein_coding -53784,CST7,ENSG00000077984,protein_coding -9018,MAP2,ENSG00000078018,protein_coding -52773,PIAS2,ENSG00000078043,protein_coding -22237,AMPH,ENSG00000078053,protein_coding -25159,ARAF,ENSG00000078061,protein_coding -12483,MCCC1,ENSG00000078070,protein_coding -12485,LAMP3,ENSG00000078081,protein_coding -8273,FAP,ENSG00000078098,protein_coding -35492,NEBL,ENSG00000078114,protein_coding -34018,ACER3,ENSG00000078124,protein_coding -13440,UBE2K,ENSG00000078140,protein_coding -52722,PIK3C3,ENSG00000078142,protein_coding -13452,N4BP2,ENSG00000078177,protein_coding -37588,TIGAR,ENSG00000078237,protein_coding -37556,TULP3,ENSG00000078246,protein_coding -21306,SYNJ2,ENSG00000078269,protein_coding -15654,ADCY2,ENSG00000078295,protein_coding -43875,PPP2R5C,ENSG00000078304,protein_coding -46836,RBFOX1,ENSG00000078328,protein_coding -139,GNB1,ENSG00000078369,protein_coding -21998,HOXA9,ENSG00000078399,protein_coding -18725,EDN1,ENSG00000078401,protein_coding -35510,MLLT10,ENSG00000078403,protein_coding -23375,ZCWPW1,ENSG00000078487,protein_coding -22099,ADCYAP1R1,ENSG00000078549,protein_coding -27382,FGF20,ENSG00000078579,protein_coding -25778,P2RY10,ENSG00000078589,protein_coding -25783,ITM2A,ENSG00000078596,protein_coding -1626,NRDC,ENSG00000078618,protein_coding -27886,VDAC3,ENSG00000078668,protein_coding -27408,PCM1,ENSG00000078674,protein_coding -51812,TNRC6C,ENSG00000078687,protein_coding -53955,CBFA2T2,ENSG00000078699,protein_coding -31223,BRINP1,ENSG00000078725,protein_coding -53984,ITCH,ENSG00000078747,protein_coding -17530,PKD2L2,ENSG00000078795,protein_coding -53998,TP53INP2,ENSG00000078804,protein_coding -86,SDF4,ENSG00000078808,protein_coding -54004,MYH7B,ENSG00000078814,protein_coding -53938,BPIFB2,ENSG00000078898,protein_coding -196,TP73,ENSG00000078900,protein_coding -31877,TOLLIP,ENSG00000078902,protein_coding -22306,UBE2D4,ENSG00000078967,protein_coding -52070,CLUL1,ENSG00000079101,protein_coding -28601,RUNX1T1,ENSG00000079102,protein_coding -28641,CDH17,ENSG00000079112,protein_coding -52062,THOC1,ENSG00000079134,protein_coding -8529,FKBP7,ENSG00000079150,protein_coding -8524,OSBPL6,ENSG00000079156,protein_coding -16062,SLC1A3,ENSG00000079215,protein_coding -9085,XRCC5,ENSG00000079246,protein_coding -12150,LXN,ENSG00000079257,protein_coding -9355,SP140,ENSG00000079263,protein_coding -1522,MKNK1,ENSG00000079277,protein_coding -9124,TNS1,ENSG00000079308,protein_coding -54872,REXO1,ENSG00000079313,protein_coding -36273,SAR1A,ENSG00000079332,protein_coding -2432,CDC14A,ENSG00000079335,protein_coding -38484,RAPGEF3,ENSG00000079337,protein_coding -56650,CEACAM1,ENSG00000079385,protein_coding -38502,SENP1,ENSG00000079387,protein_coding -36414,DUSP13,ENSG00000079393,protein_coding -56637,CIC,ENSG00000079432,protein_coding -56645,LIPE,ENSG00000079435,protein_coding -27277,FDFT1,ENSG00000079459,protein_coding -56638,PAFAH1B3,ENSG00000079462,protein_coding -25541,OPHN1,ENSG00000079482,protein_coding -13924,AFM,ENSG00000079557,protein_coding -47461,KIF22,ENSG00000079616,protein_coding -18910,SCGN,ENSG00000079689,protein_coding -18906,CARMIL1,ENSG00000079691,protein_coding -1876,PGM1,ENSG00000079739,protein_coding -5703,DDX1,ENSG00000079785,protein_coding -55333,DNM2,ENSG00000079805,protein_coding -20856,EPB41L2,ENSG00000079819,protein_coding -20109,RIMS1,ENSG00000079841,protein_coding -20881,MOXD1,ENSG00000079931,protein_coding -20882,STX7,ENSG00000079950,protein_coding -59648,RABL2B,ENSG00000079974,protein_coding -55319,KEAP1,ENSG00000079999,protein_coding -20136,DDX43,ENSG00000080007,protein_coding -57494,AC010327.1,ENSG00000080031,protein_coding -41616,DCT,ENSG00000080166,protein_coding -54316,SLC35C2,ENSG00000080189,protein_coding -11084,CRYBG3,ENSG00000080200,protein_coding -11079,EPHA6,ENSG00000080224,protein_coding -7649,SCTR,ENSG00000080293,protein_coding -29513,RFX3,ENSG00000080298,protein_coding -8127,RIF1,ENSG00000080345,protein_coding -39293,RAB21,ENSG00000080371,protein_coding -13904,SLC4A4,ENSG00000080493,protein_coding -29499,SMARCA2,ENSG00000080503,protein_coding -55286,RDH8,ENSG00000080511,protein_coding -20571,SESN1,ENSG00000080546,protein_coding -26114,MID2,ENSG00000080561,protein_coding -26105,PIH1D3,ENSG00000080572,protein_coding -55284,COL5A3,ENSG00000080573,protein_coding -47551,SRCAP,ENSG00000080603,protein_coding -29508,PUM3,ENSG00000080608,protein_coding -41094,CPB2,ENSG00000080618,protein_coding -45847,CHRNA3,ENSG00000080644,protein_coding -17137,KCNN2,ENSG00000080709,protein_coding -23981,CNOT4,ENSG00000080802,protein_coding -43221,PSEN1,ENSG00000080815,protein_coding -11117,CPOX,ENSG00000080819,protein_coding -11111,CLDND1,ENSG00000080822,protein_coding -43888,MOK,ENSG00000080823,protein_coding -43886,HSP90AA1,ENSG00000080824,protein_coding -54078,RBL1,ENSG00000080839,protein_coding -54062,DLGAP4,ENSG00000080845,protein_coding -35122,IGSF9B,ENSG00000080854,protein_coding -4290,CFHR2,ENSG00000080910,protein_coding -52107,NDC80,ENSG00000080986,protein_coding -45158,AP4E1,ENSG00000081014,protein_coding -2686,RSBN1,ENSG00000081019,protein_coding -2681,MAGI3,ENSG00000081026,protein_coding -13946,CXCL2,ENSG00000081041,protein_coding -13923,AFP,ENSG00000081051,protein_coding -9303,COL4A4,ENSG00000081052,protein_coding -17434,TCF7,ENSG00000081059,protein_coding -20542,OSTM1,ENSG00000081087,protein_coding -53081,CDH7,ENSG00000081138,protein_coding -11156,IMPG2,ENSG00000081148,protein_coding -11164,PCNP,ENSG00000081154,protein_coding -43140,EXD2,ENSG00000081177,protein_coding -43099,ARG2,ENSG00000081181,protein_coding -16848,MEF2C,ENSG00000081189,protein_coding -4314,PTPRC,ENSG00000081237,protein_coding -4356,CACNA1S,ENSG00000081248,protein_coding -4361,PKP1,ENSG00000081277,protein_coding -11717,UBA5,ENSG00000081307,protein_coding -8730,STK17B,ENSG00000081320,protein_coding -30862,CDC14B,ENSG00000081377,protein_coding -30866,ZNF510,ENSG00000081386,protein_coding -8334,LRP2,ENSG00000081479,protein_coding -55852,ZNF506,ENSG00000081665,protein_coding -4941,JMJD4,ENSG00000081692,protein_coding -3713,DUSP12,ENSG00000081721,protein_coding -40303,AACS,ENSG00000081760,protein_coding -17743,DELE1,ENSG00000081791,protein_coding -23744,SLC13A1,ENSG00000081800,protein_coding -23735,CADPS2,ENSG00000081803,protein_coding -17673,PCDHB4,ENSG00000081818,protein_coding -17650,PCDHA6,ENSG00000081842,protein_coding -17702,PCDHGA2,ENSG00000081853,protein_coding -1708,HSPB11,ENSG00000081870,protein_coding -53048,PHLPP1,ENSG00000081913,protein_coding -52953,ATP8B1,ENSG00000081923,protein_coding -1933,IL12RB2,ENSG00000081985,protein_coding -24425,SMARCD3,ENSG00000082014,protein_coding -16080,WDR70,ENSG00000082068,protein_coding -16110,FYB1,ENSG00000082074,protein_coding -8844,MPP4,ENSG00000082126,protein_coding -8830,STRADB,ENSG00000082146,protein_coding -8797,BZW1,ENSG00000082153,protein_coding -34404,PGR,ENSG00000082175,protein_coding -16019,C1QTNF3,ENSG00000082196,protein_coding -52871,ME2,ENSG00000082212,protein_coding -15965,C5orf22,ENSG00000082213,protein_coding -7957,CCNT2,ENSG00000082258,protein_coding -20079,FAM135A,ENSG00000082269,protein_coding -20072,COL19A1,ENSG00000082293,protein_coding -52168,EPB41L3,ENSG00000082397,protein_coding -8287,COBLL1,ENSG00000082438,protein_coding -25588,DLG3,ENSG00000082458,protein_coding -4721,KCNK2,ENSG00000082482,protein_coding -4623,SERTAD4,ENSG00000082497,protein_coding -4641,TRAF5,ENSG00000082512,protein_coding -17977,MRPL22,ENSG00000082515,protein_coding -17976,GEMIN5,ENSG00000082516,protein_coding -28030,OPRK1,ENSG00000082556,protein_coding -50952,NFE2L1,ENSG00000082641,protein_coding -11477,SEMA5B,ENSG00000082684,protein_coding -11409,GSK3B,ENSG00000082701,protein_coding -11501,ITGB5,ENSG00000082781,protein_coding -37510,ERC1,ENSG00000082805,protein_coding -6449,XPO1,ENSG00000082898,protein_coding -11988,RNF13,ENSG00000082996,protein_coding -30449,TRPM3,ENSG00000083067,protein_coding -47282,PALB2,ENSG00000083093,protein_coding -20254,DOP1A,ENSG00000083097,protein_coding -20365,LYRM2,ENSG00000083099,protein_coding -20227,BCKDHB,ENSG00000083123,protein_coding -27873,KAT6A,ENSG00000083168,protein_coding -30633,TUT7,ENSG00000083223,protein_coding -49796,ULK2,ENSG00000083290,protein_coding -28805,GRHL2,ENSG00000083307,protein_coding -16564,TNPO1,ENSG00000083312,protein_coding -414,PLOD1,ENSG00000083444,protein_coding -49147,P2RX5,ENSG00000083454,protein_coding -49148,ITGAE,ENSG00000083457,protein_coding -41401,DIS3,ENSG00000083520,protein_coding -41402,PIBF1,ENSG00000083535,protein_coding -41307,TDRD3,ENSG00000083544,protein_coding -41062,NUFIP1,ENSG00000083635,protein_coding -40875,PDS5B,ENSG00000083642,protein_coding -16141,OXCT1,ENSG00000083720,protein_coding -25456,RRAGB,ENSG00000083750,protein_coding -39507,EPYC,ENSG00000083782,protein_coding -47965,CYLD,ENSG00000083799,protein_coding -57727,SLC27A5,ENSG00000083807,protein_coding -57724,ZNF324,ENSG00000083812,protein_coding -57659,ZNF671,ENSG00000083814,protein_coding -57648,ZNF416,ENSG00000083817,protein_coding -57661,ZNF586,ENSG00000083828,protein_coding -57725,ZNF446,ENSG00000083838,protein_coding -57617,ZNF264,ENSG00000083844,protein_coding -57713,RPS5,ENSG00000083845,protein_coding -15433,FAT1,ENSG00000083857,protein_coding -13817,YTHDC1,ENSG00000083896,protein_coding -11023,CHMP2B,ENSG00000083937,protein_coding -1302,SMAP2,ENSG00000084070,protein_coding -1274,PPIE,ENSG00000084072,protein_coding -1298,ZMPSTE24,ENSG00000084073,protein_coding -7189,STARD7,ENSG00000084090,protein_coding -13705,NOA1,ENSG00000084092,protein_coding -13703,REST,ENSG00000084093,protein_coding -39612,HAL,ENSG00000084110,protein_coding -39850,SSH1,ENSG00000084112,protein_coding -33690,GSTP1,ENSG00000084207,protein_coding -35074,APLP2,ENSG00000084234,protein_coding -37969,FAM234B,ENSG00000084444,protein_coding -38082,SLCO1A2,ENSG00000084453,protein_coding -37998,WBP11,ENSG00000084463,protein_coding -1064,EIF3I,ENSG00000084623,protein_coding -1023,NKAIN1,ENSG00000084628,protein_coding -1041,COL16A1,ENSG00000084636,protein_coding -1058,TXLNA,ENSG00000084652,protein_coding -5789,APOB,ENSG00000084674,protein_coding -5841,NCOA1,ENSG00000084676,protein_coding -5901,AGBL5,ENSG00000084693,protein_coding -5854,EFR3B,ENSG00000084710,protein_coding -5870,KIF3C,ENSG00000084731,protein_coding -5873,RAB10,ENSG00000084733,protein_coding -5937,GCKR,ENSG00000084734,protein_coding -5881,HADHA,ENSG00000084754,protein_coding -5898,MAPRE3,ENSG00000084764,protein_coding -5917,CAD,ENSG00000084774,protein_coding -32652,CD59,ENSG00000085063,protein_coding -32780,CD82,ENSG00000085117,protein_coding -26427,BCORL1,ENSG00000085185,protein_coding -25758,ATRX,ENSG00000085224,protein_coding -16497,AK6,ENSG00000085231,protein_coding -31627,FCN1,ENSG00000085265,protein_coding -12271,MYNN,ENSG00000085274,protein_coding -12261,MECOM,ENSG00000085276,protein_coding -16685,SCAMP1,ENSG00000085365,protein_coding -20493,PREP,ENSG00000085377,protein_coding -20483,HACE1,ENSG00000085382,protein_coding -52348,SEH1L,ENSG00000085415,protein_coding -2527,WDR47,ENSG00000085433,protein_coding -9278,WDFY1,ENSG00000085449,protein_coding -2627,OVGP1,ENSG00000085465,protein_coding -2502,SLC25A24,ENSG00000085491,protein_coding -21383,MAP3K4,ENSG00000085511,protein_coding -23373,PILRA,ENSG00000085514,protein_coding -3613,IGSF9,ENSG00000085552,protein_coding -23114,ABCB1,ENSG00000085563,protein_coding -46733,ZNF213,ENSG00000085644,protein_coding -23962,AKR1B1,ENSG00000085662,protein_coding -28545,CPNE3,ENSG00000085719,protein_coding -47039,RRN3,ENSG00000085721,protein_coding -33789,CTTN,ENSG00000085733,protein_coding -33998,WNT11,ENSG00000085741,protein_coding -6364,MTIF2,ENSG00000085760,protein_coding -27799,DDHD2,ENSG00000085788,protein_coding -1613,TTC39A,ENSG00000085831,protein_coding -1615,EPS15,ENSG00000085832,protein_coding -1653,ORC1,ENSG00000085840,protein_coding -14787,MGST2,ENSG00000085871,protein_coding -55667,CHERP,ENSG00000085872,protein_coding -9453,ATG16L1,ENSG00000085978,protein_coding -9460,USP40,ENSG00000085982,protein_coding -1508,POMGNT1,ENSG00000085998,protein_coding -1510,RAD54L,ENSG00000085999,protein_coding -1499,MAST2,ENSG00000086015,protein_coding -29887,DNAJA1,ENSG00000086061,protein_coding -29889,B4GALT1,ENSG00000086062,protein_coding -29894,CHMP5,ENSG00000086065,protein_coding -29895,NFX1,ENSG00000086102,protein_coding -38615,AQP6,ENSG00000086159,protein_coding -16399,DIMT1,ENSG00000086189,protein_coding -16400,IPO11,ENSG00000086200,protein_coding -32932,FOLH1,ENSG00000086205,protein_coding -21684,EIF2AK1,ENSG00000086232,protein_coding -22210,NME8,ENSG00000086288,protein_coding -22207,EPDR1,ENSG00000086289,protein_coding -21967,SNX10,ENSG00000086300,protein_coding -35383,SEPHS1,ENSG00000086475,protein_coding -46467,MRPL28,ENSG00000086504,protein_coding -46457,HBQ1,ENSG00000086506,protein_coding -56544,ITPKC,ENSG00000086544,protein_coding -56610,CEACAM6,ENSG00000086548,protein_coding -17927,FAT2,ENSG00000086570,protein_coding -17904,RBM22,ENSG00000086589,protein_coding -40251,TMED2,ENSG00000086598,protein_coding -5180,ERO1B,ENSG00000086619,protein_coding -45891,ZFAND6,ENSG00000086666,protein_coding -48739,HSD17B2,ENSG00000086696,protein_coding -24761,TXLNG,ENSG00000086712,protein_coding -24790,PPEF1,ENSG00000086717,protein_coding -22919,LAT2,ENSG00000086730,protein_coding -25404,HUWE1,ENSG00000086758,protein_coding -34638,ZW10,ENSG00000086827,protein_coding -34579,ALG9,ENSG00000086848,protein_coding -57101,MYBPC2,ENSG00000086967,protein_coding -34204,NOX4,ENSG00000086991,protein_coding -13063,ACOX3,ENSG00000087008,protein_coding -34373,MTMR2,ENSG00000087053,protein_coding -56972,PPP1R15A,ENSG00000087074,protein_coding -56970,HSD17B14,ENSG00000087076,protein_coding -23406,TRIP6,ENSG00000087077,protein_coding -23410,ACHE,ENSG00000087085,protein_coding -56980,FTL,ENSG00000087086,protein_coding -23408,SRRT,ENSG00000087087,protein_coding -56978,BAX,ENSG00000087088,protein_coding -49965,NLK,ENSG00000087095,protein_coding -50003,PIGS,ENSG00000087111,protein_coding -18385,ADAMTS2,ENSG00000087116,protein_coding -13819,TMPRSS11E,ENSG00000087128,protein_coding -50784,ATXN7L3,ENSG00000087152,protein_coding -51835,PGS1,ENSG00000087157,protein_coding -51410,PSMC5,ENSG00000087191,protein_coding -18304,UIMC1,ENSG00000087206,protein_coding -48117,CETP,ENSG00000087237,protein_coding -48059,MMP2,ENSG00000087245,protein_coding -48089,MT3,ENSG00000087250,protein_coding -48063,LPCAT2,ENSG00000087253,protein_coding -48075,GNAO1,ENSG00000087258,protein_coding -48085,OGFOD1,ENSG00000087263,protein_coding -12948,SH3BP2,ENSG00000087266,protein_coding -12953,NOP14,ENSG00000087269,protein_coding -12949,ADD1,ENSG00000087274,protein_coding -42749,L2HGDH,ENSG00000087299,protein_coding -42811,TXNDC16,ENSG00000087301,protein_coding -42803,RTRAF,ENSG00000087302,protein_coding -42804,NID2,ENSG00000087303,protein_coding -6617,GMCL1,ENSG00000087338,protein_coding -33598,SF3B2,ENSG00000087365,protein_coding -38201,KLHL42,ENSG00000087448,protein_coding -54565,GNAS,ENSG00000087460,protein_coding -38304,DNM1L,ENSG00000087470,protein_coding -38206,PTHLH,ENSG00000087494,protein_coding -54588,PHACTR3,ENSG00000087495,protein_coding -38225,ERGIC2,ENSG00000087502,protein_coding -54510,TFAP2C,ENSG00000087510,protein_coding -54498,AURKA,ENSG00000087586,protein_coding -54500,CASS4,ENSG00000087589,protein_coding -24734,PIR,ENSG00000087842,protein_coding -34037,AAMDC,ENSG00000087884,protein_coding -55082,RFX2,ENSG00000087903,protein_coding -51359,METTL2A,ENSG00000087995,protein_coding -56951,SULT2B1,ENSG00000088002,protein_coding -1863,ALG6,ENSG00000088035,protein_coding -57403,CNOT3,ENSG00000088038,protein_coding -57479,GP6,ENSG00000088053,protein_coding -7654,PTPN4,ENSG00000088179,protein_coding -7627,DDX18,ENSG00000088205,protein_coding -55102,KHSRP,ENSG00000088247,protein_coding -54948,GNA11,ENSG00000088256,protein_coding -759,ASAP3,ENSG00000088280,protein_coding -54009,EDEM2,ENSG00000088298,protein_coding -53932,DNMT3B,ENSG00000088305,protein_coding -53880,REM1,ENSG00000088320,protein_coding -53895,TPX2,ENSG00000088325,protein_coding -53902,PDRG1,ENSG00000088356,protein_coding -54058,EPB41L1,ENSG00000088367,protein_coding -41682,SLC15A1,ENSG00000088386,protein_coding -41683,DOCK9,ENSG00000088387,protein_coding -41845,ANKRD10,ENSG00000088448,protein_coding -41617,TGDS,ENSG00000088451,protein_coding -10574,DOCK3,ENSG00000088538,protein_coding -10568,C3orf18,ENSG00000088543,protein_coding -48138,COQ9,ENSG00000088682,protein_coding -9849,TMEM40,ENSG00000088726,protein_coding -10407,KIF9,ENSG00000088727,protein_coding -52191,ARHGAP28,ENSG00000088756,protein_coding -53481,CRLS1,ENSG00000088766,protein_coding -53296,DEFB127,ENSG00000088782,protein_coding -43946,PPP1R13B,ENSG00000088808,protein_coding -53407,ATRN,ENSG00000088812,protein_coding -53430,SMOX,ENSG00000088826,protein_coding -53411,SIGLEC1,ENSG00000088827,protein_coding -53334,FKBP1A,ENSG00000088832,protein_coding -53336,NSFL1C,ENSG00000088833,protein_coding -53400,SLC4A11,ENSG00000088836,protein_coding -53402,C20orf194,ENSG00000088854,protein_coding -53369,ZNF343,ENSG00000088876,protein_coding -53380,EBF4,ENSG00000088881,protein_coding -53382,CPXM1,ENSG00000088882,protein_coding -53420,MAVS,ENSG00000088888,protein_coding -53397,LZTS3,ENSG00000088899,protein_coding -15426,F11,ENSG00000088926,protein_coding -53698,XRN2,ENSG00000088930,protein_coding -53691,KIZ,ENSG00000088970,protein_coding -40127,DYNLL1,ENSG00000088986,protein_coding -40051,TESC,ENSG00000088992,protein_coding -53622,SNX5,ENSG00000089006,protein_coding -39957,AC004086.1,ENSG00000089009,protein_coding -53344,SIRPG,ENSG00000089012,protein_coding -39936,MAPKAPK5,ENSG00000089022,protein_coding -40161,P2RX7,ENSG00000089041,protein_coding -53570,ESF1,ENSG00000089048,protein_coding -53648,RBBP9,ENSG00000089050,protein_coding -40166,ANAPC5,ENSG00000089053,protein_coding -53443,SLC23A2,ENSG00000089057,protein_coding -39980,SLC8B1,ENSG00000089060,protein_coding -53450,TMEM230,ENSG00000089063,protein_coding -53642,DZANK1,ENSG00000089091,protein_coding -40169,KDM2B,ENSG00000089094,protein_coding -53674,CFAP61,ENSG00000089101,protein_coding -39984,LHX5,ENSG00000089116,protein_coding -53568,TASP1,ENSG00000089123,protein_coding -39961,AC004551.1,ENSG00000089127,protein_coding -40104,GCN1,ENSG00000089154,protein_coding -40106,RPLP0,ENSG00000089157,protein_coding -40108,PXN,ENSG00000089159,protein_coding -40115,SIRT4,ENSG00000089163,protein_coding -39959,RPH3A,ENSG00000089169,protein_coding -53594,KIF16B,ENSG00000089177,protein_coding -53473,TRMT6,ENSG00000089195,protein_coding -53471,CHGB,ENSG00000089199,protein_coding -40065,PEBP1,ENSG00000089220,protein_coding -39996,TBX5,ENSG00000089225,protein_coding -39929,BRAP,ENSG00000089234,protein_coding -39943,ERP29,ENSG00000089248,protein_coding -40054,NOS1,ENSG00000089250,protein_coding -47600,FUS,ENSG00000089280,protein_coding -25572,IGBP1,ENSG00000089289,protein_coding -56243,FXYD5,ENSG00000089327,protein_coding -56211,ZNF302,ENSG00000089335,protein_coding -56228,GRAMD1A,ENSG00000089351,protein_coding -56236,FXYD3,ENSG00000089356,protein_coding -25530,HEPH,ENSG00000089472,protein_coding -46798,CDIP1,ENSG00000089486,protein_coding -48262,CMTM1,ENSG00000089505,protein_coding -50650,KCNH4,ENSG00000089558,protein_coding -33360,GANAB,ENSG00000089597,protein_coding -55838,GMIP,ENSG00000089639,protein_coding -26101,RBM41,ENSG00000089682,protein_coding -51825,BIRC5,ENSG00000089685,protein_coding -37669,LAG3,ENSG00000089692,protein_coding -37667,MLF2,ENSG00000089693,protein_coding -43596,OTUB2,ENSG00000089723,protein_coding -43597,DDX24,ENSG00000089737,protein_coding -43035,ZBTB25,ENSG00000089775,protein_coding -37747,NECAP1,ENSG00000089818,protein_coding -26877,ARHGAP4,ENSG00000089820,protein_coding -55003,ANKRD24,ENSG00000089847,protein_coding -37343,DHX32,ENSG00000089876,protein_coding -43897,RCOR1,ENSG00000089902,protein_coding -43332,GPATCH2L,ENSG00000089916,protein_coding -56540,LTBP4,ENSG00000090006,protein_coding -56536,BLVRB,ENSG00000090013,protein_coding -898,SLC9A1,ENSG00000090020,protein_coding -30732,SPTLC1,ENSG00000090054,protein_coding -43668,PAPOLA,ENSG00000090060,protein_coding -43705,CCNK,ENSG00000090061,protein_coding -10603,PCBP4,ENSG00000090097,protein_coding -4253,RGS1,ENSG00000090104,protein_coding -47492,YPEL3,ENSG00000090238,protein_coding -24085,MRPS33,ENSG00000090263,protein_coding -24079,NDUFB2,ENSG00000090266,protein_coding -890,NUDC,ENSG00000090273,protein_coding -12908,MAEA,ENSG00000090316,protein_coding -55304,ICAM1,ENSG00000090339,protein_coding -56871,STRN4,ENSG00000090372,protein_coding -39183,IRAK3,ENSG00000090376,protein_coding -39248,LYZ,ENSG00000090382,protein_coding -12215,SI,ENSG00000090402,protein_coding -668,MUL1,ENSG00000090432,protein_coding -46783,TFAP4,ENSG00000090447,protein_coding -45469,PDCD7,ENSG00000090470,protein_coding -45459,SPG21,ENSG00000090487,protein_coding -12582,FETUB,ENSG00000090512,protein_coding -12576,DNAJB11,ENSG00000090520,protein_coding -12639,P3H2,ENSG00000090530,protein_coding -12537,THPO,ENSG00000090534,protein_coding -12538,CHRD,ENSG00000090539,protein_coding -57028,FLT3LG,ENSG00000090554,protein_coding -46473,RAB11FIP3,ENSG00000090565,protein_coding -46553,GNPTG,ENSG00000090581,protein_coding -40531,ZNF268,ENSG00000090612,protein_coding -40508,GOLGA3,ENSG00000090615,protein_coding -1267,PABPC4,ENSG00000090621,protein_coding -55169,CD209,ENSG00000090659,protein_coding -55197,CERS4,ENSG00000090661,protein_coding -55151,MCOLN1,ENSG00000090674,protein_coding -702,USP48,ENSG00000090686,protein_coding -25554,EFNB1,ENSG00000090776,protein_coding -48447,PDPR,ENSG00000090857,protein_coding -48453,AARS,ENSG00000090861,protein_coding -48571,GLG1,ENSG00000090863,protein_coding -25583,KIF4A,ENSG00000090889,protein_coding -47304,TNRC6A,ENSG00000090905,protein_coding -56475,PLEKHG2,ENSG00000090924,protein_coding -56479,DLL3,ENSG00000090932,protein_coding -57525,NAT14,ENSG00000090971,protein_coding -40228,PITPNM2,ENSG00000090975,protein_coding -13673,EXOC1,ENSG00000090989,protein_coding -17800,RBM27,ENSG00000091009,protein_coding -17803,POU4F3,ENSG00000091010,protein_coding -39357,OSBPL8,ENSG00000091039,protein_coding -22991,DTX2,ENSG00000091073,protein_coding -6021,NLRC4,ENSG00000091106,protein_coding -23528,PUS7,ENSG00000091127,protein_coding -23575,LAMB4,ENSG00000091128,protein_coding -23576,NRCAM,ENSG00000091129,protein_coding -23572,LAMB1,ENSG00000091136,protein_coding -23566,SLC26A4,ENSG00000091137,protein_coding -23569,SLC26A3,ENSG00000091138,protein_coding -23571,DLD,ENSG00000091140,protein_coding -52934,WDR7,ENSG00000091157,protein_coding -52933,TXNL1,ENSG00000091164,protein_coding -9694,IL5RA,ENSG00000091181,protein_coding -47070,ABCC6,ENSG00000091262,protein_coding -10092,CMTM6,ENSG00000091317,protein_coding -8391,ITGA6,ENSG00000091409,protein_coding -8400,RAPGEF4,ENSG00000091428,protein_coding -8402,MAP3K20,ENSG00000091436,protein_coding -24822,SMPX,ENSG00000091482,protein_coding -5256,FH,ENSG00000091483,protein_coding -13311,SEL1L3,ENSG00000091490,protein_coding -11735,TF,ENSG00000091513,protein_coding -11730,CDV3,ENSG00000091527,protein_coding -49679,MYO15A,ENSG00000091536,protein_coding -49681,ALKBH5,ENSG00000091542,protein_coding -51484,APOH,ENSG00000091583,protein_coding -49239,NLRP1,ENSG00000091592,protein_coding -49254,PITPNM3,ENSG00000091622,protein_coding -49206,SPAG7,ENSG00000091640,protein_coding -47862,ORC6,ENSG00000091651,protein_coding -28394,ZFHX4,ENSG00000091656,protein_coding -32512,SLC17A6,ENSG00000091664,protein_coding -23895,CPA1,ENSG00000091704,protein_coding -23884,ZC3HC1,ENSG00000091732,protein_coding -21222,ESR1,ENSG00000091831,protein_coding -21240,RGS17,ENSG00000091844,protein_coding -27065,ANGPT2,ENSG00000091879,protein_coding -50773,TMEM101,ENSG00000091947,protein_coding -11291,CD200,ENSG00000091972,protein_coding -11298,CCDC80,ENSG00000091986,protein_coding -42401,CMA1,ENSG00000092009,protein_coding -42357,PSME1,ENSG00000092010,protein_coding -42540,PPP2R3C,ENSG00000092020,protein_coding -42291,HAUS4,ENSG00000092036,protein_coding -42334,JPH4,ENSG00000092051,protein_coding -42324,MYH7,ENSG00000092054,protein_coding -42305,CEBPE,ENSG00000092067,protein_coding -42306,SLC7A8,ENSG00000092068,protein_coding -42051,OSGEP,ENSG00000092094,protein_coding -42317,SLC22A17,ENSG00000092096,protein_coding -42362,RNF31,ENSG00000092098,protein_coding -42463,SCFD1,ENSG00000092108,protein_coding -42462,G2E3,ENSG00000092140,protein_coding -42476,HECTD1,ENSG00000092148,protein_coding -42109,HNRNPC,ENSG00000092199,protein_coding -42110,RPGRIP1,ENSG00000092200,protein_coding -42111,SUPT16H,ENSG00000092201,protein_coding -42120,TOX4,ENSG00000092203,protein_coding -42621,GEMIN2,ENSG00000092208,protein_coding -42382,TGM1,ENSG00000092295,protein_coding -42381,AL096870.1,ENSG00000092330,protein_coding -9937,DAZL,ENSG00000092345,protein_coding -57798,TBL1Y,ENSG00000092377,protein_coding -17179,SEMA6A,ENSG00000092421,protein_coding -45150,TRPM7,ENSG00000092439,protein_coding -44896,TYRO3,ENSG00000092445,protein_coding -44991,WDR76,ENSG00000092470,protein_coding -44926,CAPN3,ENSG00000092529,protein_coding -44929,SNAP23,ENSG00000092531,protein_coding -2790,TBX15,ENSG00000092607,protein_coding -2819,PHGDH,ENSG00000092621,protein_coding -54658,COL9A3,ENSG00000092758,protein_coding -21325,EZR,ENSG00000092820,protein_coding -38932,MYL6,ENSG00000092841,protein_coding -1162,AGO1,ENSG00000092847,protein_coding -1169,TEKT2,ENSG00000092850,protein_coding -1159,CLSPN,ENSG00000092853,protein_coding -50275,RFFL,ENSG00000092871,protein_coding -51714,UNC13D,ENSG00000092929,protein_coding -51776,MFSD11,ENSG00000092931,protein_coding -27575,DPYSL2,ENSG00000092964,protein_coding -4745,TGFB2,ENSG00000092969,protein_coding -4732,GPATCH2,ENSG00000092978,protein_coding -59497,NUP50,ENSG00000093000,protein_coding -58463,CDC45,ENSG00000093009,protein_coding -58478,COMT,ENSG00000093010,protein_coding -58358,ADA2,ENSG00000093072,protein_coding -20897,VNN3,ENSG00000093134,protein_coding -20813,ECHDC1,ENSG00000093144,protein_coding -10152,LRRFIP2,ENSG00000093167,protein_coding -10272,SEC22C,ENSG00000093183,protein_coding -10186,XYLB,ENSG00000093217,protein_coding -25233,HDAC6,ENSG00000094631,protein_coding -55587,OR1I1,ENSG00000094661,protein_coding -18162,GABRP,ENSG00000094755,protein_coding -50602,KRT31,ENSG00000094796,protein_coding -50516,CDC6,ENSG00000094804,protein_coding -25730,UPRT,ENSG00000094841,protein_coding -17541,CDC23,ENSG00000094880,protein_coding -38766,AAAS,ENSG00000094914,protein_coding -38824,CBX5,ENSG00000094916,protein_coding -3906,FMO2,ENSG00000094963,protein_coding -3939,SUCO,ENSG00000094975,protein_coding -6270,MSH2,ENSG00000095002,protein_coding -16327,MAP3K1,ENSG00000095015,protein_coding -55458,DHPS,ENSG00000095059,protein_coding -55469,HOOK2,ENSG00000095066,protein_coding -34664,NXPE1,ENSG00000095110,protein_coding -34759,ARCN1,ENSG00000095139,protein_coding -31075,EPB41L4B,ENSG00000095203,protein_coding -31024,TMEM38B,ENSG00000095209,protein_coding -31234,PSMD5,ENSG00000095261,protein_coding -31262,PTGS1,ENSG00000095303,protein_coding -31459,NUP188,ENSG00000095319,protein_coding -31465,CRAT,ENSG00000095321,protein_coding -31385,SH2D3C,ENSG00000095370,protein_coding -30911,NANS,ENSG00000095380,protein_coding -30915,TBC1D2,ENSG00000095383,protein_coding -31177,WHRN,ENSG00000095397,protein_coding -36757,PDE6C,ENSG00000095464,protein_coding -36899,CWF19L1,ENSG00000095485,protein_coding -36921,SEMA4G,ENSG00000095539,protein_coding -36723,BTAF1,ENSG00000095564,protein_coding -37288,IKZF5,ENSG00000095574,protein_coding -36812,BLNK,ENSG00000095585,protein_coding -36816,TLL2,ENSG00000095587,protein_coding -36748,CYP26A1,ENSG00000095596,protein_coding -37144,TDRD1,ENSG00000095627,protein_coding -36796,SORBS1,ENSG00000095637,protein_coding -36859,CRTAC1,ENSG00000095713,protein_coding -35641,BAMBI,ENSG00000095739,protein_coding -57512,IL11,ENSG00000095752,protein_coding -35582,MYO3A,ENSG00000095777,protein_coding -35637,WAC,ENSG00000095787,protein_coding -35752,CREM,ENSG00000095794,protein_coding -46590,NUBP2,ENSG00000095906,protein_coding -46540,TPSD1,ENSG00000095917,protein_coding -54961,SMIM24,ENSG00000095932,protein_coding -18724,HIVEP1,ENSG00000095951,protein_coding -19667,TREM2,ENSG00000095970,protein_coding -19639,KCNK16,ENSG00000095981,protein_coding -19871,CRISP3,ENSG00000096006,protein_coding -19549,FKBP5,ENSG00000096060,protein_coding -19561,SRPK1,ENSG00000096063,protein_coding -19568,BRPF3,ENSG00000096070,protein_coding -19774,MRPS18A,ENSG00000096080,protein_coding -19690,PGC,ENSG00000096088,protein_coding -19909,TMEM14A,ENSG00000096092,protein_coding -19904,EFHC1,ENSG00000096093,protein_coding -19679,NCR2,ENSG00000096264,protein_coding -19793,HSP90AB1,ENSG00000096384,protein_coding -19497,MLN,ENSG00000096395,protein_coding -19802,CDC5L,ENSG00000096401,protein_coding -19492,ITPR3,ENSG00000096433,protein_coding -19014,ZNF184,ENSG00000096654,protein_coding -18650,DSP,ENSG00000096696,protein_coding -36205,SIRT1,ENSG00000096717,protein_coding -36216,HNRNPH3,ENSG00000096746,protein_coding -29821,IFT74,ENSG00000096872,protein_coding -29539,JAK2,ENSG00000096968,protein_coding -55757,IL12RB1,ENSG00000096996,protein_coding -31515,ABL1,ENSG00000097007,protein_coding -243,ACOT7,ENSG00000097021,protein_coding -2191,SH3GLB1,ENSG00000097033,protein_coding -2269,CDC7,ENSG00000097046,protein_coding -2163,SYDE2,ENSG00000097096,protein_coding -30507,PCSK5,ENSG00000099139,protein_coding -36906,SCD,ENSG00000099194,protein_coding -55338,TMED1,ENSG00000099203,protein_coding -37151,ABLIM1,ENSG00000099204,protein_coding -29568,ERMP1,ENSG00000099219,protein_coding -35618,RAB18,ENSG00000099246,protein_coding -35728,NRP1,ENSG00000099250,protein_coding -35564,PRTFDC1,ENSG00000099256,protein_coding -2404,PALMD,ENSG00000099260,protein_coding -36255,TSPAN15,ENSG00000099282,protein_coding -36270,H2AFY2,ENSG00000099284,protein_coding -36048,WASHC2A,ENSG00000099290,protein_coding -55758,MAST3,ENSG00000099308,protein_coding -57738,MZF1,ENSG00000099326,protein_coding -55703,OCEL1,ENSG00000099330,protein_coding -55697,MYO9B,ENSG00000099331,protein_coding -56412,KCNK6,ENSG00000099337,protein_coding -56413,CATSPERG,ENSG00000099338,protein_coding -56415,PSMD8,ENSG00000099341,protein_coding -47573,FBXL19,ENSG00000099364,protein_coding -47580,STX1B,ENSG00000099365,protein_coding -47579,HSD3B7,ENSG00000099377,protein_coding -47577,SETD1A,ENSG00000099381,protein_coding -47565,BCL7C,ENSG00000099385,protein_coding -24919,MAGEB2,ENSG00000099399,protein_coding -54839,EFNA2,ENSG00000099617,protein_coding -54836,CIRBP,ENSG00000099622,protein_coding -54834,ATP5F1D,ENSG00000099624,protein_coding -54832,CBARP,ENSG00000099625,protein_coding -57768,PCDH11Y,ENSG00000099715,protein_coding -57796,AMELY,ENSG00000099721,protein_coding -57801,PRKY,ENSG00000099725,protein_coding -46591,IGFALS,ENSG00000099769,protein_coding -55212,HNRNPM,ENSG00000099783,protein_coding -55209,MARCH2,ENSG00000099785,protein_coding -55562,NDUFB7,ENSG00000099795,protein_coding -55560,TECR,ENSG00000099797,protein_coding -54912,TIMM13,ENSG00000099800,protein_coding -54784,CDC34,ENSG00000099804,protein_coding -29774,MTAP,ENSG00000099810,protein_coding -54799,MISP,ENSG00000099812,protein_coding -43985,CEP170B,ENSG00000099814,protein_coding -54827,POLR2E,ENSG00000099817,protein_coding -54790,POLRMT,ENSG00000099821,protein_coding -54788,HCN2,ENSG00000099822,protein_coding -31840,CDHR5,ENSG00000099834,protein_coding -54893,IZUMO4,ENSG00000099840,protein_coding -31835,RASSF7,ENSG00000099849,protein_coding -54916,GADD45B,ENSG00000099860,protein_coding -54798,PALM,ENSG00000099864,protein_coding -54781,MADCAM1,ENSG00000099866,protein_coding -54891,MKNK2,ENSG00000099875,protein_coding -58480,ARVCF,ENSG00000099889,protein_coding -58490,TRMT2A,ENSG00000099899,protein_coding -58492,RANBP1,ENSG00000099901,protein_coding -58494,ZDHHC8,ENSG00000099904,protein_coding -58512,KLHL22,ENSG00000099910,protein_coding -58518,MED15,ENSG00000099917,protein_coding -58529,SERPIND1,ENSG00000099937,protein_coding -58530,SNAP29,ENSG00000099940,protein_coding -58532,CRKL,ENSG00000099942,protein_coding -58537,LZTR1,ENSG00000099949,protein_coding -58777,MMP11,ENSG00000099953,protein_coding -58364,CECR2,ENSG00000099954,protein_coding -58778,SMARCB1,ENSG00000099956,protein_coding -58542,P2RX6,ENSG00000099957,protein_coding -58779,DERL3,ENSG00000099958,protein_coding -58544,SLC7A4,ENSG00000099960,protein_coding -58372,BCL2L13,ENSG00000099968,protein_coding -58793,DDTL,ENSG00000099974,protein_coding -58795,DDT,ENSG00000099977,protein_coding -58992,OSM,ENSG00000099985,protein_coding -58802,CABIN1,ENSG00000099991,protein_coding -58996,TBC1D10A,ENSG00000099992,protein_coding -58804,SUSD2,ENSG00000099994,protein_coding -58997,SF3A1,ENSG00000099995,protein_coding -58805,GGT5,ENSG00000099998,protein_coding -58999,RNF215,ENSG00000099999,protein_coding -59000,SEC14L2,ENSG00000100003,protein_coding -59008,SEC14L3,ENSG00000100012,protein_coding -58810,SPECC1L,ENSG00000100014,protein_coding -58595,PPIL2,ENSG00000100023,protein_coding -58814,UPB1,ENSG00000100024,protein_coding -58596,YPEL1,ENSG00000100027,protein_coding -58817,SNRPD3,ENSG00000100028,protein_coding -59015,PES1,ENSG00000100029,protein_coding -58600,MAPK1,ENSG00000100030,protein_coding -58820,GGT1,ENSG00000100031,protein_coding -58424,PRODH,ENSG00000100033,protein_coding -58603,PPM1F,ENSG00000100034,protein_coding -59018,SLC35E4,ENSG00000100036,protein_coding -58605,TOP3B,ENSG00000100038,protein_coding -58843,CRYBB3,ENSG00000100053,protein_coding -59210,CYTH4,ENSG00000100055,protein_coding -58444,ESS2,ENSG00000100056,protein_coding -59215,MFNG,ENSG00000100060,protein_coding -59216,CARD10,ENSG00000100065,protein_coding -58853,LRP5L,ENSG00000100068,protein_coding -58448,SLC25A1,ENSG00000100075,protein_coding -58861,GRK3,ENSG00000100077,protein_coding -59040,PLA2G3,ENSG00000100078,protein_coding -59219,LGALS2,ENSG00000100079,protein_coding -59221,GGA1,ENSG00000100083,protein_coding -58455,HIRA,ENSG00000100084,protein_coding -59222,SH3BP1,ENSG00000100092,protein_coding -58873,SEZ6L,ENSG00000100095,protein_coding -59227,LGALS1,ENSG00000100097,protein_coding -58878,HPS4,ENSG00000100099,protein_coding -59048,PIK3IP1,ENSG00000100100,protein_coding -59229,Z83844.1,ENSG00000100101,protein_coding -58879,SRRD,ENSG00000100104,protein_coding -59051,PATZ1,ENSG00000100105,protein_coding -59230,TRIOBP,ENSG00000100106,protein_coding -58880,TFIP11,ENSG00000100109,protein_coding -59232,GCAT,ENSG00000100116,protein_coding -58682,GGTLC2,ENSG00000100121,protein_coding -58886,CRYBB1,ENSG00000100122,protein_coding -59234,ANKRD54,ENSG00000100124,protein_coding -59237,EIF3L,ENSG00000100129,protein_coding -59388,SNU13,ENSG00000100138,protein_coding -59240,MICALL1,ENSG00000100139,protein_coding -59244,POLR2F,ENSG00000100142,protein_coding -59246,SOX10,ENSG00000100146,protein_coding -59396,CCDC134,ENSG00000100147,protein_coding -59066,DEPDC5,ENSG00000100150,protein_coding -59250,PICK1,ENSG00000100151,protein_coding -58926,TTC28,ENSG00000100154,protein_coding -59252,SLC16A8,ENSG00000100156,protein_coding -59403,CENPM,ENSG00000100162,protein_coding -59405,SEPT3,ENSG00000100167,protein_coding -59078,SLC5A1,ENSG00000100170,protein_coding -59089,SLC5A4,ENSG00000100191,protein_coding -59270,KDELR3,ENSG00000100196,protein_coding -59418,CYP2D6,ENSG00000100197,protein_coding -59271,DDX17,ENSG00000100201,protein_coding -59272,DMC1,ENSG00000100206,protein_coding -59424,TCF20,ENSG00000100207,protein_coding -58935,HSCB,ENSG00000100209,protein_coding -59275,CBY1,ENSG00000100211,protein_coding -59279,TOMM22,ENSG00000100216,protein_coding -58741,RSPH14,ENSG00000100218,protein_coding -58937,XBP1,ENSG00000100219,protein_coding -59102,RTCB,ENSG00000100220,protein_coding -59280,JOSD1,ENSG00000100221,protein_coding -59104,FBXO7,ENSG00000100225,protein_coding -59281,GTPBP1,ENSG00000100226,protein_coding -59435,POLDIP3,ENSG00000100227,protein_coding -58745,RAB36,ENSG00000100228,protein_coding -59109,TIMP3,ENSG00000100234,protein_coding -59618,PPP6R2,ENSG00000100239,protein_coding -59619,SBF1,ENSG00000100241,protein_coding -59283,SUN2,ENSG00000100242,protein_coding -59438,CYB5R3,ENSG00000100243,protein_coding -59290,DNAL4,ENSG00000100246,protein_coding -58944,C22orf31,ENSG00000100249,protein_coding -59621,MIOX,ENSG00000100253,protein_coding -59622,LMF2,ENSG00000100258,protein_coding -58950,RHBDD3,ENSG00000100263,protein_coding -59446,PACSIN2,ENSG00000100266,protein_coding -59449,TTLL1,ENSG00000100271,protein_coding -58954,RASL10A,ENSG00000100276,protein_coding -58956,AP1B1,ENSG00000100280,protein_coding -59135,HMGXB4,ENSG00000100281,protein_coding -59137,TOM1,ENSG00000100284,protein_coding -58965,NEFH,ENSG00000100285,protein_coding -59634,CHKB,ENSG00000100288,protein_coding -59451,BIK,ENSG00000100290,protein_coding -59142,HMOX1,ENSG00000100292,protein_coding -59452,MCAT,ENSG00000100294,protein_coding -58966,THOC5,ENSG00000100296,protein_coding -59143,MCM5,ENSG00000100297,protein_coding -59305,APOBEC3H,ENSG00000100298,protein_coding -59638,ARSA,ENSG00000100299,protein_coding -59453,TSPO,ENSG00000100300,protein_coding -59146,RASD2,ENSG00000100302,protein_coding -59454,TTLL12,ENSG00000100304,protein_coding -59306,CBX7,ENSG00000100307,protein_coding -59310,PDGFB,ENSG00000100311,protein_coding -59644,ACR,ENSG00000100312,protein_coding -58973,CABP7,ENSG00000100314,protein_coding -59313,RPL3,ENSG00000100316,protein_coding -58974,ZMAT5,ENSG00000100319,protein_coding -59153,RBFOX2,ENSG00000100320,protein_coding -59317,SYNGR1,ENSG00000100321,protein_coding -59319,TAB1,ENSG00000100324,protein_coding -58978,ASCC2,ENSG00000100325,protein_coding -58979,MTMR3,ENSG00000100330,protein_coding -59322,MIEF1,ENSG00000100335,protein_coding -59167,APOL4,ENSG00000100336,protein_coding -59468,PNPLA5,ENSG00000100341,protein_coding -59169,APOL1,ENSG00000100342,protein_coding -59469,PNPLA3,ENSG00000100344,protein_coding -59170,MYH9,ENSG00000100345,protein_coding -59326,CACNA1I,ENSG00000100346,protein_coding -59470,SAMM50,ENSG00000100347,protein_coding -59177,TXN2,ENSG00000100348,protein_coding -59178,FOXRED2,ENSG00000100350,protein_coding -59331,GRAP2,ENSG00000100351,protein_coding -59179,EIF3D,ENSG00000100353,protein_coding -59335,TNRC6B,ENSG00000100354,protein_coding -59339,SGSM3,ENSG00000100359,protein_coding -59186,IFT27,ENSG00000100360,protein_coding -59188,PVALB,ENSG00000100362,protein_coding -59499,KIAA0930,ENSG00000100364,protein_coding -59191,NCF4,ENSG00000100365,protein_coding -59192,CSF2RB,ENSG00000100368,protein_coding -59349,SLC25A17,ENSG00000100372,protein_coding -59503,UPK3A,ENSG00000100373,protein_coding -59504,FAM118A,ENSG00000100376,protein_coding -59200,KCTD17,ENSG00000100379,protein_coding -59353,ST13,ENSG00000100380,protein_coding -59204,IL2RB,ENSG00000100385,protein_coding -59358,RBX1,ENSG00000100387,protein_coding -59364,EP300,ENSG00000100393,protein_coding -59369,L3MBTL2,ENSG00000100395,protein_coding -59371,CHADL,ENSG00000100399,protein_coding -59372,RANGAP1,ENSG00000100401,protein_coding -59374,ZC3H7B,ENSG00000100403,protein_coding -59379,PHF5A,ENSG00000100410,protein_coding -59380,ACO2,ENSG00000100412,protein_coding -59381,POLR3H,ENSG00000100413,protein_coding -59538,TRMU,ENSG00000100416,protein_coding -59384,PMM1,ENSG00000100417,protein_coding -59385,DESI1,ENSG00000100418,protein_coding -59543,CERK,ENSG00000100422,protein_coding -59584,BRD1,ENSG00000100425,protein_coding -59591,ZBED4,ENSG00000100426,protein_coding -59600,MLC1,ENSG00000100427,protein_coding -59611,HDAC10,ENSG00000100429,protein_coding -43481,KCNK10,ENSG00000100433,protein_coding -42272,ABHD4,ENSG00000100439,protein_coding -42398,KHNYN,ENSG00000100441,protein_coding -42680,FKBP3,ENSG00000100442,protein_coding -42399,SDR39U1,ENSG00000100445,protein_coding -42402,CTSG,ENSG00000100448,protein_coding -42404,GZMH,ENSG00000100450,protein_coding -42405,GZMB,ENSG00000100453,protein_coding -42287,RBM23,ENSG00000100461,protein_coding -42289,PRMT5,ENSG00000100462,protein_coding -42469,COCH,ENSG00000100473,protein_coding -42475,AP4S1,ENSG00000100478,protein_coding -42724,POLE2,ENSG00000100479,protein_coding -42747,VCPKMT,ENSG00000100483,protein_coding -42748,SOS2,ENSG00000100485,protein_coding -42753,CDKL1,ENSG00000100490,protein_coding -42765,NIN,ENSG00000100503,protein_coding -42771,PYGL,ENSG00000100504,protein_coding -42775,TRIM9,ENSG00000100505,protein_coding -42815,PSMC6,ENSG00000100519,protein_coding -42817,GNPNAT1,ENSG00000100522,protein_coding -42827,DDHD1,ENSG00000100523,protein_coding -42840,CDKN3,ENSG00000100526,protein_coding -42841,CNIH1,ENSG00000100528,protein_coding -42844,CGRRF1,ENSG00000100532,protein_coding -43087,ATP6V1D,ENSG00000100554,protein_coding -42905,CCDC198,ENSG00000100557,protein_coding -43090,PLEK2,ENSG00000100558,protein_coding -43094,PIGH,ENSG00000100564,protein_coding -43348,LRRC74A,ENSG00000100565,protein_coding -42917,PSMA3,ENSG00000100567,protein_coding -43101,VTI1B,ENSG00000100568,protein_coding -42927,TIMM9,ENSG00000100575,protein_coding -43372,GSTZ1,ENSG00000100577,protein_coding -42928,KIAA0586,ENSG00000100578,protein_coding -43373,TMED8,ENSG00000100580,protein_coding -43375,SAMD15,ENSG00000100583,protein_coding -43378,AHSA1,ENSG00000100591,protein_coding -42939,DAAM1,ENSG00000100592,protein_coding -43380,ISM2,ENSG00000100593,protein_coding -43381,SPTLC2,ENSG00000100596,protein_coding -43565,RIN3,ENSG00000100599,protein_coding -43566,LGMN,ENSG00000100600,protein_coding -43384,ALKBH1,ENSG00000100601,protein_coding -43388,SNW1,ENSG00000100603,protein_coding -43570,CHGA,ENSG00000100604,protein_coding -43571,ITPK1,ENSG00000100605,protein_coding -42951,DHRS7,ENSG00000100612,protein_coding -42956,PPM1A,ENSG00000100614,protein_coding -42969,SIX4,ENSG00000100625,protein_coding -43142,GALNT16,ENSG00000100626,protein_coding -43592,ASB2,ENSG00000100628,protein_coding -43409,CEP128,ENSG00000100629,protein_coding -43144,ERH,ENSG00000100632,protein_coding -42986,HIF1A,ENSG00000100644,protein_coding -43151,SUSD6,ENSG00000100647,protein_coding -43153,SRSF5,ENSG00000100650,protein_coding -43154,SLC10A1,ENSG00000100652,protein_coding -43922,EIF5,ENSG00000100664,protein_coding -43611,SERPINA4,ENSG00000100665,protein_coding -43158,SLC8A3,ENSG00000100678,protein_coding -43626,DICER1,ENSG00000100697,protein_coding -43944,ZFYVE21,ENSG00000100711,protein_coding -43032,MTHFD1,ENSG00000100714,protein_coding -43647,TCL1A,ENSG00000100721,protein_coding -43487,ZC3H14,ENSG00000100722,protein_coding -46567,TELO2,ENSG00000100726,protein_coding -43186,PCNX1,ENSG00000100731,protein_coding -43658,BDKRB1,ENSG00000100739,protein_coding -43662,GSKIP,ENSG00000100744,protein_coding -43674,VRK1,ENSG00000100749,protein_coding -43516,PSMC1,ENSG00000100764,protein_coding -43223,PAPLN,ENSG00000100767,protein_coding -43534,RPS6KA5,ENSG00000100784,protein_coding -43545,PPP4R3A,ENSG00000100796,protein_coding -42296,C14orf93,ENSG00000100802,protein_coding -42298,PSMB5,ENSG00000100804,protein_coding -43724,YY1,ENSG00000100811,protein_coding -42302,ACIN1,ENSG00000100813,protein_coding -42039,CCNB1IP1,ENSG00000100814,protein_coding -43556,TRIP11,ENSG00000100815,protein_coding -42053,APEX1,ENSG00000100823,protein_coding -42316,PABPN1,ENSG00000100836,protein_coding -42318,EFS,ENSG00000100842,protein_coding -42499,ARHGAP5,ENSG00000100852,protein_coding -43890,CINP,ENSG00000100865,protein_coding -42336,DHRS2,ENSG00000100867,protein_coding -42538,SRP54,ENSG00000100883,protein_coding -42351,CPNE6,ENSG00000100884,protein_coding -42113,CHD8,ENSG00000100888,protein_coding -42353,PCK2,ENSG00000100889,protein_coding -42542,KIAA0391,ENSG00000100890,protein_coding -42354,DCAF11,ENSG00000100897,protein_coding -42550,PSMA6,ENSG00000100902,protein_coding -42553,NFKBIA,ENSG00000100906,protein_coding -42358,EMC9,ENSG00000100908,protein_coding -42360,PSME2,ENSG00000100911,protein_coding -42564,BRMS1L,ENSG00000100916,protein_coding -42366,REC8,ENSG00000100918,protein_coding -42370,TM9SF1,ENSG00000100926,protein_coding -42617,SEC23A,ENSG00000100934,protein_coding -42380,GMPR2,ENSG00000100938,protein_coding -42626,PNN,ENSG00000100941,protein_coding -42383,RABGGTA,ENSG00000100949,protein_coding -42395,NFATC4,ENSG00000100968,protein_coding -54303,PLTP,ENSG00000100979,protein_coding -54305,PCIF1,ENSG00000100982,protein_coding -54003,GSS,ENSG00000100983,protein_coding -54308,MMP9,ENSG00000100985,protein_coding -53790,VSX1,ENSG00000100987,protein_coding -54007,TRPC4AP,ENSG00000100991,protein_coding -53800,PYGB,ENSG00000100994,protein_coding -53803,ABHD12,ENSG00000100997,protein_coding -54011,PROCR,ENSG00000101000,protein_coding -53805,GINS1,ENSG00000101003,protein_coding -53806,NINL,ENSG00000101004,protein_coding -54313,CD40,ENSG00000101017,protein_coding -54022,UQCC1,ENSG00000101019,protein_coding -54338,ZMYND8,ENSG00000101040,protein_coding -54201,SGK2,ENSG00000101049,protein_coding -54203,IFT52,ENSG00000101052,protein_coding -54205,MYBL2,ENSG00000101057,protein_coding -54217,R3HDML,ENSG00000101074,protein_coding -54220,HNF4A,ENSG00000101076,protein_coding -54071,NDRG3,ENSG00000101079,protein_coding -54069,SLA2,ENSG00000101082,protein_coding -54068,RAB5IF,ENSG00000101084,protein_coding -54440,NFATC2,ENSG00000101096,protein_coding -54236,RIMS4,ENSG00000101098,protein_coding -54240,PABPC1L,ENSG00000101104,protein_coding -54243,STK4,ENSG00000101109,protein_coding -54444,SALL4,ENSG00000101115,protein_coding -54431,ADNP,ENSG00000101126,protein_coding -54482,PFDN4,ENSG00000101132,protein_coding -54484,DOK5,ENSG00000101134,protein_coding -54499,CSTF1,ENSG00000101138,protein_coding -54520,BMP7,ENSG00000101144,protein_coding -54527,RAE1,ENSG00000101146,protein_coding -54720,TPD52L2,ENSG00000101150,protein_coding -54721,DNAJC5,ENSG00000101152,protein_coding -54574,NELFCD,ENSG00000101158,protein_coding -54575,CTSZ,ENSG00000101160,protein_coding -54734,PRPF6,ENSG00000101161,protein_coding -54576,TUBB1,ENSG00000101162,protein_coding -54578,PRELID3B,ENSG00000101166,protein_coding -54621,HRH3,ENSG00000101180,protein_coding -54620,MTG2,ENSG00000101181,protein_coding -54618,PSMA7,ENSG00000101182,protein_coding -54647,SLCO4A1,ENSG00000101187,protein_coding -54652,NTSR1,ENSG00000101188,protein_coding -54655,MRGBP,ENSG00000101189,protein_coding -54659,TCFL5,ENSG00000101190,protein_coding -54662,DIDO1,ENSG00000101191,protein_coding -54664,GID8,ENSG00000101193,protein_coding -54665,SLC17A9,ENSG00000101194,protein_coding -54680,BIRC7,ENSG00000101197,protein_coding -54682,NKAIN4,ENSG00000101198,protein_coding -54684,ARFGAP1,ENSG00000101199,protein_coding -53392,AVP,ENSG00000101200,protein_coding -54686,COL20A1,ENSG00000101203,protein_coding -54688,CHRNA4,ENSG00000101204,protein_coding -54693,EEF1A2,ENSG00000101210,protein_coding -54696,PTK6,ENSG00000101213,protein_coding -54701,GMEB2,ENSG00000101216,protein_coding -53413,C20orf27,ENSG00000101220,protein_coding -53414,SPEF1,ENSG00000101222,protein_coding -53416,CDC25B,ENSG00000101224,protein_coding -53564,ISM1,ENSG00000101230,protein_coding -53426,RNF24,ENSG00000101236,protein_coding -54707,ARFRP1,ENSG00000101246,protein_coding -53571,NDUFAF5,ENSG00000101247,protein_coding -53572,SEL1L2,ENSG00000101251,protein_coding -53307,TRIB3,ENSG00000101255,protein_coding -53442,RASSF2,ENSG00000101265,protein_coding -53311,CSNK2A1,ENSG00000101266,protein_coding -53316,SLC52A3,ENSG00000101276,protein_coding -53319,ANGPT4,ENSG00000101280,protein_coding -53320,RSPO4,ENSG00000101282,protein_coding -53455,CDS2,ENSG00000101290,protein_coding -53457,PROKR2,ENSG00000101292,protein_coding -53882,HM13,ENSG00000101294,protein_coding -53328,SNPH,ENSG00000101298,protein_coding -53897,MYLK2,ENSG00000101306,protein_coding -53342,SIRPB1,ENSG00000101307,protein_coding -53650,SEC23B,ENSG00000101310,protein_coding -53484,FERMT1,ENSG00000101311,protein_coding -53501,HAO1,ENSG00000101323,protein_coding -53356,PDYN,ENSG00000101327,protein_coding -53907,CCM2L,ENSG00000101331,protein_coding -53511,PLCB4,ENSG00000101333,protein_coding -54064,MYL9,ENSG00000101335,protein_coding -53909,HCK,ENSG00000101336,protein_coding -53910,TM9SF4,ENSG00000101337,protein_coding -54076,TLDC2,ENSG00000101342,protein_coding -53673,CRNKL1,ENSG00000101343,protein_coding -53915,POFUT1,ENSG00000101346,protein_coding -54077,SAMHD1,ENSG00000101347,protein_coding -53514,PAK5,ENSG00000101349,protein_coding -53918,KIF3B,ENSG00000101350,protein_coding -54082,MROH8,ENSG00000101353,protein_coding -53371,NOP56,ENSG00000101361,protein_coding -54086,MANBAL,ENSG00000101363,protein_coding -53378,IDH3B,ENSG00000101365,protein_coding -53933,MAPRE1,ENSG00000101367,protein_coding -53534,JAG1,ENSG00000101384,protein_coding -53953,CDK5RAP1,ENSG00000101391,protein_coding -53954,SNTA1,ENSG00000101400,protein_coding -53391,OXT,ENSG00000101405,protein_coding -54101,TTI1,ENSG00000101407,protein_coding -53961,E2F1,ENSG00000101412,protein_coding -54102,RPRD1B,ENSG00000101413,protein_coding -53962,PXMP4,ENSG00000101417,protein_coding -53967,CHMP4B,ENSG00000101421,protein_coding -54112,BPI,ENSG00000101425,protein_coding -53756,CST9L,ENSG00000101435,protein_coding -54134,SLC32A1,ENSG00000101438,protein_coding -53759,CST3,ENSG00000101439,protein_coding -53977,ASIP,ENSG00000101440,protein_coding -53763,CST4,ENSG00000101441,protein_coding -54135,ACTR5,ENSG00000101442,protein_coding -54267,WFDC2,ENSG00000101443,protein_coding -53981,AHCY,ENSG00000101444,protein_coding -54137,PPP1R16B,ENSG00000101445,protein_coding -54270,SPINT3,ENSG00000101446,protein_coding -54139,FAM83D,ENSG00000101447,protein_coding -54275,EPPIN,ENSG00000101448,protein_coding -54142,DHX35,ENSG00000101452,protein_coding -54291,DNTTIP1,ENSG00000101457,protein_coding -53994,MAP1LC3A,ENSG00000101460,protein_coding -53780,SYNDIG1,ENSG00000101463,protein_coding -53995,PIGU,ENSG00000101464,protein_coding -54293,TNNC2,ENSG00000101470,protein_coding -54295,ACOT8,ENSG00000101473,protein_coding -53785,APMAP,ENSG00000101474,protein_coding -52692,CELF4,ENSG00000101489,protein_coding -53208,ZNF516,ENSG00000101493,protein_coding -53024,CDH20,ENSG00000101542,protein_coding -53289,ADNP2,ENSG00000101544,protein_coding -53286,RBFA,ENSG00000101546,protein_coding -52061,USP14,ENSG00000101557,protein_coding -52258,VAPA,ENSG00000101558,protein_coding -52103,METTL4,ENSG00000101574,protein_coding -52116,LPIN2,ENSG00000101577,protein_coding -52112,SMCHD1,ENSG00000101596,protein_coding -52124,MYOM1,ENSG00000101605,protein_coding -52128,MYL12A,ENSG00000101608,protein_coding -52340,CEP76,ENSG00000101624,protein_coding -52769,ST8SIA5,ENSG00000101638,protein_coding -52350,CEP192,ENSG00000101639,protein_coding -52375,RNMT,ENSG00000101654,protein_coding -52818,SMAD7,ENSG00000101665,protein_coding -52840,LIPG,ENSG00000101670,protein_coding -52197,LAMA1,ENSG00000101680,protein_coding -52613,RNF125,ENSG00000101695,protein_coding -52232,ANKRD12,ENSG00000101745,protein_coding -52641,NOL4,ENSG00000101746,protein_coding -52899,POLI,ENSG00000101751,protein_coding -52447,MIB1,ENSG00000101752,protein_coding -52476,RBBP8,ENSG00000101773,protein_coding -52485,RIOK3,ENSG00000101782,protein_coding -25943,CSTF2,ENSG00000101811,protein_coding -26071,H2BFM,ENSG00000101812,protein_coding -24604,MXRA5,ENSG00000101825,protein_coding -26120,VSIG1,ENSG00000101842,protein_coding -26121,PSMD10,ENSG00000101843,protein_coding -26122,ATG4A,ENSG00000101844,protein_coding -24630,STS,ENSG00000101846,protein_coding -24663,TBL1X,ENSG00000101849,protein_coding -24664,GPR143,ENSG00000101850,protein_coding -26266,PGRMC1,ENSG00000101856,protein_coding -24865,POLA1,ENSG00000101868,protein_coding -24675,MID1,ENSG00000101871,protein_coding -26292,NKAP,ENSG00000101882,protein_coding -26298,RHOXF1,ENSG00000101883,protein_coding -26136,NXT2,ENSG00000101888,protein_coding -26135,GUCY2F,ENSG00000101890,protein_coding -26307,ATP1B4,ENSG00000101892,protein_coding -53884,MCTS2P,ENSG00000101898,protein_coding -26166,ALG13,ENSG00000101901,protein_coding -24696,PRPS2,ENSG00000101911,protein_coding -24701,TLR8,ENSG00000101916,protein_coding -26521,MOSPD1,ENSG00000101928,protein_coding -26146,AMMECR1,ENSG00000101935,protein_coding -26154,CHRDL1,ENSG00000101938,protein_coding -25223,WDR13,ENSG00000101940,protein_coding -25226,SUV39H1,ENSG00000101945,protein_coding -25284,PAGE4,ENSG00000101951,protein_coding -24999,SRPX,ENSG00000101955,protein_coding -24724,GLRA2,ENSG00000101958,protein_coding -26368,XIAP,ENSG00000101966,protein_coding -26373,STAG2,ENSG00000101972,protein_coding -26625,ATP11C,ENSG00000101974,protein_coding -26623,MCF2,ENSG00000101977,protein_coding -26622,F9,ENSG00000101981,protein_coding -26865,ABCD1,ENSG00000101986,protein_coding -25262,CCDC22,ENSG00000101997,protein_coding -25260,CACNA1F,ENSG00000102001,protein_coding -25258,SYP,ENSG00000102003,protein_coding -25256,PLP2,ENSG00000102007,protein_coding -24735,BMX,ENSG00000102010,protein_coding -26215,LUZP4,ENSG00000102021,protein_coding -26220,PLS3,ENSG00000102024,protein_coding -26878,NAA10,ENSG00000102030,protein_coding -26879,RENBP,ENSG00000102032,protein_coding -26428,ELF4,ENSG00000102034,protein_coding -26414,SMARCA1,ENSG00000102038,protein_coding -25500,MTMR8,ENSG00000102043,protein_coding -24730,ASB9,ENSG00000102048,protein_coding -25513,ZC3H12B,ENSG00000102053,protein_coding -24763,RBBP7,ENSG00000102054,protein_coding -25076,PPP1R2C,ENSG00000102055,protein_coding -25243,KCND1,ENSG00000102057,protein_coding -26888,OPN1LW,ENSG00000102076,protein_coding -26435,SLC25A14,ENSG00000102078,protein_coding -26732,FMR1,ENSG00000102081,protein_coding -25239,PIM2,ENSG00000102096,protein_coding -24784,SCML2,ENSG00000102098,protein_coding -25238,SLC35A2,ENSG00000102100,protein_coding -25236,PQBP1,ENSG00000102103,protein_coding -24789,RS1,ENSG00000102104,protein_coding -25235,PCSK1N,ENSG00000102109,protein_coding -26900,EMD,ENSG00000102119,protein_coding -26905,TAZ,ENSG00000102125,protein_coding -26029,RAB40AL,ENSG00000102128,protein_coding -25765,PGK1,ENSG00000102144,protein_coding -25232,GATA1,ENSG00000102145,protein_coding -25760,MAGT1,ENSG00000102158,protein_coding -24828,SMS,ENSG00000102172,protein_coding -24829,PHEX,ENSG00000102174,protein_coding -26913,UBL4A,ENSG00000102178,protein_coding -26777,CD99L2,ENSG00000102181,protein_coding -39534,EEA1,ENSG00000102189,protein_coding -26787,GPR50,ENSG00000102195,protein_coding -25135,RP2,ENSG00000102218,protein_coding -25137,JADE3,ENSG00000102221,protein_coding -25146,CDK16,ENSG00000102225,protein_coding -25147,USP11,ENSG00000102226,protein_coding -24861,PCYT1B,ENSG00000102230,protein_coding -26581,BRS3,ENSG00000102239,protein_coding -26582,HTATSF1,ENSG00000102241,protein_coding -26583,VGLL1,ENSG00000102243,protein_coding -26588,CD40LG,ENSG00000102245,protein_coding -25162,TIMP1,ENSG00000102265,protein_coding -25848,KLHL4,ENSG00000102271,protein_coding -26801,GABRE,ENSG00000102287,protein_coding -25876,PCDH11X,ENSG00000102290,protein_coding -25419,FGD1,ENSG00000102302,protein_coding -25643,PIN4,ENSG00000102309,protein_coding -25213,PORCN,ENSG00000102312,protein_coding -25422,ITIH6,ENSG00000102313,protein_coding -25423,MAGED2,ENSG00000102316,protein_coding -25219,RBM3,ENSG00000102317,protein_coding -25459,KLF8,ENSG00000102349,protein_coding -25938,SRPX2,ENSG00000102359,protein_coding -25939,SYTL4,ENSG00000102362,protein_coding -25734,ZDHHC15,ENSG00000102383,protein_coding -25955,CENPI,ENSG00000102384,protein_coding -25957,DRP2,ENSG00000102385,protein_coding -25958,TAF7L,ENSG00000102387,protein_coding -25744,PBDC1,ENSG00000102390,protein_coding -25966,GLA,ENSG00000102393,protein_coding -25974,ARMCX3,ENSG00000102401,protein_coding -26037,BEX4,ENSG00000102409,protein_coding -41102,RUBCNL,ENSG00000102445,protein_coding -41735,NALCN,ENSG00000102452,protein_coding -41737,FGF14,ENSG00000102466,protein_coding -41115,HTR2A,ENSG00000102468,protein_coding -41494,NDFIP2,ENSG00000102471,protein_coding -41806,TNFSF13B,ENSG00000102524,protein_coding -41147,FNDC3A,ENSG00000102531,protein_coding -41153,MLNR,ENSG00000102539,protein_coding -41155,CDADC1,ENSG00000102543,protein_coding -41156,CAB39L,ENSG00000102547,protein_coding -41405,KLF5,ENSG00000102554,protein_coding -41675,STK24,ENSG00000102572,protein_coding -55382,ACP5,ENSG00000102575,protein_coding -41637,DNAJC3,ENSG00000102580,protein_coding -41642,UGGT2,ENSG00000102595,protein_coding -41854,ARHGEF7,ENSG00000102606,protein_coding -40657,FGF9,ENSG00000102678,protein_coding -40678,SGCG,ENSG00000102683,protein_coding -40707,PARP4,ENSG00000102699,protein_coding -40933,SUPT20H,ENSG00000102710,protein_coding -40978,MRPS31,ENSG00000102738,protein_coding -40980,SLC25A15,ENSG00000102743,protein_coding -41164,KPNA3,ENSG00000102753,protein_coding -40801,FLT1,ENSG00000102755,protein_coding -41005,RGCC,ENSG00000102760,protein_coding -41006,VWA8,ENSG00000102763,protein_coding -41013,DGKH,ENSG00000102780,protein_coding -40828,KATNAL1,ENSG00000102781,protein_coding -41203,INTS6,ENSG00000102786,protein_coding -41450,ACOD1,ENSG00000102794,protein_coding -41215,DHRS12,ENSG00000102796,protein_coding -40848,MEDAG,ENSG00000102802,protein_coding -41054,TSC22D1,ENSG00000102804,protein_coding -41453,CLN5,ENSG00000102805,protein_coding -41251,OLFM4,ENSG00000102837,protein_coding -46508,MSLN,ENSG00000102854,protein_coding -46804,MGRN1,ENSG00000102858,protein_coding -47561,ZNF629,ENSG00000102870,protein_coding -48290,TRADD,ENSG00000102871,protein_coding -48293,HSF4,ENSG00000102878,protein_coding -47498,CORO1A,ENSG00000102879,protein_coding -47497,MAPK3,ENSG00000102882,protein_coding -47494,GDPD3,ENSG00000102886,protein_coding -48298,ELMO3,ENSG00000102890,protein_coding -48088,MT4,ENSG00000102891,protein_coding -47882,PHKB,ENSG00000102893,protein_coding -47201,LYRM1,ENSG00000102897,protein_coding -48339,NUTF2,ENSG00000102898,protein_coding -48109,NUP93,ENSG00000102900,protein_coding -48337,CENPT,ENSG00000102901,protein_coding -48336,TSNAXIP1,ENSG00000102904,protein_coding -48428,NFAT5,ENSG00000102908,protein_coding -47897,LONP2,ENSG00000102910,protein_coding -47905,AC026470.1,ENSG00000102921,protein_coding -47920,CBLN1,ENSG00000102924,protein_coding -48128,ARL2BP,ENSG00000102931,protein_coding -48131,PLLP,ENSG00000102934,protein_coding -47927,ZNF423,ENSG00000102935,protein_coding -48134,CCL22,ENSG00000102962,protein_coding -48522,DHODH,ENSG00000102967,protein_coding -48136,CCL17,ENSG00000102970,protein_coding -48326,CTCF,ENSG00000102974,protein_coding -48329,ACD,ENSG00000102977,protein_coding -48140,POLR2C,ENSG00000102978,protein_coding -48330,PARD6A,ENSG00000102981,protein_coding -48516,ZNF821,ENSG00000102984,protein_coding -48161,MMP15,ENSG00000102996,protein_coding -48160,USB1,ENSG00000103005,protein_coding -48425,CYB5B,ENSG00000103018,protein_coding -48170,CCDC113,ENSG00000103021,protein_coding -48171,PRSS54,ENSG00000103023,protein_coding -46586,NME3,ENSG00000103024,protein_coding -48178,NDRG4,ENSG00000103034,protein_coding -48561,PSMD7,ENSG00000103035,protein_coding -48180,SETD6,ENSG00000103037,protein_coding -48187,SLC38A7,ENSG00000103042,protein_coding -48472,VAC14,ENSG00000103043,protein_coding -48407,HAS3,ENSG00000103044,protein_coding -48399,TANGO6,ENSG00000103047,protein_coding -48465,COG4,ENSG00000103051,protein_coding -48379,SMPD3,ENSG00000103056,protein_coding -48374,SLC7A6OS,ENSG00000103061,protein_coding -48372,SLC7A6,ENSG00000103064,protein_coding -48370,PLA2G15,ENSG00000103066,protein_coding -48367,ESRP2,ENSG00000103067,protein_coding -48579,FA2H,ENSG00000103089,protein_coding -48581,WDR59,ENSG00000103091,protein_coding -48638,MON1B,ENSG00000103111,protein_coding -48703,CMC2,ENSG00000103121,protein_coding -46466,AXIN1,ENSG00000103126,protein_coding -46719,HCFC1R1,ENSG00000103145,protein_coding -46447,NPRL3,ENSG00000103148,protein_coding -48761,MLYCD,ENSG00000103150,protein_coding -46446,MPG,ENSG00000103152,protein_coding -48765,NECAB2,ENSG00000103154,protein_coding -48773,HSDL1,ENSG00000103160,protein_coding -48775,TAF1C,ENSG00000103168,protein_coding -46826,NAGPA,ENSG00000103174,protein_coding -48781,WFDC1,ENSG00000103175,protein_coding -46824,SEC14L5,ENSG00000103184,protein_coding -48788,COTL1,ENSG00000103187,protein_coding -48791,USP10,ENSG00000103194,protein_coding -48793,CRISPLD2,ENSG00000103196,protein_coding -46621,TSC2,ENSG00000103197,protein_coding -46813,ZNF500,ENSG00000103199,protein_coding -46470,NME4,ENSG00000103202,protein_coding -47068,ABCC1,ENSG00000103222,protein_coding -47072,NOMO3,ENSG00000103226,protein_coding -46517,LMF1,ENSG00000103227,protein_coding -48846,FOXF1,ENSG00000103241,protein_coding -46507,CIAO3,ENSG00000103245,protein_coding -48849,MTHFSD,ENSG00000103248,protein_coding -46561,CLCN7,ENSG00000103249,protein_coding -46506,HAGHL,ENSG00000103253,protein_coding -46504,FAM173A,ENSG00000103254,protein_coding -48891,SLC7A5,ENSG00000103257,protein_coding -46503,METRN,ENSG00000103260,protein_coding -48875,FBXO31,ENSG00000103264,protein_coding -46496,STUB1,ENSG00000103266,protein_coding -46493,RHBDL1,ENSG00000103269,protein_coding -46921,NUBP1,ENSG00000103274,protein_coding -46548,UBE2I,ENSG00000103275,protein_coding -47206,ZP2,ENSG00000103310,protein_coding -46741,MEFV,ENSG00000103313,protein_coding -47208,CRYM,ENSG00000103316,protein_coding -47245,EEF2K,ENSG00000103319,protein_coding -46477,CAPN15,ENSG00000103326,protein_coding -48920,PIEZO1,ENSG00000103335,protein_coding -46960,GSPT1,ENSG00000103342,protein_coding -46757,ZNF174,ENSG00000103343,protein_coding -46764,CLUAP1,ENSG00000103351,protein_coding -47279,UBFD1,ENSG00000103353,protein_coding -46695,PRSS33,ENSG00000103355,protein_coding -47277,EARS2,ENSG00000103356,protein_coding -46693,ELOB,ENSG00000103363,protein_coding -47275,GGA2,ENSG00000103365,protein_coding -47320,AQP8,ENSG00000103375,protein_coding -46981,CPPED1,ENSG00000103381,protein_coding -47263,USP31,ENSG00000103404,protein_coding -46797,HMOX2,ENSG00000103415,protein_coding -46792,DNAJA3,ENSG00000103423,protein_coding -46788,CORO7-PAM16,ENSG00000103426,protein_coding -47011,BFAR,ENSG00000103429,protein_coding -47977,SALL1,ENSG00000103449,protein_coding -47996,TOX3,ENSG00000103460,protein_coding -48021,RBL2,ENSG00000103479,protein_coding -47456,QPRT,ENSG00000103485,protein_coding -47097,XYLT1,ENSG00000103489,protein_coding -47603,PYCARD,ENSG00000103490,protein_coding -48028,RPGRIP1L,ENSG00000103494,protein_coding -47463,MAZ,ENSG00000103495,protein_coding -47581,STX4,ENSG00000103496,protein_coding -47472,CDIPT,ENSG00000103502,protein_coding -47591,BCKDK,ENSG00000103507,protein_coding -47592,KAT8,ENSG00000103510,protein_coding -47021,NOMO1,ENSG00000103512,protein_coding -47348,IL21R,ENSG00000103522,protein_coding -47150,SYT17,ENSG00000103528,protein_coding -47157,TMC5,ENSG00000103534,protein_coding -47164,CCP110,ENSG00000103540,protein_coding -47165,VPS35L,ENSG00000103544,protein_coding -48066,SLC6A2,ENSG00000103546,protein_coding -47559,RNF40,ENSG00000103549,protein_coding -47167,KNOP1,ENSG00000103550,protein_coding -45292,AQP9,ENSG00000103569,protein_coding -45532,AAGAB,ENSG00000103591,protein_coding -45534,IQCH,ENSG00000103599,protein_coding -45411,LACTB,ENSG00000103642,protein_coding -45555,CORO2B,ENSG00000103647,protein_coding -45711,CSK,ENSG00000103653,protein_coding -45422,HERC1,ENSG00000103657,protein_coding -45437,TRIP4,ENSG00000103671,protein_coding -45460,MTFMT,ENSG00000103707,protein_coding -45464,RASL12,ENSG00000103710,protein_coding -45957,AP3B2,ENSG00000103723,protein_coding -45829,ACSBG1,ENSG00000103740,protein_coding -45480,IGDCC4,ENSG00000103742,protein_coding -45493,RAB11A,ENSG00000103769,protein_coding -45860,CTSH,ENSG00000103811,protein_coding -46346,TTC23,ENSG00000103852,protein_coding -45666,CD276,ENSG00000103855,protein_coding -45892,FAH,ENSG00000103876,protein_coding -45907,CEMIP,ENSG00000103888,protein_coding -44894,RPAP1,ENSG00000103932,protein_coding -45969,HOMER2,ENSG00000103942,protein_coding -44911,EHD4,ENSG00000103966,protein_coding -44922,TMEM87A,ENSG00000103978,protein_coding -44927,ZNF106,ENSG00000103994,protein_coding -45103,CEP152,ENSG00000103995,protein_coding -45130,ATP8B4,ENSG00000104043,protein_coding -44533,OCA2,ENSG00000104044,protein_coding -45128,DTWD1,ENSG00000104047,protein_coding -44956,TGM5,ENSG00000104055,protein_coding -44576,FAM189A1,ENSG00000104059,protein_coding -45137,GABPB1,ENSG00000104064,protein_coding -44585,TJP1,ENSG00000104067,protein_coding -44817,BMF,ENSG00000104081,protein_coding -45173,DMXL2,ENSG00000104093,protein_coding -45175,SCG3,ENSG00000104112,protein_coding -44860,DNAJC17,ENSG00000104129,protein_coding -45005,EIF3J,ENSG00000104131,protein_coding -45007,SPG11,ENSG00000104133,protein_coding -44866,RHOV,ENSG00000104140,protein_coding -44868,VPS18,ENSG00000104142,protein_coding -44886,OIP5,ENSG00000104147,protein_coding -45054,SLC30A4,ENSG00000104154,protein_coding -45060,BLOC1S6,ENSG00000104164,protein_coding -45090,MYEF2,ENSG00000104177,protein_coding -28239,SGK3,ENSG00000104205,protein_coding -27396,PDGFRL,ENSG00000104213,protein_coding -28248,CSPP1,ENSG00000104218,protein_coding -27386,ZDHHC2,ENSG00000104219,protein_coding -27777,BRF2,ENSG00000104221,protein_coding -27587,TRIM35,ENSG00000104228,protein_coding -28477,ZFAND1,ENSG00000104231,protein_coding -28061,RP1,ENSG00000104237,protein_coding -28515,CA2,ENSG00000104267,protein_coding -27625,FZD3,ENSG00000104290,protein_coding -27630,INTS9,ENSG00000104299,protein_coding -28570,RIPK2,ENSG00000104312,protein_coding -28308,EYA1,ENSG00000104313,protein_coding -28575,NBN,ENSG00000104320,protein_coding -28316,TRPA1,ENSG00000104321,protein_coding -28696,CPQ,ENSG00000104324,protein_coding -28576,DECR1,ENSG00000104325,protein_coding -28577,CALB1,ENSG00000104327,protein_coding -28100,IMPAD1,ENSG00000104331,protein_coding -27850,SFRP1,ENSG00000104332,protein_coding -28706,LAPTM4B,ENSG00000104341,protein_coding -28349,UBE2W,ENSG00000104343,protein_coding -28718,POP1,ENSG00000104356,protein_coding -28719,NIPAL2,ENSG00000104361,protein_coding -27882,IKBKB,ENSG00000104365,protein_coding -27880,PLAT,ENSG00000104368,protein_coding -28365,JPH1,ENSG00000104369,protein_coding -27885,DKK4,ENSG00000104371,protein_coding -28721,STK3,ENSG00000104375,protein_coding -28366,GDAP1,ENSG00000104381,protein_coding -28146,RAB2A,ENSG00000104388,protein_coding -28905,EIF3E,ENSG00000104408,protein_coding -28908,EMC2,ENSG00000104412,protein_coding -28654,ESRP1,ENSG00000104413,protein_coding -29196,CCN4,ENSG00000104415,protein_coding -29197,NDRG1,ENSG00000104419,protein_coding -28407,ZC2HC1A,ENSG00000104427,protein_coding -28408,IL7,ENSG00000104432,protein_coding -28416,STMN2,ENSG00000104435,protein_coding -28217,ARMC1,ENSG00000104442,protein_coding -28956,TRPS1,ENSG00000104447,protein_coding -28758,SPAG1,ENSG00000104450,protein_coding -29262,CHRAC1,ENSG00000104472,protein_coding -28808,NCALD,ENSG00000104490,protein_coding -28480,SNX16,ENSG00000104497,protein_coding -29322,GML,ENSG00000104499,protein_coding -28817,UBR5,ENSG00000104517,protein_coding -29352,GSDMD,ENSG00000104518,protein_coding -29361,TSTA3,ENSG00000104522,protein_coding -29360,PYCR3,ENSG00000104524,protein_coding -29358,EEF1D,ENSG00000104529,protein_coding -29063,ANXA13,ENSG00000104537,protein_coding -29094,SQLE,ENSG00000104549,protein_coding -27434,SH2D4A,ENSG00000104611,protein_coding -27438,INTS10,ENSG00000104613,protein_coding -27199,ERI1,ENSG00000104626,protein_coding -27482,SLC39A14,ENSG00000104635,protein_coding -27259,MTMR9,ENSG00000104643,protein_coding -27660,LEPROTL1,ENSG00000104660,protein_coding -27664,DCTN6,ENSG00000104671,protein_coding -27520,R3HCC1,ENSG00000104679,protein_coding -27681,GSR,ENSG00000104687,protein_coding -27515,TNFRSF10A,ENSG00000104689,protein_coding -27682,UBXN8,ENSG00000104691,protein_coding -27684,PPP2CB,ENSG00000104695,protein_coding -27000,ERICH1,ENSG00000104714,protein_coding -27546,NEFM,ENSG00000104722,protein_coding -27370,TUSC3,ENSG00000104723,protein_coding -27021,ARHGEF10,ENSG00000104728,protein_coding -48887,KLHDC4,ENSG00000104731,protein_coding -27970,MCM4,ENSG00000104738,protein_coding -27831,ADAM2,ENSG00000104755,protein_coding -27559,KCTD9,ENSG00000104756,protein_coding -27405,FGL1,ENSG00000104760,protein_coding -27409,ASAH1,ENSG00000104763,protein_coding -27570,BNIP3L,ENSG00000104765,protein_coding -55452,MAN2B1,ENSG00000104774,protein_coding -56701,KCNN4,ENSG00000104783,protein_coding -56973,TULP2,ENSG00000104804,protein_coding -56974,NUCB1,ENSG00000104805,protein_coding -56977,DHDH,ENSG00000104808,protein_coding -56981,GYS1,ENSG00000104812,protein_coding -56424,MAP4K1,ENSG00000104814,protein_coding -56990,CGB2,ENSG00000104818,protein_coding -56435,ECH1,ENSG00000104823,protein_coding -56438,HNRNPL,ENSG00000104824,protein_coding -56443,NFKBIB,ENSG00000104825,protein_coding -56984,LHB,ENSG00000104826,protein_coding -56986,CGB3,ENSG00000104827,protein_coding -55109,TUBB4A,ENSG00000104833,protein_coding -56445,SARS2,ENSG00000104835,protein_coding -57003,KCNA7,ENSG00000104848,protein_coding -57005,SNRNP70,ENSG00000104852,protein_coding -56772,CLPTM1,ENSG00000104853,protein_coding -56773,RELB,ENSG00000104856,protein_coding -56774,CLASRP,ENSG00000104859,protein_coding -57006,LIN7B,ENSG00000104863,protein_coding -56780,PPP1R37,ENSG00000104866,protein_coding -57039,FCGRT,ENSG00000104870,protein_coding -57025,PIH1D1,ENSG00000104872,protein_coding -56787,CKM,ENSG00000104879,protein_coding -55145,ARHGEF18,ENSG00000104880,protein_coding -56791,PPP1R13L,ENSG00000104881,protein_coding -55146,PEX11G,ENSG00000104883,protein_coding -56790,ERCC2,ENSG00000104884,protein_coding -54895,DOT1L,ENSG00000104885,protein_coding -54897,PLEKHJ1,ENSG00000104886,protein_coding -57024,SLC17A7,ENSG00000104888,protein_coding -55476,RNASEH2A,ENSG00000104889,protein_coding -56789,KLC3,ENSG00000104892,protein_coding -57016,CD37,ENSG00000104894,protein_coding -54900,SF3A2,ENSG00000104897,protein_coding -54901,AMH,ENSG00000104899,protein_coding -57019,DKKL1,ENSG00000104901,protein_coding -55500,LYL1,ENSG00000104903,protein_coding -54904,OAZ1,ENSG00000104904,protein_coding -55501,TRMT1,ENSG00000104907,protein_coding -55505,STX10,ENSG00000104915,protein_coding -55163,RETN,ENSG00000104918,protein_coding -55167,FCER2,ENSG00000104921,protein_coding -56816,DMPK,ENSG00000104936,protein_coding -55171,CLEC4M,ENSG00000104938,protein_coding -56819,RSPH6A,ENSG00000104941,protein_coding -57071,TBC1D17,ENSG00000104946,protein_coding -57073,IL4I1,ENSG00000104951,protein_coding -54944,TLE6,ENSG00000104953,protein_coding -55511,CCDC130,ENSG00000104957,protein_coding -57065,PTOV1,ENSG00000104960,protein_coding -54946,TLE5,ENSG00000104964,protein_coding -56826,NOVA2,ENSG00000104967,protein_coding -54931,SGTA,ENSG00000104969,protein_coding -57450,LILRB1,ENSG00000104972,protein_coding -57062,MED25,ENSG00000104973,protein_coding -57448,LILRA1,ENSG00000104974,protein_coding -55186,SNAPC2,ENSG00000104976,protein_coding -55514,C19orf53,ENSG00000104979,protein_coding -55189,TIMM44,ENSG00000104980,protein_coding -56827,CCDC61,ENSG00000104983,protein_coding -55533,IL27RA,ENSG00000104998,protein_coding -55542,ASF1B,ENSG00000105011,protein_coding -57487,TNNT1,ENSG00000105048,protein_coding -57081,VRK3,ENSG00000105053,protein_coding -55652,FAM32A,ENSG00000105058,protein_coding -57499,PPP6R1,ENSG00000105063,protein_coding -55666,C19orf44,ENSG00000105072,protein_coding -55674,MED26,ENSG00000105085,protein_coding -55283,OLFM2,ENSG00000105088,protein_coding -55607,RASAL3,ENSG00000105122,protein_coding -55600,AKAP8,ENSG00000105127,protein_coding -55596,EPHX3,ENSG00000105131,protein_coding -55589,ILVBL,ENSG00000105135,protein_coding -57643,ZNF419,ENSG00000105136,protein_coding -55588,SYDE1,ENSG00000105137,protein_coding -55586,CASP14,ENSG00000105141,protein_coding -55584,SLC1A6,ENSG00000105143,protein_coding -57618,AURKC,ENSG00000105146,protein_coding -56097,POP4,ENSG00000105171,protein_coding -56101,CCNE1,ENSG00000105173,protein_coding -56106,URI1,ENSG00000105176,protein_coding -56141,PDCD5,ENSG00000105185,protein_coding -56142,ANKRD27,ENSG00000105186,protein_coding -56476,RPS16,ENSG00000105193,protein_coding -56478,TIMM50,ENSG00000105197,protein_coding -56490,LGALS13,ENSG00000105198,protein_coding -56506,FBL,ENSG00000105202,protein_coding -56504,DYRK1B,ENSG00000105204,protein_coding -56501,CLC,ENSG00000105205,protein_coding -56519,CNTD2,ENSG00000105219,protein_coding -56194,GPI,ENSG00000105220,protein_coding -56520,AKT2,ENSG00000105221,protein_coding -56527,PLD3,ENSG00000105223,protein_coding -56531,PRX,ENSG00000105227,protein_coding -54996,PIAS4,ENSG00000105229,protein_coding -56541,NUMBL,ENSG00000105245,protein_coding -55004,EBI3,ENSG00000105246,protein_coding -55006,YJU2,ENSG00000105248,protein_coding -55007,SHD,ENSG00000105251,protein_coding -56322,TBCB,ENSG00000105254,protein_coding -55009,FSD1,ENSG00000105255,protein_coding -56321,POLR2I,ENSG00000105258,protein_coding -56320,OVOL3,ENSG00000105261,protein_coding -56316,CLIP3,ENSG00000105270,protein_coding -54987,ZFR2,ENSG00000105278,protein_coding -56875,SLC1A5,ENSG00000105281,protein_coding -56868,PRKD2,ENSG00000105287,protein_coding -54979,TJP3,ENSG00000105289,protein_coding -56301,APLP1,ENSG00000105290,protein_coding -54976,CACTIN,ENSG00000105298,protein_coding -56891,CCDC9,ENSG00000105321,protein_coding -56576,HNRNPUL1,ENSG00000105323,protein_coding -54964,FZR1,ENSG00000105325,protein_coding -56887,BBC3,ENSG00000105327,protein_coding -56578,TGFB1,ENSG00000105329,protein_coding -29272,DENND3,ENSG00000105339,protein_coding -56590,DMAC2,ENSG00000105341,protein_coding -56603,CEACAM4,ENSG00000105352,protein_coding -55046,PLIN3,ENSG00000105355,protein_coding -57090,MYH14,ENSG00000105357,protein_coding -55301,MRPL4,ENSG00000105364,protein_coding -57187,SIGLEC8,ENSG00000105366,protein_coding -56619,CD79A,ENSG00000105369,protein_coding -57178,LIM2,ENSG00000105370,protein_coding -55306,ICAM4,ENSG00000105371,protein_coding -56617,RPS19,ENSG00000105372,protein_coding -56911,NOP53,ENSG00000105373,protein_coding -57177,NKG7,ENSG00000105374,protein_coding -55307,ICAM5,ENSG00000105376,protein_coding -57172,ETFB,ENSG00000105379,protein_coding -57164,CD33,ENSG00000105383,protein_coding -56608,CEACAM5,ENSG00000105388,protein_coding -56918,CRX,ENSG00000105392,protein_coding -55707,BABAM1,ENSG00000105393,protein_coding -55315,TYK2,ENSG00000105397,protein_coding -56921,SULT2A1,ENSG00000105398,protein_coding -55316,CDC37,ENSG00000105401,protein_coding -56901,NAPA,ENSG00000105402,protein_coding -56622,RABAC1,ENSG00000105404,protein_coding -56624,ATP1A3,ENSG00000105409,protein_coding -56896,MEIS3,ENSG00000105419,protein_coding -55051,PTPRS,ENSG00000105426,protein_coding -56643,CNFN,ENSG00000105427,protein_coding -55055,ZNRF4,ENSG00000105428,protein_coding -56641,MEGF8,ENSG00000105429,protein_coding -56941,KDELR1,ENSG00000105438,protein_coding -56947,CYTH2,ENSG00000105443,protein_coding -56943,GRWD1,ENSG00000105447,protein_coding -56942,GRIN2D,ENSG00000105464,protein_coding -56940,SYNGR4,ENSG00000105467,protein_coding -57113,CLEC11A,ENSG00000105472,protein_coding -56937,CCDC114,ENSG00000105479,protein_coding -56931,CARD8,ENSG00000105483,protein_coding -56927,LIG1,ENSG00000105486,protein_coding -57193,SIGLEC6,ENSG00000105492,protein_coding -57197,ZNF175,ENSG00000105497,protein_coding -56925,PLA2G4C,ENSG00000105499,protein_coding -57200,SIGLEC5,ENSG00000105501,protein_coding -56924,CABP5,ENSG00000105507,protein_coding -57211,HAS1,ENSG00000105509,protein_coding -55359,RAB3D,ENSG00000105514,protein_coding -56957,DBP,ENSG00000105516,protein_coding -55361,TMEM205,ENSG00000105518,protein_coding -55078,CAPS,ENSG00000105519,protein_coding -55363,PLPPR2,ENSG00000105520,protein_coding -56952,FAM83E,ENSG00000105523,protein_coding -56963,RASIP1,ENSG00000105538,protein_coding -54774,THEG,ENSG00000105549,protein_coding -56966,FGF21,ENSG00000105550,protein_coding -56968,BCAT2,ENSG00000105552,protein_coding -54772,MIER2,ENSG00000105556,protein_coding -56971,PLEKHA4,ENSG00000105559,protein_coding -57239,PPP2R1A,ENSG00000105568,protein_coding -55463,TNPO2,ENSG00000105576,protein_coding -55456,WDR83OS,ENSG00000105583,protein_coding -57391,CACNG7,ENSG00000105605,protein_coding -55484,GCDH,ENSG00000105607,protein_coding -57416,LILRB5,ENSG00000105609,protein_coding -55483,KLF1,ENSG00000105610,protein_coding -55481,DNASE2,ENSG00000105612,protein_coding -55479,MAST1,ENSG00000105613,protein_coding -57404,LENG1,ENSG00000105617,protein_coding -57401,PRPF31,ENSG00000105618,protein_coding -57400,TFPT,ENSG00000105619,protein_coding -55744,JAK3,ENSG00000105639,protein_coding -55745,RPL18A,ENSG00000105640,protein_coding -55748,SLC5A5,ENSG00000105641,protein_coding -55750,KCNN1,ENSG00000105642,protein_coding -55752,ARRDC2,ENSG00000105643,protein_coding -55761,PIK3R2,ENSG00000105647,protein_coding -55764,RAB3A,ENSG00000105649,protein_coding -55767,AC005759.1,ENSG00000105650,protein_coding -55780,ISYNA1,ENSG00000105655,protein_coding -55782,ELL,ENSG00000105656,protein_coding -55797,CRTC1,ENSG00000105662,protein_coding -55798,COMP,ENSG00000105664,protein_coding -56280,UPK1A,ENSG00000105668,protein_coding -55803,COPE,ENSG00000105669,protein_coding -55805,DDX49,ENSG00000105671,protein_coding -56278,ETV2,ENSG00000105672,protein_coding -56271,ATP4A,ENSG00000105675,protein_coding -55810,ARMC6,ENSG00000105676,protein_coding -56270,TMEM147,ENSG00000105677,protein_coding -56268,GAPDHS,ENSG00000105679,protein_coding -56251,MAG,ENSG00000105695,protein_coding -55794,AC003112.1,ENSG00000105696,protein_coding -56250,HAMP,ENSG00000105697,protein_coding -56249,USF2,ENSG00000105698,protein_coding -56246,LSR,ENSG00000105699,protein_coding -55788,KXD1,ENSG00000105700,protein_coding -55786,FKBP8,ENSG00000105701,protein_coding -55824,AC004475.1,ENSG00000105705,protein_coding -56232,HPN,ENSG00000105707,protein_coding -55843,ZNF14,ENSG00000105708,protein_coding -56231,SCN1B,ENSG00000105711,protein_coding -55834,PBX4,ENSG00000105717,protein_coding -56636,ERF,ENSG00000105722,protein_coding -56633,GSK3A,ENSG00000105723,protein_coding -55839,ATP13A1,ENSG00000105726,protein_coding -56626,ZNF574,ENSG00000105732,protein_coding -56625,GRIK5,ENSG00000105737,protein_coding -56398,SIPA1L3,ENSG00000105738,protein_coding -55903,ZNF85,ENSG00000105750,protein_coding -56684,ETHE1,ENSG00000105755,protein_coding -56695,CADM4,ENSG00000105767,protein_coding -56700,SMG9,ENSG00000105771,protein_coding -22113,AVL9,ENSG00000105778,protein_coding -23116,RUNDC3B,ENSG00000105784,protein_coding -23142,CFAP69,ENSG00000105792,protein_coding -23147,GTPBP10,ENSG00000105793,protein_coding -23474,RASA4,ENSG00000105808,protein_coding -23184,CDK6,ENSG00000105810,protein_coding -23499,PMPCB,ENSG00000105819,protein_coding -23500,DNAJC2,ENSG00000105821,protein_coding -23202,TFPI2,ENSG00000105825,protein_coding -23207,BET1,ENSG00000105829,protein_coding -23541,NAMPT,ENSG00000105835,protein_coding -21857,TWISTNB,ENSG00000105849,protein_coding -23551,PIK3CG,ENSG00000105851,protein_coding -23232,PON3,ENSG00000105852,protein_coding -23233,PON2,ENSG00000105854,protein_coding -21869,ITGB8,ENSG00000105855,protein_coding -23554,HBP1,ENSG00000105856,protein_coding -23559,DUS4L,ENSG00000105865,protein_coding -21884,SP4,ENSG00000105866,protein_coding -23976,WDR91,ENSG00000105875,protein_coding -21886,DNAH11,ENSG00000105877,protein_coding -23568,CBLL1,ENSG00000105879,protein_coding -23257,DLX5,ENSG00000105880,protein_coding -23992,MTPN,ENSG00000105887,protein_coding -21890,STEAP1B,ENSG00000105889,protein_coding -24006,PTN,ENSG00000105894,protein_coding -21937,MPP6,ENSG00000105926,protein_coding -21940,GSDME,ENSG00000105928,protein_coding -24035,ATP6V0A4,ENSG00000105929,protein_coding -24040,ZC3HAV1,ENSG00000105939,protein_coding -24042,TTC26,ENSG00000105948,protein_coding -22341,OGDH,ENSG00000105953,protein_coding -21948,NPVF,ENSG00000105954,protein_coding -21573,ADAP1,ENSG00000105963,protein_coding -23646,TFEC,ENSG00000105967,protein_coding -22345,H2AFV,ENSG00000105968,protein_coding -23652,CAV2,ENSG00000105971,protein_coding -23654,CAV1,ENSG00000105974,protein_coding -23658,MET,ENSG00000105976,protein_coding -24515,RNF32,ENSG00000105982,protein_coding -24517,LMBR1,ENSG00000105983,protein_coding -23685,WNT2,ENSG00000105989,protein_coding -21980,HOXA1,ENSG00000105991,protein_coding -24532,DNAJB6,ENSG00000105993,protein_coding -21987,HOXA2,ENSG00000105996,protein_coding -21988,HOXA3,ENSG00000105997,protein_coding -21617,LFNG,ENSG00000106003,protein_coding -21993,HOXA5,ENSG00000106004,protein_coding -21994,HOXA6,ENSG00000106006,protein_coding -21619,BRAT1,ENSG00000106009,protein_coding -21620,IQCE,ENSG00000106012,protein_coding -23699,ANKRD7,ENSG00000106013,protein_coding -24556,VIPR2,ENSG00000106018,protein_coding -23711,TSPAN12,ENSG00000106025,protein_coding -24102,SSBP1,ENSG00000106028,protein_coding -22012,HOXA13,ENSG00000106031,protein_coding -23714,CPED1,ENSG00000106034,protein_coding -22021,EVX1,ENSG00000106038,protein_coding -22030,HIBADH,ENSG00000106049,protein_coding -22033,TAX1BP1,ENSG00000106052,protein_coding -22045,CPVL,ENSG00000106066,protein_coding -22049,CHN2,ENSG00000106069,protein_coding -22432,GRB10,ENSG00000106070,protein_coding -22908,ABHD11,ENSG00000106077,protein_coding -22438,COBL,ENSG00000106078,protein_coding -22064,FKBP14,ENSG00000106080,protein_coding -22065,PLEKHA8,ENSG00000106086,protein_coding -22904,STX1A,ENSG00000106089,protein_coding -22080,NOD1,ENSG00000106100,protein_coding -22089,GARS,ENSG00000106105,protein_coding -22090,CRHR2,ENSG00000106113,protein_coding -24210,EPHB6,ENSG00000106123,protein_coding -22094,MINDY4,ENSG00000106125,protein_coding -22098,GHRHR,ENSG00000106128,protein_coding -24229,CASP2,ENSG00000106144,protein_coding -22519,CHCHD2,ENSG00000106153,protein_coding -22968,CCL24,ENSG00000106178,protein_coding -22986,HSPB1,ENSG00000106211,protein_coding -23290,NPTX2,ENSG00000106236,protein_coding -23305,PDAP1,ENSG00000106244,protein_coding -23306,BUD31,ENSG00000106245,protein_coding -23307,PTCD1,ENSG00000106246,protein_coding -23321,CYP3A5,ENSG00000106258,protein_coding -23342,ZKSCAN1,ENSG00000106261,protein_coding -21612,EIF3B,ENSG00000106263,protein_coding -21609,SNX8,ENSG00000106266,protein_coding -21608,NUDT1,ENSG00000106268,protein_coding -23727,PTPRZ1,ENSG00000106278,protein_coding -23351,TAF6,ENSG00000106290,protein_coding -23753,WASL,ENSG00000106299,protein_coding -23757,HYAL4,ENSG00000106302,protein_coding -23758,SPAM1,ENSG00000106304,protein_coding -21682,AIMP2,ENSG00000106305,protein_coding -23395,TFR2,ENSG00000106327,protein_coding -23798,FSCN3,ENSG00000106328,protein_coding -23394,MOSPD3,ENSG00000106330,protein_coding -23799,PAX4,ENSG00000106331,protein_coding -23393,PCOLCE,ENSG00000106333,protein_coding -23391,FBXO24,ENSG00000106336,protein_coding -22106,PPP1R17,ENSG00000106341,protein_coding -23809,RBM28,ENSG00000106344,protein_coding -21689,USP42,ENSG00000106346,protein_coding -23813,IMPDH1,ENSG00000106348,protein_coding -23386,AGFG2,ENSG00000106351,protein_coding -22112,LSM5,ENSG00000106355,protein_coding -23420,SERPINE1,ENSG00000106366,protein_coding -23421,AP1S1,ENSG00000106367,protein_coding -23425,MOGAT3,ENSG00000106384,protein_coding -21724,C1GALT1,ENSG00000106392,protein_coding -23428,PLOD3,ENSG00000106397,protein_coding -21733,RPA3,ENSG00000106399,protein_coding -23429,ZNHIT1,ENSG00000106400,protein_coding -23430,CLDN15,ENSG00000106404,protein_coding -24291,NOBOX,ENSG00000106410,protein_coding -21742,GLCCI1,ENSG00000106415,protein_coding -23441,MYL10,ENSG00000106436,protein_coding -21770,PHF14,ENSG00000106443,protein_coding -23874,NRF1,ENSG00000106459,protein_coding -21777,TMEM106B,ENSG00000106460,protein_coding -24328,EZH2,ENSG00000106462,protein_coding -23896,CEP41,ENSG00000106477,protein_coding -24361,ZNF862,ENSG00000106479,protein_coding -22211,SFRP4,ENSG00000106483,protein_coding -23899,MEST,ENSG00000106484,protein_coding -21805,MEOX2,ENSG00000106511,protein_coding -21820,ANKMY2,ENSG00000106524,protein_coding -24374,ACTR3C,ENSG00000106526,protein_coding -22242,POU6F2,ENSG00000106536,protein_coding -21824,TSPAN13,ENSG00000106537,protein_coding -24378,RARRES2,ENSG00000106538,protein_coding -21825,AGR2,ENSG00000106541,protein_coding -21830,AHR,ENSG00000106546,protein_coding -23946,CHCHD3,ENSG00000106554,protein_coding -24396,GIMAP2,ENSG00000106560,protein_coding -24402,TMEM176B,ENSG00000106565,protein_coding -22277,GLI3,ENSG00000106571,protein_coding -22285,PSMA2,ENSG00000106588,protein_coding -22287,MRPL32,ENSG00000106591,protein_coding -22299,COA1,ENSG00000106603,protein_coding -22300,BLVRA,ENSG00000106605,protein_coding -22304,URGCP,ENSG00000106608,protein_coding -22809,TMEM248,ENSG00000106609,protein_coding -24435,RHEB,ENSG00000106615,protein_coding -24437,PRKAG2,ENSG00000106617,protein_coding -22323,AEBP1,ENSG00000106624,protein_coding -22325,POLD2,ENSG00000106628,protein_coding -22327,MYL7,ENSG00000106631,protein_coding -22328,GCK,ENSG00000106633,protein_coding -22897,BCL7B,ENSG00000106635,protein_coding -22329,YKT6,ENSG00000106636,protein_coding -22898,TBL2,ENSG00000106638,protein_coding -24443,GALNTL5,ENSG00000106648,protein_coding -22922,CLIP2,ENSG00000106665,protein_coding -22917,EIF4H,ENSG00000106682,protein_coding -22916,LIMK1,ENSG00000106683,protein_coding -29525,SPATA6L,ENSG00000106686,protein_coding -29524,SLC1A1,ENSG00000106688,protein_coding -31307,LHX2,ENSG00000106689,protein_coding -31021,FKTN,ENSG00000106692,protein_coding -31018,FSD1L,ENSG00000106701,protein_coding -30123,CNTNAP3,ENSG00000106714,protein_coding -30678,SPIN1,ENSG00000106723,protein_coding -30500,NMRK1,ENSG00000106733,protein_coding -31071,TMEM245,ENSG00000106771,protein_coding -30514,PRUNE2,ENSG00000106772,protein_coding -31229,MEGF9,ENSG00000106780,protein_coding -30912,TRIM14,ENSG00000106785,protein_coding -30914,CORO2A,ENSG00000106789,protein_coding -30927,TGFBR1,ENSG00000106799,protein_coding -30932,SEC61B,ENSG00000106803,protein_coding -31238,C5,ENSG00000106804,protein_coding -30753,OGN,ENSG00000106809,protein_coding -30755,ASPN,ENSG00000106819,protein_coding -30756,ECM2,ENSG00000106823,protein_coding -30545,TLE4,ENSG00000106829,protein_coding -31259,LHX6,ENSG00000106852,protein_coding -31105,PTGR1,ENSG00000106853,protein_coding -31118,SUSD1,ENSG00000106868,protein_coding -31169,AMBP,ENSG00000106927,protein_coding -31175,AKNA,ENSG00000106948,protein_coding -31190,TNFSF8,ENSG00000106952,protein_coding -31414,DNM1,ENSG00000106976,protein_coding -31391,ENG,ENSG00000106991,protein_coding -31395,AK1,ENSG00000106992,protein_coding -29529,CDC37L1,ENSG00000106993,protein_coding -29555,RLN2,ENSG00000107014,protein_coding -29557,RLN1,ENSG00000107018,protein_coding -29560,PLGRKT,ENSG00000107020,protein_coding -31450,TBC1D13,ENSG00000107021,protein_coding -29566,RIC1,ENSG00000107036,protein_coding -29593,KDM4C,ENSG00000107077,protein_coding -29476,DOCK8,ENSG00000107099,protein_coding -29479,KANK1,ENSG00000107104,protein_coding -29798,ELAVL2,ENSG00000107105,protein_coding -31506,NCS1,ENSG00000107130,protein_coding -30006,TESK1,ENSG00000107140,protein_coding -31650,KCNT1,ENSG00000107147,protein_coding -30017,CA9,ENSG00000107159,protein_coding -31510,FUBP3,ENSG00000107164,protein_coding -29629,TYRP1,ENSG00000107165,protein_coding -30021,CREB3,ENSG00000107175,protein_coding -30024,RGP1,ENSG00000107185,protein_coding -29637,MPDZ,ENSG00000107186,protein_coding -31658,LHX3,ENSG00000107187,protein_coding -29868,DDX58,ENSG00000107201,protein_coding -31709,EDF1,ENSG00000107223,protein_coding -30420,PIP5K1B,ENSG00000107242,protein_coding -29518,GLIS3,ENSG00000107249,protein_coding -29893,BAG1,ENSG00000107262,protein_coding -31540,RAPGEF1,ENSG00000107263,protein_coding -31727,NPDC1,ENSG00000107281,protein_coding -30432,APBA1,ENSG00000107282,protein_coding -31547,SETX,ENSG00000107290,protein_coding -29691,SH3GL2,ENSG00000107295,protein_coding -31718,PTGDS,ENSG00000107317,protein_coding -31723,ABCA2,ENSG00000107331,protein_coding -30096,SHB,ENSG00000107338,protein_coding -29928,UBE2R2,ENSG00000107341,protein_coding -30458,ABHD17B,ENSG00000107362,protein_coding -30090,EXOSC3,ENSG00000107371,protein_coding -30470,ZFAND5,ENSG00000107372,protein_coding -101,DVL1,ENSG00000107404,protein_coding -36795,PDLIM1,ENSG00000107438,protein_coding -36806,CCNJ,ENSG00000107443,protein_coding -36814,DNTT,ENSG00000107447,protein_coding -35307,GATA3,ENSG00000107485,protein_coding -37161,ATRNL1,ENSG00000107518,protein_coding -36866,HPS1,ENSG00000107521,protein_coding -35381,PHYH,ENSG00000107537,protein_coding -35907,RASSF4,ENSG00000107551,protein_coding -36889,DNMBP,ENSG00000107554,protein_coding -37198,RAB11FIP2,ENSG00000107560,protein_coding -35896,CXCL12,ENSG00000107562,protein_coding -36895,ERLIN1,ENSG00000107566,protein_coding -37213,EIF3A,ENSG00000107581,protein_coding -36904,PKD2L1,ENSG00000107593,protein_coding -35444,CUBN,ENSG00000107611,protein_coding -35446,TRDMT1,ENSG00000107614,protein_coding -36237,DDX50,ENSG00000107625,protein_coding -36006,MAPK8,ENSG00000107643,protein_coding -37237,SEC23IP,ENSG00000107651,protein_coding -37259,ATE1,ENSG00000107669,protein_coding -37264,NSMCE4A,ENSG00000107672,protein_coding -37271,PLEKHA1,ENSG00000107679,protein_coding -36283,PALD1,ENSG00000107719,protein_coding -36294,UNC5B,ENSG00000107731,protein_coding -36298,CDH23,ENSG00000107736,protein_coding -36301,VSIR,ENSG00000107738,protein_coding -36308,SPOCK2,ENSG00000107742,protein_coding -36317,MICU1,ENSG00000107745,protein_coding -36359,PPP3CB,ENSG00000107758,protein_coding -36565,CCSER2,ENSG00000107771,protein_coding -36595,BMPR1A,ENSG00000107779,protein_coding -36629,MINPP1,ENSG00000107789,protein_coding -36660,ACTA2,ENSG00000107796,protein_coding -36669,LIPA,ENSG00000107798,protein_coding -36931,TLX1,ENSG00000107807,protein_coding -36924,TWNK,ENSG00000107815,protein_coding -36925,LZTS2,ENSG00000107816,protein_coding -36927,SFXN3,ENSG00000107819,protein_coding -36929,KAZALD1,ENSG00000107821,protein_coding -36946,FBXW4,ENSG00000107829,protein_coding -36950,FGF8,ENSG00000107831,protein_coding -36951,NPM3,ENSG00000107833,protein_coding -36718,TNKS2,ENSG00000107854,protein_coding -36965,PITX3,ENSG00000107859,protein_coding -36966,GBF1,ENSG00000107862,protein_coding -35561,ARHGAP21,ENSG00000107863,protein_coding -36724,CPEB3,ENSG00000107864,protein_coding -36969,FBXL15,ENSG00000107872,protein_coding -36970,CUEDC2,ENSG00000107874,protein_coding -36977,SUFU,ENSG00000107882,protein_coding -35600,ANKRD26,ENSG00000107890,protein_coding -35605,ACBD5,ENSG00000107897,protein_coding -37310,LHPP,ENSG00000107902,protein_coding -35165,LARP4B,ENSG00000107929,protein_coding -35168,GTPBP4,ENSG00000107937,protein_coding -37337,EDRF1,ENSG00000107938,protein_coding -37342,BCCIP,ENSG00000107949,protein_coding -35664,MTPAP,ENSG00000107951,protein_coding -37017,NEURL1,ENSG00000107954,protein_coding -37020,SH3PXD2A,ENSG00000107957,protein_coding -35198,PITRM1,ENSG00000107959,protein_coding -37025,STN1,ENSG00000107960,protein_coding -35673,MAP3K8,ENSG00000107968,protein_coding -36078,DKK1,ENSG00000107984,protein_coding -37383,EBF3,ENSG00000108001,protein_coding -37392,GLRX3,ENSG00000108010,protein_coding -37054,SORCS1,ENSG00000108018,protein_coding -35259,TASOR2,ENSG00000108021,protein_coding -37071,XPNPEP1,ENSG00000108039,protein_coding -37084,SMC3,ENSG00000108055,protein_coding -37096,SHOC2,ENSG00000108061,protein_coding -36116,TFAM,ENSG00000108064,protein_coding -36131,CCDC6,ENSG00000108091,protein_coding -35749,CUL2,ENSG00000108094,protein_coding -35758,CCNY,ENSG00000108100,protein_coding -57518,UBE2S,ENSG00000108106,protein_coding -57516,RPL28,ENSG00000108107,protein_coding -36475,ZMIZ1,ENSG00000108175,protein_coding -36198,DNAJC12,ENSG00000108176,protein_coding -36476,PPIF,ENSG00000108179,protein_coding -36215,PBLD,ENSG00000108187,protein_coding -36532,TSPAN14,ENSG00000108219,protein_coding -36759,LGI1,ENSG00000108231,protein_coding -36774,TBC1D12,ENSG00000108239,protein_coding -36778,CYP2C18,ENSG00000108242,protein_coding -50553,KRT23,ENSG00000108244,protein_coding -50059,CRYBA1,ENSG00000108255,protein_coding -50060,NUFIP2,ENSG00000108256,protein_coding -50073,GIT1,ENSG00000108262,protein_coding -50472,RPL19,ENSG00000108298,protein_coding -50475,FBXL20,ENSG00000108306,protein_coding -50796,RUNDC3A,ENSG00000108309,protein_coding -50786,UBTF,ENSG00000108312,protein_coding -50503,CSF3,ENSG00000108342,protein_coding -50501,PSMD3,ENSG00000108344,protein_coding -50511,CASC3,ENSG00000108349,protein_coding -50513,RAPGEFL1,ENSG00000108352,protein_coding -51475,RGS9,ENSG00000108370,protein_coding -51229,RNF43,ENSG00000108375,protein_coding -50900,WNT3,ENSG00000108379,protein_coding -49133,ASPA,ENSG00000108381,protein_coding -51243,RAD51C,ENSG00000108384,protein_coding -51234,SEPT4,ENSG00000108387,protein_coding -51232,MTMR4,ENSG00000108389,protein_coding -51251,TRIM37,ENSG00000108395,protein_coding -49154,P2RX1,ENSG00000108405,protein_coding -51272,DHX40,ENSG00000108406,protein_coding -50605,KRT37,ENSG00000108417,protein_coding -51280,TUBD1,ENSG00000108423,protein_coding -50928,KPNB1,ENSG00000108424,protein_coding -50905,GOSR2,ENSG00000108433,protein_coding -50943,PNPO,ENSG00000108439,protein_coding -51282,RPS6KB1,ENSG00000108443,protein_coding -49721,TRIM16L,ENSG00000108448,protein_coding -50947,CDK5RAP3,ENSG00000108465,protein_coding -50955,CBX1,ENSG00000108468,protein_coding -51702,RECQL5,ENSG00000108469,protein_coding -49586,PIGL,ENSG00000108474,protein_coding -51709,GALK1,ENSG00000108479,protein_coding -51341,INTS2,ENSG00000108506,protein_coding -49207,CAMTA2,ENSG00000108509,protein_coding -51343,MED13,ENSG00000108510,protein_coding -50977,HOXB6,ENSG00000108511,protein_coding -49205,ENO3,ENSG00000108515,protein_coding -49204,PFN1,ENSG00000108518,protein_coding -49203,RNF167,ENSG00000108523,protein_coding -49202,SLC25A11,ENSG00000108528,protein_coding -49652,RASD1,ENSG00000108551,protein_coding -49199,CHRNE,ENSG00000108556,protein_coding -49662,RAI1,ENSG00000108557,protein_coding -49230,NUP88,ENSG00000108559,protein_coding -49234,C1QBP,ENSG00000108561,protein_coding -50102,SLC6A4,ENSG00000108576,protein_coding -50106,BLMH,ENSG00000108578,protein_coding -50111,CPD,ENSG00000108582,protein_coding -50112,GOSR1,ENSG00000108587,protein_coding -51407,CCDC47,ENSG00000108588,protein_coding -49260,MED31,ENSG00000108590,protein_coding -49677,DRG2,ENSG00000108591,protein_coding -51409,FTSJ3,ENSG00000108592,protein_coding -49801,AKAP10,ENSG00000108599,protein_coding -49794,ALDH3A1,ENSG00000108602,protein_coding -51411,SMARCD2,ENSG00000108604,protein_coding -51426,ICAM2,ENSG00000108622,protein_coding -51821,SYNGR2,ENSG00000108639,protein_coding -49761,B9D1,ENSG00000108641,protein_coding -50182,UTP6,ENSG00000108651,protein_coding -51441,DDX5,ENSG00000108654,protein_coding -50206,C17orf75,ENSG00000108666,protein_coding -51842,CYTH1,ENSG00000108669,protein_coding -50217,PSMD11,ENSG00000108671,protein_coding -51853,LGALS3BP,ENSG00000108679,protein_coding -50234,ASIC2,ENSG00000108684,protein_coding -50259,CCL7,ENSG00000108688,protein_coding -50258,CCL2,ENSG00000108691,protein_coding -50261,CCL8,ENSG00000108700,protein_coding -50264,CCL1,ENSG00000108702,protein_coding -50320,PEX12,ENSG00000108733,protein_coding -50608,KRT32,ENSG00000108759,protein_coding -50644,DHX58,ENSG00000108771,protein_coding -50645,KAT2A,ENSG00000108773,protein_coding -50648,RAB5C,ENSG00000108774,protein_coding -50668,NAGLU,ENSG00000108784,protein_coding -50671,HSD17B1,ENSG00000108786,protein_coding -50674,MLX,ENSG00000108788,protein_coding -50686,CNTNAP1,ENSG00000108797,protein_coding -51019,ABI3,ENSG00000108798,protein_coding -50688,EZH1,ENSG00000108799,protein_coding -51052,DLX4,ENSG00000108813,protein_coding -51062,PPP1R9B,ENSG00000108819,protein_coding -51068,COL1A1,ENSG00000108821,protein_coding -51066,SGCA,ENSG00000108823,protein_coding -50710,PTGES3L-AARSD1,ENSG00000108825,protein_coding -51076,MRPL27,ENSG00000108826,protein_coding -50715,VAT1,ENSG00000108828,protein_coding -51078,LRRC59,ENSG00000108829,protein_coding -50716,RND2,ENSG00000108830,protein_coding -49279,ALOX12,ENSG00000108839,protein_coding -50777,HDAC5,ENSG00000108840,protein_coding -51095,ABCC3,ENSG00000108846,protein_coding -51099,LUC7L3,ENSG00000108848,protein_coding -50770,PPY,ENSG00000108849,protein_coding -50764,MPP2,ENSG00000108852,protein_coding -51445,SMURF2,ENSG00000108854,protein_coding -50759,DUSP3,ENSG00000108861,protein_coding -51499,CACNG1,ENSG00000108878,protein_coding -50822,EFTUD2,ENSG00000108883,protein_coding -51151,HLF,ENSG00000108924,protein_coding -51545,SLC16A6,ENSG00000108932,protein_coding -51549,PRKAR1A,ENSG00000108946,protein_coding -49361,EFNB3,ENSG00000108947,protein_coding -51550,FAM20A,ENSG00000108950,protein_coding -49033,YWHAE,ENSG00000108953,protein_coding -51154,MMD,ENSG00000108960,protein_coding -49404,RANGRF,ENSG00000108961,protein_coding -49061,DPH1,ENSG00000108963,protein_coding -51568,MAP2K6,ENSG00000108984,protein_coding -49868,DHRS7B,ENSG00000109016,protein_coding -49935,WSB1,ENSG00000109046,protein_coding -49449,RCVRN,ENSG00000109047,protein_coding -49459,MYH1,ENSG00000109061,protein_coding -51653,SLC9A3R1,ENSG00000109062,protein_coding -49462,MYH3,ENSG00000109063,protein_coding -51654,NAT9,ENSG00000109065,protein_coding -51655,TMEM104,ENSG00000109066,protein_coding -49991,VTN,ENSG00000109072,protein_coding -49982,TNFAIP1,ENSG00000109079,protein_coding -49981,IFT20,ENSG00000109083,protein_coding -49980,TMEM97,ENSG00000109084,protein_coding -51664,CDR2L,ENSG00000109089,protein_coding -49533,PMP22,ENSG00000109099,protein_coding -50001,FOXN1,ENSG00000109101,protein_coding -50002,UNC119,ENSG00000109103,protein_coding -50004,ALDOC,ENSG00000109107,protein_coding -50015,SUPT6H,ENSG00000109111,protein_coding -50018,RAB34,ENSG00000109113,protein_coding -50046,PHF12,ENSG00000109118,protein_coding -13484,PHOX2B,ENSG00000109132,protein_coding -13492,TMEM33,ENSG00000109133,protein_coding -13542,GABRA4,ENSG00000109158,protein_coding -13799,GNRHR,ENSG00000109163,protein_coding -13564,SLAIN2,ENSG00000109171,protein_coding -13569,OCIAD1,ENSG00000109180,protein_coding -13829,UGT2B10,ENSG00000109181,protein_coding -13574,CWH43,ENSG00000109182,protein_coding -13595,DCUN1D4,ENSG00000109184,protein_coding -13606,USP46,ENSG00000109189,protein_coding -13872,SULT1E1,ENSG00000109193,protein_coding -13881,ODAM,ENSG00000109205,protein_coding -13885,SMR3A,ENSG00000109208,protein_coding -13633,CHIC2,ENSG00000109220,protein_coding -13670,NMU,ENSG00000109255,protein_coding -13678,KIAA1211,ENSG00000109265,protein_coding -14297,LAMTOR3,ENSG00000109270,protein_coding -13933,PF4V1,ENSG00000109272,protein_coding -14325,NFKB1,ENSG00000109320,protein_coding -13952,AREG,ENSG00000109321,protein_coding -14326,MANBA,ENSG00000109323,protein_coding -14332,UBE2D3,ENSG00000109332,protein_coding -14132,MAPK10,ENSG00000109339,protein_coding -14765,ELF2,ENSG00000109381,protein_coding -14775,NDUFC1,ENSG00000109390,protein_coding -14802,UCP1,ENSG00000109424,protein_coding -14806,TBC1D9,ENSG00000109436,protein_coding -14813,ZNF330,ENSG00000109445,protein_coding -14820,INPP4B,ENSG00000109452,protein_coding -14830,GAB1,ENSG00000109458,protein_coding -15160,KLHL2,ENSG00000109466,protein_coding -14606,IL2,ENSG00000109471,protein_coding -15164,CPE,ENSG00000109472,protein_coding -14404,RPL34,ENSG00000109475,protein_coding -13020,WFS1,ENSG00000109501,protein_coding -15184,ANXA10,ENSG00000109511,protein_coding -13043,GRPEL1,ENSG00000109519,protein_coding -14428,GAR1,ENSG00000109534,protein_coding -15479,FRG1,ENSG00000109536,protein_coding -15205,CLCN3,ENSG00000109572,protein_coding -15216,AADAT,ENSG00000109576,protein_coding -15239,GALNT7,ENSG00000109586,protein_coding -13282,DHX15,ENSG00000109606,protein_coding -13289,SOD3,ENSG00000109610,protein_coding -13292,SEPSECS,ENSG00000109618,protein_coding -13069,CPZ,ENSG00000109625,protein_coding -14990,TRIM2,ENSG00000109654,protein_coding -13134,SLC2A9,ENSG00000109667,protein_coding -14973,FBXW7,ENSG00000109670,protein_coding -15298,NEIL3,ENSG00000109674,protein_coding -13319,TBC1D19,ENSG00000109680,protein_coding -13157,CLNK,ENSG00000109684,protein_coding -12923,NSD2,ENSG00000109685,protein_coding -14944,SH3D19,ENSG00000109686,protein_coding -13321,STIM2,ENSG00000109689,protein_coding -13180,NKX3-2,ENSG00000109705,protein_coding -12951,MFSD10,ENSG00000109736,protein_coding -15063,GLRB,ENSG00000109738,protein_coding -13209,BST1,ENSG00000109743,protein_coding -15102,RAPGEF2,ENSG00000109756,protein_coding -12964,HGFAC,ENSG00000109758,protein_coding -15401,SNX25,ENSG00000109762,protein_coding -15402,LRP2BP,ENSG00000109771,protein_coding -15405,UFSP2,ENSG00000109775,protein_coding -13412,KLF3,ENSG00000109787,protein_coding -13420,KLHL5,ENSG00000109790,protein_coding -15419,FAM149A,ENSG00000109794,protein_coding -13242,NCAPG,ENSG00000109805,protein_coding -13433,UGDH,ENSG00000109814,protein_coding -13280,PPARGC1A,ENSG00000109819,protein_coding -35003,DDX25,ENSG00000109832,protein_coding -34586,CRYAB,ENSG00000109846,protein_coding -32493,DBX1,ENSG00000109851,protein_coding -32494,HTATIP2,ENSG00000109854,protein_coding -34194,CTSC,ENSG00000109861,protein_coding -32553,CCDC34,ENSG00000109881,protein_coding -34652,ZBTB16,ENSG00000109906,protein_coding -32606,ELP4,ENSG00000109911,protein_coding -34695,ZPR1,ENSG00000109917,protein_coding -32879,MTCH2,ENSG00000109919,protein_coding -32881,FNBP4,ENSG00000109920,protein_coding -34851,TECTA,ENSG00000109927,protein_coding -34854,SC5D,ENSG00000109929,protein_coding -34879,CRTAM,ENSG00000109943,protein_coding -34880,JHY,ENSG00000109944,protein_coding -35137,B3GAT1,ENSG00000109956,protein_coding -34888,HSPA8,ENSG00000109971,protein_coding -33113,P2RX3,ENSG00000109991,protein_coding -34924,VWA5A,ENSG00000110002,protein_coding -33452,DNAJC4,ENSG00000110011,protein_coding -34957,SIAE,ENSG00000110013,protein_coding -33507,SNX15,ENSG00000110025,protein_coding -33178,LPXN,ENSG00000110031,protein_coding -33202,DTX4,ENSG00000110042,protein_coding -33496,ATG2A,ENSG00000110046,protein_coding -33491,EHD1,ENSG00000110047,protein_coding -33225,OSBP,ENSG00000110048,protein_coding -33718,UNC93B1,ENSG00000110057,protein_coding -35001,PUS3,ENSG00000110060,protein_coding -35023,DCPS,ENSG00000110063,protein_coding -33729,KMT5B,ENSG00000110066,protein_coding -35018,FOXRED1,ENSG00000110074,protein_coding -33733,PPP6R3,ENSG00000110075,protein_coding -33482,NRXN2,ENSG00000110076,protein_coding -33251,MS4A6A,ENSG00000110077,protein_coding -33252,MS4A4A,ENSG00000110079,protein_coding -35025,ST3GAL4,ENSG00000110080,protein_coding -33738,CPT1A,ENSG00000110090,protein_coding -33763,CCND1,ENSG00000110092,protein_coding -33271,CCDC86,ENSG00000110104,protein_coding -33274,PRPF19,ENSG00000110107,protein_coding -33277,TMEM109,ENSG00000110108,protein_coding -32160,CCKBR,ENSG00000110148,protein_coding -32167,HPX,ENSG00000110169,protein_coding -32168,TRIM3,ENSG00000110171,protein_coding -34259,CHORDC1,ENSG00000110172,protein_coding -33852,FOLR1,ENSG00000110195,protein_coding -33846,ANAPC15,ENSG00000110200,protein_coding -33847,FOLR3,ENSG00000110203,protein_coding -34332,PANX1,ENSG00000110218,protein_coding -33894,ARHGEF17,ENSG00000110237,protein_coding -34696,APOA5,ENSG00000110243,protein_coding -34699,APOA4,ENSG00000110244,protein_coding -34700,APOC3,ENSG00000110245,protein_coding -34720,CEP164,ENSG00000110274,protein_coding -32294,RNF141,ENSG00000110315,protein_coding -34412,CEP126,ENSG00000110318,protein_coding -32300,EIF4G2,ENSG00000110321,protein_coding -34732,IL10RA,ENSG00000110324,protein_coding -32311,GALNT18,ENSG00000110328,protein_coding -34424,BIRC2,ENSG00000110330,protein_coding -34747,UBE4A,ENSG00000110344,protein_coding -34769,DDX6,ENSG00000110367,protein_coding -34778,UPK2,ENSG00000110375,protein_coding -34807,CBL,ENSG00000110395,protein_coding -34826,NECTIN1,ENSG00000110400,protein_coding -32645,HIPK3,ENSG00000110422,protein_coding -32646,KIAA1549L,ENSG00000110427,protein_coding -32653,FBXO3,ENSG00000110429,protein_coding -32678,PDHX,ENSG00000110435,protein_coding -32684,SLC1A2,ENSG00000110436,protein_coding -32703,COMMD9,ENSG00000110442,protein_coding -33280,SLC15A3,ENSG00000110446,protein_coding -33284,CD5,ENSG00000110448,protein_coding -32774,ACCS,ENSG00000110455,protein_coding -33339,SCGB2A2,ENSG00000110484,protein_coding -32828,MDK,ENSG00000110492,protein_coding -32830,AMBRA1,ENSG00000110497,protein_coding -32859,MADD,ENSG00000110514,protein_coding -32873,PTPMT1,ENSG00000110536,protein_coding -33437,NAA40,ENSG00000110583,protein_coding -31958,CARS,ENSG00000110619,protein_coding -31953,SLC22A18,ENSG00000110628,protein_coding -31937,CD81,ENSG00000110651,protein_coding -34510,SLC35F2,ENSG00000110660,protein_coding -31931,C11orf21,ENSG00000110665,protein_coding -34505,ELMOD1,ENSG00000110675,protein_coding -32376,CALCA,ENSG00000110680,protein_coding -32386,SOX6,ENSG00000110693,protein_coding -32391,C11orf58,ENSG00000110696,protein_coding -33686,PITPNM1,ENSG00000110697,protein_coding -32396,RPS13,ENSG00000110700,protein_coding -33684,AIP,ENSG00000110711,protein_coding -31995,NUP98,ENSG00000110713,protein_coding -33721,NDUFS8,ENSG00000110717,protein_coding -33724,TCIRG1,ENSG00000110719,protein_coding -33727,CHKA,ENSG00000110721,protein_coding -34524,EXPH5,ENSG00000110723,protein_coding -32439,HPS5,ENSG00000110756,protein_coding -32440,GTF2H1,ENSG00000110768,protein_coding -34563,POU2AF1,ENSG00000110777,protein_coding -32461,PTPN5,ENSG00000110786,protein_coding -37623,VWF,ENSG00000110799,protein_coding -40186,PSMD9,ENSG00000110801,protein_coding -37673,P3H3,ENSG00000110811,protein_coding -38188,PPFIBP1,ENSG00000110841,protein_coding -38592,PRPF40B,ENSG00000110844,protein_coding -37841,CD69,ENSG00000110848,protein_coding -39825,PRDM4,ENSG00000110851,protein_coding -37844,CLEC2B,ENSG00000110852,protein_coding -40130,COQ5,ENSG00000110871,protein_coding -39843,SELPLG,ENSG00000110876,protein_coding -39846,CORO1C,ENSG00000110880,protein_coding -38617,ASIC1,ENSG00000110881,protein_coding -39854,DAO,ENSG00000110887,protein_coding -38241,CAPRIN2,ENSG00000110888,protein_coding -38246,TSPAN11,ENSG00000110900,protein_coding -39869,KCTD10,ENSG00000110906,protein_coding -38649,SLC11A2,ENSG00000110911,protein_coding -40138,MLEC,ENSG00000110917,protein_coding -39873,MVK,ENSG00000110921,protein_coding -38653,CSRNP2,ENSG00000110925,protein_coding -40165,CAMKK2,ENSG00000110931,protein_coding -38663,BIN2,ENSG00000110934,protein_coding -38947,IL23A,ENSG00000110944,protein_coding -38964,ATP5F1B,ENSG00000110955,protein_coding -38966,PTGES3,ENSG00000110958,protein_coding -38318,SYT10,ENSG00000110975,protein_coding -40192,BCL7A,ENSG00000110987,protein_coding -40208,RSRC2,ENSG00000111011,protein_coding -39029,CYP27B1,ENSG00000111012,protein_coding -39406,MYF6,ENSG00000111046,protein_coding -39407,MYF5,ENSG00000111049,protein_coding -39409,LIN7A,ENSG00000111052,protein_coding -38742,KRT18,ENSG00000111057,protein_coding -39413,ACSS3,ENSG00000111058,protein_coding -38746,TNS2,ENSG00000111077,protein_coding -39003,GLI1,ENSG00000111087,protein_coding -39095,PPM1H,ENSG00000111110,protein_coding -39600,METAP2,ENSG00000111142,protein_coding -39614,LTA4H,ENSG00000111144,protein_coding -39619,ELK3,ENSG00000111145,protein_coding -37490,SLC6A12,ENSG00000111181,protein_coding -37515,WNT5B,ENSG00000111186,protein_coding -37879,MAGOHB,ENSG00000111196,protein_coding -39877,TRPV4,ENSG00000111199,protein_coding -37551,ITFG2,ENSG00000111203,protein_coding -37554,FOXM1,ENSG00000111206,protein_coding -37890,PRR4,ENSG00000111215,protein_coding -37571,PRMT8,ENSG00000111218,protein_coding -37579,PARP11,ENSG00000111224,protein_coding -39898,ARPC3,ENSG00000111229,protein_coding -39899,GPN3,ENSG00000111231,protein_coding -39902,VPS29,ENSG00000111237,protein_coding -37591,FGF6,ENSG00000111241,protein_coding -39915,MYL2,ENSG00000111245,protein_coding -37593,RAD51AP1,ENSG00000111247,protein_coding -39918,CUX2,ENSG00000111249,protein_coding -39924,SH2B3,ENSG00000111252,protein_coding -37597,AKAP3,ENSG00000111254,protein_coding -37936,MANSC1,ENSG00000111261,protein_coding -37610,KCNA1,ENSG00000111262,protein_coding -37941,DUSP16,ENSG00000111266,protein_coding -37944,CREBL2,ENSG00000111269,protein_coding -39931,ACAD10,ENSG00000111271,protein_coding -39933,ALDH2,ENSG00000111275,protein_coding -37949,CDKN1B,ENSG00000111276,protein_coding -37962,GPRC5D,ENSG00000111291,protein_coding -39945,NAA25,ENSG00000111300,protein_coding -37970,GSG1,ENSG00000111305,protein_coding -37632,SCNN1A,ENSG00000111319,protein_coding -37633,AC005840.1,ENSG00000111321,protein_coding -40225,OGFOD2,ENSG00000111325,protein_coding -40235,CDK2AP1,ENSG00000111328,protein_coding -39963,OAS3,ENSG00000111331,protein_coding -39964,OAS2,ENSG00000111335,protein_coding -38002,ART4,ENSG00000111339,protein_coding -38004,MGP,ENSG00000111341,protein_coding -39968,RASAL1,ENSG00000111344,protein_coding -38006,ARHGDIB,ENSG00000111348,protein_coding -40255,GTF2H3,ENSG00000111358,protein_coding -40254,EIF2B1,ENSG00000111361,protein_coding -40252,DDX55,ENSG00000111364,protein_coding -38449,SLC38A1,ENSG00000111371,protein_coding -38043,RERGL,ENSG00000111404,protein_coding -38481,ENDOU,ENSG00000111405,protein_coding -40040,C12orf49,ENSG00000111412,protein_coding -38492,VDR,ENSG00000111424,protein_coding -40402,FZD10,ENSG00000111432,protein_coding -40059,RFC5,ENSG00000111445,protein_coding -40414,STX2,ENSG00000111450,protein_coding -40420,ADGRD1,ENSG00000111452,protein_coding -38831,COPZ1,ENSG00000111481,protein_coding -39150,TBC1D30,ENSG00000111490,protein_coding -39197,CAND1,ENSG00000111530,protein_coding -39215,IL26,ENSG00000111536,protein_coding -39214,IFNG,ENSG00000111537,protein_coding -38914,AC034102.1,ENSG00000111540,protein_coding -39217,MDM1,ENSG00000111554,protein_coding -39231,NUP107,ENSG00000111581,protein_coding -39270,AC092881.1,ENSG00000111596,protein_coding -38955,TIMELESS,ENSG00000111602,protein_coding -39244,CPSF6,ENSG00000111605,protein_coding -39335,KRR1,ENSG00000111615,protein_coding -37643,MRPL51,ENSG00000111639,protein_coding -37648,GAPDH,ENSG00000111640,protein_coding -37652,NOP2,ENSG00000111641,protein_coding -37654,CHD4,ENSG00000111642,protein_coding -37658,ACRBP,ENSG00000111644,protein_coding -39677,UHRF1BP1L,ENSG00000111647,protein_coding -37665,COPS7A,ENSG00000111652,protein_coding -37659,ING4,ENSG00000111653,protein_coding -37674,GNB3,ENSG00000111664,protein_coding -37675,CDCA3,ENSG00000111665,protein_coding -39712,CHPT1,ENSG00000111666,protein_coding -37676,USP5,ENSG00000111667,protein_coding -37677,TPI1,ENSG00000111669,protein_coding -39715,GNPTAB,ENSG00000111670,protein_coding -37678,SPSB2,ENSG00000111671,protein_coding -37683,ENO2,ENSG00000111674,protein_coding -37684,ATN1,ENSG00000111676,protein_coding -37685,C12orf57,ENSG00000111678,protein_coding -37688,PTPN6,ENSG00000111679,protein_coding -37696,LPCAT3,ENSG00000111684,protein_coding -39756,NT5DC3,ENSG00000111696,protein_coding -38076,SLCO1B3,ENSG00000111700,protein_coding -37722,APOBEC1,ENSG00000111701,protein_coding -37728,NANOG,ENSG00000111704,protein_coding -40069,SUDS3,ENSG00000111707,protein_coding -38087,GOLT1B,ENSG00000111711,protein_coding -38089,GYS2,ENSG00000111713,protein_coding -38091,LDHB,ENSG00000111716,protein_coding -40094,PRKAB1,ENSG00000111725,protein_coding -38099,CMAS,ENSG00000111726,protein_coding -39766,HCFC2,ENSG00000111727,protein_coding -38100,ST8SIA1,ENSG00000111728,protein_coding -37750,CLEC4A,ENSG00000111729,protein_coding -38106,C2CD5,ENSG00000111731,protein_coding -37786,AICDA,ENSG00000111732,protein_coding -40102,RAB35,ENSG00000111737,protein_coding -37799,PHC1,ENSG00000111752,protein_coding -40121,COX6A1,ENSG00000111775,protein_coding -40122,AL021546.1,ENSG00000111780,protein_coding -39804,RFX4,ENSG00000111783,protein_coding -39807,RIC8B,ENSG00000111785,protein_coding -40126,SRSF9,ENSG00000111786,protein_coding -38174,FGFR1OP2,ENSG00000111790,protein_coding -37830,KLRB1,ENSG00000111796,protein_coding -20157,COL12A1,ENSG00000111799,protein_coding -18975,BTN3A3,ENSG00000111801,protein_coding -18879,TDP2,ENSG00000111802,protein_coding -20681,FRK,ENSG00000111816,protein_coding -20689,DSE,ENSG00000111817,protein_coding -20701,RWDD1,ENSG00000111832,protein_coding -20702,RSPH4A,ENSG00000111834,protein_coding -18697,MAK,ENSG00000111837,protein_coding -18692,TMEM14C,ENSG00000111843,protein_coding -18691,PAK1IP1,ENSG00000111845,protein_coding -18683,GCNT2,ENSG00000111846,protein_coding -20319,SMIM8,ENSG00000111850,protein_coding -18708,NEDD9,ENSG00000111859,protein_coding -20726,CEP85L,ENSG00000111860,protein_coding -18718,ADTRP,ENSG00000111863,protein_coding -20733,ASF1A,ENSG00000111875,protein_coding -20732,MCM9,ENSG00000111877,protein_coding -20735,FAM184A,ENSG00000111879,protein_coding -20344,RNGTT,ENSG00000111880,protein_coding -20739,MAN1A1,ENSG00000111885,protein_coding -20357,GABRR2,ENSG00000111886,protein_coding -20767,SERINC1,ENSG00000111897,protein_coding -20790,HDDC2,ENSG00000111906,protein_coding -20789,TPD52L1,ENSG00000111907,protein_coding -20799,HINT3,ENSG00000111911,protein_coding -20796,NCOA7,ENSG00000111912,protein_coding -18889,RIPOR2,ENSG00000111913,protein_coding -21135,SASH1,ENSG00000111961,protein_coding -21140,UST,ENSG00000111962,protein_coding -21182,ULBP1,ENSG00000111981,protein_coding -21237,FBXO5,ENSG00000112029,protein_coding -21239,MTRF1L,ENSG00000112031,protein_coding -19540,PPARD,ENSG00000112033,protein_coding -21255,OPRM1,ENSG00000112038,protein_coding -19542,FANCE,ENSG00000112039,protein_coding -19546,TULP1,ENSG00000112041,protein_coding -19562,SLC26A8,ENSG00000112053,protein_coding -19564,MAPK14,ENSG00000112062,protein_coding -19867,RHAG,ENSG00000112077,protein_coding -19574,KCTD20,ENSG00000112078,protein_coding -19576,STK38,ENSG00000112079,protein_coding -19578,SRSF3,ENSG00000112081,protein_coding -21347,SOD2,ENSG00000112096,protein_coding -21357,MRPL18,ENSG00000112110,protein_coding -19899,IL17A,ENSG00000112115,protein_coding -19900,IL17F,ENSG00000112116,protein_coding -19902,MCM3,ENSG00000112118,protein_coding -19605,RNF8,ENSG00000112130,protein_coding -18730,PHACTR1,ENSG00000112137,protein_coding -19614,MDGA1,ENSG00000112139,protein_coding -19926,ICK,ENSG00000112144,protein_coding -19927,FBXO9,ENSG00000112146,protein_coding -18749,CD83,ENSG00000112149,protein_coding -20366,MDN1,ENSG00000112159,protein_coding -19634,GLP1R,ENSG00000112164,protein_coding -19635,SAYSD1,ENSG00000112167,protein_coding -19974,BMP5,ENSG00000112175,protein_coding -20376,BACH2,ENSG00000112182,protein_coding -18792,RBM24,ENSG00000112183,protein_coding -18794,CAP2,ENSG00000112186,protein_coding -19668,TREML2,ENSG00000112195,protein_coding -19989,ZNF451,ENSG00000112200,protein_coding -19991,BAG2,ENSG00000112208,protein_coding -19992,RAB23,ENSG00000112210,protein_coding -19661,TSPO2,ENSG00000112212,protein_coding -20423,FHL5,ENSG00000112214,protein_coding -20430,GPR63,ENSG00000112218,protein_coding -20018,KHDRBS2,ENSG00000112232,protein_coding -20443,FBXL4,ENSG00000112234,protein_coding -20454,CCNC,ENSG00000112237,protein_coding -20456,PRDM13,ENSG00000112238,protein_coding -18834,E2F3,ENSG00000112242,protein_coding -20032,PTP4A1,ENSG00000112245,protein_coding -20464,SIM1,ENSG00000112246,protein_coding -20466,ASCC3,ENSG00000112249,protein_coding -18857,HDGFL1,ENSG00000112273,protein_coding -20490,BVES,ENSG00000112276,protein_coding -20074,COL9A1,ENSG00000112280,protein_coding -20861,MED23,ENSG00000112282,protein_coding -20592,WASF1,ENSG00000112290,protein_coding -18875,GPLD1,ENSG00000112293,protein_coding -18876,ALDH5A1,ENSG00000112294,protein_coding -20509,CRYBG1,ENSG00000112297,protein_coding -20895,VNN1,ENSG00000112299,protein_coding -20898,VNN2,ENSG00000112303,protein_coding -18880,ACOT13,ENSG00000112304,protein_coding -20085,SMAP1,ENSG00000112305,protein_coding -20902,RPS12,ENSG00000112306,protein_coding -18882,C6orf62,ENSG00000112308,protein_coding -20088,B3GAT2,ENSG00000112309,protein_coding -18886,GMNN,ENSG00000112312,protein_coding -20912,EYA4,ENSG00000112319,protein_coding -20529,SOBP,ENSG00000112320,protein_coding -20545,NR2E1,ENSG00000112333,protein_coding -20547,SNX3,ENSG00000112335,protein_coding -18921,SLC17A2,ENSG00000112337,protein_coding -20945,HBS1L,ENSG00000112339,protein_coding -18922,TRIM38,ENSG00000112343,protein_coding -20981,PEX7,ENSG00000112357,protein_coding -20585,ZBTB24,ENSG00000112365,protein_coding -20588,FIG4,ENSG00000112367,protein_coding -21005,PERP,ENSG00000112378,protein_coding -21006,ARFGEF3,ENSG00000112379,protein_coding -20616,SLC16A10,ENSG00000112394,protein_coding -21024,HECA,ENSG00000112406,protein_coding -21056,ADGRG6,ENSG00000112414,protein_coding -21078,PHACTR2,ENSG00000112419,protein_coding -21100,EPM2A,ENSG00000112425,protein_coding -19132,OR12D3,ENSG00000112462,protein_coding -19455,SLC39A7,ENSG00000112473,protein_coding -21453,CCR6,ENSG00000112486,protein_coding -21463,UNC93A,ENSG00000112494,protein_coding -21366,SLC22A2,ENSG00000112499,protein_coding -19481,PHF1,ENSG00000112511,protein_coding -19482,CUTA,ENSG00000112514,protein_coding -21390,PACRG,ENSG00000112530,protein_coding -21401,QKI,ENSG00000112531,protein_coding -21414,C6orf118,ENSG00000112539,protein_coding -21415,PDE10A,ENSG00000112541,protein_coding -19686,MDFI,ENSG00000112559,protein_coding -19688,TFEB,ENSG00000112561,protein_coding -21490,SMOC2,ENSG00000112562,protein_coding -19703,CCND3,ENSG00000112576,protein_coding -19702,BYSL,ENSG00000112578,protein_coding -21529,FAM120B,ENSG00000112584,protein_coding -21534,TBP,ENSG00000112592,protein_coding -19712,GUCA1B,ENSG00000112599,protein_coding -19718,PRPH2,ENSG00000112619,protein_coding -19721,BICRAL,ENSG00000112624,protein_coding -19732,PPP2R5D,ENSG00000112640,protein_coding -19740,MRPL2,ENSG00000112651,protein_coding -19742,PTK7,ENSG00000112655,protein_coding -19743,SRF,ENSG00000112658,protein_coding -19744,CUL9,ENSG00000112659,protein_coding -19746,DNPH1,ENSG00000112667,protein_coding -18494,DUSP22,ENSG00000112679,protein_coding -18497,EXOC2,ENSG00000112685,protein_coding -20158,COX7A2,ENSG00000112695,protein_coding -20159,TMEM30A,ENSG00000112697,protein_coding -18521,GMDS,ENSG00000112699,protein_coding -20172,SENP6,ENSG00000112701,protein_coding -20180,IMPG1,ENSG00000112706,protein_coding -19777,VEGFA,ENSG00000112715,protein_coding -18576,PRPF4B,ENSG00000112739,protein_coding -20223,TTK,ENSG00000112742,protein_coding -19792,SLC29A1,ENSG00000112759,protein_coding -20635,CCN6,ENSG00000112761,protein_coding -18976,BTN2A1,ENSG00000112763,protein_coding -20638,LAMA4,ENSG00000112769,protein_coding -20236,TENT5A,ENSG00000112773,protein_coding -19816,CLIC5,ENSG00000112782,protein_coding -40493,FBRSL1,ENSG00000112787,protein_coding -19820,ENPP5,ENSG00000112796,protein_coding -18623,LY86,ENSG00000112799,protein_coding -19006,PRSS16,ENSG00000112812,protein_coding -19832,MEP1A,ENSG00000112818,protein_coding -20271,TBX18,ENSG00000112837,protein_coding -16439,ERBIN,ENSG00000112851,protein_coding -17669,PCDHB2,ENSG00000112852,protein_coding -17637,HARS2,ENSG00000112855,protein_coding -17040,NUDT12,ENSG00000112874,protein_coding -15527,CEP72,ENSG00000112877,protein_coding -17082,MAN2A1,ENSG00000112893,protein_coding -15689,SEMA5A,ENSG00000112902,protein_coding -16134,C7,ENSG00000112936,protein_coding -15634,TENT4A,ENSG00000112941,protein_coding -16151,GHR,ENSG00000112964,protein_coding -16179,HMGCS1,ENSG00000112972,protein_coding -15740,DAP,ENSG00000112977,protein_coding -17536,NME5,ENSG00000112981,protein_coding -17539,BRD8,ENSG00000112983,protein_coding -17540,KIF20A,ENSG00000112984,protein_coding -16193,NNT,ENSG00000112992,protein_coding -16204,MRPS30,ENSG00000112996,protein_coding -17553,HSPA9,ENSG00000113013,protein_coding -16551,MRPS27,ENSG00000113048,protein_coding -17610,PFDN1,ENSG00000113068,protein_coding -17611,HBEGF,ENSG00000113070,protein_coding -17613,SLC4A9,ENSG00000113073,protein_coding -17239,LOX,ENSG00000113083,protein_coding -16277,GZMK,ENSG00000113088,protein_coding -15926,CDH9,ENSG00000113100,protein_coding -17621,APBB3,ENSG00000113108,protein_coding -17631,TMCO6,ENSG00000113119,protein_coding -17932,SPARC,ENSG00000113140,protein_coding -17632,IK,ENSG00000113141,protein_coding -16620,HMGCR,ENSG00000113161,protein_coding -16621,COL4A3BP,ENSG00000113163,protein_coding -18289,FAF2,ENSG00000113194,protein_coding -17962,HAND1,ENSG00000113196,protein_coding -17671,PCDHB3,ENSG00000113205,protein_coding -17674,PCDHB5,ENSG00000113209,protein_coding -17676,PCDHB6,ENSG00000113211,protein_coding -17679,PCDHB7,ENSG00000113212,protein_coding -16668,PDE8B,ENSG00000113231,protein_coding -18362,CLK4,ENSG00000113240,protein_coding -17695,PCDHB15,ENSG00000113248,protein_coding -17993,HAVCR1,ENSG00000113249,protein_coding -18380,GRM6,ENSG00000113262,protein_coding -17997,ITK,ENSG00000113263,protein_coding -18415,RNF130,ENSG00000113269,protein_coding -18015,THG1L,ENSG00000113272,protein_coding -16690,ARSB,ENSG00000113273,protein_coding -18018,CLINT1,ENSG00000113282,protein_coding -16713,THBS4,ENSG00000113296,protein_coding -18431,CNOT6,ENSG00000113300,protein_coding -18046,IL12B,ENSG00000113302,protein_coding -18446,BTNL8,ENSG00000113303,protein_coding -18054,TTC1,ENSG00000113312,protein_coding -16739,MSH3,ENSG00000113318,protein_coding -16743,RASGRF2,ENSG00000113319,protein_coding -18080,GABRG2,ENSG00000113327,protein_coding -18086,CCNG1,ENSG00000113328,protein_coding -16860,POLR3G,ENSG00000113356,protein_coding -15963,DROSHA,ENSG00000113360,protein_coding -15961,CDH6,ENSG00000113361,protein_coding -17305,LMNB1,ENSG00000113368,protein_coding -16874,ARRDC3,ENSG00000113369,protein_coding -15985,GOLPH3,ENSG00000113384,protein_coding -15995,SUB1,ENSG00000113387,protein_coding -15998,NPR3,ENSG00000113389,protein_coding -16894,FAM172A,ENSG00000113391,protein_coding -17331,SLC27A6,ENSG00000113396,protein_coding -16008,TARS,ENSG00000113407,protein_coding -15573,IRX4,ENSG00000113430,protein_coding -16949,LNPEP,ENSG00000113441,protein_coding -16359,PDE4D,ENSG00000113448,protein_coding -16034,RAD1,ENSG00000113456,protein_coding -16035,BRIX1,ENSG00000113460,protein_coding -16037,AGXT2,ENSG00000113492,protein_coding -16038,PRLR,ENSG00000113494,protein_coding -15544,SLC12A7,ENSG00000113504,protein_coding -17393,IL4,ENSG00000113520,protein_coding -17390,RAD50,ENSG00000113522,protein_coding -17389,IL5,ENSG00000113525,protein_coding -17016,ST8SIA4,ENSG00000113532,protein_coding -17748,GNPDA1,ENSG00000113552,protein_coding -17744,PCDH12,ENSG00000113555,protein_coding -17435,SKP1,ENSG00000113558,protein_coding -16077,NUP155,ENSG00000113569,protein_coding -17437,PPP2CA,ENSG00000113575,protein_coding -17757,FGF1,ENSG00000113578,protein_coding -17765,NR3C1,ENSG00000113580,protein_coding -17430,C5orf15,ENSG00000113583,protein_coding -16430,PPWD1,ENSG00000113593,protein_coding -16099,LIFR,ENSG00000113594,protein_coding -16431,TRIM23,ENSG00000113595,protein_coding -16434,TRAPPC13,ENSG00000113597,protein_coding -16112,C9,ENSG00000113600,protein_coding -17457,SEC24A,ENSG00000113615,protein_coding -17465,TXNDC15,ENSG00000113621,protein_coding -16126,TTC33,ENSG00000113638,protein_coding -18127,RARS,ENSG00000113643,protein_coding -18126,WWC1,ENSG00000113645,protein_coding -17483,H2AFY,ENSG00000113648,protein_coding -17806,TCERG1,ENSG00000113649,protein_coding -17818,DPYSL3,ENSG00000113657,protein_coding -17506,SMAD5,ENSG00000113658,protein_coding -17867,CSNK1A1,ENSG00000113712,protein_coding -17882,HMGXB3,ENSG00000113716,protein_coding -18201,ERGIC1,ENSG00000113719,protein_coding -17888,PDGFRB,ENSG00000113721,protein_coding -17889,CDX1,ENSG00000113722,protein_coding -18206,ATP6V0E1,ENSG00000113732,protein_coding -18213,BNIP1,ENSG00000113734,protein_coding -18218,STC2,ENSG00000113739,protein_coding -18232,CPEB4,ENSG00000113742,protein_coding -18259,HRH2,ENSG00000113749,protein_coding -18324,DBN1,ENSG00000113758,protein_coding -18305,ZNF346,ENSG00000113761,protein_coding -18302,UNC5A,ENSG00000113763,protein_coding -12552,EHHADH,ENSG00000113790,protein_coding -10927,CNTN3,ENSG00000113805,protein_coding -12178,SMC4,ENSG00000113810,protein_coding -10683,SELENOK,ENSG00000113811,protein_coding -10682,ACTR8,ENSG00000113812,protein_coding -12575,TBCCD1,ENSG00000113838,protein_coding -11395,TIMMDC1,ENSG00000113845,protein_coding -9697,CRBN,ENSG00000113851,protein_coding -12586,KNG1,ENSG00000113889,protein_coding -12583,HRG,ENSG00000113905,protein_coding -12619,BCL6,ENSG00000113916,protein_coding -11428,HGD,ENSG00000113924,protein_coding -12645,CLDN16,ENSG00000113946,protein_coding -11082,ARL6,ENSG00000113966,protein_coding -11718,NPHP3,ENSG00000113971,protein_coding -11456,CD86,ENSG00000114013,protein_coding -11747,AMOTL2,ENSG00000114019,protein_coding -11144,NIT2,ENSG00000114021,protein_coding -11462,FAM162A,ENSG00000114023,protein_coding -9767,OGG1,ENSG00000114026,protein_coding -11466,KPNA1,ENSG00000114030,protein_coding -11769,PCCB,ENSG00000114054,protein_coding -44498,UBE3A,ENSG00000114062,protein_coding -11799,ARMC8,ENSG00000114098,protein_coding -11804,CEP70,ENSG00000114107,protein_coding -11828,RBP2,ENSG00000114113,protein_coding -11831,RBP1,ENSG00000114115,protein_coding -11848,SLC25A36,ENSG00000114120,protein_coding -11867,GRK7,ENSG00000114124,protein_coding -11865,RNF7,ENSG00000114125,protein_coding -11874,TFDP2,ENSG00000114126,protein_coding -11878,XRN1,ENSG00000114127,protein_coding -9969,KAT2B,ENSG00000114166,protein_coding -12220,BCHE,ENSG00000114200,protein_coding -12238,SERPINI2,ENSG00000114204,protein_coding -12240,PDCD10,ENSG00000114209,protein_coding -12277,LRRC31,ENSG00000114248,protein_coding -10697,WNT5A,ENSG00000114251,protein_coding -10453,PFKFB4,ENSG00000114268,protein_coding -10456,COL7A1,ENSG00000114270,protein_coding -12666,FGF12,ENSG00000114279,protein_coding -10468,PRKAR2A,ENSG00000114302,protein_coding -12696,HES1,ENSG00000114315,protein_coding -10501,USP4,ENSG00000114316,protein_coding -12731,ACAP2,ENSG00000114331,protein_coding -12337,ECT2,ENSG00000114346,protein_coding -10541,GNAT1,ENSG00000114349,protein_coding -10543,GNAI2,ENSG00000114353,protein_coding -11151,TFG,ENSG00000114354,protein_coding -57925,USP9Y,ENSG00000114374,protein_coding -10554,HYAL1,ENSG00000114378,protein_coding -10556,TUSC2,ENSG00000114383,protein_coding -10561,NPRL2,ENSG00000114388,protein_coding -11173,RPL24,ENSG00000114391,protein_coding -10562,CYB561D2,ENSG00000114395,protein_coding -10778,C3orf14,ENSG00000114405,protein_coding -12444,FXR1,ENSG00000114416,protein_coding -11195,CBLB,ENSG00000114423,protein_coding -11222,BBX,ENSG00000114439,protein_coding -11228,IFT57,ENSG00000114446,protein_coding -12408,GNB4,ENSG00000114450,protein_coding -11229,HHLA2,ENSG00000114455,protein_coding -12836,IQCG,ENSG00000114473,protein_coding -10991,GBE1,ENSG00000114480,protein_coding -11241,MORC1,ENSG00000114487,protein_coding -11498,UMPS,ENSG00000114491,protein_coding -12805,NCBP2,ENSG00000114503,protein_coding -11517,SNX4,ENSG00000114520,protein_coding -11283,C3orf52,ENSG00000114529,protein_coding -10857,FRMD4B,ENSG00000114541,protein_coding -11544,SLC41A3,ENSG00000114544,protein_coding -11543,ROPN1B,ENSG00000114547,protein_coding -11571,PLXNA1,ENSG00000114554,protein_coding -11327,ATP6V1A,ENSG00000114573,protein_coding -11590,ABTB1,ENSG00000114626,protein_coding -11589,PODXL2,ENSG00000114631,protein_coding -11385,UPK1B,ENSG00000114638,protein_coding -10418,CSPG5,ENSG00000114646,protein_coding -10409,KLHL18,ENSG00000114648,protein_coding -10413,SCAP,ENSG00000114650,protein_coding -11628,EFCC1,ENSG00000114654,protein_coding -11626,KIAA1257,ENSG00000114656,protein_coding -11693,NEK11,ENSG00000114670,protein_coding -11700,MRPL3,ENSG00000114686,protein_coding -11924,PLSCR4,ENSG00000114698,protein_coding -10569,HEMK1,ENSG00000114735,protein_coding -10571,CISH,ENSG00000114737,protein_coding -10572,MAPKAPK3,ENSG00000114738,protein_coding -10188,ACVR2B,ENSG00000114739,protein_coding -10198,WDR48,ENSG00000114742,protein_coding -11985,COMMD2,ENSG00000114744,protein_coding -10199,GORASP1,ENSG00000114745,protein_coding -12421,PEX5L,ENSG00000114757,protein_coding -10599,RRP9,ENSG00000114767,protein_coding -12507,ABCC5,ENSG00000114770,protein_coding -12041,AADAC,ENSG00000114771,protein_coding -10605,ABHD14B,ENSG00000114779,protein_coding -10232,EIF1B,ENSG00000114784,protein_coding -10607,ABHD14A-ACY1,ENSG00000114786,protein_coding -12068,ARHGEF26,ENSG00000114790,protein_coding -12498,KLHL24,ENSG00000114796,protein_coding -12086,PLCH1,ENSG00000114805,protein_coding -10270,VIPR1,ENSG00000114812,protein_coding -10627,DNAH1,ENSG00000114841,protein_coding -12112,SSR3,ENSG00000114850,protein_coding -10276,ZBTB47,ENSG00000114853,protein_coding -10632,TNNC1,ENSG00000114854,protein_coding -10274,NKTR,ENSG00000114857,protein_coding -12535,CLCN2,ENSG00000114859,protein_coding -10873,FOXP1,ENSG00000114861,protein_coding -12532,EIF4G1,ENSG00000114867,protein_coding -10648,SPCS1,ENSG00000114902,protein_coding -10649,NEK4,ENSG00000114904,protein_coding -9227,SLC4A3,ENSG00000114923,protein_coding -8927,INO80D,ENSG00000114933,protein_coding -8935,EEF1B2,ENSG00000114942,protein_coding -8949,ADAM23,ENSG00000114948,protein_coding -6713,DGUOK,ENSG00000114956,protein_coding -6723,MOB1A,ENSG00000114978,protein_coding -7200,KANSL3,ENSG00000114982,protein_coding -7202,LMAN2L,ENSG00000114988,protein_coding -6741,RTKN,ENSG00000114993,protein_coding -7543,TTL,ENSG00000114999,protein_coding -7554,IL1A,ENSG00000115008,protein_coding -9326,CCL20,ENSG00000115009,protein_coding -9004,PIKFYVE,ENSG00000115020,protein_coding -7146,KCNIP3,ENSG00000115041,protein_coding -7148,FAHD2A,ENSG00000115042,protein_coding -9391,NCL,ENSG00000115053,protein_coding -7245,ACTR1B,ENSG00000115073,protein_coding -7595,SLC35F5,ENSG00000115084,protein_coding -7248,ZAP70,ENSG00000115085,protein_coding -7600,ACTR3,ENSG00000115091,protein_coding -7644,STEAP3,ENSG00000115107,protein_coding -7656,EPB41L5,ENSG00000115109,protein_coding -7679,TFCP2L1,ENSG00000115112,protein_coding -5827,SF3B6,ENSG00000115128,protein_coding -5829,TP53I3,ENSG00000115129,protein_coding -5848,DNAJC27,ENSG00000115137,protein_coding -5857,POMC,ENSG00000115138,protein_coding -8134,STAM2,ENSG00000115145,protein_coding -5887,OTOF,ENSG00000115155,protein_coding -8180,GPD2,ENSG00000115159,protein_coding -5894,CENPA,ENSG00000115163,protein_coding -8191,CYTIP,ENSG00000115165,protein_coding -8194,ACVR1,ENSG00000115170,protein_coding -8218,TANC1,ENSG00000115183,protein_coding -5918,SLC30A3,ENSG00000115194,protein_coding -5922,MPV17,ENSG00000115204,protein_coding -5923,GTF3C2,ENSG00000115207,protein_coding -5926,EIF2B4,ENSG00000115211,protein_coding -5931,NRBP1,ENSG00000115216,protein_coding -8239,ITGB6,ENSG00000115221,protein_coding -5936,FNDC4,ENSG00000115226,protein_coding -8566,ITGA4,ENSG00000115232,protein_coding -8252,PSMD14,ENSG00000115233,protein_coding -5927,SNX17,ENSG00000115234,protein_coding -6334,ASB3,ENSG00000115239,protein_coding -5929,PPM1G,ENSG00000115241,protein_coding -8578,PDE1A,ENSG00000115252,protein_coding -54856,REEP6,ENSG00000115255,protein_coding -54855,PCSK4,ENSG00000115257,protein_coding -8271,GCG,ENSG00000115263,protein_coding -54852,APC2,ENSG00000115266,protein_coding -8274,IFIH1,ENSG00000115267,protein_coding -54850,RPS15,ENSG00000115268,protein_coding -8275,GCA,ENSG00000115271,protein_coding -6742,INO80B,ENSG00000115274,protein_coding -6745,MOGS,ENSG00000115275,protein_coding -6749,TTC31,ENSG00000115282,protein_coding -54845,NDUFS7,ENSG00000115286,protein_coding -6753,PCGF1,ENSG00000115289,protein_coding -8285,GRB14,ENSG00000115290,protein_coding -5979,CLIP4,ENSG00000115295,protein_coding -6754,TLX2,ENSG00000115297,protein_coding -6349,SPTBN1,ENSG00000115306,protein_coding -6756,AUP1,ENSG00000115307,protein_coding -6358,RTN4,ENSG00000115310,protein_coding -6757,HTRA2,ENSG00000115317,protein_coding -6758,LOXL3,ENSG00000115318,protein_coding -6759,DOK1,ENSG00000115325,protein_coding -8299,GALNT3,ENSG00000115339,protein_coding -6772,POLE4,ENSG00000115350,protein_coding -6773,TACR1,ENSG00000115353,protein_coding -6368,CCDC88A,ENSG00000115355,protein_coding -9028,ACADL,ENSG00000115361,protein_coding -6777,EVA1A,ENSG00000115363,protein_coding -6783,MRPL19,ENSG00000115364,protein_coding -9032,LANCL1,ENSG00000115365,protein_coding -8648,WDR75,ENSG00000115368,protein_coding -6378,EFEMP1,ENSG00000115380,protein_coding -6820,REG1A,ENSG00000115386,protein_coding -6398,FANCL,ENSG00000115392,protein_coding -9070,FN1,ENSG00000115414,protein_coding -8679,STAT1,ENSG00000115415,protein_coding -8678,GLS,ENSG00000115419,protein_coding -6425,PAPOLG,ENSG00000115421,protein_coding -6864,DNAH6,ENSG00000115423,protein_coding -9083,PECR,ENSG00000115425,protein_coding -7259,UNC50,ENSG00000115446,protein_coding -9102,IGFBP2,ENSG00000115457,protein_coding -6886,ELMOD3,ENSG00000115459,protein_coding -9103,IGFBP5,ENSG00000115461,protein_coding -6443,USP34,ENSG00000115464,protein_coding -9439,EFHD1,ENSG00000115468,protein_coding -9444,KCNJ13,ENSG00000115474,protein_coding -6460,CCT4,ENSG00000115484,protein_coding -6900,GGCX,ENSG00000115486,protein_coding -9450,NEU2,ENSG00000115488,protein_coding -6480,EHBP1,ENSG00000115504,protein_coding -6486,OTX1,ENSG00000115507,protein_coding -7276,TXNDC9,ENSG00000115514,protein_coding -8753,COQ10B,ENSG00000115520,protein_coding -6909,GNLY,ENSG00000115523,protein_coding -8750,SF3B1,ENSG00000115524,protein_coding -6916,ST3GAL5,ENSG00000115525,protein_coding -7286,CHST10,ENSG00000115526,protein_coding -7290,PDCL3,ENSG00000115539,protein_coding -8757,MOB4,ENSG00000115540,protein_coding -8755,HSPE1,ENSG00000115541,protein_coding -6931,KDM3A,ENSG00000115548,protein_coding -9153,PLCD4,ENSG00000115556,protein_coding -6932,CHMP3,ENSG00000115561,protein_coding -9155,ZNF142,ENSG00000115568,protein_coding -7320,IL1R2,ENSG00000115590,protein_coding -9163,PRKAG3,ENSG00000115592,protein_coding -6976,SMYD1,ENSG00000115593,protein_coding -7322,IL1R1,ENSG00000115594,protein_coding -9166,WNT6,ENSG00000115596,protein_coding -7324,IL1RL2,ENSG00000115598,protein_coding -7326,IL1RL1,ENSG00000115602,protein_coding -7327,IL18R1,ENSG00000115604,protein_coding -7329,IL18RAP,ENSG00000115607,protein_coding -7334,SLC9A2,ENSG00000115616,protein_coding -7381,FHL2,ENSG00000115641,protein_coding -9531,MLPH,ENSG00000115648,protein_coding -9187,CNPPD1,ENSG00000115649,protein_coding -7389,UXS1,ENSG00000115652,protein_coding -9192,ABCB6,ENSG00000115657,protein_coding -9196,STK16,ENSG00000115661,protein_coding -7424,SLC5A7,ENSG00000115665,protein_coding -9627,HDLBP,ENSG00000115677,protein_coding -9625,PPP1R7,ENSG00000115685,protein_coding -9623,PASK,ENSG00000115687,protein_coding -9635,STK25,ENSG00000115694,protein_coding -5503,TPO,ENSG00000115705,protein_coding -7737,PROC,ENSG00000115718,protein_coding -5591,ID2,ENSG00000115738,protein_coding -5615,TAF1B,ENSG00000115750,protein_coding -5633,HPCAL1,ENSG00000115756,protein_coding -5634,ODC1,ENSG00000115758,protein_coding -6024,BIRC6,ENSG00000115760,protein_coding -5637,NOL10,ENSG00000115761,protein_coding -7854,PLEKHB2,ENSG00000115762,protein_coding -8369,GORASP2,ENSG00000115806,protein_coding -6071,STRN,ENSG00000115808,protein_coding -6081,CEBPZ,ENSG00000115816,protein_coding -6084,PRKD3,ENSG00000115825,protein_coding -8373,DCAF17,ENSG00000115827,protein_coding -6088,QPCT,ENSG00000115828,protein_coding -7959,RAB3GAP1,ENSG00000115839,protein_coding -8380,SLC25A12,ENSG00000115840,protein_coding -6096,RMDN2,ENSG00000115841,protein_coding -8385,DLX2,ENSG00000115844,protein_coding -7967,LCT,ENSG00000115850,protein_coding -7972,DARS,ENSG00000115866,protein_coding -6117,SRSF7,ENSG00000115875,protein_coding -5769,SDC1,ENSG00000115884,protein_coding -8764,PLCL1,ENSG00000115896,protein_coding -6533,SLC1A4,ENSG00000115902,protein_coding -6129,SOS1,ENSG00000115904,protein_coding -8024,KYNU,ENSG00000115919,protein_coding -8436,WIPF1,ENSG00000115935,protein_coding -8807,ORC2,ENSG00000115942,protein_coding -6161,COX7A2L,ENSG00000115944,protein_coding -6582,PNO1,ENSG00000115946,protein_coding -8084,ORC4,ENSG00000115947,protein_coding -6588,PLEK,ENSG00000115956,protein_coding -8112,RND3,ENSG00000115963,protein_coding -8444,ATF2,ENSG00000115966,protein_coding -6185,THADA,ENSG00000115970,protein_coding -6610,AAK1,ENSG00000115977,protein_coding -8829,TRAK2,ENSG00000115993,protein_coding -6629,C2orf42,ENSG00000115998,protein_coding -6630,TIA1,ENSG00000116001,protein_coding -6633,PCYOX1,ENSG00000116005,protein_coding -54813,KISS1R,ENSG00000116014,protein_coding -6237,EPAS1,ENSG00000116016,protein_coding -54814,ARID3A,ENSG00000116017,protein_coding -8860,SUMO1,ENSG00000116030,protein_coding -6648,CD207,ENSG00000116031,protein_coding -54819,GRIN3B,ENSG00000116032,protein_coding -6651,VAX2,ENSG00000116035,protein_coding -6652,ATP6V1B1,ENSG00000116039,protein_coding -8498,NFE2L2,ENSG00000116044,protein_coding -6274,MSH6,ENSG00000116062,protein_coding -8530,PLEKHA3,ENSG00000116095,protein_coding -6681,SPR,ENSG00000116096,protein_coding -9243,EPHA4,ENSG00000116106,protein_coding -8919,PARD3B,ENSG00000116117,protein_coding -9260,FARSB,ENSG00000116120,protein_coding -6697,ALMS1,ENSG00000116127,protein_coding -3007,BCL9,ENSG00000116128,protein_coding -3897,PRRX1,ENSG00000116132,protein_coding -1741,DHCR24,ENSG00000116133,protein_coding -509,DNAJC16,ENSG00000116138,protein_coding -4784,MARK1,ENSG00000116141,protein_coding -3997,TNR,ENSG00000116147,protein_coding -154,MORN1,ENSG00000116151,protein_coding -1658,GPX7,ENSG00000116157,protein_coding -3988,CACYBP,ENSG00000116161,protein_coding -1672,SCP2,ENSG00000116171,protein_coding -46536,TPSG1,ENSG00000116176,protein_coding -4012,PAPPA2,ENSG00000116183,protein_coding -4038,RALGPS2,ENSG00000116191,protein_coding -4041,ANGPTL1,ENSG00000116194,protein_coding -206,CEP104,ENSG00000116198,protein_coding -4042,FAM20B,ENSG00000116199,protein_coding -1714,TCEANC2,ENSG00000116205,protein_coding -1712,TMEM59,ENSG00000116209,protein_coding -1709,LRRC42,ENSG00000116212,protein_coding -195,WRAP73,ENSG00000116213,protein_coding -4059,NPHS2,ENSG00000116218,protein_coding -1722,MRPL37,ENSG00000116221,protein_coding -239,ICMT,ENSG00000116237,protein_coding -236,RPL22,ENSG00000116251,protein_coding -234,CHD5,ENSG00000116254,protein_coding -4078,QSOX1,ENSG00000116260,protein_coding -2521,STXBP3,ENSG00000116266,protein_coding -257,PHF13,ENSG00000116273,protein_coding -284,ERRFI1,ENSG00000116285,protein_coding -280,PARK7,ENSG00000116288,protein_coding -2539,KIAA1324,ENSG00000116299,protein_coding -983,OPRD1,ENSG00000116329,protein_coding -2557,AMPD2,ENSG00000116337,protein_coding -992,SRSF4,ENSG00000116350,protein_coding -994,MECR,ENSG00000116353,protein_coding -2583,KCNC4,ENSG00000116396,protein_coding -4166,EDEM3,ENSG00000116406,protein_coding -2631,WDR77,ENSG00000116455,protein_coding -2633,ATP5PB,ENSG00000116459,protein_coding -2638,RAP1A,ENSG00000116473,protein_coding -1070,HDAC1,ENSG00000116478,protein_coding -2658,CAPZA1,ENSG00000116489,protein_coding -1090,S100PBP,ENSG00000116497,protein_coding -1095,RNF19B,ENSG00000116514,protein_coding -3412,SCAMP3,ENSG00000116521,protein_coding -1104,TRIM62,ENSG00000116525,protein_coding -3419,ASH1L,ENSG00000116539,protein_coding -1134,DLGAP3,ENSG00000116544,protein_coding -1144,SFPQ,ENSG00000116560,protein_coding -5007,RHOU,ENSG00000116574,protein_coding -3437,GON4L,ENSG00000116580,protein_coding -3447,ARHGEF2,ENSG00000116584,protein_coding -3454,LAMTOR2,ENSG00000116586,protein_coding -3476,MEF2D,ENSG00000116604,protein_coding -1840,DOCK7,ENSG00000116641,protein_coding -376,SRM,ENSG00000116649,protein_coding -394,FBXO2,ENSG00000116661,protein_coding -396,FBXO6,ENSG00000116663,protein_coding -4161,C1orf21,ENSG00000116667,protein_coding -4174,SWT1,ENSG00000116668,protein_coding -397,MAD2L2,ENSG00000116670,protein_coding -1904,DNAJC6,ENSG00000116675,protein_coding -1909,LEPR,ENSG00000116678,protein_coding -4183,IVNS1ABP,ENSG00000116679,protein_coding -413,KIAA2013,ENSG00000116685,protein_coding -416,MFN2,ENSG00000116688,protein_coding -4196,PRG4,ENSG00000116690,protein_coding -418,MIIP,ENSG00000116691,protein_coding -4145,SMG7,ENSG00000116698,protein_coding -4146,NCF2,ENSG00000116701,protein_coding -4202,PDC,ENSG00000116703,protein_coding -1925,SLC35D1,ENSG00000116704,protein_coding -4208,PLA2G4A,ENSG00000116711,protein_coding -1941,GADD45A,ENSG00000116717,protein_coding -443,PRAMEF1,ENSG00000116721,protein_coding -442,PRAMEF12,ENSG00000116726,protein_coding -1948,WLS,ENSG00000116729,protein_coding -488,PRDM2,ENSG00000116731,protein_coding -4259,RGS2,ENSG00000116741,protein_coding -1955,RPE65,ENSG00000116745,protein_coding -4264,RO60,ENSG00000116747,protein_coding -2709,AMPD1,ENSG00000116748,protein_coding -4262,UCHL5,ENSG00000116750,protein_coding -2707,BCAS2,ENSG00000116752,protein_coding -1975,SRSF11,ENSG00000116754,protein_coding -1980,CTH,ENSG00000116761,protein_coding -512,AGMAT,ENSG00000116771,protein_coding -2695,OLFML3,ENSG00000116774,protein_coding -2017,TNNI3K,ENSG00000116783,protein_coding -4286,CFHR3,ENSG00000116785,protein_coding -520,PLEKHM2,ENSG00000116786,protein_coding -2024,CRYZ,ENSG00000116791,protein_coding -2684,PHTF1,ENSG00000116793,protein_coding -532,ZBTB17,ENSG00000116809,protein_coding -2751,CD58,ENSG00000116815,protein_coding -1156,TFAP2E,ENSG00000116819,protein_coding -2759,CD2,ENSG00000116824,protein_coding -2766,TTF2,ENSG00000116830,protein_coding -4334,NR5A2,ENSG00000116833,protein_coding -4353,KIF21B,ENSG00000116852,protein_coding -4358,TMEM9,ENSG00000116857,protein_coding -1170,ADPRHL2,ENSG00000116863,protein_coding -1173,MAP7D1,ENSG00000116871,protein_coding -2793,WARS2,ENSG00000116874,protein_coding -2802,HAO2,ENSG00000116882,protein_coding -1184,OSCP1,ENSG00000116885,protein_coding -1186,MRPS15,ENSG00000116898,protein_coding -5067,EXOC8,ENSG00000116903,protein_coding -5065,GNPAT,ENSG00000116906,protein_coding -5074,TSNAX,ENSG00000116918,protein_coding -1211,C1orf109,ENSG00000116922,protein_coding -1245,RRAGC,ENSG00000116954,protein_coding -5175,NID1,ENSG00000116962,protein_coding -5185,LGALS8,ENSG00000116977,protein_coding -1272,NT5C1A,ENSG00000116981,protein_coding -1273,HPCAL4,ENSG00000116983,protein_coding -5191,MTR,ENSG00000116984,protein_coding -1277,BMP8B,ENSG00000116985,protein_coding -1286,MYCL,ENSG00000116990,protein_coding -5086,SIPA1L2,ENSG00000116991,protein_coding -5201,ZP4,ENSG00000116996,protein_coding -1294,RLF,ENSG00000117000,protein_coding -5257,KMO,ENSG00000117009,protein_coding -1313,ZNF684,ENSG00000117010,protein_coding -1324,KCNQ4,ENSG00000117013,protein_coding -1317,RIMS3,ENSG00000117016,protein_coding -5294,AKT3,ENSG00000117020,protein_coding -3511,ETV3,ENSG00000117036,protein_coding -2037,ACADM,ENSG00000117054,protein_coding -2053,ST6GALNAC5,ENSG00000117069,protein_coding -3643,SLAMF1,ENSG00000117090,protein_coding -3646,CD48,ENSG00000117091,protein_coding -2116,ADGRL2,ENSG00000117114,protein_coding -596,PADI2,ENSG00000117115,protein_coding -595,SDHB,ENSG00000117118,protein_coding -591,MFAP2,ENSG00000117122,protein_coding -2146,RPF1,ENSG00000117133,protein_coding -4412,KDM5B,ENSG00000117139,protein_coding -3733,UAP1,ENSG00000117143,protein_coding -608,ACTL8,ENSG00000117148,protein_coding -2150,CTBS,ENSG00000117151,protein_coding -3741,RGS4,ENSG00000117152,protein_coding -4421,KLHL12,ENSG00000117153,protein_coding -611,IGSF21,ENSG00000117154,protein_coding -2155,SSX2IP,ENSG00000117155,protein_coding -2176,ZNHIT6,ENSG00000117174,protein_coding -653,PLA2G2D,ENSG00000117215,protein_coding -4492,RBBP5,ENSG00000117222,protein_coding -2220,GBP3,ENSG00000117226,protein_coding -2222,GBP1,ENSG00000117228,protein_coding -676,KIF17,ENSG00000117245,protein_coding -2946,GPR89A,ENSG00000117262,protein_coding -4507,CDK18,ENSG00000117266,protein_coding -4517,RAB29,ENSG00000117280,protein_coding -2948,CD160,ENSG00000117281,protein_coding -688,ECE1,ENSG00000117298,protein_coding -772,HMGCL,ENSG00000117305,protein_coding -771,GALE,ENSG00000117308,protein_coding -762,ID3,ENSG00000117318,protein_coding -4572,CR2,ENSG00000117322,protein_coding -4580,CD46,ENSG00000117335,protein_coding -3120,PRPF3,ENSG00000117360,protein_coding -3116,APH1A,ENSG00000117362,protein_coding -1369,P3H1,ENSG00000117385,protein_coding -1381,SLC2A1,ENSG00000117394,protein_coding -1389,EBNA1BP2,ENSG00000117395,protein_coding -1399,CDC20,ENSG00000117399,protein_coding -1396,MPL,ENSG00000117400,protein_coding -1419,ARTN,ENSG00000117407,protein_coding -1421,IPO13,ENSG00000117408,protein_coding -1424,ATP6V0B,ENSG00000117410,protein_coding -1425,B4GALT2,ENSG00000117411,protein_coding -1441,ERI3,ENSG00000117419,protein_coding -1463,PTCH2,ENSG00000117425,protein_coding -1485,AKR1A1,ENSG00000117448,protein_coding -1483,PRDX1,ENSG00000117450,protein_coding -1501,PIK3R3,ENSG00000117461,protein_coding -1506,TSPAN1,ENSG00000117472,protein_coding -3867,BLZF1,ENSG00000117475,protein_coding -3868,CCDC181,ENSG00000117477,protein_coding -3869,SLC19A2,ENSG00000117479,protein_coding -1515,FAAH,ENSG00000117480,protein_coding -1513,NSUN4,ENSG00000117481,protein_coding -2310,TMED5,ENSG00000117500,protein_coding -3900,MROH9,ENSG00000117501,protein_coding -2316,DR1,ENSG00000117505,protein_coding -2352,CNN3,ENSG00000117519,protein_coding -3916,PRRC2C,ENSG00000117523,protein_coding -2346,F3,ENSG00000117525,protein_coding -2345,ABCD3,ENSG00000117528,protein_coding -3921,VAMP4,ENSG00000117533,protein_coding -2445,DPH5,ENSG00000117543,protein_coding -3941,FASLG,ENSG00000117560,protein_coding -2380,PTBP2,ENSG00000117569,protein_coding -3950,TNFSF4,ENSG00000117586,protein_coding -3954,PRDX6,ENSG00000117592,protein_coding -3965,DARS2,ENSG00000117593,protein_coding -4614,HSD11B1,ENSG00000117594,protein_coding -4618,IRF6,ENSG00000117595,protein_coding -4619,UTP25,ENSG00000117597,protein_coding -2398,PLPPR5,ENSG00000117598,protein_coding -2401,PLPPR4,ENSG00000117600,protein_coding -3969,SERPINC1,ENSG00000117601,protein_coding -793,RCAN3,ENSG00000117602,protein_coding -811,SYF2,ENSG00000117614,protein_coding -814,RSRP1,ENSG00000117616,protein_coding -2412,SLC35A3,ENSG00000117620,protein_coding -4640,RCOR3,ENSG00000117625,protein_coding -837,STMN1,ENSG00000117632,protein_coding -831,MTFR1L,ENSG00000117640,protein_coding -826,MAN1C1,ENSG00000117643,protein_coding -4652,NEK2,ENSG00000117650,protein_coding -872,RPS6KA1,ENSG00000117676,protein_coding -867,DHDDS,ENSG00000117682,protein_coding -4677,NENF,ENSG00000117691,protein_coding -4689,NSL1,ENSG00000117697,protein_coding -4706,PROX1,ENSG00000117707,protein_coding -881,ARID1A,ENSG00000117713,protein_coding -4715,CENPF,ENSG00000117724,protein_coding -940,RPA2,ENSG00000117748,protein_coding -937,PPP1R8,ENSG00000117751,protein_coding -932,STX12,ENSG00000117758,protein_coding -4788,MARC2,ENSG00000117791,protein_coding -1567,SLC5A9,ENSG00000117834,protein_coding -1622,OSBPL9,ENSG00000117859,protein_coding -1635,TXNDC12,ENSG00000117862,protein_coding -24552,ESYT2,ENSG00000117868,protein_coding -56792,CD3EAP,ENSG00000117877,protein_coding -45911,MESD,ENSG00000117899,protein_coding -45795,RCN2,ENSG00000117906,protein_coding -45849,CHRNB4,ENSG00000117971,protein_coding -31874,MUC5B,ENSG00000117983,protein_coding -31898,CTSD,ENSG00000117984,protein_coding -5533,COLEC11,ENSG00000118004,protein_coding -11770,STAG1,ENSG00000118007,protein_coding -11796,A4GNT,ENSG00000118017,protein_coding -54830,STK11,ENSG00000118046,protein_coding -34753,KMT2A,ENSG00000118058,protein_coding -34764,TREH,ENSG00000118094,protein_coding -34757,IFT46,ENSG00000118096,protein_coding -34433,MMP8,ENSG00000118113,protein_coding -34701,APOA1,ENSG00000118137,protein_coding -56903,ZNF541,ENSG00000118156,protein_coding -56897,SLC8A2,ENSG00000118160,protein_coding -56899,KPTN,ENSG00000118162,protein_coding -34789,RPS25,ENSG00000118181,protein_coding -4344,KIF14,ENSG00000118193,protein_coding -4362,TNNT2,ENSG00000118194,protein_coding -4345,DDX59,ENSG00000118197,protein_coding -4347,CAMSAP2,ENSG00000118200,protein_coding -3715,ATF6,ENSG00000118217,protein_coding -8994,CRYGD,ENSG00000118231,protein_coding -9082,MREG,ENSG00000118242,protein_coding -9111,TNP1,ENSG00000118245,protein_coding -8957,FASTKD2,ENSG00000118246,protein_coding -8922,NRP2,ENSG00000118257,protein_coding -8976,CREB1,ENSG00000118260,protein_coding -8963,KLF7,ENSG00000118263,protein_coding -52597,TTR,ENSG00000118271,protein_coding -52598,B4GALT6,ENSG00000118276,protein_coding -3117,C1orf54,ENSG00000118292,protein_coding -3115,CA14,ENSG00000118298,protein_coding -38138,CASC1,ENSG00000118307,protein_coding -38134,LRMP,ENSG00000118308,protein_coding -18070,ATP10B,ENSG00000118322,protein_coding -33953,SPCS2,ENSG00000118363,protein_coding -34054,USP35,ENSG00000118369,protein_coding -20219,ELOVL4,ENSG00000118402,protein_coding -20161,FILIP1,ENSG00000118407,protein_coding -20370,CASP8AP2,ENSG00000118412,protein_coding -20199,HMGN3,ENSG00000118418,protein_coding -20251,UBE3D,ENSG00000118420,protein_coding -20338,CNR1,ENSG00000118432,protein_coding -20337,SPACA1,ENSG00000118434,protein_coding -1977,ANKRD13C,ENSG00000118454,protein_coding -1917,SGIP1,ENSG00000118473,protein_coding -20038,PHF3,ENSG00000118482,protein_coding -21084,ZC2HC1B,ENSG00000118491,protein_coding -21116,ADGB,ENSG00000118492,protein_coding -21085,PLAGL1,ENSG00000118495,protein_coding -21108,FBXO30,ENSG00000118496,protein_coding -21000,TNFAIP3,ENSG00000118503,protein_coding -20857,AKAP7,ENSG00000118507,protein_coding -21114,RAB32,ENSG00000118508,protein_coding -20948,MYB,ENSG00000118513,protein_coding -20943,ALDH8A1,ENSG00000118514,protein_coding -20927,SGK1,ENSG00000118515,protein_coding -20812,RNF146,ENSG00000118518,protein_coding -20860,ARG1,ENSG00000118520,protein_coding -20874,CCN2,ENSG00000118523,protein_coding -20920,TCF21,ENSG00000118526,protein_coding -48528,PMFBP1,ENSG00000118557,protein_coding -13207,FBXL5,ENSG00000118564,protein_coding -13239,MED28,ENSG00000118579,protein_coding -39066,SLC16A7,ENSG00000118596,protein_coding -39114,RXYLT1,ENSG00000118600,protein_coding -55907,ZNF430,ENSG00000118620,protein_coding -6901,VAMP8,ENSG00000118640,protein_coding -2692,DCLRE1B,ENSG00000118655,protein_coding -52130,MYL12B,ENSG00000118680,protein_coding -20561,FOXO3,ENSG00000118689,protein_coding -20567,ARMC2,ENSG00000118690,protein_coding -54085,GHRH,ENSG00000118702,protein_coding -54084,RPN2,ENSG00000118705,protein_coding -54066,TGIF2,ENSG00000118707,protein_coding -2732,CASQ2,ENSG00000118729,protein_coding -2458,OLFM3,ENSG00000118733,protein_coding -14170,PKD2,ENSG00000118762,protein_coding -14171,ABCG2,ENSG00000118777,protein_coding -14168,SPP1,ENSG00000118785,protein_coding -13992,STBD1,ENSG00000118804,protein_coding -14010,CCNI,ENSG00000118816,protein_coding -12153,RARRES1,ENSG00000118849,protein_coding -12154,MFSD1,ENSG00000118855,protein_coding -4769,RAB3GAP2,ENSG00000118873,protein_coding -46830,EEF2KMT,ENSG00000118894,protein_coding -46823,PPL,ENSG00000118898,protein_coding -46822,UBN1,ENSG00000118900,protein_coding -41414,KLF12,ENSG00000118922,protein_coding -41433,UCHL3,ENSG00000118939,protein_coding -41285,PCDH17,ENSG00000118946,protein_coding -5780,HS1BP3,ENSG00000118960,protein_coding -5786,LDAH,ENSG00000118961,protein_coding -5760,WDR35,ENSG00000118965,protein_coding -37587,CCND2,ENSG00000118971,protein_coding -37590,FGF23,ENSG00000118972,protein_coding -16932,ELL2,ENSG00000118985,protein_coding -8727,DNAH7,ENSG00000118997,protein_coding -8898,CYP20A1,ENSG00000119004,protein_coding -8812,NDUFB3,ENSG00000119013,protein_coding -8738,GTF3C3,ENSG00000119041,protein_coding -8772,SATB2,ENSG00000119042,protein_coding -17443,UBE2B,ENSG00000119048,protein_coding -30490,TRPM6,ENSG00000119121,protein_coding -30465,GDA,ENSG00000119125,protein_coding -30448,KLF9,ENSG00000119138,protein_coding -30429,TJP2,ENSG00000119139,protein_coding -7388,C2orf40,ENSG00000119147,protein_coding -5602,ITGB1BP1,ENSG00000119185,protein_coding -5603,CPSF3,ENSG00000119203,protein_coding -12808,PIGZ,ENSG00000119227,protein_coding -12803,SENP5,ENSG00000119231,protein_coding -40265,CCDC92,ENSG00000119242,protein_coding -5051,C1orf198,ENSG00000119280,protein_coding -5062,TRIM67,ENSG00000119283,protein_coding -5189,HEATR1,ENSG00000119285,protein_coding -31122,PTBP3,ENSG00000119314,protein_coding -31044,RAD23B,ENSG00000119318,protein_coding -31150,FKBP15,ENSG00000119321,protein_coding -31070,CTNNAL1,ENSG00000119326,protein_coding -31069,ABITRAM,ENSG00000119328,protein_coding -31440,WDR34,ENSG00000119333,protein_coding -31443,SET,ENSG00000119335,protein_coding -31467,PTPA,ENSG00000119383,protein_coding -31434,GLE1,ENSG00000119392,protein_coding -31240,RAB14,ENSG00000119396,protein_coding -31239,CNTRL,ENSG00000119397,protein_coding -31205,TRIM32,ENSG00000119401,protein_coding -31231,FBXW2,ENSG00000119402,protein_coding -31236,PHF19,ENSG00000119403,protein_coding -31311,NEK6,ENSG00000119408,protein_coding -31156,BSPRY,ENSG00000119411,protein_coding -31333,PPP6C,ENSG00000119414,protein_coding -31257,NDUFA8,ENSG00000119421,protein_coding -31157,HDHD3,ENSG00000119431,protein_coding -31260,RBM18,ENSG00000119446,protein_coding -31135,SLC46A2,ENSG00000119457,protein_coding -31128,HSDL2,ENSG00000119471,protein_coding -31345,MAPKAP1,ENSG00000119487,protein_coding -30942,NR4A3,ENSG00000119508,protein_coding -30947,INVS,ENSG00000119509,protein_coding -30922,GALNT12,ENSG00000119514,protein_coding -31300,DENND1A,ENSG00000119522,protein_coding -30931,ALG2,ENSG00000119523,protein_coding -1187,CSF3R,ENSG00000119535,protein_coding -53053,KDSR,ENSG00000119537,protein_coding -53055,VPS4B,ENSG00000119541,protein_coding -52947,ONECUT2,ENSG00000119547,protein_coding -54854,C19orf25,ENSG00000119559,protein_coding -57731,ZBTB45,ENSG00000119574,protein_coding -43290,YLPM1,ENSG00000119596,protein_coding -43212,DCAF4,ENSG00000119599,protein_coding -43291,PROX2,ENSG00000119608,protein_coding -43270,VSX2,ENSG00000119614,protein_coding -43289,FCF1,ENSG00000119616,protein_coding -43295,PGF,ENSG00000119630,protein_coding -43600,IFI27L2,ENSG00000119632,protein_coding -43265,BBOF1,ENSG00000119636,protein_coding -43303,NEK9,ENSG00000119638,protein_coding -43301,ACYP1,ENSG00000119640,protein_coding -43327,IFT43,ENSG00000119650,protein_coding -43279,NPC2,ENSG00000119655,protein_coding -43244,DNAL1,ENSG00000119661,protein_coding -43356,IRF2BPL,ENSG00000119669,protein_coding -43238,ACOT2,ENSG00000119673,protein_coding -43283,LTBP2,ENSG00000119681,protein_coding -43286,AREL1,ENSG00000119682,protein_coding -43299,MLH3,ENSG00000119684,protein_coding -43323,TTLL5,ENSG00000119685,protein_coding -43319,FLVCR2,ENSG00000119686,protein_coding -43271,ABCD4,ENSG00000119688,protein_coding -43293,DLST,ENSG00000119689,protein_coding -43601,PPP4R4,ENSG00000119698,protein_coding -43328,TGFB3,ENSG00000119699,protein_coding -43302,ZC2HC1C,ENSG00000119703,protein_coding -43387,SLIRP,ENSG00000119705,protein_coding -43219,RBM25,ENSG00000119707,protein_coding -43266,ALDH6A1,ENSG00000119711,protein_coding -43538,GPR68,ENSG00000119714,protein_coding -43336,ESRRB,ENSG00000119715,protein_coding -43296,EIF2B2,ENSG00000119718,protein_coding -43517,NRDE2,ENSG00000119720,protein_coding -43262,COQ6,ENSG00000119723,protein_coding -43257,ZNF410,ENSG00000119725,protein_coding -6245,RHOQ,ENSG00000119729,protein_coding -6339,GPR75,ENSG00000119737,protein_coding -5944,SUPT7L,ENSG00000119760,protein_coding -5813,KLHL29,ENSG00000119771,protein_coding -5859,DNMT3A,ENSG00000119772,protein_coding -5900,TMEM214,ENSG00000119777,protein_coding -5817,ATAD2B,ENSG00000119778,protein_coding -5826,FKBP1B,ENSG00000119782,protein_coding -6107,ATL2,ENSG00000119787,protein_coding -5987,YPEL5,ENSG00000119801,protein_coding -6045,FAM98A,ENSG00000119812,protein_coding -6022,YIPF4,ENSG00000119820,protein_coding -6519,AFTPH,ENSG00000119844,protein_coding -6516,LGALSL,ENSG00000119862,protein_coding -6586,CNRIP1,ENSG00000119865,protein_coding -6418,BCL11A,ENSG00000119866,protein_coding -6248,CRIPT,ENSG00000119878,protein_coding -6266,EPCAM,ENSG00000119888,protein_coding -20145,SLC17A5,ENSG00000119899,protein_coding -20097,OGFRL1,ENSG00000119900,protein_coding -36918,SLF2,ENSG00000119906,protein_coding -36735,IDE,ENSG00000119912,protein_coding -37106,TECTB,ENSG00000119913,protein_coding -36964,ELOVL3,ENSG00000119915,protein_coding -36672,IFIT3,ENSG00000119917,protein_coding -36878,NKX2-3,ENSG00000119919,protein_coding -36670,IFIT2,ENSG00000119922,protein_coding -37105,GPAM,ENSG00000119927,protein_coding -36885,CUTC,ENSG00000119929,protein_coding -36714,PPP1R3C,ENSG00000119938,protein_coding -36864,PYROXD2,ENSG00000119943,protein_coding -36873,CNNM1,ENSG00000119946,protein_coding -37076,MXI1,ENSG00000119950,protein_coding -37079,SMNDC1,ENSG00000119953,protein_coding -37286,C10orf88,ENSG00000119965,protein_coding -36775,HELLS,ENSG00000119969,protein_coding -37205,PRLHR,ENSG00000119973,protein_coding -36799,TCTN3,ENSG00000119977,protein_coding -37217,FAM45A,ENSG00000119979,protein_coding -36853,AVPI1,ENSG00000119986,protein_coding -37248,WDR11,ENSG00000120008,protein_coding -36955,ARMH3,ENSG00000120029,protein_coding -36954,KCNIP2,ENSG00000120049,protein_coding -37041,CFAP58,ENSG00000120051,protein_coding -36874,GOT1,ENSG00000120053,protein_coding -36891,CPN1,ENSG00000120054,protein_coding -36973,C10orf95,ENSG00000120055,protein_coding -36856,SFRP5,ENSG00000120057,protein_coding -51473,GNA13,ENSG00000120063,protein_coding -50979,HOXB8,ENSG00000120068,protein_coding -50882,KANSL1,ENSG00000120071,protein_coding -50976,HOXB5,ENSG00000120075,protein_coding -50874,CRHR1,ENSG00000120088,protein_coding -50970,HOXB3,ENSG00000120093,protein_coding -50967,HOXB1,ENSG00000120094,protein_coding -18197,DUSP1,ENSG00000120129,protein_coding -18129,PANK3,ENSG00000120137,protein_coding -18245,MSX2,ENSG00000120149,protein_coding -29825,TEK,ENSG00000120156,protein_coding -29534,RCL1,ENSG00000120158,protein_coding -29817,CAAP1,ENSG00000120159,protein_coding -29829,EQTN,ENSG00000120160,protein_coding -29830,MOB3B,ENSG00000120162,protein_coding -29552,INSL6,ENSG00000120210,protein_coding -29554,INSL4,ENSG00000120211,protein_coding -29571,MLANA,ENSG00000120215,protein_coding -29562,CD274,ENSG00000120217,protein_coding -29756,IFNA6,ENSG00000120235,protein_coding -29762,IFNA8,ENSG00000120242,protein_coding -15065,GRIA2,ENSG00000120251,protein_coding -21165,NUP43,ENSG00000120253,protein_coding -21202,MTHFD1L,ENSG00000120254,protein_coding -21171,LRP11,ENSG00000120256,protein_coding -21220,CCDC170,ENSG00000120262,protein_coding -21166,PCMT1,ENSG00000120265,protein_coding -21197,PLEKHG1,ENSG00000120278,protein_coding -21231,MYCT1,ENSG00000120279,protein_coding -24925,CXorf21,ENSG00000120280,protein_coding -24921,MAGEB4,ENSG00000120289,protein_coding -17608,CYSTM1,ENSG00000120306,protein_coding -17634,WDR55,ENSG00000120314,protein_coding -17736,ARAP3,ENSG00000120318,protein_coding -17680,PCDHB8,ENSG00000120322,protein_coding -17687,PCDHB10,ENSG00000120324,protein_coding -17691,PCDHB14,ENSG00000120327,protein_coding -17689,PCDHB12,ENSG00000120328,protein_coding -17698,SLC25A2,ENSG00000120329,protein_coding -3992,TNN,ENSG00000120332,protein_coding -3989,MRPS14,ENSG00000120333,protein_coding -3963,CENPL,ENSG00000120334,protein_coding -3947,TNFSF18,ENSG00000120337,protein_coding -4021,SEC16B,ENSG00000120341,protein_coding -3894,GORAB,ENSG00000120370,protein_coding -21457,GPR31,ENSG00000120436,protein_coding -21353,ACAT2,ENSG00000120437,protein_coding -21354,TCP1,ENSG00000120438,protein_coding -21464,TTLL2,ENSG00000120440,protein_coding -35093,SNX19,ENSG00000120451,protein_coding -35053,KCNJ5,ENSG00000120457,protein_coding -34965,MSANTD2,ENSG00000120458,protein_coding -35055,TP53AIP1,ENSG00000120471,protein_coding -25591,TEX11,ENSG00000120498,protein_coding -25580,ARR3,ENSG00000120500,protein_coding -25582,PDZD11,ENSG00000120509,protein_coding -14887,SLC10A7,ENSG00000120519,protein_coding -28915,NUDCD1,ENSG00000120526,protein_coding -28917,ENY2,ENSG00000120533,protein_coding -35603,MASTL,ENSG00000120539,protein_coding -35555,KIAA1217,ENSG00000120549,protein_coding -35649,LYZL1,ENSG00000120563,protein_coding -35486,PLXDC2,ENSG00000120594,protein_coding -35711,EPC1,ENSG00000120616,protein_coding -37485,IQSEC3,ENSG00000120645,protein_coding -37497,CCDC77,ENSG00000120647,protein_coding -975,TAF12,ENSG00000120656,protein_coding -41030,ENOX1,ENSG00000120658,protein_coding -41021,TNFSF11,ENSG00000120659,protein_coding -40996,MTRF1,ENSG00000120662,protein_coding -40912,SOHLH2,ENSG00000120669,protein_coding -41027,DNAJC15,ENSG00000120675,protein_coding -40959,PROSER1,ENSG00000120685,protein_coding -40948,UFM1,ENSG00000120686,protein_coding -40988,WBP4,ENSG00000120688,protein_coding -40986,ELF1,ENSG00000120690,protein_coding -40926,SMAD9,ENSG00000120693,protein_coding -40854,HSPH1,ENSG00000120694,protein_coding -40994,KBTBD7,ENSG00000120696,protein_coding -40931,ALG5,ENSG00000120697,protein_coding -40932,EXOSC8,ENSG00000120699,protein_coding -17552,ETF1,ENSG00000120705,protein_coding -17501,TGFBI,ENSG00000120708,protein_coding -17545,FAM53C,ENSG00000120709,protein_coding -17561,SIL1,ENSG00000120725,protein_coding -17574,PAIP2,ENSG00000120727,protein_coding -17529,MYOT,ENSG00000120729,protein_coding -17547,KDM3B,ENSG00000120733,protein_coding -17550,EGR1,ENSG00000120738,protein_coding -12006,SERP1,ENSG00000120742,protein_coding -11886,PLS1,ENSG00000120756,protein_coding -56386,ZFP30,ENSG00000120784,protein_coding -39586,NR2C1,ENSG00000120798,protein_coding -39700,UTP20,ENSG00000120800,protein_coding -39662,TMPO,ENSG00000120802,protein_coding -39701,ARL1,ENSG00000120805,protein_coding -39764,GLT8D2,ENSG00000120820,protein_coding -39813,MTERF2,ENSG00000120832,protein_coding -39556,SOCS2,ENSG00000120833,protein_coding -39767,NFYB,ENSG00000120837,protein_coding -39728,WASHC3,ENSG00000120860,protein_coding -39667,APAF1,ENSG00000120868,protein_coding -27642,DUSP4,ENSG00000120875,protein_coding -27593,CLU,ENSG00000120885,protein_coding -27507,TNFRSF10B,ENSG00000120889,protein_coding -27488,SORBS3,ENSG00000120896,protein_coding -27588,PTK2B,ENSG00000120899,protein_coding -27590,CHRNA2,ENSG00000120903,protein_coding -27577,ADRA1A,ENSG00000120907,protein_coding -27485,PPP3CC,ENSG00000120910,protein_coding -27491,PDLIM2,ENSG00000120913,protein_coding -27591,EPHX2,ENSG00000120915,protein_coding -27897,RNF170,ENSG00000120925,protein_coding -408,NPPB,ENSG00000120937,protein_coding -386,UBIAD1,ENSG00000120942,protein_coding -372,TARDBP,ENSG00000120948,protein_coding -422,TNFRSF8,ENSG00000120949,protein_coding -448,PRAMEF2,ENSG00000120952,protein_coding -28791,ZNF706,ENSG00000120963,protein_coding -28047,LYPLA1,ENSG00000120992,protein_coding -28379,CRISPLD1,ENSG00000121005,protein_coding -28247,COPS5,ENSG00000121022,protein_coding -28338,RDH10,ENSG00000121039,protein_coding -51215,EPX,ENSG00000121053,protein_coding -51183,AKAP1,ENSG00000121057,protein_coding -51176,COIL,ENSG00000121058,protein_coding -51170,TRIM25,ENSG00000121060,protein_coding -51179,SCPEP1,ENSG00000121064,protein_coding -51039,SPOP,ENSG00000121067,protein_coding -51335,TBX2,ENSG00000121068,protein_coding -51040,SLC35B1,ENSG00000121073,protein_coding -51337,TBX4,ENSG00000121075,protein_coding -51236,TEX14,ENSG00000121101,protein_coding -51042,FAM117A,ENSG00000121104,protein_coding -7196,NCAPH,ENSG00000121152,protein_coding -15017,LRAT,ENSG00000121207,protein_coding -14996,TMEM131L,ENSG00000121210,protein_coding -14994,MND1,ENSG00000121211,protein_coding -32120,TRIM6,ENSG00000121236,protein_coding -47896,ABCC11,ENSG00000121270,protein_coding -47949,TENT4B,ENSG00000121274,protein_coding -47950,ADCY7,ENSG00000121281,protein_coding -56156,CEP89,ENSG00000121289,protein_coding -56121,TSHZ3,ENSG00000121297,protein_coding -1669,ECHDC2,ENSG00000121310,protein_coding -37885,TAS2R8,ENSG00000121314,protein_coding -37989,PLBD1,ENSG00000121316,protein_coding -37888,TAS2R10,ENSG00000121318,protein_coding -37917,PRB2,ENSG00000121335,protein_coding -38084,PYROXD1,ENSG00000121350,protein_coding -38083,IAPP,ENSG00000121351,protein_coding -38094,KCNJ8,ENSG00000121361,protein_coding -37884,TAS2R7,ENSG00000121377,protein_coding -37928,BCL2L14,ENSG00000121380,protein_coding -37886,TAS2R9,ENSG00000121381,protein_coding -40598,PSPC1,ENSG00000121390,protein_coding -57646,ZNF549,ENSG00000121406,protein_coding -57704,A1BG,ENSG00000121410,protein_coding -57685,ZSCAN18,ENSG00000121413,protein_coding -57653,ZNF211,ENSG00000121417,protein_coding -10917,PDZRN3,ENSG00000121440,protein_coding -4117,RGSL1,ENSG00000121446,protein_coding -4079,LHX4,ENSG00000121454,protein_coding -4171,RNF2,ENSG00000121481,protein_coding -4173,TRMT1L,ENSG00000121486,protein_coding -11480,SEC22A,ENSG00000121542,protein_coding -11460,CSTA,ENSG00000121552,protein_coding -11251,DPPA4,ENSG00000121570,protein_coding -11401,POPDC2,ENSG00000121577,protein_coding -11386,B4GALT4,ENSG00000121578,protein_coding -11324,NAA50,ENSG00000121579,protein_coding -11396,CD80,ENSG00000121594,protein_coding -32568,KIF18A,ENSG00000121621,protein_coding -3015,GJA8,ENSG00000121634,protein_coding -5313,DESI2,ENSG00000121644,protein_coding -32813,MAPK8IP1,ENSG00000121653,protein_coding -32812,CRY2,ENSG00000121671,protein_coding -32816,PEX16,ENSG00000121680,protein_coding -32635,DEPDC7,ENSG00000121690,protein_coding -32670,CAT,ENSG00000121691,protein_coding -23370,PILRB,ENSG00000121716,protein_coding -40604,ZMYM2,ENSG00000121741,protein_coding -40613,GJB6,ENSG00000121742,protein_coding -40608,GJA3,ENSG00000121743,protein_coding -39296,TBC1D15,ENSG00000121749,protein_coding -1042,ADGRB2,ENSG00000121753,protein_coding -1037,HCRTR1,ENSG00000121764,protein_coding -1026,ZCCHC17,ENSG00000121766,protein_coding -1028,FABP3,ENSG00000121769,protein_coding -1051,KHDRBS1,ENSG00000121774,protein_coding -1053,TMEM39B,ENSG00000121775,protein_coding -10376,CCRL2,ENSG00000121797,protein_coding -10373,CCR2,ENSG00000121807,protein_coding -2965,POLR3GL,ENSG00000121851,protein_coding -12328,GHSR,ENSG00000121853,protein_coding -12329,TNFSF10,ENSG00000121858,protein_coding -12405,ZNF639,ENSG00000121864,protein_coding -12218,SLITRK3,ENSG00000121871,protein_coding -12401,PIK3CA,ENSG00000121879,protein_coding -13445,PDS5A,ENSG00000121892,protein_coding -13419,TMEM156,ENSG00000121895,protein_coding -13431,LIAS,ENSG00000121897,protein_coding -37300,CPXM2,ENSG00000121898,protein_coding -1093,TMEM54,ENSG00000121900,protein_coding -1116,ZSCAN20,ENSG00000121903,protein_coding -1118,CSMD2,ENSG00000121904,protein_coding -1092,HPCA,ENSG00000121905,protein_coding -2608,LRIF1,ENSG00000121931,protein_coding -2635,TMIGD3,ENSG00000121933,protein_coding -2526,CLCC1,ENSG00000121940,protein_coding -2525,GPSM2,ENSG00000121957,protein_coding -8045,GTDC1,ENSG00000121964,protein_coding -7975,CXCR4,ENSG00000121966,protein_coding -7961,ZRANB3,ENSG00000121988,protein_coding -8081,ACVR2A,ENSG00000121989,protein_coding -16624,POLK,ENSG00000122008,protein_coding -16639,SV2C,ENSG00000122012,protein_coding -40794,FLT3,ENSG00000122025,protein_coding -40771,RPL21,ENSG00000122026,protein_coding -40779,MTIF3,ENSG00000122033,protein_coding -40778,GTF3A,ENSG00000122034,protein_coding -40774,RASL11A,ENSG00000122035,protein_coding -40817,UBL3,ENSG00000122042,protein_coding -12831,FYTTD1,ENSG00000122068,protein_coding -9622,MTERF4,ENSG00000122085,protein_coding -26419,XPNPEP2,ENSG00000122121,protein_coding -26420,SASH3,ENSG00000122122,protein_coding -26416,OCRL,ENSG00000122126,protein_coding -31643,PAEP,ENSG00000122133,protein_coding -31642,OBP2A,ENSG00000122136,protein_coding -31639,MRPS2,ENSG00000122140,protein_coding -25785,TBX22,ENSG00000122145,protein_coding -4442,FMOD,ENSG00000122176,protein_coding -4430,MYOG,ENSG00000122180,protein_coding -4450,LAX1,ENSG00000122188,protein_coding -21374,PLG,ENSG00000122194,protein_coding -18280,KIAA1191,ENSG00000122203,protein_coding -3633,COPA,ENSG00000122218,protein_coding -3651,CD244,ENSG00000122223,protein_coding -3650,LY9,ENSG00000122224,protein_coding -47261,HS3ST2,ENSG00000122254,protein_coding -47303,RBBP6,ENSG00000122257,protein_coding -46954,ZC3H7A,ENSG00000122299,protein_coding -46940,PRM2,ENSG00000122304,protein_coding -21309,SERAC1,ENSG00000122335,protein_coding -36520,ANXA11,ENSG00000122359,protein_coding -36593,LDB3,ENSG00000122367,protein_coding -36592,OPN4,ENSG00000122375,protein_coding -36614,SHLD2,ENSG00000122376,protein_coding -36531,PRXL2A,ENSG00000122378,protein_coding -46732,ZNF205,ENSG00000122386,protein_coding -46759,NAA60,ENSG00000122390,protein_coding -2297,RPL5,ENSG00000122406,protein_coding -2181,ODF2L,ENSG00000122417,protein_coding -2087,PTGFR,ENSG00000122420,protein_coding -2149,SPATA1,ENSG00000122432,protein_coding -2420,TRMT13,ENSG00000122435,protein_coding -2421,LRRC39,ENSG00000122477,protein_coding -2361,RWDD3,ENSG00000122481,protein_coding -2264,ZNF644,ENSG00000122482,protein_coding -2311,CCDC18,ENSG00000122483,protein_coding -2287,RPAP2,ENSG00000122484,protein_coding -53281,PQLC1,ENSG00000122490,protein_coding -22134,BBS9,ENSG00000122507,protein_coding -21680,PMS2,ENSG00000122512,protein_coding -22342,ZMIZ2,ENSG00000122515,protein_coding -21677,OCM,ENSG00000122543,protein_coding -22168,SEPT7,ENSG00000122545,protein_coding -22181,EEPD1,ENSG00000122547,protein_coding -21906,KLHL7,ENSG00000122550,protein_coding -22163,HERPUD2,ENSG00000122557,protein_coding -21964,CBX3,ENSG00000122565,protein_coding -21963,HNRNPA2B1,ENSG00000122566,protein_coding -22060,WIPF3,ENSG00000122574,protein_coding -21749,NXPH1,ENSG00000122584,protein_coding -21934,NPY,ENSG00000122585,protein_coding -21904,FAM126A,ENSG00000122591,protein_coding -21996,HOXA7,ENSG00000122592,protein_coding -22275,INHBA,ENSG00000122641,protein_coding -22127,FKBP9,ENSG00000122642,protein_coding -22129,NT5C3A,ENSG00000122643,protein_coding -21788,ARL4A,ENSG00000122644,protein_coding -21678,CCZ1,ENSG00000122674,protein_coding -22321,POLM,ENSG00000122678,protein_coding -22361,RAMP3,ENSG00000122679,protein_coding -21607,MRM2,ENSG00000122687,protein_coding -21851,TWIST1,ENSG00000122691,protein_coding -29888,SMU1,ENSG00000122692,protein_coding -30049,GLIPR2,ENSG00000122694,protein_coding -30094,SLC25A51,ENSG00000122696,protein_coding -30051,CLTA,ENSG00000122705,protein_coding -30047,RECK,ENSG00000122707,protein_coding -29892,SPINK4,ENSG00000122711,protein_coding -29873,TAF1L,ENSG00000122728,protein_coding -29867,ACO1,ENSG00000122729,protein_coding -29979,PHF24,ENSG00000122733,protein_coding -29953,DNAI1,ENSG00000122735,protein_coding -30091,DCAF10,ENSG00000122741,protein_coding -29958,CNTFR,ENSG00000122756,protein_coding -24037,KIAA1549,ENSG00000122778,protein_coding -24028,TRIM24,ENSG00000122779,protein_coding -23971,CYREN,ENSG00000122783,protein_coding -23968,CALD1,ENSG00000122786,protein_coding -24015,AKR1D1,ENSG00000122787,protein_coding -25314,NUDT10,ENSG00000122824,protein_coding -36488,SFTPA1,ENSG00000122852,protein_coding -36258,NEUROG3,ENSG00000122859,protein_coding -36391,PLAU,ENSG00000122861,protein_coding -36243,SRGN,ENSG00000122862,protein_coding -36306,CHST3,ENSG00000122863,protein_coding -36117,BICC1,ENSG00000122870,protein_coding -36112,CISD1,ENSG00000122873,protein_coding -36160,EGR2,ENSG00000122877,protein_coding -36344,ECD,ENSG00000122882,protein_coding -36336,P4HA1,ENSG00000122884,protein_coding -36221,SLC25A16,ENSG00000122912,protein_coding -36102,ZWINT,ENSG00000122952,protein_coding -36245,VPS26A,ENSG00000122958,protein_coding -39988,RBM19,ENSG00000122965,protein_coding -40095,CIT,ENSG00000122966,protein_coding -39892,IFT81,ENSG00000122970,protein_coding -40145,ACADS,ENSG00000122971,protein_coding -39909,HVCN1,ENSG00000122986,protein_coding -39971,DDX54,ENSG00000123064,protein_coding -40024,MED13L,ENSG00000123066,protein_coding -1603,CDKN2C,ENSG00000123080,protein_coding -1610,RNF11,ENSG00000123091,protein_coding -38158,RASSF8,ENSG00000123094,protein_coding -38159,BHLHE41,ENSG00000123095,protein_coding -38160,SSPN,ENSG00000123096,protein_coding -38168,ITPR2,ENSG00000123104,protein_coding -38208,CCDC91,ENSG00000123106,protein_coding -28585,NECAB1,ENSG00000123119,protein_coding -28541,WWP1,ENSG00000123124,protein_coding -24844,ACOT9,ENSG00000123130,protein_coding -24843,PRDX4,ENSG00000123131,protein_coding -55553,DDX39A,ENSG00000123136,protein_coding -55554,PKN1,ENSG00000123143,protein_coding -55466,TRIR,ENSG00000123144,protein_coding -55551,ADGRE5,ENSG00000123146,protein_coding -55454,WDR83,ENSG00000123154,protein_coding -55557,GIPC1,ENSG00000123159,protein_coding -26403,ACTRT1,ENSG00000123165,protein_coding -41218,CCDC70,ENSG00000123171,protein_coding -41169,SPRYD7,ENSG00000123178,protein_coding -41163,EBPL,ENSG00000123179,protein_coding -41221,ATP7B,ENSG00000123191,protein_coding -41092,ZC3H13,ENSG00000123200,protein_coding -16436,NLN,ENSG00000123213,protein_coding -16429,CENPK,ENSG00000123219,protein_coding -35372,OPTN,ENSG00000123240,protein_coding -35301,ITIH5,ENSG00000123243,protein_coding -38638,ATF1,ENSG00000123268,protein_coding -39033,TSFM,ENSG00000123297,protein_coding -38854,NEUROD4,ENSG00000123307,protein_coding -39004,ARHGAP9,ENSG00000123329,protein_coding -38842,NCKAP1L,ENSG00000123338,protein_coding -38905,MMP19,ENSG00000123342,protein_coding -38763,PFDN5,ENSG00000123349,protein_coding -38586,SPATS2,ENSG00000123352,protein_coding -38902,ORMDL2,ENSG00000123353,protein_coding -38682,NR4A1,ENSG00000123358,protein_coding -38844,PDE1B,ENSG00000123360,protein_coding -38792,HOXC13,ENSG00000123364,protein_coding -38912,CDK2,ENSG00000123374,protein_coding -38988,LRP1,ENSG00000123384,protein_coding -38799,HOXC11,ENSG00000123388,protein_coding -38684,ATG101,ENSG00000123395,protein_coding -38830,NFE2,ENSG00000123405,protein_coding -38793,HOXC12,ENSG00000123407,protein_coding -38917,IKZF4,ENSG00000123411,protein_coding -38819,SMUG1,ENSG00000123415,protein_coding -38574,TUBA1B,ENSG00000123416,protein_coding -39031,EEF1AKMT3,ENSG00000123427,protein_coding -32874,KBTBD4,ENSG00000123444,protein_coding -31598,SARDH,ENSG00000123453,protein_coding -31596,DBH,ENSG00000123454,protein_coding -1524,ATPAF1,ENSG00000123472,protein_coding -1548,STIL,ENSG00000123473,protein_coding -9482,HJURP,ENSG00000123485,protein_coding -26206,IL13RA2,ENSG00000123496,protein_coding -20685,COL10A1,ENSG00000123500,protein_coding -20611,AMD1,ENSG00000123505,protein_coding -20431,NDUFAF4,ENSG00000123545,protein_coding -20451,USP45,ENSG00000123552,protein_coding -26060,PLP1,ENSG00000123560,protein_coding -26085,SERPINA7,ENSG00000123561,protein_coding -26056,MORF4L2,ENSG00000123562,protein_coding -26070,H2BFWT,ENSG00000123569,protein_coding -26061,RAB9B,ENSG00000123570,protein_coding -26084,NRK,ENSG00000123572,protein_coding -26076,FAM199X,ENSG00000123575,protein_coding -26077,ESX1,ENSG00000123576,protein_coding -26762,MAGEA9,ENSG00000123584,protein_coding -24707,ATXN3L,ENSG00000123594,protein_coding -24716,RAB9A,ENSG00000123595,protein_coding -8371,METTL8,ENSG00000123600,protein_coding -8303,TTC21B,ENSG00000123607,protein_coding -8122,NMI,ENSG00000123609,protein_coding -8123,TNFAIP6,ENSG00000123610,protein_coding -8192,ACVR1C,ENSG00000123612,protein_coding -8224,BAZ2B,ENSG00000123636,protein_coding -17925,SLC36A1,ENSG00000123643,protein_coding -4656,LPGAT1,ENSG00000123684,protein_coding -4688,BATF3,ENSG00000123685,protein_coding -4613,G0S2,ENSG00000123689,protein_coding -51579,KCNJ2,ENSG00000123700,protein_coding -26471,RAP2C,ENSG00000123728,protein_coding -14597,EXOSC9,ENSG00000123737,protein_coding -14424,PLA2G12A,ENSG00000123739,protein_coding -56583,B9D2,ENSG00000123810,protein_coding -56542,COQ8B,ENSG00000123815,protein_coding -4560,PFKFB2,ENSG00000123836,protein_coding -4563,C4BPA,ENSG00000123838,protein_coding -4562,C4BPB,ENSG00000123843,protein_coding -34191,RAB38,ENSG00000123892,protein_coding -34336,GPR83,ENSG00000123901,protein_coding -29263,AGO2,ENSG00000123908,protein_coding -12934,MXD4,ENSG00000123933,protein_coding -30691,CKS2,ENSG00000123975,protein_coding -9328,DAW1,ENSG00000123977,protein_coding -9265,ACSL3,ENSG00000123983,protein_coding -9217,CHPF,ENSG00000123989,protein_coding -9205,DNPEP,ENSG00000123992,protein_coding -9223,INHA,ENSG00000123999,protein_coding -9261,MOGAT1,ENSG00000124003,protein_coding -9221,OBSL1,ENSG00000124006,protein_coding -9284,FAM124B,ENSG00000124019,protein_coding -48349,SLC12A4,ENSG00000124067,protein_coding -48331,ENKD1,ENSG00000124074,protein_coding -54494,MC3R,ENSG00000124089,protein_coding -54503,GCNT7,ENSG00000124091,protein_coding -54534,CTCFL,ENSG00000124092,protein_coding -54497,FAM210B,ENSG00000124098,protein_coding -54249,PI3,ENSG00000124102,protein_coding -54504,FAM209A,ENSG00000124103,protein_coding -54294,SNX21,ENSG00000124104,protein_coding -54254,SLPI,ENSG00000124107,protein_coding -54288,WFDC3,ENSG00000124116,protein_coding -54226,TTPAL,ENSG00000124120,protein_coding -54371,PREX1,ENSG00000124126,protein_coding -54245,KCNS1,ENSG00000124134,protein_coding -54310,SLC12A5,ENSG00000124140,protein_coding -54131,ARHGAP40,ENSG00000124143,protein_coding -54257,SDC4,ENSG00000124145,protein_coding -54346,NCOA3,ENSG00000124151,protein_coding -54264,PIGT,ENSG00000124155,protein_coding -54251,SEMG2,ENSG00000124157,protein_coding -54255,MATN4,ENSG00000124159,protein_coding -54311,NCOA5,ENSG00000124160,protein_coding -54549,VAPB,ENSG00000124164,protein_coding -54428,PARD6B,ENSG00000124171,protein_coding -54577,ATP5F1E,ENSG00000124172,protein_coding -54172,CHD6,ENSG00000124177,protein_coding -54162,PLCG1,ENSG00000124181,protein_coding -54209,TOX2,ENSG00000124191,protein_coding -54194,SRSF6,ENSG00000124193,protein_coding -54215,GDAP1L1,ENSG00000124194,protein_coding -54206,GTSF1L,ENSG00000124196,protein_coding -54374,ARFGEF2,ENSG00000124198,protein_coding -54381,ZNFX1,ENSG00000124201,protein_coding -54580,ZNF831,ENSG00000124203,protein_coding -54581,EDN3,ENSG00000124205,protein_coding -54377,CSE1L,ENSG00000124207,protein_coding -54407,TMEM189-UBE2V1,ENSG00000124208,protein_coding -54548,RAB22A,ENSG00000124209,protein_coding -54391,PTGIS,ENSG00000124212,protein_coding -54378,STAU1,ENSG00000124214,protein_coding -54594,CDH26,ENSG00000124215,protein_coding -54404,SNAI1,ENSG00000124216,protein_coding -54435,MOCS3,ENSG00000124217,protein_coding -54554,STX16,ENSG00000124222,protein_coding -54538,PMEPA1,ENSG00000124225,protein_coding -54401,RNF114,ENSG00000124226,protein_coding -54546,ANKRD60,ENSG00000124227,protein_coding -54380,DDX27,ENSG00000124228,protein_coding -54256,RBPJL,ENSG00000124232,protein_coding -54250,SEMG1,ENSG00000124233,protein_coding -54545,C20orf85,ENSG00000124237,protein_coding -54429,BCAS4,ENSG00000124243,protein_coding -54234,KCNK15,ENSG00000124249,protein_coding -54261,TP53TG5,ENSG00000124251,protein_coding -54535,PCK1,ENSG00000124253,protein_coding -54537,ZBP1,ENSG00000124256,protein_coding -54300,NEURL2,ENSG00000124257,protein_coding -26807,MAGEA10,ENSG00000124260,protein_coding -15657,MTRR,ENSG00000124275,protein_coding -15658,FASTKD3,ENSG00000124279,protein_coding -56178,PEPD,ENSG00000124299,protein_coding -56181,CHST8,ENSG00000124302,protein_coding -25392,IQSEC2,ENSG00000124313,protein_coding -26973,VAMP7,ENSG00000124333,protein_coding -26976,IL9R,ENSG00000124334,protein_coding -24593,XG,ENSG00000124343,protein_coding -6709,STAMBP,ENSG00000124356,protein_coding -6664,NAGK,ENSG00000124357,protein_coding -6666,MCEE,ENSG00000124370,protein_coding -6670,PAIP2B,ENSG00000124374,protein_coding -6620,SNRNP27,ENSG00000124380,protein_coding -6668,MPHOSPH10,ENSG00000124383,protein_coding -48911,IL17C,ENSG00000124391,protein_coding -13501,ATP8A1,ENSG00000124406,protein_coding -49865,USP22,ENSG00000124422,protein_coding -25828,POF1B,ENSG00000124429,protein_coding -56846,HIF3A,ENSG00000124440,protein_coding -56692,ZNF576,ENSG00000124444,protein_coding -56699,IRGC,ENSG00000124449,protein_coding -56710,ZNF45,ENSG00000124459,protein_coding -56682,LYPD3,ENSG00000124466,protein_coding -56657,PSG8,ENSG00000124467,protein_coding -56652,CEACAM8,ENSG00000124469,protein_coding -25084,NDP,ENSG00000124479,protein_coding -25049,USP9X,ENSG00000124486,protein_coding -19868,CRISP2,ENSG00000124490,protein_coding -18616,F13A1,ENSG00000124491,protein_coding -19504,GRM4,ENSG00000124493,protein_coding -19714,TRERF1,ENSG00000124496,protein_coding -19515,PACSIN1,ENSG00000124507,protein_coding -18972,BTN2A2,ENSG00000124508,protein_coding -18739,SIRT5,ENSG00000124523,protein_coding -18874,MRS2,ENSG00000124532,protein_coding -18532,WRNIP1,ENSG00000124535,protein_coding -19735,RRP36,ENSG00000124541,protein_coding -18978,BTN1A1,ENSG00000124557,protein_coding -19525,SNRPC,ENSG00000124562,protein_coding -18918,SLC17A3,ENSG00000124564,protein_coding -18917,SLC17A1,ENSG00000124568,protein_coding -18539,SERPINB6,ENSG00000124570,protein_coding -19766,XPO5,ENSG00000124571,protein_coding -19757,ABCC10,ENSG00000124574,protein_coding -18960,HIST1H1D,ENSG00000124575,protein_coding -19731,PEX6,ENSG00000124587,protein_coding -18541,NQO2,ENSG00000124588,protein_coding -19693,AL365205.1,ENSG00000124593,protein_coding -19660,OARD1,ENSG00000124596,protein_coding -19659,UNC5CL,ENSG00000124602,protein_coding -19800,AARS2,ENSG00000124608,protein_coding -18927,HIST1H1A,ENSG00000124610,protein_coding -19011,ZNF391,ENSG00000124613,protein_coding -19514,RPS10,ENSG00000124614,protein_coding -19647,MOCS1,ENSG00000124615,protein_coding -18999,HIST1H2BJ,ENSG00000124635,protein_coding -19700,MED20,ENSG00000124641,protein_coding -19050,OR2B6,ENSG00000124657,protein_coding -19720,TBCC,ENSG00000124659,protein_coding -19516,SPDEF,ENSG00000124664,protein_coding -19534,TCP11,ENSG00000124678,protein_coding -19772,MAD2L1BP,ENSG00000124688,protein_coding -19662,APOBEC2,ENSG00000124701,protein_coding -19734,KLHDC3,ENSG00000124702,protein_coding -19730,GNMT,ENSG00000124713,protein_coding -19627,DNAH8,ENSG00000124721,protein_coding -19675,TREM1,ENSG00000124731,protein_coding -19733,MEA1,ENSG00000124733,protein_coding -19950,KLHL31,ENSG00000124743,protein_coding -19976,COL21A1,ENSG00000124749,protein_coding -19584,CDKN1A,ENSG00000124762,protein_coding -18849,SOX4,ENSG00000124766,protein_coding -19625,GLO1,ENSG00000124767,protein_coding -19588,CPNE5,ENSG00000124772,protein_coding -19638,KCNK17,ENSG00000124780,protein_coding -18634,RREB1,ENSG00000124782,protein_coding -18639,SSR1,ENSG00000124783,protein_coding -18645,RIOK1,ENSG00000124784,protein_coding -18615,NRN1,ENSG00000124785,protein_coding -18664,SLC35B3,ENSG00000124786,protein_coding -18598,RPP40,ENSG00000124787,protein_coding -18784,ATXN1,ENSG00000124788,protein_coding -18799,NUP153,ENSG00000124789,protein_coding -18809,DEK,ENSG00000124795,protein_coding -18660,EEF1E1,ENSG00000124802,protein_coding -19874,CRISP1,ENSG00000124812,protein_coding -19813,RUNX2,ENSG00000124813,protein_coding -19848,OPN5,ENSG00000124818,protein_coding -18698,GCM2,ENSG00000124827,protein_coding -9538,LRRFIP1,ENSG00000124831,protein_coding -9535,RAB17,ENSG00000124839,protein_coding -13931,CXCL6,ENSG00000124875,protein_coding -13950,EREG,ENSG00000124882,protein_coding -33022,TRIM51,ENSG00000124900,protein_coding -33315,MYRF,ENSG00000124920,protein_coding -33338,SCGB1D2,ENSG00000124935,protein_coding -33336,SCGB2A1,ENSG00000124939,protein_coding -33348,AHNAK,ENSG00000124942,protein_coding -9785,EMC3,ENSG00000125037,protein_coding -9743,SSUH2,ENSG00000125046,protein_coding -38562,WNT1,ENSG00000125084,protein_coding -13059,SH3TC1,ENSG00000125089,protein_coding -48181,CNOT1,ENSG00000125107,protein_coding -48301,LRRC29,ENSG00000125122,protein_coding -48087,BBS2,ENSG00000125124,protein_coding -48102,MT1G,ENSG00000125144,protein_coding -48090,MT2A,ENSG00000125148,protein_coding -48288,C16orf70,ENSG00000125149,protein_coding -48189,GOT2,ENSG00000125166,protein_coding -48141,DOK4,ENSG00000125170,protein_coding -40405,PIWIL1,ENSG00000125207,protein_coding -41695,GPR18,ENSG00000125245,protein_coding -41708,CLYBL,ENSG00000125246,protein_coding -41730,TMTC4,ENSG00000125247,protein_coding -41658,RAP2A,ENSG00000125249,protein_coding -41765,SLC10A2,ENSG00000125255,protein_coding -41629,ABCC4,ENSG00000125257,protein_coding -41784,EFNB2,ENSG00000125266,protein_coding -41623,SOX21,ENSG00000125285,protein_coding -41701,TM9SF2,ENSG00000125304,protein_coding -50780,C17orf53,ENSG00000125319,protein_coding -21479,KIF25,ENSG00000125337,protein_coding -17388,IRF1,ENSG00000125347,protein_coding -26288,UPF3B,ENSG00000125351,protein_coding -26289,RNF113A,ENSG00000125352,protein_coding -26281,SEPT6,ENSG00000125354,protein_coding -26305,TMEM255A,ENSG00000125355,protein_coding -26290,NDUFA1,ENSG00000125356,protein_coding -24683,AMELX,ENSG00000125363,protein_coding -42751,DMAC2L,ENSG00000125375,protein_coding -42837,BMP4,ENSG00000125378,protein_coding -42810,PTGER2,ENSG00000125384,protein_coding -12944,FAM193A,ENSG00000125386,protein_coding -12954,GRK4,ENSG00000125388,protein_coding -51595,SOX9,ENSG00000125398,protein_coding -49540,TEKT3,ENSG00000125409,protein_coding -49460,MYH2,ENSG00000125414,protein_coding -49520,HS3ST3B1,ENSG00000125430,protein_coding -49403,SLC25A35,ENSG00000125434,protein_coding -51684,MRPS7,ENSG00000125445,protein_coding -51683,GGA3,ENSG00000125447,protein_coding -51674,ARMC7,ENSG00000125449,protein_coding -51682,NUP85,ENSG00000125450,protein_coding -51687,SLC25A19,ENSG00000125454,protein_coding -51685,MIF4GD,ENSG00000125457,protein_coding -51675,NT5C,ENSG00000125458,protein_coding -3430,MSTO1,ENSG00000125459,protein_coding -3473,C1orf61,ENSG00000125462,protein_coding -31548,TTF1,ENSG00000125482,protein_coding -31553,GTF3C4,ENSG00000125484,protein_coding -31552,DDX31,ENSG00000125485,protein_coding -31551,BARHL1,ENSG00000125492,protein_coding -57464,KIR2DL1,ENSG00000125498,protein_coding -57483,PPP1R12C,ENSG00000125503,protein_coding -57406,MBOAT7,ENSG00000125505,protein_coding -54697,SRMS,ENSG00000125508,protein_coding -54741,OPRL1,ENSG00000125510,protein_coding -54713,SLC2A4RG,ENSG00000125520,protein_coding -54745,NPBWR2,ENSG00000125522,protein_coding -54699,FNDC11,ENSG00000125531,protein_coding -54666,BHLHE23,ENSG00000125533,protein_coding -54695,PPDPF,ENSG00000125534,protein_coding -7556,IL1B,ENSG00000125538,protein_coding -6967,PLGLB2,ENSG00000125551,protein_coding -7559,IL37,ENSG00000125571,protein_coding -7546,CHCHD5,ENSG00000125611,protein_coding -7573,PAX8,ENSG00000125618,protein_coding -7636,INSIG2,ENSG00000125629,protein_coding -7544,POLR1B,ENSG00000125630,protein_coding -7630,CCDC93,ENSG00000125633,protein_coding -7570,PSD4,ENSG00000125637,protein_coding -55105,SLC25A23,ENSG00000125648,protein_coding -55096,PSPN,ENSG00000125650,protein_coding -55097,GTF2F1,ENSG00000125651,protein_coding -55095,ALKBH7,ENSG00000125652,protein_coding -55094,CLPP,ENSG00000125656,protein_coding -55112,TNFSF9,ENSG00000125657,protein_coding -26357,GRIA3,ENSG00000125675,protein_coding -26361,THOC2,ENSG00000125676,protein_coding -50477,MED1,ENSG00000125686,protein_coding -50449,RPL23,ENSG00000125691,protein_coding -51406,AC046185.1,ENSG00000125695,protein_coding -1846,ATG4C,ENSG00000125703,protein_coding -55116,CD70,ENSG00000125726,protein_coding -55119,C3,ENSG00000125730,protein_coding -55125,SH2D3A,ENSG00000125731,protein_coding -55123,TRIP10,ENSG00000125733,protein_coding -55121,GPR108,ENSG00000125734,protein_coding -55118,TNFSF14,ENSG00000125735,protein_coding -56795,FOSB,ENSG00000125740,protein_coding -56799,OPA3,ENSG00000125741,protein_coding -56808,SNRPD2,ENSG00000125743,protein_coding -56796,RTN2,ENSG00000125744,protein_coding -56801,EML2,ENSG00000125746,protein_coding -56798,VASP,ENSG00000125753,protein_coding -56820,SYMPK,ENSG00000125755,protein_coding -53467,GPCPD1,ENSG00000125772,protein_coding -53329,SDCBP2,ENSG00000125775,protein_coding -53422,PANK2,ENSG00000125779,protein_coding -53364,TGM3,ENSG00000125780,protein_coding -53389,GNRH2,ENSG00000125787,protein_coding -53295,DEFB126,ENSG00000125788,protein_coding -53722,FOXA2,ENSG00000125798,protein_coding -53734,CD93,ENSG00000125810,protein_coding -53743,GZF1,ENSG00000125812,protein_coding -53711,PAX1,ENSG00000125813,protein_coding -53744,NAPB,ENSG00000125814,protein_coding -53753,CST8,ENSG00000125815,protein_coding -53699,NKX2-4,ENSG00000125816,protein_coding -53415,CENPB,ENSG00000125817,protein_coding -53322,PSMF1,ENSG00000125818,protein_coding -53705,NKX2-2,ENSG00000125820,protein_coding -53653,DTD1,ENSG00000125821,protein_coding -53746,CSTL1,ENSG00000125823,protein_coding -53308,RBCK1,ENSG00000125826,protein_coding -53502,TMX4,ENSG00000125827,protein_coding -53747,CST11,ENSG00000125831,protein_coding -53358,STK35,ENSG00000125834,protein_coding -53367,SNRPB,ENSG00000125835,protein_coding -53306,NRSN2,ENSG00000125841,protein_coding -53419,AP5S1,ENSG00000125843,protein_coding -53618,RRBP1,ENSG00000125844,protein_coding -53491,BMP2,ENSG00000125845,protein_coding -53637,ZNF133,ENSG00000125846,protein_coding -53578,FLRT3,ENSG00000125848,protein_coding -53623,OVOL2,ENSG00000125850,protein_coding -53610,PCSK2,ENSG00000125851,protein_coding -53409,GFRA4,ENSG00000125861,protein_coding -53529,MKKS,ENSG00000125863,protein_coding -53612,BFSP1,ENSG00000125864,protein_coding -53615,DSTN,ENSG00000125868,protein_coding -53513,LAMP5,ENSG00000125869,protein_coding -53601,SNRPB2,ENSG00000125870,protein_coding -53625,MGME1,ENSG00000125871,protein_coding -53482,LRRN4,ENSG00000125872,protein_coding -53309,TBC1D20,ENSG00000125875,protein_coding -53399,ITPA,ENSG00000125877,protein_coding -53312,TCF15,ENSG00000125878,protein_coding -53602,OTOR,ENSG00000125879,protein_coding -53474,MCM8,ENSG00000125885,protein_coding -53619,BANF2,ENSG00000125888,protein_coding -53324,TMEM74B,ENSG00000125895,protein_coding -53317,FAM110A,ENSG00000125898,protein_coding -53340,SIRPD,ENSG00000125900,protein_coding -53390,MRPS26,ENSG00000125901,protein_coding -53298,DEFB129,ENSG00000125903,protein_coding -54954,S1PR4,ENSG00000125910,protein_coding -54955,NCLN,ENSG00000125912,protein_coding -25648,CITED1,ENSG00000125931,protein_coding -752,HNRNPR,ENSG00000125944,protein_coding -753,ZNF436,ENSG00000125945,protein_coding -43054,MAX,ENSG00000125952,protein_coding -43049,CHURC1-FNTB,ENSG00000125954,protein_coding -26006,ARMCX5,ENSG00000125962,protein_coding -54024,GDF5,ENSG00000125965,protein_coding -54016,MMP24,ENSG00000125966,protein_coding -53957,NECAB3,ENSG00000125967,protein_coding -53889,ID1,ENSG00000125968,protein_coding -53971,RALY,ENSG00000125970,protein_coding -53992,DYNLRB1,ENSG00000125971,protein_coding -54029,C20orf173,ENSG00000125975,protein_coding -53974,EIF2S2,ENSG00000125977,protein_coding -54030,ERGIC3,ENSG00000125991,protein_coding -54041,ROMO1,ENSG00000125995,protein_coding -54021,FAM83C,ENSG00000125998,protein_coding -53950,BPIFB1,ENSG00000125999,protein_coding -54026,CEP250,ENSG00000126001,protein_coding -53914,PLAGL2,ENSG00000126003,protein_coding -54014,MMP24OS,ENSG00000126005,protein_coding -24750,GRPR,ENSG00000126010,protein_coding -25388,KDM5C,ENSG00000126012,protein_coding -26178,AMOT,ENSG00000126016,protein_coding -10564,TMEM115,ENSG00000126062,protein_coding -1157,PSMB2,ENSG00000126067,protein_coding -1166,AGO3,ENSG00000126070,protein_coding -1472,UROD,ENSG00000126088,protein_coding -1413,ST3GAL3,ENSG00000126091,protein_coding -1446,TMEM53,ENSG00000126106,protein_coding -1471,HECTD3,ENSG00000126107,protein_coding -43934,KLC1,ENSG00000126214,protein_coding -43943,XRCC3,ENSG00000126215,protein_coding -41872,TUBGCP3,ENSG00000126216,protein_coding -41879,MCF2L,ENSG00000126217,protein_coding -41885,F10,ENSG00000126218,protein_coding -41891,PCID2,ENSG00000126226,protein_coding -41889,PROZ,ENSG00000126231,protein_coding -29312,SLURP1,ENSG00000126233,protein_coding -56307,LRFN3,ENSG00000126243,protein_coding -56285,IGFLR1,ENSG00000126246,protein_coding -56324,CAPNS1,ENSG00000126247,protein_coding -56196,PDCD2L,ENSG00000126249,protein_coding -56257,GPR42,ENSG00000126251,protein_coding -56277,RBM42,ENSG00000126254,protein_coding -56300,KIRREL2,ENSG00000126259,protein_coding -56199,UBA2,ENSG00000126261,protein_coding -56264,FFAR2,ENSG00000126262,protein_coding -56305,HCST,ENSG00000126264,protein_coding -56255,FFAR1,ENSG00000126266,protein_coding -56279,COX6B1,ENSG00000126267,protein_coding -50611,KRT36,ENSG00000126337,protein_coding -50507,THRA,ENSG00000126351,protein_coding -50533,CCR7,ENSG00000126353,protein_coding -50508,NR1D1,ENSG00000126368,protein_coding -33540,FRMD8,ENSG00000126391,protein_coding -33468,PRDX5,ENSG00000126432,protein_coding -57049,BCL2L12,ENSG00000126453,protein_coding -57048,IRF3,ENSG00000126456,protein_coding -57050,PRMT1,ENSG00000126457,protein_coding -57046,RRAS,ENSG00000126458,protein_coding -57043,PRRG2,ENSG00000126460,protein_coding -57047,SCAF1,ENSG00000126461,protein_coding -57044,PRR12,ENSG00000126464,protein_coding -57056,TSKS,ENSG00000126467,protein_coding -33445,FLRT1,ENSG00000126500,protein_coding -22774,ASL,ENSG00000126522,protein_coding -22811,SBDS,ENSG00000126524,protein_coding -13874,CSN1S1,ENSG00000126545,protein_coding -13876,STATH,ENSG00000126549,protein_coding -13878,HTN1,ENSG00000126550,protein_coding -50658,STAT5A,ENSG00000126561,protein_coding -50696,WNK4,ENSG00000126562,protein_coding -50699,BECN1,ENSG00000126581,protein_coding -57390,PRKCG,ENSG00000126583,protein_coding -46772,TRAP1,ENSG00000126602,protein_coding -46784,GLIS2,ENSG00000126603,protein_coding -50096,NSRP1,ENSG00000126653,protein_coding -952,DNAJC8,ENSG00000126698,protein_coding -919,AHDC1,ENSG00000126705,protein_coding -923,IFI6,ENSG00000126709,protein_coding -25838,DACH2,ENSG00000126733,protein_coding -37661,ZNF384,ENSG00000126746,protein_coding -37695,EMG1,ENSG00000126749,protein_coding -25192,SSX1,ENSG00000126752,protein_coding -25166,UXT,ENSG00000126756,protein_coding -25164,CFP,ENSG00000126759,protein_coding -25165,ELK1,ENSG00000126767,protein_coding -25237,TIMM17B,ENSG00000126768,protein_coding -42950,PCNX4,ENSG00000126773,protein_coding -42866,ATG14,ENSG00000126775,protein_coding -42873,KTN1,ENSG00000126777,protein_coding -42968,SIX1,ENSG00000126778,protein_coding -43003,RHOJ,ENSG00000126785,protein_coding -42856,DLGAP5,ENSG00000126787,protein_coding -42941,L3HYPDH,ENSG00000126790,protein_coding -43040,HSPA2,ENSG00000126803,protein_coding -43037,ZBTB1,ENSG00000126804,protein_coding -42974,TRMT5,ENSG00000126814,protein_coding -43019,SGPP1,ENSG00000126821,protein_coding -43044,PLEKHG3,ENSG00000126822,protein_coding -37810,PZP,ENSG00000126838,protein_coding -48984,PRDM7,ENSG00000126856,protein_coding -50197,RHOT1,ENSG00000126858,protein_coding -50162,EVI2A,ENSG00000126860,protein_coding -50159,OMG,ENSG00000126861,protein_coding -24553,WDR60,ENSG00000126870,protein_coding -31522,AIF1L,ENSG00000126878,protein_coding -31528,FAM78A,ENSG00000126882,protein_coding -31523,NUP214,ENSG00000126883,protein_coding -26929,CTAG2,ENSG00000126890,protein_coding -26876,AVPR2,ENSG00000126895,protein_coding -26914,SLC10A3,ENSG00000126903,protein_coding -54999,MAP2K2,ENSG00000126934,protein_coding -25967,HNRNPH2,ENSG00000126945,protein_coding -25971,ARMCX1,ENSG00000126947,protein_coding -25954,TMEM35A,ENSG00000126950,protein_coding -25984,NXF5,ENSG00000126952,protein_coding -25962,TIMM8A,ENSG00000126953,protein_coding -25508,ZC4H2,ENSG00000126970,protein_coding -18403,CANX,ENSG00000127022,protein_coding -96,INTS11,ENSG00000127054,protein_coding -4254,RGS13,ENSG00000127074,protein_coding -30760,IPPK,ENSG00000127080,protein_coding -30768,ZNF484,ENSG00000127081,protein_coding -30754,OMD,ENSG00000127083,protein_coding -30772,FGD3,ENSG00000127084,protein_coding -1344,HIVEP3,ENSG00000127124,protein_coding -1358,PPCS,ENSG00000127125,protein_coding -1343,EDN2,ENSG00000127129,protein_coding -43700,BCL11B,ENSG00000127152,protein_coding -16814,COX7C,ENSG00000127184,protein_coding -31710,TRAF2,ENSG00000127191,protein_coding -55710,ABHD8,ENSG00000127220,protein_coding -12610,MASP1,ENSG00000127241,protein_coding -12678,ATP13A4,ENSG00000127249,protein_coding -12675,PLAAT1,ENSG00000127252,protein_coding -39189,HELB,ENSG00000127311,protein_coding -39225,RAP1B,ENSG00000127314,protein_coding -39216,IL22,ENSG00000127318,protein_coding -39283,TSPAN8,ENSG00000127324,protein_coding -39259,BEST3,ENSG00000127325,protein_coding -39262,RAB3IP,ENSG00000127328,protein_coding -39275,PTPRB,ENSG00000127329,protein_coding -39204,DYRK2,ENSG00000127334,protein_coding -39250,YEATS4,ENSG00000127337,protein_coding -24103,TAS2R3,ENSG00000127362,protein_coding -24104,TAS2R4,ENSG00000127364,protein_coding -24106,TAS2R5,ENSG00000127366,protein_coding -24432,CRYGN,ENSG00000127377,protein_coding -24376,LRRC61,ENSG00000127399,protein_coding -24214,TRPV5,ENSG00000127412,protein_coding -12894,IDUA,ENSG00000127415,protein_coding -12895,FGFRL1,ENSG00000127418,protein_coding -12891,TMEM175,ENSG00000127419,protein_coding -832,AUNIP,ENSG00000127423,protein_coding -55282,PIN1,ENSG00000127445,protein_coding -55277,FBXL12,ENSG00000127452,protein_coding -627,EMC1,ENSG00000127463,protein_coding -652,PLA2G5,ENSG00000127472,protein_coding -625,UBR4,ENSG00000127481,protein_coding -680,HP1BP3,ENSG00000127483,protein_coding -55570,ADGRE2,ENSG00000127507,protein_coding -55688,SIN3B,ENSG00000127511,protein_coding -55574,OR7A10,ENSG00000127515,protein_coding -55670,SLC35E1,ENSG00000127526,protein_coding -55660,EPS15L1,ENSG00000127527,protein_coding -55658,KLF2,ENSG00000127528,protein_coding -55583,OR7C2,ENSG00000127529,protein_coding -55571,AC005255.1,ENSG00000127530,protein_coding -55690,F2RL3,ENSG00000127533,protein_coding -54865,UQCR11,ENSG00000127540,protein_coding -46612,GFER,ENSG00000127554,protein_coding -46614,SYNGR3,ENSG00000127561,protein_coding -46710,PKMYT1,ENSG00000127564,protein_coding -46486,WFIKKN1,ENSG00000127578,protein_coding -46498,WDR24,ENSG00000127580,protein_coding -46500,FBXL16,ENSG00000127585,protein_coding -46513,CHTF18,ENSG00000127586,protein_coding -46514,GNG13,ENSG00000127588,protein_coding -1257,MACF1,ENSG00000127603,protein_coding -55344,SMARCA4,ENSG00000127616,protein_coding -55050,KDM4B,ENSG00000127663,protein_coding -55044,TICAM1,ENSG00000127666,protein_coding -39424,METTL25,ENSG00000127720,protein_coding -17861,IL17B,ENSG00000127743,protein_coding -49146,EMC6,ENSG00000127774,protein_coding -49130,OR1E2,ENSG00000127780,protein_coding -49092,METTL16,ENSG00000127804,protein_coding -9197,TUBA4A,ENSG00000127824,protein_coding -9148,VIL1,ENSG00000127831,protein_coding -9135,AAMP,ENSG00000127837,protein_coding -9136,PNKD,ENSG00000127838,protein_coding -40687,TNFRSF19,ENSG00000127863,protein_coding -40749,RNF6,ENSG00000127870,protein_coding -37445,ECHS1,ENSG00000127884,protein_coding -57600,ZNF835,ENSG00000127903,protein_coding -23164,AKAP9,ENSG00000127914,protein_coding -23205,GNG11,ENSG00000127920,protein_coding -23249,SEM1,ENSG00000127922,protein_coding -23197,GNGT1,ENSG00000127928,protein_coding -22965,HIP1,ENSG00000127946,protein_coding -23028,PTPN12,ENSG00000127947,protein_coding -22971,POR,ENSG00000127948,protein_coding -23022,FGL2,ENSG00000127951,protein_coding -22976,STYXL1,ENSG00000127952,protein_coding -23123,STEAP4,ENSG00000127954,protein_coding -23053,GNAI1,ENSG00000127955,protein_coding -23180,PEX1,ENSG00000127980,protein_coding -23162,MTERF1,ENSG00000127989,protein_coding -23216,SGCE,ENSG00000127990,protein_coding -23181,RBM48,ENSG00000127993,protein_coding -23215,CASD1,ENSG00000127995,protein_coding -56512,ZNF780B,ENSG00000128000,protein_coding -56465,LRFN1,ENSG00000128011,protein_coding -56473,ZFP36,ENSG00000128016,protein_coding -13659,SRD5A3,ENSG00000128039,protein_coding -13700,SPINK2,ENSG00000128040,protein_coding -13618,RASL11B,ENSG00000128045,protein_coding -13689,PAICS,ENSG00000128050,protein_coding -13653,KDR,ENSG00000128052,protein_coding -13686,PPAT,ENSG00000128059,protein_coding -59610,TUBGCP6,ENSG00000128159,protein_coding -59620,ADM2,ENSG00000128165,protein_coding -58501,DGCR6L,ENSG00000128185,protein_coding -58486,DGCR8,ENSG00000128191,protein_coding -58877,ASPHD2,ENSG00000128203,protein_coding -58774,VPREB3,ENSG00000128218,protein_coding -58586,SDF2L1,ENSG00000128228,protein_coding -59014,GAL3ST1,ENSG00000128242,protein_coding -59073,YWHAH,ENSG00000128245,protein_coding -58963,RFPL1,ENSG00000128250,protein_coding -59086,RFPL2,ENSG00000128253,protein_coding -58742,GNAZ,ENSG00000128266,protein_coding -59320,MGAT3,ENSG00000128268,protein_coding -58812,ADORA2A,ENSG00000128271,protein_coding -59324,ATF4,ENSG00000128272,protein_coding -59440,A4GALT,ENSG00000128274,protein_coding -59093,RFPL3,ENSG00000128276,protein_coding -59218,CDC42EP1,ENSG00000128283,protein_coding -59160,APOL3,ENSG00000128284,protein_coding -59348,MCHR1,ENSG00000128285,protein_coding -58882,TPST2,ENSG00000128294,protein_coding -59253,BAIAP2L2,ENSG00000128298,protein_coding -59198,MPST,ENSG00000128309,protein_coding -59233,GALR3,ENSG00000128310,protein_coding -59196,TST,ENSG00000128311,protein_coding -59152,APOL5,ENSG00000128313,protein_coding -58762,IGLL1,ENSG00000128322,protein_coding -59168,APOL2,ENSG00000128335,protein_coding -59209,RAC2,ENSG00000128340,protein_coding -58990,LIF,ENSG00000128342,protein_coding -59241,C22orf23,ENSG00000128346,protein_coding -59295,APOBEC3A,ENSG00000128383,protein_coding -59301,APOBEC3F,ENSG00000128394,protein_coding -59506,RIBC2,ENSG00000128408,protein_coding -50621,KRT17,ENSG00000128422,protein_coding -44710,EMC4,ENSG00000128463,protein_coding -49767,RNF112,ENSG00000128482,protein_coding -49804,SPECC1,ENSG00000128487,protein_coding -23893,CPA4,ENSG00000128510,protein_coding -23601,DOCK4,ENSG00000128512,protein_coding -23771,POT1,ENSG00000128513,protein_coding -23742,TAS2R16,ENSG00000128519,protein_coding -23848,ATP6V1F,ENSG00000128524,protein_coding -23698,LSM8,ENSG00000128534,protein_coding -23536,CDHR3,ENSG00000128536,protein_coding -23457,PRKRIP1,ENSG00000128563,protein_coding -23423,VGF,ENSG00000128564,protein_coding -23930,PODXL,ENSG00000128567,protein_coding -23629,FOXP2,ENSG00000128573,protein_coding -23869,STRIP2,ENSG00000128578,protein_coding -23437,IFT22,ENSG00000128581,protein_coding -23926,MKLN1,ENSG00000128585,protein_coding -23580,DNAJB9,ENSG00000128590,protein_coding -23845,FLNC,ENSG00000128591,protein_coding -23804,LRRC4,ENSG00000128594,protein_coding -23841,CALU,ENSG00000128595,protein_coding -23844,CCDC136,ENSG00000128596,protein_coding -23864,SMO,ENSG00000128602,protein_coding -23851,IRF5,ENSG00000128604,protein_coding -23488,LRRC17,ENSG00000128606,protein_coding -23886,KLHDC10,ENSG00000128607,protein_coding -23749,NDUFA5,ENSG00000128609,protein_coding -23733,FEZF1,ENSG00000128610,protein_coding -23843,OPN1SW,ENSG00000128617,protein_coding -56447,MRPS12,ENSG00000128626,protein_coding -8689,MYO1B,ENSG00000128641,protein_coding -8470,HOXD1,ENSG00000128645,protein_coding -8464,HOXD3,ENSG00000128652,protein_coding -8475,MTX2,ENSG00000128654,protein_coding -8513,PDE11A,ENSG00000128655,protein_coding -8440,CHN1,ENSG00000128656,protein_coding -8365,GAD1,ENSG00000128683,protein_coding -8657,OSGEPL1,ENSG00000128694,protein_coding -8660,ORMDL1,ENSG00000128699,protein_coding -8382,HAT1,ENSG00000128708,protein_coding -8462,HOXD9,ENSG00000128709,protein_coding -8460,HOXD10,ENSG00000128710,protein_coding -8459,HOXD11,ENSG00000128713,protein_coding -8457,HOXD13,ENSG00000128714,protein_coding -44536,HERC2,ENSG00000128731,protein_coding -44399,SNRPN,ENSG00000128739,protein_coding -52339,PSMG2,ENSG00000128789,protein_coding -52237,TWSG1,ENSG00000128791,protein_coding -36008,ARHGAP22,ENSG00000128805,protein_coding -36013,WDFY4,ENSG00000128815,protein_coding -44811,EIF2AK4,ENSG00000128829,protein_coding -45204,MYO5C,ENSG00000128833,protein_coding -45278,CGNL1,ENSG00000128849,protein_coding -45179,TMOD2,ENSG00000128872,protein_coding -44941,TTBK2,ENSG00000128881,protein_coding -44984,ELL3,ENSG00000128886,protein_coding -44848,CCDC32,ENSG00000128891,protein_coding -44873,INO80,ENSG00000128908,protein_coding -45360,ICE2,ENSG00000128915,protein_coding -44870,DLL4,ENSG00000128917,protein_coding -45288,ALDH1A2,ENSG00000128918,protein_coding -45315,MINDY2,ENSG00000128923,protein_coding -44841,IVD,ENSG00000128928,protein_coding -44840,KNSTRN,ENSG00000128944,protein_coding -45097,DUT,ENSG00000128951,protein_coding -44872,CHAC1,ENSG00000128965,protein_coding -45549,CLN6,ENSG00000128973,protein_coding -45208,ARPP19,ENSG00000128989,protein_coding -45382,VPS13C,ENSG00000129003,protein_coding -45548,CALML4,ENSG00000129007,protein_coding -45685,ISLR,ENSG00000129009,protein_coding -45606,THAP10,ENSG00000129028,protein_coding -45673,LOXL1,ENSG00000129038,protein_coding -11715,ACKR4,ENSG00000129048,protein_coding -11752,ANAPC13,ENSG00000129055,protein_coding -11651,MBD4,ENSG00000129071,protein_coding -32367,COPB1,ENSG00000129083,protein_coding -32370,PSMA1,ENSG00000129084,protein_coding -22517,SUMF2,ENSG00000129103,protein_coding -15189,PALLD,ENSG00000129116,protein_coding -15289,SPCS3,ENSG00000129128,protein_coding -32551,BBOX1,ENSG00000129151,protein_coding -32416,MYOD1,ENSG00000129152,protein_coding -32418,SERGEF,ENSG00000129158,protein_coding -32417,KCNC1,ENSG00000129159,protein_coding -32420,TPH1,ENSG00000129167,protein_coding -32475,CSRP3,ENSG00000129170,protein_coding -32477,E2F8,ENSG00000129173,protein_coding -15337,DCTD,ENSG00000129187,protein_coding -49354,SOX15,ENSG00000129194,protein_coding -49253,PIMREG,ENSG00000129195,protein_coding -49232,RPAIN,ENSG00000129197,protein_coding -49223,USP6,ENSG00000129204,protein_coding -49356,SHBG,ENSG00000129214,protein_coding -49195,PLD2,ENSG00000129219,protein_coding -49251,AIPL1,ENSG00000129221,protein_coding -49351,CD68,ENSG00000129226,protein_coding -49259,TXNDC17,ENSG00000129235,protein_coding -49358,ATP1B2,ENSG00000129244,protein_coding -49355,FXR2,ENSG00000129245,protein_coding -49215,KIF1C,ENSG00000129250,protein_coding -49353,MPDU1,ENSG00000129255,protein_coding -29188,PHF20L1,ENSG00000129292,protein_coding -29185,LRRC6,ENSG00000129295,protein_coding -38543,CCNT1,ENSG00000129315,protein_coding -38417,PUS7L,ENSG00000129317,protein_coding -55325,KRI1,ENSG00000129347,protein_coding -55331,ILF3,ENSG00000129351,protein_coding -55329,SLC44A2,ENSG00000129353,protein_coding -55327,AP1M2,ENSG00000129354,protein_coding -55326,CDKN2D,ENSG00000129355,protein_coding -27399,MTUS1,ENSG00000129422,protein_coding -57149,KLK14,ENSG00000129437,protein_coding -57152,SIGLEC9,ENSG00000129450,protein_coding -57142,KLK10,ENSG00000129451,protein_coding -57139,KLK8,ENSG00000129455,protein_coding -42327,NGDN,ENSG00000129460,protein_coding -42393,RIPK3,ENSG00000129465,protein_coding -42391,ADCY4,ENSG00000129467,protein_coding -42119,RAB2B,ENSG00000129472,protein_coding -42314,BCL2L2,ENSG00000129473,protein_coding -42294,AJUBA,ENSG00000129474,protein_coding -42486,DTD2,ENSG00000129480,protein_coding -42045,PARP2,ENSG00000129484,protein_coding -42482,HEATR5A,ENSG00000129493,protein_coding -42600,FOXA1,ENSG00000129514,protein_coding -42525,SNX6,ENSG00000129515,protein_coding -42519,EAPP,ENSG00000129518,protein_coding -42514,EGLN3,ENSG00000129521,protein_coding -42682,MIS18BP1,ENSG00000129534,protein_coding -42352,NRL,ENSG00000129535,protein_coding -42078,RNASE1,ENSG00000129538,protein_coding -42379,NEDD8,ENSG00000129559,protein_coding -42270,DAD1,ENSG00000129562,protein_coding -42047,TEP1,ENSG00000129566,protein_coding -17111,EPB41L4A,ENSG00000129595,protein_coding -17165,CDO1,ENSG00000129596,protein_coding -17127,REEP5,ENSG00000129625,protein_coding -47876,ITFG1,ENSG00000129636,protein_coding -51741,QRICH2,ENSG00000129646,protein_coding -51735,FOXJ1,ENSG00000129654,protein_coding -51788,SEC14L1,ENSG00000129657,protein_coding -51750,RHBDF2,ENSG00000129667,protein_coding -51749,AANAT,ENSG00000129673,protein_coding -26589,ARHGEF6,ENSG00000129675,protein_coding -26578,MAP7D3,ENSG00000129680,protein_coding -26615,FGF13,ENSG00000129682,protein_coding -27789,ASH2L,ENSG00000129691,protein_coding -27715,TTI2,ENSG00000129696,protein_coding -31991,ART1,ENSG00000129744,protein_coding -31994,CHRNA10,ENSG00000129749,protein_coding -31951,CDKN1C,ENSG00000129757,protein_coding -9971,SGO1,ENSG00000129810,protein_coding -57748,RPS4Y1,ENSG00000129824,protein_coding -57940,VCY1B,ENSG00000129862,protein_coding -57939,VCY,ENSG00000129864,protein_coding -57978,CDY2B,ENSG00000129873,protein_coding -48941,CDH15,ENSG00000129910,protein_coding -54877,KLF16,ENSG00000129911,protein_coding -46468,TMEM8A,ENSG00000129925,protein_coding -54963,DOHH,ENSG00000129932,protein_coding -55825,MAU2,ENSG00000129933,protein_coding -54778,SHC2,ENSG00000129946,protein_coding -54804,PLPPR3,ENSG00000129951,protein_coding -31924,INS-IGF2,ENSG00000129965,protein_coding -54881,ABHD17A,ENSG00000129968,protein_coding -54113,LBP,ENSG00000129988,protein_coding -57493,SYT5,ENSG00000129990,protein_coding -57488,TNNI3,ENSG00000129991,protein_coding -48931,CBFA2T3,ENSG00000129993,protein_coding -54848,GAMT,ENSG00000130005,protein_coding -24627,PUDP,ENSG00000130021,protein_coding -21515,ERMARD,ENSG00000130023,protein_coding -21511,PHF10,ENSG00000130024,protein_coding -26796,PRRG3,ENSG00000130032,protein_coding -37603,GALNT8,ENSG00000130035,protein_coding -37613,KCNA5,ENSG00000130037,protein_coding -37575,CRACR2A,ENSG00000130038,protein_coding -30682,NXNL2,ENSG00000130045,protein_coding -25551,STARD8,ENSG00000130052,protein_coding -25559,FAM155B,ENSG00000130054,protein_coding -25586,GDPD2,ENSG00000130055,protein_coding -24847,SAT1,ENSG00000130066,protein_coding -25420,GNL3L,ENSG00000130119,protein_coding -9501,SH3BP4,ENSG00000130147,protein_coding -24727,MOSPD2,ENSG00000130150,protein_coding -55352,DOCK6,ENSG00000130158,protein_coding -55375,ECSIT,ENSG00000130159,protein_coding -55348,LDLR,ENSG00000130164,protein_coding -55380,ELOF1,ENSG00000130165,protein_coding -55357,TSPAN16,ENSG00000130167,protein_coding -55356,ANGPTL8,ENSG00000130173,protein_coding -55370,PRKCSH,ENSG00000130175,protein_coding -55379,CNN1,ENSG00000130176,protein_coding -41924,CDC16,ENSG00000130177,protein_coding -46729,ZSCAN10,ENSG00000130182,protein_coding -29310,THEM6,ENSG00000130193,protein_coding -56761,NECTIN2,ENSG00000130202,protein_coding -56764,APOE,ENSG00000130203,protein_coding -56763,TOMM40,ENSG00000130204,protein_coding -56766,APOC1,ENSG00000130208,protein_coding -30698,GADD45G,ENSG00000130222,protein_coding -26210,LRCH2,ENSG00000130224,protein_coding -24471,DPP6,ENSG00000130226,protein_coding -27464,XPO7,ENSG00000130227,protein_coding -24736,ACE2,ENSG00000130234,protein_coding -56419,FAM98C,ENSG00000130244,protein_coding -55058,SAFB2,ENSG00000130254,protein_coding -55060,RPL36,ENSG00000130255,protein_coding -54871,ATP8B3,ENSG00000130270,protein_coding -55801,GDF1,ENSG00000130283,protein_coding -55818,NCAN,ENSG00000130287,protein_coding -9613,KIF1A,ENSG00000130294,protein_coding -55715,GTPBP3,ENSG00000130299,protein_coding -55716,PLVAP,ENSG00000130300,protein_coding -55719,BST2,ENSG00000130303,protein_coding -55729,SLC27A1,ENSG00000130304,protein_coding -22888,NSUN5,ENSG00000130305,protein_coding -55706,USHBP1,ENSG00000130307,protein_coding -55734,COLGALT1,ENSG00000130309,protein_coding -55713,DDA1,ENSG00000130311,protein_coding -55711,MRPL34,ENSG00000130312,protein_coding -55731,AC010618.1,ENSG00000130313,protein_coding -54909,LSM7,ENSG00000130332,protein_coding -21311,TULP4,ENSG00000130338,protein_coding -21300,SNX9,ENSG00000130340,protein_coding -20514,RTN4IP1,ENSG00000130347,protein_coding -20516,QRSL1,ENSG00000130348,protein_coding -20523,C6orf203,ENSG00000130349,protein_coding -21332,RSPH3,ENSG00000130363,protein_coding -21360,MAS1,ENSG00000130368,protein_coding -55086,ACSBG2,ENSG00000130377,protein_coding -55089,MLLT1,ENSG00000130382,protein_coding -55072,FUT5,ENSG00000130383,protein_coding -25306,BMP15,ENSG00000130385,protein_coding -21476,AFDN,ENSG00000130396,protein_coding -56427,ACTN4,ENSG00000130402,protein_coding -32238,STK33,ENSG00000130413,protein_coding -9586,NDUFA10,ENSG00000130414,protein_coding -23400,EPO,ENSG00000130427,protein_coding -23304,ARPC1B,ENSG00000130429,protein_coding -57394,CACNG6,ENSG00000130433,protein_coding -16387,ZSWIM6,ENSG00000130449,protein_coding -55741,FCHO1,ENSG00000130475,protein_coding -55736,UNC13A,ENSG00000130477,protein_coding -55739,MAP1S,ENSG00000130479,protein_coding -59630,KLHDC7B,ENSG00000130487,protein_coding -5507,PXDN,ENSG00000130508,protein_coding -55779,SSBP4,ENSG00000130511,protein_coding -55776,GDF15,ENSG00000130513,protein_coding -55775,PGPEP1,ENSG00000130517,protein_coding -55769,IQCN,ENSG00000130518,protein_coding -55773,LSM4,ENSG00000130520,protein_coding -55770,JUND,ENSG00000130522,protein_coding -57009,HRC,ENSG00000130528,protein_coding -57010,TRPM4,ENSG00000130529,protein_coding -58279,OR11H1,ENSG00000130538,protein_coding -59467,SULT4A1,ENSG00000130540,protein_coding -55140,ZNF557,ENSG00000130544,protein_coding -55106,CRB3,ENSG00000130545,protein_coding -31630,OLFM1,ENSG00000130558,protein_coding -31651,CAMSAP1,ENSG00000130559,protein_coding -31653,UBAC1,ENSG00000130560,protein_coding -9456,SAG,ENSG00000130561,protein_coding -54714,ZBTB46,ENSG00000130584,protein_coding -54700,HELZ2,ENSG00000130589,protein_coding -54733,SAMD10,ENSG00000130590,protein_coding -31907,LSP1,ENSG00000130592,protein_coding -31913,TNNT3,ENSG00000130595,protein_coding -31906,TNNI2,ENSG00000130598,protein_coding -31615,COL5A1,ENSG00000130635,protein_coding -59512,ATXN10,ENSG00000130638,protein_coding -37436,TUBGCP2,ENSG00000130640,protein_coding -37440,CALY,ENSG00000130643,protein_coding -37455,CYP2E1,ENSG00000130649,protein_coding -31767,PNPLA7,ENSG00000130653,protein_coding -46450,HBZ,ENSG00000130656,protein_coding -56454,PAK4,ENSG00000130669,protein_coding -24521,MNX1,ENSG00000130675,protein_coding -53812,ZNF337,ENSG00000130684,protein_coding -858,CEP85,ENSG00000130695,protein_coding -54612,TAF4,ENSG00000130699,protein_coding -54634,GATA5,ENSG00000130700,protein_coding -54632,RBBP8NL,ENSG00000130701,protein_coding -54625,LAMA5,ENSG00000130702,protein_coding -54622,OSBPL2,ENSG00000130703,protein_coding -54623,ADRM1,ENSG00000130706,protein_coding -31509,ASS1,ENSG00000130707,protein_coding -31513,PRDM12,ENSG00000130711,protein_coding -31514,EXOSC2,ENSG00000130713,protein_coding -31536,POMT1,ENSG00000130714,protein_coding -31538,UCK1,ENSG00000130717,protein_coding -31518,FIBCD1,ENSG00000130720,protein_coding -31532,PRRC2B,ENSG00000130723,protein_coding -57735,CHMP2A,ENSG00000130724,protein_coding -57736,UBE2M,ENSG00000130725,protein_coding -57733,TRIM28,ENSG00000130726,protein_coding -46487,METTL26,ENSG00000130731,protein_coding -55342,YIPF2,ENSG00000130733,protein_coding -55322,ATG4D,ENSG00000130734,protein_coding -24852,EIF2S3,ENSG00000130741,protein_coding -56884,TMEM160,ENSG00000130748,protein_coding -56885,AC008755.1,ENSG00000130749,protein_coding -56883,NPAS1,ENSG00000130751,protein_coding -56467,GMFG,ENSG00000130755,protein_coding -56517,MAP3K10,ENSG00000130758,protein_coding -189,ARHGEF16,ENSG00000130762,protein_coding -203,LRRC47,ENSG00000130764,protein_coding -956,SESN2,ENSG00000130766,protein_coding -941,SMPDL3B,ENSG00000130768,protein_coding -953,ATP5IF1,ENSG00000130770,protein_coding -957,MED18,ENSG00000130772,protein_coding -939,THEMIS2,ENSG00000130775,protein_coding -40202,CLIP1,ENSG00000130779,protein_coding -40219,CCDC62,ENSG00000130783,protein_coding -40220,HIP1R,ENSG00000130787,protein_coding -55238,ZNF317,ENSG00000130803,protein_coding -55293,PPAN,ENSG00000130810,protein_coding -55297,EIF3G,ENSG00000130811,protein_coding -55291,ANGPTL6,ENSG00000130812,protein_coding -55289,C19orf66,ENSG00000130813,protein_coding -55298,DNMT1,ENSG00000130816,protein_coding -55262,ZNF426,ENSG00000130818,protein_coding -26863,SLC6A8,ENSG00000130821,protein_coding -26862,PNCK,ENSG00000130822,protein_coding -26933,DKC1,ENSG00000130826,protein_coding -26911,PLXNA3,ENSG00000130827,protein_coding -26859,DUSP9,ENSG00000130829,protein_coding -26937,MPP1,ENSG00000130830,protein_coding -57317,ZNF331,ENSG00000130844,protein_coding -53223,ZNF236,ENSG00000130856,protein_coding -56167,SLC7A10,ENSG00000130876,protein_coding -56164,LRP3,ENSG00000130881,protein_coding -40234,C12orf65,ENSG00000130921,protein_coding -51518,NOL11,ENSG00000130935,protein_coding -347,UBE4B,ENSG00000130939,protein_coding -367,CASZ1,ENSG00000130940,protein_coding -59534,PKDREJ,ENSG00000130943,protein_coding -30852,HSD17B3,ENSG00000130948,protein_coding -30802,NUTM2F,ENSG00000130950,protein_coding -30861,HABP4,ENSG00000130956,protein_coding -30812,FBP2,ENSG00000130957,protein_coding -30856,SLC35D2,ENSG00000130958,protein_coding -24981,PRRG1,ENSG00000130962,protein_coding -25144,UBA1,ENSG00000130985,protein_coding -25138,RGN,ENSG00000130988,protein_coding -12929,POLN,ENSG00000130997,protein_coding -21153,PPIL4,ENSG00000131013,protein_coding -21180,ULBP2,ENSG00000131015,protein_coding -21211,AKAP12,ENSG00000131016,protein_coding -21226,SYNE1,ENSG00000131018,protein_coding -21190,ULBP3,ENSG00000131019,protein_coding -21163,LATS1,ENSG00000131023,protein_coding -57482,EPS8L1,ENSG00000131037,protein_coding -57419,LILRB2,ENSG00000131042,protein_coding -54061,AAR2,ENSG00000131043,protein_coding -53900,TTLL9,ENSG00000131044,protein_coding -53943,BPIFA2,ENSG00000131050,protein_coding -54042,RBM39,ENSG00000131051,protein_coding -53891,COX4I2,ENSG00000131055,protein_coding -53947,BPIFA3,ENSG00000131059,protein_coding -53964,ZNF341,ENSG00000131061,protein_coding -54001,GGT7,ENSG00000131067,protein_coding -53873,DEFB118,ENSG00000131068,protein_coding -54002,ACSS2,ENSG00000131069,protein_coding -25534,EDA2R,ENSG00000131080,protein_coding -25490,ARHGEF9,ENSG00000131089,protein_coding -50830,C1QL1,ENSG00000131094,protein_coding -50826,GFAP,ENSG00000131095,protein_coding -50771,PYY,ENSG00000131096,protein_coding -50821,HIGD1B,ENSG00000131097,protein_coding -58371,ATP6V1E1,ENSG00000131100,protein_coding -56729,ZNF227,ENSG00000131115,protein_coding -56694,ZNF428,ENSG00000131116,protein_coding -56681,TEX101,ENSG00000131126,protein_coding -12864,ZNF141,ENSG00000131127,protein_coding -55194,CCL25,ENSG00000131142,protein_coding -48822,COX4I1,ENSG00000131143,protein_coding -48818,EMC8,ENSG00000131148,protein_coding -48802,GSE1,ENSG00000131149,protein_coding -48872,AC010531.1,ENSG00000131152,protein_coding -48812,GINS2,ENSG00000131153,protein_coding -48960,CHMP1A,ENSG00000131165,protein_coding -25799,SH3BGRL,ENSG00000131171,protein_coding -25763,COX7B,ENSG00000131174,protein_coding -18318,SLC34A1,ENSG00000131183,protein_coding -18320,F12,ENSG00000131187,protein_coding -18323,PRR7,ENSG00000131188,protein_coding -53264,NFATC1,ENSG00000131196,protein_coding -27834,IDO1,ENSG00000131203,protein_coding -1250,GJA9,ENSG00000131233,protein_coding -1291,CAP1,ENSG00000131236,protein_coding -1292,PPT1,ENSG00000131238,protein_coding -50164,RAB11FIP4,ENSG00000131242,protein_coding -25725,RLIM,ENSG00000131263,protein_coding -25675,CDX4,ENSG00000131264,protein_coding -25729,ABCB7,ENSG00000131269,protein_coding -43901,TRAF3,ENSG00000131323,protein_coding -55695,HAUS8,ENSG00000131351,protein_coding -55566,ADGRE3,ENSG00000131355,protein_coding -9895,MRPS25,ENSG00000131368,protein_coding -9902,SH3BP5,ENSG00000131370,protein_coding -9913,HACL1,ENSG00000131373,protein_coding -9944,TBC1D5,ENSG00000131374,protein_coding -9900,CAPN7,ENSG00000131375,protein_coding -9929,RFTN1,ENSG00000131378,protein_coding -9888,C3orf20,ENSG00000131379,protein_coding -9896,RBSN,ENSG00000131381,protein_coding -9924,GALNT15,ENSG00000131386,protein_coding -9881,SLC6A6,ENSG00000131389,protein_coding -57093,KCNC3,ENSG00000131398,protein_coding -57096,NAPSA,ENSG00000131400,protein_coding -57094,NR1H2,ENSG00000131408,protein_coding -57108,LRRC4B,ENSG00000131409,protein_coding -17378,PDLIM4,ENSG00000131435,protein_coding -17395,KIF3A,ENSG00000131437,protein_coding -18440,MGAT1,ENSG00000131446,protein_coding -18428,GFPT2,ENSG00000131459,protein_coding -50679,TUBG1,ENSG00000131462,protein_coding -50701,PSME3,ENSG00000131467,protein_coding -50713,RPL27,ENSG00000131469,protein_coding -50675,PSMC3IP,ENSG00000131470,protein_coding -50703,AOC3,ENSG00000131471,protein_coding -50636,ACLY,ENSG00000131473,protein_coding -50695,VPS25,ENSG00000131475,protein_coding -50694,RAMP2,ENSG00000131477,protein_coding -50702,AOC2,ENSG00000131480,protein_coding -50707,G6PC,ENSG00000131482,protein_coding -17630,NDUFA2,ENSG00000131495,protein_coding -17616,ANKHD1,ENSG00000131503,protein_coding -17729,DIAPH1,ENSG00000131504,protein_coding -17750,NDFIP1,ENSG00000131507,protein_coding -17589,UBE2D2,ENSG00000131508,protein_coding -23952,EXOC4,ENSG00000131558,protein_coding -93,ACAP3,ENSG00000131584,protein_coding -75,C1orf159,ENSG00000131591,protein_coding -33776,ANO1,ENSG00000131620,protein_coding -33781,PPFIA1,ENSG00000131626,protein_coding -46570,TMEM204,ENSG00000131634,protein_coding -46709,KREMEN2,ENSG00000131650,protein_coding -46720,THOC6,ENSG00000131652,protein_coding -46636,TRAF7,ENSG00000131653,protein_coding -30789,BARX1,ENSG00000131668,protein_coding -30776,NINJ1,ENSG00000131669,protein_coding -311,CA6,ENSG00000131686,protein_coding -232,NPHP4,ENSG00000131697,protein_coding -16549,MAP1B,ENSG00000131711,protein_coding -26301,RHOXF2,ENSG00000131721,protein_coding -26253,IL13RA1,ENSG00000131724,protein_coding -26248,WDR44,ENSG00000131725,protein_coding -16747,CKMT2,ENSG00000131730,protein_coding -16749,ZCCHC9,ENSG00000131732,protein_coding -50601,KRT34,ENSG00000131737,protein_coding -50600,KRT33B,ENSG00000131738,protein_coding -50531,TNS4,ENSG00000131746,protein_coding -50526,TOP2A,ENSG00000131747,protein_coding -50484,STARD3,ENSG00000131748,protein_coding -50517,RARA,ENSG00000131759,protein_coding -50483,PPP1R1B,ENSG00000131771,protein_coding -29235,KHDRBS3,ENSG00000131773,protein_coding -3000,CHD1L,ENSG00000131778,protein_coding -2957,PEX11B,ENSG00000131779,protein_coding -2997,FMO5,ENSG00000131781,protein_coding -2952,PIAS3,ENSG00000131788,protein_coding -2994,PRKAB2,ENSG00000131791,protein_coding -32594,FSHB,ENSG00000131808,protein_coding -24799,PDHA1,ENSG00000131828,protein_coding -24779,RAI2,ENSG00000131831,protein_coding -16545,MCCC2,ENSG00000131844,protein_coding -57628,AC005261.1,ENSG00000131845,protein_coding -57565,ZSCAN5A,ENSG00000131848,protein_coding -57721,ZNF132,ENSG00000131849,protein_coding -57611,USP29,ENSG00000131864,protein_coding -46401,SELENOS,ENSG00000131871,protein_coding -46400,CHSY1,ENSG00000131873,protein_coding -46402,SNRPA1,ENSG00000131876,protein_coding -49682,LLGL1,ENSG00000131899,protein_coding -891,NR0B2,ENSG00000131910,protein_coding -866,LIN28A,ENSG00000131914,protein_coding -27895,THAP1,ENSG00000131931,protein_coding -56159,RHPN2,ENSG00000131941,protein_coding -56099,C19orf12,ENSG00000131943,protein_coding -56158,FAAP24,ENSG00000131944,protein_coding -42948,LRRC9,ENSG00000131951,protein_coding -42916,ACTR10,ENSG00000131966,protein_coding -42772,ABHD12B,ENSG00000131969,protein_coding -42847,GCH1,ENSG00000131979,protein_coding -42855,LGALS3,ENSG00000131981,protein_coding -55527,PODNL1,ENSG00000132000,protein_coding -55559,DNAJB1,ENSG00000132002,protein_coding -55515,ZSWIM4,ENSG00000132003,protein_coding -55461,FBXW9,ENSG00000132004,protein_coding -55529,RFX1,ENSG00000132005,protein_coding -55415,ZNF20,ENSG00000132010,protein_coding -55525,C19orf57,ENSG00000132016,protein_coding -55528,DCAF15,ENSG00000132017,protein_coding -55526,CC2D1A,ENSG00000132024,protein_coding -55477,RTBDN,ENSG00000132026,protein_coding -5762,MATN3,ENSG00000132031,protein_coding -32023,TRIM21,ENSG00000132109,protein_coding -1570,SPATA6,ENSG00000132122,protein_coding -1511,LRRC41,ENSG00000132128,protein_coding -50271,CCT6B,ENSG00000132141,protein_coding -10422,DHX30,ENSG00000132153,protein_coding -9847,RAF1,ENSG00000132155,protein_coding -9812,SLC6A11,ENSG00000132164,protein_coding -9839,PPARG,ENSG00000132170,protein_coding -9859,NUP210,ENSG00000132182,protein_coding -3710,FCRLA,ENSG00000132185,protein_coding -3737,HSD17B7,ENSG00000132196,protein_coding -52075,ENOSF1,ENSG00000132199,protein_coding -52115,EMILIN2,ENSG00000132205,protein_coding -47501,SLX1A,ENSG00000132207,protein_coding -32169,ARFIP2,ENSG00000132254,protein_coding -32123,TRIM5,ENSG00000132256,protein_coding -32159,CNGA4,ENSG00000132259,protein_coding -32124,TRIM22,ENSG00000132274,protein_coding -32174,RRP8,ENSG00000132275,protein_coding -32171,TIMM10B,ENSG00000132286,protein_coding -29179,EFR3A,ENSG00000132294,protein_coding -29182,HHLA1,ENSG00000132297,protein_coding -6921,PTCD3,ENSG00000132300,protein_coding -6923,IMMT,ENSG00000132305,protein_coding -6927,MRPL35,ENSG00000132313,protein_coding -9516,IQCA1,ENSG00000132321,protein_coding -9551,ILKAP,ENSG00000132323,protein_coding -9555,PER2,ENSG00000132326,protein_coding -9541,RAMP1,ENSG00000132329,protein_coding -9546,SCLY,ENSG00000132330,protein_coding -37366,PTPRE,ENSG00000132334,protein_coding -40418,RAN,ENSG00000132341,protein_coding -16129,PRKAA1,ENSG00000132356,protein_coding -16133,CARD6,ENSG00000132357,protein_coding -49110,RAP1GAP2,ENSG00000132359,protein_coding -49103,CLUH,ENSG00000132361,protein_coding -49038,INPP5K,ENSG00000132376,protein_coding -49172,MYBBP1A,ENSG00000132382,protein_coding -49055,RPA1,ENSG00000132383,protein_coding -49053,SERPINF1,ENSG00000132386,protein_coding -49165,UBE2G1,ENSG00000132388,protein_coding -11600,EEFSEC,ENSG00000132394,protein_coding -13036,TBC1D14,ENSG00000132405,protein_coding -12991,TMEM128,ENSG00000132406,protein_coding -20448,COQ3,ENSG00000132423,protein_coding -20449,PNISR,ENSG00000132424,protein_coding -20492,POPDC3,ENSG00000132429,protein_coding -22477,SEC61G,ENSG00000132432,protein_coding -22486,LANCL2,ENSG00000132434,protein_coding -22429,FIGNL1,ENSG00000132436,protein_coding -22430,DDC,ENSG00000132437,protein_coding -24936,FTHL17,ENSG00000132446,protein_coding -13899,GRSF1,ENSG00000132463,protein_coding -13891,ENAM,ENSG00000132464,protein_coding -13893,JCHAIN,ENSG00000132465,protein_coding -13917,ANKRD17,ENSG00000132466,protein_coding -13894,UTP3,ENSG00000132467,protein_coding -51708,ITGB4,ENSG00000132470,protein_coding -51715,WBP2,ENSG00000132471,protein_coding -51710,H3F3B,ENSG00000132475,protein_coding -51712,UNK,ENSG00000132478,protein_coding -51716,AC087289.1,ENSG00000132481,protein_coding -1991,ZRANB2,ENSG00000132485,protein_coding -49311,EIF5A,ENSG00000132507,protein_coding -49364,KDM6B,ENSG00000132510,protein_coding -49290,CLEC10A,ENSG00000132514,protein_coding -49217,SLC52A1,ENSG00000132517,protein_coding -49377,GUCY2D,ENSG00000132518,protein_coding -49312,GPS2,ENSG00000132522,protein_coding -49269,XAF1,ENSG00000132530,protein_coding -49294,DLG4,ENSG00000132535,protein_coding -28717,RIDA,ENSG00000132541,protein_coding -28738,VPS13B,ENSG00000132549,protein_coding -28753,RGS22,ENSG00000132554,protein_coding -28711,MATN2,ENSG00000132561,protein_coding -17548,REEP2,ENSG00000132563,protein_coding -17466,PCBD2,ENSG00000132570,protein_coding -50013,SDF2,ENSG00000132581,protein_coding -50042,FLOT2,ENSG00000132589,protein_coding -50036,ERAL1,ENSG00000132591,protein_coding -48376,PRMT7,ENSG00000132600,protein_coding -48422,NIP7,ENSG00000132603,protein_coding -48424,TERF2,ENSG00000132604,protein_coding -48416,VPS4A,ENSG00000132612,protein_coding -48470,MTSS2,ENSG00000132613,protein_coding -53412,HSPA12B,ENSG00000132622,protein_coding -53519,ANKEF1,ENSG00000132623,protein_coding -53662,SCP2D1,ENSG00000132631,protein_coding -53386,PCED1A,ENSG00000132635,protein_coding -53524,SNAP25,ENSG00000132639,protein_coding -53553,BTBD3,ENSG00000132640,protein_coding -53453,PCNA,ENSG00000132646,protein_coding -53741,NXT1,ENSG00000132661,protein_coding -53645,POLR3F,ENSG00000132664,protein_coding -53670,RIN2,ENSG00000132669,protein_coding -53388,PTPRA,ENSG00000132670,protein_coding -53731,SSTR4,ENSG00000132671,protein_coding -3434,DAP3,ENSG00000132676,protein_coding -3471,RHBG,ENSG00000132677,protein_coding -3442,KHDC4,ENSG00000132680,protein_coding -3624,ATP1A4,ENSG00000132681,protein_coding -3489,NES,ENSG00000132688,protein_coding -3486,BCAN,ENSG00000132692,protein_coding -3598,CRP,ENSG00000132693,protein_coding -3505,ARHGEF11,ENSG00000132694,protein_coding -3455,RAB25,ENSG00000132698,protein_coding -3484,HAPLN2,ENSG00000132702,protein_coding -3594,APCS,ENSG00000132703,protein_coding -3528,FCRL2,ENSG00000132704,protein_coding -3628,DCAF8,ENSG00000132716,protein_coding -3439,SYT11,ENSG00000132718,protein_coding -33741,IGHMBP2,ENSG00000132740,protein_coding -33697,ACY3,ENSG00000132744,protein_coding -33699,ALDH3B2,ENSG00000132746,protein_coding -33737,TESMIN,ENSG00000132749,protein_coding -1482,MMACHC,ENSG00000132763,protein_coding -1423,DPH2,ENSG00000132768,protein_coding -1478,TOE1,ENSG00000132773,protein_coding -1488,NASP,ENSG00000132780,protein_coding -1477,MUTYH,ENSG00000132781,protein_coding -54098,CTNNBL1,ENSG00000132792,protein_coding -54169,LPIN3,ENSG00000132793,protein_coding -54297,ZSWIM3,ENSG00000132801,protein_coding -54531,RBM38,ENSG00000132819,protein_coding -54099,VSTM2L,ENSG00000132821,protein_coding -54213,OSER1,ENSG00000132823,protein_coding -54227,SERINC3,ENSG00000132824,protein_coding -54593,PPP1R3D,ENSG00000132825,protein_coding -16691,DMGDH,ENSG00000132837,protein_coding -16693,BHMT2,ENSG00000132840,protein_coding -16678,AP3B1,ENSG00000132842,protein_coding -16662,ZBED3,ENSG00000132846,protein_coding -1825,PATJ,ENSG00000132849,protein_coding -1837,KANK4,ENSG00000132854,protein_coding -1842,ANGPTL3,ENSG00000132855,protein_coding -52731,SYT4,ENSG00000132872,protein_coding -52745,SLC14A2,ENSG00000132874,protein_coding -395,FBXO44,ENSG00000132879,protein_coding -550,CPLANE2,ENSG00000132881,protein_coding -508,CASP9,ENSG00000132906,protein_coding -17946,NMUR2,ENSG00000132911,protein_coding -17905,DCTN4,ENSG00000132912,protein_coding -17877,PDE6A,ENSG00000132915,protein_coding -40740,ATP8A2,ENSG00000132932,protein_coding -40811,MTUS2,ENSG00000132938,protein_coding -40601,ZMYM5,ENSG00000132950,protein_coding -40842,USPL1,ENSG00000132952,protein_coding -40626,XPO4,ENSG00000132953,protein_coding -40590,TPTE2,ENSG00000132958,protein_coding -40805,POMP,ENSG00000132963,protein_coding -40753,CDK8,ENSG00000132964,protein_coding -40844,ALOX5AP,ENSG00000132965,protein_coding -40756,WASF3,ENSG00000132970,protein_coding -40720,RNF17,ENSG00000132972,protein_coding -40760,GPR12,ENSG00000132975,protein_coding -5222,CHRM3,ENSG00000133019,protein_coding -49457,MYH8,ENSG00000133020,protein_coding -49417,MYH10,ENSG00000133026,protein_coding -49654,PEMT,ENSG00000133027,protein_coding -49464,SCO1,ENSG00000133028,protein_coding -49634,MPRIP,ENSG00000133030,protein_coding -4435,CHI3L1,ENSG00000133048,protein_coding -4434,MYBPH,ENSG00000133055,protein_coding -4477,PIK3C2B,ENSG00000133056,protein_coding -4495,DSTYK,ENSG00000133059,protein_coding -4436,CHIT1,ENSG00000133063,protein_coding -4519,SLC41A1,ENSG00000133065,protein_coding -4401,LGR6,ENSG00000133067,protein_coding -4497,TMCC2,ENSG00000133069,protein_coding -40911,DCLK1,ENSG00000133083,protein_coding -40918,CCNA1,ENSG00000133101,protein_coding -40964,COG6,ENSG00000133103,protein_coding -40916,SPART,ENSG00000133104,protein_coding -40859,RXFP2,ENSG00000133105,protein_coding -41025,EPSTI1,ENSG00000133106,protein_coding -40942,TRPC4,ENSG00000133107,protein_coding -40941,POSTN,ENSG00000133110,protein_coding -40925,RFXAP,ENSG00000133111,protein_coding -41072,TPT1,ENSG00000133112,protein_coding -41064,GPALPP1,ENSG00000133114,protein_coding -40958,STOML3,ENSG00000133115,protein_coding -40880,KL,ENSG00000133116,protein_coding -40892,RFC3,ENSG00000133119,protein_coding -40881,STARD13,ENSG00000133121,protein_coding -26130,IRS4,ENSG00000133124,protein_coding -26097,MORC4,ENSG00000133131,protein_coding -26041,BEX2,ENSG00000133134,protein_coding -26095,RNF128,ENSG00000133135,protein_coding -26096,TBC1D8B,ENSG00000133138,protein_coding -26050,TCEAL4,ENSG00000133142,protein_coding -26033,BEX1,ENSG00000133169,protein_coding -51611,FAM104A,ENSG00000133193,protein_coding -51601,SLC39A11,ENSG00000133195,protein_coding -734,EPHB2,ENSG00000133216,protein_coding -798,SRRM1,ENSG00000133226,protein_coding -54886,BTBD2,ENSG00000133243,protein_coding -55213,PRAM1,ENSG00000133246,protein_coding -57508,KMT5C,ENSG00000133247,protein_coding -55214,ZNF414,ENSG00000133250,protein_coding -12876,PDE6B,ENSG00000133256,protein_coding -57503,HSPBP1,ENSG00000133265,protein_coding -54884,CSNK1G2,ENSG00000133275,protein_coding -16909,SLF1,ENSG00000133302,protein_coding -53175,CNDP2,ENSG00000133313,protein_coding -33442,MACROD1,ENSG00000133315,protein_coding -33390,WDR74,ENSG00000133316,protein_coding -33420,LGALS12,ENSG00000133317,protein_coding -33428,RTN3,ENSG00000133318,protein_coding -33421,PLAAT4,ENSG00000133321,protein_coding -33422,PLAAT2,ENSG00000133328,protein_coding -47060,MYH11,ENSG00000133392,protein_coding -47064,FOPNL,ENSG00000133393,protein_coding -15626,MED10,ENSG00000133398,protein_coding -15968,PDZD2,ENSG00000133401,protein_coding -59025,MORC2,ENSG00000133422,protein_coding -59114,LARGE1,ENSG00000133424,protein_coding -58791,GSTT2B,ENSG00000133433,protein_coding -58865,MYO18B,ENSG00000133454,protein_coding -58781,SLC2A11,ENSG00000133460,protein_coding -59206,C1QTNF6,ENSG00000133466,protein_coding -58558,GGT2,ENSG00000133475,protein_coding -59333,FAM83F,ENSG00000133477,protein_coding -59011,SEC14L4,ENSG00000133488,protein_coding -24394,GIMAP6,ENSG00000133561,protein_coding -24391,GIMAP4,ENSG00000133574,protein_coding -24078,ADCK2,ENSG00000133597,protein_coding -24073,MKRN1,ENSG00000133606,protein_coding -24416,AGAP3,ENSG00000133612,protein_coding -24358,KRBA1,ENSG00000133619,protein_coding -24464,ACTR3B,ENSG00000133627,protein_coding -39449,NTS,ENSG00000133636,protein_coding -39523,BTG1,ENSG00000133639,protein_coding -39443,LRRIQ1,ENSG00000133640,protein_coding -39465,C12orf29,ENSG00000133641,protein_coding -12706,ATP13A3,ENSG00000133657,protein_coding -36505,SFTPD,ENSG00000133661,protein_coding -36530,DYDC2,ENSG00000133665,protein_coding -36516,TMEM254,ENSG00000133678,protein_coding -38228,TMTC1,ENSG00000133687,protein_coding -38140,KRAS,ENSG00000133703,protein_coding -38239,IPO8,ENSG00000133704,protein_coding -17796,LARS,ENSG00000133706,protein_coding -17830,SPINK5,ENSG00000133710,protein_coding -28474,IMPA1,ENSG00000133731,protein_coding -28504,LRRCC1,ENSG00000133739,protein_coding -28506,E2F5,ENSG00000133740,protein_coding -28512,CA1,ENSG00000133742,protein_coding -39423,CCDC59,ENSG00000133773,protein_coding -32277,SWAP70,ENSG00000133789,protein_coding -32343,ARNTL,ENSG00000133794,protein_coding -32296,LYVE1,ENSG00000133800,protein_coding -32290,AMPD3,ENSG00000133805,protein_coding -32281,SBF2,ENSG00000133812,protein_coding -32326,MICAL2,ENSG00000133816,protein_coding -32365,RRAS2,ENSG00000133818,protein_coding -17216,HSD17B4,ENSG00000133835,protein_coding -39287,ZFC3H1,ENSG00000133858,protein_coding -27685,TEX15,ENSG00000133863,protein_coding -27658,SARAF,ENSG00000133872,protein_coding -27721,RNF122,ENSG00000133874,protein_coding -27723,DUSP26,ENSG00000133878,protein_coding -33536,DPF2,ENSG00000133884,protein_coding -33489,MEN1,ENSG00000133895,protein_coding -43324,ERG28,ENSG00000133935,protein_coding -43620,GSC,ENSG00000133937,protein_coding -43535,DGLUCY,ENSG00000133943,protein_coding -43582,UNC79,ENSG00000133958,protein_coding -43227,NUMB,ENSG00000133961,protein_coding -43548,CATSPERB,ENSG00000133962,protein_coding -43273,VRTN,ENSG00000133980,protein_coding -43164,COX16,ENSG00000133983,protein_coding -43179,TTC9,ENSG00000133985,protein_coding -43174,MED6,ENSG00000133997,protein_coding -43089,EIF2S1,ENSG00000134001,protein_coding -43172,ADAM20,ENSG00000134007,protein_coding -27521,LOXL2,ENSG00000134013,protein_coding -27613,ELP3,ENSG00000134014,protein_coding -27501,PEBP4,ENSG00000134020,protein_coding -27542,ADAMDEC1,ENSG00000134028,protein_coding -52811,CTIF,ENSG00000134030,protein_coding -52868,MRO,ENSG00000134042,protein_coding -52896,MBD2,ENSG00000134046,protein_coding -52788,IER3IP1,ENSG00000134049,protein_coding -16491,MRPS36,ENSG00000134056,protein_coding -16488,CCNB1,ENSG00000134057,protein_coding -16492,CDK7,ENSG00000134058,protein_coding -16454,CD180,ENSG00000134061,protein_coding -9797,IRAK2,ENSG00000134070,protein_coding -9768,CAMK1,ENSG00000134072,protein_coding -9759,THUMPD3,ENSG00000134077,protein_coding -9795,VHL,ENSG00000134086,protein_coding -9713,BHLHE40,ENSG00000134107,protein_coding -9718,ARL8B,ENSG00000134108,protein_coding -9721,EDEM1,ENSG00000134109,protein_coding -9681,CNTN6,ENSG00000134115,protein_coding -9671,CHL1,ENSG00000134121,protein_coding -44771,MEIS2,ENSG00000134138,protein_coding -44749,DPH6,ENSG00000134146,protein_coding -44709,KATNBL1,ENSG00000134152,protein_coding -44706,EMC7,ENSG00000134153,protein_coding -44646,TRPM1,ENSG00000134160,protein_coding -2556,GNAT2,ENSG00000134183,protein_coding -2562,GSTM1,ENSG00000134184,protein_coding -2518,PRPF38B,ENSG00000134186,protein_coding -2821,REG4,ENSG00000134193,protein_coding -2718,TSPAN2,ENSG00000134198,protein_coding -2717,TSHB,ENSG00000134200,protein_coding -2564,GSTM5,ENSG00000134201,protein_coding -2566,GSTM3,ENSG00000134202,protein_coding -2698,SYT6,ENSG00000134207,protein_coding -2498,VAV3,ENSG00000134215,protein_coding -2620,CHIA,ENSG00000134216,protein_coding -2542,PSRC1,ENSG00000134222,protein_coding -2820,HMGCS2,ENSG00000134240,protein_coding -2688,PTPN22,ENSG00000134242,protein_coding -2544,SORT1,ENSG00000134243,protein_coding -2655,WNT2B,ENSG00000134245,protein_coding -2762,PTGFRN,ENSG00000134247,protein_coding -2591,LAMTOR5,ENSG00000134248,protein_coding -2825,ADAM30,ENSG00000134249,protein_coding -2826,NOTCH2,ENSG00000134250,protein_coding -2768,TRIM45,ENSG00000134253,protein_coding -2613,CEPT1,ENSG00000134255,protein_coding -2764,CD101,ENSG00000134256,protein_coding -2770,VTCN1,ENSG00000134258,protein_coding -2722,NGF,ENSG00000134259,protein_coding -2691,AP4B1,ENSG00000134262,protein_coding -52268,NAPG,ENSG00000134265,protein_coding -52337,SPIRE1,ENSG00000134278,protein_coding -38389,PPHLN1,ENSG00000134283,protein_coding -38558,FKBP11,ENSG00000134285,protein_coding -38559,ARF3,ENSG00000134287,protein_coding -38496,TMEM106C,ENSG00000134291,protein_coding -38451,SLC38A2,ENSG00000134294,protein_coding -5608,YWHAQ,ENSG00000134308,protein_coding -5592,KIDINS220,ENSG00000134313,protein_coding -5618,GRHL1,ENSG00000134317,protein_coding -5655,ROCK2,ENSG00000134318,protein_coding -5566,RSAD2,ENSG00000134321,protein_coding -5712,MYCN,ENSG00000134323,protein_coding -5674,LPIN1,ENSG00000134324,protein_coding -5565,CMPK2,ENSG00000134326,protein_coding -5604,IAH1,ENSG00000134330,protein_coding -32442,LDHA,ENSG00000134333,protein_coding -32434,SAA2,ENSG00000134339,protein_coding -32546,ANO3,ENSG00000134343,protein_coding -16305,IL6ST,ENSG00000134352,protein_coding -16253,FST,ENSG00000134363,protein_coding -4289,CFHR4,ENSG00000134365,protein_coding -4373,NAV1,ENSG00000134369,protein_coding -4266,CDC73,ENSG00000134371,protein_coding -4385,TIMM17A,ENSG00000134375,protein_coding -4298,CRB1,ENSG00000134376,protein_coding -4292,CFHR5,ENSG00000134389,protein_coding -47288,ERN2,ENSG00000134398,protein_coding -47134,RPS15A,ENSG00000134419,protein_coding -52989,RAX,ENSG00000134438,protein_coding -52950,NARS,ENSG00000134440,protein_coding -52988,GRP,ENSG00000134443,protein_coding -53035,RELCH,ENSG00000134444,protein_coding -35266,FBH1,ENSG00000134452,protein_coding -35273,RBM17,ENSG00000134453,protein_coding -35269,IL2RA,ENSG00000134460,protein_coding -35264,ANKRD16,ENSG00000134461,protein_coding -35348,ECHDC3,ENSG00000134463,protein_coding -35268,IL15RA,ENSG00000134470,protein_coding -16827,CCNH,ENSG00000134480,protein_coding -52514,HRH4,ENSG00000134489,protein_coding -52483,TMEM241,ENSG00000134490,protein_coding -52543,KCTD1,ENSG00000134504,protein_coding -52482,CABLES1,ENSG00000134508,protein_coding -18145,DOCK2,ENSG00000134516,protein_coding -37971,EMP1,ENSG00000134531,protein_coding -38119,SOX5,ENSG00000134532,protein_coding -38009,RERG,ENSG00000134533,protein_coding -38081,SLCO1B1,ENSG00000134538,protein_coding -37864,KLRD1,ENSG00000134539,protein_coding -37874,KLRC1,ENSG00000134545,protein_coding -38088,SPX,ENSG00000134548,protein_coding -37895,PRH2,ENSG00000134551,protein_coding -32845,LRP4,ENSG00000134569,protein_coding -32862,MYBPC3,ENSG00000134571,protein_coding -32855,DDB2,ENSG00000134574,protein_coding -32857,ACP2,ENSG00000134575,protein_coding -26478,USP26,ENSG00000134588,protein_coding -26527,RTL8C,ENSG00000134590,protein_coding -26431,RAB33A,ENSG00000134594,protein_coding -26638,SOX3,ENSG00000134595,protein_coding -26437,RBMX2,ENSG00000134597,protein_coding -26468,STK26,ENSG00000134602,protein_coding -34342,PIWIL4,ENSG00000134627,protein_coding -34289,MTNR1B,ENSG00000134640,protein_coding -1018,PUM1,ENSG00000134644,protein_coding -1045,SPOCD1,ENSG00000134668,protein_coding -1089,YARS,ENSG00000134684,protein_coding -1111,PHC2,ENSG00000134686,protein_coding -1212,CDCA8,ENSG00000134690,protein_coding -1208,GNL2,ENSG00000134697,protein_coding -1161,AGO4,ENSG00000134698,protein_coding -1809,HOOK1,ENSG00000134709,protein_coding -1810,CYP2J2,ENSG00000134716,protein_coding -1640,BTF3L4,ENSG00000134717,protein_coding -1655,TUT4,ENSG00000134744,protein_coding -1654,PRPF38A,ENSG00000134748,protein_coding -52584,DSC2,ENSG00000134755,protein_coding -52593,DSG3,ENSG00000134757,protein_coding -52618,RNF138,ENSG00000134758,protein_coding -52680,ELP2,ENSG00000134759,protein_coding -52588,DSG1,ENSG00000134760,protein_coding -52583,DSC3,ENSG00000134762,protein_coding -52586,DSC1,ENSG00000134765,protein_coding -52646,DTNA,ENSG00000134769,protein_coding -52686,FHOD3,ENSG00000134775,protein_coding -52688,TPGS2,ENSG00000134779,protein_coding -33313,DAGLA,ENSG00000134780,protein_coding -33117,SLC43A3,ENSG00000134802,protein_coding -33124,TIMM10,ENSG00000134809,protein_coding -33238,CBLIF,ENSG00000134812,protein_coding -56895,DHX34,ENSG00000134815,protein_coding -33109,APLNR,ENSG00000134817,protein_coding -33319,FADS2,ENSG00000134824,protein_coding -33316,TMEM258,ENSG00000134825,protein_coding -33239,TCN1,ENSG00000134827,protein_coding -56894,C5AR2,ENSG00000134830,protein_coding -13663,TMEM165,ENSG00000134851,protein_coding -13665,CLOCK,ENSG00000134852,protein_coding -13640,PDGFRA,ENSG00000134853,protein_coding -41726,GGACT,ENSG00000134864,protein_coding -41833,COL4A2,ENSG00000134871,protein_coding -41633,CLDN10,ENSG00000134873,protein_coding -41635,DZIP1,ENSG00000134874,protein_coding -41692,UBAC2,ENSG00000134882,protein_coding -41787,ARGLU1,ENSG00000134884,protein_coding -41760,BIVM,ENSG00000134897,protein_coding -41761,ERCC5,ENSG00000134899,protein_coding -41752,TPP2,ENSG00000134900,protein_coding -41758,POGLUT2,ENSG00000134901,protein_coding -41840,CARS2,ENSG00000134905,protein_coding -35056,ARHGAP32,ENSG00000134909,protein_coding -34991,STT3A,ENSG00000134910,protein_coding -35083,ADAMTS8,ENSG00000134917,protein_coding -34994,ACRV1,ENSG00000134940,protein_coding -35045,ETS1,ENSG00000134954,protein_coding -34978,SLC37A2,ENSG00000134955,protein_coding -13427,KLB,ENSG00000134962,protein_coding -17160,TMED7,ENSG00000134970,protein_coding -17122,APC,ENSG00000134982,protein_coding -17107,NREP,ENSG00000134986,protein_coding -17097,WDR36,ENSG00000134987,protein_coding -30501,OSTF1,ENSG00000134996,protein_coding -30509,RFK,ENSG00000135002,protein_coding -30594,UBQLN1,ENSG00000135018,protein_coding -30625,NAA35,ENSG00000135040,protein_coding -30495,C9orf40,ENSG00000135045,protein_coding -30479,ANXA1,ENSG00000135046,protein_coding -30651,CTSL,ENSG00000135047,protein_coding -30456,CEMIP2,ENSG00000135048,protein_coding -30618,AGTPBP1,ENSG00000135049,protein_coding -30626,GOLM1,ENSG00000135052,protein_coding -30431,FAM189A2,ENSG00000135063,protein_coding -30538,PSAT1,ENSG00000135069,protein_coding -30632,ISCA1,ENSG00000135070,protein_coding -18006,ADAM19,ENSG00000135074,protein_coding -17994,HAVCR2,ENSG00000135077,protein_coding -18060,CCNJL,ENSG00000135083,protein_coding -40066,TAOK3,ENSG00000135090,protein_coding -39858,USP30,ENSG00000135093,protein_coding -39982,SDS,ENSG00000135094,protein_coding -40118,MSI1,ENSG00000135097,protein_coding -40153,HNF1A,ENSG00000135100,protein_coding -40053,FBXO21,ENSG00000135108,protein_coding -40003,TBX3,ENSG00000135111,protein_coding -40155,OASL,ENSG00000135114,protein_coding -40045,HRK,ENSG00000135116,protein_coding -40041,RNFT2,ENSG00000135119,protein_coding -40164,P2RX4,ENSG00000135124,protein_coding -40099,BICDL1,ENSG00000135127,protein_coding -39967,DTX1,ENSG00000135144,protein_coding -39949,TRAFD1,ENSG00000135148,protein_coding -23105,DMTF1,ENSG00000135164,protein_coding -23279,OCM2,ENSG00000135175,protein_coding -23107,TMEM243,ENSG00000135185,protein_coding -23021,CCDC146,ENSG00000135205,protein_coding -23031,TMEM60,ENSG00000135211,protein_coding -23060,CD36,ENSG00000135218,protein_coding -13838,UGT2A3,ENSG00000135220,protein_coding -13875,CSN2,ENSG00000135222,protein_coding -13855,UGT2B28,ENSG00000135226,protein_coding -23577,PNPLA8,ENSG00000135241,protein_coding -23817,HILPDA,ENSG00000135245,protein_coding -23840,FAM71F1,ENSG00000135248,protein_coding -23530,RINT1,ENSG00000135249,protein_coding -23521,SRPK2,ENSG00000135250,protein_coding -23847,KCP,ENSG00000135253,protein_coding -23648,TES,ENSG00000135269,protein_coding -23635,MDFIC,ENSG00000135272,protein_coding -20138,MTO1,ENSG00000135297,protein_coding -20068,ADGRB3,ENSG00000135298,protein_coding -20362,ANKRD6,ENSG00000135299,protein_coding -20190,HTR1B,ENSG00000135312,protein_coding -20124,KHDC1,ENSG00000135314,protein_coding -20268,CEP162,ENSG00000135315,protein_coding -20287,SYNCRIP,ENSG00000135316,protein_coding -20285,SNX14,ENSG00000135317,protein_coding -20283,NT5E,ENSG00000135318,protein_coding -20267,MRAP2,ENSG00000135324,protein_coding -20402,EPHA7,ENSG00000135333,protein_coding -20331,AKIRIN2,ENSG00000135334,protein_coding -20330,ORC3,ENSG00000135336,protein_coding -20209,LCA5,ENSG00000135338,protein_coding -20383,MAP3K7,ENSG00000135341,protein_coding -20312,CGA,ENSG00000135346,protein_coding -20374,GJA10,ENSG00000135355,protein_coding -32704,PRR5L,ENSG00000135362,protein_coding -32660,LMO2,ENSG00000135363,protein_coding -32818,PHF21A,ENSG00000135365,protein_coding -32664,NAT10,ENSG00000135372,protein_coding -32674,EHF,ENSG00000135373,protein_coding -32671,ELF5,ENSG00000135374,protein_coding -32632,PRRG4,ENSG00000135378,protein_coding -32663,CAPRIN1,ENSG00000135387,protein_coding -38784,ATP5MC2,ENSG00000135390,protein_coding -38903,DNAJC14,ENSG00000135392,protein_coding -38894,CD63,ENSG00000135404,protein_coding -38582,PRPH,ENSG00000135406,protein_coding -39034,AVIL,ENSG00000135407,protein_coding -38769,AMHR2,ENSG00000135409,protein_coding -38847,LACRT,ENSG00000135413,protein_coding -38898,GDF11,ENSG00000135414,protein_coding -38959,GLS2,ENSG00000135423,protein_coding -38890,ITGA7,ENSG00000135424,protein_coding -38852,TESPA1,ENSG00000135426,protein_coding -38594,FAM186B,ENSG00000135436,protein_coding -38893,RDH5,ENSG00000135437,protein_coding -39023,AGAP2,ENSG00000135439,protein_coding -38892,BLOC1S1,ENSG00000135441,protein_coding -38705,KRT85,ENSG00000135443,protein_coding -39026,CDK4,ENSG00000135446,protein_coding -38845,PPP1R1A,ENSG00000135447,protein_coding -38583,TROAP,ENSG00000135451,protein_coding -39025,TSPAN31,ENSG00000135452,protein_coding -39019,B4GALNT1,ENSG00000135454,protein_coding -38654,TFCP2,ENSG00000135457,protein_coding -38939,COQ10A,ENSG00000135469,protein_coding -38608,FAIM2,ENSG00000135472,protein_coding -38946,PAN2,ENSG00000135473,protein_coding -38762,ESPL1,ENSG00000135476,protein_coding -38693,KRT7,ENSG00000135480,protein_coding -38927,ZC3H10,ENSG00000135482,protein_coding -38829,HNRNPA1,ENSG00000135486,protein_coding -39018,SLC26A10,ENSG00000135502,protein_coding -38679,ACVR1B,ENSG00000135503,protein_coding -39021,OS9,ENSG00000135506,protein_coding -38956,MIP,ENSG00000135517,protein_coding -38590,KCNH3,ENSG00000135519,protein_coding -21081,LTV1,ENSG00000135521,protein_coding -20971,MAP7,ENSG00000135525,protein_coding -20580,CD164,ENSG00000135535,protein_coding -20553,AFG1L,ENSG00000135537,protein_coding -21012,NHSL1,ENSG00000135540,protein_coding -20952,AHI1,ENSG00000135541,protein_coding -20795,HEY2,ENSG00000135547,protein_coding -20769,PKIB,ENSG00000135549,protein_coding -20888,TAAR5,ENSG00000135569,protein_coding -21050,NMBR,ENSG00000135577,protein_coding -20583,SMPD2,ENSG00000135587,protein_coding -20584,MICAL1,ENSG00000135596,protein_coding -21022,REPS1,ENSG00000135597,protein_coding -21091,STX11,ENSG00000135604,protein_coding -13562,TEC,ENSG00000135605,protein_coding -6689,PRADC1,ENSG00000135617,protein_coding -6763,SEMA4F,ENSG00000135622,protein_coding -6690,CCT7,ENSG00000135624,protein_coding -6692,EGR4,ENSG00000135625,protein_coding -6685,RAB11FIP5,ENSG00000135631,protein_coding -6688,SMYD5,ENSG00000135632,protein_coding -6674,DYSF,ENSG00000135636,protein_coding -6748,CCDC142,ENSG00000135637,protein_coding -6682,EMX1,ENSG00000135638,protein_coding -39272,KCNMB4,ENSG00000135643,protein_coding -39084,USP15,ENSG00000135655,protein_coding -39148,GNS,ENSG00000135677,protein_coding -39239,CPM,ENSG00000135678,protein_coding -39235,MDM2,ENSG00000135679,protein_coding -48790,KLHL36,ENSG00000135686,protein_coding -48719,BCO1,ENSG00000135697,protein_coding -48742,MPHOSPH6,ENSG00000135698,protein_coding -48607,CHST5,ENSG00000135702,protein_coding -48798,KIAA0513,ENSG00000135709,protein_coding -48267,DYNC1LI2,ENSG00000135720,protein_coding -48291,FBXL8,ENSG00000135722,protein_coding -48303,FHOD1,ENSG00000135723,protein_coding -48142,CCDC102A,ENSG00000135736,protein_coding -48304,SLC9A5,ENSG00000135740,protein_coding -5046,AGT,ENSG00000135744,protein_coding -5360,ZNF670-ZNF695,ENSG00000135747,protein_coding -5095,PCNX2,ENSG00000135749,protein_coding -5101,KCNK1,ENSG00000135750,protein_coding -5032,URB2,ENSG00000135763,protein_coding -5070,EGLN1,ENSG00000135766,protein_coding -5048,CAPN9,ENSG00000135773,protein_coding -5044,COG2,ENSG00000135775,protein_coding -5027,ABCB10,ENSG00000135776,protein_coding -5094,NTPCR,ENSG00000135778,protein_coding -5031,TAF5L,ENSG00000135801,protein_coding -4114,GLUL,ENSG00000135821,protein_coding -4093,STX6,ENSG00000135823,protein_coding -4124,RGS8,ENSG00000135824,protein_coding -4120,RNASEL,ENSG00000135828,protein_coding -4129,DHX9,ENSG00000135829,protein_coding -4088,KIAA1614,ENSG00000135835,protein_coding -4074,CEP350,ENSG00000135837,protein_coding -4127,NPL,ENSG00000135838,protein_coding -4167,FAM129A,ENSG00000135842,protein_coding -3937,PIGC,ENSG00000135845,protein_coding -4137,LAMC1,ENSG00000135862,protein_coding -3971,RC3H1,ENSG00000135870,protein_coding -9372,GPR55,ENSG00000135898,protein_coding -9354,SP110,ENSG00000135899,protein_coding -9279,MRPL44,ENSG00000135900,protein_coding -9433,CHRND,ENSG00000135902,protein_coding -9251,PAX3,ENSG00000135903,protein_coding -9289,DOCK10,ENSG00000135905,protein_coding -9159,TTLL4,ENSG00000135912,protein_coding -9149,USP37,ENSG00000135913,protein_coding -9381,HTR2B,ENSG00000135914,protein_coding -9370,ITM2C,ENSG00000135916,protein_coding -9319,SLC19A3,ENSG00000135917,protein_coding -9281,SERPINE2,ENSG00000135919,protein_coding -9199,DNAJB2,ENSG00000135924,protein_coding -9167,WNT10A,ENSG00000135925,protein_coding -9137,TMBIM1,ENSG00000135926,protein_coding -9160,CYP27A1,ENSG00000135929,protein_coding -9437,EIF4E2,ENSG00000135930,protein_coding -9383,ARMC9,ENSG00000135931,protein_coding -9366,CAB39,ENSG00000135932,protein_coding -7244,COX5B,ENSG00000135940,protein_coding -7278,REV1,ENSG00000135945,protein_coding -7266,TSGA10,ENSG00000135951,protein_coding -7335,MFSD9,ENSG00000135953,protein_coding -7191,TMEM127,ENSG00000135956,protein_coding -7446,EDAR,ENSG00000135960,protein_coding -7377,TGFBRAP1,ENSG00000135966,protein_coding -7437,GCC2,ENSG00000135968,protein_coding -7372,MRPS9,ENSG00000135972,protein_coding -7375,GPR45,ENSG00000135973,protein_coding -7380,C2orf49,ENSG00000135974,protein_coding -7227,ANKRD36,ENSG00000135976,protein_coding -8091,EPC2,ENSG00000135999,protein_coding -7849,ARHGEF4,ENSG00000136002,protein_coding -39841,ISCU,ENSG00000136003,protein_coding -39784,ALDH1L2,ENSG00000136010,protein_coding -39751,STAB2,ENSG00000136011,protein_coding -39601,USP44,ENSG00000136014,protein_coding -39687,SCYL2,ENSG00000136021,protein_coding -39797,CKAP4,ENSG00000136026,protein_coding -39566,PLXNC1,ENSG00000136040,protein_coding -39786,APPL2,ENSG00000136044,protein_coding -39823,PWP1,ENSG00000136045,protein_coding -39723,DRAM1,ENSG00000136048,protein_coding -39785,WASHC4,ENSG00000136051,protein_coding -39779,SLC41A2,ENSG00000136052,protein_coding -10172,VILL,ENSG00000136059,protein_coding -10736,FLNB,ENSG00000136068,protein_coding -41227,NEK3,ENSG00000136098,protein_coding -41250,PCDH8,ENSG00000136099,protein_coding -41236,VPS36,ENSG00000136100,protein_coding -41193,RNASEH2B,ENSG00000136104,protein_coding -41238,CKAP2,ENSG00000136108,protein_coding -41247,CNMD,ENSG00000136110,protein_coding -41430,TBC1D4,ENSG00000136111,protein_coding -41234,THSD1,ENSG00000136114,protein_coding -41400,BORA,ENSG00000136122,protein_coding -41112,LRCH1,ENSG00000136141,protein_coding -41119,SUCLA2,ENSG00000136143,protein_coding -41160,RCBTB1,ENSG00000136144,protein_coding -41128,MED4,ENSG00000136146,protein_coding -41159,PHF11,ENSG00000136147,protein_coding -41082,COG3,ENSG00000136152,protein_coding -41436,LMO7,ENSG00000136153,protein_coding -41461,SCEL,ENSG00000136155,protein_coding -41131,ITM2B,ENSG00000136156,protein_coding -41502,SPRY2,ENSG00000136158,protein_coding -41126,NUDT15,ENSG00000136159,protein_coding -41470,EDNRB,ENSG00000136160,protein_coding -41139,RCBTB2,ENSG00000136161,protein_coding -41095,LCP1,ENSG00000136167,protein_coding -41157,SETDB2,ENSG00000136169,protein_coding -22062,SCRN1,ENSG00000136193,protein_coding -22283,C7orf25,ENSG00000136197,protein_coding -22396,TNS3,ENSG00000136205,protein_coding -22311,SPDYE1,ENSG00000136206,protein_coding -21615,CHST12,ENSG00000136213,protein_coding -21913,IGF2BP3,ENSG00000136231,protein_coding -21911,GPNMB,ENSG00000136235,protein_coding -21888,RAPGEF5,ENSG00000136237,protein_coding -21695,RAC1,ENSG00000136238,protein_coding -21697,KDELR2,ENSG00000136240,protein_coding -21908,NUPL2,ENSG00000136243,protein_coding -21895,IL6,ENSG00000136244,protein_coding -21700,ZDHHC4,ENSG00000136247,protein_coding -22190,AOAH,ENSG00000136250,protein_coding -21822,BZW2,ENSG00000136261,protein_coding -21799,DGKB,ENSG00000136267,protein_coding -22357,TBRG4,ENSG00000136270,protein_coding -22337,DDX56,ENSG00000136271,protein_coding -22403,HUS1,ENSG00000136273,protein_coding -22356,NACAD,ENSG00000136274,protein_coding -22317,DBNL,ENSG00000136279,protein_coding -22355,CCM2,ENSG00000136280,protein_coding -22352,MYO1G,ENSG00000136286,protein_coding -21621,TTYH3,ENSG00000136295,protein_coding -21647,MMD2,ENSG00000136297,protein_coding -42388,CIDEB,ENSG00000136305,protein_coding -42036,TTC5,ENSG00000136319,protein_coding -42585,NKX2-8,ENSG00000136327,protein_coding -42581,NKX2-1,ENSG00000136352,protein_coding -42329,ZFHX2,ENSG00000136367,protein_coding -45877,MTHFS,ENSG00000136371,protein_coding -45855,ADAMTS7,ENSG00000136378,protein_coding -45904,ABHD17C,ENSG00000136379,protein_coding -45840,IREB2,ENSG00000136381,protein_coding -46031,ALPK3,ENSG00000136383,protein_coding -45981,TM6SF1,ENSG00000136404,protein_coding -45826,CIB2,ENSG00000136425,protein_coding -50997,CALCOCO2,ENSG00000136436,protein_coding -51085,RSAD1,ENSG00000136444,protein_coding -50833,NMT1,ENSG00000136448,protein_coding -51087,MYCBPAP,ENSG00000136449,protein_coding -51206,SRSF1,ENSG00000136450,protein_coding -51202,VEZF1,ENSG00000136451,protein_coding -51083,CHAD,ENSG00000136457,protein_coding -51399,TACO1,ENSG00000136463,protein_coding -51433,TEX2,ENSG00000136478,protein_coding -51397,DCAF7,ENSG00000136485,protein_coding -51414,GH2,ENSG00000136487,protein_coding -51416,CSH1,ENSG00000136488,protein_coding -51404,LIMD2,ENSG00000136490,protein_coding -51340,BRIP1,ENSG00000136492,protein_coding -51043,KAT7,ENSG00000136504,protein_coding -12612,RTP4,ENSG00000136514,protein_coding -12413,ACTL6A,ENSG00000136518,protein_coding -12417,NDUFB5,ENSG00000136521,protein_coding -12416,MRPL47,ENSG00000136522,protein_coding -12565,TRA2B,ENSG00000136527,protein_coding -8295,SCN2A,ENSG00000136531,protein_coding -8255,TBR1,ENSG00000136535,protein_coding -8232,MARCH7,ENSG00000136536,protein_coding -8189,ERMN,ENSG00000136541,protein_coding -8187,GALNT5,ENSG00000136542,protein_coding -8310,SCN7A,ENSG00000136546,protein_coding -8248,TANK,ENSG00000136560,protein_coding -27269,BLK,ENSG00000136573,protein_coding -27273,GATA4,ENSG00000136574,protein_coding -12293,SKIL,ENSG00000136603,protein_coding -4763,EPRS,ENSG00000136628,protein_coding -4796,HLX,ENSG00000136630,protein_coding -3108,VPS45,ENSG00000136631,protein_coding -4550,IL10,ENSG00000136634,protein_coding -4724,KCTD3,ENSG00000136636,protein_coding -4700,RPS6KC1,ENSG00000136643,protein_coding -7577,CBWD2,ENSG00000136682,protein_coding -7561,IL36G,ENSG00000136688,protein_coding -7569,IL1RN,ENSG00000136689,protein_coding -7564,IL36A,ENSG00000136694,protein_coding -7566,IL36RN,ENSG00000136695,protein_coding -7565,IL36B,ENSG00000136696,protein_coding -7567,IL1F10,ENSG00000136697,protein_coding -7836,CFC1,ENSG00000136698,protein_coding -7798,SMPD4,ENSG00000136699,protein_coding -7746,WDR33,ENSG00000136709,protein_coding -7821,CCDC115,ENSG00000136710,protein_coding -7759,SAP130,ENSG00000136715,protein_coding -7726,BIN1,ENSG00000136717,protein_coding -7822,IMP4,ENSG00000136718,protein_coding -7768,HS6ST1,ENSG00000136720,protein_coding -7762,UGGT1,ENSG00000136731,protein_coding -7718,GYPC,ENSG00000136732,protein_coding -35457,STAM,ENSG00000136738,protein_coding -35583,GAD2,ENSG00000136750,protein_coding -35596,ABI1,ENSG00000136754,protein_coding -35602,YME1L1,ENSG00000136758,protein_coding -35515,DNAJC1,ENSG00000136770,protein_coding -31010,NIPSNAP3A,ENSG00000136783,protein_coding -31455,LRRC8A,ENSG00000136802,protein_coding -31387,CDK9,ENSG00000136807,protein_coding -31088,TXN,ENSG00000136810,protein_coding -31432,ODF2,ENSG00000136811,protein_coding -31102,ECPAS,ENSG00000136813,protein_coding -31494,TOR1B,ENSG00000136816,protein_coding -31496,C9orf78,ENSG00000136819,protein_coding -30994,SMC2,ENSG00000136824,protein_coding -31049,KLF4,ENSG00000136826,protein_coding -31495,TOR1A,ENSG00000136827,protein_coding -31365,RALGPS1,ENSG00000136828,protein_coding -31377,FAM129B,ENSG00000136830,protein_coding -31266,OR1J1,ENSG00000136834,protein_coding -31005,OR13C9,ENSG00000136839,protein_coding -31399,ST6GALNAC4,ENSG00000136840,protein_coding -30894,TMOD1,ENSG00000136842,protein_coding -31251,DAB2IP,ENSG00000136848,protein_coding -31378,STXBP1,ENSG00000136854,protein_coding -31371,SLC2A8,ENSG00000136856,protein_coding -31366,ANGPTL2,ENSG00000136859,protein_coding -31228,CDK5RAP2,ENSG00000136861,protein_coding -31140,ZFP37,ENSG00000136866,protein_coding -31149,SLC31A2,ENSG00000136867,protein_coding -31151,SLC31A1,ENSG00000136868,protein_coding -31215,TLR4,ENSG00000136869,protein_coding -30970,ZNF189,ENSG00000136870,protein_coding -30971,ALDOB,ENSG00000136872,protein_coding -30943,STX17,ENSG00000136874,protein_coding -31153,PRPF4,ENSG00000136875,protein_coding -31390,FPGS,ENSG00000136877,protein_coding -31497,USP20,ENSG00000136878,protein_coding -30967,BAAT,ENSG00000136881,protein_coding -31170,KIF12,ENSG00000136883,protein_coding -31180,ATP6V1G1,ENSG00000136888,protein_coding -30952,TEX10,ENSG00000136891,protein_coding -31368,GARNL3,ENSG00000136895,protein_coding -30969,MRPL50,ENSG00000136897,protein_coding -31402,DPM2,ENSG00000136908,protein_coding -31326,WDR38,ENSG00000136918,protein_coding -30896,TSTD2,ENSG00000136925,protein_coding -30918,GABBR2,ENSG00000136928,protein_coding -30907,HEMGN,ENSG00000136929,protein_coding -31314,PSMB7,ENSG00000136930,protein_coding -31316,NR5A1,ENSG00000136931,protein_coding -30904,TRMO,ENSG00000136932,protein_coding -31336,RABEPK,ENSG00000136933,protein_coding -31329,GOLGA1,ENSG00000136935,protein_coding -30899,XPA,ENSG00000136936,protein_coding -30897,NCBP1,ENSG00000136937,protein_coding -30908,ANP32B,ENSG00000136938,protein_coding -31278,OR1L4,ENSG00000136939,protein_coding -31282,PDCL,ENSG00000136940,protein_coding -31327,RPL35,ENSG00000136942,protein_coding -30873,CTSV,ENSG00000136943,protein_coding -31360,LMX1B,ENSG00000136944,protein_coding -31328,ARPC5L,ENSG00000136950,protein_coding -28995,ENPP2,ENSG00000136960,protein_coding -29000,DSCC1,ENSG00000136982,protein_coding -29034,DERL1,ENSG00000136986,protein_coding -29132,MYC,ENSG00000136997,protein_coding -28992,CCN3,ENSG00000136999,protein_coding -29576,IL33,ENSG00000137033,protein_coding -29603,DMAC1,ENSG00000137038,protein_coding -29573,RANBP6,ENSG00000137040,protein_coding -30079,POLR1E,ENSG00000137054,protein_coding -29820,PLAA,ENSG00000137055,protein_coding -29966,IL11RA,ENSG00000137070,protein_coding -29931,UBAP2,ENSG00000137073,protein_coding -29884,APTX,ENSG00000137074,protein_coding -30055,RNF38,ENSG00000137075,protein_coding -30019,TLN1,ENSG00000137076,protein_coding -29972,CCL21,ENSG00000137077,protein_coding -30011,SIT1,ENSG00000137078,protein_coding -29741,IFNA21,ENSG00000137080,protein_coding -29486,DMRT1,ENSG00000137090,protein_coding -29981,DNAJB5,ENSG00000137094,protein_coding -30029,SPAG8,ENSG00000137098,protein_coding -29961,DCTN3,ENSG00000137100,protein_coding -30008,CD72,ENSG00000137101,protein_coding -30032,TMEM8B,ENSG00000137103,protein_coding -30075,GRHPR,ENSG00000137106,protein_coding -30100,ALDH1B1,ENSG00000137124,protein_coding -30030,HINT2,ENSG00000137133,protein_coding -30015,ARHGEF39,ENSG00000137135,protein_coding -30101,IGFBPL1,ENSG00000137142,protein_coding -29707,DENND4C,ENSG00000137145,protein_coding -29711,RPS6,ENSG00000137154,protein_coding -19727,CNPY3,ENSG00000137161,protein_coding -19684,FOXP4,ENSG00000137166,protein_coding -19591,PPIL1,ENSG00000137168,protein_coding -19739,KLC4,ENSG00000137171,protein_coding -18804,KIF13A,ENSG00000137177,protein_coding -19072,ZSCAN9,ENSG00000137185,protein_coding -19599,PIM1,ENSG00000137193,protein_coding -18782,GMPR,ENSG00000137198,protein_coding -19607,CMTR1,ENSG00000137200,protein_coding -18673,TFAP2A,ENSG00000137203,protein_coding -19748,SLC22A7,ENSG00000137204,protein_coding -19764,YIPF3,ENSG00000137207,protein_coding -18694,TMEM14B,ENSG00000137210,protein_coding -19788,TMEM63B,ENSG00000137216,protein_coding -19692,FRS3,ENSG00000137218,protein_coding -19761,TJAP1,ENSG00000137221,protein_coding -19789,CAPN11,ENSG00000137225,protein_coding -19960,TINAG,ENSG00000137251,protein_coding -19970,HCRTR2,ENSG00000137252,protein_coding -18877,KIAA0319,ENSG00000137261,protein_coding -18495,IRF4,ENSG00000137265,protein_coding -18558,SLC22A23,ENSG00000137266,protein_coding -18553,TUBB2A,ENSG00000137267,protein_coding -19952,LRRC1,ENSG00000137269,protein_coding -19930,GCM1,ENSG00000137270,protein_coding -18514,FOXF2,ENSG00000137273,protein_coding -18551,BPHL,ENSG00000137274,protein_coding -18548,RIPK1,ENSG00000137275,protein_coding -18556,TUBB2B,ENSG00000137285,protein_coding -19493,UQCC2,ENSG00000137288,protein_coding -19507,HMGA1,ENSG00000137309,protein_coding -19275,TCF19,ENSG00000137310,protein_coding -19246,FLOT1,ENSG00000137312,protein_coding -19249,IER3,ENSG00000137331,protein_coding -19242,MDC1,ENSG00000137337,protein_coding -19077,PGBD1,ENSG00000137338,protein_coding -19235,ATAT1,ENSG00000137343,protein_coding -18807,TPMT,ENSG00000137364,protein_coding -19559,CLPS,ENSG00000137392,protein_coding -18815,RNF144B,ENSG00000137393,protein_coding -19240,NRM,ENSG00000137404,protein_coding -19595,MTCH1,ENSG00000137409,protein_coding -19259,VARS2,ENSG00000137411,protein_coding -19706,TAF8,ENSG00000137413,protein_coding -18798,FAM8A1,ENSG00000137414,protein_coding -18689,C6orf52,ENSG00000137434,protein_coding -13214,FGFBP1,ENSG00000137440,protein_coding -13215,FGFBP2,ENSG00000137441,protein_coding -13199,CPEB2,ENSG00000137449,protein_coding -14988,FHDC1,ENSG00000137460,protein_coding -15000,TLR2,ENSG00000137462,protein_coding -14774,MGARP,ENSG00000137463,protein_coding -14891,TTC29,ENSG00000137473,protein_coding -34023,MYO7A,ENSG00000137474,protein_coding -33884,FCHSD2,ENSG00000137478,protein_coding -33966,ARRB1,ENSG00000137486,protein_coding -33961,SLCO2B1,ENSG00000137491,protein_coding -34001,THAP12,ENSG00000137492,protein_coding -34108,ANKRD42,ENSG00000137494,protein_coding -33837,IL18BP,ENSG00000137496,protein_coding -33838,NUMA1,ENSG00000137497,protein_coding -34112,CCDC90B,ENSG00000137500,protein_coding -34135,SYTL2,ENSG00000137501,protein_coding -34095,RAB30,ENSG00000137502,protein_coding -34133,CREBZF,ENSG00000137504,protein_coding -34011,LRRC32,ENSG00000137507,protein_coding -34090,PRCP,ENSG00000137509,protein_coding -34059,NARS2,ENSG00000137513,protein_coding -33835,RNF121,ENSG00000137522,protein_coding -28050,MRPL15,ENSG00000137547,protein_coding -28377,PI15,ENSG00000137558,protein_coding -28183,TTPA,ENSG00000137561,protein_coding -28181,GGH,ENSG00000137563,protein_coding -28276,SLCO5A1,ENSG00000137571,protein_coding -28275,SULF1,ENSG00000137573,protein_coding -28072,TGS1,ENSG00000137574,protein_coding -28126,SDCBP,ENSG00000137575,protein_coding -15203,NEK1,ENSG00000137601,protein_coding -15186,DDX60,ENSG00000137628,protein_coding -34666,NXPE4,ENSG00000137634,protein_coding -34858,SORL1,ENSG00000137642,protein_coding -34735,TMPRSS4,ENSG00000137648,protein_coding -34693,BUD13,ENSG00000137656,protein_coding -34407,TRPC6,ENSG00000137672,protein_coding -34428,MMP7,ENSG00000137673,protein_coding -34429,MMP20,ENSG00000137674,protein_coding -34432,MMP27,ENSG00000137675,protein_coding -34413,CFAP300,ENSG00000137691,protein_coding -34447,DCUN1D5,ENSG00000137692,protein_coding -34417,YAP1,ENSG00000137693,protein_coding -34837,TRIM29,ENSG00000137699,protein_coding -34792,SLC37A4,ENSG00000137700,protein_coding -34567,BTG4,ENSG00000137707,protein_coding -34840,POU2F3,ENSG00000137709,protein_coding -34539,RDX,ENSG00000137710,protein_coding -34577,PPP2R1B,ENSG00000137713,protein_coding -34547,FDX1,ENSG00000137714,protein_coding -34584,C11orf1,ENSG00000137720,protein_coding -34730,FXYD6,ENSG00000137726,protein_coding -34548,ARHGAP20,ENSG00000137727,protein_coding -34726,FXYD2,ENSG00000137731,protein_coding -34444,MMP13,ENSG00000137745,protein_coding -34731,TMPRSS13,ENSG00000137747,protein_coding -34472,CASP1,ENSG00000137752,protein_coding -34471,CASP5,ENSG00000137757,protein_coding -34503,ALKBH8,ENSG00000137760,protein_coding -45538,MAP2K5,ENSG00000137764,protein_coding -45225,UNC13C,ENSG00000137766,protein_coding -45063,SQOR,ENSG00000137767,protein_coding -45001,CTDSPL2,ENSG00000137770,protein_coding -45321,SLTM,ENSG00000137776,protein_coding -44801,THBS1,ENSG00000137801,protein_coding -44902,MAPKBP1,ENSG00000137802,protein_coding -44887,NUSAP1,ENSG00000137804,protein_coding -44889,NDUFAF1,ENSG00000137806,protein_coding -45576,AC027237.1,ENSG00000137807,protein_coding -45553,ITGA11,ENSG00000137809,protein_coding -44852,KNL1,ENSG00000137812,protein_coding -44933,HAUS2,ENSG00000137814,protein_coding -44890,RTF1,ENSG00000137815,protein_coding -45627,PARP6,ENSG00000137817,protein_coding -45578,RPLP1,ENSG00000137818,protein_coding -45572,PAQR5,ENSG00000137819,protein_coding -45604,LRRC49,ENSG00000137821,protein_coding -44964,TUBGCP4,ENSG00000137822,protein_coding -44857,RMDN3,ENSG00000137824,protein_coding -44892,ITPKA,ENSG00000137825,protein_coding -45596,UACA,ENSG00000137831,protein_coding -45522,SMAD6,ENSG00000137834,protein_coding -44828,PLCB2,ENSG00000137841,protein_coding -44950,TMEM62,ENSG00000137842,protein_coding -44821,PAK6,ENSG00000137843,protein_coding -45305,ADAM10,ENSG00000137845,protein_coding -45032,DUOX1,ENSG00000137857,protein_coding -45042,SLC28A2,ENSG00000137860,protein_coding -45686,STRA6,ENSG00000137868,protein_coding -45163,CYP19A1,ENSG00000137869,protein_coding -45263,ZNF280D,ENSG00000137871,protein_coding -45077,SEMA6D,ENSG00000137872,protein_coding -45198,BCL2L10,ENSG00000137875,protein_coding -45230,RSL24D1,ENSG00000137876,protein_coding -44907,SPTBN5,ENSG00000137877,protein_coding -45285,GCOM1,ENSG00000137878,protein_coding -44859,GCHFR,ENSG00000137880,protein_coding -2321,BCAR3,ENSG00000137936,protein_coding -2132,TTLL7,ENSG00000137941,protein_coding -2319,FNBP1L,ENSG00000137942,protein_coding -2218,KYAT3,ENSG00000137944,protein_coding -2216,GTF2B,ENSG00000137947,protein_coding -2275,BRDT,ENSG00000137948,protein_coding -2039,RABGGTB,ENSG00000137955,protein_coding -2090,IFI44L,ENSG00000137959,protein_coding -2078,GIPC2,ENSG00000137960,protein_coding -2338,ARHGAP29,ENSG00000137962,protein_coding -2091,IFI44,ENSG00000137965,protein_coding -2032,SLC44A5,ENSG00000137968,protein_coding -2184,CLCA2,ENSG00000137975,protein_coding -2144,DNASE2B,ENSG00000137976,protein_coding -2422,DBT,ENSG00000137992,protein_coding -2428,RTCA,ENSG00000137996,protein_coding -5933,IFT172,ENSG00000138002,protein_coding -5885,SELENOI,ENSG00000138018,protein_coding -5909,CGREF1,ENSG00000138028,protein_coding -5882,HADHB,ENSG00000138029,protein_coding -5908,KHK,ENSG00000138030,protein_coding -5846,ADCY3,ENSG00000138031,protein_coding -6203,PPM1B,ENSG00000138032,protein_coding -6377,PNPT1,ENSG00000138035,protein_coding -6193,DYNC2LI1,ENSG00000138036,protein_coding -6296,LHCGR,ENSG00000138039,protein_coding -6140,THUMPD2,ENSG00000138050,protein_coding -6098,CYP1B1,ENSG00000138061,protein_coding -6078,SULT6B1,ENSG00000138068,protein_coding -6537,RAB1A,ENSG00000138069,protein_coding -6541,ACTR2,ENSG00000138071,protein_coding -5911,PREB,ENSG00000138073,protein_coding -5915,SLC5A6,ENSG00000138074,protein_coding -6194,ABCG5,ENSG00000138075,protein_coding -6207,PREPL,ENSG00000138078,protein_coding -6206,SLC3A1,ENSG00000138079,protein_coding -5907,EMILIN1,ENSG00000138080,protein_coding -6278,FBXO11,ENSG00000138081,protein_coding -6219,SIX3,ENSG00000138083,protein_coding -5916,ATRAID,ENSG00000138085,protein_coding -5845,CENPO,ENSG00000138092,protein_coding -6196,LRPPRC,ENSG00000138095,protein_coding -5920,TRIM54,ENSG00000138100,protein_coding -5862,DTNB,ENSG00000138101,protein_coding -36975,ACTR1A,ENSG00000138107,protein_coding -36784,CYP2C9,ENSG00000138109,protein_coding -36974,MFSD13A,ENSG00000138111,protein_coding -36789,CYP2C8,ENSG00000138115,protein_coding -36752,MYOF,ENSG00000138119,protein_coding -36862,LOXL4,ENSG00000138131,protein_coding -36658,STAMBPL1,ENSG00000138134,protein_coding -36668,CH25H,ENSG00000138135,protein_coding -36934,LBX1,ENSG00000138136,protein_coding -36635,ATAD1,ENSG00000138138,protein_coding -37269,BTBD16,ENSG00000138152,protein_coding -36736,KIF11,ENSG00000138160,protein_coding -37281,CUZD1,ENSG00000138161,protein_coding -37266,TACC2,ENSG00000138162,protein_coding -37082,DUSP5,ENSG00000138166,protein_coding -37011,CALHM2,ENSG00000138172,protein_coding -36982,ARL3,ENSG00000138175,protein_coding -36753,CEP55,ENSG00000138180,protein_coding -36686,KIF20B,ENSG00000138182,protein_coding -36800,ENTPD1,ENSG00000138185,protein_coding -36742,EXOC6,ENSG00000138190,protein_coding -36765,PLCE1,ENSG00000138193,protein_coding -36756,RBP4,ENSG00000138207,protein_coding -11798,DBR1,ENSG00000138231,protein_coding -11712,DNAJC13,ENSG00000138246,protein_coding -12028,GPR87,ENSG00000138271,protein_coding -36355,ANXA7,ENSG00000138279,protein_coding -36345,FAM149B1,ENSG00000138286,protein_coding -36309,ASCC1,ENSG00000138303,protein_coding -36334,PLA2G12B,ENSG00000138308,protein_coding -36154,ZNF365,ENSG00000138311,protein_coding -36332,OIT3,ENSG00000138315,protein_coding -36286,ADAMTS14,ENSG00000138316,protein_coding -36462,RPS24,ENSG00000138326,protein_coding -36225,TET1,ENSG00000138336,protein_coding -36218,DNA2,ENSG00000138346,protein_coding -36210,MYPN,ENSG00000138347,protein_coding -8790,AOX1,ENSG00000138356,protein_coding -9069,ATIC,ENSG00000138363,protein_coding -9095,SMARCAL1,ENSG00000138375,protein_coding -9061,BARD1,ENSG00000138376,protein_coding -8683,STAT4,ENSG00000138378,protein_coding -8666,MSTN,ENSG00000138379,protein_coding -8889,CARF,ENSG00000138380,protein_coding -8653,ASNSD1,ENSG00000138381,protein_coding -8349,METTL5,ENSG00000138382,protein_coding -8348,SSB,ENSG00000138385,protein_coding -8675,NAB1,ENSG00000138386,protein_coding -8848,CDK15,ENSG00000138395,protein_coding -8340,PPIG,ENSG00000138398,protein_coding -8338,FASTKD1,ENSG00000138399,protein_coding -8956,MDH1B,ENSG00000138400,protein_coding -8732,HECW2,ENSG00000138411,protein_coding -9002,IDH1,ENSG00000138413,protein_coding -8419,OLA1,ENSG00000138430,protein_coding -8428,CIR1,ENSG00000138433,protein_coding -8574,ITPRID2,ENSG00000138434,protein_coding -8439,CHRNA1,ENSG00000138435,protein_coding -8884,FAM117B,ENSG00000138439,protein_coding -8888,WDR12,ENSG00000138442,protein_coding -8901,ABI2,ENSG00000138443,protein_coding -8621,ITGAV,ENSG00000138448,protein_coding -8651,SLC40A1,ENSG00000138449,protein_coding -11297,SLC35A5,ENSG00000138459,protein_coding -11475,SLC49A4,ENSG00000138463,protein_coding -11157,SENP7,ENSG00000138468,protein_coding -11240,GUCA1C,ENSG00000138472,protein_coding -11220,CCDC54,ENSG00000138483,protein_coding -11402,COX17,ENSG00000138495,protein_coding -11469,PARP9,ENSG00000138496,protein_coding -45260,MNS1,ENSG00000138587,protein_coding -45144,USP8,ENSG00000138592,protein_coding -45112,SECISBP2L,ENSG00000138593,protein_coding -45181,TMOD3,ENSG00000138594,protein_coding -45153,SPPL2A,ENSG00000138600,protein_coding -45569,GLCE,ENSG00000138604,protein_coding -45034,SHF,ENSG00000138606,protein_coding -45414,APH1B,ENSG00000138613,protein_coding -45487,INTS14,ENSG00000138614,protein_coding -45471,CILP,ENSG00000138615,protein_coding -45474,PARP16,ENSG00000138617,protein_coding -45727,PPCDC,ENSG00000138621,protein_coding -45660,HCN4,ENSG00000138622,protein_coding -45696,SEMA7A,ENSG00000138623,protein_coding -45699,UBL7,ENSG00000138629,protein_coding -14130,ARHGAP24,ENSG00000138639,protein_coding -14198,FAM13A,ENSG00000138640,protein_coding -14192,HERC3,ENSG00000138641,protein_coding -14183,HERC6,ENSG00000138642,protein_coding -14184,HERC5,ENSG00000138646,protein_coding -14710,PCDH10,ENSG00000138650,protein_coding -14509,NDST4,ENSG00000138653,protein_coding -14473,ZGRF1,ENSG00000138658,protein_coding -14464,AP1AR,ENSG00000138660,protein_coding -14097,COPS4,ENSG00000138663,protein_coding -14074,HNRNPD,ENSG00000138668,protein_coding -14061,PRKG2,ENSG00000138669,protein_coding -14064,RASGEF1B,ENSG00000138670,protein_coding -14091,SEC31A,ENSG00000138674,protein_coding -14057,FGF5,ENSG00000138675,protein_coding -14112,GPAT3,ENSG00000138678,protein_coding -14607,IL21,ENSG00000138684,protein_coding -14613,FGF2,ENSG00000138685,protein_coding -14599,BBS7,ENSG00000138686,protein_coding -14604,KIAA1109,ENSG00000138688,protein_coding -14242,BMPR1B,ENSG00000138696,protein_coding -14262,RAP1GDS1,ENSG00000138698,protein_coding -14662,LARP1B,ENSG00000138709,protein_coding -14209,MMRN1,ENSG00000138722,protein_coding -14568,PDE5A,ENSG00000138735,protein_coding -14581,PRDM5,ENSG00000138738,protein_coding -14601,TRPC3,ENSG00000138741,protein_coding -13978,NAAA,ENSG00000138744,protein_coding -13986,NUP54,ENSG00000138750,protein_coding -13981,CXCL9,ENSG00000138755,protein_coding -14039,BMP2K,ENSG00000138756,protein_coding -13972,G3BP2,ENSG00000138757,protein_coding -14008,SEPT11,ENSG00000138758,protein_coding -14029,FRAS1,ENSG00000138759,protein_coding -13988,SCARB2,ENSG00000138760,protein_coding -14014,CCNG2,ENSG00000138764,protein_coding -14021,CNOT6L,ENSG00000138767,protein_coding -13974,USO1,ENSG00000138768,protein_coding -13971,CDKL2,ENSG00000138769,protein_coding -13998,SHROOM3,ENSG00000138771,protein_coding -14032,ANXA3,ENSG00000138772,protein_coding -14366,PPA2,ENSG00000138777,protein_coding -14342,CENPE,ENSG00000138778,protein_coding -14376,GSTCD,ENSG00000138780,protein_coding -14375,INTS12,ENSG00000138785,protein_coding -14441,ENPEP,ENSG00000138792,protein_coding -14422,CASP6,ENSG00000138794,protein_coding -14398,LEF1,ENSG00000138795,protein_coding -14397,HADH,ENSG00000138796,protein_coding -14432,EGF,ENSG00000138798,protein_coding -14391,PAPSS1,ENSG00000138801,protein_coding -14415,SEC24B,ENSG00000138802,protein_coding -14290,C4orf17,ENSG00000138813,protein_coding -14311,PPP3CA,ENSG00000138814,protein_coding -14320,SLC39A8,ENSG00000138821,protein_coding -14292,MTTP,ENSG00000138823,protein_coding -17329,FBN2,ENSG00000138829,protein_coding -46581,MAPK8IP3,ENSG00000138834,protein_coding -31161,RGS3,ENSG00000138835,protein_coding -58816,GUCD1,ENSG00000138867,protein_coding -59599,TTLL8,ENSG00000138892,protein_coding -59043,RNF185,ENSG00000138942,protein_coding -59478,SHISAL1,ENSG00000138944,protein_coding -59475,PARVG,ENSG00000138964,protein_coding -37498,B4GALNT3,ENSG00000139044,protein_coding -38007,AC020613.1,ENSG00000139053,protein_coding -38005,ERP27,ENSG00000139055,protein_coding -37927,ETV6,ENSG00000139083,protein_coding -37862,GABARAPL1,ENSG00000139112,protein_coding -38356,KIF21A,ENSG00000139116,protein_coding -38350,CPNE8,ENSG00000139117,protein_coding -38309,YARS2,ENSG00000139131,protein_coding -38302,FGD4,ENSG00000139132,protein_coding -38327,ALG10,ENSG00000139133,protein_coding -38044,PIK3C2G,ENSG00000139144,protein_coding -38258,SINHCAF,ENSG00000139146,protein_coding -38048,PLCZ1,ENSG00000139151,protein_coding -38058,AEBP2,ENSG00000139154,protein_coding -38075,SLCO1C1,ENSG00000139155,protein_coding -38275,ETFBKMT,ENSG00000139160,protein_coding -38111,ETNK1,ENSG00000139163,protein_coding -38391,ZCRB1,ENSG00000139168,protein_coding -38421,TMEM117,ENSG00000139173,protein_coding -38398,PRICKLE1,ENSG00000139174,protein_coding -37701,C1RL,ENSG00000139178,protein_coding -37600,NDUFA9,ENSG00000139180,protein_coding -37706,CLSTN3,ENSG00000139182,protein_coding -37801,KLRG1,ENSG00000139187,protein_coding -37640,VAMP1,ENSG00000139190,protein_coding -37639,TAPBPL,ENSG00000139192,protein_coding -37638,CD27,ENSG00000139193,protein_coding -37703,RBP5,ENSG00000139194,protein_coding -37709,PEX5,ENSG00000139197,protein_coding -37662,PIANP,ENSG00000139200,protein_coding -38460,SLC38A4,ENSG00000139209,protein_coding -38462,AMIGO2,ENSG00000139211,protein_coding -38447,SCAF11,ENSG00000139218,protein_coding -38497,COL2A1,ENSG00000139219,protein_coding -39416,PPFIA2,ENSG00000139220,protein_coding -38529,ANP32D,ENSG00000139223,protein_coding -39179,LLPH,ENSG00000139233,protein_coding -39055,LRIG3,ENSG00000139263,protein_coding -39028,MARCH9,ENSG00000139266,protein_coding -39001,INHBE,ENSG00000139269,protein_coding -39333,GLIPR1,ENSG00000139278,protein_coding -39298,TPH2,ENSG00000139287,protein_coding -39346,PHLDA1,ENSG00000139289,protein_coding -39291,TMEM19,ENSG00000139291,protein_coding -39284,LGR5,ENSG00000139292,protein_coding -39403,PTPRQ,ENSG00000139304,protein_coding -39479,DUSP6,ENSG00000139318,protein_coding -39484,POC1B,ENSG00000139323,protein_coding -39469,TMTC3,ENSG00000139324,protein_coding -39509,LUM,ENSG00000139329,protein_coding -39508,KERA,ENSG00000139330,protein_coding -39608,SNRPF,ENSG00000139343,protein_coding -39611,AMDHD1,ENSG00000139344,protein_coding -39629,NEDD1,ENSG00000139350,protein_coding -39714,SYCP3,ENSG00000139351,protein_coding -39742,ASCL1,ENSG00000139352,protein_coding -39691,GAS2L3,ENSG00000139354,protein_coding -40308,TMEM132B,ENSG00000139364,protein_coding -40377,SLC15A4,ENSG00000139370,protein_coding -39763,TDG,ENSG00000139372,protein_coding -39974,RITA1,ENSG00000139405,protein_coding -39983,SDSL,ENSG00000139410,protein_coding -39871,MMAB,ENSG00000139428,protein_coding -39879,GLTP,ENSG00000139433,protein_coding -39884,GIT2,ENSG00000139436,protein_coding -39883,TCHP,ENSG00000139437,protein_coding -39875,FAM222A,ENSG00000139438,protein_coding -39865,FOXN4,ENSG00000139445,protein_coding -40738,NUP58,ENSG00000139496,protein_coding -40736,MTMR6,ENSG00000139505,protein_coding -40806,SLC46A3,ENSG00000139508,protein_coding -40816,SLC7A1,ENSG00000139514,protein_coding -40788,PDX1,ENSG00000139515,protein_coding -40781,LNX2,ENSG00000139517,protein_coding -38916,SUOX,ENSG00000139531,protein_coding -38557,CCDC65,ENSG00000139537,protein_coding -38937,SLC39A5,ENSG00000139540,protein_coding -38777,TARBP2,ENSG00000139546,protein_coding -38978,RDH16,ENSG00000139547,protein_coding -38570,DHH,ENSG00000139549,protein_coding -38678,ACVRL1,ENSG00000139567,protein_coding -38837,GPR84,ENSG00000139572,protein_coding -38779,NPFF,ENSG00000139574,protein_coding -38936,NABP2,ENSG00000139579,protein_coding -40869,N4BP2L1,ENSG00000139597,protein_coding -38664,CELA1,ENSG00000139610,protein_coding -38934,SMARCC2,ENSG00000139613,protein_coding -40867,BRCA2,ENSG00000139618,protein_coding -38538,KANSL2,ENSG00000139620,protein_coding -38622,CERS5,ENSG00000139624,protein_coding -38775,MAP3K12,ENSG00000139625,protein_coding -38758,ITGB7,ENSG00000139626,protein_coding -38665,GALNT6,ENSG00000139629,protein_coding -38755,CSAD,ENSG00000139631,protein_coding -38572,LMBR1L,ENSG00000139636,protein_coding -38765,C12orf10,ENSG00000139637,protein_coding -38926,ESYT1,ENSG00000139641,protein_coding -38600,TMBIM6,ENSG00000139644,protein_coding -38938,ANKRD52,ENSG00000139645,protein_coding -38716,KRT71,ENSG00000139648,protein_coding -38757,ZNF740,ENSG00000139651,protein_coding -41046,SMIM2,ENSG00000139656,protein_coding -41210,WDFY2,ENSG00000139668,protein_coding -41244,HNRNPA1L2,ENSG00000139675,protein_coding -41137,LPAR6,ENSG00000139679,protein_coding -41114,ESD,ENSG00000139684,protein_coding -41133,RB1,ENSG00000139687,protein_coding -40238,SBNO1,ENSG00000139697,protein_coding -40174,MORN3,ENSG00000139714,protein_coding -40181,SETD1B,ENSG00000139718,protein_coding -40201,VPS33A,ENSG00000139719,protein_coding -40221,VPS37B,ENSG00000139722,protein_coding -40177,RHOF,ENSG00000139725,protein_coding -40217,DENR,ENSG00000139726,protein_coding -41299,DIAPH3,ENSG00000139734,protein_coding -41467,SLAIN1,ENSG00000139737,protein_coding -41490,RBM26,ENSG00000139746,protein_coding -40080,SRRM4,ENSG00000139767,protein_coding -41753,METTL21C,ENSG00000139780,protein_coding -41654,MBNL2,ENSG00000139793,protein_coding -41669,RNF113B,ENSG00000139797,protein_coding -41714,ZIC5,ENSG00000139800,protein_coding -41805,ABHD13,ENSG00000139826,protein_coding -41837,RAB20,ENSG00000139832,protein_coding -41896,GRTP1,ENSG00000139835,protein_coding -41892,CUL4A,ENSG00000139842,protein_coding -42601,TTC6,ENSG00000139865,protein_coding -42608,SSTR1,ENSG00000139874,protein_coding -42301,CDH24,ENSG00000139880,protein_coding -42286,REM2,ENSG00000139890,protein_coding -42397,CBLN3,ENSG00000139899,protein_coding -42374,TSSK4,ENSG00000139908,protein_coding -42418,NOVA1,ENSG00000139910,protein_coding -42356,FITM1,ENSG00000139914,protein_coding -42692,MDGA2,ENSG00000139915,protein_coding -42778,TMX1,ENSG00000139921,protein_coding -42787,FRMD6,ENSG00000139926,protein_coding -42880,PELI2,ENSG00000139946,protein_coding -42945,RTN1,ENSG00000139970,protein_coding -42911,ARMH4,ENSG00000139971,protein_coding -42991,SYT16,ENSG00000139973,protein_coding -42977,SLC38A6,ENSG00000139974,protein_coding -42904,NAA30,ENSG00000139977,protein_coding -43169,ADAM21,ENSG00000139985,protein_coding -43106,RDH12,ENSG00000139988,protein_coding -43135,DCAF5,ENSG00000139990,protein_coding -43051,RAB15,ENSG00000139998,protein_coding -43011,WDR89,ENSG00000140006,protein_coding -43026,ESR2,ENSG00000140009,protein_coding -43000,KCNH5,ENSG00000140015,protein_coding -43423,STON2,ENSG00000140022,protein_coding -43510,EFCAB11,ENSG00000140025,protein_coding -43474,GPR65,ENSG00000140030,protein_coding -43253,PTGR2,ENSG00000140043,protein_coding -43316,JDP2,ENSG00000140044,protein_coding -43664,AK7,ENSG00000140057,protein_coding -43591,FAM181A,ENSG00000140067,protein_coding -43564,SLC24A4,ENSG00000140090,protein_coding -43555,FBLN5,ENSG00000140092,protein_coding -43602,SERPINA10,ENSG00000140093,protein_coding -43989,CLBA1,ENSG00000140104,protein_coding -43734,WARS,ENSG00000140105,protein_coding -43732,SLC25A47,ENSG00000140107,protein_coding -43887,WDR20,ENSG00000140153,protein_coding -44363,NIPA2,ENSG00000140157,protein_coding -44711,SLC12A6,ENSG00000140199,protein_coding -45031,DUOXA1,ENSG00000140254,protein_coding -44990,MFAP1,ENSG00000140259,protein_coding -45272,TCF12,ENSG00000140262,protein_coding -45025,SORD,ENSG00000140263,protein_coding -44986,SERF2,ENSG00000140264,protein_coding -44963,ZSCAN29,ENSG00000140265,protein_coding -45030,DUOXA2,ENSG00000140274,protein_coding -45029,DUOX2,ENSG00000140279,protein_coding -45178,LYSMD2,ENSG00000140280,protein_coding -45133,SLC27A2,ENSG00000140284,protein_coding -45127,FGF7,ENSG00000140285,protein_coding -45135,HDC,ENSG00000140287,protein_coding -45342,GCNT3,ENSG00000140297,protein_coding -45345,BNIP2,ENSG00000140299,protein_coding -45343,GTF2A2,ENSG00000140307,protein_coding -44813,SRP14,ENSG00000140319,protein_coding -44842,BAHD1,ENSG00000140320,protein_coding -44838,DISP2,ENSG00000140323,protein_coding -44938,CDAN1,ENSG00000140326,protein_coding -45585,TLE3,ENSG00000140332,protein_coding -45557,ANP32A,ENSG00000140350,protein_coding -45744,COMMD4,ENSG00000140365,protein_coding -45777,UBE2Q2,ENSG00000140367,protein_coding -45798,PSTPIP1,ENSG00000140368,protein_coding -45784,ETFA,ENSG00000140374,protein_coding -45886,BCL2A1,ENSG00000140379,protein_coding -45806,HMG20A,ENSG00000140382,protein_coding -45791,SCAPER,ENSG00000140386,protein_coding -45799,TSPAN3,ENSG00000140391,protein_coding -45832,WDR61,ENSG00000140395,protein_coding -28291,NCOA2,ENSG00000140396,protein_coding -45746,NEIL1,ENSG00000140398,protein_coding -45748,MAN2C1,ENSG00000140400,protein_coding -45831,DNAJA4,ENSG00000140403,protein_coding -45915,TLNRD1,ENSG00000140406,protein_coding -45407,TPM1,ENSG00000140416,protein_coding -46336,IGF1R,ENSG00000140443,protein_coding -46321,ARRDC4,ENSG00000140450,protein_coding -45452,PIF1,ENSG00000140451,protein_coding -45419,USP3,ENSG00000140455,protein_coding -45691,CYP11A1,ENSG00000140459,protein_coding -45651,BBS4,ENSG00000140463,protein_coding -45675,PML,ENSG00000140464,protein_coding -45709,CYP1A1,ENSG00000140465,protein_coding -46368,ADAMTS17,ENSG00000140470,protein_coding -46379,LINS1,ENSG00000140471,protein_coding -45716,ULK3,ENSG00000140474,protein_coding -45740,GOLGA6D,ENSG00000140478,protein_coding -46404,PCSK6,ENSG00000140479,protein_coding -45687,CCDC33,ENSG00000140481,protein_coding -45630,CELF6,ENSG00000140488,protein_coding -45718,SCAMP2,ENSG00000140497,protein_coding -45710,CYP1A2,ENSG00000140505,protein_coding -45713,LMAN1L,ENSG00000140506,protein_coding -46097,HAPLN3,ENSG00000140511,protein_coding -46118,RHCG,ENSG00000140519,protein_coding -46111,POLG,ENSG00000140521,protein_coding -46109,RLBP1,ENSG00000140522,protein_coding -46110,FANCI,ENSG00000140525,protein_coding -46105,ABHD2,ENSG00000140526,protein_coding -46128,WDR93,ENSG00000140527,protein_coding -46122,TICRR,ENSG00000140534,protein_coding -46080,NTRK3,ENSG00000140538,protein_coding -46087,DET1,ENSG00000140543,protein_coding -46098,MFGE8,ENSG00000140545,protein_coding -46145,ZNF710,ENSG00000140548,protein_coding -46192,UNC45A,ENSG00000140553,protein_coding -46218,ST8SIA2,ENSG00000140557,protein_coding -46262,MCTP2,ENSG00000140563,protein_coding -46187,FURIN,ENSG00000140564,protein_coding -46172,IQGAP1,ENSG00000140575,protein_coding -46174,CRTC3,ENSG00000140577,protein_coding -45935,EFL1,ENSG00000140598,protein_coding -45986,SH3GL3,ENSG00000140600,protein_coding -46026,SEC11A,ENSG00000140612,protein_coding -46815,SEPT12,ENSG00000140623,protein_coding -46820,GLYR1,ENSG00000140632,protein_coding -46874,PMM2,ENSG00000140650,protein_coding -47620,SLC5A2,ENSG00000140675,protein_coding -47608,ITGAX,ENSG00000140678,protein_coding -47619,TGFB1I1,ENSG00000140682,protein_coding -47622,C16orf58,ENSG00000140688,protein_coding -47617,ARMC5,ENSG00000140691,protein_coding -47009,PARN,ENSG00000140694,protein_coding -48030,FTO,ENSG00000140718,protein_coding -47236,UQCRC2,ENSG00000140740,protein_coding -47249,AC092338.1,ENSG00000140743,protein_coding -47225,IGSF6,ENSG00000140749,protein_coding -47308,ARHGAP17,ENSG00000140750,protein_coding -47863,MYLK3,ENSG00000140795,protein_coding -47894,ABCC12,ENSG00000140798,protein_coding -47956,NKD1,ENSG00000140807,protein_coding -48527,DHX38,ENSG00000140829,protein_coding -48523,TXNL4B,ENSG00000140830,protein_coding -48502,MARVELD3,ENSG00000140832,protein_coding -48496,CHST4,ENSG00000140835,protein_coding -48538,ZFHX3,ENSG00000140836,protein_coding -48569,CLEC18B,ENSG00000140839,protein_coding -48122,CPNE2,ENSG00000140848,protein_coding -48118,NLRC5,ENSG00000140853,protein_coding -48151,KATNB1,ENSG00000140854,protein_coding -48152,KIFC3,ENSG00000140859,protein_coding -48643,ADAMTS18,ENSG00000140873,protein_coding -48647,AC092724.1,ENSG00000140876,protein_coding -48715,GCSH,ENSG00000140905,protein_coding -48265,CMTM3,ENSG00000140931,protein_coding -48263,CMTM2,ENSG00000140932,protein_coding -48237,CDH11,ENSG00000140937,protein_coding -48294,AC074143.1,ENSG00000140939,protein_coding -48877,MAP1LC3B,ENSG00000140941,protein_coding -48769,MBTPS1,ENSG00000140943,protein_coding -48747,CDH13,ENSG00000140945,protein_coding -48879,ZCCHC14,ENSG00000140948,protein_coding -48786,MEAK7,ENSG00000140950,protein_coding -48776,ADAD2,ENSG00000140955,protein_coding -48764,OSGIN1,ENSG00000140961,protein_coding -48827,IRF8,ENSG00000140968,protein_coding -46492,RHOT2,ENSG00000140983,protein_coding -46600,RPL3L,ENSG00000140986,protein_coding -46755,ZSCAN32,ENSG00000140987,protein_coding -46602,RPS2,ENSG00000140988,protein_coding -46601,NDUFB10,ENSG00000140990,protein_coding -46673,PDPK1,ENSG00000140992,protein_coding -46746,TIGD7,ENSG00000140993,protein_coding -48977,DEF8,ENSG00000140995,protein_coding -48971,TCF25,ENSG00000141002,protein_coding -48928,GALNS,ENSG00000141012,protein_coding -48981,GAS8,ENSG00000141013,protein_coding -49651,MED9,ENSG00000141026,protein_coding -49579,NCOR1,ENSG00000141027,protein_coding -49645,COPS3,ENSG00000141030,protein_coding -49676,GID4,ENSG00000141034,protein_coding -49602,ZNF287,ENSG00000141040,protein_coding -49498,MYOCD,ENSG00000141052,protein_coding -49940,KSR1,ENSG00000141068,protein_coding -48410,UTP4,ENSG00000141076,protein_coding -48334,RANBP10,ENSG00000141084,protein_coding -48345,CTRL,ENSG00000141086,protein_coding -48350,DPEP3,ENSG00000141096,protein_coding -48333,GFOD2,ENSG00000141098,protein_coding -48435,NOB1,ENSG00000141101,protein_coding -49727,PRPSAP2,ENSG00000141127,protein_coding -50285,UNC45B,ENSG00000141161,protein_coding -51160,PCTP,ENSG00000141179,protein_coding -51212,OR4D1,ENSG00000141194,protein_coding -51146,TOM1L1,ENSG00000141198,protein_coding -51139,KIF2B,ENSG00000141200,protein_coding -51612,C17orf80,ENSG00000141219,protein_coding -51108,TOB1,ENSG00000141232,protein_coding -49007,VPS53,ENSG00000141252,protein_coding -49132,SPATA22,ENSG00000141255,protein_coding -49087,SGSM2,ENSG00000141258,protein_coding -50925,NPEPPS,ENSG00000141279,protein_coding -50958,SKAP1,ENSG00000141293,protein_coding -50934,LRRC46,ENSG00000141294,protein_coding -50935,SCRN2,ENSG00000141295,protein_coding -50078,SSH2,ENSG00000141298,protein_coding -50203,RHBDL3,ENSG00000141314,protein_coding -50233,SPACA3,ENSG00000141316,protein_coding -51544,ARSG,ENSG00000141337,protein_coding -51555,ABCA8,ENSG00000141338,protein_coding -50776,G6PC3,ENSG00000141349,protein_coding -51274,CLTC,ENSG00000141367,protein_coding -51310,C17orf64,ENSG00000141371,protein_coding -51320,BCAS3,ENSG00000141376,protein_coding -51275,PTRH2,ENSG00000141378,protein_coding -52532,AC091021.1,ENSG00000141380,protein_coding -52537,TAF4B,ENSG00000141384,protein_coding -52332,AFG3L2,ENSG00000141385,protein_coding -52334,PRELID3A,ENSG00000141391,protein_coding -52307,IMPA2,ENSG00000141401,protein_coding -52296,GNAL,ENSG00000141404,protein_coding -52679,SLC39A6,ENSG00000141424,protein_coding -52678,RPRD1A,ENSG00000141425,protein_coding -52677,C18orf21,ENSG00000141428,protein_coding -52668,GALNT1,ENSG00000141429,protein_coding -52640,ASXL3,ENSG00000141431,protein_coding -52087,ADCYAP1,ENSG00000141433,protein_coding -52622,MEP1B,ENSG00000141434,protein_coding -52603,SLC25A52,ENSG00000141437,protein_coding -52620,GAREM1,ENSG00000141441,protein_coding -52441,ESCO1,ENSG00000141446,protein_coding -52504,OSBPL1A,ENSG00000141447,protein_coding -52464,GATA6,ENSG00000141448,protein_coding -52437,GREB1L,ENSG00000141449,protein_coding -52488,RMC1,ENSG00000141452,protein_coding -49180,PELP1,ENSG00000141456,protein_coding -52489,NPC1,ENSG00000141458,protein_coding -52753,SLC14A1,ENSG00000141469,protein_coding -49184,ARRB2,ENSG00000141480,protein_coding -49266,SLC13A5,ENSG00000141485,protein_coding -49188,ZMYND15,ENSG00000141497,protein_coding -49360,WRAP53,ENSG00000141499,protein_coding -49196,MINK1,ENSG00000141503,protein_coding -49357,SAT2,ENSG00000141504,protein_coding -49293,ASGR1,ENSG00000141505,protein_coding -49425,PIK3R5,ENSG00000141506,protein_coding -49359,TP53,ENSG00000141510,protein_coding -51876,CCDC40,ENSG00000141519,protein_coding -51966,ARHGDIA,ENSG00000141522,protein_coding -51817,TMC6,ENSG00000141524,protein_coding -51999,SLC16A3,ENSG00000141526,protein_coding -51882,CARD14,ENSG00000141527,protein_coding -51630,TTYH2,ENSG00000141540,protein_coding -52032,RAB40B,ENSG00000141542,protein_coding -51879,EIF4A3,ENSG00000141543,protein_coding -52001,CSNK1D,ENSG00000141551,protein_coding -51971,ANAPC11,ENSG00000141552,protein_coding -52039,TBCD,ENSG00000141556,protein_coding -52035,FN3KRP,ENSG00000141560,protein_coding -52021,NARF,ENSG00000141562,protein_coding -51899,RPTOR,ENSG00000141564,protein_coding -52025,FOXK2,ENSG00000141568,protein_coding -51718,TRIM65,ENSG00000141569,protein_coding -51865,CBX8,ENSG00000141570,protein_coding -52008,SECTM1,ENSG00000141574,protein_coding -51737,RNF157,ENSG00000141576,protein_coding -51921,CEP131,ENSG00000141577,protein_coding -52041,ZNF750,ENSG00000141579,protein_coding -52030,WDR45B,ENSG00000141580,protein_coding -51868,CBX4,ENSG00000141582,protein_coding -52765,RNF165,ENSG00000141622,protein_coding -52822,DYM,ENSG00000141627,protein_coding -52865,MAPK4,ENSG00000141639,protein_coding -52873,ELAC1,ENSG00000141642,protein_coding -52858,MBD1,ENSG00000141644,protein_coding -52875,SMAD4,ENSG00000141646,protein_coding -53038,TNFRSF11A,ENSG00000141655,protein_coding -53044,ZCCHC2,ENSG00000141664,protein_coding -53164,FBXO15,ENSG00000141665,protein_coding -53150,CBLN2,ENSG00000141668,protein_coding -53002,PMAIP1,ENSG00000141682,protein_coding -50630,P3H4,ENSG00000141696,protein_coding -50632,NT5C3B,ENSG00000141698,protein_coding -50677,RETREG3,ENSG00000141699,protein_coding -50488,ERBB2,ENSG00000141736,protein_coding -50491,GRB7,ENSG00000141738,protein_coding -50490,MIEN1,ENSG00000141741,protein_coding -50486,PNMT,ENSG00000141744,protein_coding -50468,ARL5C,ENSG00000141748,protein_coding -50473,STAC2,ENSG00000141750,protein_coding -50529,IGFBP4,ENSG00000141753,protein_coding -50631,FKBP10,ENSG00000141756,protein_coding -53284,TXNL4A,ENSG00000141759,protein_coding -55510,CACNA1A,ENSG00000141837,protein_coding -55536,MISP3,ENSG00000141854,protein_coding -55539,SAMD1,ENSG00000141858,protein_coding -55597,BRD4,ENSG00000141867,protein_coding -54930,SLC39A3,ENSG00000141873,protein_coding -54958,NFIC,ENSG00000141905,protein_coding -54783,TPGS1,ENSG00000141933,protein_coding -54771,PLPP2,ENSG00000141934,protein_coding -57612,ZIM3,ENSG00000141946,protein_coding -60330,PRDM15,ENSG00000141956,protein_coding -60409,PFKL,ENSG00000141959,protein_coding -55042,FEM1A,ENSG00000141965,protein_coding -55126,VAV1,ENSG00000141968,protein_coding -55721,MVB12A,ENSG00000141971,protein_coding -55651,CIB3,ENSG00000141977,protein_coding -55665,AC008764.1,ENSG00000141979,protein_coding -55016,SH3GL1,ENSG00000141985,protein_coding -55067,DUS3L,ENSG00000141994,protein_coding -55036,DPP9,ENSG00000142002,protein_coding -56616,DMRTC2,ENSG00000142025,protein_coding -56580,CCDC97,ENSG00000142039,protein_coding -56582,TMEM91,ENSG00000142046,protein_coding -56333,ZFP14,ENSG00000142065,protein_coding -31803,SIRT3,ENSG00000142082,protein_coding -31815,IFITM3,ENSG00000142089,protein_coding -31808,PGGHG,ENSG00000142102,protein_coding -60106,HUNK,ENSG00000142149,protein_coding -60492,COL6A1,ENSG00000142156,protein_coding -60148,IFNAR1,ENSG00000142166,protein_coding -60099,SOD1,ENSG00000142168,protein_coding -60498,COL6A2,ENSG00000142173,protein_coding -60375,SIK1,ENSG00000142178,protein_coding -60406,DNMT3L,ENSG00000142182,protein_coding -60415,TRPM2,ENSG00000142185,protein_coding -33555,SCYL1,ENSG00000142186,protein_coding -60151,TMEM50B,ENSG00000142188,protein_coding -59985,APP,ENSG00000142192,protein_coding -60209,DOP1B,ENSG00000142197,protein_coding -60114,URB1,ENSG00000142207,protein_coding -43976,AKT1,ENSG00000142208,protein_coding -4551,IL19,ENSG00000142224,protein_coding -56938,EMP3,ENSG00000142227,protein_coding -56886,SAE1,ENSG00000142230,protein_coding -56960,NTN5,ENSG00000142233,protein_coding -56948,LMTK3,ENSG00000142235,protein_coding -56778,GEMIN7,ENSG00000142252,protein_coding -56758,CBLC,ENSG00000142273,protein_coding -56200,WTIP,ENSG00000142279,protein_coding -55217,ADAMTS10,ENSG00000142303,protein_coding -15557,SLC6A3,ENSG00000142319,protein_coding -9604,RNPEPL1,ENSG00000142327,protein_coding -9606,CAPN10,ENSG00000142330,protein_coding -55215,MYO1F,ENSG00000142347,protein_coding -57699,ERVK3-1,ENSG00000142396,protein_coding -57386,NLRP12,ENSG00000142405,protein_coding -57392,CACNG8,ENSG00000142408,protein_coding -57556,ZNF787,ENSG00000142409,protein_coding -55343,TIMM29,ENSG00000142444,protein_coding -55195,FBN3,ENSG00000142449,protein_coding -55341,CARM1,ENSG00000142453,protein_coding -55174,EVI5L,ENSG00000142459,protein_coding -49189,TM4SF5,ENSG00000142484,protein_coding -49774,SLC47A1,ENSG00000142494,protein_coding -49193,PSMB6,ENSG00000142507,protein_coding -57115,GPR32,ENSG00000142511,protein_coding -57182,SIGLEC10,ENSG00000142512,protein_coding -57117,ACP4,ENSG00000142513,protein_coding -57128,KLK3,ENSG00000142515,protein_coding -57083,ZNF473,ENSG00000142528,protein_coding -57102,AC020909.1,ENSG00000142530,protein_coding -57035,RPS11,ENSG00000142534,protein_coding -57022,PTH2,ENSG00000142538,protein_coding -57099,AC020909.2,ENSG00000142539,protein_coding -57030,RPL13A,ENSG00000142541,protein_coding -57150,CTU1,ENSG00000142544,protein_coding -57041,NOSIP,ENSG00000142546,protein_coding -57169,IGLON5,ENSG00000142549,protein_coding -57040,RCN3,ENSG00000142552,protein_coding -57227,ZNF614,ENSG00000142556,protein_coding -314,SLC2A5,ENSG00000142583,protein_coding -294,RERE,ENSG00000142599,protein_coding -171,MMEL1,ENSG00000142606,protein_coding -143,CFAP74,ENSG00000142609,protein_coding -182,PRDM16,ENSG00000142611,protein_coding -506,CELA2A,ENSG00000142615,protein_coding -600,PADI3,ENSG00000142619,protein_coding -500,FHAD1,ENSG00000142621,protein_coding -599,PADI1,ENSG00000142623,protein_coding -544,EPHA2,ENSG00000142627,protein_coding -548,ARHGEF19,ENSG00000142632,protein_coding -504,EFHD2,ENSG00000142634,protein_coding -364,PEX14,ENSG00000142655,protein_coding -357,PGD,ENSG00000142657,protein_coding -783,MYOM3,ENSG00000142661,protein_coding -860,SH3BGRL3,ENSG00000142669,protein_coding -854,CNKSR1,ENSG00000142675,protein_coding -766,RPL11,ENSG00000142676,protein_coding -785,IL22RA1,ENSG00000142677,protein_coding -853,ZNF593,ENSG00000142684,protein_coding -1158,C1orf216,ENSG00000142686,protein_coding -1152,KIAA0319L,ENSG00000142687,protein_coding -1178,EVA1B,ENSG00000142694,protein_coding -1123,C1orf94,ENSG00000142698,protein_coding -1596,DMRTA2,ENSG00000142700,protein_coding -14658,PLK4,ENSG00000142731,protein_coding -911,MAP3K6,ENSG00000142733,protein_coding -912,FCN3,ENSG00000142748,protein_coding -887,GPN2,ENSG00000142751,protein_coding -910,SYTL1,ENSG00000142765,protein_coding -904,WDTC1,ENSG00000142784,protein_coding -712,CELA3A,ENSG00000142789,protein_coding -697,NBPF3,ENSG00000142794,protein_coding -705,HSPG2,ENSG00000142798,protein_coding -1864,ITGB3BP,ENSG00000142856,protein_coding -1934,SERBP1,ENSG00000142864,protein_coding -2166,BCL10,ENSG00000142867,protein_coding -2173,CCN1,ENSG00000142871,protein_coding -2137,PRKACB,ENSG00000142875,protein_coding -2056,PIGK,ENSG00000142892,protein_coding -1036,TINAGL1,ENSG00000142910,protein_coding -1102,AZIN2,ENSG00000142920,protein_coding -1452,RPS8,ENSG00000142937,protein_coding -1450,KIF2C,ENSG00000142945,protein_coding -1409,PTPRF,ENSG00000142949,protein_coding -1459,BEST4,ENSG00000142959,protein_coding -1523,MOB3C,ENSG00000142961,protein_coding -1530,CYP4B1,ENSG00000142973,protein_coding -1746,TMEM61,ENSG00000143001,protein_coding -1700,DMRTB1,ENSG00000143006,protein_coding -2202,LMO4,ENSG00000143013,protein_coding -2546,SYPL2,ENSG00000143028,protein_coding -2257,BARHL2,ENSG00000143032,protein_coding -2309,MTF2,ENSG00000143033,protein_coding -2351,SLC44A3,ENSG00000143036,protein_coding -2754,IGSF3,ENSG00000143061,protein_coding -2818,ZNF697,ENSG00000143067,protein_coding -2653,CTTNBP2NL,ENSG00000143079,protein_coding -2574,STRIP1,ENSG00000143093,protein_coding -2598,KCNA10,ENSG00000143105,protein_coding -2545,PSMA5,ENSG00000143106,protein_coding -2519,FNDC7,ENSG00000143107,protein_coding -2634,C1orf162,ENSG00000143110,protein_coding -2605,CD53,ENSG00000143119,protein_coding -2592,PROK1,ENSG00000143125,protein_coding -2541,CELSR2,ENSG00000143126,protein_coding -2955,ITGA10,ENSG00000143127,protein_coding -3836,GPR161,ENSG00000143147,protein_coding -3775,ALDH9A1,ENSG00000143149,protein_coding -3864,ATP1B1,ENSG00000143153,protein_coding -3837,TIPRL,ENSG00000143155,protein_coding -3865,NME7,ENSG00000143156,protein_coding -3805,POGK,ENSG00000143157,protein_coding -3832,MPC2,ENSG00000143158,protein_coding -3824,CREG1,ENSG00000143162,protein_coding -3833,DCAF6,ENSG00000143164,protein_coding -3812,GPA33,ENSG00000143167,protein_coding -3768,RXRG,ENSG00000143171,protein_coding -3843,TBX19,ENSG00000143178,protein_coding -3784,UCK2,ENSG00000143179,protein_coding -3781,TMCO1,ENSG00000143183,protein_coding -3851,XCL1,ENSG00000143184,protein_coding -3849,XCL2,ENSG00000143185,protein_coding -3817,POU2F1,ENSG00000143190,protein_coding -3809,MAEL,ENSG00000143194,protein_coding -3808,ILDR2,ENSG00000143195,protein_coding -3853,DPT,ENSG00000143196,protein_coding -3774,MGST3,ENSG00000143198,protein_coding -3829,ADCY10,ENSG00000143199,protein_coding -4002,COP1,ENSG00000143207,protein_coding -3665,NECTIN4,ENSG00000143217,protein_coding -3672,UFC1,ENSG00000143222,protein_coding -3675,PPOX,ENSG00000143224,protein_coding -3696,FCGR2A,ENSG00000143226,protein_coding -3747,NUF2,ENSG00000143228,protein_coding -3742,RGS5,ENSG00000143248,protein_coding -3686,SDHC,ENSG00000143252,protein_coding -3668,PFDN2,ENSG00000143256,protein_coding -3683,NR1I3,ENSG00000143257,protein_coding -3674,USP21,ENSG00000143258,protein_coding -4293,F13B,ENSG00000143278,protein_coding -3498,PRCC,ENSG00000143294,protein_coding -3520,FCRL5,ENSG00000143297,protein_coding -3495,RRNAD1,ENSG00000143303,protein_coding -3496,MRPL24,ENSG00000143314,protein_coding -3619,PIGM,ENSG00000143315,protein_coding -3625,CASQ1,ENSG00000143318,protein_coding -3494,ISG20L2,ENSG00000143319,protein_coding -3492,CRABP2,ENSG00000143320,protein_coding -3497,HDGF,ENSG00000143321,protein_coding -4045,ABL2,ENSG00000143322,protein_coding -4085,XPR1,ENSG00000143324,protein_coding -4122,RGS16,ENSG00000143333,protein_coding -4070,TOR1AIP1,ENSG00000143337,protein_coding -4065,FAM163A,ENSG00000143340,protein_coding -4193,HMCN1,ENSG00000143341,protein_coding -4149,RGL1,ENSG00000143344,protein_coding -4752,LYPLAL1,ENSG00000143353,protein_coding -4308,LHX9,ENSG00000143355,protein_coding -3154,PRUNE1,ENSG00000143363,protein_coding -3207,RORC,ENSG00000143365,protein_coding -3185,TUFT1,ENSG00000143367,protein_coding -3103,SF3B4,ENSG00000143368,protein_coding -3124,ECM1,ENSG00000143369,protein_coding -3172,ZNF687,ENSG00000143373,protein_coding -3122,TARS2,ENSG00000143374,protein_coding -3183,CGN,ENSG00000143375,protein_coding -3189,SNX27,ENSG00000143376,protein_coding -3148,SETDB1,ENSG00000143379,protein_coding -3127,ADAMTSL4,ENSG00000143382,protein_coding -3132,MCL1,ENSG00000143384,protein_coding -3141,CTSK,ENSG00000143387,protein_coding -3176,RFX5,ENSG00000143390,protein_coding -3173,PI4KB,ENSG00000143393,protein_coding -3169,PIP5K1A,ENSG00000143398,protein_coding -3112,ANP32E,ENSG00000143401,protein_coding -3153,MINDY1,ENSG00000143409,protein_coding -3152,ANXA9,ENSG00000143412,protein_coding -3179,SELENBP1,ENSG00000143416,protein_coding -3149,CERS2,ENSG00000143418,protein_coding -3134,ENSA,ENSG00000143420,protein_coding -3163,SEMA6C,ENSG00000143434,protein_coding -3198,MRPL9,ENSG00000143436,protein_coding -3143,ARNT,ENSG00000143437,protein_coding -3181,POGZ,ENSG00000143442,protein_coding -3157,C1orf56,ENSG00000143443,protein_coding -3199,OAZ3,ENSG00000143450,protein_coding -3137,HORMAD1,ENSG00000143452,protein_coding -3136,GOLPH3L,ENSG00000143457,protein_coding -3160,GABPB2,ENSG00000143458,protein_coding -4620,SYT14,ENSG00000143469,protein_coding -4631,KCNH1,ENSG00000143473,protein_coding -4663,DTL,ENSG00000143476,protein_coding -4546,DYRK3,ENSG00000143479,protein_coding -4544,EIF2D,ENSG00000143486,protein_coding -4661,INTS7,ENSG00000143493,protein_coding -4698,VASH2,ENSG00000143494,protein_coding -4817,TAF1A,ENSG00000143498,protein_coding -4710,SMYD2,ENSG00000143499,protein_coding -4834,SUSD4,ENSG00000143502,protein_coding -4803,DUSP10,ENSG00000143507,protein_coding -4816,HHIPL2,ENSG00000143512,protein_coding -4841,TP53BP2,ENSG00000143514,protein_coding -3357,ATP8B2,ENSG00000143515,protein_coding -3231,FLG2,ENSG00000143520,protein_coding -3233,CRNN,ENSG00000143536,protein_coding -3390,ADAM15,ENSG00000143537,protein_coding -3334,JTB,ENSG00000143543,protein_coding -3337,RAB13,ENSG00000143545,protein_coding -3288,S100A8,ENSG00000143546,protein_coding -3344,TPM3,ENSG00000143549,protein_coding -3339,NUP210L,ENSG00000143552,protein_coding -3309,SNAPIN,ENSG00000143553,protein_coding -3319,SLC27A3,ENSG00000143554,protein_coding -3293,S100A7,ENSG00000143556,protein_coding -3349,UBAP2L,ENSG00000143569,protein_coding -3328,SLC39A1,ENSG00000143570,protein_coding -3351,HAX1,ENSG00000143575,protein_coding -3333,CREB3L4,ENSG00000143578,protein_coding -3393,EFNA3,ENSG00000143590,protein_coding -3356,AQP10,ENSG00000143595,protein_coding -3374,KCNN3,ENSG00000143603,protein_coding -3348,C1orf43,ENSG00000143612,protein_coding -3321,GATAD2B,ENSG00000143614,protein_coding -3310,ILF2,ENSG00000143621,protein_coding -3441,RIT1,ENSG00000143622,protein_coding -3316,INTS3,ENSG00000143624,protein_coding -3415,PKLR,ENSG00000143627,protein_coding -3414,HCN3,ENSG00000143630,protein_coding -3230,FLG,ENSG00000143631,protein_coding -5023,ACTA1,ENSG00000143632,protein_coding -5064,C1orf131,ENSG00000143633,protein_coding -5037,GALNT2,ENSG00000143641,protein_coding -5056,TTC13,ENSG00000143643,protein_coding -5351,SCCPDH,ENSG00000143653,protein_coding -5168,LYST,ENSG00000143669,protein_coding -5098,MAP3K21,ENSG00000143674,protein_coding -5288,CEP170,ENSG00000143702,protein_coding -5474,ACP1,ENSG00000143727,protein_coding -4940,SNAP47,ENSG00000143740,protein_coding -4880,SRP9,ENSG00000143742,protein_coding -4857,NVL,ENSG00000143748,protein_coding -4892,SDE2,ENSG00000143751,protein_coding -4853,DEGS1,ENSG00000143753,protein_coding -4851,FBXO28,ENSG00000143756,protein_coding -4951,ARF1,ENSG00000143761,protein_coding -4890,LEFTY2,ENSG00000143768,protein_coding -4861,CNIH4,ENSG00000143771,protein_coding -4911,ITPKB,ENSG00000143772,protein_coding -4959,GUK1,ENSG00000143774,protein_coding -4919,CDC42BPA,ENSG00000143776,protein_coding -4864,CNIH3,ENSG00000143786,protein_coding -4953,C1orf35,ENSG00000143793,protein_coding -5593,MBOAT2,ENSG00000143797,protein_coding -4904,PARP1,ENSG00000143799,protein_coding -4916,PSEN2,ENSG00000143801,protein_coding -4887,PYCR2,ENSG00000143811,protein_coding -4873,LBR,ENSG00000143815,protein_coding -4945,WNT9A,ENSG00000143816,protein_coding -4882,EPHX1,ENSG00000143819,protein_coding -4466,REN,ENSG00000143839,protein_coding -4462,SOX13,ENSG00000143842,protein_coding -4464,ETNK2,ENSG00000143845,protein_coding -4429,PPFIA4,ENSG00000143847,protein_coding -4470,PLEKHA6,ENSG00000143850,protein_coding -4399,PTPN7,ENSG00000143851,protein_coding -4409,SYT2,ENSG00000143858,protein_coding -4398,ARL8A,ENSG00000143862,protein_coding -5752,OSR1,ENSG00000143867,protein_coding -5784,GDF7,ENSG00000143869,protein_coding -5645,PDIA6,ENSG00000143870,protein_coding -5775,RHOB,ENSG00000143878,protein_coding -5642,ATP6V1C2,ENSG00000143882,protein_coding -6113,HNRNPLL,ENSG00000143889,protein_coding -6115,GALM,ENSG00000143891,protein_coding -6208,CAMKMT,ENSG00000143919,protein_coding -6195,ABCG8,ENSG00000143921,protein_coding -6160,EML4,ENSG00000143924,protein_coding -6262,CALM2,ENSG00000143933,protein_coding -6336,CHAC2,ENSG00000143942,protein_coding -6363,RPS27A,ENSG00000143947,protein_coding -6491,WDPCP,ENSG00000143951,protein_coding -6503,VPS54,ENSG00000143952,protein_coding -6818,REG3G,ENSG00000143954,protein_coding -5865,ASXL2,ENSG00000143970,protein_coding -6571,ETAA1,ENSG00000143971,protein_coding -6634,SNRPG,ENSG00000143977,protein_coding -5910,ABHD1,ENSG00000143994,protein_coding -6559,MEIS1,ENSG00000143995,protein_coding -7155,TRIM43B,ENSG00000144010,protein_coding -7170,TRIM43,ENSG00000144015,protein_coding -7192,CIAO1,ENSG00000144021,protein_coding -7141,ZNF514,ENSG00000144026,protein_coding -7193,SNRNP200,ENSG00000144028,protein_coding -7140,MRPS5,ENSG00000144029,protein_coding -6657,ANKRD53,ENSG00000144031,protein_coding -6703,TPRKB,ENSG00000144034,protein_coding -6700,NAT8,ENSG00000144035,protein_coding -6677,EXOC6B,ENSG00000144036,protein_coding -6684,SFXN5,ENSG00000144040,protein_coding -6658,TEX261,ENSG00000144043,protein_coding -6755,DQX1,ENSG00000144045,protein_coding -6706,DUSP11,ENSG00000144048,protein_coding -7406,ST6GAL2,ENSG00000144057,protein_coding -7476,NPHP1,ENSG00000144061,protein_coding -7474,MALL,ENSG00000144063,protein_coding -6979,THNSL2,ENSG00000144115,protein_coding -7666,RALB,ENSG00000144118,protein_coding -7642,C1QL2,ENSG00000144119,protein_coding -7652,TMEM177,ENSG00000144120,protein_coding -7552,NT5DC4,ENSG00000144130,protein_coding -7589,RABL2A,ENSG00000144134,protein_coding -7551,SLC20A1,ENSG00000144136,protein_coding -7534,FBLN7,ENSG00000144152,protein_coding -7536,ZC3H8,ENSG00000144161,protein_coding -7270,LIPT1,ENSG00000144182,protein_coding -7255,CNGA3,ENSG00000144191,protein_coding -7224,FAHD2B,ENSG00000144199,protein_coding -7275,LYG1,ENSG00000144214,protein_coding -7280,AFF3,ENSG00000144218,protein_coding -7966,UBXN4,ENSG00000144224,protein_coding -7996,NXPH2,ENSG00000144227,protein_coding -7992,SPOPL,ENSG00000144228,protein_coding -7981,THSD7B,ENSG00000144229,protein_coding -7745,GPR17,ENSG00000144230,protein_coding -7751,POLR2D,ENSG00000144231,protein_coding -7755,AMMECR1L,ENSG00000144233,protein_coding -8157,GALNT13,ENSG00000144278,protein_coding -8207,PKP4,ENSG00000144283,protein_coding -8306,SCN1A,ENSG00000144285,protein_coding -8258,SLC4A10,ENSG00000144290,protein_coding -8429,SCRN3,ENSG00000144306,protein_coding -8455,LNPK,ENSG00000144320,protein_coding -8548,ZNF385B,ENSG00000144331,protein_coding -8697,TMEFF2,ENSG00000144339,protein_coding -8406,CDCA7,ENSG00000144354,protein_coding -8384,DLX1,ENSG00000144355,protein_coding -8350,UBR3,ENSG00000144357,protein_coding -8343,PHOSPHO2,ENSG00000144362,protein_coding -8636,GULP1,ENSG00000144366,protein_coding -8623,FAM171B,ENSG00000144369,protein_coding -8754,HSPD1,ENSG00000144381,protein_coding -8736,CCDC150,ENSG00000144395,protein_coding -8977,METTL21A,ENSG00000144401,protein_coding -9020,UNC80,ENSG00000144406,protein_coding -9006,PTH2R,ENSG00000144407,protein_coding -8962,CPO,ENSG00000144410,protein_coding -8892,NBEAL1,ENSG00000144426,protein_coding -9023,KANSL1L,ENSG00000144445,protein_coding -9054,SPAG16,ENSG00000144451,protein_coding -9065,ABCA12,ENSG00000144452,protein_coding -9700,SUMF1,ENSG00000144455,protein_coding -9291,NYAP2,ENSG00000144460,protein_coding -9301,RHBDD1,ENSG00000144468,protein_coding -9520,ACKR3,ENSG00000144476,protein_coding -9485,TRPM8,ENSG00000144481,protein_coding -9554,HES6,ENSG00000144485,protein_coding -9547,ESPNL,ENSG00000144488,protein_coding -9601,ANKMY1,ENSG00000144504,protein_coding -9411,COPS7B,ENSG00000144524,protein_coding -9417,DIS3L2,ENSG00000144535,protein_coding -9765,CPNE9,ENSG00000144550,protein_coding -9790,FANCD2,ENSG00000144554,protein_coding -9827,TAMM41,ENSG00000144559,protein_coding -9824,VGLL4,ENSG00000144560,protein_coding -9964,RAB5A,ENSG00000144566,protein_coding -9188,RETREG2,ENSG00000144567,protein_coding -9145,CTDSP1,ENSG00000144579,protein_coding -9151,CNOT9,ENSG00000144580,protein_coding -9090,MARCH4,ENSG00000144583,protein_coding -9225,STK11IP,ENSG00000144589,protein_coding -9215,GMPPA,ENSG00000144591,protein_coding -9882,GRIP2,ENSG00000144596,protein_coding -9906,EAF1,ENSG00000144597,protein_coding -9688,CNTN4,ENSG00000144619,protein_coding -10095,DYNC1LI1,ENSG00000144635,protein_coding -10054,RBMS3,ENSG00000144642,protein_coding -10069,GADL1,ENSG00000144644,protein_coding -10076,OSBPL10,ENSG00000144645,protein_coding -10300,POMGNT2,ENSG00000144647,protein_coding -10290,ACKR2,ENSG00000144648,protein_coding -10298,GASK1A,ENSG00000144649,protein_coding -10202,CSRNP1,ENSG00000144655,protein_coding -10218,SLC25A38,ENSG00000144659,protein_coding -10165,ITGA9,ENSG00000144668,protein_coding -10183,SLC22A14,ENSG00000144671,protein_coding -10161,GOLGA4,ENSG00000144674,protein_coding -10170,CTDSPL,ENSG00000144677,protein_coding -10137,STAC,ENSG00000144681,protein_coding -9857,IQSEC1,ENSG00000144711,protein_coding -9851,CAND2,ENSG00000144712,protein_coding -9853,RPL32,ENSG00000144713,protein_coding -10772,PTPRG,ENSG00000144724,protein_coding -10712,IL17RD,ENSG00000144730,protein_coding -10903,SHQ1,ENSG00000144736,protein_coding -10827,SLC25A26,ENSG00000144741,protein_coding -10854,UBA3,ENSG00000144744,protein_coding -10855,ARL6IP5,ENSG00000144746,protein_coding -10852,TMF1,ENSG00000144747,protein_coding -10830,LRIG1,ENSG00000144749,protein_coding -10691,LRTM1,ENSG00000144771,protein_coding -38942,AC073896.1,ENSG00000144785,protein_coding -10354,LIMD1,ENSG00000144791,protein_coding -10328,ZNF660,ENSG00000144792,protein_coding -11179,NFKBIZ,ENSG00000144802,protein_coding -11134,COL8A1,ENSG00000144810,protein_coding -11177,NXPE3,ENSG00000144815,protein_coding -11148,ADGRG7,ENSG00000144820,protein_coding -11231,MYH15,ENSG00000144821,protein_coding -11277,PHLDB2,ENSG00000144824,protein_coding -11279,ABHD10,ENSG00000144827,protein_coding -11280,TAGLN3,ENSG00000144834,protein_coding -11399,PLA1A,ENSG00000144837,protein_coding -11429,RABL3,ENSG00000144840,protein_coding -11398,ADPRH,ENSG00000144843,protein_coding -11381,IGSF11,ENSG00000144847,protein_coding -11296,ATG3,ENSG00000144848,protein_coding -11407,NR1I2,ENSG00000144852,protein_coding -11311,BOC,ENSG00000144857,protein_coding -11737,SRPRB,ENSG00000144867,protein_coding -11721,TMEM108,ENSG00000144868,protein_coding -11953,AGTR1,ENSG00000144891,protein_coding -12022,MED12L,ENSG00000144893,protein_coding -12007,EIF2A,ENSG00000144895,protein_coding -11547,ALDH1L1,ENSG00000144908,protein_coding -11520,OSBPL11,ENSG00000144909,protein_coding -11890,TRPC1,ENSG00000144935,protein_coding -12333,NCEH1,ENSG00000144959,protein_coding -12342,SPATA16,ENSG00000144962,protein_coding -27321,FAM86B2,ENSG00000145002,protein_coding -12628,LPP,ENSG00000145012,protein_coding -12713,TMEM44,ENSG00000145014,protein_coding -12829,RUBCN,ENSG00000145016,protein_coding -10506,AMT,ENSG00000145020,protein_coding -10505,TCTA,ENSG00000145022,protein_coding -10508,NICN1,ENSG00000145029,protein_coding -10455,UCN2,ENSG00000145040,protein_coding -10582,DCAF1,ENSG00000145041,protein_coding -10580,MANF,ENSG00000145050,protein_coding -11437,STXBP5L,ENSG00000145087,protein_coding -11452,EAF2,ENSG00000145088,protein_coding -11454,ILDR1,ENSG00000145103,protein_coding -12778,TM4SF19,ENSG00000145107,protein_coding -12751,MUC4,ENSG00000145113,protein_coding -13255,SLIT2,ENSG00000145147,protein_coding -12519,EIF2B5,ENSG00000145191,protein_coding -12580,AHSG,ENSG00000145192,protein_coding -12530,ECE2,ENSG00000145194,protein_coding -12524,VWA5B2,ENSG00000145198,protein_coding -12892,DGKQ,ENSG00000145214,protein_coding -13622,FIP1L1,ENSG00000145216,protein_coding -12893,SLC26A1,ENSG00000145217,protein_coding -12992,LYAR,ENSG00000145220,protein_coding -13790,CENPC,ENSG00000145241,protein_coding -13773,EPHA5,ENSG00000145242,protein_coding -13551,CORIN,ENSG00000145244,protein_coding -13548,ATP10D,ENSG00000145246,protein_coding -13571,OCIAD2,ENSG00000145247,protein_coding -13565,SLC10A4,ENSG00000145248,protein_coding -14137,SLC10A6,ENSG00000145283,protein_coding -14087,SCD5,ENSG00000145284,protein_coding -14099,PLAC8,ENSG00000145287,protein_coding -14079,ENOPH1,ENSG00000145293,protein_coding -13884,CABS1,ENSG00000145309,protein_coding -13907,GC,ENSG00000145321,protein_coding -14291,TRMT10A,ENSG00000145331,protein_coding -14146,KLHL8,ENSG00000145332,protein_coding -14204,SNCA,ENSG00000145335,protein_coding -14186,PYURF,ENSG00000145337,protein_coding -14381,TBCK,ENSG00000145348,protein_coding -14500,CAMK2D,ENSG00000145349,protein_coding -14336,CISD2,ENSG00000145354,protein_coding -14304,DDIT4L,ENSG00000145358,protein_coding -14489,ANK2,ENSG00000145362,protein_coding -14466,TIFA,ENSG00000145365,protein_coding -14617,SPATA5,ENSG00000145375,protein_coding -14559,FABP2,ENSG00000145384,protein_coding -14598,CCNA2,ENSG00000145386,protein_coding -14551,METTL14,ENSG00000145388,protein_coding -14557,USP53,ENSG00000145390,protein_coding -14782,SETD7,ENSG00000145391,protein_coding -15121,NAF1,ENSG00000145414,protein_coding -15128,MARCH1,ENSG00000145416,protein_coding -15003,SFRP2,ENSG00000145423,protein_coding -14942,RPS3A,ENSG00000145425,protein_coding -15001,RNF175,ENSG00000145428,protein_coding -15056,PDGFC,ENSG00000145431,protein_coding -15196,CBR4,ENSG00000145439,protein_coding -15269,GLRA3,ENSG00000145451,protein_coding -15424,CYP4V2,ENSG00000145476,protein_coding -15725,ROPN1L,ENSG00000145491,protein_coding -15569,NDUFS6,ENSG00000145494,protein_coding -15723,MARCH6,ENSG00000145495,protein_coding -15543,NKD2,ENSG00000145506,protein_coding -15856,CDH18,ENSG00000145526,protein_coding -15612,ADAMTS16,ENSG00000145536,protein_coding -15632,SRD5A1,ENSG00000145545,protein_coding -15794,MYO10,ENSG00000145555,protein_coding -15759,OTULINL,ENSG00000145569,protein_coding -16131,RPL37,ENSG00000145592,protein_coding -16054,SKP2,ENSG00000145604,protein_coding -16106,OSMR,ENSG00000145623,protein_coding -16049,UGT3A1,ENSG00000145626,protein_coding -16350,PLK2,ENSG00000145632,protein_coding -16418,SHISAL2B,ENSG00000145642,protein_coding -16282,GZMA,ENSG00000145649,protein_coding -16471,PIK3R1,ENSG00000145675,protein_coding -16784,HAPLN1,ENSG00000145681,protein_coding -16686,LHFPL2,ENSG00000145685,protein_coding -16752,SSBP2,ENSG00000145687,protein_coding -16694,BHMT,ENSG00000145692,protein_coding -16617,ANKRD31,ENSG00000145700,protein_coding -16647,IQGAP2,ENSG00000145703,protein_coding -16659,CRHBP,ENSG00000145708,protein_coding -16824,RASA1,ENSG00000145715,protein_coding -16954,LIX1,ENSG00000145721,protein_coding -17033,GIN1,ENSG00000145723,protein_coding -17034,PPIP5K2,ENSG00000145725,protein_coding -17031,PAM,ENSG00000145730,protein_coding -16542,BDP1,ENSG00000145734,protein_coding -16532,GTF2H2,ENSG00000145736,protein_coding -16484,SLC30A5,ENSG00000145740,protein_coding -16585,BTF3,ENSG00000145741,protein_coding -17062,FBXL17,ENSG00000145743,protein_coding -16922,SPATA9,ENSG00000145757,protein_coding -17095,TSLP,ENSG00000145777,protein_coding -17213,TNFAIP8,ENSG00000145779,protein_coding -17156,FEM1C,ENSG00000145780,protein_coding -17175,COMMD10,ENSG00000145781,protein_coding -17166,ATG12,ENSG00000145782,protein_coding -17315,MEGF10,ENSG00000145794,protein_coding -17338,ADAMTS19,ENSG00000145808,protein_coding -17777,YIPF5,ENSG00000145817,protein_coding -17761,ARHGAP26,ENSG00000145819,protein_coding -17490,CXCL14,ENSG00000145824,protein_coding -17499,LECT2,ENSG00000145826,protein_coding -17491,SLC25A48,ENSG00000145832,protein_coding -17461,DDX46,ENSG00000145833,protein_coding -17496,IL9,ENSG00000145839,protein_coding -17991,TIMD4,ENSG00000145850,protein_coding -18040,RNF145,ENSG00000145860,protein_coding -18063,C1QTNF2,ENSG00000145861,protein_coding -18075,GABRA6,ENSG00000145863,protein_coding -18074,GABRB2,ENSG00000145864,protein_coding -17841,FBXO38,ENSG00000145868,protein_coding -17838,SPINK7,ENSG00000145879,protein_coding -17860,PCYOX1L,ENSG00000145882,protein_coding -17941,GLRA1,ENSG00000145888,protein_coding -17913,TNIP1,ENSG00000145901,protein_coding -17940,G3BP1,ENSG00000145907,protein_coding -17908,ZNF300,ENSG00000145908,protein_coding -18350,N4BP3,ENSG00000145911,protein_coding -18352,NHP2,ENSG00000145912,protein_coding -18351,RMND5B,ENSG00000145916,protein_coding -18226,BOD1,ENSG00000145919,protein_coding -18261,CPLX2,ENSG00000145920,protein_coding -18114,TENM2,ENSG00000145934,protein_coding -18157,KCNMB1,ENSG00000145936,protein_coding -18567,FAM50B,ENSG00000145945,protein_coding -18531,MYLK4,ENSG00000145949,protein_coding -18577,FAM217A,ENSG00000145975,protein_coding -18733,TBC1D7,ENSG00000145979,protein_coding -18605,FARS2,ENSG00000145982,protein_coding -18735,GFOD1,ENSG00000145990,protein_coding -18839,CDKAL1,ENSG00000145996,protein_coding -17600,PSD2,ENSG00000146005,protein_coding -17560,LRRTM2,ENSG00000146006,protein_coding -17638,ZMAT2,ENSG00000146007,protein_coding -17542,GFRA3,ENSG00000146013,protein_coding -17522,KLHL3,ENSG00000146021,protein_coding -18871,DCDC2,ENSG00000146038,protein_coding -18916,SLC17A4,ENSG00000146039,protein_coding -18913,HIST1H2BA,ENSG00000146047,protein_coding -18872,KAAG1,ENSG00000146049,protein_coding -18463,TRIM7,ENSG00000146054,protein_coding -18467,TRIM41,ENSG00000146063,protein_coding -18286,HIGD2A,ENSG00000146066,protein_coding -18330,FAM193B,ENSG00000146067,protein_coding -19829,PLA2G7,ENSG00000146070,protein_coding -19836,TNFRSF21,ENSG00000146072,protein_coding -18290,RNF44,ENSG00000146083,protein_coding -19862,MMUT,ENSG00000146085,protein_coding -18423,RASGEF1C,ENSG00000146090,protein_coding -18328,DOK3,ENSG00000146094,protein_coding -18983,ABT1,ENSG00000146109,protein_coding -19239,PPP1R18,ENSG00000146112,protein_coding -19644,DAAM2,ENSG00000146122,protein_coding -19993,PRIM2,ENSG00000146143,protein_coding -19954,MLIP,ENSG00000146147,protein_coding -19972,HMGCLL1,ENSG00000146151,protein_coding -20027,LGSN,ENSG00000146166,protein_coding -19596,FGD2,ENSG00000146192,protein_coding -19535,SCUBE3,ENSG00000146197,protein_coding -9626,ANO7,ENSG00000146205,protein_coding -19749,CRIP3,ENSG00000146215,protein_coding -19747,TTBK1,ENSG00000146216,protein_coding -19799,TCTE1,ENSG00000146221,protein_coding -19722,RPL7L1,ENSG00000146223,protein_coding -19796,NFKBIE,ENSG00000146232,protein_coding -19825,CYP39A1,ENSG00000146233,protein_coding -20250,TPBG,ENSG00000146242,protein_coding -20195,IRAK1BP1,ENSG00000146243,protein_coding -20196,PHIP,ENSG00000146247,protein_coding -20259,PRSS35,ENSG00000146250,protein_coding -20434,MMS22L,ENSG00000146263,protein_coding -20447,FAXC,ENSG00000146267,protein_coding -20356,GABRR1,ENSG00000146276,protein_coding -20351,PNRC1,ENSG00000146278,protein_coding -20355,PM20D2,ENSG00000146281,protein_coding -20329,RARS2,ENSG00000146282,protein_coding -20532,SCML4,ENSG00000146285,protein_coding -20749,TBC1D32,ENSG00000146350,protein_coding -20780,CLVS2,ENSG00000146352,protein_coding -20590,GPR6,ENSG00000146360,protein_coding -20788,RNF217,ENSG00000146373,protein_coding -20811,RSPO3,ENSG00000146374,protein_coding -20843,ARHGAP18,ENSG00000146376,protein_coding -20892,TAAR2,ENSG00000146378,protein_coding -20887,TAAR6,ENSG00000146383,protein_coding -20885,TAAR8,ENSG00000146385,protein_coding -21023,ABRACL,ENSG00000146386,protein_coding -20893,TAAR1,ENSG00000146399,protein_coding -20901,SLC18B1,ENSG00000146409,protein_coding -20967,MTFR2,ENSG00000146410,protein_coding -20922,SLC2A12,ENSG00000146411,protein_coding -21109,SHPRH,ENSG00000146414,protein_coding -21065,AIG1,ENSG00000146416,protein_coding -21321,DYNLT1,ENSG00000146425,protein_coding -21268,TIAM2,ENSG00000146426,protein_coding -21318,TMEM181,ENSG00000146433,protein_coding -21358,PNLDC1,ENSG00000146453,protein_coding -21351,WTAP,ENSG00000146457,protein_coding -1146,ZMYM4,ENSG00000146463,protein_coding -21233,VIP,ENSG00000146469,protein_coding -21219,ARMT1,ENSG00000146476,protein_coding -21368,SLC22A3,ENSG00000146477,protein_coding -21778,VWDE,ENSG00000146530,protein_coding -21623,GNA12,ENSG00000146535,protein_coding -21576,C7orf50,ENSG00000146540,protein_coding -21632,SDK1,ENSG00000146555,protein_coding -21711,CCZ1B,ENSG00000146574,protein_coding -21702,C7orf26,ENSG00000146576,protein_coding -21652,RBAK,ENSG00000146587,protein_coding -22039,CREB5,ENSG00000146592,protein_coding -21855,FERD3L,ENSG00000146618,protein_coding -22480,EGFR,ENSG00000146648,protein_coding -33510,CDCA5,ENSG00000146670,protein_coding -22377,IGFBP3,ENSG00000146674,protein_coding -22347,PURB,ENSG00000146676,protein_coding -22376,IGFBP1,ENSG00000146678,protein_coding -22989,SSC4D,ENSG00000146700,protein_coding -22978,MDH2,ENSG00000146701,protein_coding -23000,POMZP3,ENSG00000146707,protein_coding -22511,NIPSNAP2,ENSG00000146729,protein_coding -22514,CCT6A,ENSG00000146731,protein_coding -22513,PSPH,ENSG00000146733,protein_coding -22889,TRIM50,ENSG00000146755,protein_coding -22754,ZNF92,ENSG00000146757,protein_coding -23534,ATXN7L1,ENSG00000146776,protein_coding -23618,TMEM168,ENSG00000146802,protein_coding -23750,ASB15,ENSG00000146809,protein_coding -23358,MAP11,ENSG00000146826,protein_coding -23404,SLC12A9,ENSG00000146828,protein_coding -23398,GIGYF1,ENSG00000146830,protein_coding -23332,TRIM4,ENSG00000146833,protein_coding -23376,MEPCE,ENSG00000146834,protein_coding -23401,ZAN,ENSG00000146839,protein_coding -23888,TMEM209,ENSG00000146842,protein_coding -23970,AGBL3,ENSG00000146856,protein_coding -23979,STRA8,ENSG00000146857,protein_coding -24039,ZC3HAV1L,ENSG00000146858,protein_coding -23973,TMEM140,ENSG00000146859,protein_coding -51360,TLK2,ENSG00000146872,protein_coding -24239,EPHA1,ENSG00000146904,protein_coding -24520,NOM1,ENSG00000146909,protein_coding -24502,CNPY1,ENSG00000146910,protein_coding -24550,NCAPG2,ENSG00000146918,protein_coding -24418,ASB10,ENSG00000146926,protein_coding -24622,NLGN4X,ENSG00000146938,protein_coding -24665,SHROOM2,ENSG00000146950,protein_coding -24071,RAB19,ENSG00000146955,protein_coding -24050,LUC7L2,ENSG00000146963,protein_coding -24074,DENND2A,ENSG00000146966,protein_coding -24739,CLTRN,ENSG00000147003,protein_coding -24803,SH3KBP1,ENSG00000147010,protein_coding -24954,TMEM47,ENSG00000147027,protein_coding -24987,LANCL3,ENSG00000147036,protein_coding -24997,SYTL5,ENSG00000147041,protein_coding -25058,CASK,ENSG00000147044,protein_coding -25099,KDM6A,ENSG00000147050,protein_coding -25470,SPIN2A,ENSG00000147059,protein_coding -25518,MSN,ENSG00000147065,protein_coding -25300,AKAP4,ENSG00000147081,protein_coding -25301,CCNB3,ENSG00000147082,protein_coding -25650,HDAC8,ENSG00000147099,protein_coding -25722,SLC16A2,ENSG00000147100,protein_coding -25100,DIPK2B,ENSG00000147113,protein_coding -25151,ZNF157,ENSG00000147117,protein_coding -25174,ZNF182,ENSG00000147118,protein_coding -25130,CHST7,ENSG00000147119,protein_coding -25123,KRBOX4,ENSG00000147121,protein_coding -25141,NDUFB11,ENSG00000147123,protein_coding -25155,ZNF41,ENSG00000147124,protein_coding -25581,RAB41,ENSG00000147127,protein_coding -25610,ZMYM3,ENSG00000147130,protein_coding -25615,TAF1,ENSG00000147133,protein_coding -25780,GPR174,ENSG00000147138,protein_coding -25611,NONO,ENSG00000147140,protein_coding -25246,CCDC120,ENSG00000147144,protein_coding -25775,LPAR4,ENSG00000147145,protein_coding -25214,EBP,ENSG00000147155,protein_coding -25568,AWAT2,ENSG00000147160,protein_coding -25622,OGT,ENSG00000147162,protein_coding -25601,SNX12,ENSG00000147164,protein_coding -25612,ITGB1BP2,ENSG00000147166,protein_coding -25605,IL2RG,ENSG00000147168,protein_coding -25623,GCNA,ENSG00000147174,protein_coding -25827,ZNF711,ENSG00000147180,protein_coding -25858,CPXCR1,ENSG00000147183,protein_coding -25914,DIAPH2,ENSG00000147202,protein_coding -26034,NXF3,ENSG00000147206,protein_coding -26098,RIPPLY1,ENSG00000147223,protein_coding -26111,PRPS1,ENSG00000147224,protein_coding -26093,RADX,ENSG00000147231,protein_coding -26110,FRMPD3,ENSG00000147234,protein_coding -26195,HTR2C,ENSG00000147246,protein_coding -26250,DOCK11,ENSG00000147251,protein_coding -26449,IGSF1,ENSG00000147255,protein_coding -26445,ARHGAP36,ENSG00000147256,protein_coding -26485,GPC3,ENSG00000147257,protein_coding -26436,GPR119,ENSG00000147262,protein_coding -26597,RBMX,ENSG00000147274,protein_coding -27063,MCPH1,ENSG00000147316,protein_coding -27194,MFHAS1,ENSG00000147324,protein_coding -26996,FBXO25,ENSG00000147364,protein_coding -26797,FATE1,ENSG00000147378,protein_coding -26800,MAGEA4,ENSG00000147381,protein_coding -26830,NSDHL,ENSG00000147383,protein_coding -26831,ZNF185,ENSG00000147394,protein_coding -26829,CETN2,ENSG00000147400,protein_coding -26901,RPL10,ENSG00000147403,protein_coding -27436,CSGALNACT1,ENSG00000147408,protein_coding -27443,ATP6V1B2,ENSG00000147416,protein_coding -27602,CCDC25,ENSG00000147419,protein_coding -27633,HMBOX1,ENSG00000147421,protein_coding -27891,CHRNB3,ENSG00000147432,protein_coding -27894,CHRNA6,ENSG00000147434,protein_coding -27557,GNRH1,ENSG00000147437,protein_coding -27496,BIN3,ENSG00000147439,protein_coding -27463,DOK2,ENSG00000147443,protein_coding -27528,SLC25A37,ENSG00000147454,protein_coding -27519,CHMP7,ENSG00000147457,protein_coding -27554,DOCK5,ENSG00000147459,protein_coding -27792,STAR,ENSG00000147465,protein_coding -27775,PLPBP,ENSG00000147471,protein_coding -27773,ERLIN2,ENSG00000147475,protein_coding -28001,SNTG1,ENSG00000147481,protein_coding -28008,PXDNL,ENSG00000147485,protein_coding -28018,ST18,ENSG00000147488,protein_coding -28040,RGS20,ENSG00000147509,protein_coding -27814,TACC1,ENSG00000147526,protein_coding -27857,GOLGA7,ENSG00000147533,protein_coding -27800,PLPP5,ENSG00000147535,protein_coding -27860,GINS4,ENSG00000147536,protein_coding -27801,NSD3,ENSG00000147548,protein_coding -28222,DNAJC5B,ENSG00000147570,protein_coding -28225,CRH,ENSG00000147571,protein_coding -28224,TRIM55,ENSG00000147573,protein_coding -28232,ADHFE1,ENSG00000147576,protein_coding -28423,MRPS28,ENSG00000147586,protein_coding -28464,PMP2,ENSG00000147588,protein_coding -28302,LACTB2,ENSG00000147592,protein_coding -28288,PRDM14,ENSG00000147596,protein_coding -28328,TERF1,ENSG00000147601,protein_coding -28337,RPL7,ENSG00000147604,protein_coding -28596,SLC26A7,ENSG00000147606,protein_coding -28536,PSKH2,ENSG00000147613,protein_coding -28533,ATP6V0D2,ENSG00000147614,protein_coding -28921,SYBU,ENSG00000147642,protein_coding -28864,DPYS,ENSG00000147647,protein_coding -28704,MTDH,ENSG00000147649,protein_coding -28869,LRP12,ENSG00000147650,protein_coding -28920,EBAG9,ENSG00000147654,protein_coding -28902,RSPO2,ENSG00000147655,protein_coding -28757,POLR2K,ENSG00000147669,protein_coding -28987,MAL2,ENSG00000147676,protein_coding -28962,EIF3H,ENSG00000147677,protein_coding -28963,UTP23,ENSG00000147679,protein_coding -29083,NDUFB9,ENSG00000147684,protein_coding -29080,TATDN1,ENSG00000147687,protein_coding -29038,FAM83A,ENSG00000147689,protein_coding -29155,GSDMC,ENSG00000147697,protein_coding -29248,FAM135B,ENSG00000147724,protein_coding -29451,ZNF7,ENSG00000147789,protein_coding -29439,ARHGAP39,ENSG00000147799,protein_coding -29421,SLC39A4,ENSG00000147804,protein_coding -29355,NAPRT,ENSG00000147813,protein_coding -29505,VLDLR,ENSG00000147852,protein_coding -29530,AK3,ENSG00000147853,protein_coding -29580,UHRF2,ENSG00000147854,protein_coding -29647,NFIB,ENSG00000147862,protein_coding -29656,CER1,ENSG00000147869,protein_coding -29705,PLIN2,ENSG00000147872,protein_coding -29753,IFNA5,ENSG00000147873,protein_coding -29701,HAUS6,ENSG00000147874,protein_coding -29783,CDKN2B,ENSG00000147883,protein_coding -29748,IFNA16,ENSG00000147885,protein_coding -29780,CDKN2A,ENSG00000147889,protein_coding -29835,C9orf72,ENSG00000147894,protein_coding -29833,IFNK,ENSG00000147896,protein_coding -30069,ZCCHC7,ENSG00000147905,protein_coding -30082,FBXO10,ENSG00000147912,protein_coding -29963,SIGMAR1,ENSG00000147955,protein_coding -30355,CBWD5,ENSG00000147996,protein_coding -30537,CEP78,ENSG00000148019,protein_coding -30612,NTRK2,ENSG00000148053,protein_coding -30593,IDNK,ENSG00000148057,protein_coding -30689,SHC3,ENSG00000148082,protein_coding -30725,AUH,ENSG00000148090,protein_coding -30806,MFSD14B,ENSG00000148110,protein_coding -30815,AOPEP,ENSG00000148120,protein_coding -30961,PLPPR1,ENSG00000148123,protein_coding -30999,OR13C4,ENSG00000148136,protein_coding -31037,ZNF462,ENSG00000148143,protein_coding -31132,INIP,ENSG00000148153,protein_coding -31114,UGCG,ENSG00000148154,protein_coding -31066,ACTL7B,ENSG00000148156,protein_coding -31134,SNX30,ENSG00000148158,protein_coding -31246,STOM,ENSG00000148175,protein_coding -31242,GSN,ENSG00000148180,protein_coding -31261,MRRF,ENSG00000148187,protein_coding -31318,NR6A1,ENSG00000148200,protein_coding -31299,CRB2,ENSG00000148204,protein_coding -31281,OR5C1,ENSG00000148215,protein_coding -31158,ALAD,ENSG00000148218,protein_coding -31202,ASTN2,ENSG00000148219,protein_coding -31155,WDR31,ENSG00000148225,protein_coding -31159,POLE3,ENSG00000148229,protein_coding -31586,SURF4,ENSG00000148248,protein_coding -31569,GBGT1,ENSG00000148288,protein_coding -31584,SURF1,ENSG00000148290,protein_coding -31585,SURF2,ENSG00000148291,protein_coding -31575,SURF6,ENSG00000148296,protein_coding -31577,MED22,ENSG00000148297,protein_coding -31588,REXO4,ENSG00000148300,protein_coding -31579,RPL7A,ENSG00000148303,protein_coding -31563,GTF3C5,ENSG00000148308,protein_coding -31488,ASB6,ENSG00000148331,protein_coding -31409,PTGES2,ENSG00000148334,protein_coding -31486,NTMT1,ENSG00000148335,protein_coding -31413,CIZ1,ENSG00000148337,protein_coding -31406,SLC25A25,ENSG00000148339,protein_coding -31461,SH3GLB2,ENSG00000148341,protein_coding -31462,MIGA2,ENSG00000148343,protein_coding -31492,PTGES,ENSG00000148344,protein_coding -31411,LCN2,ENSG00000148346,protein_coding -31375,LRSAM1,ENSG00000148356,protein_coding -31507,HMCN2,ENSG00000148357,protein_coding -31503,GPR107,ENSG00000148358,protein_coding -31721,PAXX,ENSG00000148362,protein_coding -35169,IDI2,ENSG00000148377,protein_coding -31670,INPP5E,ENSG00000148384,protein_coding -31648,LCN9,ENSG00000148386,protein_coding -31671,SEC16A,ENSG00000148396,protein_coding -31769,DPH7,ENSG00000148399,protein_coding -31673,NOTCH1,ENSG00000148400,protein_coding -31780,CACNA1B,ENSG00000148408,protein_coding -31654,NACC2,ENSG00000148411,protein_coding -35349,PROSER2,ENSG00000148426,protein_coding -35345,USP6NL,ENSG00000148429,protein_coding -35528,COMMD3,ENSG00000148444,protein_coding -35544,MSRB2,ENSG00000148450,protein_coding -35593,PDSS1,ENSG00000148459,protein_coding -35428,FAM171A1,ENSG00000148468,protein_coding -35431,MINDY3,ENSG00000148481,protein_coding -35463,SLC39A12,ENSG00000148482,protein_coding -35459,TMEM236,ENSG00000148483,protein_coding -35440,RSU1,ENSG00000148484,protein_coding -35450,ST8SIA6,ENSG00000148488,protein_coding -35738,PARD3,ENSG00000148498,protein_coding -35780,ANKRD30A,ENSG00000148513,protein_coding -35690,ZEB1,ENSG00000148516,protein_coding -36124,FAM13C,ENSG00000148541,protein_coding -36163,NRBF2,ENSG00000148572,protein_coding -36066,A1CF,ENSG00000148584,protein_coding -36560,CDHR1,ENSG00000148600,protein_coding -36563,LRIT1,ENSG00000148602,protein_coding -36562,RGR,ENSG00000148604,protein_coding -36461,POLR3A,ENSG00000148606,protein_coding -36206,HERC4,ENSG00000148634,protein_coding -36430,LRMDA,ENSG00000148655,protein_coding -36388,CAMK2G,ENSG00000148660,protein_coding -36602,ADIRF,ENSG00000148671,protein_coding -36613,GLUD1,ENSG00000148672,protein_coding -36702,ANKRD1,ENSG00000148677,protein_coding -36699,HTR7,ENSG00000148680,protein_coding -36700,RPP30,ENSG00000148688,protein_coding -36758,FRA10AC1,ENSG00000148690,protein_coding -37074,ADD3,ENSG00000148700,protein_coding -37127,HABP2,ENSG00000148702,protein_coding -37183,VAX1,ENSG00000148704,protein_coding -36316,DNAJB12,ENSG00000148719,protein_coding -36280,EIF4EBP2,ENSG00000148730,protein_coding -36277,NPFFR1,ENSG00000148734,protein_coding -37131,PLEKHS1,ENSG00000148735,protein_coding -37121,TCF7L2,ENSG00000148737,protein_coding -37370,MKI67,ENSG00000148773,protein_coding -36986,CYP17A1,ENSG00000148795,protein_coding -37004,INA,ENSG00000148798,protein_coding -37444,FUOM,ENSG00000148803,protein_coding -37413,LRRC27,ENSG00000148814,protein_coding -37450,MTG1,ENSG00000148824,protein_coding -37421,NKX6-2,ENSG00000148826,protein_coding -37448,PAOX,ENSG00000148832,protein_coding -37033,GSTO1,ENSG00000148834,protein_coding -37007,TAF5,ENSG00000148835,protein_coding -36962,PPRC1,ENSG00000148840,protein_coding -37036,ITPRIP,ENSG00000148841,protein_coding -36997,CNNM2,ENSG00000148842,protein_coding -37010,PDCD11,ENSG00000148843,protein_coding -37349,ADAM12,ENSG00000148848,protein_coding -37225,RGS10,ENSG00000148908,protein_coding -32345,BTBD10,ENSG00000148925,protein_coding -32289,ADM,ENSG00000148926,protein_coding -32517,GAS2,ENSG00000148935,protein_coding -32549,SLC5A12,ENSG00000148942,protein_coding -32557,LIN7C,ENSG00000148943,protein_coding -32728,LRRC4C,ENSG00000148948,protein_coding -32605,IMMP1L,ENSG00000148950,protein_coding -32432,SAA4,ENSG00000148965,protein_coding -31998,PGAP2,ENSG00000148985,protein_coding -33354,TUT1,ENSG00000149016,protein_coding -33346,SCGB1A1,ENSG00000149021,protein_coding -31905,SYT8,ENSG00000149043,protein_coding -32200,ZNF214,ENSG00000149050,protein_coding -32199,ZNF215,ENSG00000149054,protein_coding -32760,HSD17B12,ENSG00000149084,protein_coding -32677,APIP,ENSG00000149089,protein_coding -32688,PAMR1,ENSG00000149090,protein_coding -32826,DGKZ,ENSG00000149091,protein_coding -32628,EIF3M,ENSG00000149100,protein_coding -33110,TNKS1BP1,ENSG00000149115,protein_coding -33184,GLYAT,ENSG00000149124,protein_coding -33128,SERPING1,ENSG00000149131,protein_coding -33030,OR5F1,ENSG00000149133,protein_coding -33112,SSRP1,ENSG00000149136,protein_coding -33122,SLC43A1,ENSG00000149150,protein_coding -32889,PTPRJ,ENSG00000149177,protein_coding -32847,C11orf49,ENSG00000149179,protein_coding -32850,ARFGAP2,ENSG00000149182,protein_coding -32869,CELF1,ENSG00000149187,protein_coding -34149,HIKESHI,ENSG00000149196,protein_coding -34151,CCDC81,ENSG00000149201,protein_coding -34365,SESN3,ENSG00000149212,protein_coding -34361,ENDOD1,ENSG00000149218,protein_coding -34379,CCDC82,ENSG00000149231,protein_coding -33974,KLHL35,ENSG00000149243,protein_coding -34063,TENM4,ENSG00000149256,protein_coding -33977,SERPINH1,ENSG00000149257,protein_coding -34021,CAPN5,ENSG00000149260,protein_coding -34042,INTS4,ENSG00000149262,protein_coding -34026,PAK1,ENSG00000149269,protein_coding -33971,RPS3,ENSG00000149273,protein_coding -34545,ZC3H12C,ENSG00000149289,protein_coding -34630,TTC12,ENSG00000149292,protein_coding -34626,NCAM1,ENSG00000149294,protein_coding -34634,DRD2,ENSG00000149295,protein_coding -34589,C11orf52,ENSG00000149300,protein_coding -34650,HTR3B,ENSG00000149305,protein_coding -34519,NPAT,ENSG00000149308,protein_coding -34520,ATM,ENSG00000149311,protein_coding -34488,AASDHPPT,ENSG00000149313,protein_coding -35136,GLB1L2,ENSG00000149328,protein_coding -53532,SLX4IP,ENSG00000149346,protein_coding -33844,LAMTOR1,ENSG00000149357,protein_coding -33925,P4HA3,ENSG00000149380,protein_coding -34845,GRIK4,ENSG00000149403,protein_coding -35077,ST14,ENSG00000149418,protein_coding -34794,HYOU1,ENSG00000149428,protein_coding -53773,GGTLC1,ENSG00000149435,protein_coding -53410,ADAM33,ENSG00000149451,protein_coding -33406,SLC22A8,ENSG00000149452,protein_coding -53632,KAT14,ENSG00000149474,protein_coding -33293,TKFC,ENSG00000149476,protein_coding -33355,MTA2,ENSG00000149480,protein_coding -33296,TMEM138,ENSG00000149483,protein_coding -33320,FADS1,ENSG00000149485,protein_coding -53370,TMC2,ENSG00000149488,protein_coding -33358,ROM1,ENSG00000149489,protein_coding -33356,EML3,ENSG00000149499,protein_coding -33333,INCENP,ENSG00000149503,protein_coding -33273,ZP1,ENSG00000149506,protein_coding -33246,OOSP2,ENSG00000149507,protein_coding -33247,MS4A3,ENSG00000149516,protein_coding -160,PLCH2,ENSG00000149527,protein_coding -33298,CPSF7,ENSG00000149532,protein_coding -33249,MS4A2,ENSG00000149534,protein_coding -33359,B3GAT3,ENSG00000149541,protein_coding -34989,EI24,ENSG00000149547,protein_coding -34977,CCDC15,ENSG00000149548,protein_coding -34992,CHEK1,ENSG00000149554,protein_coding -34987,FEZ1,ENSG00000149557,protein_coding -34963,ESAM,ENSG00000149564,protein_coding -35027,KIRREL3,ENSG00000149571,protein_coding -34741,MPZL2,ENSG00000149573,protein_coding -34737,SCN2B,ENSG00000149575,protein_coding -34711,SIDT2,ENSG00000149577,protein_coding -34756,TMEM25,ENSG00000149582,protein_coding -34712,TAGLN,ENSG00000149591,protein_coding -54211,JPH2,ENSG00000149596,protein_coding -53899,DUSP15,ENSG00000149599,protein_coding -53931,COMMD7,ENSG00000149600,protein_coding -53958,C20orf144,ENSG00000149609,protein_coding -54106,KIAA1755,ENSG00000149633,protein_coding -54299,SPATA25,ENSG00000149634,protein_coding -54324,OCSTAMP,ENSG00000149635,protein_coding -54073,DSN1,ENSG00000149636,protein_coding -54074,SOGA1,ENSG00000149639,protein_coding -54052,CNBD2,ENSG00000149646,protein_coding -54286,SPINT4,ENSG00000149651,protein_coding -54315,CDH22,ENSG00000149654,protein_coding -54617,LSM14B,ENSG00000149657,protein_coding -54678,YTHDF1,ENSG00000149658,protein_coding -54630,CABLES2,ENSG00000149679,protein_coding -33764,LTO1,ENSG00000149716,protein_coding -33500,GPHA2,ENSG00000149735,protein_coding -33416,SLC22A9,ENSG00000149742,protein_coding -33449,TRPT1,ENSG00000149743,protein_coding -33450,NUDT22,ENSG00000149761,protein_coding -33448,FERMT3,ENSG00000149781,protein_coding -33459,PLCB3,ENSG00000149782,protein_coding -33521,MRPL49,ENSG00000149792,protein_coding -33535,CDC42EP2,ENSG00000149798,protein_coding -33519,FAU,ENSG00000149806,protein_coding -33515,TM7SF2,ENSG00000149809,protein_coding -33513,VPS51,ENSG00000149823,protein_coding -47491,TBX6,ENSG00000149922,protein_coding -47490,PPP4C,ENSG00000149923,protein_coding -47488,ALDOA,ENSG00000149925,protein_coding -47486,FAM57B,ENSG00000149926,protein_coding -47484,DOC2A,ENSG00000149927,protein_coding -47482,HIRIP3,ENSG00000149929,protein_coding -47481,TAOK2,ENSG00000149930,protein_coding -47480,TMEM219,ENSG00000149932,protein_coding -39171,HMGA2,ENSG00000149948,protein_coding -34440,MMP3,ENSG00000149968,protein_coding -24819,CNKSR2,ENSG00000149970,protein_coding -34396,CNTN5,ENSG00000149972,protein_coding -37843,KLRF1,ENSG00000150045,protein_coding -37856,CLEC1A,ENSG00000150048,protein_coding -35620,MKX,ENSG00000150051,protein_coding -35627,MPP7,ENSG00000150054,protein_coding -35720,ITGB1,ENSG00000150093,protein_coding -35865,FXYD4,ENSG00000150201,protein_coding -32980,TRIM48,ENSG00000150244,protein_coding -33058,OR8K1,ENSG00000150261,protein_coding -33068,OR5M9,ENSG00000150269,protein_coding -36090,PCDH15,ENSG00000150275,protein_coding -47570,CTF1,ENSG00000150281,protein_coding -34351,CWC15,ENSG00000150316,protein_coding -3085,FCGR1A,ENSG00000150337,protein_coding -36149,ARID5B,ENSG00000150347,protein_coding -41378,KLHL1,ENSG00000150361,protein_coding -48212,CDH8,ENSG00000150394,protein_coding -41900,DCUN1D2,ENSG00000150401,protein_coding -41903,TMCO3,ENSG00000150403,protein_coding -34979,TMEM218,ENSG00000150433,protein_coding -35020,TIRAP,ENSG00000150455,protein_coding -40623,EEF1AKMT1,ENSG00000150456,protein_coding -40631,LATS2,ENSG00000150457,protein_coding -40638,SAP18,ENSG00000150459,protein_coding -13741,ADGRL3,ENSG00000150471,protein_coding -52689,KIAA1328,ENSG00000150477,protein_coding -41200,FAM124A,ENSG00000150510,protein_coding -42629,MIA2,ENSG00000150527,protein_coding -7984,HNMT,ENSG00000150540,protein_coding -7932,LYPD1,ENSG00000150551,protein_coding -8099,LYPD6B,ENSG00000150556,protein_coding -37091,PDCD4,ENSG00000150593,protein_coding -37099,ADRA2A,ENSG00000150594,protein_coding -15280,GPM6A,ENSG00000150625,protein_coding -15284,WDR17,ENSG00000150627,protein_coding -15286,SPATA4,ENSG00000150628,protein_coding -15292,VEGFC,ENSG00000150630,protein_coding -53109,CCDC102B,ENSG00000150636,protein_coding -53125,CD226,ENSG00000150637,protein_coding -53177,CNDP1,ENSG00000150656,protein_coding -44803,FSIP1,ENSG00000150667,protein_coding -34116,DLG2,ENSG00000150672,protein_coding -34137,CCDC83,ENSG00000150676,protein_coding -4247,RGS18,ENSG00000150681,protein_coding -34158,PRSS23,ENSG00000150687,protein_coding -15989,MTMR12,ENSG00000150712,protein_coding -8575,PPP1R1C,ENSG00000150722,protein_coding -34558,C11orf53,ENSG00000150750,protein_coding -15715,CCT5,ENSG00000150753,protein_coding -15713,ATPSCKMT,ENSG00000150756,protein_coding -37357,DOCK1,ENSG00000150760,protein_coding -34590,DIXDC1,ENSG00000150764,protein_coding -34594,DLAT,ENSG00000150768,protein_coding -34598,PIH1D2,ENSG00000150773,protein_coding -34599,NKAPD1,ENSG00000150776,protein_coding -34600,TIMM8B,ENSG00000150779,protein_coding -34603,IL18,ENSG00000150782,protein_coding -34605,TEX12,ENSG00000150783,protein_coding -34610,PTS,ENSG00000150787,protein_coding -35538,PIP4K2A,ENSG00000150867,protein_coding -5653,C2orf50,ENSG00000150873,protein_coding -40953,FREM2,ENSG00000150893,protein_coding -40975,FOXO1,ENSG00000150907,protein_coding -6066,CRIM1,ENSG00000150938,protein_coding -14552,SEC24D,ENSG00000150961,protein_coding -40224,ABCB9,ENSG00000150967,protein_coding -40243,RILPL2,ENSG00000150977,protein_coding -40299,DHX37,ENSG00000150990,protein_coding -40296,UBC,ENSG00000150991,protein_coding -9708,ITPR1,ENSG00000150995,protein_coding -15126,TKTL2,ENSG00000151005,protein_coding -47587,PRSS53,ENSG00000151006,protein_coding -14753,SLC7A11,ENSG00000151012,protein_coding -14764,NOCT,ENSG00000151014,protein_coding -35569,ENKUR,ENSG00000151023,protein_coding -35573,GPR158,ENSG00000151025,protein_coding -35680,LYZL2,ENSG00000151033,protein_coding -37522,CACNA2D4,ENSG00000151062,protein_coding -37527,DCP1B,ENSG00000151065,protein_coding -37528,CACNA1C,ENSG00000151067,protein_coding -37605,KCNA6,ENSG00000151079,protein_coding -10001,THRB,ENSG00000151090,protein_coding -10020,NGLY1,ENSG00000151092,protein_coding -10023,OXSM,ENSG00000151093,protein_coding -32451,UEVLD,ENSG00000151116,protein_coding -32458,TMEM86A,ENSG00000151117,protein_coding -39783,C12orf45,ENSG00000151131,protein_coding -39812,TMEM263,ENSG00000151135,protein_coding -39818,BTBD11,ENSG00000151136,protein_coding -39870,UBE3B,ENSG00000151148,protein_coding -36133,ANK3,ENSG00000151150,protein_coding -36110,IPMK,ENSG00000151151,protein_coding -39905,RAD9B,ENSG00000151164,protein_coding -39981,PLBD2,ENSG00000151176,protein_coding -36455,DLG5,ENSG00000151208,protein_coding -36526,MAT1A,ENSG00000151224,protein_coding -38363,SLC2A13,ENSG00000151229,protein_coding -38387,GXYLT1,ENSG00000151233,protein_coding -38420,TWF1,ENSG00000151239,protein_coding -35157,DIP2C,ENSG00000151240,protein_coding -14269,EIF4E,ENSG00000151247,protein_coding -10819,MAGI1,ENSG00000151276,protein_coding -41757,TEX30,ENSG00000151287,protein_coding -17266,CSNK1G3,ENSG00000151292,protein_coding -17238,SRFBP1,ENSG00000151304,protein_coding -42506,AKAP6,ENSG00000151320,protein_coding -42511,NPAS3,ENSG00000151322,protein_coding -42539,FAM177A1,ENSG00000151327,protein_coding -42575,MBIP,ENSG00000151332,protein_coding -42596,MIPOL1,ENSG00000151338,protein_coding -32776,EXT2,ENSG00000151348,protein_coding -5486,TMEM18,ENSG00000151353,protein_coding -5536,ALLC,ENSG00000151360,protein_coding -34045,KCTD14,ENSG00000151364,protein_coding -34048,THRSP,ENSG00000151365,protein_coding -34049,NDUFC2,ENSG00000151366,protein_coding -34155,ME3,ENSG00000151376,protein_coding -5738,MSGN1,ENSG00000151379,protein_coding -16011,ADAMTS12,ENSG00000151388,protein_coding -42489,NUBPL,ENSG00000151413,protein_coding -4309,NEK7,ENSG00000151414,protein_coding -4312,ATP6V1G3,ENSG00000151418,protein_coding -17066,FER,ENSG00000151422,protein_coding -43377,VIPAS39,ENSG00000151445,protein_coding -14634,ANKRD50,ENSG00000151458,protein_coding -35351,UPF2,ENSG00000151461,protein_coding -35358,CDC123,ENSG00000151465,protein_coding -14672,SCLT1,ENSG00000151466,protein_coding -35369,CCDC3,ENSG00000151468,protein_coding -14675,C4orf33,ENSG00000151470,protein_coding -35393,FRMD4A,ENSG00000151474,protein_coding -14653,SLC25A31,ENSG00000151475,protein_coding -38013,PTPRO,ENSG00000151490,protein_coding -38015,EPS8,ENSG00000151491,protein_coding -35133,ACAD8,ENSG00000151498,protein_coding -35132,THYN1,ENSG00000151500,protein_coding -35131,VPS26B,ENSG00000151502,protein_coding -35128,NCAPD3,ENSG00000151503,protein_coding -37113,VTI1A,ENSG00000151532,protein_coding -13233,QDPR,ENSG00000151552,protein_coding -37156,FAM160B1,ENSG00000151553,protein_coding -39693,ANO4,ENSG00000151572,protein_coding -45254,TEX9,ENSG00000151575,protein_coding -11338,QTRT2,ENSG00000151576,protein_coding -11340,DRD3,ENSG00000151577,protein_coding -14872,MMAA,ENSG00000151611,protein_coding -14876,ZNF827,ENSG00000151612,protein_coding -14890,POU4F2,ENSG00000151615,protein_coding -14900,EDNRA,ENSG00000151617,protein_coding -14912,NR3C2,ENSG00000151623,protein_coding -35229,AKR1C2,ENSG00000151632,protein_coding -37411,DPYSL4,ENSG00000151640,protein_coding -37431,VENTX,ENSG00000151650,protein_coding -37435,ADAM8,ENSG00000151651,protein_coding -35302,ITIH2,ENSG00000151655,protein_coding -35303,KIN,ENSG00000151657,protein_coding -6247,PIGF,ENSG00000151665,protein_coding -8656,ANKAR,ENSG00000151687,protein_coding -8668,INPP1,ENSG00000151689,protein_coding -8669,MFSD6,ENSG00000151690,protein_coding -5569,RNF144A,ENSG00000151692,protein_coding -5600,ASAP2,ENSG00000151693,protein_coding -5605,ADAM17,ENSG00000151694,protein_coding -35049,FLI1,ENSG00000151702,protein_coding -35051,KCNJ1,ENSG00000151704,protein_coding -35067,TMEM45B,ENSG00000151715,protein_coding -15344,WWC2,ENSG00000151718,protein_coding -15383,CENPU,ENSG00000151725,protein_coding -15384,ACSL1,ENSG00000151726,protein_coding -15399,SLC25A4,ENSG00000151729,protein_coding -38276,AMN1,ENSG00000151743,protein_coding -38296,BICD1,ENSG00000151746,protein_coding -42761,SAV1,ENSG00000151748,protein_coding -41037,CCDC122,ENSG00000151773,protein_coding -41052,SERP2,ENSG00000151778,protein_coding -5700,NBAS,ENSG00000151779,protein_coding -9978,ZNF385D,ENSG00000151789,protein_coding -15049,TDO2,ENSG00000151790,protein_coding -13523,GUF1,ENSG00000151806,protein_coding -42906,SLC35F4,ENSG00000151812,protein_coding -13537,GABRA2,ENSG00000151834,protein_coding -40682,SACS,ENSG00000151835,protein_coding -42944,CCDC175,ENSG00000151838,protein_coding -40728,PABPC3,ENSG00000151846,protein_coding -40721,CENPJ,ENSG00000151849,protein_coding -16146,FBXO4,ENSG00000151876,protein_coding -16183,TMEM267,ENSG00000151881,protein_coding -16182,CCL28,ENSG00000151882,protein_coding -16216,PARP8,ENSG00000151883,protein_coding -37164,GFRA1,ENSG00000151892,protein_coding -37207,CACUL1,ENSG00000151893,protein_coding -19980,DST,ENSG00000151914,protein_coding -19984,BEND6,ENSG00000151917,protein_coding -37227,TIAL1,ENSG00000151923,protein_coding -37230,BAG3,ENSG00000151929,protein_coding -40380,GLT1D1,ENSG00000151948,protein_coding -40383,TMEM132D,ENSG00000151952,protein_coding -15021,RBM46,ENSG00000151962,protein_coding -12169,SCHIP1,ENSG00000151967,protein_coding -20458,MCHR2,ENSG00000152034,protein_coding -9269,KCNE4,ENSG00000152049,protein_coding -9276,AP1S3,ENSG00000152056,protein_coding -3977,RABGAP1L,ENSG00000152061,protein_coding -7797,CCDC74B,ENSG00000152076,protein_coding -2356,TMEM56,ENSG00000152078,protein_coding -7799,MZT2B,ENSG00000152082,protein_coding -7800,TUBA3E,ENSG00000152086,protein_coding -4015,ASTN1,ENSG00000152092,protein_coding -7831,CFC1B,ENSG00000152093,protein_coding -7853,FAM168B,ENSG00000152102,protein_coding -4712,PTPN14,ENSG00000152104,protein_coding -7946,MGAT5,ENSG00000152127,protein_coding -7950,TMEM163,ENSG00000152128,protein_coding -6075,GPATCH11,ENSG00000152133,protein_coding -40085,HSPB8,ENSG00000152137,protein_coding -6118,GEMIN6,ENSG00000152147,protein_coding -6139,TMEM178A,ENSG00000152154,protein_coding -41482,POU4F1,ENSG00000152192,protein_coding -41483,RNF219,ENSG00000152193,protein_coding -41144,CYSLTR2,ENSG00000152207,protein_coding -14225,GRID2,ENSG00000152208,protein_coding -41162,ARL11,ENSG00000152213,protein_coding -52729,RIT2,ENSG00000152214,protein_coding -52740,SETBP1,ENSG00000152217,protein_coding -32595,ARL14EP,ENSG00000152219,protein_coding -52756,EPG5,ENSG00000152223,protein_coding -52757,PSTPIP2,ENSG00000152229,protein_coding -52761,ATP5F1A,ENSG00000152234,protein_coding -52762,HAUS1,ENSG00000152240,protein_coding -52764,C18orf25,ENSG00000152242,protein_coding -8328,SPC25,ENSG00000152253,protein_coding -8329,G6PC2,ENSG00000152254,protein_coding -8395,PDK1,ENSG00000152256,protein_coding -32349,PTH,ENSG00000152266,protein_coding -32371,PDE3B,ENSG00000152270,protein_coding -6877,TCF7L1,ENSG00000152284,protein_coding -6882,TGOLN2,ENSG00000152291,protein_coding -6893,SH2D6,ENSG00000152292,protein_coding -43513,KCNK13,ENSG00000152315,protein_coding -3730,UHMK1,ENSG00000152332,protein_coding -16756,ATG10,ENSG00000152348,protein_coding -16629,POC5,ENSG00000152359,protein_coding -17521,SPOCK1,ENSG00000152377,protein_coding -16730,FAM151B,ENSG00000152380,protein_coding -3806,TADA1,ENSG00000152382,protein_coding -34496,GUCY1A2,ENSG00000152402,protein_coding -34501,CWF19L2,ENSG00000152404,protein_coding -16699,JMY,ENSG00000152409,protein_coding -16701,HOMER1,ENSG00000152413,protein_coding -16778,XRCC4,ENSG00000152422,protein_coding -8763,BOLL,ENSG00000152430,protein_coding -57629,ZNF547,ENSG00000152433,protein_coding -57645,ZNF773,ENSG00000152439,protein_coding -57660,ZNF776,ENSG00000152443,protein_coding -57673,ZNF256,ENSG00000152454,protein_coding -35413,SUV39H2,ENSG00000152455,protein_coding -35414,DCLRE1C,ENSG00000152457,protein_coding -35420,OLAH,ENSG00000152463,protein_coding -35424,RPP38,ENSG00000152464,protein_coding -35425,NMT2,ENSG00000152465,protein_coding -57680,ZSCAN1,ENSG00000152467,protein_coding -57712,ZNF837,ENSG00000152475,protein_coding -40765,USP12,ENSG00000152484,protein_coding -12658,CCDC50,ENSG00000152492,protein_coding -17100,CAMK4,ENSG00000152495,protein_coding -17143,TRIM36,ENSG00000152503,protein_coding -6182,ZFP36L2,ENSG00000152518,protein_coding -40798,PAN3,ENSG00000152520,protein_coding -6189,PLEKHH2,ENSG00000152527,protein_coding -38506,PFKM,ENSG00000152556,protein_coding -34425,TMEM123,ENSG00000152558,protein_coding -34481,GRIA4,ENSG00000152578,protein_coding -12031,IGSF10,ENSG00000152580,protein_coding -16041,SPEF2,ENSG00000152582,protein_coding -14158,SPARCL1,ENSG00000152583,protein_coding -14160,DSPP,ENSG00000152591,protein_coding -14161,DMP1,ENSG00000152592,protein_coding -14165,MEPE,ENSG00000152595,protein_coding -12044,MBNL1,ENSG00000152601,protein_coding -16047,CAPSL,ENSG00000152611,protein_coding -16056,NADK2,ENSG00000152620,protein_coding -10084,GPD1L,ENSG00000152642,protein_coding -20754,GJA1,ENSG00000152661,protein_coding -16289,CCNO,ENSG00000152669,protein_coding -16300,DDX4,ENSG00000152670,protein_coding -6646,CLEC4F,ENSG00000152672,protein_coding -6018,SLC30A6,ENSG00000152683,protein_coding -16241,PELO,ENSG00000152684,protein_coding -6043,RASGRP3,ENSG00000152689,protein_coding -17455,SAR1B,ENSG00000152700,protein_coding -17475,CATSPER3,ENSG00000152705,protein_coding -41618,GPR180,ENSG00000152749,protein_coding -1920,TCTEX1D1,ENSG00000152760,protein_coding -1922,WDR78,ENSG00000152763,protein_coding -36656,ANKRD22,ENSG00000152766,protein_coding -41668,FARP1,ENSG00000152767,protein_coding -36676,IFIT5,ENSG00000152778,protein_coding -36677,SLC16A12,ENSG00000152779,protein_coding -36679,PANK1,ENSG00000152782,protein_coding -14056,PRDM8,ENSG00000152784,protein_coding -14060,BMP3,ENSG00000152785,protein_coding -14078,HNRNPDL,ENSG00000152795,protein_coding -36740,HHEX,ENSG00000152804,protein_coding -21094,UTRN,ENSG00000152818,protein_coding -21110,GRM1,ENSG00000152822,protein_coding -20830,PTPRK,ENSG00000152894,protein_coding -5150,GGPS1,ENSG00000152904,protein_coding -48628,CNTNAP4,ENSG00000152910,protein_coding -22738,ZNF117,ENSG00000152926,protein_coding -16355,RAB3C,ENSG00000152932,protein_coding -38146,LMNTD1,ENSG00000152936,protein_coding -16500,MARVELD2,ENSG00000152939,protein_coding -16499,RAD17,ENSG00000152942,protein_coding -38177,MED21,ENSG00000152944,protein_coding -11923,PLOD2,ENSG00000152952,protein_coding -13006,STK32B,ENSG00000152953,protein_coding -18869,NRSN1,ENSG00000152954,protein_coding -13015,JAKMIP1,ENSG00000152969,protein_coding -11939,ZIC1,ENSG00000152977,protein_coding -13270,ADGRA3,ENSG00000152990,protein_coding -11954,CPB1,ENSG00000153002,protein_coding -16419,SREK1IP1,ENSG00000153006,protein_coding -13291,LGI2,ENSG00000153012,protein_coding -16420,CWC27,ENSG00000153015,protein_coding -4094,MR1,ENSG00000153029,protein_coding -17126,SRP19,ENSG00000153037,protein_coding -16490,CENPH,ENSG00000153044,protein_coding -18594,CDYL,ENSG00000153046,protein_coding -46877,CARHSP1,ENSG00000153048,protein_coding -46911,TEKT5,ENSG00000153060,protein_coding -14315,BANK1,ENSG00000153064,protein_coding -46952,TXNDC11,ENSG00000153066,protein_coding -16113,DAB2,ENSG00000153071,protein_coding -7955,ACMSD,ENSG00000153086,protein_coding -7500,ACOXL,ENSG00000153093,protein_coding -7504,BCL2L11,ENSG00000153094,protein_coding -7520,ANAPC1,ENSG00000153107,protein_coding -16942,CAST,ENSG00000153113,protein_coding -14794,SCOC,ENSG00000153130,protein_coding -14798,CLGN,ENSG00000153132,protein_coding -16857,CETN3,ENSG00000153140,protein_coding -14837,SMARCA5,ENSG00000153147,protein_coding -18700,SYCP2L,ENSG00000153157,protein_coding -18653,BMP6,ENSG00000153162,protein_coding -7400,RGPD3,ENSG00000153165,protein_coding -39138,RASSF3,ENSG00000153179,protein_coding -5319,HNRNPU,ENSG00000153187,protein_coding -7443,RANBP2,ENSG00000153201,protein_coding -5358,AHCTF1,ENSG00000153207,protein_coding -7527,MERTK,ENSG00000153208,protein_coding -7532,TMEM87B,ENSG00000153214,protein_coding -5401,OR14K1,ENSG00000153230,protein_coding -39277,PTPRR,ENSG00000153233,protein_coding -8179,NR4A2,ENSG00000153234,protein_coding -8204,CCDC148,ENSG00000153237,protein_coding -8238,PLA2R1,ENSG00000153246,protein_coding -8242,RBMS1,ENSG00000153250,protein_coding -8294,SCN3A,ENSG00000153253,protein_coding -10779,FEZF2,ENSG00000153266,protein_coding -11269,CD96,ENSG00000153283,protein_coding -19826,SLC25A27,ENSG00000153291,protein_coding -19835,ADGRF1,ENSG00000153292,protein_coding -19844,ADGRF4,ENSG00000153294,protein_coding -21480,FRMD1,ENSG00000153303,protein_coding -29157,FAM49B,ENSG00000153310,protein_coding -29165,ASAP1,ENSG00000153317,protein_coding -52604,TRAPPC8,ENSG00000153339,protein_coding -16915,FAM81B,ENSG00000153347,protein_coding -52666,INO80C,ENSG00000153391,protein_coding -15558,LPCAT1,ENSG00000153395,protein_coding -15504,PLEKHG4B,ENSG00000153404,protein_coding -46796,NMRAL1,ENSG00000153406,protein_coding -46803,UBALD1,ENSG00000153443,protein_coding -46828,C16orf89,ENSG00000153446,protein_coding -43575,TMEM251,ENSG00000153485,protein_coding -41841,ING1,ENSG00000153487,protein_coding -41859,TEX29,ENSG00000153495,protein_coding -41871,SPACA7,ENSG00000153498,protein_coding -41899,ADPRHL1,ENSG00000153531,protein_coding -10091,CMTM7,ENSG00000153551,protein_coding -10114,FBXL2,ENSG00000153558,protein_coding -10115,UBP1,ENSG00000153560,protein_coding -6937,RMND5A,ENSG00000153561,protein_coding -6938,CD8A,ENSG00000153563,protein_coding -6991,RPIA,ENSG00000153574,protein_coding -44542,GOLGA8F,ENSG00000153684,protein_coding -29606,PTPRD,ENSG00000153707,protein_coding -29632,LURAP1L,ENSG00000153714,protein_coding -21258,CNKSR3,ENSG00000153721,protein_coding -11432,GTF2E1,ENSG00000153767,protein_coding -48594,CFDP1,ENSG00000153774,protein_coding -25864,TGIF2LX,ENSG00000153779,protein_coding -48797,ZDHHC7,ENSG00000153786,protein_coding -48799,FAM92B,ENSG00000153789,protein_coding -21945,C7orf31,ENSG00000153790,protein_coding -13802,TMPRSS11D,ENSG00000153802,protein_coding -22034,JAZF1,ENSG00000153814,protein_coding -48725,CMIP,ENSG00000153815,protein_coding -9330,SPHKAP,ENSG00000153820,protein_coding -51577,KCNJ16,ENSG00000153822,protein_coding -9337,PID1,ENSG00000153823,protein_coding -9344,TRIP12,ENSG00000153827,protein_coding -9346,FBXO36,ENSG00000153832,protein_coding -56177,CEBPG,ENSG00000153879,protein_coding -56182,KCTD15,ENSG00000153885,protein_coding -56214,ZNF599,ENSG00000153896,protein_coding -2158,MCOLN2,ENSG00000153898,protein_coding -56238,LGI4,ENSG00000153902,protein_coding -2168,DDAH1,ENSG00000153904,protein_coding -16443,SREK1,ENSG00000153914,protein_coding -16983,CHD1,ENSG00000153922,protein_coding -51162,ANKFN1,ENSG00000153930,protein_coding -51169,DGKE,ENSG00000153933,protein_coding -2195,HS2ST1,ENSG00000153936,protein_coding -51187,MSI2,ENSG00000153944,protein_coding -23074,CACNA2D1,ENSG00000153956,protein_coding -20703,ZUP1,ENSG00000153975,protein_coding -49509,HS3ST3A1,ENSG00000153976,protein_coding -51263,GDPD1,ENSG00000153982,protein_coding -20722,NUS1,ENSG00000153989,protein_coding -23093,SEMA3D,ENSG00000153993,protein_coding -43006,PPP2R5E,ENSG00000154001,protein_coding -2044,ASB17,ENSG00000154007,protein_coding -49736,GRAP,ENSG00000154016,protein_coding -49732,SLC5A10,ENSG00000154025,protein_coding -2060,AK5,ENSG00000154027,protein_coding -52502,CABYR,ENSG00000154040,protein_coding -52511,IMPACT,ENSG00000154059,protein_coding -52491,ANKRD29,ENSG00000154065,protein_coding -20081,SDHAF4,ENSG00000154079,protein_coding -52555,CHST9,ENSG00000154080,protein_coding -34821,THY1,ENSG00000154096,protein_coding -48774,DNAAF1,ENSG00000154099,protein_coding -48813,C16orf74,ENSG00000154102,protein_coding -34849,TBCEL,ENSG00000154114,protein_coding -48884,JPH3,ENSG00000154118,protein_coding -15765,ANKH,ENSG00000154122,protein_coding -15764,OTULIN,ENSG00000154124,protein_coding -34875,UBASH3B,ENSG00000154127,protein_coding -34971,ROBO4,ENSG00000154133,protein_coding -34970,ROBO3,ENSG00000154134,protein_coding -34955,PANX3,ENSG00000154143,protein_coding -34956,TBRG1,ENSG00000154144,protein_coding -34960,NRGN,ENSG00000154146,protein_coding -15790,RETREG1,ENSG00000154153,protein_coding -15871,CDH12,ENSG00000154162,protein_coding -11115,GPR15,ENSG00000154165,protein_coding -11145,TOMM70,ENSG00000154174,protein_coding -11152,ABI3BP,ENSG00000154175,protein_coding -28897,ANGPT1,ENSG00000154188,protein_coding -51509,PITPNC1,ENSG00000154217,protein_coding -1649,CC2D1B,ENSG00000154222,protein_coding -46374,CERS3,ENSG00000154227,protein_coding -51487,PRKCA,ENSG00000154229,protein_coding -46394,LRRK1,ENSG00000154237,protein_coding -51480,CEP112,ENSG00000154240,protein_coding -9648,GAL3ST2,ENSG00000154252,protein_coding -51557,ABCA9,ENSG00000154258,protein_coding -51558,ABCA6,ENSG00000154262,protein_coding -51562,ABCA10,ENSG00000154263,protein_coding -51565,ABCA5,ENSG00000154265,protein_coding -20862,ENPP3,ENSG00000154269,protein_coding -13390,C4orf19,ENSG00000154274,protein_coding -13477,UCHL1,ENSG00000154277,protein_coding -4819,MIA3,ENSG00000154305,protein_coding -4828,DISP1,ENSG00000154309,protein_coding -12311,TNIK,ENSG00000154310,protein_coding -27267,FAM167A,ENSG00000154319,protein_coding -27275,NEIL2,ENSG00000154328,protein_coding -30412,PGM5,ENSG00000154330,protein_coding -4949,WNT3A,ENSG00000154342,protein_coding -4964,OBSCN,ENSG00000154358,protein_coding -27338,LONRF1,ENSG00000154359,protein_coding -4970,TRIM11,ENSG00000154370,protein_coding -4876,ENAH,ENSG00000154380,protein_coding -23628,PPP1R3A,ENSG00000154415,protein_coding -5019,CCSAP,ENSG00000154429,protein_coding -23688,ASZ1,ENSG00000154438,protein_coding -15200,SH3RF1,ENSG00000154447,protein_coding -2230,GBP5,ENSG00000154451,protein_coding -37292,BUB3,ENSG00000154473,protein_coding -37299,GPR26,ENSG00000154478,protein_coding -8341,CCDC173,ENSG00000154479,protein_coding -37339,MMP21,ENSG00000154485,protein_coding -37354,C10orf90,ENSG00000154493,protein_coding -2298,DIPK1A,ENSG00000154511,protein_coding -8448,ATP5MC3,ENSG00000154518,protein_coding -30205,CNTNAP3B,ENSG00000154529,protein_coding -25334,MAGED4,ENSG00000154545,protein_coding -20353,SRSF12,ENSG00000154548,protein_coding -15410,PDLIM3,ENSG00000154553,protein_coding -15411,SORBS2,ENSG00000154556,protein_coding -28354,ELOC,ENSG00000154582,protein_coding -28358,LY96,ENSG00000154589,protein_coding -52534,PSMA8,ENSG00000154611,protein_coding -57937,TMSB4Y,ENSG00000154620,protein_coding -59881,CXADR,ENSG00000154639,protein_coding -59885,BTG3,ENSG00000154640,protein_coding -59890,C21orf91,ENSG00000154642,protein_coding -59894,CHODL,ENSG00000154645,protein_coding -59896,TMPRSS15,ENSG00000154646,protein_coding -59924,NCAM2,ENSG00000154654,protein_coding -52176,L3MBTL4,ENSG00000154655,protein_coding -22107,PDE1C,ENSG00000154678,protein_coding -22799,RABGEF1,ENSG00000154710,protein_coding -59977,MRPL39,ENSG00000154719,protein_coding -59978,JAM2,ENSG00000154721,protein_coding -59982,ATP5PF,ENSG00000154723,protein_coding -59983,GABPA,ENSG00000154727,protein_coding -59997,ADAMTS1,ENSG00000154734,protein_coding -59999,ADAMTS5,ENSG00000154736,protein_coding -9841,TSEN2,ENSG00000154743,protein_coding -50302,SLFN13,ENSG00000154760,protein_coding -9866,WNT7A,ENSG00000154764,protein_coding -9876,XPC,ENSG00000154767,protein_coding -9887,CCDC174,ENSG00000154781,protein_coding -9892,FGD5,ENSG00000154783,protein_coding -49642,FLCN,ENSG00000154803,protein_coding -9926,DPH3,ENSG00000154813,protein_coding -9927,OXNAD1,ENSG00000154814,protein_coding -9940,PLCL2,ENSG00000154822,protein_coding -52859,CXXC1,ENSG00000154832,protein_coding -52863,SKA1,ENSG00000154839,protein_coding -52243,PPP4R1,ENSG00000154845,protein_coding -52267,APCDD1,ENSG00000154856,protein_coding -52277,PIEZO2,ENSG00000154864,protein_coding -52303,MPPE1,ENSG00000154889,protein_coding -49440,USP43,ENSG00000154914,protein_coding -11739,RAB6B,ENSG00000154917,protein_coding -51077,EME1,ENSG00000154920,protein_coding -11755,EPHB1,ENSG00000154928,protein_coding -53788,ACSS1,ENSG00000154930,protein_coding -51096,ANKRD40,ENSG00000154945,protein_coding -49488,ZNF18,ENSG00000154957,protein_coding -51127,CA10,ENSG00000154975,protein_coding -22487,VOPP1,ENSG00000154978,protein_coding -22503,SEPT14,ENSG00000154997,protein_coding -25822,APOOL,ENSG00000155008,protein_coding -14387,DKK2,ENSG00000155011,protein_coding -14395,CYP2U1,ENSG00000155016,protein_coding -21679,RSPH10B,ENSG00000155026,protein_coding -21665,FBXL18,ENSG00000155034,protein_coding -7704,CNTNAP5,ENSG00000155052,protein_coding -7145,PROM2,ENSG00000155066,protein_coding -20587,AK9,ENSG00000155085,protein_coding -28825,ODF1,ENSG00000155087,protein_coding -28827,KLF10,ENSG00000155090,protein_coding -24537,PTPRN2,ENSG00000155093,protein_coding -28831,AZIN1,ENSG00000155096,protein_coding -28839,ATP6V1C1,ENSG00000155097,protein_coding -28588,PIP4P2,ENSG00000155099,protein_coding -28592,OTUD6B,ENSG00000155100,protein_coding -20602,CDK19,ENSG00000155111,protein_coding -20613,GTF3C6,ENSG00000155115,protein_coding -29666,TTC39B,ENSG00000155158,protein_coding -27070,AGPAT5,ENSG00000155189,protein_coding -36845,MMS19,ENSG00000155229,protein_coding -42015,OR4K1,ENSG00000155249,protein_coding -36852,PI4K2A,ENSG00000155252,protein_coding -36854,MARVELD1,ENSG00000155254,protein_coding -36855,ZFYVE27,ENSG00000155256,protein_coding -36858,GOLGA7B,ENSG00000155265,protein_coding -13068,GPR78,ENSG00000155269,protein_coding -13065,TRMT44,ENSG00000155275,protein_coding -36879,SLC25A28,ENSG00000155287,protein_coding -59835,HSPA13,ENSG00000155304,protein_coding -59836,SAMSN1,ENSG00000155307,protein_coding -59857,USP25,ENSG00000155313,protein_coding -17293,GRAMD2B,ENSG00000155324,protein_coding -17412,ZCCHC10,ENSG00000155329,protein_coding -47865,C16orf87,ENSG00000155330,protein_coding -2661,MOV10,ENSG00000155363,protein_coding -2663,RHOC,ENSG00000155366,protein_coding -2665,PPM1J,ENSG00000155367,protein_coding -7647,DBI,ENSG00000155368,protein_coding -2672,SLC16A1,ENSG00000155380,protein_coding -47942,HEATR3,ENSG00000155393,protein_coding -22865,TRIM74,ENSG00000155428,protein_coding -7689,NIFK,ENSG00000155438,protein_coding -42279,OXA1L,ENSG00000155463,protein_coding -42280,SLC7A7,ENSG00000155465,protein_coding -26657,MAGEC1,ENSG00000155495,protein_coding -17969,LARP1,ENSG00000155506,protein_coding -17975,CNOT8,ENSG00000155508,protein_coding -17949,GRIA1,ENSG00000155511,protein_coding -23957,LRGUK,ENSG00000155530,protein_coding -16330,SETD9,ENSG00000155542,protein_coding -16331,MIER3,ENSG00000155545,protein_coding -23983,NUP205,ENSG00000155561,protein_coding -47321,ZKSCAN2,ENSG00000155592,protein_coding -30460,C9orf85,ENSG00000155621,protein_coding -25340,XAGE2,ENSG00000155622,protein_coding -36819,PIK3AP1,ENSG00000155629,protein_coding -8522,RBM45,ENSG00000155636,protein_coding -8532,TTN,ENSG00000155657,protein_coding -25527,VSIG4,ENSG00000155659,protein_coding -24338,PDIA4,ENSG00000155660,protein_coding -47342,KDM8,ENSG00000155666,protein_coding -47237,PDZD9,ENSG00000155714,protein_coding -47228,OTOA,ENSG00000155719,protein_coding -8788,KCTD18,ENSG00000155729,protein_coding -8809,FAM126B,ENSG00000155744,protein_coding -8828,FLACC1,ENSG00000155749,protein_coding -8833,C2CD6,ENSG00000155754,protein_coding -8841,TMEM237,ENSG00000155755,protein_coding -8853,FZD7,ENSG00000155760,protein_coding -2785,SPAG17,ENSG00000155761,protein_coding -29004,DEPTOR,ENSG00000155792,protein_coding -5229,FMN2,ENSG00000155816,protein_coding -30976,RNF20,ENSG00000155827,protein_coding -30987,CYLC2,ENSG00000155833,protein_coding -17875,PPARGC1B,ENSG00000155846,protein_coding -22197,ELMO1,ENSG00000155849,protein_coding -17880,SLC26A2,ENSG00000155850,protein_coding -18016,LSM11,ENSG00000155858,protein_coding -17996,MED7,ENSG00000155868,protein_coding -29698,SAXO1,ENSG00000155875,protein_coding -29700,RRAGA,ENSG00000155876,protein_coding -29717,SLC24A2,ENSG00000155886,protein_coding -11845,TRIM42,ENSG00000155890,protein_coding -11852,PXYLP1,ENSG00000155893,protein_coding -29172,ADCY8,ENSG00000155897,protein_coding -11859,RASA2,ENSG00000155903,protein_coding -21217,RMND1,ENSG00000155906,protein_coding -21186,RAET1L,ENSG00000155918,protein_coding -29193,SLA,ENSG00000155926,protein_coding -39182,TMBIM4,ENSG00000155957,protein_coding -26952,VBP1,ENSG00000155959,protein_coding -26954,RAB39B,ENSG00000155961,protein_coding -26955,CLIC2,ENSG00000155962,protein_coding -26740,AFF2,ENSG00000155966,protein_coding -27383,MICU3,ENSG00000155970,protein_coding -39190,GRIP1,ENSG00000155974,protein_coding -27388,VPS37A,ENSG00000155975,protein_coding -39012,KIF5A,ENSG00000155980,protein_coding -27419,NAT2,ENSG00000156006,protein_coding -26767,MAGEA8,ENSG00000156009,protein_coding -27420,PSD3,ENSG00000156011,protein_coding -30497,CARNMT1,ENSG00000156017,protein_coding -36327,MCU,ENSG00000156026,protein_coding -43248,ELMSAN1,ENSG00000156030,protein_coding -36352,CFAP70,ENSG00000156042,protein_coding -30527,GNA14,ENSG00000156049,protein_coding -43261,FAM161B,ENSG00000156050,protein_coding -30531,GNAQ,ENSG00000156052,protein_coding -39157,WIF1,ENSG00000156076,protein_coding -13864,UGT2B4,ENSG00000156096,protein_coding -2550,GPR61,ENSG00000156097,protein_coding -28561,MMP16,ENSG00000156103,protein_coding -36396,ADK,ENSG00000156110,protein_coding -36443,KCNMA1,ENSG00000156113,protein_coding -43317,BATF,ENSG00000156127,protein_coding -13903,DCK,ENSG00000156136,protein_coding -13911,ADAMTS3,ENSG00000156140,protein_coding -2576,ALX3,ENSG00000156150,protein_coding -28659,DPY19L4,ENSG00000156162,protein_coding -28665,NDUFAF6,ENSG00000156170,protein_coding -2612,DRAM2,ENSG00000156171,protein_coding -28678,C8orf37,ENSG00000156172,protein_coding -13977,PPEF2,ENSG00000156194,protein_coding -45916,CFAP161,ENSG00000156206,protein_coding -45987,ADAMTSL3,ENSG00000156218,protein_coding -13982,ART3,ENSG00000156219,protein_coding -46033,SLC28A1,ENSG00000156222,protein_coding -45968,WHAMM,ENSG00000156232,protein_coding -14019,CXCL13,ENSG00000156234,protein_coding -60016,N6AMT1,ENSG00000156239,protein_coding -60021,RWDD2B,ENSG00000156253,protein_coding -60023,USP16,ENSG00000156256,protein_coding -60024,CCT8,ENSG00000156261,protein_coding -60027,MAP3K7CL,ENSG00000156265,protein_coding -14044,NAA11,ENSG00000156269,protein_coding -60033,BACH1,ENSG00000156273,protein_coding -60044,CLDN17,ENSG00000156282,protein_coding -60046,CLDN8,ENSG00000156284,protein_coding -25008,TSPAN7,ENSG00000156298,protein_coding -60093,TIAM1,ENSG00000156299,protein_coding -60102,SCAF4,ENSG00000156304,protein_coding -25001,RPGR,ENSG00000156313,protein_coding -30666,CDK20,ENSG00000156345,protein_coding -37005,PCGF6,ENSG00000156374,protein_coding -43893,ANKRD9,ENSG00000156381,protein_coding -37030,SFR1,ENSG00000156384,protein_coding -37044,SORCS3,ENSG00000156395,protein_coding -36983,SFXN2,ENSG00000156398,protein_coding -43952,ATP5MPL,ENSG00000156411,protein_coding -55069,FUT6,ENSG00000156413,protein_coding -43953,TDRD9,ENSG00000156414,protein_coding -18176,FGF18,ENSG00000156427,protein_coding -17740,PCDH1,ENSG00000156453,protein_coding -17792,SH3RF2,ENSG00000156463,protein_coding -28687,GDF6,ENSG00000156466,protein_coding -28688,UQCRB,ENSG00000156467,protein_coding -28690,MTERF3,ENSG00000156469,protein_coding -28691,PTDSS1,ENSG00000156471,protein_coding -17810,PPP2R2B,ENSG00000156475,protein_coding -28712,RPL30,ENSG00000156482,protein_coding -28724,KCNS2,ENSG00000156486,protein_coding -26519,FAM122C,ENSG00000156500,protein_coding -36247,SUPV3L1,ENSG00000156502,protein_coding -26518,FAM122B,ENSG00000156504,protein_coding -20142,EEF1A1,ENSG00000156508,protein_coding -28756,FBXO43,ENSG00000156509,protein_coding -36249,HKDC1,ENSG00000156510,protein_coding -36251,HK1,ENSG00000156515,protein_coding -36272,TYSND1,ENSG00000156521,protein_coding -26502,PHF6,ENSG00000156531,protein_coding -20148,CD109,ENSG00000156535,protein_coding -19654,LRFN2,ENSG00000156564,protein_coding -36281,NODAL,ENSG00000156574,protein_coding -33114,PRG3,ENSG00000156575,protein_coding -33126,UBE2L6,ENSG00000156587,protein_coding -33133,ZDHHC5,ENSG00000156599,protein_coding -33134,MED19,ENSG00000156603,protein_coding -19616,ZFAND3,ENSG00000156639,protein_coding -45664,NPTN,ENSG00000156642,protein_coding -36408,KAT6B,ENSG00000156650,protein_coding -36415,SAMD8,ENSG00000156671,protein_coding -27778,RAB11FIP1,ENSG00000156675,protein_coding -27738,UNC5D,ENSG00000156687,protein_coding -33188,GLYATL2,ENSG00000156689,protein_coding -26426,UTP14A,ENSG00000156697,protein_coding -26429,AIFM1,ENSG00000156709,protein_coding -19566,MAPK13,ENSG00000156711,protein_coding -27796,BAG4,ENSG00000156735,protein_coding -33259,MS4A1,ENSG00000156738,protein_coding -29035,TBC1D31,ENSG00000156787,protein_coding -29056,WDYHV1,ENSG00000156795,protein_coding -29050,ATAD2,ENSG00000156802,protein_coding -29058,FBXO32,ENSG00000156804,protein_coding -29097,NSMCE2,ENSG00000156831,protein_coding -47543,ZNF689,ENSG00000156853,protein_coding -47547,PRR14,ENSG00000156858,protein_coding -47548,FBRS,ENSG00000156860,protein_coding -2406,FRRS1,ENSG00000156869,protein_coding -47557,PHKG2,ENSG00000156873,protein_coding -2416,MFSD14A,ENSG00000156875,protein_coding -2418,SASS6,ENSG00000156876,protein_coding -47612,COX6A2,ENSG00000156885,protein_coding -47610,ITGAD,ENSG00000156886,protein_coding -26580,ADGRG4,ENSG00000156920,protein_coding -26606,ZIC3,ENSG00000156925,protein_coding -21912,MALSU1,ENSG00000156928,protein_coding -12549,VPS8,ENSG00000156931,protein_coding -45118,GALK2,ENSG00000156958,protein_coding -9761,LHFPL4,ENSG00000156959,protein_coding -9387,B3GNT7,ENSG00000156966,protein_coding -47051,MPV17L,ENSG00000156968,protein_coding -44820,BUB1B,ENSG00000156970,protein_coding -9409,PDE6D,ENSG00000156973,protein_coding -12591,EIF4A2,ENSG00000156976,protein_coding -9766,BRPF1,ENSG00000156983,protein_coding -9774,RPUSD3,ENSG00000156990,protein_coding -12616,SST,ENSG00000157005,protein_coding -9798,TATDN2,ENSG00000157014,protein_coding -9801,GHRL,ENSG00000157017,protein_coding -9804,SEC13,ENSG00000157020,protein_coding -10189,EXOG,ENSG00000157036,protein_coding -47038,NTAN1,ENSG00000157045,protein_coding -4130,SHCBP1L,ENSG00000157060,protein_coding -4140,NMNAT2,ENSG00000157064,protein_coding -1641,ZFYVE9,ENSG00000157077,protein_coding -9805,ATP2B2,ENSG00000157087,protein_coding -10268,LYZL4,ENSG00000157093,protein_coding -9814,SLC6A1,ENSG00000157103,protein_coding -47138,SMG1,ENSG00000157106,protein_coding -16569,FCHO2,ENSG00000157107,protein_coding -27675,RBPMS,ENSG00000157110,protein_coding -16572,TMEM171,ENSG00000157111,protein_coding -10279,KLHL40,ENSG00000157119,protein_coding -1775,C8A,ENSG00000157131,protein_coding -9836,TIMP4,ENSG00000157150,protein_coding -9834,SYN2,ENSG00000157152,protein_coding -27698,NRG1,ENSG00000157168,protein_coding -4199,ODR4,ENSG00000157181,protein_coding -1685,CPT2,ENSG00000157184,protein_coding -556,NECAP2,ENSG00000157191,protein_coding -1691,LRP8,ENSG00000157193,protein_coding -1719,CDCP2,ENSG00000157211,protein_coding -24479,PAXIP1,ENSG00000157212,protein_coding -23141,STEAP2,ENSG00000157214,protein_coding -1723,SSBP3,ENSG00000157216,protein_coding -24484,HTR5A,ENSG00000157219,protein_coding -23149,CLDN12,ENSG00000157224,protein_coding -42282,MMP14,ENSG00000157227,protein_coding -23157,FZD1,ENSG00000157240,protein_coding -23177,GATAD1,ENSG00000157259,protein_coding -30773,SUSD3,ENSG00000157303,protein_coding -48423,TMED6,ENSG00000157315,protein_coding -48440,CLEC18A,ENSG00000157322,protein_coding -42345,DHRS4,ENSG00000157326,protein_coding -441,C1orf158,ENSG00000157330,protein_coding -48449,CLEC18C,ENSG00000157335,protein_coding -19555,ARMC12,ENSG00000157343,protein_coding -48455,DDX19B,ENSG00000157349,protein_coding -48460,ST3GAL2,ENSG00000157350,protein_coding -48464,FCSK,ENSG00000157353,protein_coding -48469,IL34,ENSG00000157368,protein_coding -42386,DHRS1,ENSG00000157379,protein_coding -10673,CACNA1D,ENSG00000157388,protein_coding -24598,ARSE,ENSG00000157399,protein_coding -13645,KIT,ENSG00000157404,protein_coding -48480,HYDIN,ENSG00000157423,protein_coding -13683,AASDH,ENSG00000157426,protein_coding -48494,ZNF19,ENSG00000157429,protein_coding -10687,CACNA2D3,ENSG00000157445,protein_coding -45319,RNF111,ENSG00000157450,protein_coding -45325,CCNB2,ENSG00000157456,protein_coding -45335,FAM81A,ENSG00000157470,protein_coding -45328,MYO1E,ENSG00000157483,protein_coding -10715,APPL1,ENSG00000157500,protein_coding -26087,PWWP3B,ENSG00000157502,protein_coding -17856,AFAP1L1,ENSG00000157510,protein_coding -26112,TSC22D3,ENSG00000157514,protein_coding -60243,VPS26C,ENSG00000157538,protein_coding -60247,DYRK1A,ENSG00000157540,protein_coding -60249,KCNJ6,ENSG00000157542,protein_coding -60254,KCNJ15,ENSG00000157551,protein_coding -60260,ERG,ENSG00000157554,protein_coding -60264,ETS2,ENSG00000157557,protein_coding -32787,TSPAN18,ENSG00000157570,protein_coding -60290,LCA5L,ENSG00000157578,protein_coding -19794,SLC35B2,ENSG00000157593,protein_coding -26143,TMEM164,ENSG00000157600,protein_coding -60317,MX1,ENSG00000157601,protein_coding -32825,CREB3L1,ENSG00000157613,protein_coding -60334,C2CD2,ENSG00000157617,protein_coding -24933,TAB3,ENSG00000157625,protein_coding -51926,SLC38A10,ENSG00000157637,protein_coding -31160,C9orf43,ENSG00000157653,protein_coding -31084,PALM2-AKAP2,ENSG00000157654,protein_coding -31168,ZNF618,ENSG00000157657,protein_coding -24010,DGKI,ENSG00000157680,protein_coding -31181,TMEM268,ENSG00000157693,protein_coding -24030,SVOPL,ENSG00000157703,protein_coding -45431,SNX22,ENSG00000157734,protein_coding -24047,UBN2,ENSG00000157741,protein_coding -24081,BRAF,ENSG00000157764,protein_coding -13304,SLC34A2,ENSG00000157765,protein_coding -46096,ACAN,ENSG00000157766,protein_coding -21595,PSMG3,ENSG00000157778,protein_coding -40137,CABP1,ENSG00000157782,protein_coding -13423,WDR19,ENSG00000157796,protein_coding -24068,SLC37A3,ENSG00000157800,protein_coding -46135,AP3S2,ENSG00000157823,protein_coding -8138,FMNL2,ENSG00000157827,protein_coding -5880,GAREM2,ENSG00000157833,protein_coding -40147,SPPL3,ENSG00000157837,protein_coding -5896,DPYSL5,ENSG00000157851,protein_coding -5886,DRC1,ENSG00000157856,protein_coding -13177,RAB28,ENSG00000157869,protein_coding -170,PRXL2B,ENSG00000157870,protein_coding -167,TNFRSF14,ENSG00000157873,protein_coding -163,PANK4,ENSG00000157881,protein_coding -5889,CIB4,ENSG00000157884,protein_coding -45498,MEGF11,ENSG00000157890,protein_coding -40154,C12orf43,ENSG00000157895,protein_coding -159,PEX10,ENSG00000157911,protein_coding -158,RER1,ENSG00000157916,protein_coding -21643,RADIL,ENSG00000157927,protein_coding -152,SKI,ENSG00000157933,protein_coding -21657,WIPI2,ENSG00000157954,protein_coding -824,LDLRAP1,ENSG00000157978,protein_coding -9505,AGAP1,ENSG00000157985,protein_coding -5932,KRTCAP3,ENSG00000157992,protein_coding -21685,ANKRD61,ENSG00000157999,protein_coding -841,PAFAH2,ENSG00000158006,protein_coding -845,EXTL1,ENSG00000158008,protein_coding -846,SLC30A2,ENSG00000158014,protein_coding -5949,BABAM2,ENSG00000158019,protein_coding -848,TRIM63,ENSG00000158022,protein_coding -40190,WDR66,ENSG00000158023,protein_coding -32185,MRPL17,ENSG00000158042,protein_coding -7187,DUSP2,ENSG00000158050,protein_coding -789,GRHL3,ENSG00000158055,protein_coding -861,UBXN11,ENSG00000158062,protein_coding -32201,NLRP14,ENSG00000158077,protein_coding -30791,PTPDC1,ENSG00000158079,protein_coding -5999,GALNT14,ENSG00000158089,protein_coding -11781,NCK1,ENSG00000158092,protein_coding -40182,HPD,ENSG00000158104,protein_coding -29344,RHPN1,ENSG00000158106,protein_coding -194,TPRG1L,ENSG00000158109,protein_coding -40195,LRRC43,ENSG00000158113,protein_coding -30863,PRXL2C,ENSG00000158122,protein_coding -6005,XDH,ENSG00000158125,protein_coding -943,XKR8,ENSG00000158156,protein_coding -7203,CNNM4,ENSG00000158158,protein_coding -944,EYA3,ENSG00000158161,protein_coding -11794,DZIP1L,ENSG00000158163,protein_coding -26003,TMSB15A,ENSG00000158164,protein_coding -30826,FANCC,ENSG00000158169,protein_coding -11801,MRAS,ENSG00000158186,protein_coding -916,WASF2,ENSG00000158195,protein_coding -52443,ABHD3,ENSG00000158201,protein_coding -11802,ESYT3,ENSG00000158220,protein_coding -11805,FAIM,ENSG00000158234,protein_coding -897,TENT5B,ENSG00000158246,protein_coding -11840,CLSTN2,ENSG00000158258,protein_coding -52065,COLEC12,ENSG00000158270,protein_coding -238,RNF207,ENSG00000158286,protein_coding -26310,CUL4B,ENSG00000158290,protein_coding -242,GPR153,ENSG00000158292,protein_coding -54325,SLC13A3,ENSG00000158296,protein_coding -26014,GPRASP2,ENSG00000158301,protein_coding -1251,RHBDL2,ENSG00000158315,protein_coding -22843,AUTS2,ENSG00000158321,protein_coding -25303,SHROOM4,ENSG00000158352,protein_coding -18943,HIST1H2BD,ENSG00000158373,protein_coding -17544,CDC25C,ENSG00000158402,protein_coding -18968,HIST1H4H,ENSG00000158406,protein_coding -7272,MITD1,ENSG00000158411,protein_coding -7277,EIF5B,ENSG00000158417,protein_coding -25399,RIBC1,ENSG00000158423,protein_coding -26067,TMSB15B,ENSG00000158427,protein_coding -9142,CATIP,ENSG00000158428,protein_coding -7306,CNOT11,ENSG00000158435,protein_coding -54389,KCNB1,ENSG00000158445,protein_coding -23862,TSPAN33,ENSG00000158457,protein_coding -17601,NRG2,ENSG00000158458,protein_coding -23866,AHCYL2,ENSG00000158467,protein_coding -54392,B4GALT5,ENSG00000158470,protein_coding -3537,CD1D,ENSG00000158473,protein_coding -3540,CD1A,ENSG00000158477,protein_coding -54398,SPATA2,ENSG00000158480,protein_coding -3542,CD1C,ENSG00000158481,protein_coding -33825,FAM86C1,ENSG00000158483,protein_coding -3543,CD1B,ENSG00000158485,protein_coding -47202,DNAH3,ENSG00000158486,protein_coding -3544,CD1E,ENSG00000158488,protein_coding -17775,HMHB1,ENSG00000158497,protein_coding -23892,CPA2,ENSG00000158516,protein_coding -22930,NCF1,ENSG00000158517,protein_coding -23894,CPA5,ENSG00000158525,protein_coding -25418,TSR2,ENSG00000158526,protein_coding -23224,PPP1R9A,ENSG00000158528,protein_coding -48910,ZC3H18,ENSG00000158545,protein_coding -9189,ZFAND2B,ENSG00000158552,protein_coding -19008,POM121L2,ENSG00000158553,protein_coding -33975,GDPD5,ENSG00000158555,protein_coding -23240,DYNC1I1,ENSG00000158560,protein_coding -25428,PFKFB1,ENSG00000158571,protein_coding -25430,ALAS2,ENSG00000158578,protein_coding -22338,TMED4,ENSG00000158604,protein_coding -4476,PPP1R15B,ENSG00000158615,protein_coding -23905,COPG2,ENSG00000158623,protein_coding -34005,EMSY,ENSG00000158636,protein_coding -25443,PAGE5,ENSG00000158639,protein_coding -27863,GPAT4,ENSG00000158669,protein_coding -22399,PKD1L1,ENSG00000158683,protein_coding -19082,ZSCAN12,ENSG00000158691,protein_coding -3612,TAGLN2,ENSG00000158710,protein_coding -4511,ELK4,ENSG00000158711,protein_coding -3602,SLAMF8,ENSG00000158714,protein_coding -4513,SLC45A3,ENSG00000158715,protein_coding -3600,DUSP23,ENSG00000158716,protein_coding -48916,RNF166,ENSG00000158717,protein_coding -641,NBL1,ENSG00000158747,protein_coding -644,HTR6,ENSG00000158748,protein_coding -3658,ITLN2,ENSG00000158764,protein_coding -3659,F11R,ENSG00000158769,protein_coding -3663,USF1,ENSG00000158773,protein_coding -654,PLA2G2F,ENSG00000158786,protein_coding -48965,SPATA2L,ENSG00000158792,protein_coding -3669,NIT1,ENSG00000158793,protein_coding -3670,DEDD,ENSG00000158796,protein_coding -48968,ZNF276,ENSG00000158805,protein_coding -27465,NPM2,ENSG00000158806,protein_coding -25561,EDA,ENSG00000158813,protein_coding -27466,FGF17,ENSG00000158815,protein_coding -661,VWA5B1,ENSG00000158816,protein_coding -671,CDA,ENSG00000158825,protein_coding -672,PINK1,ENSG00000158828,protein_coding -3676,B4GALT3,ENSG00000158850,protein_coding -27467,DMTN,ENSG00000158856,protein_coding -3677,ADAMTS4,ENSG00000158859,protein_coding -27468,FAM160B2,ENSG00000158863,protein_coding -3678,NDUFS2,ENSG00000158864,protein_coding -47307,SLC5A11,ENSG00000158865,protein_coding -3679,FCER1G,ENSG00000158869,protein_coding -3680,APOA2,ENSG00000158874,protein_coding -3681,TOMM40L,ENSG00000158882,protein_coding -3685,MPZ,ENSG00000158887,protein_coding -54276,WFDC8,ENSG00000158901,protein_coding -27494,CCAR2,ENSG00000158941,protein_coding -50901,WNT9B,ENSG00000158955,protein_coding -1887,CACHD1,ENSG00000158966,protein_coding -17354,CDC42SE2,ENSG00000158985,protein_coding -17356,RAPGEF6,ENSG00000158987,protein_coding -986,EPB41,ENSG00000159023,protein_coding -60110,MIS18A,ENSG00000159055,protein_coding -34050,ALG8,ENSG00000159063,protein_coding -31714,FBXW5,ENSG00000159069,protein_coding -60124,CFAP298,ENSG00000159079,protein_coding -60127,SYNJ1,ENSG00000159082,protein_coding -60129,PAXBP1,ENSG00000159086,protein_coding -60144,IFNAR2,ENSG00000159110,protein_coding -50933,MRPL10,ENSG00000159111,protein_coding -60150,IFNGR2,ENSG00000159128,protein_coding -60155,GART,ENSG00000159131,protein_coding -60157,SON,ENSG00000159140,protein_coding -60159,DONSON,ENSG00000159147,protein_coding -3102,SV2A,ENSG00000159164,protein_coding -4364,LAD1,ENSG00000159166,protein_coding -27537,STC1,ENSG00000159167,protein_coding -4366,TNNI1,ENSG00000159173,protein_coding -4370,CSRP1,ENSG00000159176,protein_coding -50988,PRAC1,ENSG00000159182,protein_coding -50993,HOXB13,ENSG00000159184,protein_coding -732,C1QC,ENSG00000159189,protein_coding -60174,KCNE2,ENSG00000159197,protein_coding -51001,ATP5MC1,ENSG00000159199,protein_coding -60182,RCAN1,ENSG00000159200,protein_coding -51003,UBE2Z,ENSG00000159202,protein_coding -3118,CIART,ENSG00000159208,protein_coding -51004,SNF8,ENSG00000159210,protein_coding -60183,CLIC6,ENSG00000159212,protein_coding -1426,CCDC24,ENSG00000159214,protein_coding -60186,RUNX1,ENSG00000159216,protein_coding -51010,IGF2BP1,ENSG00000159217,protein_coding -51008,GIP,ENSG00000159224,protein_coding -60202,CBR1,ENSG00000159228,protein_coding -60208,CBR3,ENSG00000159231,protein_coding -6735,AC005041.1,ENSG00000159239,protein_coding -44732,GJD2,ENSG00000159248,protein_coding -44734,ACTC1,ENSG00000159251,protein_coding -60213,MORC3,ENSG00000159256,protein_coding -60215,CHAF1B,ENSG00000159259,protein_coding -60219,CLDN14,ENSG00000159261,protein_coding -60226,SIM2,ENSG00000159263,protein_coding -60227,HLCS,ENSG00000159267,protein_coding -45678,GOLGA6A,ENSG00000159289,protein_coding -59455,SCUBE1,ENSG00000159307,protein_coding -50853,ARHGAP27,ENSG00000159314,protein_coding -45652,ADPGK,ENSG00000159322,protein_coding -37668,PTMS,ENSG00000159335,protein_coding -44917,PLA2G4D,ENSG00000159337,protein_coding -602,PADI4,ENSG00000159339,protein_coding -4424,ADIPOR1,ENSG00000159346,protein_coding -4425,CYB5R1,ENSG00000159348,protein_coding -3170,PSMD4,ENSG00000159352,protein_coding -594,ATP13A2,ENSG00000159363,protein_coding -6760,M1AP,ENSG00000159374,protein_coding -3180,PSMB4,ENSG00000159377,protein_coding -48056,IRX6,ENSG00000159387,protein_coding -4440,BTG2,ENSG00000159388,protein_coding -48071,CES5A,ENSG00000159398,protein_coding -6768,HK2,ENSG00000159399,protein_coding -37700,C1R,ENSG00000159403,protein_coding -3193,CELF3,ENSG00000159409,protein_coding -620,ALDH4A1,ENSG00000159423,protein_coding -44936,STARD9,ENSG00000159433,protein_coding -3212,THEM4,ENSG00000159445,protein_coding -3223,TCHH,ENSG00000159450,protein_coding -3245,LCE2B,ENSG00000159455,protein_coding -44946,UBR1,ENSG00000159459,protein_coding -48082,AMFR,ENSG00000159461,protein_coding -1402,MED8,ENSG00000159479,protein_coding -44959,TGM7,ENSG00000159495,protein_coding -58772,RGL4,ENSG00000159496,protein_coding -3276,SPRR2G,ENSG00000159516,protein_coding -3282,PGLYRP3,ENSG00000159527,protein_coding -45788,ISL2,ENSG00000159556,protein_coding -48127,RSPRY1,ENSG00000159579,protein_coding -1491,CCDC17,ENSG00000159588,protein_coding -1492,GPBP1L1,ENSG00000159592,protein_coding -48273,NAE1,ENSG00000159593,protein_coding -1495,TMEM69,ENSG00000159596,protein_coding -48143,ADGRG5,ENSG00000159618,protein_coding -48149,DRC7,ENSG00000159625,protein_coding -51393,ACE,ENSG00000159640,protein_coding -48158,TEPP,ENSG00000159648,protein_coding -11560,UROC1,ENSG00000159650,protein_coding -1528,EFCAB14,ENSG00000159658,protein_coding -12903,SPON2,ENSG00000159674,protein_coding -11568,CHCHD6,ENSG00000159685,protein_coding -12906,CTBP1,ENSG00000159692,protein_coding -48309,LRRC36,ENSG00000159708,protein_coding -48310,TPPP3,ENSG00000159713,protein_coding -48312,ZDHHC1,ENSG00000159714,protein_coding -48315,ATP6V0D1,ENSG00000159720,protein_coding -48317,AGRP,ENSG00000159723,protein_coding -12936,ZFYVE28,ENSG00000159733,protein_coding -48328,CARMIL2,ENSG00000159753,protein_coding -48332,C16orf86,ENSG00000159761,protein_coding -24221,PIP,ENSG00000159763,protein_coding -24234,FAM131B,ENSG00000159784,protein_coding -12961,RGS12,ENSG00000159788,protein_coding -48344,PSKH1,ENSG00000159792,protein_coding -24237,ZYX,ENSG00000159840,protein_coding -49025,ABR,ENSG00000159842,protein_coding -56702,LYPD5,ENSG00000159871,protein_coding -58936,CCDC117,ENSG00000159873,protein_coding -56716,ZNF230,ENSG00000159882,protein_coding -30014,CCDC107,ENSG00000159884,protein_coding -56718,ZNF222,ENSG00000159885,protein_coding -30028,NPR2,ENSG00000159899,protein_coding -56711,ZNF221,ENSG00000159905,protein_coding -56732,ZNF233,ENSG00000159915,protein_coding -56730,ZNF235,ENSG00000159917,protein_coding -30052,GNE,ENSG00000159921,protein_coding -59401,TNFRSF13C,ENSG00000159958,protein_coding -49129,OR3A3,ENSG00000159961,protein_coding -56881,ARHGAP35,ENSG00000160007,protein_coding -56863,PTGIR,ENSG00000160013,protein_coding -56861,CALM3,ENSG00000160014,protein_coding -362,DFFA,ENSG00000160049,protein_coding -1059,CCDC28B,ENSG00000160050,protein_coding -1061,IQCC,ENSG00000160051,protein_coding -1063,TMEM234,ENSG00000160055,protein_coding -1075,BSDC1,ENSG00000160058,protein_coding -1082,ZBTB8A,ENSG00000160062,protein_coding -117,ATAD3B,ENSG00000160072,protein_coding -121,SSU72,ENSG00000160075,protein_coding -90,UBE2J2,ENSG00000160087,protein_coding -1107,ZNF362,ENSG00000160094,protein_coding -1091,FNDC5,ENSG00000160097,protein_coding -55691,CPAMD8,ENSG00000160111,protein_coding -55704,NR2F6,ENSG00000160113,protein_coding -55709,ANKLE1,ENSG00000160117,protein_coding -11461,CCDC58,ENSG00000160124,protein_coding -26792,VMA21,ENSG00000160131,protein_coding -11492,KALRN,ENSG00000160145,protein_coding -55833,CILP2,ENSG00000160161,protein_coding -60339,ABCG1,ENSG00000160179,protein_coding -60341,TFF3,ENSG00000160180,protein_coding -60342,TFF2,ENSG00000160181,protein_coding -60343,TFF1,ENSG00000160182,protein_coding -60344,TMPRSS3,ENSG00000160183,protein_coding -60345,UBASH3A,ENSG00000160185,protein_coding -60347,RSPH1,ENSG00000160188,protein_coding -60348,SLC37A1,ENSG00000160190,protein_coding -60354,PDE9A,ENSG00000160191,protein_coding -60359,WDR4,ENSG00000160193,protein_coding -60360,NDUFV3,ENSG00000160194,protein_coding -60364,PKNOX1,ENSG00000160199,protein_coding -60365,CBS,ENSG00000160200,protein_coding -60366,U2AF1,ENSG00000160201,protein_coding -60371,CRYAA,ENSG00000160202,protein_coding -60379,HSF2BP,ENSG00000160207,protein_coding -60383,RRP1B,ENSG00000160208,protein_coding -60384,PDXK,ENSG00000160209,protein_coding -26918,G6PD,ENSG00000160211,protein_coding -60387,CSTB,ENSG00000160213,protein_coding -60389,RRP1,ENSG00000160214,protein_coding -60392,AGPAT3,ENSG00000160216,protein_coding -60395,TRAPPC10,ENSG00000160218,protein_coding -26932,GAB3,ENSG00000160219,protein_coding -60398,GATD3A,ENSG00000160221,protein_coding -60403,ICOSLG,ENSG00000160223,protein_coding -60408,AIRE,ENSG00000160224,protein_coding -60410,CFAP410,ENSG00000160226,protein_coding -55900,ZNF66,ENSG00000160229,protein_coding -60420,LRRC3,ENSG00000160233,protein_coding -60454,ITGB2,ENSG00000160255,protein_coding -60459,FAM207A,ENSG00000160256,protein_coding -31567,RALGDS,ENSG00000160271,protein_coding -60499,FTCD,ENSG00000160282,protein_coding -60501,SPATC1L,ENSG00000160284,protein_coding -60503,LSS,ENSG00000160285,protein_coding -31599,VAV2,ENSG00000160293,protein_coding -60506,MCM3AP,ENSG00000160294,protein_coding -60510,C21orf58,ENSG00000160298,protein_coding -60511,PCNT,ENSG00000160299,protein_coding -60514,DIP2A,ENSG00000160305,protein_coding -60517,S100B,ENSG00000160307,protein_coding -60518,PRMT2,ENSG00000160310,protein_coding -57176,CLDND2,ENSG00000160318,protein_coding -55947,ZNF208,ENSG00000160321,protein_coding -31589,ADAMTS13,ENSG00000160323,protein_coding -31590,CACFD1,ENSG00000160325,protein_coding -31591,SLC2A6,ENSG00000160326,protein_coding -57311,ZNF761,ENSG00000160336,protein_coding -31626,FCN2,ENSG00000160339,protein_coding -31638,C9orf116,ENSG00000160345,protein_coding -31641,LCN1,ENSG00000160349,protein_coding -55910,ZNF714,ENSG00000160352,protein_coding -31664,GPSM1,ENSG00000160360,protein_coding -56524,C19orf47,ENSG00000160392,protein_coding -56530,HIPK4,ENSG00000160396,protein_coding -31382,CFAP157,ENSG00000160401,protein_coding -31384,TOR2A,ENSG00000160404,protein_coding -31398,ST6GALNAC6,ENSG00000160408,protein_coding -56539,SHKBP1,ENSG00000160410,protein_coding -57481,RDH13,ENSG00000160439,protein_coding -31448,ZER1,ENSG00000160445,protein_coding -31446,ZDHHC12,ENSG00000160446,protein_coding -31444,PKN3,ENSG00000160447,protein_coding -56538,SPTBN4,ENSG00000160460,protein_coding -57504,BRSK1,ENSG00000160469,protein_coding -57509,COX6B2,ENSG00000160471,protein_coding -57513,TMEM190,ENSG00000160472,protein_coding -57551,NLRP4,ENSG00000160505,protein_coding -31530,PLPP7,ENSG00000160539,protein_coding -50065,TAOK1,ENSG00000160551,protein_coding -31545,MED27,ENSG00000160563,protein_coding -56631,DEDD2,ENSG00000160570,protein_coding -34703,SIK3,ENSG00000160584,protein_coding -34740,MPZL3,ENSG00000160588,protein_coding -34738,JAML,ENSG00000160593,protein_coding -50026,AC010761.1,ENSG00000160602,protein_coding -50025,TLCD1,ENSG00000160606,protein_coding -34713,PCSK7,ENSG00000160613,protein_coding -55059,SAFB,ENSG00000160633,protein_coding -34746,CD3G,ENSG00000160654,protein_coding -3306,S100A1,ENSG00000160678,protein_coding -3308,CHTOP,ENSG00000160679,protein_coding -34774,CXCR5,ENSG00000160683,protein_coding -3386,ZBTB7B,ENSG00000160685,protein_coding -3384,FLAD1,ENSG00000160688,protein_coding -3381,SHC1,ENSG00000160691,protein_coding -34797,VPS11,ENSG00000160695,protein_coding -34804,NLRX1,ENSG00000160703,protein_coding -3372,ADAR,ENSG00000160710,protein_coding -3362,IL6R,ENSG00000160712,protein_coding -3367,UBE2Q1,ENSG00000160714,protein_coding -3370,CHRNB2,ENSG00000160716,protein_coding -3327,CRTC2,ENSG00000160741,protein_coding -10306,ANO10,ENSG00000160746,protein_coding -3416,FDPS,ENSG00000160752,protein_coding -3418,RUSC1,ENSG00000160753,protein_coding -3411,FAM189B,ENSG00000160767,protein_coding -3464,PAQR6,ENSG00000160781,protein_coding -3462,PMF1,ENSG00000160783,protein_coding -3460,SLC25A44,ENSG00000160785,protein_coding -3457,LMNA,ENSG00000160789,protein_coding -10375,CCR5,ENSG00000160791,protein_coding -10402,NBEAL2,ENSG00000160796,protein_coding -10401,CCDC12,ENSG00000160799,protein_coding -10399,PTH1R,ENSG00000160801,protein_coding -3453,UBQLN4,ENSG00000160803,protein_coding -10398,MYL3,ENSG00000160808,protein_coding -23378,PPP1R35,ENSG00000160813,protein_coding -3482,GPATCH4,ENSG00000160818,protein_coding -3504,LRRC71,ENSG00000160838,protein_coding -3524,FCRL3,ENSG00000160856,protein_coding -23337,AZGP1,ENSG00000160862,protein_coding -18307,FGFR4,ENSG00000160867,protein_coding -23325,CYP3A4,ENSG00000160868,protein_coding -23322,CYP3A7,ENSG00000160870,protein_coding -55502,NACC1,ENSG00000160877,protein_coding -29324,CYP11B1,ENSG00000160882,protein_coding -18303,HK3,ENSG00000160883,protein_coding -29308,LY6K,ENSG00000160886,protein_coding -55506,IER2,ENSG00000160888,protein_coding -23313,ZNF394,ENSG00000160908,protein_coding -23309,CPSF4,ENSG00000160917,protein_coding -29328,LY6E,ENSG00000160932,protein_coding -29422,VPS28,ENSG00000160948,protein_coding -29423,TONSL,ENSG00000160949,protein_coding -55556,PTGER1,ENSG00000160951,protein_coding -54842,PWWP3A,ENSG00000160953,protein_coding -29434,RECQL4,ENSG00000160957,protein_coding -29436,LRRC14,ENSG00000160959,protein_coding -55569,ZNF333,ENSG00000160961,protein_coding -23438,COL26A1,ENSG00000160963,protein_coding -29430,PPP1R16A,ENSG00000160972,protein_coding -29429,FOXH1,ENSG00000160973,protein_coding -23462,ORAI2,ENSG00000160991,protein_coding -23463,ALKBH4,ENSG00000160993,protein_coding -55585,CCDC105,ENSG00000160994,protein_coding -23451,SH2B2,ENSG00000160999,protein_coding -18410,MRNIP,ENSG00000161010,protein_coding -18409,SQSTM1,ENSG00000161011,protein_coding -18407,MGAT4B,ENSG00000161013,protein_coding -29448,RPL8,ENSG00000161016,protein_coding -18405,MAML1,ENSG00000161021,protein_coding -55608,PGLYRP2,ENSG00000161031,protein_coding -23464,LRWD1,ENSG00000161036,protein_coding -23485,FBXL13,ENSG00000161040,protein_coding -23493,NAPEPLD,ENSG00000161048,protein_coding -18433,SCGB3A1,ENSG00000161055,protein_coding -23501,PSMC2,ENSG00000161057,protein_coding -54956,CELF5,ENSG00000161082,protein_coding -54966,MFSD12,ENSG00000161091,protein_coding -58507,USP41,ENSG00000161133,protein_coding -58583,YDJC,ENSG00000161179,protein_coding -58584,CCDC116,ENSG00000161180,protein_coding -12521,DVL3,ENSG00000161202,protein_coding -12522,AP2M1,ENSG00000161203,protein_coding -12523,ABCF3,ENSG00000161204,protein_coding -12771,PCYT1A,ENSG00000161217,protein_coding -56451,AC010605.1,ENSG00000161243,protein_coding -56266,DMKN,ENSG00000161249,protein_coding -56287,U2AF1L4,ENSG00000161265,protein_coding -12821,BDH1,ENSG00000161267,protein_coding -56299,NPHS1,ENSG00000161270,protein_coding -56317,THAP8,ENSG00000161277,protein_coding -56326,COX7A1,ENSG00000161281,protein_coding -56345,ZNF382,ENSG00000161298,protein_coding -31832,LRRC56,ENSG00000161328,protein_coding -50466,PLXDC1,ENSG00000161381,protein_coding -50487,PGAP3,ENSG00000161395,protein_coding -50492,IKZF3,ENSG00000161405,protein_coding -51656,GRIN2C,ENSG00000161509,protein_coding -51657,FDXR,ENSG00000161513,protein_coding -51705,SAP30BP,ENSG00000161526,protein_coding -51723,ACOX1,ENSG00000161533,protein_coding -51742,PRPSAP1,ENSG00000161542,protein_coding -51751,CYGB,ENSG00000161544,protein_coding -51775,SRSF2,ENSG00000161547,protein_coding -57216,ZNF577,ENSG00000161551,protein_coding -56939,TMEM143,ENSG00000161558,protein_coding -50633,KLHL10,ENSG00000161594,protein_coding -57021,CCDC155,ENSG00000161609,protein_coding -50651,HCRT,ENSG00000161610,protein_coding -57026,ALDH16A1,ENSG00000161618,protein_coding -38848,DCD,ENSG00000161634,protein_coding -38839,ITGA5,ENSG00000161638,protein_coding -57078,SIGLEC11,ENSG00000161640,protein_coding -38838,ZNF385A,ENSG00000161642,protein_coding -50762,MPP3,ENSG00000161647,protein_coding -50763,CD300LG,ENSG00000161649,protein_coding -57089,IZUMO2,ENSG00000161652,protein_coding -50772,NAGS,ENSG00000161653,protein_coding -50775,LSM12,ENSG00000161654,protein_coding -50781,ASB16,ENSG00000161664,protein_coding -57103,EMC10,ENSG00000161671,protein_coding -57106,JOSD2,ENSG00000161677,protein_coding -57112,SHANK1,ENSG00000161681,protein_coding -50800,FAM171A2,ENSG00000161682,protein_coding -50814,DBF4B,ENSG00000161692,protein_coding -50835,PLCD3,ENSG00000161714,protein_coding -38599,FMNL3,ENSG00000161791,protein_coding -38614,AQP5,ENSG00000161798,protein_coding -38616,RACGAP1,ENSG00000161800,protein_coding -55235,OR7G1,ENSG00000161807,protein_coding -38632,LARP4,ENSG00000161813,protein_coding -38681,GRASP,ENSG00000161835,protein_coding -55312,RAVER1,ENSG00000161847,protein_coding -38706,KRT84,ENSG00000161849,protein_coding -38708,KRT82,ENSG00000161850,protein_coding -55486,SYCE2,ENSG00000161860,protein_coding -55350,SPC24,ENSG00000161888,protein_coding -19495,IP6K3,ENSG00000161896,protein_coding -19496,LEMD2,ENSG00000161904,protein_coding -49179,ALOX15,ENSG00000161905,protein_coding -19666,TREML1,ENSG00000161911,protein_coding -55373,ZNF653,ENSG00000161914,protein_coding -49185,MED11,ENSG00000161920,protein_coding -49187,CXCL16,ENSG00000161921,protein_coding -49227,SCIMP,ENSG00000161929,protein_coding -49281,RNASEK-C17orf49,ENSG00000161939,protein_coding -49286,BCL6B,ENSG00000161940,protein_coding -49291,ASGR2,ENSG00000161944,protein_coding -49343,TNFSF13,ENSG00000161955,protein_coding -49344,SENP3,ENSG00000161956,protein_coding -49332,FGF11,ENSG00000161958,protein_coding -49346,EIF4A1,ENSG00000161960,protein_coding -49414,RPL26,ENSG00000161970,protein_coding -49421,CCDC42,ENSG00000161973,protein_coding -46442,POLR3K,ENSG00000161980,protein_coding -46443,SNRNP25,ENSG00000161981,protein_coding -46481,PRR35,ENSG00000161992,protein_coding -46490,WDR90,ENSG00000161996,protein_coding -46497,JMJD8,ENSG00000161999,protein_coding -46505,CCDC78,ENSG00000162004,protein_coding -46510,MSLNL,ENSG00000162006,protein_coding -46527,SSTR5,ENSG00000162009,protein_coding -46589,SPSB3,ENSG00000162032,protein_coding -46594,MEIOB,ENSG00000162039,protein_coding -46598,HS3ST6,ENSG00000162040,protein_coding -46660,TEDC2,ENSG00000162062,protein_coding -46655,CCNF,ENSG00000162063,protein_coding -46664,TBC1D24,ENSG00000162065,protein_coding -46670,AMDHD2,ENSG00000162066,protein_coding -46663,NTN3,ENSG00000162068,protein_coding -46721,BICDL2,ENSG00000162069,protein_coding -46711,PAQR4,ENSG00000162073,protein_coding -46705,FLYWCH2,ENSG00000162076,protein_coding -46700,ZG16B,ENSG00000162078,protein_coding -46747,ZNF75A,ENSG00000162086,protein_coding -46777,ADCY9,ENSG00000162104,protein_coding -33790,SHANK2,ENSG00000162105,protein_coding -33859,CLPB,ENSG00000162129,protein_coding -33955,NEU3,ENSG00000162139,protein_coding -33294,CYB561A3,ENSG00000162144,protein_coding -33303,PPP1R32,ENSG00000162148,protein_coding -33343,ASRGL1,ENSG00000162174,protein_coding -33372,GNG3,ENSG00000162188,protein_coding -33368,UBXN1,ENSG00000162191,protein_coding -33364,LBHD1,ENSG00000162194,protein_coding -33374,TTC9C,ENSG00000162222,protein_coding -33378,TAF6L,ENSG00000162227,protein_coding -33383,NXF1,ENSG00000162231,protein_coding -33385,STX5,ENSG00000162236,protein_coding -33539,SLC25A45,ENSG00000162241,protein_coding -10609,RPL29,ENSG00000162244,protein_coding -10654,ITIH3,ENSG00000162267,protein_coding -33520,SYVN1,ENSG00000162298,protein_coding -33511,ZFPL1,ENSG00000162300,protein_coding -33472,RPS6KA4,ENSG00000162302,protein_coding -33732,LRP5,ENSG00000162337,protein_coding -33748,TPCN2,ENSG00000162341,protein_coding -33765,FGF19,ENSG00000162344,protein_coding -1542,CYP4A22,ENSG00000162365,protein_coding -1545,PDZK1IP1,ENSG00000162366,protein_coding -1546,TAL1,ENSG00000162367,protein_coding -1549,CMPK1,ENSG00000162368,protein_coding -1578,BEND5,ENSG00000162373,protein_coding -1587,ELAVL4,ENSG00000162374,protein_coding -1660,COA7,ENSG00000162377,protein_coding -1663,ZYG11B,ENSG00000162378,protein_coding -1682,SLC1A7,ENSG00000162383,protein_coding -1687,CZIB,ENSG00000162384,protein_coding -1689,MAGOH,ENSG00000162385,protein_coding -1731,ACOT11,ENSG00000162390,protein_coding -1732,FAM151A,ENSG00000162391,protein_coding -1737,PARS2,ENSG00000162396,protein_coding -1740,LEXM,ENSG00000162398,protein_coding -1748,BSND,ENSG00000162399,protein_coding -1750,USP24,ENSG00000162402,protein_coding -1768,PLPP3,ENSG00000162407,protein_coding -251,NOL9,ENSG00000162408,protein_coding -1772,PRKAA2,ENSG00000162409,protein_coding -256,KLHL21,ENSG00000162413,protein_coding -1473,ZSWIM5,ENSG00000162415,protein_coding -980,GMEB1,ENSG00000162419,protein_coding -292,SLC45A1,ENSG00000162426,protein_coding -828,SELENON,ENSG00000162430,protein_coding -1902,AK4,ENSG00000162433,protein_coding -1890,JAK1,ENSG00000162434,protein_coding -1889,RAVER2,ENSG00000162437,protein_coding -505,CTRC,ENSG00000162438,protein_coding -339,LZIC,ENSG00000162441,protein_coding -346,RBP7,ENSG00000162444,protein_coding -1521,KNCN,ENSG00000162456,protein_coding -525,FBLIM1,ENSG00000162458,protein_coding -524,TMEM82,ENSG00000162460,protein_coding -522,SLC25A34,ENSG00000162461,protein_coding -631,AKR7A3,ENSG00000162482,protein_coding -398,DRAXIN,ENSG00000162490,protein_coding -484,PDPN,ENSG00000162493,protein_coding -481,LRRC38,ENSG00000162494,protein_coding -434,DHRS3,ENSG00000162496,protein_coding -1007,MATN1,ENSG00000162510,protein_coding -1010,LAPTM5,ENSG00000162511,protein_coding -1016,SDC3,ENSG00000162512,protein_coding -1038,PEF1,ENSG00000162517,protein_coding -1086,SYNC,ENSG00000162520,protein_coding -1085,RBBP4,ENSG00000162521,protein_coding -1088,KIAA1522,ENSG00000162522,protein_coding -1073,TSSK3,ENSG00000162526,protein_coding -645,TMCO4,ENSG00000162542,protein_coding -658,UBXN10,ENSG00000162543,protein_coding -667,CAMK2N1,ENSG00000162545,protein_coding -699,ALPL,ENSG00000162551,protein_coding -722,WNT4,ENSG00000162552,protein_coding -83,TTLL10,ENSG00000162571,protein_coding -92,SCNN1D,ENSG00000162572,protein_coding -103,MXRA8,ENSG00000162576,protein_coding -150,FAAP20,ENSG00000162585,protein_coding -191,MEGF6,ENSG00000162591,protein_coding -201,CCDC27,ENSG00000162592,protein_coding -1929,IL23R,ENSG00000162594,protein_coding -1946,DIRAS3,ENSG00000162595,protein_coding -1812,C1orf87,ENSG00000162598,protein_coding -1817,NFIA,ENSG00000162599,protein_coding -1787,OMA1,ENSG00000162600,protein_coding -1793,MYSM1,ENSG00000162601,protein_coding -1823,TM2D1,ENSG00000162604,protein_coding -1839,USP1,ENSG00000162607,protein_coding -2076,FUBP1,ENSG00000162613,protein_coding -2075,NEXN,ENSG00000162614,protein_coding -2077,DNAJB4,ENSG00000162616,protein_coding -2094,ADGRL4,ENSG00000162618,protein_coding -2014,LRRIQ3,ENSG00000162620,protein_coding -2020,LRRC53,ENSG00000162621,protein_coding -2025,TYW3,ENSG00000162623,protein_coding -2029,LHX8,ENSG00000162624,protein_coding -2397,SNX7,ENSG00000162627,protein_coding -4268,B3GALT2,ENSG00000162630,protein_coding -2496,NTNG1,ENSG00000162631,protein_coding -2515,FAM102B,ENSG00000162636,protein_coding -2516,HENMT1,ENSG00000162639,protein_coding -2523,AKNAD1,ENSG00000162641,protein_coding -2164,C1orf52,ENSG00000162642,protein_coding -2159,WDR63,ENSG00000162643,protein_coding -2224,GBP2,ENSG00000162645,protein_coding -2547,ATXN7L2,ENSG00000162650,protein_coding -2227,GBP4,ENSG00000162654,protein_coding -2250,ZNF326,ENSG00000162664,protein_coding -2266,HFM1,ENSG00000162669,protein_coding -4233,BRINP3,ENSG00000162670,protein_coding -2289,GFI1,ENSG00000162676,protein_coding -4283,KCNT2,ENSG00000162687,protein_coding -2410,AGL,ENSG00000162688,protein_coding -2440,VCAM1,ENSG00000162692,protein_coding -2441,EXTL2,ENSG00000162694,protein_coding -2443,SLC30A7,ENSG00000162695,protein_coding -4342,ZNF281,ENSG00000162702,protein_coding -4148,ARPC5,ENSG00000162704,protein_coding -3576,CADM3,ENSG00000162706,protein_coding -5384,NLRP3,ENSG00000162711,protein_coding -5381,ZNF496,ENSG00000162714,protein_coding -5408,TRIM58,ENSG00000162722,protein_coding -3614,SLAMF9,ENSG00000162723,protein_coding -5428,OR2M5,ENSG00000162727,protein_coding -3621,KCNJ9,ENSG00000162728,protein_coding -3622,IGSF8,ENSG00000162729,protein_coding -3735,DDR2,ENSG00000162733,protein_coding -3627,PEA15,ENSG00000162734,protein_coding -3632,PEX19,ENSG00000162735,protein_coding -3636,NCSTN,ENSG00000162736,protein_coding -3639,VANGL2,ENSG00000162738,protein_coding -3640,SLAMF6,ENSG00000162739,protein_coding -3717,OLFML2B,ENSG00000162745,protein_coding -3711,FCRLB,ENSG00000162746,protein_coding -3705,FCGR3B,ENSG00000162747,protein_coding -3955,SLC9C2,ENSG00000162753,protein_coding -3667,KLHDC9,ENSG00000162755,protein_coding -4617,C1orf74,ENSG00000162757,protein_coding -3765,LMX1A,ENSG00000162761,protein_coding -3771,LRRC52,ENSG00000162763,protein_coding -4696,FLVCR1,ENSG00000162769,protein_coding -4685,FAM71A,ENSG00000162771,protein_coding -4683,ATF3,ENSG00000162772,protein_coding -2587,RBM15,ENSG00000162775,protein_coding -2616,DENND2D,ENSG00000162777,protein_coding -4055,AXDND1,ENSG00000162779,protein_coding -4063,TDRD5,ENSG00000162782,protein_coding -4095,IER5,ENSG00000162783,protein_coding -9619,SNED1,ENSG00000162804,protein_coding -4764,BPNT1,ENSG00000162813,protein_coding -4733,SPATA17,ENSG00000162814,protein_coding -4787,C1orf115,ENSG00000162817,protein_coding -4823,BROX,ENSG00000162819,protein_coding -2937,NBPF20,ENSG00000162825,protein_coding -3008,ACP6,ENSG00000162836,protein_coding -5261,WDR64,ENSG00000162843,protein_coding -5329,KIF26B,ENSG00000162849,protein_coding -5345,TFB2M,ENSG00000162851,protein_coding -5346,CNST,ENSG00000162852,protein_coding -6289,PPP1R21,ENSG00000162869,protein_coding -4500,KLHDC8A,ENSG00000162873,protein_coding -4521,PM20D1,ENSG00000162877,protein_coding -6158,PKDCC,ENSG00000162878,protein_coding -6171,OXER1,ENSG00000162881,protein_coding -6172,HAAO,ENSG00000162882,protein_coding -5157,B3GALNT2,ENSG00000162885,protein_coding -4547,MAPKAPK2,ENSG00000162889,protein_coding -4552,IL20,ENSG00000162891,protein_coding -4553,IL24,ENSG00000162892,protein_coding -4554,FCMR,ENSG00000162894,protein_coding -4557,PIGR,ENSG00000162896,protein_coding -4558,FCAMR,ENSG00000162897,protein_coding -4840,CAPN2,ENSG00000162909,protein_coding -4954,MRPL55,ENSG00000162910,protein_coding -4862,WDR26,ENSG00000162923,protein_coding -6429,REL,ENSG00000162924,protein_coding -6434,PUS10,ENSG00000162927,protein_coding -6436,PEX13,ENSG00000162928,protein_coding -6437,KIAA1841,ENSG00000162929,protein_coding -4974,TRIM17,ENSG00000162931,protein_coding -8759,RFTN2,ENSG00000162944,protein_coding -5077,DISC1,ENSG00000162946,protein_coding -5996,CAPN13,ENSG00000162949,protein_coding -6834,LRRTM1,ENSG00000162951,protein_coding -6013,MEMO1,ENSG00000162959,protein_coding -6014,DPY30,ENSG00000162961,protein_coding -8782,TYW5,ENSG00000162971,protein_coding -8783,MAIP1,ENSG00000162972,protein_coding -5650,KCNF1,ENSG00000162975,protein_coding -5654,PQLC3,ENSG00000162976,protein_coding -8129,ARL5A,ENSG00000162980,protein_coding -5697,LRATD1,ENSG00000162981,protein_coding -8163,KCNJ3,ENSG00000162989,protein_coding -8568,NEUROD1,ENSG00000162992,protein_coding -6360,CLHC1,ENSG00000162994,protein_coding -8584,FRZB,ENSG00000162998,protein_coding -8590,DUSP19,ENSG00000162999,protein_coding -6373,CFAP36,ENSG00000163001,protein_coding -8592,NUP35,ENSG00000163002,protein_coding -7444,CCDC138,ENSG00000163006,protein_coding -8624,ZSWIM2,ENSG00000163012,protein_coding -6691,FBXO41,ENSG00000163013,protein_coding -6712,ACTG2,ENSG00000163017,protein_coding -5824,WDCP,ENSG00000163026,protein_coding -5736,SMC6,ENSG00000163029,protein_coding -5735,VSNL1,ENSG00000163032,protein_coding -7894,CCDC74A,ENSG00000163040,protein_coding -4894,H3F3A,ENSG00000163041,protein_coding -7918,ANKRD30BL,ENSG00000163046,protein_coding -4917,COQ8A,ENSG00000163050,protein_coding -9350,SLC16A14,ENSG00000163053,protein_coding -7125,TEKT4,ENSG00000163060,protein_coding -7639,EN1,ENSG00000163064,protein_coding -13600,SGCB,ENSG00000163069,protein_coding -13602,SPATA18,ENSG00000163071,protein_coding -8327,NOSTRIN,ENSG00000163072,protein_coding -7651,CFAP221,ENSG00000163075,protein_coding -9252,CCDC140,ENSG00000163081,protein_coding -9256,SGPP2,ENSG00000163082,protein_coding -7668,INHBB,ENSG00000163083,protein_coding -8312,XIRP2,ENSG00000163092,protein_coding -8335,BBS5,ENSG00000163093,protein_coding -57299,BIRC8,ENSG00000163098,protein_coding -14235,SMARCAD1,ENSG00000163104,protein_coding -14236,HPGDS,ENSG00000163106,protein_coding -14239,PDLIM5,ENSG00000163110,protein_coding -14246,PDHA2,ENSG00000163114,protein_coding -14255,STPG2,ENSG00000163116,protein_coding -7197,NEURL3,ENSG00000163121,protein_coding -3121,RPRD2,ENSG00000163125,protein_coding -7207,ANKRD23,ENSG00000163126,protein_coding -3139,CTSS,ENSG00000163131,protein_coding -13002,MSX1,ENSG00000163132,protein_coding -13258,PACRGL,ENSG00000163138,protein_coding -3156,BNIPL,ENSG00000163141,protein_coding -13202,C1QTNF7,ENSG00000163145,protein_coding -3164,TNFAIP8L2,ENSG00000163154,protein_coding -3166,LYSMD1,ENSG00000163155,protein_coding -3165,SCNM1,ENSG00000163156,protein_coding -3167,TMOD4,ENSG00000163157,protein_coding -3168,VPS72,ENSG00000163159,protein_coding -7731,ERCC3,ENSG00000163161,protein_coding -7307,RNF149,ENSG00000163162,protein_coding -7739,IWS1,ENSG00000163166,protein_coding -6721,BOLA3,ENSG00000163170,protein_coding -6092,CDC42EP3,ENSG00000163171,protein_coding -3219,S100A11,ENSG00000163191,protein_coding -3237,LCE3D,ENSG00000163202,protein_coding -3260,SMCP,ENSG00000163206,protein_coding -3261,IVL,ENSG00000163207,protein_coding -3266,SPRR3,ENSG00000163209,protein_coding -6121,DHX57,ENSG00000163214,protein_coding -3270,SPRR2D,ENSG00000163216,protein_coding -6597,BMP10,ENSG00000163217,protein_coding -3283,PGLYRP4,ENSG00000163218,protein_coding -6594,ARHGAP25,ENSG00000163219,protein_coding -3285,S100A9,ENSG00000163220,protein_coding -3286,S100A12,ENSG00000163221,protein_coding -6639,TGFA,ENSG00000163235,protein_coding -3366,TDRD10,ENSG00000163239,protein_coding -8983,CCNYL1,ENSG00000163249,protein_coding -8986,FZD5,ENSG00000163251,protein_coding -8995,CRYGC,ENSG00000163254,protein_coding -13241,DCAF16,ENSG00000163257,protein_coding -3347,C1orf189,ENSG00000163263,protein_coding -9416,NPPC,ENSG00000163273,protein_coding -13524,GNPDA2,ENSG00000163281,protein_coding -9423,ALPP,ENSG00000163283,protein_coding -13535,GABRG1,ENSG00000163285,protein_coding -9426,ALPG,ENSG00000163286,protein_coding -13543,GABRB1,ENSG00000163288,protein_coding -14041,PAQR3,ENSG00000163291,protein_coding -13557,NIPAL1,ENSG00000163293,protein_coding -9430,ALPI,ENSG00000163295,protein_coding -14052,ANTXR2,ENSG00000163297,protein_coding -14107,HELQ,ENSG00000163312,protein_coding -14108,MRPS18C,ENSG00000163319,protein_coding -11032,CGGBP1,ENSG00000163320,protein_coding -14109,ABRAXAS1,ENSG00000163322,protein_coding -8430,GPR155,ENSG00000163328,protein_coding -8212,DAPL1,ENSG00000163331,protein_coding -3375,PMVK,ENSG00000163344,protein_coding -3377,PBXIP1,ENSG00000163346,protein_coding -12644,CLDN1,ENSG00000163347,protein_coding -3379,PYGO2,ENSG00000163348,protein_coding -2694,HIPK1,ENSG00000163349,protein_coding -3385,LENEP,ENSG00000163352,protein_coding -3387,DCST2,ENSG00000163354,protein_coding -3388,DCST1,ENSG00000163357,protein_coding -9528,COL6A3,ENSG00000163359,protein_coding -4350,INAVA,ENSG00000163362,protein_coding -3433,YY1AP1,ENSG00000163374,protein_coding -10836,KBTBD8,ENSG00000163376,protein_coding -10848,TAFA4,ENSG00000163377,protein_coding -10850,EOGT,ENSG00000163378,protein_coding -10856,LMOD3,ENSG00000163380,protein_coding -3481,NAXE,ENSG00000163382,protein_coding -11393,POGLUT1,ENSG00000163389,protein_coding -2737,SLC22A15,ENSG00000163393,protein_coding -13318,CCKAR,ENSG00000163394,protein_coding -4359,IGFN1,ENSG00000163395,protein_coding -2743,ATP1A1,ENSG00000163399,protein_coding -11453,SLC15A2,ENSG00000163406,protein_coding -10881,EIF4E3,ENSG00000163412,protein_coding -10883,PROK2,ENSG00000163421,protein_coding -11383,TEX55,ENSG00000163424,protein_coding -11418,LRRC58,ENSG00000163428,protein_coding -11422,FSTL1,ENSG00000163430,protein_coding -4384,LMOD1,ENSG00000163431,protein_coding -4391,ELF3,ENSG00000163435,protein_coding -13669,PDCL2,ENSG00000163440,protein_coding -4428,TMEM183A,ENSG00000163444,protein_coding -9084,TMEM169,ENSG00000163449,protein_coding -13708,IGFBP7,ENSG00000163453,protein_coding -3401,TRIM46,ENSG00000163462,protein_coding -3399,KRTCAP2,ENSG00000163463,protein_coding -9130,CXCR1,ENSG00000163464,protein_coding -9132,ARPC2,ENSG00000163466,protein_coding -3470,TSACC,ENSG00000163467,protein_coding -3469,CCT3,ENSG00000163468,protein_coding -3466,TMEM79,ENSG00000163472,protein_coding -3452,SSR2,ENSG00000163479,protein_coding -9157,RNF25,ENSG00000163481,protein_coding -9158,STK36,ENSG00000163482,protein_coding -4431,ADORA1,ENSG00000163485,protein_coding -10030,NEK10,ENSG00000163491,protein_coding -8542,CCDC141,ENSG00000163492,protein_coding -9174,FEV,ENSG00000163497,protein_coding -9175,CRYBA2,ENSG00000163499,protein_coding -9179,IHH,ENSG00000163501,protein_coding -11233,CIP2A,ENSG00000163507,protein_coding -10044,EOMES,ENSG00000163508,protein_coding -8553,CWC22,ENSG00000163510,protein_coding -10049,AZI2,ENSG00000163512,protein_coding -10066,TGFBR2,ENSG00000163513,protein_coding -11238,RETNLB,ENSG00000163515,protein_coding -9194,ANKZF1,ENSG00000163516,protein_coding -9863,HDAC11,ENSG00000163517,protein_coding -3521,FCRL4,ENSG00000163518,protein_coding -11239,TRAT1,ENSG00000163519,protein_coding -9864,FBLN2,ENSG00000163520,protein_coding -9195,GLB1L,ENSG00000163521,protein_coding -10075,STT3B,ENSG00000163527,protein_coding -9872,CHCHD4,ENSG00000163528,protein_coding -11249,DPPA2,ENSG00000163530,protein_coding -4488,NFASC,ENSG00000163531,protein_coding -3529,FCRL1,ENSG00000163534,protein_coding -8789,SGO2,ENSG00000163535,protein_coding -12242,SERPINI1,ENSG00000163536,protein_coding -10118,CLASP2,ENSG00000163539,protein_coding -6863,SUCLG1,ENSG00000163541,protein_coding -4499,NUAK2,ENSG00000163545,protein_coding -3559,SPTA1,ENSG00000163554,protein_coding -12290,PRKCI,ENSG00000163558,protein_coding -3570,MNDA,ENSG00000163563,protein_coding -3572,PYHIN1,ENSG00000163564,protein_coding -3573,IFI16,ENSG00000163565,protein_coding -3574,AIM2,ENSG00000163568,protein_coding -9962,EFHB,ENSG00000163576,protein_coding -12306,EIF5A2,ENSG00000163577,protein_coding -12310,SLC2A2,ENSG00000163581,protein_coding -12305,RPL22L1,ENSG00000163584,protein_coding -6978,FABP1,ENSG00000163586,protein_coding -12191,PPM1L,ENSG00000163590,protein_coding -8885,ICA1L,ENSG00000163596,protein_coding -8910,CTLA4,ENSG00000163599,protein_coding -8911,ICOS,ENSG00000163600,protein_coding -10897,RYBP,ENSG00000163602,protein_coding -10910,PPP4R2,ENSG00000163605,protein_coding -11303,CD200R1,ENSG00000163606,protein_coding -11305,GTPBP8,ENSG00000163607,protein_coding -11306,NEPRO,ENSG00000163608,protein_coding -11318,SPICE1,ENSG00000163611,protein_coding -11334,CCDC191,ENSG00000163617,protein_coding -10780,CADPS,ENSG00000163618,protein_coding -14119,NKX6-1,ENSG00000163623,protein_coding -14121,CDS1,ENSG00000163624,protein_coding -14122,WDFY3,ENSG00000163625,protein_coding -13916,COX18,ENSG00000163626,protein_coding -14136,PTPN13,ENSG00000163629,protein_coding -10788,SYNPR,ENSG00000163630,protein_coding -13922,ALB,ENSG00000163631,protein_coding -10793,C3orf49,ENSG00000163632,protein_coding -14139,C4orf36,ENSG00000163633,protein_coding -10794,THOC7,ENSG00000163634,protein_coding -10798,ATXN7,ENSG00000163635,protein_coding -10802,PSMD6,ENSG00000163636,protein_coding -10808,PRICKLE2,ENSG00000163637,protein_coding -10815,ADAMTS9,ENSG00000163638,protein_coding -14177,PPM1K,ENSG00000163644,protein_coding -12010,ERICH6,ENSG00000163645,protein_coding -12020,CLRN1,ENSG00000163646,protein_coding -12100,GMPS,ENSG00000163655,protein_coding -12114,TIPARP,ENSG00000163659,protein_coding -12125,CCNL1,ENSG00000163660,protein_coding -12134,PTX3,ENSG00000163661,protein_coding -10714,HESX1,ENSG00000163666,protein_coding -10140,DCLK3,ENSG00000163673,protein_coding -10733,SLMAP,ENSG00000163681,protein_coding -13430,RPL9,ENSG00000163682,protein_coding -13436,SMIM14,ENSG00000163683,protein_coding -10742,RPP14,ENSG00000163684,protein_coding -10741,ABHD6,ENSG00000163686,protein_coding -10740,DNASE1L3,ENSG00000163687,protein_coding -10757,C3orf67,ENSG00000163689,protein_coding -13463,RBM47,ENSG00000163694,protein_coding -13470,APBB2,ENSG00000163697,protein_coding -9777,IL17RE,ENSG00000163701,protein_coding -9778,IL17RC,ENSG00000163702,protein_coding -9780,CRELD1,ENSG00000163703,protein_coding -9782,PRRT3,ENSG00000163704,protein_coding -9793,FANCD2OS,ENSG00000163705,protein_coding -11892,PCOLCE2,ENSG00000163710,protein_coding -11898,U2SURP,ENSG00000163714,protein_coding -9763,MTMR14,ENSG00000163719,protein_coding -12435,TTC14,ENSG00000163728,protein_coding -13942,CXCL3,ENSG00000163734,protein_coding -13939,CXCL5,ENSG00000163735,protein_coding -13938,PPBP,ENSG00000163736,protein_coding -13937,PF4,ENSG00000163737,protein_coding -13947,MTHFD2L,ENSG00000163738,protein_coding -13934,CXCL1,ENSG00000163739,protein_coding -13968,RCHY1,ENSG00000163743,protein_coding -11927,PLSCR2,ENSG00000163746,protein_coding -13993,CCDC158,ENSG00000163749,protein_coding -11957,CPA3,ENSG00000163751,protein_coding -11960,GYG1,ENSG00000163754,protein_coding -11965,HPS3,ENSG00000163755,protein_coding -11970,TM4SF18,ENSG00000163762,protein_coding -11731,TOPBP1,ENSG00000163781,protein_coding -11742,RYK,ENSG00000163785,protein_coding -10303,SNRK,ENSG00000163788,protein_coding -5913,TCF23,ENSG00000163792,protein_coding -5919,DNAJC5G,ENSG00000163793,protein_coding -5921,UCN,ENSG00000163794,protein_coding -5928,ZNF513,ENSG00000163795,protein_coding -5945,SLC4A1AP,ENSG00000163798,protein_coding -5961,PLB1,ENSG00000163803,protein_coding -5967,SPDYA,ENSG00000163806,protein_coding -10337,KIAA1143,ENSG00000163807,protein_coding -10338,KIF15,ENSG00000163808,protein_coding -10341,TGM4,ENSG00000163810,protein_coding -5970,WDR43,ENSG00000163811,protein_coding -10343,ZDHHC3,ENSG00000163812,protein_coding -10348,CDCP1,ENSG00000163814,protein_coding -10346,CLEC3B,ENSG00000163815,protein_coding -10359,SLC6A20,ENSG00000163817,protein_coding -10360,LZTFL1,ENSG00000163818,protein_coding -10365,FYCO1,ENSG00000163820,protein_coding -10371,CCR1,ENSG00000163823,protein_coding -10379,RTP3,ENSG00000163825,protein_coding -10380,LRRC2,ENSG00000163827,protein_coding -10415,ELP6,ENSG00000163832,protein_coding -11446,FBXO40,ENSG00000163833,protein_coding -11470,DTX3L,ENSG00000163840,protein_coding -11513,ZNF148,ENSG00000163848,protein_coding -11832,NMNAT3,ENSG00000163864,protein_coding -1127,SMIM12,ENSG00000163866,protein_coding -1139,ZMYM6,ENSG00000163867,protein_coding -11584,TPRA1,ENSG00000163870,protein_coding -12499,YEATS2,ENSG00000163872,protein_coding -1192,GRIK3,ENSG00000163873,protein_coding -1200,ZC3H12A,ENSG00000163874,protein_coding -1202,MEAF6,ENSG00000163875,protein_coding -1204,SNIP1,ENSG00000163877,protein_coding -1207,DNALI1,ENSG00000163879,protein_coding -12536,POLR2H,ENSG00000163882,protein_coding -11555,KLF15,ENSG00000163884,protein_coding -11557,CFAP100,ENSG00000163885,protein_coding -12529,CAMK2N2,ENSG00000163888,protein_coding -12559,LIPH,ENSG00000163898,protein_coding -12557,TMEM41A,ENSG00000163900,protein_coding -11609,RPN1,ENSG00000163902,protein_coding -12560,SENP2,ENSG00000163904,protein_coding -1270,HEYL,ENSG00000163909,protein_coding -11652,IFT122,ENSG00000163913,protein_coding -11653,RHO,ENSG00000163914,protein_coding -12598,RFC4,ENSG00000163918,protein_coding -12607,RPL39L,ENSG00000163923,protein_coding -10629,BAP1,ENSG00000163930,protein_coding -10670,TKT,ENSG00000163931,protein_coding -10668,PRKCD,ENSG00000163932,protein_coding -10667,RFT1,ENSG00000163933,protein_coding -10663,SFMBT1,ENSG00000163935,protein_coding -10640,GNL3,ENSG00000163938,protein_coding -10637,PBRM1,ENSG00000163939,protein_coding -12909,UVSSA,ENSG00000163945,protein_coding -10707,TASOR,ENSG00000163946,protein_coding -10708,ARHGEF3,ENSG00000163947,protein_coding -12917,SLBP,ENSG00000163950,protein_coding -12967,LRPAP1,ENSG00000163956,protein_coding -12768,ZDHHC19,ENSG00000163958,protein_coding -12770,SLC51A,ENSG00000163959,protein_coding -12780,UBXN7,ENSG00000163960,protein_coding -12787,RNF168,ENSG00000163961,protein_coding -12797,PIGX,ENSG00000163964,protein_coding -12811,MELTF,ENSG00000163975,protein_coding -12990,OTOP1,ENSG00000163982,protein_coding -13030,S100P,ENSG00000163993,protein_coding -13054,ABLIM2,ENSG00000163995,protein_coding -1310,EXO5,ENSG00000164002,protein_coding -1368,CLDN19,ENSG00000164007,protein_coding -1370,C1orf50,ENSG00000164008,protein_coding -1375,ERMAP,ENSG00000164010,protein_coding -1377,ZNF691,ENSG00000164011,protein_coding -14382,AIMP1,ENSG00000164022,protein_coding -14392,SGMS2,ENSG00000164023,protein_coding -14276,METAP1,ENSG00000164024,protein_coding -14298,DNAJB14,ENSG00000164031,protein_coding -14300,H2AFZ,ENSG00000164032,protein_coding -14306,EMCN,ENSG00000164035,protein_coding -14337,SLC9B1,ENSG00000164037,protein_coding -14340,SLC9B2,ENSG00000164038,protein_coding -14341,BDH2,ENSG00000164039,protein_coding -14665,PGRMC2,ENSG00000164040,protein_coding -10431,CDC25A,ENSG00000164045,protein_coding -10436,CAMP,ENSG00000164047,protein_coding -10437,ZNF589,ENSG00000164048,protein_coding -10444,FBXW12,ENSG00000164049,protein_coding -10446,PLXNB1,ENSG00000164050,protein_coding -10447,CCDC51,ENSG00000164051,protein_coding -10450,ATRIP,ENSG00000164053,protein_coding -10452,SHISA5,ENSG00000164054,protein_coding -14620,SPRY1,ENSG00000164056,protein_coding -10512,BSN,ENSG00000164061,protein_coding -10514,APEH,ENSG00000164062,protein_coding -14652,INTU,ENSG00000164066,protein_coding -10517,RNF123,ENSG00000164068,protein_coding -14654,HSPA4L,ENSG00000164070,protein_coding -14660,MFSD8,ENSG00000164073,protein_coding -14661,ABHD18,ENSG00000164074,protein_coding -10528,CAMKV,ENSG00000164076,protein_coding -10534,MON1A,ENSG00000164077,protein_coding -10531,MST1R,ENSG00000164078,protein_coding -10583,RAD54L2,ENSG00000164080,protein_coding -10585,TEX264,ENSG00000164081,protein_coding -10588,GRM2,ENSG00000164082,protein_coding -10611,DUSP7,ENSG00000164086,protein_coding -10612,POC1A,ENSG00000164087,protein_coding -10621,PPM1M,ENSG00000164088,protein_coding -14408,ETNPPL,ENSG00000164089,protein_coding -10622,WDR82,ENSG00000164091,protein_coding -14447,PITX2,ENSG00000164093,protein_coding -14558,C4orf3,ENSG00000164096,protein_coding -14542,PRSS12,ENSG00000164099,protein_coding -14538,NDST3,ENSG00000164100,protein_coding -15242,HMGB2,ENSG00000164104,protein_coding -15244,SAP30,ENSG00000164105,protein_coding -15245,SCRG1,ENSG00000164106,protein_coding -15252,HAND2,ENSG00000164107,protein_coding -14576,MAD2L1,ENSG00000164109,protein_coding -14594,ANXA5,ENSG00000164111,protein_coding -14595,TMEM155,ENSG00000164112,protein_coding -14605,ADAD1,ENSG00000164113,protein_coding -15028,MAP9,ENSG00000164114,protein_coding -15045,GUCY1A1,ENSG00000164116,protein_coding -15262,FBXO8,ENSG00000164117,protein_coding -15263,CEP44,ENSG00000164118,protein_coding -15266,HPGD,ENSG00000164120,protein_coding -15287,ASB5,ENSG00000164122,protein_coding -15097,C4orf45,ENSG00000164123,protein_coding -15084,TMEM144,ENSG00000164124,protein_coding -15079,GASK1B,ENSG00000164125,protein_coding -15123,NPY1R,ENSG00000164128,protein_coding -15124,NPY5R,ENSG00000164129,protein_coding -14776,NAA15,ENSG00000164134,protein_coding -14819,IL15,ENSG00000164136,protein_coding -14953,FAM160A1,ENSG00000164142,protein_coding -14984,ARFIP1,ENSG00000164144,protein_coding -15619,ICE1,ENSG00000164151,protein_coding -14853,HHIP,ENSG00000164161,protein_coding -14855,ANAPC10,ENSG00000164162,protein_coding -14860,ABCE1,ENSG00000164163,protein_coding -14861,OTUD4,ENSG00000164164,protein_coding -14882,LSM6,ENSG00000164167,protein_coding -14905,TMEM184C,ENSG00000164168,protein_coding -14906,PRMT9,ENSG00000164169,protein_coding -16245,ITGA2,ENSG00000164171,protein_coding -16248,MOCS2,ENSG00000164172,protein_coding -16014,SLC45A2,ENSG00000164175,protein_coding -16790,EDIL3,ENSG00000164176,protein_coding -16834,TMEM161B,ENSG00000164180,protein_coding -16376,ELOVL7,ENSG00000164181,protein_coding -16381,NDUFAF2,ENSG00000164182,protein_coding -17241,ZNF474,ENSG00000164185,protein_coding -16052,LMBRD2,ENSG00000164187,protein_coding -16058,RANBP3L,ENSG00000164188,protein_coding -16068,NIPBL,ENSG00000164190,protein_coding -16412,RNF180,ENSG00000164197,protein_coding -16862,ADGRV1,ENSG00000164199,protein_coding -17090,SLC25A46,ENSG00000164209,protein_coding -17103,STARD4,ENSG00000164211,protein_coding -17146,PGGT1B,ENSG00000164219,protein_coding -16650,F2RL2,ENSG00000164220,protein_coding -17149,CCDC112,ENSG00000164221,protein_coding -15734,ANKRD33B,ENSG00000164236,protein_coding -15718,CMBL,ENSG00000164237,protein_coding -17307,C5orf63,ENSG00000164241,protein_coding -17319,PRRC1,ENSG00000164244,protein_coding -16655,F2RL1,ENSG00000164251,protein_coding -16660,AGGF1,ENSG00000164252,protein_coding -16670,WDR41,ENSG00000164253,protein_coding -15883,PRDM9,ENSG00000164256,protein_coding -16254,NDUFS4,ENSG00000164258,protein_coding -17825,SCGB3A2,ENSG00000164265,protein_coding -17823,SPINK1,ENSG00000164266,protein_coding -17844,HTR4,ENSG00000164270,protein_coding -16275,ESM1,ENSG00000164283,protein_coding -17858,GRPEL2,ENSG00000164284,protein_coding -16283,CDC20B,ENSG00000164287,protein_coding -16919,ARSK,ENSG00000164291,protein_coding -16924,RHOBTB3,ENSG00000164292,protein_coding -16284,GPX8,ENSG00000164294,protein_coding -17881,TIGD6,ENSG00000164296,protein_coding -16723,SPZ1,ENSG00000164299,protein_coding -16717,SERINC5,ENSG00000164300,protein_coding -15366,ENPP6,ENSG00000164303,protein_coding -18641,CAGE1,ENSG00000164304,protein_coding -15381,CASP3,ENSG00000164305,protein_coding -15382,PRIMPOL,ENSG00000164306,protein_coding -16944,ERAP1,ENSG00000164307,protein_coding -16948,ERAP2,ENSG00000164308,protein_coding -16707,CMYA5,ENSG00000164309,protein_coding -16092,EGFLAM,ENSG00000164318,protein_coding -15400,CFAP97,ENSG00000164323,protein_coding -16575,TMEM174,ENSG00000164325,protein_coding -16546,CARTPT,ENSG00000164326,protein_coding -16107,RICTOR,ENSG00000164327,protein_coding -16706,TENT2,ENSG00000164329,protein_coding -18035,EBF1,ENSG00000164330,protein_coding -16587,ANKRA2,ENSG00000164331,protein_coding -18044,UBLCP1,ENSG00000164332,protein_coding -17219,FAM170A,ENSG00000164334,protein_coding -16588,UTP15,ENSG00000164338,protein_coding -15418,TLR3,ENSG00000164342,protein_coding -15425,KLKB1,ENSG00000164344,protein_coding -16604,NSA2,ENSG00000164346,protein_coding -16602,GFM2,ENSG00000164347,protein_coding -15550,TERT,ENSG00000164362,protein_coding -15548,SLC6A18,ENSG00000164363,protein_coding -15508,CCDC127,ENSG00000164366,protein_coding -18511,FOXQ1,ENSG00000164379,protein_coding -19843,ADGRF2,ENSG00000164393,protein_coding -17365,ACSL6,ENSG00000164398,protein_coding -17368,IL3,ENSG00000164399,protein_coding -17369,CSF2,ENSG00000164400,protein_coding -17397,SEPT8,ENSG00000164402,protein_coding -17400,SHROOM1,ENSG00000164403,protein_coding -17402,GDF9,ENSG00000164404,protein_coding -17403,UQCRQ,ENSG00000164405,protein_coding -17404,LEAP2,ENSG00000164406,protein_coding -20317,GJB7,ENSG00000164411,protein_coding -20327,SLC35A1,ENSG00000164414,protein_coding -20470,GRIK2,ENSG00000164418,protein_coding -20137,CGAS,ENSG00000164430,protein_coding -20776,FABP7,ENSG00000164434,protein_coding -18168,TLX3,ENSG00000164438,protein_coding -21027,TXLNB,ENSG00000164440,protein_coding -21030,CITED2,ENSG00000164442,protein_coding -20700,CALHM4,ENSG00000164451,protein_coding -21425,TBXT,ENSG00000164458,protein_coding -18210,CREBRF,ENSG00000164463,protein_coding -20718,DCBLD1,ENSG00000164465,protein_coding -18256,SFXN1,ENSG00000164466,protein_coding -20851,SAMD3,ENSG00000164483,protein_coding -20852,TMEM200A,ENSG00000164484,protein_coding -20990,IL22RA2,ENSG00000164485,protein_coding -21487,DACT2,ENSG00000164488,protein_coding -20526,PDSS2,ENSG00000164494,protein_coding -22422,SPATA48,ENSG00000164500,protein_coding -21124,STXBP5,ENSG00000164506,protein_coding -18912,HIST1H2AA,ENSG00000164508,protein_coding -16304,IL31RA,ENSG00000164509,protein_coding -16311,ANKRD55,ENSG00000164512,protein_coding -21175,RAET1E,ENSG00000164520,protein_coding -19594,PI16,ENSG00000164530,protein_coding -22157,TBX20,ENSG00000164532,protein_coding -21696,DAGLB,ENSG00000164535,protein_coding -22186,KIAA0895,ENSG00000164542,protein_coding -22298,STK17A,ENSG00000164543,protein_coding -21920,TRA2A,ENSG00000164548,protein_coding -17955,GALNT10,ENSG00000164574,protein_coding -17961,SAP30L,ENSG00000164576,protein_coding -17896,RPS14,ENSG00000164587,protein_coding -16208,HCN1,ENSG00000164588,protein_coding -17902,MYOZ3,ENSG00000164591,protein_coding -23556,COG5,ENSG00000164597,protein_coding -22103,NEUROD6,ENSG00000164600,protein_coding -23619,BMT2,ENSG00000164603,protein_coding -23622,GPR85,ENSG00000164604,protein_coding -18065,SLU7,ENSG00000164609,protein_coding -22132,RP9,ENSG00000164610,protein_coding -18066,PTTG1,ENSG00000164611,protein_coding -17460,CAMLG,ENSG00000164615,protein_coding -22142,BMPER,ENSG00000164619,protein_coding -17734,RELL2,ENSG00000164620,protein_coding -19637,KCNK5,ENSG00000164626,protein_coding -19640,KIF6,ENSG00000164627,protein_coding -21707,ZNF12,ENSG00000164631,protein_coding -21658,SLC29A4,ENSG00000164638,protein_coding -23134,TEX47,ENSG00000164645,protein_coding -23140,STEAP1,ENSG00000164647,protein_coding -21887,CDCA7L,ENSG00000164649,protein_coding -21875,SP8,ENSG00000164651,protein_coding -21731,MIOS,ENSG00000164654,protein_coding -23102,KIAA1324L,ENSG00000164659,protein_coding -19696,USP49,ENSG00000164663,protein_coding -21322,SYTL3,ENSG00000164674,protein_coding -23746,IQUB,ENSG00000164675,protein_coding -28418,HEY1,ENSG00000164683,protein_coding -28448,ZNF704,ENSG00000164684,protein_coding -28462,FABP5,ENSG00000164687,protein_coding -24508,SHH,ENSG00000164690,protein_coding -21334,TAGAP,ENSG00000164691,protein_coding -23213,COL1A2,ENSG00000164692,protein_coding -21339,FNDC1,ENSG00000164694,protein_coding -28478,CHMP4C,ENSG00000164695,protein_coding -23988,SLC13A4,ENSG00000164707,protein_coding -22319,PGAM2,ENSG00000164708,protein_coding -23284,BRI3,ENSG00000164713,protein_coding -23281,LMTK2,ENSG00000164715,protein_coding -50289,SLC35G3,ENSG00000164729,protein_coding -27279,CTSB,ENSG00000164733,protein_coding -28058,SOX17,ENSG00000164736,protein_coding -27346,DLC1,ENSG00000164741,protein_coding -22367,ADCY1,ENSG00000164742,protein_coding -27352,C8orf48,ENSG00000164743,protein_coding -22404,SUN3,ENSG00000164744,protein_coding -22405,C7orf57,ENSG00000164746,protein_coding -28385,HNF4G,ENSG00000164749,protein_coding -28398,PEX2,ENSG00000164751,protein_coding -28964,RAD21,ENSG00000164754,protein_coding -28968,SLC30A8,ENSG00000164756,protein_coding -28975,MED30,ENSG00000164758,protein_coding -28982,TNFRSF11B,ENSG00000164761,protein_coding -28332,SBSPON,ENSG00000164764,protein_coding -22518,PHKG1,ENSG00000164776,protein_coding -24501,EN2,ENSG00000164778,protein_coding -28926,KCNV1,ENSG00000164794,protein_coding -28944,CSMD3,ENSG00000164796,protein_coding -27960,SPIDR,ENSG00000164808,protein_coding -23509,ORC5,ENSG00000164815,protein_coding -27091,DEFA5,ENSG00000164816,protein_coding -21569,DNAAF5,ENSG00000164818,protein_coding -27080,DEFA4,ENSG00000164821,protein_coding -27078,DEFA6,ENSG00000164822,protein_coding -28574,OSGIN2,ENSG00000164823,protein_coding -27076,DEFB1,ENSG00000164825,protein_coding -21570,SUN1,ENSG00000164828,protein_coding -28888,OXR1,ENSG00000164830,protein_coding -28911,TMEM74,ENSG00000164841,protein_coding -21579,GPR146,ENSG00000164849,protein_coding -21583,GPER1,ENSG00000164850,protein_coding -21586,UNCX,ENSG00000164853,protein_coding -21594,TMEM184A,ENSG00000164855,protein_coding -24406,NOS3,ENSG00000164867,protein_coding -27120,SPAG11B,ENSG00000164871,protein_coding -21588,MICALL2,ENSG00000164877,protein_coding -28513,CA3,ENSG00000164879,protein_coding -21591,INTS1,ENSG00000164880,protein_coding -24411,CDK5,ENSG00000164885,protein_coding -24412,SLC4A2,ENSG00000164889,protein_coding -28539,SLC7A13,ENSG00000164893,protein_coding -24414,FASTK,ENSG00000164896,protein_coding -24415,TMUB1,ENSG00000164897,protein_coding -24049,FMC1,ENSG00000164898,protein_coding -24417,GBX1,ENSG00000164900,protein_coding -17298,PHAX,ENSG00000164902,protein_coding -17296,ALDH7A1,ENSG00000164904,protein_coding -21638,FOXK1,ENSG00000164916,protein_coding -28751,COX6C,ENSG00000164919,protein_coding -28734,OSR2,ENSG00000164920,protein_coding -28783,YWHAZ,ENSG00000164924,protein_coding -28845,BAALC,ENSG00000164929,protein_coding -28849,FZD6,ENSG00000164930,protein_coding -28851,CTHRC1,ENSG00000164932,protein_coding -28854,SLC25A32,ENSG00000164933,protein_coding -28856,DCAF13,ENSG00000164934,protein_coding -28865,DCSTAMP,ENSG00000164935,protein_coding -28666,TP53INP1,ENSG00000164938,protein_coding -28661,INTS8,ENSG00000164941,protein_coding -28647,VIRMA,ENSG00000164944,protein_coding -29657,FREM1,ENSG00000164946,protein_coding -28643,GEM,ENSG00000164949,protein_coding -28634,PDP1,ENSG00000164951,protein_coding -28631,TMEM67,ENSG00000164953,protein_coding -29095,WASHC5,ENSG00000164961,protein_coding -29960,RPP25L,ENSG00000164967,protein_coding -29952,FAM219A,ENSG00000164970,protein_coding -29950,C9orf24,ENSG00000164972,protein_coding -29668,SNAPC3,ENSG00000164975,protein_coding -29949,MYORG,ENSG00000164976,protein_coding -29948,NUDT2,ENSG00000164978,protein_coding -29076,TMEM65,ENSG00000164983,protein_coding -29670,PSIP1,ENSG00000164985,protein_coding -29675,CCDC171,ENSG00000164989,protein_coding -29940,UBAP1,ENSG00000165006,protein_coding -30712,DIRAS2,ENSG00000165023,protein_coding -30715,SYK,ENSG00000165025,protein_coding -31011,NIPSNAP3B,ENSG00000165028,protein_coding -31012,ABCA1,ENSG00000165029,protein_coding -30726,NFIL3,ENSG00000165030,protein_coding -27805,LETM2,ENSG00000165046,protein_coding -23820,METTL2B,ENSG00000165055,protein_coding -30425,PRKACG,ENSG00000165059,protein_coding -30426,FXN,ENSG00000165060,protein_coding -27847,ZMAT4,ENSG00000165061,protein_coding -27865,NKX6-3,ENSG00000165066,protein_coding -29186,TMEM71,ENSG00000165071,protein_coding -30441,MAMDC2,ENSG00000165072,protein_coding -24111,PRSS37,ENSG00000165076,protein_coding -28255,CPA6,ENSG00000165078,protein_coding -28265,C8orf34,ENSG00000165084,protein_coding -30473,TMC1,ENSG00000165091,protein_coding -30477,ALDH1A1,ENSG00000165092,protein_coding -18808,KDM1B,ENSG00000165097,protein_coding -27907,HGSNAT,ENSG00000165102,protein_coding -30584,RASEF,ENSG00000165105,protein_coding -30596,GKAP1,ENSG00000165113,protein_coding -30599,KIF27,ENSG00000165115,protein_coding -30600,C9orf64,ENSG00000165118,protein_coding -30601,HNRNPK,ENSG00000165119,protein_coding -23890,SSMEM1,ENSG00000165120,protein_coding -31090,SVEP1,ENSG00000165124,protein_coding -24211,TRPV6,ENSG00000165125,protein_coding -24215,LLCFC1,ENSG00000165131,protein_coding -30920,ANKS6,ENSG00000165138,protein_coding -30813,FBP1,ENSG00000165140,protein_coding -30974,TMEM246,ENSG00000165152,protein_coding -29047,ZHX1,ENSG00000165156,protein_coding -24966,CFAP47,ENSG00000165164,protein_coding -24990,CYBB,ENSG00000165168,protein_coding -24991,DYNLT3,ENSG00000165169,protein_coding -22911,METTL27,ENSG00000165171,protein_coding -25012,MID1IP1,ENSG00000165175,protein_coding -31111,SHOC1,ENSG00000165181,protein_coding -24850,CXorf58,ENSG00000165182,protein_coding -31130,KIAA1958,ENSG00000165185,protein_coding -24841,PTCHD1,ENSG00000165186,protein_coding -31154,RNF183,ENSG00000165188,protein_coding -24731,ASB11,ENSG00000165192,protein_coding -25935,PCDH19,ENSG00000165194,protein_coding -24732,PIGA,ENSG00000165195,protein_coding -24733,VEGFD,ENSG00000165197,protein_coding -31273,OR1Q1,ENSG00000165202,protein_coding -31283,OR1K1,ENSG00000165204,protein_coding -31297,STRBP,ENSG00000165209,protein_coding -22909,CLDN3,ENSG00000165215,protein_coding -31339,GAPVD1,ENSG00000165219,protein_coding -30775,CARD19,ENSG00000165233,protein_coding -30778,WNK2,ENSG00000165238,protein_coding -25764,ATP7A,ENSG00000165240,protein_coding -30857,ZNF367,ENSG00000165244,protein_coding -57943,NLGN4Y,ENSG00000165246,protein_coding -25817,HDX,ENSG00000165259,protein_coding -29871,NDUFB6,ENSG00000165264,protein_coding -29897,AQP7,ENSG00000165269,protein_coding -29901,NOL6,ENSG00000165271,protein_coding -29899,AQP3,ENSG00000165272,protein_coding -30089,TRMT10B,ENSG00000165275,protein_coding -29990,VCP,ENSG00000165280,protein_coding -29992,PIGO,ENSG00000165282,protein_coding -29994,STOML2,ENSG00000165283,protein_coding -25791,BRWD3,ENSG00000165288,protein_coding -41552,SLITRK5,ENSG00000165300,protein_coding -30056,MELK,ENSG00000165304,protein_coding -35541,ARMC3,ENSG00000165309,protein_coding -35552,OTUD1,ENSG00000165312,protein_coding -35698,ARHGAP12,ENSG00000165322,protein_coding -34280,FAT3,ENSG00000165323,protein_coding -34300,DEUP1,ENSG00000165325,protein_coding -36711,HECTD2,ENSG00000165338,protein_coding -25596,SLC7A3,ENSG00000165349,protein_coding -42633,FBXO33,ENSG00000165355,protein_coding -26553,INTS6L,ENSG00000165359,protein_coding -26602,GPR101,ENSG00000165370,protein_coding -26099,CLDN2,ENSG00000165376,protein_coding -42643,LRFN5,ENSG00000165379,protein_coding -36018,LRRC18,ENSG00000165383,protein_coding -42517,SPTSSA,ENSG00000165389,protein_coding -27689,WRN,ENSG00000165392,protein_coding -35930,MARCH8,ENSG00000165406,protein_coding -43411,TSHR,ENSG00000165409,protein_coding -42530,CFL2,ENSG00000165410,protein_coding -41246,SUGT1,ENSG00000165416,protein_coding -43418,GTF2A1,ENSG00000165417,protein_coding -36477,ZCCHC24,ENSG00000165424,protein_coding -33928,PGM2L1,ENSG00000165434,protein_coding -36123,PHYHIPL,ENSG00000165443,protein_coding -36129,SLC16A9,ENSG00000165449,protein_coding -33853,FOLR2,ENSG00000165457,protein_coding -33854,INPPL1,ENSG00000165458,protein_coding -33855,PHOX2A,ENSG00000165462,protein_coding -36082,MBL2,ENSG00000165471,protein_coding -40611,GJB2,ENSG00000165474,protein_coding -40614,CRYL1,ENSG00000165475,protein_coding -36171,REEP3,ENSG00000165476,protein_coding -34974,HEPACAM,ENSG00000165478,protein_coding -40639,SKA3,ENSG00000165480,protein_coding -40653,MICU2,ENSG00000165487,protein_coding -34092,DDIAS,ENSG00000165490,protein_coding -34104,PCF11,ENSG00000165494,protein_coding -34983,PKNOX2,ENSG00000165495,protein_coding -42691,RPL10L,ENSG00000165496,protein_coding -42716,LRR1,ENSG00000165501,protein_coding -42719,RPL36AL,ENSG00000165502,protein_coding -42722,DNAAF2,ENSG00000165506,protein_coding -35908,DEPP1,ENSG00000165507,protein_coding -26656,MAGEC3,ENSG00000165509,protein_coding -35910,ZNF22,ENSG00000165512,protein_coding -42730,KLHDC2,ENSG00000165516,protein_coding -43489,AL121768.1,ENSG00000165521,protein_coding -42731,NEMF,ENSG00000165525,protein_coding -35012,RPUSD4,ENSG00000165526,protein_coding -42738,ARF6,ENSG00000165527,protein_coding -43492,TTC8,ENSG00000165533,protein_coding -43364,TMEM63C,ENSG00000165548,protein_coding -43369,NGB,ENSG00000165553,protein_coding -43376,NOXRED1,ENSG00000165555,protein_coding -40791,CDX2,ENSG00000165556,protein_coding -40730,AMER2,ENSG00000165566,protein_coding -35225,AKR1E2,ENSG00000165568,protein_coding -40991,KBTBD6,ENSG00000165572,protein_coding -25186,SSX5,ENSG00000165583,protein_coding -25201,SSX3,ENSG00000165584,protein_coding -42890,OTX2,ENSG00000165588,protein_coding -25473,FAAH2,ENSG00000165591,protein_coding -36028,DRGX,ENSG00000165606,protein_coding -35357,NUDT5,ENSG00000165609,protein_coding -42933,DACT1,ENSG00000165617,protein_coding -41652,OXGR1,ENSG00000165621,protein_coding -35380,UCMA,ENSG00000165623,protein_coding -35386,BEND7,ENSG00000165626,protein_coding -35304,ATP5F1C,ENSG00000165629,protein_coding -35389,PRPF18,ENSG00000165630,protein_coding -35305,TAF3,ENSG00000165632,protein_coding -36022,VSTM4,ENSG00000165633,protein_coding -36417,VDAC2,ENSG00000165637,protein_coding -31649,SOHLH1,ENSG00000165643,protein_coding -36418,COMTD1,ENSG00000165644,protein_coding -37189,SLC18A2,ENSG00000165646,protein_coding -37191,PDZD8,ENSG00000165650,protein_coding -36425,ZNF503,ENSG00000165655,protein_coding -37318,ABRAXAS2,ENSG00000165660,protein_coding -31659,QSOX2,ENSG00000165661,protein_coding -37202,FAM204A,ENSG00000165669,protein_coding -18308,NSD1,ENSG00000165671,protein_coding -37219,PRDX3,ENSG00000165672,protein_coding -26442,ENOX2,ENSG00000165675,protein_coding -36557,GHITM,ENSG00000165678,protein_coding -37851,CLEC1B,ENSG00000165682,protein_coding -31667,SNAPC4,ENSG00000165684,protein_coding -37861,TMEM52B,ENSG00000165685,protein_coding -31669,PMPCA,ENSG00000165688,protein_coding -31668,ENTR1,ENSG00000165689,protein_coding -26469,FRMD7,ENSG00000165694,protein_coding -31554,AK8,ENSG00000165695,protein_coding -31556,SPACA9,ENSG00000165698,protein_coding -31557,TSC1,ENSG00000165699,protein_coding -31558,GFI1B,ENSG00000165702,protein_coding -26503,HPRT1,ENSG00000165704,protein_coding -37939,BORCS5,ENSG00000165714,protein_coding -31683,DIPK1B,ENSG00000165716,protein_coding -31770,ZMYND19,ENSG00000165724,protein_coding -36234,STOX1,ENSG00000165730,protein_coding -35858,RET,ENSG00000165731,protein_coding -36239,DDX21,ENSG00000165732,protein_coding -35853,BMS1,ENSG00000165733,protein_coding -37412,STK32C,ENSG00000165752,protein_coding -35660,JCAD,ENSG00000165757,protein_coding -42011,OR4K2,ENSG00000165762,protein_coding -26947,FUNDC2,ENSG00000165775,protein_coding -42054,PIP4P1,ENSG00000165782,protein_coding -42088,METTL17,ENSG00000165792,protein_coding -42090,SLC39A2,ENSG00000165794,protein_coding -42091,NDRG2,ENSG00000165795,protein_coding -42097,RNASE7,ENSG00000165799,protein_coding -42099,ARHGEF40,ENSG00000165801,protein_coding -31765,NSMF,ENSG00000165802,protein_coding -42100,ZNF219,ENSG00000165804,protein_coding -39464,C12orf50,ENSG00000165805,protein_coding -37129,CASP7,ENSG00000165806,protein_coding -43041,PPP1R36,ENSG00000165807,protein_coding -18454,BTNL9,ENSG00000165810,protein_coding -37141,CCDC186,ENSG00000165813,protein_coding -37145,VWA2,ENSG00000165816,protein_coding -42121,METTL3,ENSG00000165819,protein_coding -42122,SALL2,ENSG00000165821,protein_coding -37443,PRAP1,ENSG00000165828,protein_coding -37158,TRUB1,ENSG00000165832,protein_coding -41083,ERICH6B,ENSG00000165837,protein_coding -36780,CYP2C19,ENSG00000165841,protein_coding -43216,ZFYVE1,ENSG00000165861,protein_coding -37175,C10orf82,ENSG00000165863,protein_coding -37177,HSPA12A,ENSG00000165868,protein_coding -36835,FRAT1,ENSG00000165879,protein_coding -36846,UBTD1,ENSG00000165886,protein_coding -36847,ANKRD2,ENSG00000165887,protein_coding -39369,E2F7,ENSG00000165891,protein_coding -34402,ARHGAP42,ENSG00000165895,protein_coding -43282,ISCA2,ENSG00000165898,protein_coding -39400,OTOGL,ENSG00000165899,protein_coding -32817,LARGE2,ENSG00000165905,protein_coding -32852,PACSIN3,ENSG00000165912,protein_coding -43526,TTC7B,ENSG00000165914,protein_coding -32866,SLC39A13,ENSG00000165915,protein_coding -32867,PSMC3,ENSG00000165916,protein_coding -32868,RAPSN,ENSG00000165917,protein_coding -32880,AGBL2,ENSG00000165923,protein_coding -43554,TC2N,ENSG00000165929,protein_coding -43560,CPSF2,ENSG00000165934,protein_coding -38186,SMCO2,ENSG00000165935,protein_coding -43574,MOAP1,ENSG00000165943,protein_coding -43598,IFI27L1,ENSG00000165948,protein_coding -43599,IFI27,ENSG00000165949,protein_coding -43609,SERPINA12,ENSG00000165953,protein_coding -43629,CLMN,ENSG00000165959,protein_coding -38377,PDZRN4,ENSG00000165966,protein_coding -32498,SLC6A5,ENSG00000165970,protein_coding -39609,CCDC38,ENSG00000165972,protein_coding -32499,NELL1,ENSG00000165973,protein_coding -35436,PTER,ENSG00000165983,protein_coding -35438,C1QL3,ENSG00000165985,protein_coding -35465,CACNB2,ENSG00000165995,protein_coding -35454,HACD1,ENSG00000165996,protein_coding -35470,ARL5B,ENSG00000165997,protein_coding -34301,SMCO4,ENSG00000166002,protein_coding -34307,CEP295,ENSG00000166004,protein_coding -39325,KCNC2,ENSG00000166006,protein_coding -34313,TAF1D,ENSG00000166012,protein_coding -32665,ABTB2,ENSG00000166016,protein_coding -36861,R3HCC1L,ENSG00000166024,protein_coding -34348,AMOTL1,ENSG00000166025,protein_coding -37275,HTRA1,ENSG00000166033,protein_coding -45299,LIPC,ENSG00000166035,protein_coding -34372,CEP57,ENSG00000166037,protein_coding -39801,TCP11L2,ENSG00000166046,protein_coding -26795,PASD1,ENSG00000166049,protein_coding -44784,SPRED1,ENSG00000166068,protein_coding -44780,TMCO5A,ENSG00000166069,protein_coding -44807,GPR176,ENSG00000166073,protein_coding -35126,JAM3,ENSG00000166086,protein_coding -42320,IL25,ENSG00000166090,protein_coding -42321,CMTM5,ENSG00000166091,protein_coding -35134,GLB1L3,ENSG00000166105,protein_coding -35084,ADAMTS15,ENSG00000166106,protein_coding -39855,SVOP,ENSG00000166111,protein_coding -35118,SPATA19,ENSG00000166118,protein_coding -47868,GPT2,ENSG00000166123,protein_coding -43903,AMN,ENSG00000166126,protein_coding -45413,RAB8B,ENSG00000166128,protein_coding -39666,IKBIP,ENSG00000166130,protein_coding -44850,RPUSD2,ENSG00000166133,protein_coding -36913,HIF1AN,ENSG00000166135,protein_coding -36912,NDUFB8,ENSG00000166136,protein_coding -44862,ZFYVE19,ENSG00000166140,protein_coding -44863,PPP1R14D,ENSG00000166143,protein_coding -44865,SPINT1,ENSG00000166145,protein_coding -45098,FBN1,ENSG00000166147,protein_coding -39105,AVPR1A,ENSG00000166148,protein_coding -47923,C16orf78,ENSG00000166152,protein_coding -39685,DEPDC4,ENSG00000166153,protein_coding -37524,LRTM2,ENSG00000166159,protein_coding -26892,OPN1MW2,ENSG00000166160,protein_coding -47952,BRD7,ENSG00000166164,protein_coding -43928,CKB,ENSG00000166165,protein_coding -43930,TRMT61A,ENSG00000166166,protein_coding -36940,BTRC,ENSG00000166167,protein_coding -36943,POLL,ENSG00000166169,protein_coding -43933,BAG5,ENSG00000166170,protein_coding -36942,DPCD,ENSG00000166171,protein_coding -45602,LARP6,ENSG00000166173,protein_coding -32746,API5,ENSG00000166181,protein_coding -43956,ASPG,ENSG00000166183,protein_coding -48159,ZNF319,ENSG00000166188,protein_coding -36958,HPS6,ENSG00000166189,protein_coding -45622,SENP8,ENSG00000166192,protein_coding -36963,NOLC1,ENSG00000166197,protein_coding -32767,ALKBH3,ENSG00000166199,protein_coding -45116,COPS2,ENSG00000166200,protein_coding -44515,GABRB3,ENSG00000166206,protein_coding -39708,SPIC,ENSG00000166211,protein_coding -36287,TBATA,ENSG00000166220,protein_coding -36289,SGPL1,ENSG00000166224,protein_coding -39254,FRS2,ENSG00000166225,protein_coding -39257,CCT2,ENSG00000166226,protein_coding -36290,PCBD1,ENSG00000166228,protein_coding -45639,ARIH1,ENSG00000166233,protein_coding -46812,C16orf71,ENSG00000166246,protein_coding -34893,CLMP,ENSG00000166250,protein_coding -34902,SCN3B,ENSG00000166257,protein_coding -51147,COX11,ENSG00000166260,protein_coding -34904,ZNF202,ENSG00000166261,protein_coding -45123,FAM227B,ENSG00000166262,protein_coding -51150,STXBP4,ENSG00000166263,protein_coding -59996,CYYR1,ENSG00000166265,protein_coding -34514,CUL5,ENSG00000166266,protein_coding -39264,MYRFL,ENSG00000166268,protein_coding -36984,WBP1L,ENSG00000166272,protein_coding -36990,BORCS7,ENSG00000166275,protein_coding -19369,C2,ENSG00000166278,protein_coding -56098,PLEKHF1,ENSG00000166289,protein_coding -51159,TMEM100,ENSG00000166292,protein_coding -36312,ANAPC16,ENSG00000166295,protein_coding -32165,SMPD1,ENSG00000166311,protein_coding -32166,APBB1,ENSG00000166313,protein_coding -36367,SYNPO2L,ENSG00000166317,protein_coding -36341,NUDT13,ENSG00000166321,protein_coding -34522,C11orf65,ENSG00000166323,protein_coding -32692,TRIM44,ENSG00000166326,protein_coding -51195,CCDC182,ENSG00000166329,protein_coding -32176,ILK,ENSG00000166333,protein_coding -32177,TAF10,ENSG00000166337,protein_coding -32180,TPP1,ENSG00000166340,protein_coding -32182,DCHS1,ENSG00000166341,protein_coding -53152,NETO1,ENSG00000166342,protein_coding -36358,MSS51,ENSG00000166343,protein_coding -53168,CYB5A,ENSG00000166347,protein_coding -36361,USP54,ENSG00000166348,protein_coding -32710,RAG1,ENSG00000166349,protein_coding -59803,POTED,ENSG00000166351,protein_coding -32712,C11orf74,ENSG00000166352,protein_coding -56163,WDR88,ENSG00000166359,protein_coding -32194,OR10A5,ENSG00000166363,protein_coding -32197,OR2D2,ENSG00000166368,protein_coding -53256,ATP9B,ENSG00000166377,protein_coding -32208,PPFIBP2,ENSG00000166387,protein_coding -33983,MOGAT2,ENSG00000166391,protein_coding -32210,CYB5R2,ENSG00000166394,protein_coding -53065,SERPINB7,ENSG00000166396,protein_coding -56191,KIAA0355,ENSG00000166398,protein_coding -53070,SERPINB8,ENSG00000166401,protein_coding -32231,TUB,ENSG00000166402,protein_coding -32235,RIC3,ENSG00000166405,protein_coding -32237,LMO1,ENSG00000166407,protein_coding -45827,IDH3A,ENSG00000166411,protein_coding -45219,WDR72,ENSG00000166415,protein_coding -45838,CRABP1,ENSG00000166426,protein_coding -43987,PLD4,ENSG00000166428,protein_coding -25985,ZMAT1,ENSG00000166432,protein_coding -33948,XRRA1,ENSG00000166435,protein_coding -32240,TRIM66,ENSG00000166436,protein_coding -33947,RNF169,ENSG00000166439,protein_coding -32242,RPL27A,ENSG00000166441,protein_coding -32245,ST5,ENSG00000166444,protein_coding -48698,CDYL2,ENSG00000166446,protein_coding -23292,TMEM130,ENSG00000166448,protein_coding -45245,PRTG,ENSG00000166450,protein_coding -48705,CENPN,ENSG00000166451,protein_coding -32250,AKIP1,ENSG00000166452,protein_coding -48709,ATMIN,ENSG00000166454,protein_coding -48710,C16orf46,ENSG00000166455,protein_coding -32265,TMEM41B,ENSG00000166471,protein_coding -45190,LEO1,ENSG00000166477,protein_coding -32271,ZNF143,ENSG00000166478,protein_coding -53108,TMX3,ENSG00000166479,protein_coding -49765,MFAP4,ENSG00000166482,protein_coding -32272,WEE1,ENSG00000166483,protein_coding -49764,MAPK7,ENSG00000166484,protein_coding -47293,PRKCB,ENSG00000166501,protein_coding -45982,HDGFL3,ENSG00000166503,protein_coding -36387,NDST2,ENSG00000166507,protein_coding -23346,MCM7,ENSG00000166508,protein_coding -48654,CLEC3A,ENSG00000166509,protein_coding -52911,CCDC68,ENSG00000166510,protein_coding -37782,CLEC4E,ENSG00000166523,protein_coding -23344,ZNF3,ENSG00000166526,protein_coding -37780,CLEC4D,ENSG00000166527,protein_coding -23343,ZSCAN21,ENSG00000166529,protein_coding -37792,RIMKLB,ENSG00000166532,protein_coding -37797,A2ML1,ENSG00000166535,protein_coding -48251,BEAN1,ENSG00000166546,protein_coding -48255,TK2,ENSG00000166548,protein_coding -45867,TMED3,ENSG00000166557,protein_coding -48766,SLC38A8,ENSG00000166558,protein_coding -52987,SEC11C,ENSG00000166562,protein_coding -52990,CPLX4,ENSG00000166569,protein_coding -53235,GALR1,ENSG00000166573,protein_coding -34168,TMEM135,ENSG00000166575,protein_coding -39976,IQCD,ENSG00000166578,protein_coding -49416,NDEL1,ENSG00000166579,protein_coding -49588,CENPV,ENSG00000166582,protein_coding -48277,CDH16,ENSG00000166589,protein_coding -48278,RRAD,ENSG00000166592,protein_coding -48279,CIAO2B,ENSG00000166595,protein_coding -49437,CFAP52,ENSG00000166596,protein_coding -39760,HSP90B1,ENSG00000166598,protein_coding -53016,MC4R,ENSG00000166603,protein_coding -54090,BLCAP,ENSG00000166619,protein_coding -53060,SERPINB12,ENSG00000166634,protein_coding -44609,CHRFAM7A,ENSG00000166664,protein_coding -46903,ATF7IP2,ENSG00000166669,protein_coding -34437,MMP10,ENSG00000166670,protein_coding -46922,TVP23A,ENSG00000166676,protein_coding -26045,BEX3,ENSG00000166681,protein_coding -34636,TMPRSS5,ENSG00000166682,protein_coding -51609,COG1,ENSG00000166685,protein_coding -32392,PLEKHA7,ENSG00000166689,protein_coding -57676,ZNF606,ENSG00000166704,protein_coding -26075,ZCCHC18,ENSG00000166707,protein_coding -45010,B2M,ENSG00000166710,protein_coding -46029,ZNF592,ENSG00000166716,protein_coding -44997,CASC4,ENSG00000166734,protein_coding -34651,HTR3A,ENSG00000166736,protein_coding -34655,NNMT,ENSG00000166741,protein_coding -47191,ACSM1,ENSG00000166743,protein_coding -48509,AP1G1,ENSG00000166747,protein_coding -50291,SLFN5,ENSG00000166750,protein_coding -44973,CATSPER2,ENSG00000166762,protein_coding -47052,BMERB1,ENSG00000166780,protein_coding -47053,MARF1,ENSG00000166783,protein_coding -32421,SAAL1,ENSG00000166788,protein_coding -33131,YPEL4,ENSG00000166793,protein_coding -45432,PPIB,ENSG00000166794,protein_coding -32444,LDHC,ENSG00000166796,protein_coding -45428,CIAO2A,ENSG00000166797,protein_coding -32446,LDHAL6A,ENSG00000166800,protein_coding -33201,FAM111A,ENSG00000166801,protein_coding -45436,PCLAF,ENSG00000166803,protein_coding -46124,KIF7,ENSG00000166813,protein_coding -48584,LDHD,ENSG00000166816,protein_coding -46125,PLIN1,ENSG00000166819,protein_coding -46126,PEX11A,ENSG00000166821,protein_coding -48600,TMEM170A,ENSG00000166822,protein_coding -46131,MESP1,ENSG00000166823,protein_coding -46134,ANPEP,ENSG00000166825,protein_coding -47267,SCNN1G,ENSG00000166828,protein_coding -45450,RBPMS2,ENSG00000166831,protein_coding -32480,NAV2,ENSG00000166833,protein_coding -45456,ANKDD1A,ENSG00000166839,protein_coding -33190,GLYATL1,ENSG00000166840,protein_coding -52901,C18orf54,ENSG00000166845,protein_coding -47284,DCTN5,ENSG00000166847,protein_coding -48616,TERF2IP,ENSG00000166848,protein_coding -47286,PLK1,ENSG00000166851,protein_coding -45470,CLPX,ENSG00000166855,protein_coding -38981,GPR182,ENSG00000166856,protein_coding -38982,ZBTB39,ENSG00000166860,protein_coding -59183,CACNG2,ENSG00000166862,protein_coding -38983,TAC3,ENSG00000166863,protein_coding -38984,MYO1A,ENSG00000166866,protein_coding -47292,CHP2,ENSG00000166869,protein_coding -38985,NEMP1,ENSG00000166881,protein_coding -33216,OR4D6,ENSG00000166884,protein_coding -38986,NAB2,ENSG00000166886,protein_coding -44919,VPS39,ENSG00000166887,protein_coding -38987,STAT6,ENSG00000166888,protein_coding -33227,PATL1,ENSG00000166889,protein_coding -39043,ATP23,ENSG00000166896,protein_coding -59213,ELFN2,ENSG00000166897,protein_coding -33231,STX3,ENSG00000166900,protein_coding -33237,MRPL16,ENSG00000166902,protein_coding -39013,PIP4K2C,ENSG00000166908,protein_coding -44643,MTMR10,ENSG00000166912,protein_coding -54239,YWHAB,ENSG00000166913,protein_coding -45050,C15orf48,ENSG00000166920,protein_coding -44685,SCG5,ENSG00000166922,protein_coding -44688,GREM1,ENSG00000166923,protein_coding -23383,NYAP1,ENSG00000166924,protein_coding -23381,TSC22D4,ENSG00000166925,protein_coding -33255,MS4A6E,ENSG00000166926,protein_coding -33256,MS4A7,ENSG00000166927,protein_coding -33257,MS4A14,ENSG00000166928,protein_coding -33258,MS4A5,ENSG00000166930,protein_coding -45501,DIS3L,ENSG00000166938,protein_coding -44954,CCNDBP1,ENSG00000166946,protein_coding -44955,EPB42,ENSG00000166947,protein_coding -53365,TGM6,ENSG00000166948,protein_coding -45530,SMAD3,ENSG00000166949,protein_coding -33264,MS4A8,ENSG00000166959,protein_coding -52637,CCDC178,ENSG00000166960,protein_coding -33266,AP004243.1,ENSG00000166961,protein_coding -44967,MAP1A,ENSG00000166963,protein_coding -46194,RCCD1,ENSG00000166965,protein_coding -48026,AKTIP,ENSG00000166971,protein_coding -52650,MAPRE2,ENSG00000166974,protein_coding -60117,EVA1C,ENSG00000166979,protein_coding -21456,TCP10L2,ENSG00000166984,protein_coding -39005,MARS,ENSG00000166986,protein_coding -39010,MBD6,ENSG00000166987,protein_coding -23353,CNPY4,ENSG00000166997,protein_coding -44983,PDIA3,ENSG00000167004,protein_coding -48084,NUDT21,ENSG00000167005,protein_coding -23424,NAT16,ENSG00000167011,protein_coding -45020,TERB2,ENSG00000167014,protein_coding -27531,NKX3-1,ENSG00000167034,protein_coding -58833,SGSM1,ENSG00000167037,protein_coding -59019,DUSP18,ENSG00000167065,protein_coding -59375,TEF,ENSG00000167074,protein_coding -59392,MEI1,ENSG00000167077,protein_coding -51016,B4GALNT2,ENSG00000167080,protein_coding -31350,PBX3,ENSG00000167081,protein_coding -51018,GNGT2,ENSG00000167083,protein_coding -51028,PHB,ENSG00000167085,protein_coding -52442,SNRPD1,ENSG00000167088,protein_coding -31383,TTC16,ENSG00000167094,protein_coding -53937,SUN5,ENSG00000167098,protein_coding -51061,SAMD14,ENSG00000167100,protein_coding -31400,PIP5KL1,ENSG00000167103,protein_coding -53939,BPIFB6,ENSG00000167104,protein_coding -51072,TMEM92,ENSG00000167105,protein_coding -31403,FAM102A,ENSG00000167106,protein_coding -51081,ACSF2,ENSG00000167107,protein_coding -31417,GOLGA2,ENSG00000167110,protein_coding -31419,TRUB2,ENSG00000167112,protein_coding -31421,COQ4,ENSG00000167113,protein_coding -31422,SLC27A4,ENSG00000167114,protein_coding -51101,ANKRD40CL,ENSG00000167117,protein_coding -31424,URM1,ENSG00000167118,protein_coding -31429,CERCAM,ENSG00000167123,protein_coding -31464,DOLPP1,ENSG00000167130,protein_coding -50824,CCDC103,ENSG00000167131,protein_coding -31451,ENDOG,ENSG00000167136,protein_coding -45671,TBC1D21,ENSG00000167139,protein_coding -31490,PRRX2,ENSG00000167157,protein_coding -9469,UGT1A6,ENSG00000167165,protein_coding -45732,C15orf39,ENSG00000167173,protein_coding -45681,ISLR2,ENSG00000167178,protein_coding -50940,SP2,ENSG00000167182,protein_coding -50946,PRR15L,ENSG00000167183,protein_coding -47144,COQ7,ENSG00000167186,protein_coding -47172,GPRC5B,ENSG00000167191,protein_coding -49035,CRK,ENSG00000167193,protein_coding -47485,C16orf92,ENSG00000167194,protein_coding -45738,GOLGA6C,ENSG00000167195,protein_coding -45779,FBXO22,ENSG00000167196,protein_coding -45822,TBC1D2B,ENSG00000167202,protein_coding -47962,NOD2,ENSG00000167207,protein_coding -47961,SNX20,ENSG00000167208,protein_coding -52768,LOXHD1,ENSG00000167210,protein_coding -52776,KATNAL2,ENSG00000167216,protein_coding -52785,HDHD2,ENSG00000167220,protein_coding -56021,ZNF91,ENSG00000167232,protein_coding -31922,IGF2,ENSG00000167244,protein_coding -34715,RNF214,ENSG00000167257,protein_coding -50478,CDK12,ENSG00000167258,protein_coding -48351,DPEP2,ENSG00000167261,protein_coding -48352,DUS2,ENSG00000167264,protein_coding -40134,POP5,ENSG00000167272,protein_coding -51857,ENGASE,ENSG00000167280,protein_coding -51858,RBFOX3,ENSG00000167281,protein_coding -34750,ATP5MG,ENSG00000167283,protein_coding -34745,CD3D,ENSG00000167286,protein_coding -51872,TBC1D16,ENSG00000167291,protein_coding -51923,TEPSIN,ENSG00000167302,protein_coding -52848,MYO5B,ENSG00000167306,protein_coding -31990,ART5,ENSG00000167311,protein_coding -52843,ACAA2,ENSG00000167315,protein_coding -32001,STIM1,ENSG00000167323,protein_coding -32010,RRM1,ENSG00000167325,protein_coding -32038,OR51E2,ENSG00000167332,protein_coding -32034,TRIM68,ENSG00000167333,protein_coding -32040,MMP26,ENSG00000167346,protein_coding -32095,OR51B5,ENSG00000167355,protein_coding -32106,OR51I1,ENSG00000167359,protein_coding -32104,OR51Q1,ENSG00000167360,protein_coding -52037,FN3K,ENSG00000167363,protein_coding -47467,PRRT2,ENSG00000167371,protein_coding -48491,ZNF23,ENSG00000167377,protein_coding -56691,IRGQ,ENSG00000167378,protein_coding -56728,ZNF226,ENSG00000167380,protein_coding -56741,ZNF180,ENSG00000167384,protein_coding -24563,PPP2R3B,ENSG00000167393,protein_coding -47584,ZNF668,ENSG00000167394,protein_coding -47586,ZNF646,ENSG00000167395,protein_coding -47589,VKORC1,ENSG00000167397,protein_coding -56864,AC093503.1,ENSG00000167414,protein_coding -51218,LPO,ENSG00000167419,protein_coding -51304,CA4,ENSG00000167434,protein_coding -51262,SMG8,ENSG00000167447,protein_coding -55645,TPM4,ENSG00000167460,protein_coding -55648,RAB8A,ENSG00000167461,protein_coding -54828,GPX4,ENSG00000167468,protein_coding -54835,MIDN,ENSG00000167470,protein_coding -54903,JSRP1,ENSG00000167476,protein_coding -55733,FAM129C,ENSG00000167483,protein_coding -55796,KLHL26,ENSG00000167487,protein_coding -55826,GATAD2A,ENSG00000167491,protein_coding -48913,MVD,ENSG00000167508,protein_coding -48926,CDT1,ENSG00000167513,protein_coding -48929,TRAPPC2L,ENSG00000167515,protein_coding -48946,ANKRD11,ENSG00000167522,protein_coding -48961,SPATA33,ENSG00000167523,protein_coding -50010,RSKR,ENSG00000167524,protein_coding -50017,PROCA1,ENSG00000167525,protein_coding -48956,RPL13,ENSG00000167526,protein_coding -38521,ZNF641,ENSG00000167528,protein_coding -38536,LALBA,ENSG00000167531,protein_coding -38551,CACNB3,ENSG00000167535,protein_coding -50045,DHRS13,ENSG00000167536,protein_coding -50071,TP53I13,ENSG00000167543,protein_coding -38567,KMT2D,ENSG00000167548,protein_coding -50076,CORO6,ENSG00000167549,protein_coding -38568,RHEBL1,ENSG00000167550,protein_coding -38576,TUBA1A,ENSG00000167552,protein_coding -38577,TUBA1C,ENSG00000167553,protein_coding -57249,ZNF610,ENSG00000167554,protein_coding -57253,ZNF528,ENSG00000167555,protein_coding -57260,ZNF701,ENSG00000167562,protein_coding -56534,SERTAD3,ENSG00000167565,protein_coding -38603,NCKAP5L,ENSG00000167566,protein_coding -56549,RAB4B,ENSG00000167578,protein_coding -38611,AQP2,ENSG00000167580,protein_coding -38619,GPD1,ENSG00000167588,protein_coding -56294,PROSER3,ENSG00000167595,protein_coding -56573,CYP2S1,ENSG00000167600,protein_coding -56574,AXL,ENSG00000167601,protein_coding -56303,NFKBID,ENSG00000167604,protein_coding -57405,TMC4,ENSG00000167608,protein_coding -38676,ANKRD33,ENSG00000167612,protein_coding -57430,LAIR1,ENSG00000167613,protein_coding -57432,TTYH1,ENSG00000167614,protein_coding -57439,LENG8,ENSG00000167615,protein_coding -57441,CDC42EP5,ENSG00000167617,protein_coding -57442,LAIR2,ENSG00000167618,protein_coding -56640,TMEM145,ENSG00000167619,protein_coding -56632,ZNF526,ENSG00000167625,protein_coding -29256,TRAPPC9,ENSG00000167632,protein_coding -57467,KIR3DL1,ENSG00000167633,protein_coding -57474,NLRP7,ENSG00000167634,protein_coding -56330,ZNF146,ENSG00000167635,protein_coding -56704,ZNF283,ENSG00000167637,protein_coding -56406,PPP1R14A,ENSG00000167641,protein_coding -56405,SPINT2,ENSG00000167642,protein_coding -56411,C19orf33,ENSG00000167644,protein_coding -56410,YIF1B,ENSG00000167645,protein_coding -57490,DNAAF3,ENSG00000167646,protein_coding -29307,PSCA,ENSG00000167653,protein_coding -54989,ATCAY,ENSG00000167654,protein_coding -29318,LY6D,ENSG00000167656,protein_coding -54992,DAPK3,ENSG00000167657,protein_coding -54994,EEF2,ENSG00000167658,protein_coding -55008,TMIGD2,ENSG00000167664,protein_coding -55018,CHAF1A,ENSG00000167670,protein_coding -55020,UBXN6,ENSG00000167671,protein_coding -55026,HDGFL2,ENSG00000167674,protein_coding -55027,PLIN4,ENSG00000167676,protein_coding -55031,SEMA6B,ENSG00000167680,protein_coding -57559,ZNF444,ENSG00000167685,protein_coding -49020,NXN,ENSG00000167693,protein_coding -49012,FAM57A,ENSG00000167695,protein_coding -49015,GLOD4,ENSG00000167699,protein_coding -29433,MFSD3,ENSG00000167700,protein_coding -29432,GPT,ENSG00000167701,protein_coding -29428,KIFC2,ENSG00000167702,protein_coding -49041,SLC43A2,ENSG00000167703,protein_coding -49044,RILP,ENSG00000167705,protein_coding -49052,SERPINF2,ENSG00000167711,protein_coding -49050,WDR81,ENSG00000167716,protein_coding -49082,SRR,ENSG00000167720,protein_coding -49084,TSR1,ENSG00000167721,protein_coding -49134,TRPV3,ENSG00000167723,protein_coding -55062,HSD11B1L,ENSG00000167733,protein_coding -49159,CYB5D2,ENSG00000167740,protein_coding -49173,GGT6,ENSG00000167741,protein_coding -57119,C19orf48,ENSG00000167747,protein_coding -57125,KLK1,ENSG00000167748,protein_coding -57131,KLK4,ENSG00000167749,protein_coding -57129,KLK2,ENSG00000167751,protein_coding -57133,KLK5,ENSG00000167754,protein_coding -57135,KLK6,ENSG00000167755,protein_coding -57144,KLK11,ENSG00000167757,protein_coding -57148,KLK13,ENSG00000167759,protein_coding -57264,ZNF83,ENSG00000167766,protein_coding -38690,KRT80,ENSG00000167767,protein_coding -38723,KRT1,ENSG00000167768,protein_coding -55092,ACER1,ENSG00000167769,protein_coding -33441,OTUB1,ENSG00000167770,protein_coding -33436,RCOR2,ENSG00000167771,protein_coding -55205,ANGPTL4,ENSG00000167772,protein_coding -55200,AC010323.1,ENSG00000167774,protein_coding -55199,CD320,ENSG00000167775,protein_coding -38748,SPRYD3,ENSG00000167778,protein_coding -38749,IGFBP6,ENSG00000167779,protein_coding -38750,SOAT2,ENSG00000167780,protein_coding -55226,ZNF558,ENSG00000167785,protein_coding -33688,CABP2,ENSG00000167791,protein_coding -33693,NDUFV1,ENSG00000167792,protein_coding -33687,CDK2AP2,ENSG00000167797,protein_coding -33695,NUDT8,ENSG00000167799,protein_coding -33696,TBX10,ENSG00000167800,protein_coding -55309,AC011511.1,ENSG00000167807,protein_coding -55473,PRDX2,ENSG00000167815,protein_coding -33042,OR8J3,ENSG00000167822,protein_coding -33025,OR5I1,ENSG00000167825,protein_coding -49221,ZNF232,ENSG00000167840,protein_coding -49238,MIS12,ENSG00000167842,protein_coding -51641,CD300C,ENSG00000167850,protein_coding -51639,CD300A,ENSG00000167851,protein_coding -49272,TEKT1,ENSG00000167858,protein_coding -51662,HID1,ENSG00000167861,protein_coding -51665,MRPL58,ENSG00000167862,protein_coding -51668,ATP5PD,ENSG00000167863,protein_coding -49365,TMEM88,ENSG00000167874,protein_coding -51728,EVPL,ENSG00000167880,protein_coding -51729,SRP68,ENSG00000167881,protein_coding -51782,MGAT5B,ENSG00000167889,protein_coding -51818,TMC8,ENSG00000167895,protein_coding -51822,TK1,ENSG00000167900,protein_coding -28070,TMEM68,ENSG00000167904,protein_coding -28124,CYP7A1,ENSG00000167910,protein_coding -50500,GSDMA,ENSG00000167914,protein_coding -50540,KRT24,ENSG00000167916,protein_coding -50548,TMEM99,ENSG00000167920,protein_coding -50652,GHDC,ENSG00000167925,protein_coding -46461,FAM234A,ENSG00000167930,protein_coding -50758,SOST,ENSG00000167941,protein_coding -46616,ZNF598,ENSG00000167962,protein_coding -46632,RAB26,ENSG00000167964,protein_coding -46638,MLST8,ENSG00000167965,protein_coding -46642,E4F1,ENSG00000167967,protein_coding -46644,DNASE1L2,ENSG00000167968,protein_coding -46645,ECI1,ENSG00000167969,protein_coding -46637,CASKIN1,ENSG00000167971,protein_coding -46652,ABCA3,ENSG00000167972,protein_coding -46688,KCTD5,ENSG00000167977,protein_coding -46692,SRRM2,ENSG00000167978,protein_coding -46758,ZNF597,ENSG00000167981,protein_coding -46766,NLRC3,ENSG00000167984,protein_coding -33301,SDHAF2,ENSG00000167985,protein_coding -33292,DDB1,ENSG00000167986,protein_coding -33285,VPS37C,ENSG00000167987,protein_coding -33291,VWCE,ENSG00000167992,protein_coding -33324,RAB3IL1,ENSG00000167994,protein_coding -33326,BEST1,ENSG00000167995,protein_coding -33327,FTH1,ENSG00000167996,protein_coding -33370,BSCL2,ENSG00000168000,protein_coding -33376,POLR2G,ENSG00000168002,protein_coding -33400,SLC3A2,ENSG00000168003,protein_coding -33417,PLAAT5,ENSG00000168004,protein_coding -33432,SPINDOC,ENSG00000168005,protein_coding -33883,ATG16L2,ENSG00000168010,protein_coding -33920,C2CD3,ENSG00000168014,protein_coding -10144,TRANK1,ENSG00000168016,protein_coding -10200,TTC21A,ENSG00000168026,protein_coding -10219,RPSA,ENSG00000168028,protein_coding -10235,ENTPD3,ENSG00000168032,protein_coding -10251,CTNNB1,ENSG00000168036,protein_coding -10252,ULK4,ENSG00000168038,protein_coding -33779,FADD,ENSG00000168040,protein_coding -33556,LTBP3,ENSG00000168056,protein_coding -33509,NAALADL1,ENSG00000168060,protein_coding -33508,SAC3D1,ENSG00000168061,protein_coding -33502,BATF2,ENSG00000168062,protein_coding -33480,SLC22A11,ENSG00000168065,protein_coding -33486,SF1,ENSG00000168066,protein_coding -33488,MAP4K2,ENSG00000168067,protein_coding -33501,MAJIN,ENSG00000168070,protein_coding -33470,CCDC88B,ENSG00000168071,protein_coding -27595,SCARA3,ENSG00000168077,protein_coding -27605,PBK,ENSG00000168078,protein_coding -27607,SCARA5,ENSG00000168079,protein_coding -27618,PNOC,ENSG00000168081,protein_coding -23345,COPS6,ENSG00000168090,protein_coding -34710,PAFAH1B2,ENSG00000168092,protein_coding -46810,ANKS3,ENSG00000168096,protein_coding -46809,NUDT16L1,ENSG00000168101,protein_coding -19988,KIAA1586,ENSG00000168116,protein_coding -5016,RAB4A,ENSG00000168118,protein_coding -46738,OR1F1,ENSG00000168124,protein_coding -19048,OR2B2,ENSG00000168131,protein_coding -59268,KCNJ4,ENSG00000168135,protein_coding -9760,SETD5,ENSG00000168137,protein_coding -46791,VASN,ENSG00000168140,protein_coding -19968,FAM83B,ENSG00000168143,protein_coding -4975,HIST3H3,ENSG00000168148,protein_coding -14093,THAP9,ENSG00000168152,protein_coding -46750,OR2C1,ENSG00000168158,protein_coding -4982,RNF187,ENSG00000168159,protein_coding -27900,HOOK3,ENSG00000168172,protein_coding -42854,MAPK1IP1L,ENSG00000168175,protein_coding -36314,DDIT4,ENSG00000168209,protein_coding -13317,RBPJ,ENSG00000168214,protein_coding -20069,LMBRD1,ENSG00000168216,protein_coding -13297,ZCCHC4,ENSG00000168228,protein_coding -42808,PTGDR,ENSG00000168229,protein_coding -52496,TTC39C,ENSG00000168234,protein_coding -10624,GLYCTK,ENSG00000168237,protein_coding -5165,GNG4,ENSG00000168243,protein_coding -18183,UBTD2,ENSG00000168246,protein_coding -23469,POLR2J3,ENSG00000168255,protein_coding -50641,NKIRAS2,ENSG00000168256,protein_coding -50640,DNAJC7,ENSG00000168259,protein_coding -29507,KCNV2,ENSG00000168263,protein_coding -5125,IRF2BP2,ENSG00000168264,protein_coding -35547,PTF1A,ENSG00000168267,protein_coding -10635,NT5DC2,ENSG00000168268,protein_coding -18149,FOXI1,ENSG00000168269,protein_coding -10636,SMIM4,ENSG00000168273,protein_coding -5118,COA6,ENSG00000168275,protein_coding -8097,KIF5C,ENSG00000168280,protein_coding -42720,MGAT2,ENSG00000168282,protein_coding -35530,BMI1,ENSG00000168283,protein_coding -48338,THAP11,ENSG00000168286,protein_coding -8105,MMADHC,ENSG00000168288,protein_coding -10747,PDHB,ENSG00000168291,protein_coding -10745,PXK,ENSG00000168297,protein_coding -18942,HIST1H1E,ENSG00000168298,protein_coding -28012,PCMTD1,ENSG00000168300,protein_coding -10750,KCTD6,ENSG00000168301,protein_coding -22267,MPLKIP,ENSG00000168303,protein_coding -10751,ACOX2,ENSG00000168306,protein_coding -10753,FAM107A,ENSG00000168309,protein_coding -15373,IRF2,ENSG00000168310,protein_coding -10224,MOBP,ENSG00000168314,protein_coding -10211,CX3CR1,ENSG00000168329,protein_coding -27992,PPDPFL,ENSG00000168333,protein_coding -10207,XIRP1,ENSG00000168334,protein_coding -42558,INSM2,ENSG00000168348,protein_coding -43722,DEGS2,ENSG00000168350,protein_coding -10196,SCN11A,ENSG00000168356,protein_coding -10727,ARF4,ENSG00000168374,protein_coding -9628,SEPT2,ENSG00000168385,protein_coding -11137,FILIP1L,ENSG00000168386,protein_coding -1289,MFSD2A,ENSG00000168389,protein_coding -9642,DTYMK,ENSG00000168393,protein_coding -19434,TAP1,ENSG00000168394,protein_coding -9643,ING5,ENSG00000168395,protein_coding -9641,ATG4B,ENSG00000168397,protein_coding -43653,BDKRB2,ENSG00000168398,protein_coding -48578,MLKL,ENSG00000168404,protein_coding -48576,RFWD3,ENSG00000168411,protein_coding -15432,MTNR1A,ENSG00000168412,protein_coding -48778,KCNG4,ENSG00000168418,protein_coding -13458,RHOH,ENSG00000168421,protein_coding -9548,KLHL30,ENSG00000168427,protein_coding -47270,COG7,ENSG00000168434,protein_coding -20593,CDC40,ENSG00000168438,protein_coding -33447,STIP1,ENSG00000168439,protein_coding -47269,SCNN1B,ENSG00000168447,protein_coding -27470,HR,ENSG00000168453,protein_coding -52256,TXNDC2,ENSG00000168454,protein_coding -52249,RAB31,ENSG00000168461,protein_coding -27471,REEP4,ENSG00000168476,protein_coding -19387,TNXB,ENSG00000168477,protein_coding -27472,LGI3,ENSG00000168481,protein_coding -27473,SFTPC,ENSG00000168484,protein_coding -27474,BMP1,ENSG00000168487,protein_coding -47401,ATXN2L,ENSG00000168488,protein_coding -27477,PHYHIP,ENSG00000168490,protein_coding -15408,CCDC110,ENSG00000168491,protein_coding -27479,POLR3D,ENSG00000168495,protein_coding -33318,FEN1,ENSG00000168496,protein_coding -8694,CAVIN2,ENSG00000168497,protein_coding -52222,MTCL1,ENSG00000168502,protein_coding -9512,GBX2,ENSG00000168505,protein_coding -2967,HJV,ENSG00000168509,protein_coding -33335,SCGB1D1,ENSG00000168515,protein_coding -50841,HEXIM2,ENSG00000168517,protein_coding -27903,FNTA,ENSG00000168522,protein_coding -1029,SERINC2,ENSG00000168528,protein_coding -9030,MYL1,ENSG00000168530,protein_coding -15357,TRAPPC11,ENSG00000168538,protein_coding -33401,CHRM1,ENSG00000168539,protein_coding -8640,COL3A1,ENSG00000168542,protein_coding -27461,GFRA2,ENSG00000168546,protein_coding -15353,ING2,ENSG00000168556,protein_coding -15350,CDKN2AIP,ENSG00000168564,protein_coding -18651,SNRNP48,ENSG00000168566,protein_coding -33379,TMEM223,ENSG00000168569,protein_coding -27887,SLC20A2,ENSG00000168575,protein_coding -8998,CRYGA,ENSG00000168582,protein_coding -48695,DYNLRB2,ENSG00000168589,protein_coding -50783,TMUB2,ENSG00000168591,protein_coding -15270,ADAM29,ENSG00000168594,protein_coding -50659,STAT3,ENSG00000168610,protein_coding -54298,ZSWIM1,ENSG00000168612,protein_coding -27822,ADAM9,ENSG00000168615,protein_coding -27830,ADAM18,ENSG00000168619,protein_coding -16085,GDNF,ENSG00000168621,protein_coding -19262,MUCL3,ENSG00000168631,protein_coding -54284,WFDC13,ENSG00000168634,protein_coding -51478,AXIN2,ENSG00000168646,protein_coding -1256,NDUFS5,ENSG00000168653,protein_coding -7252,VWA3B,ENSG00000168658,protein_coding -56225,ZNF30,ENSG00000168661,protein_coding -16050,UGT3A2,ENSG00000168671,protein_coding -29116,LRATD2,ENSG00000168672,protein_coding -52355,LDLRAD4,ENSG00000168675,protein_coding -48307,KCTD19,ENSG00000168676,protein_coding -2589,SLC16A4,ENSG00000168679,protein_coding -16044,IL7R,ENSG00000168685,protein_coding -48302,TMEM208,ENSG00000168701,protein_coding -8013,LRP1B,ENSG00000168702,protein_coding -54247,WFDC12,ENSG00000168703,protein_coding -2573,AHCYL1,ENSG00000168710,protein_coding -16036,DNAJC21,ENSG00000168724,protein_coding -54228,PKIG,ENSG00000168734,protein_coding -14378,NPNT,ENSG00000168743,protein_coding -48275,CA7,ENSG00000168748,protein_coding -7210,FAM178B,ENSG00000168754,protein_coding -57778,TSPY2,ENSG00000168757,protein_coding -7209,SEMA4C,ENSG00000168758,protein_coding -7206,CNNM3,ENSG00000168763,protein_coding -2560,GSTM4,ENSG00000168765,protein_coding -14363,TET2,ENSG00000168769,protein_coding -14352,CXXC4,ENSG00000168772,protein_coding -40258,TCTN2,ENSG00000168778,protein_coding -12140,SHOX2,ENSG00000168779,protein_coding -44968,PPIP5K1,ENSG00000168781,protein_coding -14264,TSPAN5,ENSG00000168785,protein_coding -50070,ABHD15,ENSG00000168792,protein_coding -30077,ZBTB5,ENSG00000168795,protein_coding -48409,CHTF8,ENSG00000168802,protein_coding -44962,ADAL,ENSG00000168803,protein_coding -44961,LCMT2,ENSG00000168806,protein_coding -48412,SNTB2,ENSG00000168807,protein_coding -12171,IL12A,ENSG00000168811,protein_coding -56138,ZNF507,ENSG00000168813,protein_coding -12996,STX18,ENSG00000168818,protein_coding -12995,NSG1,ENSG00000168824,protein_coding -12993,ZBTB49,ENSG00000168826,protein_coding -12149,GFM1,ENSG00000168827,protein_coding -30035,OR13J1,ENSG00000168828,protein_coding -20307,HTR1E,ENSG00000168830,protein_coding -15112,FSTL5,ENSG00000168843,protein_coding -48458,DDX19A,ENSG00000168872,protein_coding -6912,ATOH8,ENSG00000168874,protein_coding -11788,SOX14,ENSG00000168875,protein_coding -34340,ANKRD49,ENSG00000168876,protein_coding -6908,SFTPB,ENSG00000168878,protein_coding -6906,USP39,ENSG00000168883,protein_coding -12947,TNIP2,ENSG00000168884,protein_coding -6907,C2orf68,ENSG00000168887,protein_coding -6905,TMEM150A,ENSG00000168890,protein_coding -6904,RNF181,ENSG00000168894,protein_coding -6903,VAMP5,ENSG00000168899,protein_coding -18452,BTNL3,ENSG00000168903,protein_coding -46349,LRRC28,ENSG00000168904,protein_coding -6899,MAT2A,ENSG00000168906,protein_coding -44918,PLA2G4F,ENSG00000168907,protein_coding -29955,ENHO,ENSG00000168913,protein_coding -17275,ZNF608,ENSG00000168916,protein_coding -11778,SLC35G2,ENSG00000168917,protein_coding -9451,INPP5D,ENSG00000168918,protein_coding -12922,LETM1,ENSG00000168924,protein_coding -48589,CTRB1,ENSG00000168925,protein_coding -48588,CTRB2,ENSG00000168928,protein_coding -34225,TRIM49,ENSG00000168930,protein_coding -12920,TMEM129,ENSG00000168936,protein_coding -17256,PPIC,ENSG00000168938,protein_coding -26970,SPRY3,ENSG00000168939,protein_coding -17262,CEP120,ENSG00000168944,protein_coding -42406,STXBP6,ENSG00000168952,protein_coding -9307,TM4SF20,ENSG00000168955,protein_coding -9306,MFF,ENSG00000168958,protein_coding -34198,GRM5,ENSG00000168959,protein_coding -49946,LGALS9,ENSG00000168961,protein_coding -44905,JMJD7-PLA2G4B,ENSG00000168970,protein_coding -12887,CPLX1,ENSG00000168993,protein_coding -18562,PXDC1,ENSG00000168994,protein_coding -57154,SIGLEC7,ENSG00000168995,protein_coding -5671,NTSR2,ENSG00000169006,protein_coding -5663,E2F6,ENSG00000169016,protein_coding -45552,FEM1B,ENSG00000169018,protein_coding -13545,COMMD8,ENSG00000169019,protein_coding -12879,ATP5ME,ENSG00000169020,protein_coding -56086,UQCRFS1,ENSG00000169021,protein_coding -12881,SLC49A3,ENSG00000169026,protein_coding -9304,COL4A3,ENSG00000169031,protein_coding -45507,MAP2K1,ENSG00000169032,protein_coding -57138,KLK7,ENSG00000169035,protein_coding -18397,HNRNPH1,ENSG00000169045,protein_coding -9298,IRS1,ENSG00000169047,protein_coding -26887,MECP2,ENSG00000169057,protein_coding -24626,VCX3A,ENSG00000169059,protein_coding -41928,UPF3A,ENSG00000169062,protein_coding -12236,ZBBX,ENSG00000169064,protein_coding -16342,ACTBL2,ENSG00000169067,protein_coding -30728,ROR2,ENSG00000169071,protein_coding -25538,AR,ENSG00000169083,protein_coding -24586,DHRSX,ENSG00000169084,protein_coding -28234,VXN,ENSG00000169085,protein_coding -11474,HSPBAP1,ENSG00000169087,protein_coding -24580,ASMTL,ENSG00000169093,protein_coding -24577,SLC25A6,ENSG00000169100,protein_coding -44845,CHST14,ENSG00000169105,protein_coding -13957,PARM1,ENSG00000169116,protein_coding -45433,CSNK1G1,ENSG00000169118,protein_coding -28115,FAM110B,ENSG00000169122,protein_coding -35623,ARMC4,ENSG00000169126,protein_coding -37148,AFAP1L2,ENSG00000169129,protein_coding -18367,ZNF354A,ENSG00000169131,protein_coding -57076,ATF5,ENSG00000169136,protein_coding -27972,UBE2V2,ENSG00000169139,protein_coding -27781,GOT1L1,ENSG00000169154,protein_coding -31363,ZBTB43,ENSG00000169155,protein_coding -57054,CPT1C,ENSG00000169169,protein_coding -1749,PCSK9,ENSG00000169174,protein_coding -47359,XPO6,ENSG00000169180,protein_coding -47356,GSG1L,ENSG00000169181,protein_coding -58919,MN1,ENSG00000169184,protein_coding -25429,APEX2,ENSG00000169188,protein_coding -47344,NSMCE1,ENSG00000169189,protein_coding -21923,CCDC126,ENSG00000169193,protein_coding -17392,IL13,ENSG00000169194,protein_coding -47448,NPIPB12,ENSG00000169203,protein_coding -42125,OR10G3,ENSG00000169208,protein_coding -1631,RAB3B,ENSG00000169213,protein_coding -5398,OR6F1,ENSG00000169214,protein_coding -47511,CD2BP2,ENSG00000169217,protein_coding -1210,RSPO1,ENSG00000169218,protein_coding -18317,RGS14,ENSG00000169220,protein_coding -47513,TBC1D10B,ENSG00000169221,protein_coding -18315,LMAN2,ENSG00000169223,protein_coding -5387,GCSAML,ENSG00000169224,protein_coding -18312,RAB24,ENSG00000169228,protein_coding -18314,PRELID1,ENSG00000169230,protein_coding -3405,THBS3,ENSG00000169231,protein_coding -24742,CA5B,ENSG00000169239,protein_coding -3396,SLC50A1,ENSG00000169241,protein_coding -3395,EFNA1,ENSG00000169242,protein_coding -13983,CXCL10,ENSG00000169245,protein_coding -47214,NPIPB3,ENSG00000169246,protein_coding -17847,SH3TC2,ENSG00000169247,protein_coding -13984,CXCL11,ENSG00000169248,protein_coding -24746,ZRSR2,ENSG00000169249,protein_coding -12193,NMD3,ENSG00000169251,protein_coding -17846,ADRB2,ENSG00000169252,protein_coding -12192,B3GALNT1,ENSG00000169255,protein_coding -18294,GPRIN1,ENSG00000169258,protein_coding -16267,HSPB3,ENSG00000169271,protein_coding -12104,KCNAB1,ENSG00000169282,protein_coding -14022,MRPL1,ENSG00000169288,protein_coding -3364,SHE,ENSG00000169291,protein_coding -24924,NR0B1,ENSG00000169297,protein_coding -13396,PGM2,ENSG00000169299,protein_coding -17817,STK32A,ENSG00000169302,protein_coding -24910,IL1RAPL1,ENSG00000169306,protein_coding -12030,P2RY12,ENSG00000169313,protein_coding -58775,C22orf15,ENSG00000169314,protein_coding -42105,OR5AU1,ENSG00000169327,protein_coding -45869,MINAR1,ENSG00000169330,protein_coding -47179,PDILT,ENSG00000169340,protein_coding -47178,UMOD,ENSG00000169344,protein_coding -47177,GP2,ENSG00000169347,protein_coding -12098,SLC33A1,ENSG00000169359,protein_coding -45758,SNUPN,ENSG00000169371,protein_coding -39558,CRADD,ENSG00000169372,protein_coding -45750,SIN3A,ENSG00000169375,protein_coding -11056,ARL13B,ENSG00000169379,protein_coding -42085,RNASE2,ENSG00000169385,protein_coding -56923,AC010330.1,ENSG00000169393,protein_coding -42081,RNASE3,ENSG00000169397,protein_coding -29267,PTK2,ENSG00000169398,protein_coding -21710,RSPH10B2,ENSG00000169402,protein_coding -951,PTAFR,ENSG00000169403,protein_coding -45754,PTPN9,ENSG00000169410,protein_coding -42076,RNASE6,ENSG00000169413,protein_coding -3311,NPR1,ENSG00000169418,protein_coding -29255,KCNK9,ENSG00000169427,protein_coding -13929,CXCL8,ENSG00000169429,protein_coding -8309,SCN9A,ENSG00000169432,protein_coding -13927,RASSF6,ENSG00000169435,protein_coding -29249,COL22A1,ENSG00000169436,protein_coding -28695,SDC2,ENSG00000169439,protein_coding -862,CD52,ENSG00000169442,protein_coding -26572,MMGT1,ENSG00000169446,protein_coding -3269,SPRR1B,ENSG00000169469,protein_coding -3265,SPRR1A,ENSG00000169474,protein_coding -42019,OR4K14,ENSG00000169484,protein_coding -42017,OR4K15,ENSG00000169488,protein_coding -27821,TM2D2,ENSG00000169490,protein_coding -27820,HTRA4,ENSG00000169495,protein_coding -27818,PLEKHA2,ENSG00000169499,protein_coding -800,CLIC4,ENSG00000169504,protein_coding -8293,SLC38A11,ENSG00000169507,protein_coding -41696,GPR183,ENSG00000169508,protein_coding -3235,CRCT1,ENSG00000169509,protein_coding -56852,CCDC8,ENSG00000169515,protein_coding -32570,METTL15,ENSG00000169519,protein_coding -58671,ZNF280A,ENSG00000169548,protein_coding -32548,MUC15,ENSG00000169550,protein_coding -26536,CT55,ENSG00000169551,protein_coding -8046,ZEB2,ENSG00000169554,protein_coding -25609,GJB1,ENSG00000169562,protein_coding -6625,PCBP1,ENSG00000169564,protein_coding -17352,HINT1,ENSG00000169567,protein_coding -17201,DTWD2,ENSG00000169570,protein_coding -58639,VPREB1,ENSG00000169575,protein_coding -31722,CLIC3,ENSG00000169583,protein_coding -47483,INO80E,ENSG00000169592,protein_coding -45985,BNC1,ENSG00000169594,protein_coding -207,DFFB,ENSG00000169598,protein_coding -6609,NFU1,ENSG00000169599,protein_coding -6601,ANTXR1,ENSG00000169604,protein_coding -6600,GKN1,ENSG00000169605,protein_coding -7553,CKAP2L,ENSG00000169607,protein_coding -45972,C15orf40,ENSG00000169609,protein_coding -45971,RAMAC,ENSG00000169612,protein_coding -6593,PROKR1,ENSG00000169618,protein_coding -6591,APLF,ENSG00000169621,protein_coding -47500,BOLA2B,ENSG00000169627,protein_coding -7541,RGPD8,ENSG00000169629,protein_coding -58574,HIC2,ENSG00000169635,protein_coding -744,LUZP1,ENSG00000169641,protein_coding -52016,HEXD,ENSG00000169660,protein_coding -13135,DRD5,ENSG00000169676,protein_coding -7498,BUB1,ENSG00000169679,protein_coding -47416,SPNS1,ENSG00000169682,protein_coding -51986,LRRC45,ENSG00000169683,protein_coding -45845,CHRNA5,ENSG00000169684,protein_coding -48100,MT1B,ENSG00000169688,protein_coding -51985,CENPX,ENSG00000169689,protein_coding -31682,AGPAT2,ENSG00000169692,protein_coding -51984,ASPSCR1,ENSG00000169696,protein_coding -11630,GP9,ENSG00000169704,protein_coding -51994,FASN,ENSG00000169710,protein_coding -11636,CNBP,ENSG00000169714,protein_coding -48093,MT1E,ENSG00000169715,protein_coding -180,ACTRT2,ENSG00000169717,protein_coding -51993,DUS1L,ENSG00000169718,protein_coding -51992,GPS1,ENSG00000169727,protein_coding -51991,RFNG,ENSG00000169733,protein_coding -51988,DCXR,ENSG00000169738,protein_coding -35879,ZNF32,ENSG00000169740,protein_coding -13226,LDB2,ENSG00000169744,protein_coding -51987,RAC3,ENSG00000169750,protein_coding -45780,NRG4,ENSG00000169752,protein_coding -7439,LIMS1,ENSG00000169756,protein_coding -45782,TMEM266,ENSG00000169758,protein_coding -12344,NLGN1,ENSG00000169760,protein_coding -13218,TAPT1,ENSG00000169762,protein_coding -58145,PRYP3,ENSG00000169763,protein_coding -6501,UGP2,ENSG00000169764,protein_coding -15698,TAS2R1,ENSG00000169777,protein_coding -45810,LINGO1,ENSG00000169783,protein_coding -58112,PRY,ENSG00000169789,protein_coding -58100,RBMY1F,ENSG00000169800,protein_coding -58097,PRY2,ENSG00000169807,protein_coding -35866,HNRNPF,ENSG00000169813,protein_coding -9914,BTD,ENSG00000169814,protein_coding -35860,CSGALNACT2,ENSG00000169826,protein_coding -14347,TACR3,ENSG00000169836,protein_coding -40785,GSX1,ENSG00000169840,protein_coding -13352,PCDH7,ENSG00000169851,protein_coding -10974,ROBO1,ENSG00000169855,protein_coding -45213,ONECUT1,ENSG00000169856,protein_coding -44701,AVEN,ENSG00000169857,protein_coding -12052,P2RY1,ENSG00000169860,protein_coding -15743,CTNND2,ENSG00000169862,protein_coding -23419,TRIM56,ENSG00000169871,protein_coding -23417,MUC17,ENSG00000169876,protein_coding -47624,AHSP,ENSG00000169877,protein_coding -38560,WNT10B,ENSG00000169884,protein_coding -141,CALML6,ENSG00000169885,protein_coding -24767,REPS2,ENSG00000169891,protein_coding -23413,MUC3A,ENSG00000169894,protein_coding -24759,SYAP1,ENSG00000169895,protein_coding -47607,ITGAM,ENSG00000169896,protein_coding -47606,PYDC1,ENSG00000169900,protein_coding -22778,TPST1,ENSG00000169902,protein_coding -11979,TM4SF4,ENSG00000169903,protein_coding -4068,TOR1AIP2,ENSG00000169905,protein_coding -24758,S100G,ENSG00000169906,protein_coding -11972,TM4SF1,ENSG00000169908,protein_coding -648,OTUD3,ENSG00000169914,protein_coding -44653,OTUD7A,ENSG00000169918,protein_coding -22770,GUSB,ENSG00000169919,protein_coding -31601,BRD3,ENSG00000169925,protein_coding -44650,KLF13,ENSG00000169926,protein_coding -24689,FRMPD4,ENSG00000169933,protein_coding -28871,ZFPM2,ENSG00000169946,protein_coding -47537,ZNF764,ENSG00000169951,protein_coding -58024,HSFY2,ENSG00000169953,protein_coding -47534,ZNF747,ENSG00000169955,protein_coding -47531,ZNF768,ENSG00000169957,protein_coding -100,TAS1R3,ENSG00000169962,protein_coding -10340,TMEM42,ENSG00000169964,protein_coding -7733,MAP3K2,ENSG00000169967,protein_coding -95,PUSL1,ENSG00000169972,protein_coding -21089,SF3B5,ENSG00000169976,protein_coding -10332,ZNF35,ENSG00000169981,protein_coding -14983,TIGD4,ENSG00000169989,protein_coding -623,IFFO2,ENSG00000169991,protein_coding -49324,NLGN2,ENSG00000169992,protein_coding -7742,MYO7B,ENSG00000169994,protein_coding -49369,CHD3,ENSG00000170004,protein_coding -14981,TMEM154,ENSG00000170006,protein_coding -10227,MYRIP,ENSG00000170011,protein_coding -11194,ALCAM,ENSG00000170017,protein_coding -22987,YWHAG,ENSG00000170027,protein_coding -8560,UBE2E3,ENSG00000170035,protein_coding -49375,CNTROB,ENSG00000170037,protein_coding -49374,TRAPPC1,ENSG00000170043,protein_coding -11184,ZPLD1,ENSG00000170044,protein_coding -49372,KCNAB3,ENSG00000170049,protein_coding -43608,SERPINA9,ENSG00000170054,protein_coding -18337,FAM153A,ENSG00000170074,protein_coding -4397,GPR37L1,ENSG00000170075,protein_coding -18278,SIMC1,ENSG00000170085,protein_coding -15159,TMEM192,ENSG00000170088,protein_coding -18235,NSG2,ENSG00000170091,protein_coding -22962,SPDYE5,ENSG00000170092,protein_coding -43603,SERPINA6,ENSG00000170099,protein_coding -48944,ZNF778,ENSG00000170100,protein_coding -44362,NIPA1,ENSG00000170113,protein_coding -29472,FOXD4,ENSG00000170122,protein_coding -4349,GPR25,ENSG00000170128,protein_coding -9994,UBE2E1,ENSG00000170142,protein_coding -8496,HNRNPA3,ENSG00000170144,protein_coding -34574,SIK2,ENSG00000170145,protein_coding -30264,AL391987.1,ENSG00000170152,protein_coding -14812,RNF150,ENSG00000170153,protein_coding -49609,CCDC144A,ENSG00000170160,protein_coding -20711,VGLL2,ENSG00000170162,protein_coding -8466,HOXD4,ENSG00000170166,protein_coding -49335,CHRNB1,ENSG00000170175,protein_coding -8458,HOXD12,ENSG00000170178,protein_coding -14847,GYPA,ENSG00000170180,protein_coding -14827,USP38,ENSG00000170185,protein_coding -51672,SLC16A5,ENSG00000170190,protein_coding -53808,NANP,ENSG00000170191,protein_coding -34632,ANKK1,ENSG00000170209,protein_coding -18051,ADRA1B,ENSG00000170214,protein_coding -49466,ADPRM,ENSG00000170222,protein_coding -18057,FABP6,ENSG00000170231,protein_coding -18056,PWWP2A,ENSG00000170234,protein_coding -45149,USP50,ENSG00000170236,protein_coding -32320,USP47,ENSG00000170242,protein_coding -10123,PDCD6IP,ENSG00000170248,protein_coding -32468,MRGPRX1,ENSG00000170255,protein_coding -24347,ZNF212,ENSG00000170260,protein_coding -60112,MRAP,ENSG00000170262,protein_coding -6457,FAM161A,ENSG00000170264,protein_coding -24346,ZNF282,ENSG00000170265,protein_coding -10105,GLB1,ENSG00000170266,protein_coding -43577,GON7,ENSG00000170270,protein_coding -17972,FAXDC2,ENSG00000170271,protein_coding -10110,CRTAP,ENSG00000170275,protein_coding -34587,HSPB2,ENSG00000170276,protein_coding -24323,C7orf33,ENSG00000170279,protein_coding -28546,CNGB3,ENSG00000170289,protein_coding -34508,SLN,ENSG00000170290,protein_coding -49305,ELP5,ENSG00000170291,protein_coding -10088,CMTM8,ENSG00000170293,protein_coding -49300,GABARAP,ENSG00000170296,protein_coding -49820,LGALS9B,ENSG00000170298,protein_coding -49431,STX8,ENSG00000170310,protein_coding -36139,CDK1,ENSG00000170312,protein_coding -49589,UBB,ENSG00000170315,protein_coding -35068,NFRKB,ENSG00000170322,protein_coding -28466,FABP4,ENSG00000170323,protein_coding -36003,FRMPD2,ENSG00000170324,protein_coding -35069,PRDM10,ENSG00000170325,protein_coding -6468,B3GNT2,ENSG00000170340,protein_coding -43312,FOS,ENSG00000170345,protein_coding -43306,TMED10,ENSG00000170348,protein_coding -9705,SETMAR,ENSG00000170364,protein_coding -14869,SMAD1,ENSG00000170365,protein_coding -53770,CST5,ENSG00000170367,protein_coding -53769,CST2,ENSG00000170369,protein_coding -37194,EMX2,ENSG00000170370,protein_coding -53766,CST1,ENSG00000170373,protein_coding -38767,AC073611.1,ENSG00000170374,protein_coding -24253,TCAF2,ENSG00000170379,protein_coding -23081,SEMA3E,ENSG00000170381,protein_coding -4482,LRRN2,ENSG00000170382,protein_coding -4648,SLC30A1,ENSG00000170385,protein_coding -14933,DCLK2,ENSG00000170390,protein_coding -8604,ZNF804A,ENSG00000170396,protein_coding -51638,GPRC5C,ENSG00000170412,protein_coding -7336,TMEM182,ENSG00000170417,protein_coding -22471,VSTM2A,ENSG00000170419,protein_coding -38741,KRT8,ENSG00000170421,protein_coding -38739,KRT78,ENSG00000170423,protein_coding -49575,ADORA2B,ENSG00000170425,protein_coding -38976,SDR9C7,ENSG00000170426,protein_coding -37378,MGMT,ENSG00000170430,protein_coding -38889,METTL7B,ENSG00000170439,protein_coding -38695,KRT86,ENSG00000170442,protein_coding -17636,HARS,ENSG00000170445,protein_coding -13556,NFXL1,ENSG00000170448,protein_coding -38711,KRT75,ENSG00000170454,protein_coding -38263,DENND5B,ENSG00000170456,protein_coding -17629,CD14,ENSG00000170458,protein_coding -17580,DNAJC18,ENSG00000170464,protein_coding -38713,KRT6C,ENSG00000170465,protein_coding -43232,RIOX1,ENSG00000170468,protein_coding -17579,SPATA24,ENSG00000170469,protein_coding -54127,RALGAPB,ENSG00000170471,protein_coding -38908,PYM1,ENSG00000170473,protein_coding -17577,MZB1,ENSG00000170476,protein_coding -38736,KRT4,ENSG00000170477,protein_coding -17576,SLC23A1,ENSG00000170482,protein_coding -38717,KRT74,ENSG00000170484,protein_coding -7298,NPAS2,ENSG00000170485,protein_coding -38718,KRT72,ENSG00000170486,protein_coding -4468,KISS1,ENSG00000170498,protein_coding -7283,LONRF2,ENSG00000170500,protein_coding -14156,NUDT9,ENSG00000170502,protein_coding -14151,HSD17B13,ENSG00000170509,protein_coding -38923,PA2G4,ENSG00000170515,protein_coding -13541,COX7B2,ENSG00000170516,protein_coding -14434,ELOVL6,ENSG00000170522,protein_coding -38703,KRT83,ENSG00000170523,protein_coding -35274,PFKFB3,ENSG00000170525,protein_coding -47140,TMC7,ENSG00000170537,protein_coding -47136,ARL6IP1,ENSG00000170540,protein_coding -18536,SERPINB9,ENSG00000170542,protein_coding -38662,SMAGP,ENSG00000170545,protein_coding -15593,IRX1,ENSG00000170549,protein_coding -52566,CDH2,ENSG00000170558,protein_coding -15584,IRX2,ENSG00000170561,protein_coding -16212,EMB,ENSG00000170571,protein_coding -6222,SIX2,ENSG00000170577,protein_coding -52139,DLGAP1,ENSG00000170579,protein_coding -38948,STAT2,ENSG00000170581,protein_coding -18087,NUDCD2,ENSG00000170584,protein_coding -56823,IRF2BP1,ENSG00000170604,protein_coding -38857,OR9K2,ENSG00000170605,protein_coding -17416,HSPA4,ENSG00000170606,protein_coding -56822,FOXA3,ENSG00000170608,protein_coding -17998,FAM71B,ENSG00000170613,protein_coding -23503,SLC26A5,ENSG00000170615,protein_coding -29452,COMMD5,ENSG00000170619,protein_coding -17985,SGCD,ENSG00000170624,protein_coding -38841,GTSF1,ENSG00000170627,protein_coding -29455,ZNF16,ENSG00000170631,protein_coding -23491,ARMC10,ENSG00000170632,protein_coding -40168,RNF34,ENSG00000170633,protein_coding -6341,ACYP2,ENSG00000170634,protein_coding -59604,TRABD,ENSG00000170638,protein_coding -38780,ATF7,ENSG00000170653,protein_coding -23468,RASA4B,ENSG00000170667,protein_coding -53128,SOCS6,ENSG00000170677,protein_coding -30956,CAVIN4,ENSG00000170681,protein_coding -32226,OR10A3,ENSG00000170683,protein_coding -56776,ZNF296,ENSG00000170684,protein_coding -50980,HOXB9,ENSG00000170689,protein_coding -50995,TTLL6,ENSG00000170703,protein_coding -19769,POLH,ENSG00000170734,protein_coding -32205,SYT9,ENSG00000170743,protein_coding -5739,KCNS3,ENSG00000170745,protein_coding -32202,RBMXL2,ENSG00000170748,protein_coding -35702,KIF5B,ENSG00000170759,protein_coding -23769,GPR37,ENSG00000170775,protein_coding -46047,AKAP13,ENSG00000170776,protein_coding -29579,TPD52L3,ENSG00000170777,protein_coding -43990,CDCA4,ENSG00000170779,protein_coding -32196,OR10A4,ENSG00000170782,protein_coding -28089,SDR16C5,ENSG00000170786,protein_coding -36529,DYDC1,ENSG00000170788,protein_coding -32195,OR10A2,ENSG00000170790,protein_coding -28086,CHCHD7,ENSG00000170791,protein_coding -13060,HTRA3,ENSG00000170801,protein_coding -6286,FOXN2,ENSG00000170802,protein_coding -23752,LMOD2,ENSG00000170807,protein_coding -11723,BFSP2,ENSG00000170819,protein_coding -6300,FSHR,ENSG00000170820,protein_coding -51305,USP32,ENSG00000170832,protein_coding -31565,CEL,ENSG00000170835,protein_coding -51318,PPM1D,ENSG00000170836,protein_coding -10882,GPR27,ENSG00000170837,protein_coding -13027,AC093323.1,ENSG00000170846,protein_coding -56662,PSG6,ENSG00000170848,protein_coding -22124,KBTBD2,ENSG00000170852,protein_coding -11086,RIOX2,ENSG00000170854,protein_coding -40123,TRIAP1,ENSG00000170855,protein_coding -9877,LSM3,ENSG00000170860,protein_coding -13035,KIAA0232,ENSG00000170871,protein_coding -29084,MTSS1,ENSG00000170873,protein_coding -9873,TMEM43,ENSG00000170876,protein_coding -29079,RNF139,ENSG00000170881,protein_coding -57409,RPS9,ENSG00000170889,protein_coding -40117,PLA2G1B,ENSG00000170890,protein_coding -13005,CYTL1,ENSG00000170891,protein_coding -57407,TSEN34,ENSG00000170892,protein_coding -11664,TRH,ENSG00000170893,protein_coding -19923,GSTA4,ENSG00000170899,protein_coding -34486,MSANTD4,ENSG00000170903,protein_coding -57399,NDUFA3,ENSG00000170906,protein_coding -57398,OSCAR,ENSG00000170909,protein_coding -19903,PAQR8,ENSG00000170915,protein_coding -14616,NUDT6,ENSG00000170917,protein_coding -55237,OR7G3,ENSG00000170920,protein_coding -51379,TANC2,ENSG00000170921,protein_coding -55234,OR7G2,ENSG00000170923,protein_coding -26119,TEX13B,ENSG00000170925,protein_coding -19894,PKHD1,ENSG00000170927,protein_coding -55233,OR1M1,ENSG00000170929,protein_coding -26113,NCBP2L,ENSG00000170935,protein_coding -32604,DNAJC24,ENSG00000170946,protein_coding -55228,MBD3L1,ENSG00000170948,protein_coding -57286,ZNF160,ENSG00000170949,protein_coding -19872,PGK2,ENSG00000170950,protein_coding -34952,OR8B12,ENSG00000170953,protein_coding -57287,ZNF415,ENSG00000170954,protein_coding -32162,CAVIN3,ENSG00000170955,protein_coding -56612,CEACAM3,ENSG00000170956,protein_coding -32601,DCDC1,ENSG00000170959,protein_coding -29017,HAS2,ENSG00000170961,protein_coding -34460,PDGFD,ENSG00000170962,protein_coding -26513,PLAC1,ENSG00000170965,protein_coding -34462,DDI1,ENSG00000170967,protein_coding -2451,S1PR1,ENSG00000170989,protein_coding -26475,HS6ST2,ENSG00000171004,protein_coding -34912,OR4D5,ENSG00000171014,protein_coding -45243,PYGO1,ENSG00000171016,protein_coding -55180,LRRC8E,ENSG00000171017,protein_coding -28404,PKIA,ENSG00000171033,protein_coding -27246,XKR6,ENSG00000171044,protein_coding -29298,TSNARE1,ENSG00000171045,protein_coding -57213,FPR2,ENSG00000171049,protein_coding -57212,FPR1,ENSG00000171051,protein_coding -34995,PATE1,ENSG00000171053,protein_coding -26457,OR13H1,ENSG00000171054,protein_coding -6068,FEZ2,ENSG00000171055,protein_coding -27239,SOX7,ENSG00000171056,protein_coding -27237,C8orf74,ENSG00000171060,protein_coding -33730,C11orf24,ENSG00000171067,protein_coding -5980,ALK,ENSG00000171094,protein_coding -31454,KYAT1,ENSG00000171097,protein_coding -26775,MTM1,ENSG00000171100,protein_coding -31570,OBP2B,ENSG00000171102,protein_coding -5969,TRMT61B,ENSG00000171103,protein_coding -55141,INSR,ENSG00000171105,protein_coding -12407,MFN1,ENSG00000171109,protein_coding -24386,GIMAP8,ENSG00000171115,protein_coding -26761,HSFX1,ENSG00000171116,protein_coding -55068,NRTN,ENSG00000171119,protein_coding -12403,KCNMB3,ENSG00000171121,protein_coding -55070,FUT3,ENSG00000171124,protein_coding -6163,KCNG3,ENSG00000171126,protein_coding -24365,ATP6V0E2,ENSG00000171130,protein_coding -6230,PRKCE,ENSG00000171132,protein_coding -31101,OR2K2,ENSG00000171133,protein_coding -9776,JAGN1,ENSG00000171135,protein_coding -55531,RLN3,ENSG00000171136,protein_coding -9769,TADA3,ENSG00000171148,protein_coding -6251,SOCS5,ENSG00000171150,protein_coding -26312,C1GALT1C1,ENSG00000171155,protein_coding -31412,C9orf16,ENSG00000171159,protein_coding -36851,MORN4,ENSG00000171160,protein_coding -5465,ZNF672,ENSG00000171161,protein_coding -5466,ZNF692,ENSG00000171163,protein_coding -31405,NAIF1,ENSG00000171169,protein_coding -5948,RBKS,ENSG00000171174,protein_coding -5431,OR2M4,ENSG00000171180,protein_coding -60040,GRIK1,ENSG00000171189,protein_coding -13888,MUC7,ENSG00000171195,protein_coding -13887,OPRPN,ENSG00000171199,protein_coding -13886,SMR3B,ENSG00000171201,protein_coding -34132,TMEM126A,ENSG00000171202,protein_coding -34131,TMEM126B,ENSG00000171204,protein_coding -36980,TRIM8,ENSG00000171206,protein_coding -47873,NETO2,ENSG00000171208,protein_coding -13883,CSN3,ENSG00000171209,protein_coding -21275,CLDN20,ENSG00000171217,protein_coding -33490,CDC42BPG,ENSG00000171219,protein_coding -54051,SCAND1,ENSG00000171222,protein_coding -55472,JUNB,ENSG00000171223,protein_coding -36265,FAM241B,ENSG00000171224,protein_coding -7648,TMEM37,ENSG00000171227,protein_coding -13845,UGT2B7,ENSG00000171234,protein_coding -55030,LRG1,ENSG00000171236,protein_coding -47855,SHCBP1,ENSG00000171241,protein_coding -21815,SOSTDC1,ENSG00000171243,protein_coding -51895,NPTX1,ENSG00000171246,protein_coding -44785,FAM98B,ENSG00000171262,protein_coding -55396,ZNF439,ENSG00000171291,protein_coding -55394,ZNF440,ENSG00000171295,protein_coding -51878,GAA,ENSG00000171298,protein_coding -51854,CANT1,ENSG00000171302,protein_coding -5892,KCNK3,ENSG00000171303,protein_coding -36844,ZDHHC16,ENSG00000171307,protein_coding -39775,CHST11,ENSG00000171310,protein_coding -36843,EXOSC1,ENSG00000171311,protein_coding -36842,PGAM1,ENSG00000171314,protein_coding -28150,CHD7,ENSG00000171316,protein_coding -27603,ESCO2,ENSG00000171320,protein_coding -50616,KRT19,ENSG00000171345,protein_coding -50614,KRT15,ENSG00000171346,protein_coding -1509,LURAP1,ENSG00000171357,protein_coding -50606,KRT38,ENSG00000171360,protein_coding -25288,CLCN5,ENSG00000171365,protein_coding -15528,TPPP,ENSG00000171368,protein_coding -2646,KCND3,ENSG00000171385,protein_coding -26417,APLN,ENSG00000171388,protein_coding -50578,KRTAP4-4,ENSG00000171396,protein_coding -50612,KRT13,ENSG00000171401,protein_coding -25376,XAGE3,ENSG00000171402,protein_coding -50618,KRT9,ENSG00000171403,protein_coding -25373,XAGE5,ENSG00000171405,protein_coding -20961,PDE7B,ENSG00000171408,protein_coding -15568,MRPL36,ENSG00000171421,protein_coding -57536,ZNF581,ENSG00000171425,protein_coding -27413,NAT1,ENSG00000171428,protein_coding -50551,KRT20,ENSG00000171431,protein_coding -25229,GLOD5,ENSG00000171433,protein_coding -40056,KSR2,ENSG00000171435,protein_coding -57531,ZNF524,ENSG00000171443,protein_coding -17131,MCC,ENSG00000171444,protein_coding -50544,KRT27,ENSG00000171446,protein_coding -31288,ZBTB26,ENSG00000171448,protein_coding -9172,CDK5R2,ENSG00000171450,protein_coding -53091,DSEL,ENSG00000171451,protein_coding -19763,POLR1C,ENSG00000171453,protein_coding -53920,ASXL1,ENSG00000171456,protein_coding -31279,OR1L6,ENSG00000171459,protein_coding -19759,DLK2,ENSG00000171462,protein_coding -55267,ZNF562,ENSG00000171466,protein_coding -19750,ZNF318,ENSG00000171467,protein_coding -55265,ZNF561,ENSG00000171469,protein_coding -50515,WIPF2,ENSG00000171475,protein_coding -13694,HOPX,ENSG00000171476,protein_coding -25180,SPACA5B,ENSG00000171478,protein_coding -31276,OR1L3,ENSG00000171481,protein_coding -57554,NLRP5,ENSG00000171487,protein_coding -2241,LRRC8C,ENSG00000171488,protein_coding -25176,SPACA5,ENSG00000171489,protein_coding -46958,RSL1D1,ENSG00000171490,protein_coding -2246,LRRC8D,ENSG00000171492,protein_coding -16137,MROH2B,ENSG00000171495,protein_coding -31271,OR1L8,ENSG00000171496,protein_coding -15094,PPID,ENSG00000171497,protein_coding -31270,OR1N2,ENSG00000171501,protein_coding -2177,COL24A1,ENSG00000171502,protein_coding -15092,ETFDH,ENSG00000171503,protein_coding -31269,OR1N1,ENSG00000171505,protein_coding -15087,RXFP1,ENSG00000171509,protein_coding -2157,LPAR3,ENSG00000171517,protein_coding -16128,PTGER4,ENSG00000171522,protein_coding -16674,TBCA,ENSG00000171530,protein_coding -50481,NEUROD2,ENSG00000171532,protein_coding -33979,MAP6,ENSG00000171533,protein_coding -16673,OTP,ENSG00000171540,protein_coding -9431,ECEL1,ENSG00000171551,protein_coding -53892,BCL2L1,ENSG00000171552,protein_coding -15015,FGG,ENSG00000171557,protein_coding -15014,FGA,ENSG00000171560,protein_coding -33959,OR2AT4,ENSG00000171561,protein_coding -15013,FGB,ENSG00000171564,protein_coding -15010,PLRG1,ENSG00000171566,protein_coding -56550,RAB4B-EGLN2,ENSG00000171570,protein_coding -57717,ZNF584,ENSG00000171574,protein_coding -60302,DSCAM,ENSG00000171587,protein_coding -51632,DNAI2,ENSG00000171595,protein_coding -9400,NMUR1,ENSG00000171596,protein_coding -333,CLSTN1,ENSG00000171603,protein_coding -17593,CXXC5,ENSG00000171604,protein_coding -57690,ZNF274,ENSG00000171606,protein_coding -329,PIK3CD,ENSG00000171608,protein_coding -19725,PTCRA,ENSG00000171611,protein_coding -326,SLC25A33,ENSG00000171612,protein_coding -16600,ENC1,ENSG00000171617,protein_coding -321,SPSB1,ENSG00000171621,protein_coding -33892,P2RY6,ENSG00000171631,protein_coding -51522,BPTF,ENSG00000171634,protein_coding -16657,S100Z,ENSG00000171643,protein_coding -57649,ZIK1,ENSG00000171649,protein_coding -25064,GPR82,ENSG00000171657,protein_coding -25063,GPR34,ENSG00000171659,protein_coding -250,PLEKHG5,ENSG00000171680,protein_coding -37988,ATF7IP,ENSG00000171681,protein_coding -54742,LKAAEAR1,ENSG00000171695,protein_coding -54739,RGS19,ENSG00000171700,protein_coding -54737,TCEA2,ENSG00000171703,protein_coding -27158,DEFB4A,ENSG00000171711,protein_coding -32507,ANO5,ENSG00000171714,protein_coding -17733,HDAC3,ENSG00000171720,protein_coding -3726,SPATA46,ENSG00000171722,protein_coding -43080,GPHN,ENSG00000171723,protein_coding -48650,VAT1L,ENSG00000171724,protein_coding -496,TMEM51,ENSG00000171729,protein_coding -263,CAMTA1,ENSG00000171735,protein_coding -56434,LGALS4,ENSG00000171747,protein_coding -12273,LRRC34,ENSG00000171757,protein_coding -39740,PAH,ENSG00000171759,protein_coding -45049,SPATA5L1,ENSG00000171763,protein_coding -45047,GATM,ENSG00000171766,protein_coding -37458,SYCE1,ENSG00000171772,protein_coding -55728,NXNL1,ENSG00000171773,protein_coding -56420,RASGRP4,ENSG00000171777,protein_coding -3637,NHLH1,ENSG00000171786,protein_coding -1333,SLFNL1,ENSG00000171790,protein_coding -53050,BCL2,ENSG00000171791,protein_coding -37555,RHNO1,ENSG00000171792,protein_coding -1331,CTPS1,ENSG00000171793,protein_coding -37430,UTF1,ENSG00000171794,protein_coding -37429,KNDC1,ENSG00000171798,protein_coding -56397,WDR87,ENSG00000171804,protein_coding -3878,METTL18,ENSG00000171806,protein_coding -37422,CFAP46,ENSG00000171811,protein_coding -1171,COL8A2,ENSG00000171812,protein_coding -37414,PWWP2B,ENSG00000171813,protein_coding -17667,PCDHB1,ENSG00000171815,protein_coding -56384,ZNF540,ENSG00000171817,protein_coding -383,ANGPTL7,ENSG00000171819,protein_coding -37516,FBXL14,ENSG00000171823,protein_coding -377,EXOSC10,ENSG00000171824,protein_coding -56378,ZNF570,ENSG00000171827,protein_coding -37499,NINJ2,ENSG00000171840,protein_coding -29725,MLLT3,ENSG00000171843,protein_coding -37759,FAM90A1,ENSG00000171847,protein_coding -5627,RRM2,ENSG00000171848,protein_coding -5522,TRAPPC12,ENSG00000171853,protein_coding -29736,IFNB1,ENSG00000171855,protein_coding -54629,RPS21,ENSG00000171858,protein_coding -37746,C3AR1,ENSG00000171860,protein_coding -49017,MRM3,ENSG00000171861,protein_coding -36639,PTEN,ENSG00000171862,protein_coding -5532,RPS7,ENSG00000171863,protein_coding -53438,PRND,ENSG00000171864,protein_coding -5529,RNASEH1,ENSG00000171865,protein_coding -53437,PRNP,ENSG00000171867,protein_coding -1432,KLF17,ENSG00000171872,protein_coding -53432,ADRA1D,ENSG00000171873,protein_coding -44993,FRMD5,ENSG00000171877,protein_coding -52554,AQP4,ENSG00000171885,protein_coding -55635,CYP4F11,ENSG00000171903,protein_coding -45400,TLN2,ENSG00000171914,protein_coding -49706,LGALS9C,ENSG00000171916,protein_coding -49724,TVP23B,ENSG00000171928,protein_coding -49723,FBXW10,ENSG00000171931,protein_coding -55620,OR10H3,ENSG00000171936,protein_coding -54471,ZNF217,ENSG00000171940,protein_coding -55619,OR10H2,ENSG00000171942,protein_coding -2859,SRGAP2C,ENSG00000171943,protein_coding -32076,OR52A5,ENSG00000171944,protein_coding -9274,SCG2,ENSG00000171951,protein_coding -49672,ATPAF2,ENSG00000171953,protein_coding -55609,CYP4F22,ENSG00000171954,protein_coding -45352,FOXB1,ENSG00000171956,protein_coding -1364,PPIH,ENSG00000171960,protein_coding -49671,DRC3,ENSG00000171962,protein_coding -54940,ZNF57,ENSG00000171970,protein_coding -53469,SHLD1,ENSG00000171984,protein_coding -32031,C11orf40,ENSG00000171987,protein_coding -36164,JMJD1C,ENSG00000171988,protein_coding -45330,LDHAL6B,ENSG00000171989,protein_coding -17899,SYNPO,ENSG00000171992,protein_coding -54937,ZNF556,ENSG00000172000,protein_coding -7137,MAL,ENSG00000172005,protein_coding -54933,ZNF554,ENSG00000172006,protein_coding -14781,RAB33B,ENSG00000172007,protein_coding -54932,AC006538.1,ENSG00000172009,protein_coding -30327,ANKRD20A4,ENSG00000172014,protein_coding -6822,REG3A,ENSG00000172016,protein_coding -11359,GAP43,ENSG00000172020,protein_coding -6819,REG1B,ENSG00000172023,protein_coding -2276,EPHX4,ENSG00000172031,protein_coding -10490,LAMB2,ENSG00000172037,protein_coding -10489,USP19,ENSG00000172046,protein_coding -10487,QARS,ENSG00000172053,protein_coding -50497,ORMDL3,ENSG00000172057,protein_coding -16528,SERF1A,ENSG00000172058,protein_coding -5622,KLF11,ENSG00000172059,protein_coding -12704,LRRC15,ENSG00000172061,protein_coding -16529,SMN1,ENSG00000172062,protein_coding -6988,EIF2AK3,ENSG00000172071,protein_coding -6986,TEX37,ENSG00000172073,protein_coding -54892,MOB3A,ENSG00000172081,protein_coding -6975,KRCC1,ENSG00000172086,protein_coding -10440,NME6,ENSG00000172113,protein_coding -21944,CYCS,ENSG00000172115,protein_coding -6939,CD8B,ENSG00000172116,protein_coding -50301,SLFN12,ENSG00000172123,protein_coding -48486,CALB2,ENSG00000172137,protein_coding -11287,SLC9C1,ENSG00000172139,protein_coding -49119,OR1A1,ENSG00000172146,protein_coding -49118,OR1A2,ENSG00000172150,protein_coding -33036,OR8I2,ENSG00000172154,protein_coding -3254,LCE1D,ENSG00000172155,protein_coding -50260,CCL11,ENSG00000172156,protein_coding -30589,FRMD3,ENSG00000172159,protein_coding -29010,SNTB1,ENSG00000172164,protein_coding -29009,MTBP,ENSG00000172167,protein_coding -50141,TEFM,ENSG00000172171,protein_coding -29008,MRPL13,ENSG00000172172,protein_coding -52975,MALT1,ENSG00000172175,protein_coding -18856,PRL,ENSG00000172179,protein_coding -46094,ISG20,ENSG00000172183,protein_coding -33001,OR4C11,ENSG00000172188,protein_coding -18829,MBOAT1,ENSG00000172197,protein_coding -33061,OR8U1,ENSG00000172199,protein_coding -18826,ID4,ENSG00000172201,protein_coding -32894,OR4X2,ENSG00000172208,protein_coding -23558,GPR22,ENSG00000172209,protein_coding -10366,CXCR6,ENSG00000172215,protein_coding -54413,CEBPB,ENSG00000172216,protein_coding -54806,AZU1,ENSG00000172232,protein_coding -46539,TPSAB1,ENSG00000172236,protein_coding -14232,ATOH1,ENSG00000172238,protein_coding -16189,PAIP1,ENSG00000172239,protein_coding -37859,CLEC7A,ENSG00000172243,protein_coding -16185,C5orf34,ENSG00000172244,protein_coding -32878,C1QTNF4,ENSG00000172247,protein_coding -1995,NEGR1,ENSG00000172260,protein_coding -16173,ZNF131,ENSG00000172262,protein_coding -53574,MACROD2,ENSG00000172264,protein_coding -34800,DPAGT1,ENSG00000172269,protein_coding -54787,BSG,ENSG00000172270,protein_coding -34802,HINFP,ENSG00000172273,protein_coding -58224,CDY1,ENSG00000172288,protein_coding -33230,OR10V1,ENSG00000172289,protein_coding -8323,CERS6,ENSG00000172292,protein_coding -53562,SPTLC3,ENSG00000172296,protein_coding -50181,COPRS,ENSG00000172301,protein_coding -54327,TP53RK,ENSG00000172315,protein_coding -8319,B3GALT1,ENSG00000172318,protein_coding -33215,OR5A1,ENSG00000172320,protein_coding -37850,CLEC12A,ENSG00000172322,protein_coding -33214,OR5A2,ENSG00000172324,protein_coding -23965,BPGM,ENSG00000172331,protein_coding -23399,POP7,ENSG00000172336,protein_coding -2354,ALG14,ENSG00000172339,protein_coding -10839,SUCLG2,ENSG00000172340,protein_coding -45921,STARD5,ENSG00000172345,protein_coding -59383,CSDC2,ENSG00000172346,protein_coding -19822,RCAN2,ENSG00000172348,protein_coding -45919,IL16,ENSG00000172349,protein_coding -34803,ABCG4,ENSG00000172350,protein_coding -58165,CDY1B,ENSG00000172352,protein_coding -23397,GNB2,ENSG00000172354,protein_coding -52856,CFAP53,ENSG00000172361,protein_coding -33174,OR5B12,ENSG00000172362,protein_coding -33173,OR5B2,ENSG00000172365,protein_coding -46488,MCRIP2,ENSG00000172366,protein_coding -34805,PDZD3,ENSG00000172367,protein_coding -34801,C2CD2L,ENSG00000172375,protein_coding -33155,OR9I1,ENSG00000172377,protein_coding -45897,ARNT2,ENSG00000172379,protein_coding -1942,GNG12,ENSG00000172380,protein_coding -46690,PRSS27,ENSG00000172382,protein_coding -14555,MYOZ2,ENSG00000172399,protein_coding -14553,SYNPO2,ENSG00000172403,protein_coding -59355,DNAJB7,ENSG00000172404,protein_coding -33132,CLP1,ENSG00000172409,protein_coding -1921,INSL5,ENSG00000172410,protein_coding -51355,EFCAB3,ENSG00000172421,protein_coding -34755,TTC36,ENSG00000172425,protein_coding -19773,RSPH9,ENSG00000172426,protein_coding -9592,COPS9,ENSG00000172428,protein_coding -19771,GTPBP2,ENSG00000172432,protein_coding -1806,FGGY,ENSG00000172456,protein_coding -33091,OR9G4,ENSG00000172457,protein_coding -40621,IL17D,ENSG00000172458,protein_coding -33085,OR5AR1,ENSG00000172459,protein_coding -20419,FUT9,ENSG00000172461,protein_coding -33084,OR5AP2,ENSG00000172464,protein_coding -26054,TCEAL1,ENSG00000172465,protein_coding -52660,ZNF24,ENSG00000172466,protein_coding -58017,HSFY1,ENSG00000172468,protein_coding -20415,MANEA,ENSG00000172469,protein_coding -26048,RAB40A,ENSG00000172476,protein_coding -9615,MAB21L4,ENSG00000172478,protein_coding -9614,AGXT,ENSG00000172482,protein_coding -33059,OR8J1,ENSG00000172487,protein_coding -33051,OR5T3,ENSG00000172489,protein_coding -14144,AFF1,ENSG00000172493,protein_coding -16750,ACOT12,ENSG00000172497,protein_coding -33584,FIBP,ENSG00000172500,protein_coding -33676,CARNS1,ENSG00000172508,protein_coding -55623,OR10H5,ENSG00000172519,protein_coding -48897,BANP,ENSG00000172530,protein_coding -33674,PPP1CA,ENSG00000172531,protein_coding -26880,HCFC1,ENSG00000172534,protein_coding -36024,FAM170B,ENSG00000172538,protein_coding -33583,CTSW,ENSG00000172543,protein_coding -18008,NIPAL4,ENSG00000172548,protein_coding -38851,MUCL1,ENSG00000172551,protein_coding -5498,SNTG2,ENSG00000172554,protein_coding -18003,FNDC9,ENSG00000172568,protein_coding -38072,PDE3A,ENSG00000172572,protein_coding -44787,RASGRP1,ENSG00000172575,protein_coding -12495,KLHL6,ENSG00000172578,protein_coding -36382,CHCHD1,ENSG00000172586,protein_coding -42281,MRPL52,ENSG00000172590,protein_coding -20777,SMPDL3A,ENSG00000172594,protein_coding -38553,RND1,ENSG00000172602,protein_coding -33666,RAD9A,ENSG00000172613,protein_coding -33582,EFEMP2,ENSG00000172638,protein_coding -38516,OR10AD1,ENSG00000172640,protein_coding -36369,AGAP5,ENSG00000172650,protein_coding -35935,WASHC2C,ENSG00000172661,protein_coding -33683,TMEM134,ENSG00000172663,protein_coding -12398,ZMAT3,ENSG00000172667,protein_coding -35931,ZFAND4,ENSG00000172671,protein_coding -20828,THEMIS,ENSG00000172673,protein_coding -28083,MOS,ENSG00000172680,protein_coding -55923,ZNF738,ENSG00000172687,protein_coding -33267,MS4A10,ENSG00000172689,protein_coding -50294,SLFN11,ENSG00000172716,protein_coding -43083,FAM71D,ENSG00000172717,protein_coding -29971,CCL19,ENSG00000172724,protein_coding -33679,CORO1B,ENSG00000172725,protein_coding -27713,FUT10,ENSG00000172728,protein_coding -36278,LRRC20,ENSG00000172731,protein_coding -33581,MUS81,ENSG00000172732,protein_coding -27688,PURG,ENSG00000172733,protein_coding -19600,TMEM217,ENSG00000172738,protein_coding -33220,OR4D9,ENSG00000172742,protein_coding -26989,ZNF596,ENSG00000172748,protein_coding -11680,COL6A5,ENSG00000172752,protein_coding -33579,CFL1,ENSG00000172757,protein_coding -11658,TMCC1,ENSG00000172765,protein_coding -40999,NAA16,ENSG00000172766,protein_coding -33172,OR5B3,ENSG00000172769,protein_coding -11650,EFCAB12,ENSG00000172771,protein_coding -33163,OR10W1,ENSG00000172772,protein_coding -48125,FAM192A,ENSG00000172775,protein_coding -11631,RAB43,ENSG00000172780,protein_coding -51658,AC087651.1,ENSG00000172782,protein_coding -29473,CBWD1,ENSG00000172785,protein_coding -38812,HOXC5,ENSG00000172789,protein_coding -51649,RAB37,ENSG00000172794,protein_coding -17130,DCP2,ENSG00000172795,protein_coding -33580,SNX32,ENSG00000172803,protein_coding -51628,RPL38,ENSG00000172809,protein_coding -28206,CYP7B1,ENSG00000172817,protein_coding -33576,OVOL1,ENSG00000172818,protein_coding -38759,RARG,ENSG00000172819,protein_coding -48284,CES4A,ENSG00000172824,protein_coding -48283,CES3,ENSG00000172828,protein_coding -33664,SSH3,ENSG00000172830,protein_coding -48280,CES2,ENSG00000172831,protein_coding -48276,PDP2,ENSG00000172840,protein_coding -8414,SP3,ENSG00000172845,protein_coding -38722,KRT2,ENSG00000172867,protein_coding -17208,DMXL1,ENSG00000172869,protein_coding -8383,METAP1D,ENSG00000172878,protein_coding -10240,ZNF621,ENSG00000172888,protein_coding -31680,EGFL7,ENSG00000172889,protein_coding -33803,NADSYN1,ENSG00000172890,protein_coding -33801,DHCR7,ENSG00000172893,protein_coding -17169,LVRN,ENSG00000172901,protein_coding -40905,NBEA,ENSG00000172915,protein_coding -33572,RNASEH2C,ENSG00000172922,protein_coding -33754,MYEOV,ENSG00000172927,protein_coding -33663,ANKRD13D,ENSG00000172932,protein_coding -33746,MRGPRF,ENSG00000172935,protein_coding -10179,MYD88,ENSG00000172936,protein_coding -33743,MRGPRD,ENSG00000172938,protein_coding -10180,OXSR1,ENSG00000172939,protein_coding -10181,SLC22A13,ENSG00000172940,protein_coding -25412,PHF8,ENSG00000172943,protein_coding -5994,LCLAT1,ENSG00000172954,protein_coding -14284,ADH6,ENSG00000172955,protein_coding -58330,XKR3,ENSG00000172967,protein_coding -10956,FRG2C,ENSG00000172969,protein_coding -33571,KAT5,ENSG00000172977,protein_coding -7449,SH3RF3,ENSG00000172985,protein_coding -10907,GXYLT2,ENSG00000172986,protein_coding -36869,HPSE2,ENSG00000172987,protein_coding -50832,DCAKD,ENSG00000172992,protein_coding -10132,ARPP21,ENSG00000172995,protein_coding -13042,TADA2B,ENSG00000173011,protein_coding -13041,CCDC96,ENSG00000173013,protein_coding -33662,GRK2,ENSG00000173020,protein_coding -33568,RELA,ENSG00000173039,protein_coding -13010,EVC2,ENSG00000173040,protein_coding -22714,ZNF680,ENSG00000173041,protein_coding -39951,HECTD4,ENSG00000173064,protein_coding -50032,FAM222B,ENSG00000173065,protein_coding -29679,BNC2,ENSG00000173068,protein_coding -31189,DEC1,ENSG00000173077,protein_coding -3446,RXFP4,ENSG00000173080,protein_coding -14104,HPSE,ENSG00000173083,protein_coding -14103,COQ2,ENSG00000173085,protein_coding -39914,CCDC63,ENSG00000173093,protein_coding -3698,HSPA6,ENSG00000173110,protein_coding -33467,TRMT112,ENSG00000173113,protein_coding -23598,LRRN3,ENSG00000173114,protein_coding -33659,KDM2A,ENSG00000173120,protein_coding -36793,ACSM6,ENSG00000173124,protein_coding -29415,ADCK5,ENSG00000173137,protein_coding -40640,MRPL57,ENSG00000173141,protein_coding -36773,NOC3L,ENSG00000173145,protein_coding -33466,ESRRA,ENSG00000173153,protein_coding -33658,RHOD,ENSG00000173156,protein_coding -38412,ADAMTS20,ENSG00000173157,protein_coding -6463,COMMD1,ENSG00000173163,protein_coding -8903,RAPH1,ENSG00000173166,protein_coding -3406,MTX1,ENSG00000173171,protein_coding -11482,ADCY5,ENSG00000173175,protein_coding -11473,PARP14,ENSG00000173193,protein_coding -25770,CYSLTR1,ENSG00000173198,protein_coding -11471,PARP15,ENSG00000173200,protein_coding -3382,CKS1B,ENSG00000173207,protein_coding -38360,ABCD2,ENSG00000173208,protein_coding -17853,ABLIM3,ENSG00000173210,protein_coding -2739,MAB21L3,ENSG00000173212,protein_coding -52055,TUBB8P12,ENSG00000173213,protein_coding -20619,MFSD4B,ENSG00000173214,protein_coding -2731,VANGL1,ENSG00000173218,protein_coding -16925,GLRX,ENSG00000173221,protein_coding -11451,IQCB1,ENSG00000173226,protein_coding -33656,SYT12,ENSG00000173227,protein_coding -11450,GOLGB1,ENSG00000173230,protein_coding -33655,C11orf86,ENSG00000173237,protein_coding -36655,LIPM,ENSG00000173239,protein_coding -17808,GPR151,ENSG00000173250,protein_coding -29492,DMRT2,ENSG00000173253,protein_coding -31104,ZNF483,ENSG00000173258,protein_coding -17794,PLAC8L1,ENSG00000173261,protein_coding -37730,SLC2A14,ENSG00000173262,protein_coding -33461,GPR137,ENSG00000173264,protein_coding -36600,SNCG,ENSG00000173267,protein_coding -36598,MMRN2,ENSG00000173269,protein_coding -7890,MZT2A,ENSG00000173272,protein_coding -27216,TNKS,ENSG00000173273,protein_coding -26545,ZNF449,ENSG00000173275,protein_coding -60335,ZBTB21,ENSG00000173276,protein_coding -27203,PPP1R3B,ENSG00000173281,protein_coding -3549,OR10K1,ENSG00000173285,protein_coding -7844,GPR148,ENSG00000173302,protein_coding -15362,STOX2,ENSG00000173320,protein_coding -33563,MAP3K11,ENSG00000173327,protein_coding -29100,TRIB1,ENSG00000173334,protein_coding -53758,CST9,ENSG00000173335,protein_coding -33562,KCNK7,ENSG00000173338,protein_coding -7747,SFT2D3,ENSG00000173349,protein_coding -10618,AC097637.1,ENSG00000173366,protein_coding -733,C1QB,ENSG00000173369,protein_coding -731,C1QA,ENSG00000173372,protein_coding -14584,NDNF,ENSG00000173376,protein_coding -10597,IQCF1,ENSG00000173389,protein_coding -37860,OLR1,ENSG00000173391,protein_coding -39331,GLIPR1L1,ENSG00000173401,protein_coding -10510,DAG1,ENSG00000173402,protein_coding -53681,INSM1,ENSG00000173404,protein_coding -1778,DAB1,ENSG00000173406,protein_coding -5057,ARV1,ENSG00000173409,protein_coding -53672,NAA20,ENSG00000173418,protein_coding -10495,CCDC36,ENSG00000173421,protein_coding -42098,RNASE8,ENSG00000173431,protein_coding -32437,SAA1,ENSG00000173432,protein_coding -638,MICOS10,ENSG00000173436,protein_coding -33561,EHBP1L1,ENSG00000173442,protein_coding -39289,THAP2,ENSG00000173451,protein_coding -21859,TMEM196,ENSG00000173452,protein_coding -34812,RNF26,ENSG00000173456,protein_coding -33456,PPP1R14B,ENSG00000173457,protein_coding -42062,RNASE11,ENSG00000173464,protein_coding -33559,ZNRD2,ENSG00000173465,protein_coding -21827,AGR3,ENSG00000173467,protein_coding -10419,SMARCC1,ENSG00000173473,protein_coding -57671,ZNF417,ENSG00000173480,protein_coding -52204,PTPRM,ENSG00000173482,protein_coding -33454,FKBP2,ENSG00000173486,protein_coding -33453,VEGFB,ENSG00000173511,protein_coding -45803,PEAK1,ENSG00000173517,protein_coding -27513,TNFRSF10D,ENSG00000173530,protein_coding -10515,MST1,ENSG00000173531,protein_coding -27512,TNFRSF10C,ENSG00000173535,protein_coding -10519,GMPPB,ENSG00000173540,protein_coding -13902,MOB1B,ENSG00000173542,protein_coding -15789,ZNF622,ENSG00000173545,protein_coding -45765,CSPG4,ENSG00000173546,protein_coding -45764,SNX33,ENSG00000173548,protein_coding -5888,C2orf70,ENSG00000173557,protein_coding -8691,NABP1,ENSG00000173559,protein_coding -5884,ADGRF3,ENSG00000173567,protein_coding -57552,NLRP13,ENSG00000173572,protein_coding -46241,CHD2,ENSG00000173575,protein_coding -10367,XCR1,ENSG00000173578,protein_coding -57537,CCDC106,ENSG00000173581,protein_coding -10363,CCR9,ENSG00000173585,protein_coding -39571,CEP83,ENSG00000173588,protein_coding -13869,SULT1B1,ENSG00000173597,protein_coding -39549,NUDT4,ENSG00000173598,protein_coding -33651,PC,ENSG00000173599,protein_coding -13867,UGT2A1,ENSG00000173610,protein_coding -31331,SCAI,ENSG00000173611,protein_coding -20706,GPRC6A,ENSG00000173612,protein_coding -341,NMNAT1,ENSG00000173614,protein_coding -33652,LRFN4,ENSG00000173621,protein_coding -20698,TRAPPC3L,ENSG00000173626,protein_coding -4150,APOBEC4,ENSG00000173627,protein_coding -60481,SLC19A1,ENSG00000173638,protein_coding -539,HSPB7,ENSG00000173641,protein_coding -33650,RCE1,ENSG00000173653,protein_coding -1512,UQCRH,ENSG00000173660,protein_coding -254,TAS1R1,ENSG00000173662,protein_coding -241,HES3,ENSG00000173673,protein_coding -24808,EIF1AX,ENSG00000173674,protein_coding -23479,SPDYE2B,ENSG00000173678,protein_coding -31275,OR1L1,ENSG00000173679,protein_coding -24804,BCLAF3,ENSG00000173681,protein_coding -9380,PSMD1,ENSG00000173692,protein_coding -24798,ADGRG2,ENSG00000173698,protein_coding -9377,SPATA3,ENSG00000173699,protein_coding -11506,MUC13,ENSG00000173702,protein_coding -10112,SUSD5,ENSG00000173705,protein_coding -11507,HEG1,ENSG00000173706,protein_coding -51105,WFIKKN2,ENSG00000173714,protein_coding -33647,C11orf80,ENSG00000173715,protein_coding -5144,TOMM20,ENSG00000173726,protein_coding -5307,C1orf100,ENSG00000173728,protein_coding -9310,AGFG1,ENSG00000173744,protein_coding -50653,STAT5B,ENSG00000173757,protein_coding -52007,CD7,ENSG00000173762,protein_coding -10317,TOPAZ1,ENSG00000173769,protein_coding -50639,CNP,ENSG00000173786,protein_coding -50629,JUP,ENSG00000173801,protein_coding -50626,HAP1,ENSG00000173805,protein_coding -56151,AC008736.1,ENSG00000173809,protein_coding -50624,EIF1,ENSG00000173812,protein_coding -51891,ENDOV,ENSG00000173818,protein_coding -51886,AC124319.1,ENSG00000173821,protein_coding -33537,TIGD3,ENSG00000173825,protein_coding -51396,KCNH6,ENSG00000173826,protein_coding -51370,MARCH10,ENSG00000173838,protein_coding -1460,PLK3,ENSG00000173846,protein_coding -35246,NET1,ENSG00000173848,protein_coding -22152,DPY19L1,ENSG00000173852,protein_coding -46084,AC013489.1,ENSG00000173867,protein_coding -51020,PHOSPHO1,ENSG00000173868,protein_coding -55449,ZNF791,ENSG00000173875,protein_coding -12288,PHC3,ENSG00000173889,protein_coding -12285,GPR160,ENSG00000173890,protein_coding -51864,CBX2,ENSG00000173894,protein_coding -33645,SPTBN2,ENSG00000173898,protein_coding -12249,GOLIM4,ENSG00000173905,protein_coding -50545,KRT28,ENSG00000173908,protein_coding -33644,RBM4B,ENSG00000173914,protein_coding -37008,ATP5MD,ENSG00000173915,protein_coding -50968,HOXB2,ENSG00000173917,protein_coding -51856,C1QTNF1,ENSG00000173918,protein_coding -17306,MARCH3,ENSG00000173926,protein_coding -55365,SWSAP1,ENSG00000173928,protein_coding -17023,SLCO4C1,ENSG00000173930,protein_coding -33643,RBM4,ENSG00000173933,protein_coding -2623,PIFO,ENSG00000173947,protein_coding -12724,XXYLT1,ENSG00000173950,protein_coding -5820,UBXN2A,ENSG00000173960,protein_coding -54984,RAX2,ENSG00000173976,protein_coding -41097,LRRC63,ENSG00000173988,protein_coding -50485,TCAP,ENSG00000173991,protein_coding -33639,CCS,ENSG00000173992,protein_coding -12796,NRROS,ENSG00000174004,protein_coding -12798,CEP19,ENSG00000174007,protein_coding -24851,KLHL15,ENSG00000174010,protein_coding -12793,FBXO45,ENSG00000174013,protein_coding -41089,SPERT,ENSG00000174015,protein_coding -25787,TENT5D,ENSG00000174016,protein_coding -2147,GNG5,ENSG00000174021,protein_coding -41079,SLC25A30,ENSG00000174032,protein_coding -29988,C9orf131,ENSG00000174038,protein_coding -4585,CD34,ENSG00000174059,protein_coding -33637,CTSF,ENSG00000174080,protein_coding -39162,MSRB3,ENSG00000174099,protein_coding -39160,LEMD3,ENSG00000174106,protein_coding -46557,C16orf91,ENSG00000174109,protein_coding -13414,TLR10,ENSG00000174123,protein_coding -13415,TLR1,ENSG00000174125,protein_coding -13416,TLR6,ENSG00000174130,protein_coding -17013,FAM174A,ENSG00000174132,protein_coding -16979,RGMB,ENSG00000174136,protein_coding -12915,FAM53A,ENSG00000174137,protein_coding -13389,NWD2,ENSG00000174145,protein_coding -2548,CYB561D1,ENSG00000174151,protein_coding -19920,GSTA3,ENSG00000174156,protein_coding -33634,ZDHHC24,ENSG00000174165,protein_coding -11163,TRMT10C,ENSG00000174173,protein_coding -3873,SELP,ENSG00000174175,protein_coding -48918,CTU2,ENSG00000174177,protein_coding -44898,MGA,ENSG00000174197,protein_coding -39126,C12orf66,ENSG00000174206,protein_coding -25951,ARL13A,ENSG00000174225,protein_coding -28771,SNX31,ENSG00000174226,protein_coding -12873,PIGG,ENSG00000174227,protein_coding -49045,PRPF8,ENSG00000174231,protein_coding -38545,ADCY6,ENSG00000174233,protein_coding -38193,REP15,ENSG00000174236,protein_coding -49040,PITPNA,ENSG00000174238,protein_coding -38552,DDX23,ENSG00000174243,protein_coding -11343,ZNF80,ENSG00000174255,protein_coding -33516,ZNHIT2,ENSG00000174276,protein_coding -8456,EVX2,ENSG00000174279,protein_coding -49336,ZBTB4,ENSG00000174282,protein_coding -49320,TNK1,ENSG00000174292,protein_coding -54164,ZHX3,ENSG00000174306,protein_coding -4368,PHLDA3,ENSG00000174307,protein_coding -8639,DIRC1,ENSG00000174325,protein_coding -49288,SLC16A11,ENSG00000174326,protein_coding -49287,SLC16A13,ENSG00000174327,protein_coding -1701,GLIS1,ENSG00000174332,protein_coding -18439,OR2Y1,ENSG00000174339,protein_coding -13461,CHRNA9,ENSG00000174343,protein_coding -1679,PODN,ENSG00000174348,protein_coding -15547,SLC6A19,ENSG00000174358,protein_coding -35054,C11orf45,ENSG00000174370,protein_coding -5263,EXO1,ENSG00000174371,protein_coding -42559,RALGAPA1,ENSG00000174373,protein_coding -41804,LIG4,ENSG00000174405,protein_coding -28914,TRHR,ENSG00000174417,protein_coding -22939,GTF2IRD2B,ENSG00000174428,protein_coding -28892,ABRA,ENSG00000174429,protein_coding -39893,ATP2A2,ENSG00000174437,protein_coding -45519,ZWILCH,ENSG00000174442,protein_coding -45513,RPL4,ENSG00000174444,protein_coding -45511,SNAPC5,ENSG00000174446,protein_coding -52900,STARD6,ENSG00000174448,protein_coding -44383,GOLGA6L2,ENSG00000174450,protein_coding -9058,VWC2L,ENSG00000174453,protein_coding -39888,C12orf76,ENSG00000174456,protein_coding -26256,ZCCHC12,ENSG00000174460,protein_coding -24304,CNTNAP2,ENSG00000174469,protein_coding -15235,GALNTL6,ENSG00000174473,protein_coding -29839,LINGO2,ENSG00000174482,protein_coding -33632,BBS1,ENSG00000174483,protein_coding -45490,DENND4A,ENSG00000174485,protein_coding -45479,IGDCC3,ENSG00000174498,protein_coding -11285,GCSAM,ENSG00000174500,protein_coding -7181,ANKRD36C,ENSG00000174501,protein_coding -4522,SLC26A9,ENSG00000174502,protein_coding -4509,MFSD4A,ENSG00000174514,protein_coding -33628,PELI3,ENSG00000174516,protein_coding -56518,TTC9B,ENSG00000174521,protein_coding -39866,MYO1H,ENSG00000174527,protein_coding -4491,TMEM81,ENSG00000174529,protein_coding -33626,MRPL11,ENSG00000174547,protein_coding -57126,KLK15,ENSG00000174562,protein_coding -11783,IL20RB,ENSG00000174564,protein_coding -4469,GOLT1A,ENSG00000174567,protein_coding -1255,AKIRIN1,ENSG00000174574,protein_coding -33624,NPAS4,ENSG00000174576,protein_coding -11766,MSL2,ENSG00000174579,protein_coding -57708,ZNF497,ENSG00000174586,protein_coding -14529,TRAM1L1,ENSG00000174599,protein_coding -39836,CMKLR1,ENSG00000174600,protein_coding -4699,ANGEL2,ENSG00000174606,protein_coding -14505,UGT8,ENSG00000174607,protein_coding -11756,KY,ENSG00000174611,protein_coding -47169,IQCK,ENSG00000174628,protein_coding -11740,SLCO2A1,ENSG00000174640,protein_coding -55256,ZNF266,ENSG00000174652,protein_coding -55243,OR7D4,ENSG00000174667,protein_coding -33619,SLC29A2,ENSG00000174669,protein_coding -31881,BRSK2,ENSG00000174672,protein_coding -33617,B4GAT1,ENSG00000174684,protein_coding -16776,TMEM167A,ENSG00000174695,protein_coding -23807,LEP,ENSG00000174697,protein_coding -18186,SH3PXD2B,ENSG00000174705,protein_coding -38290,RESF1,ENSG00000174718,protein_coding -14475,LARP7,ENSG00000174720,protein_coding -36721,FGFBP3,ENSG00000174721,protein_coding -9998,NR1D2,ENSG00000174738,protein_coding -25874,PABPC5,ENSG00000174740,protein_coding -33616,BRMS1,ENSG00000174744,protein_coding -9997,RPL15,ENSG00000174748,protein_coding -14461,FAM241A,ENSG00000174749,protein_coding -31831,HRAS,ENSG00000174775,protein_coding -12239,WDR49,ENSG00000174776,protein_coding -13690,SRP72,ENSG00000174780,protein_coding -55159,PCP2,ENSG00000174788,protein_coding -33614,RIN1,ENSG00000174791,protein_coding -13970,ODAPH,ENSG00000174792,protein_coding -13969,THAP6,ENSG00000174796,protein_coding -13677,CEP135,ENSG00000174799,protein_coding -34165,FZD4,ENSG00000174804,protein_coding -33613,CD248,ENSG00000174807,protein_coding -13954,BTC,ENSG00000174808,protein_coding -2947,PDZK1,ENSG00000174827,protein_coding -55127,ADGRE1,ENSG00000174837,protein_coding -10730,DENND6A,ENSG00000174839,protein_coding -10726,PDE12,ENSG00000174840,protein_coding -2286,GLMN,ENSG00000174842,protein_coding -10718,DNAH12,ENSG00000174844,protein_coding -33610,YIF1A,ENSG00000174851,protein_coding -33609,CNIH2,ENSG00000174871,protein_coding -2475,AMY1B,ENSG00000174876,protein_coding -31806,NLRP6,ENSG00000174885,protein_coding -55074,NDUFA11,ENSG00000174886,protein_coding -12141,RSRC1,ENSG00000174891,protein_coding -55064,CATSPERD,ENSG00000174898,protein_coding -12135,PQLC2L,ENSG00000174899,protein_coding -33606,RAB1B,ENSG00000174903,protein_coding -33088,OR9G1,ENSG00000174914,protein_coding -31826,PTDSS2,ENSG00000174915,protein_coding -55061,MICOS13,ENSG00000174917,protein_coding -12096,C3orf33,ENSG00000174928,protein_coding -33069,OR5M3,ENSG00000174937,protein_coding -47475,SEZ6L2,ENSG00000174938,protein_coding -47476,ASPHD1,ENSG00000174939,protein_coding -47477,KCTD13,ENSG00000174943,protein_coding -12025,P2RY14,ENSG00000174944,protein_coding -21622,AMZ1,ENSG00000174945,protein_coding -12024,GPR171,ENSG00000174946,protein_coding -12072,GPR149,ENSG00000174948,protein_coding -913,CD164L2,ENSG00000174950,protein_coding -56965,FUT1,ENSG00000174951,protein_coding -12069,DHX36,ENSG00000174953,protein_coding -33046,OR5J2,ENSG00000174957,protein_coding -11937,ZIC4,ENSG00000174963,protein_coding -33028,OR10AG1,ENSG00000174970,protein_coding -33003,OR4S2,ENSG00000174982,protein_coding -40047,FBXW8,ENSG00000174989,protein_coding -48894,CA5A,ENSG00000174990,protein_coding -47460,ZG16,ENSG00000174992,protein_coding -33602,KLC2,ENSG00000174996,protein_coding -21364,SLC22A1,ENSG00000175003,protein_coding -37331,TEX36,ENSG00000175018,protein_coding -37324,CTBP2,ENSG00000175029,protein_coding -11901,CHST2,ENSG00000175040,protein_coding -21298,ZDHHC14,ENSG00000175048,protein_coding -11881,ATR,ENSG00000175054,protein_coding -54292,UBE2C,ENSG00000175063,protein_coding -52591,DSG4,ENSG00000175065,protein_coding -11877,GK5,ENSG00000175066,protein_coding -28237,VCPIP1,ENSG00000175073,protein_coding -12609,RTP1,ENSG00000175077,protein_coding -9207,DES,ENSG00000175084,protein_coding -849,PDIK1L,ENSG00000175087,protein_coding -11850,SPSB4,ENSG00000175093,protein_coding -32711,RAG2,ENSG00000175097,protein_coding -32708,TRAF6,ENSG00000175104,protein_coding -11033,ZNF654,ENSG00000175105,protein_coding -49548,TVP23C,ENSG00000175106,protein_coding -11816,MRPS22,ENSG00000175110,protein_coding -33600,PACS1,ENSG00000175115,protein_coding -54246,WFDC5,ENSG00000175121,protein_coding -1071,MARCKSL1,ENSG00000175130,protein_coding -5463,SH3BP5L,ENSG00000175137,protein_coding -5438,OR2T1,ENSG00000175143,protein_coding -51266,YPEL2,ENSG00000175155,protein_coding -11008,CADM2,ENSG00000175161,protein_coding -31572,ABO,ENSG00000175164,protein_coding -12531,PSMD2,ENSG00000175166,protein_coding -51245,PPM1E,ENSG00000175175,protein_coding -12534,FAM131A,ENSG00000175182,protein_coding -39366,CSRP2,ENSG00000175183,protein_coding -39000,INHBC,ENSG00000175189,protein_coding -12503,PARL,ENSG00000175193,protein_coding -39007,DDIT3,ENSG00000175197,protein_coding -41721,PCCA,ENSG00000175198,protein_coding -45649,HIGD2B,ENSG00000175202,protein_coding -39011,DCTN2,ENSG00000175203,protein_coding -406,NPPA,ENSG00000175206,protein_coding -32838,ZNF408,ENSG00000175213,protein_coding -39038,CTDSP2,ENSG00000175215,protein_coding -32840,CKAP5,ENSG00000175216,protein_coding -32837,ARHGAP1,ENSG00000175220,protein_coding -54810,MED16,ENSG00000175221,protein_coding -32836,ATG13,ENSG00000175224,protein_coding -33596,GAL3ST3,ENSG00000175229,protein_coding -370,C1orf127,ENSG00000175262,protein_coding -32803,CHST1,ENSG00000175264,protein_coding -44718,GOLGA8A,ENSG00000175265,protein_coding -47242,VWA3A,ENSG00000175267,protein_coding -32788,TP53I11,ENSG00000175274,protein_coding -360,CENPS,ENSG00000175279,protein_coding -31458,DOLK,ENSG00000175283,protein_coding -31456,PHYHD1,ENSG00000175287,protein_coding -33595,CATSPER1,ENSG00000175294,protein_coding -28662,CCNE2,ENSG00000175305,protein_coding -18356,PHYKPL,ENSG00000175309,protein_coding -47207,ANKS4B,ENSG00000175311,protein_coding -33594,CST6,ENSG00000175315,protein_coding -45625,GRAMD2A,ENSG00000175318,protein_coding -52381,ZNF519,ENSG00000175322,protein_coding -27794,LSM1,ENSG00000175324,protein_coding -18347,PROP1,ENSG00000175325,protein_coding -59130,ISX,ENSG00000175329,protein_coding -33593,BANF1,ENSG00000175334,protein_coding -38950,APOF,ENSG00000175336,protein_coding -44656,CHRNA7,ENSG00000175344,protein_coding -32254,TMEM9B,ENSG00000175348,protein_coding -32256,NRIP3,ENSG00000175352,protein_coding -52345,PTPN2,ENSG00000175354,protein_coding -32258,SCUBE2,ENSG00000175356,protein_coding -33592,EIF1AD,ENSG00000175376,protein_coding -52798,SMAD2,ENSG00000175387,protein_coding -32228,EIF3F,ENSG00000175390,protein_coding -35799,ZNF25,ENSG00000175395,protein_coding -38884,OR10P1,ENSG00000175398,protein_coding -18283,ARL10,ENSG00000175414,protein_coding -18287,CLTB,ENSG00000175416,protein_coding -16941,PCSK1,ENSG00000175426,protein_coding -27439,LPL,ENSG00000175445,protein_coding -16921,RFESD,ENSG00000175449,protein_coding -11490,CCDC14,ENSG00000175455,protein_coding -33675,TBC1D10C,ENSG00000175463,protein_coding -33590,SART1,ENSG00000175467,protein_coding -37404,PPP2R2D,ENSG00000175470,protein_coding -16910,MCTP1,ENSG00000175471,protein_coding -33667,POLD4,ENSG00000175482,protein_coding -32155,OR52W1,ENSG00000175485,protein_coding -55778,LRRC25,ENSG00000175489,protein_coding -7609,DPP10,ENSG00000175497,protein_coding -33671,CLCF1,ENSG00000175505,protein_coding -33589,TSGA10IP,ENSG00000175513,protein_coding -33681,GPR152,ENSG00000175514,protein_coding -32111,UBQLNL,ENSG00000175518,protein_coding -32110,UBQLN3,ENSG00000175520,protein_coding -37171,PNLIP,ENSG00000175535,protein_coding -33937,LIPT2,ENSG00000175536,protein_coding -33933,KCNE3,ENSG00000175538,protein_coding -33682,CABP4,ENSG00000175544,protein_coding -38347,ALG10B,ENSG00000175548,protein_coding -33588,DRAP1,ENSG00000175550,protein_coding -26260,LONRF3,ENSG00000175556,protein_coding -33919,UCP3,ENSG00000175564,protein_coding -33915,UCP2,ENSG00000175567,protein_coding -33587,C11orf68,ENSG00000175573,protein_coding -33911,PAAF1,ENSG00000175575,protein_coding -33907,MRPL48,ENSG00000175581,protein_coding -33904,RAB6A,ENSG00000175582,protein_coding -33889,P2RY2,ENSG00000175591,protein_coding -33586,FOSL1,ENSG00000175592,protein_coding -46993,ERCC4,ENSG00000175595,protein_coding -22269,SUGCT,ENSG00000175600,protein_coding -33585,CCDC85B,ENSG00000175602,protein_coding -28355,TMEM70,ENSG00000175606,protein_coding -32892,OR4B1,ENSG00000175619,protein_coding -33677,RPS6KB2,ENSG00000175634,protein_coding -46935,RMI2,ENSG00000175643,protein_coding -46941,PRM1,ENSG00000175646,protein_coding -49669,TOM1L2,ENSG00000175662,protein_coding -40849,TEX26,ENSG00000175664,protein_coding -54942,ZNF77,ENSG00000175691,protein_coding -11415,GPR156,ENSG00000175697,protein_coding -43595,CCDC197,ENSG00000175699,protein_coding -7478,MTLN,ENSG00000175701,protein_coding -892,KDF1,ENSG00000175707,protein_coding -52043,B3GNTL1,ENSG00000175711,protein_coding -26213,RBMXL3,ENSG00000175718,protein_coding -40194,MLXIP,ENSG00000175727,protein_coding -16892,NR2F1,ENSG00000175745,protein_coding -104,AURKAIP1,ENSG00000175756,protein_coding -31254,TTLL11,ENSG00000175764,protein_coding -18297,EIF4E1B,ENSG00000175766,protein_coding -30084,TOMM5,ENSG00000175768,protein_coding -44791,C15orf53,ENSG00000175779,protein_coding -39233,SLC35E3,ENSG00000175782,protein_coding -43588,PRIMA1,ENSG00000175785,protein_coding -30800,ZNF169,ENSG00000175787,protein_coding -11596,RUVBL1,ENSG00000175792,protein_coding -886,SFN,ENSG00000175793,protein_coding -27223,MSRA,ENSG00000175806,protein_coding -24832,CBLL2,ENSG00000175809,protein_coding -41754,CCDC168,ENSG00000175820,protein_coding -49303,CTDNEP1,ENSG00000175826,protein_coding -50753,ETV4,ENSG00000175832,protein_coding -31418,SWI5,ENSG00000175854,protein_coding -16351,GAPT,ENSG00000175857,protein_coding -51913,BAIAP2,ENSG00000175866,protein_coding -32374,CALCB,ENSG00000175868,protein_coding -7310,CREG2,ENSG00000175874,protein_coding -22912,TMEM270,ENSG00000175877,protein_coding -8463,HOXD8,ENSG00000175879,protein_coding -29655,ZDHHC21,ENSG00000175893,protein_coding -60427,TSPEAR,ENSG00000175894,protein_coding -28675,PLEKHF2,ENSG00000175895,protein_coding -37807,A2M,ENSG00000175899,protein_coding -50745,ARL4D,ENSG00000175906,protein_coding -12966,DOK7,ENSG00000175920,protein_coding -9701,LRRN1,ENSG00000175928,protein_coding -51747,UBE2O,ENSG00000175931,protein_coding -47575,ORAI3,ENSG00000175938,protein_coding -29062,KLHL38,ENSG00000175946,protein_coding -40142,UNC119B,ENSG00000175970,protein_coding -2708,DENND2C,ENSG00000175984,protein_coding -43147,PLEKHD1,ENSG00000175985,protein_coding -32252,ASCL3,ENSG00000176009,protein_coding -52331,TUBB6,ENSG00000176014,protein_coding -16861,LYSMD3,ENSG00000176018,protein_coding -10518,AMIGO3,ENSG00000176020,protein_coding -87,B3GALT6,ENSG00000176022,protein_coding -57223,ZNF613,ENSG00000176024,protein_coding -32251,C11orf16,ENSG00000176029,protein_coding -11282,TMPRSS7,ENSG00000176040,protein_coding -47380,NUPR1,ENSG00000176046,protein_coding -17821,JAKMIP2,ENSG00000176049,protein_coding -16859,MBLAC2,ENSG00000176055,protein_coding -31745,TPRN,ENSG00000176058,protein_coding -26138,KCNE5,ENSG00000176076,protein_coding -865,ZNF683,ENSG00000176083,protein_coding -17624,SLC35A4,ENSG00000176087,protein_coding -863,CRYBG2,ENSG00000176092,protein_coding -10520,IP6K1,ENSG00000176095,protein_coding -31744,SSNA1,ENSG00000176101,protein_coding -32639,CSTF3,ENSG00000176102,protein_coding -52077,YES1,ENSG00000176105,protein_coding -51907,CHMP6,ENSG00000176108,protein_coding -23409,UFSP1,ENSG00000176125,protein_coding -52376,MC5R,ENSG00000176136,protein_coding -11392,TMEM39A,ENSG00000176142,protein_coding -32636,TCP11L1,ENSG00000176148,protein_coding -43050,GPX2,ENSG00000176153,protein_coding -51995,CCDC57,ENSG00000176155,protein_coding -51230,HSF5,ENSG00000176160,protein_coding -42437,FOXG1,ENSG00000176165,protein_coding -51746,SPHK1,ENSG00000176170,protein_coding -37405,BNIP3,ENSG00000176171,protein_coding -59327,ENTHD1,ENSG00000176177,protein_coding -56824,MYPOP,ENSG00000176182,protein_coding -52327,CIDEA,ENSG00000176194,protein_coding -42035,OR11H4,ENSG00000176198,protein_coding -33219,OR4D11,ENSG00000176200,protein_coding -6802,LRRTM4,ENSG00000176204,protein_coding -50137,ATAD5,ENSG00000176208,protein_coding -27890,SMIM19,ENSG00000176209,protein_coding -42033,OR11H6,ENSG00000176219,protein_coding -56705,ZNF404,ENSG00000176222,protein_coding -53126,RTTN,ENSG00000176225,protein_coding -42025,OR4K17,ENSG00000176230,protein_coding -55636,OR10H4,ENSG00000176231,protein_coding -32099,OR51B6,ENSG00000176239,protein_coding -35421,ACBD7,ENSG00000176244,protein_coding -42022,OR4L1,ENSG00000176246,protein_coding -31743,ANAPC2,ENSG00000176248,protein_coding -42020,OR4K13,ENSG00000176253,protein_coding -1120,HMGB4,ENSG00000176256,protein_coding -1083,ZBTB8OS,ENSG00000176261,protein_coding -26985,OR4F21,ENSG00000176269,protein_coding -36763,SLC35G1,ENSG00000176273,protein_coding -42014,OR4K5,ENSG00000176281,protein_coding -57683,ZNF135,ENSG00000176293,protein_coding -42003,OR4N2,ENSG00000176294,protein_coding -42007,OR4M1,ENSG00000176299,protein_coding -34781,FOXR1,ENSG00000176302,protein_coding -33439,COX8A,ENSG00000176340,protein_coding -51046,TAC4,ENSG00000176358,protein_coding -46018,ZSCAN2,ENSG00000176371,protein_coding -21431,PRR18,ENSG00000176381,protein_coding -40197,B3GNT4,ENSG00000176383,protein_coding -31152,CDC26,ENSG00000176386,protein_coding -48313,HSD11B2,ENSG00000176387,protein_coding -50132,CRLF3,ENSG00000176390,protein_coding -4388,RNPEP,ENSG00000176393,protein_coding -56484,EID2,ENSG00000176396,protein_coding -29788,DMRTA1,ENSG00000176399,protein_coding -56481,EID2B,ENSG00000176401,protein_coding -23333,GJC3,ENSG00000176402,protein_coding -28860,RIMS2,ENSG00000176406,protein_coding -6873,KCMF1,ENSG00000176407,protein_coding -22902,DNAJC30,ENSG00000176410,protein_coding -38958,SPRYD4,ENSG00000176422,protein_coding -22901,VPS37D,ENSG00000176428,protein_coding -42609,CLEC14A,ENSG00000176435,protein_coding -43634,SYNE3,ENSG00000176438,protein_coding -3413,CLK2,ENSG00000176444,protein_coding -44716,LPCAT4,ENSG00000176454,protein_coding -46213,SLCO3A1,ENSG00000176463,protein_coding -56685,ZNF575,ENSG00000176472,protein_coding -43737,WDR25,ENSG00000176473,protein_coding -47383,SGF29,ENSG00000176476,protein_coding -33423,PLAAT3,ENSG00000176485,protein_coding -54926,DIRAS1,ENSG00000176490,protein_coding -33212,OR5AN1,ENSG00000176495,protein_coding -56683,PHLDB3,ENSG00000176531,protein_coding -22055,PRR15,ENSG00000176532,protein_coding -54918,GNG7,ENSG00000176533,protein_coding -32899,OR4C5,ENSG00000176540,protein_coding -11323,USF3,ENSG00000176542,protein_coding -32897,OR4C3,ENSG00000176547,protein_coding -32896,OR4S1,ENSG00000176555,protein_coding -50698,CNTD1,ENSG00000176563,protein_coding -28559,DCAF4L2,ENSG00000176566,protein_coding -32895,OR4X1,ENSG00000176567,protein_coding -28553,CNBD1,ENSG00000176571,protein_coding -27025,KBTBD11,ENSG00000176595,protein_coding -12487,B3GNT5,ENSG00000176597,protein_coding -7958,MAP3K19,ENSG00000176601,protein_coding -43692,C14orf177,ENSG00000176605,protein_coding -54913,LMNB2,ENSG00000176619,protein_coding -28542,RMDN1,ENSG00000176623,protein_coding -52877,MEX3C,ENSG00000176624,protein_coding -58985,HORMAD2,ENSG00000176635,protein_coding -53032,RNF152,ENSG00000176641,protein_coding -50220,MYO1D,ENSG00000176658,protein_coding -48853,FOXL1,ENSG00000176678,protein_coding -57758,TGIF2LY,ENSG00000176679,protein_coding -50890,LRRC37A,ENSG00000176681,protein_coding -48852,FOXC2,ENSG00000176692,protein_coding -54759,AC008977.1,ENSG00000176695,protein_coding -32563,BDNF,ENSG00000176697,protein_coding -5941,CCDC121,ENSG00000176714,protein_coding -48937,ACSF3,ENSG00000176715,protein_coding -9637,BOK,ENSG00000176720,protein_coding -47614,ZNF843,ENSG00000176723,protein_coding -28508,RBIS,ENSG00000176731,protein_coding -5830,PFN4,ENSG00000176732,protein_coding -32080,OR51V1,ENSG00000176742,protein_coding -24879,MAGEB6,ENSG00000176746,protein_coding -50219,CDK5R1,ENSG00000176749,protein_coding -37398,TCERG1L,ENSG00000176769,protein_coding -7934,NCKAP5,ENSG00000176771,protein_coding -24875,MAGEB18,ENSG00000176774,protein_coding -27154,DEFB104A,ENSG00000176782,protein_coding -18394,RUFY1,ENSG00000176783,protein_coding -32069,OR52E2,ENSG00000176787,protein_coding -15798,BASP1,ENSG00000176788,protein_coding -27156,DEFB103A,ENSG00000176797,protein_coding -32065,OR51L1,ENSG00000176798,protein_coding -51458,LRRC37A3,ENSG00000176809,protein_coding -40063,VSIG10,ENSG00000176834,protein_coding -48048,IRX5,ENSG00000176842,protein_coding -52045,METRNL,ENSG00000176845,protein_coding -29064,FAM91A1,ENSG00000176853,protein_coding -40061,WSB2,ENSG00000176871,protein_coding -31738,GRIN1,ENSG00000176884,protein_coding -5550,SOX11,ENSG00000176887,protein_coding -52074,TYMS,ENSG00000176890,protein_coding -32059,OR51G2,ENSG00000176893,protein_coding -40502,PXMP2,ENSG00000176894,protein_coding -32058,OR51A7,ENSG00000176895,protein_coding -24715,TCEANC,ENSG00000176896,protein_coding -32056,OR51T1,ENSG00000176900,protein_coding -43247,PNMA1,ENSG00000176903,protein_coding -27842,TCIM,ENSG00000176907,protein_coding -56962,MAMSTR,ENSG00000176909,protein_coding -40506,ANKLE2,ENSG00000176915,protein_coding -31715,C8G,ENSG00000176919,protein_coding -56961,FUT2,ENSG00000176920,protein_coding -32053,OR51S1,ENSG00000176922,protein_coding -32051,OR51F2,ENSG00000176925,protein_coding -50089,EFCAB5,ENSG00000176927,protein_coding -16616,GCNT4,ENSG00000176928,protein_coding -12750,MUC20,ENSG00000176945,protein_coding -9639,THAP4,ENSG00000176946,protein_coding -47412,NFATC2IP,ENSG00000176953,protein_coding -29333,LY6H,ENSG00000176956,protein_coding -32550,FIBIN,ENSG00000176971,protein_coding -33560,FAM89B,ENSG00000176973,protein_coding -49690,SHMT1,ENSG00000176974,protein_coding -31737,DPP7,ENSG00000176978,protein_coding -15154,TRIM60,ENSG00000176979,protein_coding -36379,SEC24C,ENSG00000176986,protein_coding -26734,FMR1NB,ENSG00000176988,protein_coding -49689,SMCR8,ENSG00000176994,protein_coding -402,MTHFR,ENSG00000177000,protein_coding -27121,DEFB104B,ENSG00000177023,protein_coding -57675,C19orf18,ENSG00000177025,protein_coding -31843,DEAF1,ENSG00000177030,protein_coding -16712,MTX3,ENSG00000177034,protein_coding -31846,TMEM80,ENSG00000177042,protein_coding -56813,SIX5,ENSG00000177045,protein_coding -29739,IFNW1,ENSG00000177047,protein_coding -56810,FBXO46,ENSG00000177051,protein_coding -32474,ZDHHC13,ENSG00000177054,protein_coding -16299,SLC38A9,ENSG00000177058,protein_coding -29714,ACER2,ENSG00000177076,protein_coding -46023,WDR73,ENSG00000177082,protein_coding -40501,POLE,ENSG00000177084,protein_coding -59411,PHETA2,ENSG00000177096,protein_coding -34736,SCN4B,ENSG00000177098,protein_coding -34723,DSCAML1,ENSG00000177103,protein_coding -31999,RHOG,ENSG00000177105,protein_coding -31845,EPS8L2,ENSG00000177106,protein_coding -43365,ZDHHC22,ENSG00000177108,protein_coding -38437,ANO6,ENSG00000177119,protein_coding -31364,ZBTB34,ENSG00000177125,protein_coding -24648,FAM9B,ENSG00000177138,protein_coding -52068,CETN1,ENSG00000177143,protein_coding -3056,NUDT4B,ENSG00000177144,protein_coding -52372,FAM210A,ENSG00000177150,protein_coding -5454,OR2T35,ENSG00000177151,protein_coding -31848,TALDO1,ENSG00000177156,protein_coding -40461,ULK1,ENSG00000177169,protein_coding -5435,OR14C36,ENSG00000177174,protein_coding -1355,RIMKLA,ENSG00000177181,protein_coding -28157,CLVS1,ENSG00000177182,protein_coding -5434,OR2M7,ENSG00000177186,protein_coding -24812,RPS6KA3,ENSG00000177189,protein_coding -56588,B3GNT8,ENSG00000177191,protein_coding -40464,PUS1,ENSG00000177192,protein_coding -48008,CHD9,ENSG00000177200,protein_coding -5433,OR2T12,ENSG00000177201,protein_coding -56953,SPACA4,ENSG00000177202,protein_coding -5432,OR2T33,ENSG00000177212,protein_coding -31849,GATD1,ENSG00000177225,protein_coding -47605,TRIM72,ENSG00000177238,protein_coding -31735,MAN1B1,ENSG00000177239,protein_coding -27119,DEFB103B,ENSG00000177243,protein_coding -27117,DEFB4B,ENSG00000177257,protein_coding -2601,KCNA3,ENSG00000177272,protein_coding -5411,OR2AJ1,ENSG00000177275,protein_coding -35764,FZD8,ENSG00000177283,protein_coding -35763,GJD4,ENSG00000177291,protein_coding -49271,FBXO39,ENSG00000177294,protein_coding -15346,CLDN22,ENSG00000177300,protein_coding -2599,KCNA2,ENSG00000177301,protein_coding -49686,TOP3A,ENSG00000177302,protein_coding -51698,CASKIN2,ENSG00000177303,protein_coding -11857,ZBTB38,ENSG00000177311,protein_coding -24783,BEND2,ENSG00000177324,protein_coding -10492,CCDC71,ENSG00000177352,protein_coding -36027,C10orf71,ENSG00000177354,protein_coding -33369,LRRN4CL,ENSG00000177363,protein_coding -49024,TIMM22,ENSG00000177370,protein_coding -49068,HIC1,ENSG00000177374,protein_coding -57008,PPFIA3,ENSG00000177380,protein_coding -12544,MAGEF1,ENSG00000177383,protein_coding -60337,UMODL1,ENSG00000177398,protein_coding -23191,SAMD9L,ENSG00000177409,protein_coding -1885,UBE2U,ENSG00000177414,protein_coding -39390,PAWR,ENSG00000177425,protein_coding -52136,TGIF1,ENSG00000177426,protein_coding -49684,MIEF2,ENSG00000177427,protein_coding -14194,NAP1L5,ENSG00000177432,protein_coding -16175,NIM1K,ENSG00000177453,protein_coding -47411,CD19,ENSG00000177455,protein_coding -28716,ERICH5,ENSG00000177459,protein_coding -5410,OR2T8,ENSG00000177462,protein_coding -9894,NR2C2,ENSG00000177463,protein_coding -56800,GPR4,ENSG00000177464,protein_coding -43241,ACOT4,ENSG00000177465,protein_coding -20992,OLIG3,ENSG00000177468,protein_coding -50660,CAVIN1,ENSG00000177469,protein_coding -5392,OR2G3,ENSG00000177476,protein_coding -10472,ARIH2,ENSG00000177479,protein_coding -9540,RBM44,ENSG00000177483,protein_coding -26304,ZBTB33,ENSG00000177485,protein_coding -5391,OR2G2,ENSG00000177489,protein_coding -11273,ZBED2,ENSG00000177494,protein_coding -24638,VCX2,ENSG00000177504,protein_coding -48038,IRX3,ENSG00000177508,protein_coding -52945,ST8SIA3,ENSG00000177511,protein_coding -8155,RPRM,ENSG00000177519,protein_coding -5385,OR2B11,ENSG00000177535,protein_coding -31854,SLC25A22,ENSG00000177542,protein_coding -47410,RABEP2,ENSG00000177548,protein_coding -2733,NHLH2,ENSG00000177551,protein_coding -17936,ATOX1,ENSG00000177556,protein_coding -56244,FAM187B,ENSG00000177558,protein_coding -12373,TBL1XR1,ENSG00000177565,protein_coding -28978,SAMD12,ENSG00000177570,protein_coding -37714,CD163,ENSG00000177575,protein_coding -52829,C18orf32,ENSG00000177576,protein_coding -31856,PIDD1,ENSG00000177595,protein_coding -55393,ZNF491,ENSG00000177599,protein_coding -31857,RPLP2,ENSG00000177600,protein_coding -49150,HASPIN,ENSG00000177602,protein_coding -1795,JUN,ENSG00000177606,protein_coding -36076,CSTF2T,ENSG00000177613,protein_coding -5040,PGBD5,ENSG00000177614,protein_coding -38530,C12orf54,ENSG00000177627,protein_coding -3410,GBA,ENSG00000177628,protein_coding -11625,ACAD9,ENSG00000177646,protein_coding -58352,IL17RA,ENSG00000177663,protein_coding -31859,PNPLA2,ENSG00000177666,protein_coding -27662,MBOAT4,ENSG00000177669,protein_coding -9404,TEX44,ENSG00000177673,protein_coding -399,AGTRAP,ENSG00000177674,protein_coding -37712,CD163L1,ENSG00000177675,protein_coding -22985,SRRM3,ENSG00000177679,protein_coding -23579,THAP5,ENSG00000177683,protein_coding -19876,DEFB114,ENSG00000177684,protein_coding -31861,CRACR2B,ENSG00000177685,protein_coding -21150,SUMO4,ENSG00000177688,protein_coding -24900,MAGEB10,ENSG00000177689,protein_coding -60154,DNAJC28,ENSG00000177692,protein_coding -46427,OR4F4,ENSG00000177693,protein_coding -12350,NAALADL2,ENSG00000177694,protein_coding -31862,CD151,ENSG00000177697,protein_coding -31863,POLR2L,ENSG00000177700,protein_coding -21556,FAM20C,ENSG00000177706,protein_coding -11268,NECTIN3,ENSG00000177707,protein_coding -27261,SLC35G5,ENSG00000177710,protein_coding -16170,ANXA2R,ENSG00000177721,protein_coding -51696,TMEM94,ENSG00000177728,protein_coding -49683,FLII,ENSG00000177731,protein_coding -53305,SOX12,ENSG00000177732,protein_coding -17524,HNRNPA0,ENSG00000177733,protein_coding -13522,YIPF7,ENSG00000177752,protein_coding -36366,MYOZ1,ENSG00000177791,protein_coding -3617,KCNJ10,ENSG00000177807,protein_coding -31866,CHID1,ENSG00000177830,protein_coding -17685,PCDHB9,ENSG00000177839,protein_coding -10238,ZNF620,ENSG00000177842,protein_coding -36810,ZNF518A,ENSG00000177853,protein_coding -26882,TMEM187,ENSG00000177854,protein_coding -1374,SVBP,ENSG00000177868,protein_coding -10237,ZNF619,ENSG00000177873,protein_coding -38513,CCDC184,ENSG00000177875,protein_coding -17167,AP3S1,ENSG00000177879,protein_coding -51688,GRB2,ENSG00000177885,protein_coding -4296,ZBTB41,ENSG00000177888,protein_coding -39550,UBE2N,ENSG00000177889,protein_coding -8144,ARL6IP6,ENSG00000177917,protein_coding -18383,ZNF354C,ENSG00000177932,protein_coding -38051,CAPZA3,ENSG00000177938,protein_coding -31708,MAMDC4,ENSG00000177943,protein_coding -48978,CENPBD1,ENSG00000177946,protein_coding -31799,ODF3,ENSG00000177947,protein_coding -31797,BET1L,ENSG00000177951,protein_coding -3338,RPS27,ENSG00000177954,protein_coding -31801,RIC8A,ENSG00000177963,protein_coding -45761,IMP3,ENSG00000177971,protein_coding -38508,ASB8,ENSG00000177981,protein_coding -31695,LCN15,ENSG00000177984,protein_coding -59627,ODF3B,ENSG00000177989,protein_coding -39109,DPY19L2,ENSG00000177990,protein_coding -30662,SPATA31E1,ENSG00000177992,protein_coding -6348,C2orf73,ENSG00000177994,protein_coding -16920,GPR150,ENSG00000178015,protein_coding -6347,TSPYL6,ENSG00000178021,protein_coding -58819,LRRC75B,ENSG00000178026,protein_coding -1440,DMAP1,ENSG00000178028,protein_coding -29693,ADAMTSL1,ENSG00000178031,protein_coding -20699,CALHM5,ENSG00000178033,protein_coding -10483,IMPDH2,ENSG00000178035,protein_coding -10387,ALS2CL,ENSG00000178038,protein_coding -12146,MLF1,ENSG00000178053,protein_coding -10397,PRSS42P,ENSG00000178055,protein_coding -10481,NDUFAF3,ENSG00000178057,protein_coding -8781,C2orf69,ENSG00000178074,protein_coding -11328,GRAMD1C,ENSG00000178075,protein_coding -55010,STAP2,ENSG00000178078,protein_coding -12511,HTR3C,ENSG00000178084,protein_coding -55829,TSSK6,ENSG00000178093,protein_coding -3101,BOLA1,ENSG00000178096,protein_coding -3059,PDE4DIP,ENSG00000178104,protein_coding -34525,DDX10,ENSG00000178105,protein_coding -44621,GOLGA8Q,ENSG00000178115,protein_coding -28245,PPP1R42,ENSG00000178125,protein_coding -52228,NDUFV2,ENSG00000178127,protein_coding -10479,DALRD3,ENSG00000178149,protein_coding -56936,ZNF114,ENSG00000178150,protein_coding -13154,ZNF518B,ENSG00000178163,protein_coding -7846,AMER3,ENSG00000178171,protein_coding -17833,SPINK6,ENSG00000178172,protein_coding -16556,ZNF366,ENSG00000178175,protein_coding -13243,LCORL,ENSG00000178177,protein_coding -53291,PARD6G,ENSG00000178184,protein_coding -18378,ZNF454,ENSG00000178187,protein_coding -47405,SH2B1,ENSG00000178188,protein_coding -21151,ZC3H12D,ENSG00000178199,protein_coding -57639,VN1R1,ENSG00000178201,protein_coding -34523,POGLUT3,ENSG00000178202,protein_coding -29384,PLEC,ENSG00000178209,protein_coding -36534,SH2D4B,ENSG00000178217,protein_coding -12897,RNF212,ENSG00000178222,protein_coding -47597,PRSS36,ENSG00000178226,protein_coding -57626,ZNF543,ENSG00000178229,protein_coding -19797,TMEM151B,ENSG00000178233,protein_coding -24445,GALNT11,ENSG00000178234,protein_coding -41520,SLITRK1,ENSG00000178235,protein_coding -10478,WDR6,ENSG00000178252,protein_coding -46938,PRM3,ENSG00000178257,protein_coding -46937,TNP2,ENSG00000178279,protein_coding -27155,SPAG11A,ENSG00000178287,protein_coding -5737,GEN1,ENSG00000178295,protein_coding -54911,TMPRSS9,ENSG00000178297,protein_coding -34030,AQP11,ENSG00000178301,protein_coding -49869,TMEM11,ENSG00000178307,protein_coding -18372,ZNF354B,ENSG00000178338,protein_coding -53279,KCNG2,ENSG00000178342,protein_coding -13500,SHISA3,ENSG00000178343,protein_coding -32198,OR2D3,ENSG00000178358,protein_coding -35249,CALML3,ENSG00000178363,protein_coding -35247,CALML5,ENSG00000178372,protein_coding -21584,ZFAND2A,ENSG00000178381,protein_coding -8987,PLEKHM3,ENSG00000178385,protein_coding -56720,AC092072.1,ENSG00000178386,protein_coding -16411,HTR1A,ENSG00000178394,protein_coding -4836,CCDC185,ENSG00000178395,protein_coding -21692,FAM220A,ENSG00000178397,protein_coding -38585,DNAJC22,ENSG00000178401,protein_coding -14470,NEUROG2,ENSG00000178403,protein_coding -51850,CEP295NL,ENSG00000178404,protein_coding -20524,BEND3,ENSG00000178409,protein_coding -20684,NT5DC1,ENSG00000178425,protein_coding -29582,GLDC,ENSG00000178445,protein_coding -38620,COX14,ENSG00000178449,protein_coding -28241,MCMDC2,ENSG00000178460,protein_coding -35245,TUBAL3,ENSG00000178462,protein_coding -10476,P4HTM,ENSG00000178467,protein_coding -35244,UCN3,ENSG00000178473,protein_coding -39014,DTX3,ENSG00000178498,protein_coding -50635,KLHL11,ENSG00000178502,protein_coding -13890,AMBN,ENSG00000178522,protein_coding -55187,CTXN1,ENSG00000178531,protein_coding -10470,SLC25A20,ENSG00000178537,protein_coding -28143,CA8,ENSG00000178538,protein_coding -8906,CD28,ENSG00000178562,protein_coding -10149,EPM2AIP1,ENSG00000178567,protein_coding -9037,ERBB4,ENSG00000178568,protein_coding -48683,MAF,ENSG00000178573,protein_coding -336,CTNNBIP1,ENSG00000178585,protein_coding -9589,OR6B3,ENSG00000178586,protein_coding -53294,DEFB125,ENSG00000178591,protein_coding -13048,PSAPL1,ENSG00000178597,protein_coding -9593,OTOS,ENSG00000178602,protein_coding -24561,GTPBP6,ENSG00000178605,protein_coding -51427,ERN1,ENSG00000178607,protein_coding -9607,GPR35,ENSG00000178623,protein_coding -36034,C10orf53,ENSG00000178645,protein_coding -8298,CSRNP3,ENSG00000178662,protein_coding -22510,ZNF713,ENSG00000178665,protein_coding -29386,PARP10,ENSG00000178685,protein_coding -52906,DYNAP,ENSG00000178690,protein_coding -50184,SUZ12,ENSG00000178691,protein_coding -11060,NSUN3,ENSG00000178694,protein_coding -41447,KCTD12,ENSG00000178695,protein_coding -11059,DHFR2,ENSG00000178700,protein_coding -45722,RPP25,ENSG00000178718,protein_coding -29387,GRINA,ENSG00000178719,protein_coding -53732,THBD,ENSG00000178726,protein_coding -12705,GP5,ENSG00000178732,protein_coding -45721,COX5A,ENSG00000178741,protein_coding -11058,STX19,ENSG00000178750,protein_coding -9550,ERFE,ENSG00000178752,protein_coding -45720,FAM219B,ENSG00000178761,protein_coding -29030,ZHX2,ENSG00000178764,protein_coding -12703,CPN2,ENSG00000178772,protein_coding -48958,CPNE7,ENSG00000178773,protein_coding -17826,C5orf46,ENSG00000178776,protein_coding -51640,CD300LB,ENSG00000178789,protein_coding -34024,GDPD4,ENSG00000178795,protein_coding -3194,RIIAD1,ENSG00000178796,protein_coding -45719,MPI,ENSG00000178802,protein_coding -11654,H1FOO,ENSG00000178804,protein_coding -22958,TRIM73,ENSG00000178809,protein_coding -29390,OPLAH,ENSG00000178814,protein_coding -142,TMEM52,ENSG00000178821,protein_coding -24228,TMEM139,ENSG00000178826,protein_coding -646,RNF186,ENSG00000178828,protein_coding -50922,EFCAB13,ENSG00000178852,protein_coding -28314,MSC,ENSG00000178860,protein_coding -37952,APOLD1,ENSG00000178878,protein_coding -40275,RFLNA,ENSG00000178882,protein_coding -29393,EXOSC4,ENSG00000178896,protein_coding -56140,DPY19L3,ENSG00000178904,protein_coding -17697,TAF7,ENSG00000178913,protein_coding -10323,ZNF852,ENSG00000178917,protein_coding -30903,FOXE1,ENSG00000178919,protein_coding -49401,PFAS,ENSG00000178921,protein_coding -1407,HYI,ENSG00000178922,protein_coding -52018,CYBC1,ENSG00000178927,protein_coding -56917,TPRX1,ENSG00000178928,protein_coding -56432,LGALS7B,ENSG00000178934,protein_coding -57662,ZNF552,ENSG00000178935,protein_coding -26547,SMIM10L2A,ENSG00000178947,protein_coding -12890,GAK,ENSG00000178950,protein_coding -54997,ZBTB7A,ENSG00000178951,protein_coding -47403,TUFM,ENSG00000178952,protein_coding -2021,ERICH3,ENSG00000178965,protein_coding -30604,RMI1,ENSG00000178966,protein_coding -49400,CTC1,ENSG00000178971,protein_coding -42861,FBXO34,ENSG00000178974,protein_coding -56914,SELENOW,ENSG00000178980,protein_coding -56426,EIF3K,ENSG00000178982,protein_coding -13032,MRFAP1L1,ENSG00000178988,protein_coding -16268,SNX18,ENSG00000178996,protein_coding -44881,EXD1,ENSG00000178997,protein_coding -49398,AURKB,ENSG00000178999,protein_coding -619,TAS1R2,ENSG00000179002,protein_coding -42958,C14orf39,ENSG00000179008,protein_coding -13024,MRFAP1,ENSG00000179010,protein_coding -11035,C3orf38,ENSG00000179021,protein_coding -615,KLHDC7A,ENSG00000179023,protein_coding -49391,TMEM107,ENSG00000179029,protein_coding -28229,RRS1,ENSG00000179041,protein_coding -48296,EXOC3L1,ENSG00000179044,protein_coding -15453,TRIML2,ENSG00000179046,protein_coding -604,RCC2,ENSG00000179051,protein_coding -31008,OR13D1,ENSG00000179055,protein_coding -32459,IGSF22,ENSG00000179057,protein_coding -31487,C9orf50,ENSG00000179058,protein_coding -15452,ZFP42,ENSG00000179059,protein_coding -34134,CCDC89,ENSG00000179071,protein_coding -25890,FAM133A,ENSG00000179083,protein_coding -3397,DPM3,ENSG00000179085,protein_coding -39746,C12orf42,ENSG00000179088,protein_coding -29396,CYC1,ENSG00000179091,protein_coding -49387,AC129492.1,ENSG00000179094,protein_coding -11031,HTR1F,ENSG00000179097,protein_coding -39430,TMTC2,ENSG00000179104,protein_coding -49386,HES7,ENSG00000179111,protein_coding -55488,FARSA,ENSG00000179115,protein_coding -32456,SPTY2D1,ENSG00000179119,protein_coding -35548,C10orf67,ENSG00000179133,protein_coding -56469,SAMD4B,ENSG00000179134,protein_coding -29325,CYP11B2,ENSG00000179142,protein_coding -24389,GIMAP7,ENSG00000179144,protein_coding -49385,ALOXE3,ENSG00000179148,protein_coding -45708,EDC3,ENSG00000179151,protein_coding -10319,TCAIM,ENSG00000179152,protein_coding -773,FUCA1,ENSG00000179163,protein_coding -19573,PXT1,ENSG00000179165,protein_coding -56416,GGN,ENSG00000179168,protein_coding -447,HNRNPCL1,ENSG00000179172,protein_coding -1393,TMEM125,ENSG00000179178,protein_coding -40273,ZNF664,ENSG00000179195,protein_coding -57165,SIGLECL1,ENSG00000179213,protein_coding -55490,CALR,ENSG00000179218,protein_coding -25323,MAGED1,ENSG00000179222,protein_coding -34002,GVQW3,ENSG00000179240,protein_coding -32697,LDLRAD3,ENSG00000179241,protein_coding -54606,CDH4,ENSG00000179242,protein_coding -38000,SMCO3,ENSG00000179256,protein_coding -55493,RAD23A,ENSG00000179262,protein_coding -5977,PCARE,ENSG00000179270,protein_coding -55494,GADD45GIP1,ENSG00000179271,protein_coding -55495,DAND5,ENSG00000179284,protein_coding -33611,TMEM151A,ENSG00000179292,protein_coding -39958,PTPN11,ENSG00000179295,protein_coding -13468,NSUN7,ENSG00000179299,protein_coding -25773,RTL3,ENSG00000179300,protein_coding -25377,FAM156B,ENSG00000179304,protein_coding -49246,WSCD1,ENSG00000179314,protein_coding -34512,RAB39A,ENSG00000179331,protein_coding -45705,CLK3,ENSG00000179335,protein_coding -19420,HLA-DQB1,ENSG00000179344,protein_coding -11604,GATA2,ENSG00000179348,protein_coding -45704,ARID3B,ENSG00000179361,protein_coding -26059,TMEM31,ENSG00000179363,protein_coding -44003,PACS2,ENSG00000179364,protein_coding -14801,ELMOD2,ENSG00000179387,protein_coding -27498,EGR3,ENSG00000179388,protein_coding -5311,CATSPERE,ENSG00000179397,protein_coding -41594,GPC5,ENSG00000179399,protein_coding -115,VWA1,ENSG00000179403,protein_coding -11602,DNAJB8,ENSG00000179407,protein_coding -49013,GEMIN4,ENSG00000179409,protein_coding -465,HNRNPCL4,ENSG00000179412,protein_coding -32690,FJX1,ENSG00000179431,protein_coding -42673,KLHL28,ENSG00000179454,protein_coding -44385,MKRN3,ENSG00000179455,protein_coding -5300,ZBTB18,ENSG00000179456,protein_coding -24217,OR9A2,ENSG00000179468,protein_coding -42671,C14orf28,ENSG00000179476,protein_coding -49382,ALOX12B,ENSG00000179477,protein_coding -39688,SLC17A8,ENSG00000179520,protein_coding -29397,SHARPIN,ENSG00000179526,protein_coding -6750,LBX2,ENSG00000179528,protein_coding -32173,DNHD1,ENSG00000179532,protein_coding -26673,SLITRK4,ENSG00000179542,protein_coding -748,HTR1D,ENSG00000179546,protein_coding -23796,GCC1,ENSG00000179562,protein_coding -10550,LSMEM2,ENSG00000179564,protein_coding -46608,RNF151,ENSG00000179580,protein_coding -46925,CIITA,ENSG00000179583,protein_coding -48907,ZFPM1,ENSG00000179588,protein_coding -49379,ALOX15B,ENSG00000179593,protein_coding -49640,PLD6,ENSG00000179598,protein_coding -43005,GPHB5,ENSG00000179600,protein_coding -23782,GRM8,ENSG00000179603,protein_coding -51615,CDC42EP4,ENSG00000179604,protein_coding -38882,OR2AP1,ENSG00000179615,protein_coding -38881,OR6C4,ENSG00000179626,protein_coding -43978,ZBTB42,ENSG00000179627,protein_coding -41039,LACC1,ENSG00000179630,protein_coding -29398,MAF1,ENSG00000179632,protein_coding -42093,TPPP2,ENSG00000179636,protein_coding -3582,FCER1A,ENSG00000179639,protein_coding -50908,RPRML,ENSG00000179673,protein_coding -12188,ARL14,ENSG00000179674,protein_coding -38877,OR6C2,ENSG00000179695,protein_coding -29399,WDR97,ENSG00000179698,protein_coding -57553,NLRP8,ENSG00000179709,protein_coding -38463,PCED1B,ENSG00000179715,protein_coding -59296,APOBEC3B,ENSG00000179750,protein_coding -56457,SYCN,ENSG00000179751,protein_coding -50049,PIPOX,ENSG00000179761,protein_coding -53898,FOXS1,ENSG00000179772,protein_coding -36212,ATOH7,ENSG00000179774,protein_coding -48249,CDH5,ENSG00000179776,protein_coding -10029,LRRC3B,ENSG00000179796,protein_coding -41022,FAM216B,ENSG00000179813,protein_coding -32428,MRGPRX4,ENSG00000179817,protein_coding -57388,MYADM,ENSG00000179820,protein_coding -32424,MRGPRX3,ENSG00000179826,protein_coding -29402,MROH1,ENSG00000179832,protein_coding -6523,SERTAD2,ENSG00000179833,protein_coding -43036,AKAP5,ENSG00000179841,protein_coding -56783,NKPD1,ENSG00000179846,protein_coding -54973,GIPC3,ENSG00000179855,protein_coding -49371,RNF227,ENSG00000179859,protein_coding -1326,CITED4,ENSG00000179862,protein_coding -22407,ABCA13,ENSG00000179869,protein_coding -57550,NLRP11,ENSG00000179873,protein_coding -29359,TIGD5,ENSG00000179886,protein_coding -47034,PDXDC1,ENSG00000179889,protein_coding -2538,C1orf194,ENSG00000179902,protein_coding -57658,ZNF154,ENSG00000179909,protein_coding -38997,R3HDM2,ENSG00000179912,protein_coding -55742,B3GNT3,ENSG00000179913,protein_coding -3653,ITLN1,ENSG00000179914,protein_coding -6307,NRXN1,ENSG00000179915,protein_coding -47522,SEPHS2,ENSG00000179918,protein_coding -38860,OR10A7,ENSG00000179919,protein_coding -9134,GPBAR1,ENSG00000179921,protein_coding -57534,ZNF784,ENSG00000179922,protein_coding -4105,ZNF648,ENSG00000179930,protein_coding -42303,C14orf119,ENSG00000179933,protein_coding -10214,CCR8,ENSG00000179934,protein_coding -44593,GOLGA8J,ENSG00000179938,protein_coding -39356,BBS10,ENSG00000179941,protein_coding -57530,FIZ1,ENSG00000179943,protein_coding -29376,PUF60,ENSG00000179950,protein_coding -57526,SSC5D,ENSG00000179954,protein_coding -47521,DCTPP1,ENSG00000179958,protein_coding -47519,ZNF771,ENSG00000179965,protein_coding -53187,TSHZ1,ENSG00000179981,protein_coding -37287,PSTK,ENSG00000179988,protein_coding -42853,SOCS4,ENSG00000180008,protein_coding -53186,ZADH2,ENSG00000180011,protein_coding -49128,OR1E1,ENSG00000180016,protein_coding -47516,ZNF48,ENSG00000180035,protein_coding -49127,AC087498.1,ENSG00000180042,protein_coding -57511,FAM71E2,ENSG00000180043,protein_coding -12174,C3orf80,ENSG00000180044,protein_coding -27532,NKX2-6,ENSG00000180053,protein_coding -57506,TMEM150B,ENSG00000180061,protein_coding -30114,ANKRD18A,ENSG00000180071,protein_coding -54282,WFDC11,ENSG00000180083,protein_coding -57497,TMEM86B,ENSG00000180089,protein_coding -49123,OR3A1,ENSG00000180090,protein_coding -47517,SEPT1,ENSG00000180096,protein_coding -968,TRNAU1AP,ENSG00000180098,protein_coding -15520,EXOC3,ENSG00000180104,protein_coding -19828,TDRD6,ENSG00000180113,protein_coding -38362,C12orf40,ENSG00000180116,protein_coding -40934,CSNK1A1L,ENSG00000180138,protein_coding -29317,LYNX1,ENSG00000180155,protein_coding -31928,TH,ENSG00000180176,protein_coding -25038,MED14,ENSG00000180182,protein_coding -46593,FAHD1,ENSG00000180185,protein_coding -26999,TDRP,ENSG00000180190,protein_coding -962,RCC1,ENSG00000180198,protein_coding -54279,WFDC9,ENSG00000180205,protein_coding -47515,MYLPF,ENSG00000180209,protein_coding -32839,F2,ENSG00000180210,protein_coding -39673,FAM71C,ENSG00000180219,protein_coding -8526,PRKRA,ENSG00000180228,protein_coding -22074,ZNRF2,ENSG00000180233,protein_coding -14429,RRH,ENSG00000180245,protein_coding -7333,SLC9A4,ENSG00000180251,protein_coding -57279,ZNF816,ENSG00000180257,protein_coding -39587,FGD6,ENSG00000180263,protein_coding -31315,ADGRD2,ENSG00000180264,protein_coding -47173,GPR139,ENSG00000180269,protein_coding -5270,PLD5,ENSG00000180287,protein_coding -45446,OAZ2,ENSG00000180304,protein_coding -54280,WFDC10A,ENSG00000180305,protein_coding -19569,PNPLA1,ENSG00000180316,protein_coding -39444,ALX1,ENSG00000180318,protein_coding -50811,CCDC43,ENSG00000180329,protein_coding -41070,KCTD4,ENSG00000180332,protein_coding -50810,MEIOC,ENSG00000180336,protein_coding -50806,FZD2,ENSG00000180340,protein_coding -14199,TIGD2,ENSG00000180346,protein_coding -22105,ITPRID1,ENSG00000180347,protein_coding -11447,HCLS1,ENSG00000180353,protein_coding -22069,MTURN,ENSG00000180354,protein_coding -45439,ZNF609,ENSG00000180357,protein_coding -12800,PAK2,ENSG00000180370,protein_coding -10706,CCDC66,ENSG00000180376,protein_coding -53879,DEFB124,ENSG00000180383,protein_coding -50592,KRTAP9-7,ENSG00000180386,protein_coding -6255,MCFD2,ENSG00000180398,protein_coding -32835,HARBI1,ENSG00000180423,protein_coding -53878,DEFB123,ENSG00000180424,protein_coding -34657,C11orf71,ENSG00000180425,protein_coding -10294,CYP8B1,ENSG00000180432,protein_coding -3566,OR6K6,ENSG00000180433,protein_coding -40920,SERTM1,ENSG00000180440,protein_coding -30639,GAS1,ENSG00000180447,protein_coding -54826,AC004151.1,ENSG00000180448,protein_coding -33161,OR10Q1,ENSG00000180475,protein_coding -56385,ZNF571,ENSG00000180479,protein_coding -39332,GLIPR1L2,ENSG00000180481,protein_coding -53875,DEFB119,ENSG00000180483,protein_coding -2069,MIGA1,ENSG00000180488,protein_coding -60180,KCNE1,ENSG00000180509,protein_coding -35163,PRR26,ENSG00000180525,protein_coding -59846,NRIP1,ENSG00000180530,protein_coding -57655,ZSCAN4,ENSG00000180532,protein_coding -23282,BHLHA15,ENSG00000180535,protein_coding -18746,RNF182,ENSG00000180537,protein_coding -28700,TSPYL5,ENSG00000180543,protein_coding -31725,FUT7,ENSG00000180549,protein_coding -18941,HIST1H2AC,ENSG00000180573,protein_coding -37875,EIF2S3B,ENSG00000180574,protein_coding -35509,SKIDA1,ENSG00000180592,protein_coding -18940,HIST1H2BC,ENSG00000180596,protein_coding -12672,MB21D2,ENSG00000180611,protein_coding -13638,GSX2,ENSG00000180613,protein_coding -51608,SSTR2,ENSG00000180616,protein_coding -49225,ZNF594,ENSG00000180626,protein_coding -36710,PCGF5,ENSG00000180628,protein_coding -49791,SLC47A2,ENSG00000180638,protein_coding -36285,PRF1,ENSG00000180644,protein_coding -20864,OR2A4,ENSG00000180658,protein_coding -40908,MAB21L1,ENSG00000180660,protein_coding -4561,YOD1,ENSG00000180667,protein_coding -28582,TMEM64,ENSG00000180694,protein_coding -11562,C3orf22,ENSG00000180697,protein_coding -3546,OR10K2,ENSG00000180708,protein_coding -32829,CHRM4,ENSG00000180720,protein_coding -40745,SHISA2,ENSG00000180730,protein_coding -55321,S1PR5,ENSG00000180739,protein_coding -37365,CLRN3,ENSG00000180745,protein_coding -316,GPR157,ENSG00000180758,protein_coding -11561,CHST13,ENSG00000180767,protein_coding -26230,AGTR2,ENSG00000180772,protein_coding -34293,SLC36A4,ENSG00000180773,protein_coding -40650,ZDHHC20,ENSG00000180776,protein_coding -52409,ANKRD30B,ENSG00000180777,protein_coding -32036,OR51E1,ENSG00000180785,protein_coding -49220,ZFP3,ENSG00000180787,protein_coding -14502,ARSJ,ENSG00000180801,protein_coding -38806,HOXC9,ENSG00000180806,protein_coding -24800,MAP3K15,ENSG00000180815,protein_coding -36276,PPA1,ENSG00000180817,protein_coding -38801,HOXC10,ENSG00000180818,protein_coding -18557,PSMG4,ENSG00000180822,protein_coding -28205,BHLHE22,ENSG00000180828,protein_coding -12502,MAP6D1,ENSG00000180834,protein_coding -55433,ZNF443,ENSG00000180855,protein_coding -9129,CXCR2,ENSG00000180871,protein_coding -19879,DEFB112,ENSG00000180872,protein_coding -5236,GREM2,ENSG00000180875,protein_coding -32157,C11orf42,ENSG00000180878,protein_coding -26870,SSR4,ENSG00000180879,protein_coding -39328,CAPS2,ENSG00000180881,protein_coding -56227,ZNF792,ENSG00000180884,protein_coding -51199,CUEDC1,ENSG00000180891,protein_coding -29374,SCRIB,ENSG00000180900,protein_coding -51667,KCTD2,ENSG00000180901,protein_coding -9645,D2HGDH,ENSG00000180902,protein_coding -9746,OXTR,ENSG00000180914,protein_coding -48484,CMTR2,ENSG00000180917,protein_coding -32150,OR56B4,ENSG00000180919,protein_coding -29370,FAM83H,ENSG00000180921,protein_coding -10602,GPR62,ENSG00000180929,protein_coding -32146,OR56A1,ENSG00000180934,protein_coding -29092,ZNF572,ENSG00000180938,protein_coding -45882,ST20,ENSG00000180953,protein_coding -58920,PITPNB,ENSG00000180957,protein_coding -26038,TCEAL8,ENSG00000180964,protein_coding -32137,OR52E4,ENSG00000180974,protein_coding -44932,LRRC57,ENSG00000180979,protein_coding -32133,OR52N2,ENSG00000180988,protein_coding -19787,MRPL14,ENSG00000180992,protein_coding -42812,GPR137C,ENSG00000180998,protein_coding -3938,C1orf105,ENSG00000180999,protein_coding -32131,OR52N1,ENSG00000181001,protein_coding -14611,BBS12,ENSG00000181004,protein_coding -56336,ZFP82,ENSG00000181007,protein_coding -32130,OR52N5,ENSG00000181009,protein_coding -51235,AC005666.1,ENSG00000181013,protein_coding -23614,LSMEM1,ENSG00000181016,protein_coding -48432,NQO1,ENSG00000181019,protein_coding -32127,OR56B1,ENSG00000181023,protein_coding -46093,AEN,ENSG00000181026,protein_coding -56874,FKRP,ENSG00000181027,protein_coding -55166,TRAPPC5,ENSG00000181029,protein_coding -48998,RPH3AL,ENSG00000181031,protein_coding -55811,SLC25A42,ENSG00000181035,protein_coding -3601,FCRL6,ENSG00000181036,protein_coding -51773,METTL23,ENSG00000181038,protein_coding -51885,SLC26A11,ENSG00000181045,protein_coding -10288,HIGD1A,ENSG00000181061,protein_coding -24002,CHRM2,ENSG00000181072,protein_coding -32128,OR52N4,ENSG00000181074,protein_coding -29368,MAPK15,ENSG00000181085,protein_coding -31774,EHMT1,ENSG00000181090,protein_coding -12602,ADIPOQ,ENSG00000181092,protein_coding -16654,F2R,ENSG00000181104,protein_coding -29364,ZNF707,ENSG00000181135,protein_coding -55230,MUC16,ENSG00000181143,protein_coding -18175,NPM1,ENSG00000181163,protein_coding -25555,PJA1,ENSG00000181191,protein_coding -35353,DHTKD1,ENSG00000181192,protein_coding -28091,PENK,ENSG00000181195,protein_coding -13013,C4orf50,ENSG00000181215,protein_coding -4977,HIST3H2A,ENSG00000181218,protein_coding -24356,ZNF746,ENSG00000181220,protein_coding -49338,POLR2A,ENSG00000181222,protein_coding -40372,TMEM132C,ENSG00000181234,protein_coding -55104,SLC25A41,ENSG00000181240,protein_coding -34842,TMEM136,ENSG00000181264,protein_coding -33102,OR5AK2,ENSG00000181273,protein_coding -36836,FRAT2,ENSG00000181274,protein_coding -49330,TMEM102,ENSG00000181284,protein_coding -50267,TMEM132E,ENSG00000181291,protein_coding -18986,ZNF322,ENSG00000181315,protein_coding -11800,NME9,ENSG00000181322,protein_coding -49326,SPEM1,ENSG00000181323,protein_coding -34330,HEPHL1,ENSG00000181333,protein_coding -49600,LRRC75A,ENSG00000181350,protein_coding -33071,OR5M8,ENSG00000181371,protein_coding -50263,CCL13,ENSG00000181374,protein_coding -9178,CFAP65,ENSG00000181378,protein_coding -15187,DDX60L,ENSG00000181381,protein_coding -56312,SYNE4,ENSG00000181392,protein_coding -52013,OGFOD3,ENSG00000181396,protein_coding -29464,WASHC1,ENSG00000181404,protein_coding -52011,UTS2R,ENSG00000181408,protein_coding -51914,AATK,ENSG00000181409,protein_coding -38563,DDN,ENSG00000181418,protein_coding -26570,SAGE1,ENSG00000181433,protein_coding -24359,ZNF467,ENSG00000181444,protein_coding -12456,SOX2,ENSG00000181449,protein_coding -4937,ZNF678,ENSG00000181450,protein_coding -11147,TMEM45A,ENSG00000181458,protein_coding -12056,RAP2B,ENSG00000181467,protein_coding -21215,ZBTB2,ENSG00000181472,protein_coding -50148,RNF135,ENSG00000181481,protein_coding -34913,OR6T1,ENSG00000181499,protein_coding -50837,ACBD4,ENSG00000181513,protein_coding -34911,OR8D4,ENSG00000181518,protein_coding -51884,SGSH,ENSG00000181523,protein_coding -14938,MAB21L2,ENSG00000181541,protein_coding -24726,FANCB,ENSG00000181544,protein_coding -42075,EDDM3B,ENSG00000181552,protein_coding -10404,SETD2,ENSG00000181555,protein_coding -42074,EDDM3A,ENSG00000181562,protein_coding -19783,C6orf223,ENSG00000181577,protein_coding -10388,TMIE,ENSG00000181585,protein_coding -54860,MEX3D,ENSG00000181588,protein_coding -32109,OR52D1,ENSG00000181609,protein_coding -51198,MRPS23,ENSG00000181610,protein_coding -32114,OR52H1,ENSG00000181616,protein_coding -13882,FDCSP,ENSG00000181617,protein_coding -42940,GPR135,ENSG00000181619,protein_coding -47441,SLX1B,ENSG00000181625,protein_coding -52317,ANKRD62,ENSG00000181626,protein_coding -12029,P2RY13,ENSG00000181631,protein_coding -31187,TNFSF15,ENSG00000181634,protein_coding -29335,ZFP41,ENSG00000181638,protein_coding -31954,PHLDA2,ENSG00000181649,protein_coding -24407,ATG9B,ENSG00000181652,protein_coding -2435,GPR88,ENSG00000181656,protein_coding -56372,ZNF875,ENSG00000181666,protein_coding -28085,PLAG1,ENSG00000181690,protein_coding -33053,OR8H1,ENSG00000181693,protein_coding -33052,OR5T1,ENSG00000181698,protein_coding -25547,YIPF6,ENSG00000181704,protein_coding -33050,OR5T2,ENSG00000181718,protein_coding -11345,ZBTB20,ENSG00000181722,protein_coding -55223,OR2Z1,ENSG00000181733,protein_coding -11912,DIPK2A,ENSG00000181744,protein_coding -17036,C5orf30,ENSG00000181751,protein_coding -33044,OR8K5,ENSG00000181752,protein_coding -2549,AMIGO1,ENSG00000181754,protein_coding -33040,OR8H3,ENSG00000181761,protein_coding -33038,OR8H2,ENSG00000181767,protein_coding -915,GPR3,ENSG00000181773,protein_coding -30416,TMEM252,ENSG00000181778,protein_coding -54780,ODF3L2,ENSG00000181781,protein_coding -33032,OR5AS1,ENSG00000181785,protein_coding -55222,ACTL9,ENSG00000181786,protein_coding -12014,SIAH2,ENSG00000181788,protein_coding -11638,COPG1,ENSG00000181789,protein_coding -29301,ADGRB1,ENSG00000181790,protein_coding -42066,OR6S1,ENSG00000181803,protein_coding -11904,SLC9A9,ENSG00000181804,protein_coding -1182,LSM10,ENSG00000181817,protein_coding -13393,RELL1,ENSG00000181826,protein_coding -45252,RFX7,ENSG00000181827,protein_coding -32810,SLC35C1,ENSG00000181830,protein_coding -11344,TIGIT,ENSG00000181847,protein_coding -38935,RNF41,ENSG00000181852,protein_coding -49308,SLC2A4,ENSG00000181856,protein_coding -17237,FTMT,ENSG00000181867,protein_coding -4962,IBA57,ENSG00000181873,protein_coding -49306,CLDN7,ENSG00000181885,protein_coding -57686,ZNF329,ENSG00000181894,protein_coding -55840,ZNF101,ENSG00000181896,protein_coding -33004,OR4C6,ENSG00000181903,protein_coding -17463,C5orf24,ENSG00000181904,protein_coding -36159,ADO,ENSG00000181915,protein_coding -33910,COA4,ENSG00000181924,protein_coding -33002,OR4P4,ENSG00000181927,protein_coding -38566,PRKAG1,ENSG00000181929,protein_coding -48172,GINS3,ENSG00000181938,protein_coding -32999,OR4C15,ENSG00000181939,protein_coding -32989,OR4A15,ENSG00000181958,protein_coding -32988,OR4A16,ENSG00000181961,protein_coding -32027,OR52K2,ENSG00000181963,protein_coding -17488,NEUROG1,ENSG00000181965,protein_coding -13290,CCDC149,ENSG00000181982,protein_coding -46085,MRPS11,ENSG00000181991,protein_coding -4455,SNRPE,ENSG00000182004,protein_coding -36150,RTKN2,ENSG00000182010,protein_coding -56854,PNMA8A,ENSG00000182013,protein_coding -37306,CHST15,ENSG00000182022,protein_coding -54130,ADIG,ENSG00000182035,protein_coding -51659,USH1G,ENSG00000182040,protein_coding -39450,MGAT4C,ENSG00000182050,protein_coding -32922,TRIM49B,ENSG00000182053,protein_coding -46150,IDH2,ENSG00000182054,protein_coding -32077,OR52A1,ENSG00000182070,protein_coding -9588,OR6B2,ENSG00000182083,protein_coding -54820,TMEM259,ENSG00000182087,protein_coding -60288,WRB,ENSG00000182093,protein_coding -21659,TNRC18,ENSG00000182095,protein_coding -34087,FAM181B,ENSG00000182103,protein_coding -42979,TMEM30B,ENSG00000182107,protein_coding -46926,DEXI,ENSG00000182108,protein_coding -22599,ZNF716,ENSG00000182111,protein_coding -44714,NOP10,ENSG00000182117,protein_coding -5058,FAM89A,ENSG00000182118,protein_coding -18156,KCNIP1,ENSG00000182132,protein_coding -3203,TDRKH,ENSG00000182134,protein_coding -55921,ZNF708,ENSG00000182141,protein_coding -48514,IST1,ENSG00000182149,protein_coding -30843,ERCC6L2,ENSG00000182150,protein_coding -31768,MRPL41,ENSG00000182154,protein_coding -51863,ENPP7,ENSG00000182156,protein_coding -24013,CREB3L2,ENSG00000182158,protein_coding -24581,P2RY8,ENSG00000182162,protein_coding -14243,UNC5C,ENSG00000182168,protein_coding -31965,MRGPRG,ENSG00000182170,protein_coding -51699,TSEN54,ENSG00000182173,protein_coding -46243,RGMA,ENSG00000182175,protein_coding -9514,ASB18,ENSG00000182177,protein_coding -10525,UBA7,ENSG00000182179,protein_coding -36350,MRPS16,ENSG00000182180,protein_coding -1659,SHISAL2A,ENSG00000182183,protein_coding -43113,RAD51B,ENSG00000182185,protein_coding -8997,CRYGB,ENSG00000182187,protein_coding -26645,LDOC1,ENSG00000182195,protein_coding -40227,ARL6IP4,ENSG00000182196,protein_coding -28977,EXT1,ENSG00000182197,protein_coding -38993,SHMT2,ENSG00000182199,protein_coding -31883,MOB2,ENSG00000182208,protein_coding -43710,HHIPL1,ENSG00000182218,protein_coding -25034,ATP6AP2,ENSG00000182220,protein_coding -13566,ZAR1,ENSG00000182223,protein_coding -49367,CYB5D1,ENSG00000182224,protein_coding -18269,FAM153B,ENSG00000182230,protein_coding -60312,BACE2,ENSG00000182240,protein_coding -9988,UBE2E2,ENSG00000182247,protein_coding -46344,SYNM,ENSG00000182253,protein_coding -32591,KCNA4,ENSG00000182255,protein_coding -44521,GABRG3,ENSG00000182256,protein_coding -32227,NLRP10,ENSG00000182261,protein_coding -8281,FIGN,ENSG00000182263,protein_coding -56964,IZUMO1,ENSG00000182264,protein_coding -50108,TMIGD1,ENSG00000182271,protein_coding -31821,B4GALNT4,ENSG00000182272,protein_coding -24747,AP1S2,ENSG00000182287,protein_coding -29462,C8orf33,ENSG00000182307,protein_coding -13493,DCAF4L1,ENSG00000182308,protein_coding -57207,SPACA6,ENSG00000182310,protein_coding -55139,MBD3L3,ENSG00000182315,protein_coding -57702,ZSCAN22,ENSG00000182318,protein_coding -56944,KCNJ14,ENSG00000182324,protein_coding -29414,FBXL6,ENSG00000182325,protein_coding -37697,C1S,ENSG00000182326,protein_coding -49192,GLTPD2,ENSG00000182327,protein_coding -8854,KIAA2012,ENSG00000182329,protein_coding -473,PRAMEF8,ENSG00000182330,protein_coding -36649,LIPF,ENSG00000182333,protein_coding -32222,OR5P3,ENSG00000182334,protein_coding -41775,DAOA,ENSG00000182346,protein_coding -23133,ZNF804B,ENSG00000182348,protein_coding -34487,KBTBD3,ENSG00000182359,protein_coding -60509,YBEY,ENSG00000182362,protein_coding -27014,CLN8,ENSG00000182372,protein_coding -24560,PLCXD1,ENSG00000182378,protein_coding -38991,NXPH4,ENSG00000182379,protein_coding -8132,CACNB4,ENSG00000182389,protein_coding -56464,IFNL1,ENSG00000182393,protein_coding -42622,TRAPPC6B,ENSG00000182400,protein_coding -44708,PGBD4,ENSG00000182405,protein_coding -57986,CDY2A,ENSG00000182415,protein_coding -51946,NPLOC4,ENSG00000182446,protein_coding -12201,OTOL1,ENSG00000182447,protein_coding -33462,KCNK4,ENSG00000182450,protein_coding -52009,TEX19,ENSG00000182459,protein_coding -54460,TSHZ2,ENSG00000182463,protein_coding -56429,CAPN12,ENSG00000182472,protein_coding -51732,EXOC7,ENSG00000182473,protein_coding -51528,KPNA2,ENSG00000182481,protein_coding -25949,XKRX,ENSG00000182489,protein_coding -26854,BGN,ENSG00000182492,protein_coding -11176,CEP97,ENSG00000182504,protein_coding -26175,LHFPL1,ENSG00000182508,protein_coding -46188,FES,ENSG00000182511,protein_coding -43638,GLRX5,ENSG00000182512,protein_coding -25437,FAM104B,ENSG00000182518,protein_coding -42868,TBPL2,ENSG00000182521,protein_coding -9745,CAV3,ENSG00000182533,protein_coding -51768,MXRA7,ENSG00000182534,protein_coding -59045,LIMK2,ENSG00000182541,protein_coding -38761,MFSD5,ENSG00000182544,protein_coding -42057,RNASE10,ENSG00000182545,protein_coding -5525,ADI1,ENSG00000182551,protein_coding -15355,RWDD4,ENSG00000182552,protein_coding -49168,SPNS3,ENSG00000182557,protein_coding -55168,CLEC4G,ENSG00000182566,protein_coding -9954,SATB1,ENSG00000182568,protein_coding -51038,NXPH3,ENSG00000182575,protein_coding -17885,CSF1R,ENSG00000182578,protein_coding -12543,EPHB3,ENSG00000182580,protein_coding -24633,VCX,ENSG00000182583,protein_coding -53959,ACTL10,ENSG00000182584,protein_coding -13949,EPGN,ENSG00000182585,protein_coding -60090,KRTAP11-1,ENSG00000182591,protein_coding -9447,SNORC,ENSG00000182600,protein_coding -47326,HS3ST4,ENSG00000182601,protein_coding -10260,TRAK1,ENSG00000182606,protein_coding -51948,TSPAN10,ENSG00000182612,protein_coding -18460,OR2V2,ENSG00000182613,protein_coding -53504,PLCB1,ENSG00000182621,protein_coding -51254,SKA2,ENSG00000182628,protein_coding -16013,RXFP3,ENSG00000182631,protein_coding -34920,OR10G7,ENSG00000182634,protein_coding -44388,NDN,ENSG00000182636,protein_coding -37166,CCDC172,ENSG00000182645,protein_coding -42005,AL512310.1,ENSG00000182652,protein_coding -35099,NTM,ENSG00000182667,protein_coding -60237,TTC3,ENSG00000182670,protein_coding -28322,KCNB2,ENSG00000182674,protein_coding -51962,PPP1R27,ENSG00000182676,protein_coding -46639,BRICD5,ENSG00000182685,protein_coding -51731,GALR2,ENSG00000182687,protein_coding -9203,RESP18,ENSG00000182698,protein_coding -17606,IGIP,ENSG00000182700,protein_coding -34015,TSKU,ENSG00000182704,protein_coding -26949,CMC4,ENSG00000182712,protein_coding -45356,ANXA2,ENSG00000182718,protein_coding -43204,RGS6,ENSG00000182732,protein_coding -50973,HOXB4,ENSG00000182742,protein_coding -20984,SLC35D3,ENSG00000182747,protein_coding -835,PAQR7,ENSG00000182749,protein_coding -31198,PAPPA,ENSG00000182752,protein_coding -29347,MAFA,ENSG00000182759,protein_coding -46160,NGRN,ENSG00000182768,protein_coding -36579,GRID1,ENSG00000182771,protein_coding -45952,RPS17,ENSG00000182774,protein_coding -40213,HCAR2,ENSG00000182782,protein_coding -5448,OR2T29,ENSG00000182783,protein_coding -33638,CCDC87,ENSG00000182791,protein_coding -19917,GSTA5,ENSG00000182793,protein_coding -4559,C1orf116,ENSG00000182795,protein_coding -24752,MAGEB17,ENSG00000182798,protein_coding -44010,CRIP2,ENSG00000182809,protein_coding -48356,DDX28,ENSG00000182810,protein_coding -60054,KRTAP13-2,ENSG00000182816,protein_coding -4897,ACBD3,ENSG00000182827,protein_coding -46884,C16orf72,ENSG00000182831,protein_coding -16139,PLCXD3,ENSG00000182836,protein_coding -49190,VMO1,ENSG00000182853,protein_coding -46421,OR4F15,ENSG00000182854,protein_coding -59592,ALG12,ENSG00000182858,protein_coding -1067,LCK,ENSG00000182866,protein_coding -40478,GALNT9,ENSG00000182870,protein_coding -60477,COL18A1,ENSG00000182871,protein_coding -25142,RBM10,ENSG00000182872,protein_coding -48147,ADGRG3,ENSG00000182885,protein_coding -26344,GLUD2,ENSG00000182890,protein_coding -49319,TMEM95,ENSG00000182896,protein_coding -3222,TCHHL1,ENSG00000182898,protein_coding -12838,RPL35A,ENSG00000182899,protein_coding -5247,RGS7,ENSG00000182901,protein_coding -58369,SLC25A18,ENSG00000182902,protein_coding -12872,ZNF721,ENSG00000182903,protein_coding -26042,TCEAL7,ENSG00000182916,protein_coding -34323,C11orf54,ENSG00000182919,protein_coding -11753,CEP63,ENSG00000182923,protein_coding -54283,WFDC10B,ENSG00000182931,protein_coding -35017,SRPRA,ENSG00000182934,protein_coding -51661,OTOP3,ENSG00000182938,protein_coding -58952,EWSR1,ENSG00000182944,protein_coding -45768,ODF3L1,ENSG00000182950,protein_coding -18981,HMGN4,ENSG00000182952,protein_coding -40695,SPATA13,ENSG00000182957,protein_coding -50820,GJC1,ENSG00000182963,protein_coding -41865,SOX1,ENSG00000182968,protein_coding -10099,CNOT10,ENSG00000182973,protein_coding -44307,AC135068.1,ENSG00000182974,protein_coding -44008,MTA1,ENSG00000182979,protein_coding -10296,ZNF662,ENSG00000182983,protein_coding -34670,CADM1,ENSG00000182985,protein_coding -57273,ZNF320,ENSG00000182986,protein_coding -37999,C12orf60,ENSG00000182993,protein_coding -51978,PYCR1,ENSG00000183010,protein_coding -49366,NAA38,ENSG00000183011,protein_coding -49171,AC118754.1,ENSG00000183018,protein_coding -55164,MCEMP1,ENSG00000183019,protein_coding -31867,AP2A2,ENSG00000183020,protein_coding -6143,SLC8A1,ENSG00000183023,protein_coding -49115,OR1G1,ENSG00000183024,protein_coding -42589,SLC25A21,ENSG00000183032,protein_coding -51660,OTOP2,ENSG00000183034,protein_coding -25814,CYLC1,ENSG00000183035,protein_coding -60301,PCP4,ENSG00000183036,protein_coding -46869,ABAT,ENSG00000183044,protein_coding -51959,SLC25A10,ENSG00000183048,protein_coding -35361,CAMK1D,ENSG00000183049,protein_coding -7495,RGPD6,ENSG00000183054,protein_coding -46362,LYSMD4,ENSG00000183060,protein_coding -59407,WBP2NL,ENSG00000183066,protein_coding -60300,IGSF5,ENSG00000183067,protein_coding -18215,NKX2-5,ENSG00000183072,protein_coding -51823,AFMID,ENSG00000183077,protein_coding -41912,GAS6,ENSG00000183087,protein_coding -14841,FREM3,ENSG00000183090,protein_coding -8128,NEB,ENSG00000183091,protein_coding -43741,BEGAIN,ENSG00000183092,protein_coding -41610,GPC6,ENSG00000183098,protein_coding -17870,ARHGEF37,ENSG00000183111,protein_coding -670,FAM43B,ENSG00000183114,protein_coding -27039,CSMD1,ENSG00000183117,protein_coding -37015,CALHM3,ENSG00000183128,protein_coding -33272,PTGDR2,ENSG00000183134,protein_coding -20574,CEP57L1,ENSG00000183137,protein_coding -60234,RIPPLY3,ENSG00000183145,protein_coding -30156,ANKRD20A2,ENSG00000183148,protein_coding -37947,GPR19,ENSG00000183150,protein_coding -50522,GJD3,ENSG00000183153,protein_coding -4420,RABIF,ENSG00000183155,protein_coding -39842,TMEM119,ENSG00000183160,protein_coding -32516,FANCF,ENSG00000183161,protein_coding -22849,CALN1,ENSG00000183166,protein_coding -59413,SMDT1,ENSG00000183172,protein_coding -11088,GABRR3,ENSG00000183185,protein_coding -54777,C2CD4C,ENSG00000183186,protein_coding -48602,CHST6,ENSG00000183196,protein_coding -52402,POTEC,ENSG00000183206,protein_coding -56982,RUVBL2,ENSG00000183207,protein_coding -46156,GDPGP1,ENSG00000183208,protein_coding -36189,CTNNA3,ENSG00000183230,protein_coding -58580,RIMBP3C,ENSG00000183246,protein_coding -55175,PRR36,ENSG00000183248,protein_coding -32094,OR51B4,ENSG00000183251,protein_coding -60453,PTTG1IP,ENSG00000183255,protein_coding -18329,DDX41,ENSG00000183258,protein_coding -54719,ABHD16B,ENSG00000183260,protein_coding -32135,OR52E8,ENSG00000183269,protein_coding -40090,CCDC60,ENSG00000183273,protein_coding -6945,PLGLB1,ENSG00000183281,protein_coding -38661,DAZAP2,ENSG00000183283,protein_coding -52993,CCBE1,ENSG00000183287,protein_coding -2194,SELENOF,ENSG00000183291,protein_coding -32221,OR5P2,ENSG00000183303,protein_coding -24643,FAM9A,ENSG00000183304,protein_coding -26820,MAGEA2B,ENSG00000183305,protein_coding -58354,TMEM121B,ENSG00000183307,protein_coding -29363,ZNF623,ENSG00000183309,protein_coding -5449,OR2T34,ENSG00000183310,protein_coding -32142,OR52L1,ENSG00000183313,protein_coding -1213,EPHA10,ENSG00000183317,protein_coding -49422,SPDYE4,ENSG00000183318,protein_coding -16493,CCDC125,ENSG00000183323,protein_coding -45662,REC114,ENSG00000183324,protein_coding -47438,BOLA2,ENSG00000183336,protein_coding -25028,BCOR,ENSG00000183337,protein_coding -34380,JRKL,ENSG00000183340,protein_coding -36146,CABCOCO1,ENSG00000183346,protein_coding -2234,GBP6,ENSG00000183347,protein_coding -29570,KIAA2026,ENSG00000183354,protein_coding -32211,OVCH2,ENSG00000183378,protein_coding -43276,SYNDIG1L,ENSG00000183379,protein_coding -1230,FHL3,ENSG00000183386,protein_coding -32144,OR56A4,ENSG00000183389,protein_coding -39732,PMCH,ENSG00000183395,protein_coding -10459,TMEM89,ENSG00000183396,protein_coding -54967,C19orf71,ENSG00000183397,protein_coding -55362,CCDC159,ENSG00000183401,protein_coding -60327,RIPK4,ENSG00000183421,protein_coding -14430,LRIT3,ENSG00000183423,protein_coding -47030,NPIPA1,ENSG00000183426,protein_coding -1228,SF3A3,ENSG00000183431,protein_coding -26481,TFDP3,ENSG00000183434,protein_coding -15148,TRIM61,ENSG00000183439,protein_coding -46896,GRIN2A,ENSG00000183454,protein_coding -40792,URAD,ENSG00000183463,protein_coding -16506,GTF2H2C,ENSG00000183474,protein_coding -46381,ASB7,ENSG00000183475,protein_coding -45824,SH2D7,ENSG00000183476,protein_coding -26851,TREX2,ENSG00000183479,protein_coding -43991,GPR132,ENSG00000183484,protein_coding -60316,MX2,ENSG00000183486,protein_coding -40466,EP400,ENSG00000183495,protein_coding -45932,MEX3B,ENSG00000183496,protein_coding -2778,TENT5C,ENSG00000183508,protein_coding -7258,COA5,ENSG00000183513,protein_coding -1231,UTP11,ENSG00000183520,protein_coding -60277,PSMG1,ENSG00000183527,protein_coding -59065,PRR14L,ENSG00000183530,protein_coding -37870,KLRC4,ENSG00000183542,protein_coding -47181,ACSM5,ENSG00000183549,protein_coding -37279,C10orf120,ENSG00000183559,protein_coding -34335,IZUMO1R,ENSG00000183560,protein_coding -59431,SERHL2,ENSG00000183569,protein_coding -60485,PCBP3,ENSG00000183570,protein_coding -46342,PGPEP1L,ENSG00000183571,protein_coding -43703,SETD3,ENSG00000183576,protein_coding -45161,TNFAIP8L3,ENSG00000183578,protein_coding -58941,ZNRF3,ENSG00000183579,protein_coding -15779,FBXL7,ENSG00000183580,protein_coding -58481,TANGO2,ENSG00000183597,protein_coding -3088,HIST2H3D,ENSG00000183598,protein_coding -37218,SFXN4,ENSG00000183605,protein_coding -6599,GKN2,ENSG00000183607,protein_coding -1066,FAM167B,ENSG00000183615,protein_coding -54983,MRPL54,ENSG00000183617,protein_coding -35683,ZNF438,ENSG00000183621,protein_coding -11641,HMCES,ENSG00000183624,protein_coding -10370,CCR3,ENSG00000183625,protein_coding -58422,DGCR6,ENSG00000183628,protein_coding -44554,GOLGA8G,ENSG00000183629,protein_coding -26395,PRR32,ENSG00000183631,protein_coding -47684,TP53TG3,ENSG00000183632,protein_coding -27235,RP1L1,ENSG00000183638,protein_coding -60088,KRTAP8-1,ENSG00000183640,protein_coding -34572,C11orf88,ENSG00000183644,protein_coding -57650,ZNF530,ENSG00000183647,protein_coding -43559,NDUFB1,ENSG00000183648,protein_coding -15783,MARCH11,ENSG00000183654,protein_coding -46060,KLHL25,ENSG00000183655,protein_coding -10842,TAFA1,ENSG00000183662,protein_coding -29077,TRMT12,ENSG00000183665,protein_coding -56673,PSG9,ENSG00000183668,protein_coding -8940,GPR1,ENSG00000183671,protein_coding -1264,BMP8A,ENSG00000183682,protein_coding -51970,ALYREF,ENSG00000183684,protein_coding -49005,RFLNB,ENSG00000183688,protein_coding -25087,EFHC2,ENSG00000183690,protein_coding -51166,NOG,ENSG00000183691,protein_coding -32473,MRGPRX2,ENSG00000183695,protein_coding -22406,UPP1,ENSG00000183696,protein_coding -44331,OR4N4,ENSG00000183706,protein_coding -56463,IFNL2,ENSG00000183709,protein_coding -35109,OPCML,ENSG00000183715,protein_coding -18474,TRIM52,ENSG00000183718,protein_coding -40963,LHFPL6,ENSG00000183722,protein_coding -48266,CMTM4,ENSG00000183723,protein_coding -820,TMEM50A,ENSG00000183726,protein_coding -28026,NPBWR1,ENSG00000183729,protein_coding -6644,FIGLA,ENSG00000183733,protein_coding -31930,ASCL2,ENSG00000183734,protein_coding -39137,TBK1,ENSG00000183735,protein_coding -59292,CBX6,ENSG00000183741,protein_coding -21864,MACC1,ENSG00000183742,protein_coding -47183,ACSM2A,ENSG00000183747,protein_coding -46610,TBL3,ENSG00000183751,protein_coding -58126,BPY2,ENSG00000183753,protein_coding -56453,ACP7,ENSG00000183760,protein_coding -58945,KREMEN1,ENSG00000183762,protein_coding -10527,TRAIP,ENSG00000183763,protein_coding -58934,CHEK2,ENSG00000183765,protein_coding -11813,FOXL2,ENSG00000183770,protein_coding -58534,AIFM3,ENSG00000183773,protein_coding -17778,KCTD16,ENSG00000183775,protein_coding -60296,B3GALT5,ENSG00000183778,protein_coding -27770,ZNF703,ENSG00000183779,protein_coding -5107,SLC35F3,ENSG00000183780,protein_coding -13520,KCTD8,ENSG00000183783,protein_coding -29475,C9orf66,ENSG00000183784,protein_coding -58389,TUBA8,ENSG00000183785,protein_coding -52777,ELOA3,ENSG00000183791,protein_coding -47049,NPIPA5,ENSG00000183793,protein_coding -58189,BPY2B,ENSG00000183795,protein_coding -54170,EMILIN3,ENSG00000183798,protein_coding -32207,OLFML1,ENSG00000183801,protein_coding -20705,FAM162B,ENSG00000183807,protein_coding -28627,RBM12B,ENSG00000183808,protein_coding -10104,CCR4,ENSG00000183813,protein_coding -4901,LIN9,ENSG00000183814,protein_coding -19620,BTBD9,ENSG00000183826,protein_coding -44000,NUDT14,ENSG00000183828,protein_coding -3958,ANKRD45,ENSG00000183831,protein_coding -11404,MAATS1,ENSG00000183833,protein_coding -26836,PNMA3,ENSG00000183837,protein_coding -7929,GPR39,ENSG00000183840,protein_coding -60315,FAM3B,ENSG00000183844,protein_coding -56008,ZNF730,ENSG00000183850,protein_coding -3533,KIRREL1,ENSG00000183853,protein_coding -3479,IQGAP3,ENSG00000183856,protein_coding -26798,CNGA2,ENSG00000183862,protein_coding -59378,TOB2,ENSG00000183864,protein_coding -10193,SCN5A,ENSG00000183873,protein_coding -17892,ARSI,ENSG00000183876,protein_coding -57935,UTY,ENSG00000183878,protein_coding -537,SRARP,ENSG00000183888,protein_coding -47081,AC138969.1,ENSG00000183889,protein_coding -5758,TTC32,ENSG00000183891,protein_coding -33108,LRRC55,ENSG00000183908,protein_coding -49362,DNAH2,ENSG00000183914,protein_coding -26377,SH2D1A,ENSG00000183918,protein_coding -47243,SDR42E2,ENSG00000183921,protein_coding -24608,PRKX,ENSG00000183943,protein_coding -40242,KMT5A,ENSG00000183955,protein_coding -9959,KCNH8,ENSG00000183960,protein_coding -59035,SMTN,ENSG00000183963,protein_coding -46617,NPW,ENSG00000183971,protein_coding -9965,PP2D1,ENSG00000183977,protein_coding -50697,COA3,ENSG00000183978,protein_coding -51972,NPB,ENSG00000183979,protein_coding -2047,ST6GALNAC3,ENSG00000184005,protein_coding -1048,PTP4A2,ENSG00000184007,protein_coding -51942,ACTG1,ENSG00000184009,protein_coding -60319,TMPRSS2,ENSG00000184012,protein_coding -32262,DENND5A,ENSG00000184014,protein_coding -5450,OR2T10,ENSG00000184022,protein_coding -60079,KRTAP20-2,ENSG00000184032,protein_coding -26924,CTAG1B,ENSG00000184033,protein_coding -40199,DIABLO,ENSG00000184047,protein_coding -46199,VPS33B,ENSG00000184056,protein_coding -58472,TBX1,ENSG00000184058,protein_coding -50143,ADAP2,ENSG00000184060,protein_coding -58977,UQCR10,ENSG00000184076,protein_coding -25413,FAM120C,ENSG00000184083,protein_coding -15456,TRIML1,ENSG00000184108,protein_coding -47391,EIF3C,ENSG00000184110,protein_coding -58465,CLDN5,ENSG00000184113,protein_coding -58968,NIPSNAP1,ENSG00000184117,protein_coding -46420,OR4F6,ENSG00000184140,protein_coding -4490,CNTN2,ENSG00000184144,protein_coding -3264,SPRR4,ENSG00000184148,protein_coding -33842,LRTOMT,ENSG00000184154,protein_coding -3591,OR10J5,ENSG00000184155,protein_coding -29183,KCNQ3,ENSG00000184156,protein_coding -12973,ADRA2C,ENSG00000184160,protein_coding -55817,NR2C2AP,ENSG00000184162,protein_coding -88,C1QTNF12,ENSG00000184163,protein_coding -59594,CRELD2,ENSG00000184164,protein_coding -49113,OR1D2,ENSG00000184166,protein_coding -13619,SCFD2,ENSG00000184178,protein_coding -9543,UBE2F,ENSG00000184182,protein_coding -49875,KCNJ12,ENSG00000184185,protein_coding -25380,GPR173,ENSG00000184194,protein_coding -12735,PPP1R2,ENSG00000184203,protein_coding -25382,TSPYL2,ENSG00000184205,protein_coding -46000,GOLGA6L4,ENSG00000184206,protein_coding -46641,PGP,ENSG00000184207,protein_coding -59391,C22orf46,ENSG00000184208,protein_coding -40245,SNRNP35,ENSG00000184209,protein_coding -25575,DGAT2L6,ENSG00000184210,protein_coding -26885,IRAK1,ENSG00000184216,protein_coding -11136,CMSS1,ENSG00000184220,protein_coding -60140,OLIG1,ENSG00000184221,protein_coding -41351,PCDH9,ENSG00000184226,protein_coding -43235,ACOT1,ENSG00000184227,protein_coding -34839,OAF,ENSG00000184232,protein_coding -46391,ALDH1A3,ENSG00000184254,protein_coding -26641,CDR1,ENSG00000184258,protein_coding -3099,HIST2H2AC,ENSG00000184260,protein_coding -6271,KCNK12,ENSG00000184261,protein_coding -3100,HIST2H2AB,ENSG00000184270,protein_coding -38659,AC139768.1,ENSG00000184271,protein_coding -33828,DEFB108B,ENSG00000184276,protein_coding -46413,TM2D3,ENSG00000184277,protein_coding -31938,TSSC4,ENSG00000184281,protein_coding -1791,TACSTD2,ENSG00000184292,protein_coding -37840,CLECL1,ENSG00000184293,protein_coding -42962,SIX6,ENSG00000184302,protein_coding -42451,PRKD1,ENSG00000184304,protein_coding -14211,CCSER1,ENSG00000184305,protein_coding -11333,ZDHHC23,ENSG00000184307,protein_coding -1734,MROH7,ENSG00000184313,protein_coding -3290,S100A7A,ENSG00000184330,protein_coding -26868,SRPK3,ENSG00000184343,protein_coding -37723,GDF3,ENSG00000184344,protein_coding -10593,IQCF2,ENSG00000184345,protein_coding -18135,SLIT3,ENSG00000184347,protein_coding -17057,EFNA5,ENSG00000184349,protein_coding -31967,MRGPRE,ENSG00000184350,protein_coding -60061,KRTAP19-1,ENSG00000184351,protein_coding -19041,HIST1H1B,ENSG00000184357,protein_coding -50848,SPATA32,ENSG00000184361,protein_coding -31822,PKP3,ENSG00000184363,protein_coding -24806,MAP7D2,ENSG00000184368,protein_coding -2572,CSF1,ENSG00000184371,protein_coding -28985,COLEC10,ENSG00000184374,protein_coding -12269,ACTRT3,ENSG00000184378,protein_coding -59255,PLA2G6,ENSG00000184381,protein_coding -34376,MAML2,ENSG00000184384,protein_coding -25666,PABPC1L2B,ENSG00000184388,protein_coding -1109,A3GALT2,ENSG00000184389,protein_coding -42026,OR4N5,ENSG00000184394,protein_coding -54619,SS18L1,ENSG00000184402,protein_coding -23708,KCND2,ENSG00000184408,protein_coding -29341,TOP1MT,ENSG00000184428,protein_coding -11825,COPB2,ENSG00000184432,protein_coding -29823,LRRC19,ENSG00000184434,protein_coding -58538,THAP7,ENSG00000184436,protein_coding -40209,KNTC1,ENSG00000184445,protein_coding -50684,CCR10,ENSG00000184451,protein_coding -795,NCMAP,ENSG00000184454,protein_coding -59103,BPIFC,ENSG00000184459,protein_coding -21509,WDR27,ENSG00000184465,protein_coding -58476,TXNRD2,ENSG00000184470,protein_coding -46528,C1QTNF8,ENSG00000184471,protein_coding -32140,OR56A3,ENSG00000184478,protein_coding -25602,FOXO4,ENSG00000184481,protein_coding -20442,POU3F2,ENSG00000184486,protein_coding -29284,PTP4A3,ENSG00000184489,protein_coding -7578,FOXD4L1,ENSG00000184492,protein_coding -41910,TMEM255B,ENSG00000184497,protein_coding -11053,PROS1,ENSG00000184500,protein_coding -50625,GAST,ENSG00000184502,protein_coding -44715,NUTM1,ENSG00000184507,protein_coding -46191,HDDC3,ENSG00000184508,protein_coding -25994,BEX5,ENSG00000184515,protein_coding -48586,ZFP1,ENSG00000184517,protein_coding -31853,CEND1,ENSG00000184524,protein_coding -20822,C6orf58,ENSG00000184530,protein_coding -49443,DHRS7C,ENSG00000184544,protein_coding -31884,DUSP8,ENSG00000184545,protein_coding -51832,SOCS3,ENSG00000184557,protein_coding -49327,SPEM2,ENSG00000184560,protein_coding -41536,SLITRK6,ENSG00000184564,protein_coding -58832,PIWIL3,ENSG00000184571,protein_coding -37657,LPAR5,ENSG00000184574,protein_coding -39134,XPOT,ENSG00000184575,protein_coding -17585,TMEM173,ENSG00000184584,protein_coding -1914,PDE4B,ENSG00000184588,protein_coding -2667,TAFA3,ENSG00000184599,protein_coding -43966,C14orf180,ENSG00000184601,protein_coding -46951,SNN,ENSG00000184602,protein_coding -8276,KCNH7,ENSG00000184611,protein_coding -38427,NELL2,ENSG00000184613,protein_coding -49411,KRBA2,ENSG00000184619,protein_coding -25606,MED12,ENSG00000184634,protein_coding -55858,ZNF93,ENSG00000184635,protein_coding -51795,SEPT9,ENSG00000184640,protein_coding -27234,PRSS55,ENSG00000184647,protein_coding -49410,ODF4,ENSG00000184650,protein_coding -30356,FOXD4L4,ENSG00000184659,protein_coding -27560,CDCA2,ENSG00000184661,protein_coding -28496,RALYL,ENSG00000184672,protein_coding -25496,AMER1,ENSG00000184675,protein_coding -727,ZBTB40,ENSG00000184677,protein_coding -3098,HIST2H2BE,ENSG00000184678,protein_coding -46717,CLDN6,ENSG00000184697,protein_coding -32102,OR51M1,ENSG00000184698,protein_coding -58469,SEPT5,ENSG00000184702,protein_coding -59055,EIF4ENIF1,ENSG00000184708,protein_coding -31739,LRRC26,ENSG00000184709,protein_coding -44988,SERINC4,ENSG00000184716,protein_coding -36645,RNLS,ENSG00000184719,protein_coding -60076,KRTAP6-1,ENSG00000184724,protein_coding -47378,APOBR,ENSG00000184730,protein_coding -5471,FAM110C,ENSG00000184731,protein_coding -24838,DDX53,ENSG00000184735,protein_coding -33425,ATL3,ENSG00000184743,protein_coding -39585,NDUFA12,ENSG00000184752,protein_coding -26525,SMIM10,ENSG00000184785,protein_coding -21514,TCTE3,ENSG00000184786,protein_coding -60450,UBE2G2,ENSG00000184787,protein_coding -25823,SATL1,ENSG00000184788,protein_coding -59021,OSBP2,ENSG00000184792,protein_coding -49032,TRARG1,ENSG00000184811,protein_coding -11817,PRR23B,ENSG00000184814,protein_coding -52803,ZBTB7C,ENSG00000184828,protein_coding -24848,APOO,ENSG00000184831,protein_coding -17225,PRR16,ENSG00000184838,protein_coding -18332,TMED9,ENSG00000184840,protein_coding -18254,DRD1,ENSG00000184845,protein_coding -46873,TMEM186,ENSG00000184857,protein_coding -48738,SDR42E1,ENSG00000184860,protein_coding -24507,RBM33,ENSG00000184863,protein_coding -25979,ARMCX2,ENSG00000184867,protein_coding -44002,BTBD6,ENSG00000184887,protein_coding -57744,SRY,ENSG00000184895,protein_coding -11642,H1FX,ENSG00000184897,protein_coding -8121,RBM43,ENSG00000184898,protein_coding -60452,SUMO3,ENSG00000184900,protein_coding -23596,IMMP2L,ENSG00000184903,protein_coding -25991,TCEAL2,ENSG00000184905,protein_coding -542,CLCNKB,ENSG00000184908,protein_coding -25658,DMRTC1B,ENSG00000184911,protein_coding -43997,JAG2,ENSG00000184916,protein_coding -50844,FMNL1,ENSG00000184922,protein_coding -36620,NUTM2A,ENSG00000184923,protein_coding -5844,PTRHD1,ENSG00000184924,protein_coding -31716,LCN12,ENSG00000184925,protein_coding -32191,OR6A2,ENSG00000184933,protein_coding -32620,WT1,ENSG00000184937,protein_coding -48385,ZFP90,ENSG00000184939,protein_coding -9611,AQP12A,ENSG00000184945,protein_coding -59274,FAM227A,ENSG00000184949,protein_coding -38878,OR6C70,ENSG00000184954,protein_coding -31869,MUC6,ENSG00000184956,protein_coding -40474,NOC4L,ENSG00000184967,protein_coding -58391,USP18,ENSG00000184979,protein_coding -59414,NDUFA6,ENSG00000184983,protein_coding -44702,CHRM5,ENSG00000184984,protein_coding -13046,SORCS2,ENSG00000184985,protein_coding -44014,TMEM121,ENSG00000184986,protein_coding -50726,TMEM106A,ENSG00000184988,protein_coding -43975,SIVA1,ENSG00000184990,protein_coding -40300,BRI3BP,ENSG00000184992,protein_coding -29767,IFNE,ENSG00000184995,protein_coding -33411,SLC22A10,ENSG00000184999,protein_coding -29407,DGAT1,ENSG00000185000,protein_coding -20707,RFX6,ENSG00000185002,protein_coding -10961,ROBO2,ENSG00000185008,protein_coding -36395,AP3M1,ENSG00000185009,protein_coding -26940,F8,ENSG00000185010,protein_coding -5746,NT5C1B,ENSG00000185013,protein_coding -28509,CA13,ENSG00000185015,protein_coding -53395,UBOX5,ENSG00000185019,protein_coding -59257,MAFF,ENSG00000185022,protein_coding -44001,BRF1,ENSG00000185024,protein_coding -15506,LRRC14B,ENSG00000185028,protein_coding -46152,SEMA4B,ENSG00000185033,protein_coding -9481,MROH2A,ENSG00000185038,protein_coding -22998,SPDYE16,ENSG00000185040,protein_coding -46155,CIB1,ENSG00000185043,protein_coding -39668,ANKS1B,ENSG00000185046,protein_coding -12925,NELFA,ENSG00000185049,protein_coding -53665,SLC24A3,ENSG00000185052,protein_coding -27360,SGCZ,ENSG00000185053,protein_coding -23531,EFCAB10,ENSG00000185055,protein_coding -18233,C5orf47,ENSG00000185056,protein_coding -38733,KRT76,ENSG00000185069,protein_coding -43457,FLRT2,ENSG00000185070,protein_coding -33361,INTS5,ENSG00000185085,protein_coding -45412,RPS27L,ENSG00000185088,protein_coding -1217,MANEAL,ENSG00000185090,protein_coding -43974,ADSSL1,ENSG00000185100,protein_coding -31824,ANO9,ENSG00000185101,protein_coding -1598,FAF1,ENSG00000185104,protein_coding -51980,MYADML2,ENSG00000185105,protein_coding -12717,FAM43A,ENSG00000185112,protein_coding -44579,NSMCE3,ENSG00000185115,protein_coding -29406,HSF1,ENSG00000185122,protein_coding -21510,C6orf120,ENSG00000185127,protein_coding -17605,PURA,ENSG00000185129,protein_coding -19030,HIST1H2BL,ENSG00000185130,protein_coding -59039,INPP5J,ENSG00000185133,protein_coding -15026,NPY2R,ENSG00000185149,protein_coding -4900,MIXL1,ENSG00000185155,protein_coding -49423,MFSD6L,ENSG00000185156,protein_coding -50187,LRRC37B,ENSG00000185158,protein_coding -40473,DDX51,ENSG00000185163,protein_coding -47128,NOMO2,ENSG00000185164,protein_coding -9609,AQP12B,ENSG00000185176,protein_coding -22562,ZNF479,ENSG00000185177,protein_coding -31823,SIGIRR,ENSG00000185187,protein_coding -29379,NRBP2,ENSG00000185189,protein_coding -54796,PRSS57,ENSG00000185198,protein_coding -31811,IFITM2,ENSG00000185201,protein_coding -43911,TNFAIP2,ENSG00000185215,protein_coding -10322,ZNF445,ENSG00000185219,protein_coding -5468,PGBD2,ENSG00000185220,protein_coding -26044,TCEAL9,ENSG00000185222,protein_coding -52377,MC2R,ENSG00000185231,protein_coding -55208,RAB11B,ENSG00000185236,protein_coding -32495,PRMT3,ENSG00000185238,protein_coding -49201,GP1BA,ENSG00000185245,protein_coding -42677,PRPF39,ENSG00000185246,protein_coding -26756,MAGEA11,ENSG00000185247,protein_coding -20582,PPIL6,ENSG00000185250,protein_coding -58508,ZNF74,ENSG00000185252,protein_coding -16903,KIAA0825,ENSG00000185261,protein_coding -51740,UBALD2,ENSG00000185262,protein_coding -59195,TEX33,ENSG00000185264,protein_coding -35409,CDNF,ENSG00000185267,protein_coding -51982,NOTUM,ENSG00000185269,protein_coding -42049,KLHL33,ENSG00000185271,protein_coding -59833,RBM11,ENSG00000185272,protein_coding -22845,GALNT17,ENSG00000185274,protein_coding -3968,ZBTB37,ENSG00000185278,protein_coding -22520,NUPR2,ENSG00000185290,protein_coding -24576,IL3RA,ENSG00000185291,protein_coding -50876,SPPL2C,ENSG00000185294,protein_coding -51951,CCDC137,ENSG00000185298,protein_coding -36485,SFTPA2,ENSG00000185303,protein_coding -6968,RGPD2,ENSG00000185304,protein_coding -16258,ARL15,ENSG00000185305,protein_coding -39130,C12orf56,ENSG00000185306,protein_coding -10194,SCN10A,ENSG00000185313,protein_coding -48963,CDK10,ENSG00000185324,protein_coding -46936,SOCS1,ENSG00000185338,protein_coding -59017,TCN2,ENSG00000185339,protein_coding -58953,GAS2L1,ENSG00000185340,protein_coding -40260,ATP6V0A2,ENSG00000185344,protein_coding -21386,PRKN,ENSG00000185345,protein_coding -44013,TEDC1,ENSG00000185347,protein_coding -41644,HS6ST3,ENSG00000185352,protein_coding -51953,HGS,ENSG00000185359,protein_coding -55033,TNFAIP8L1,ENSG00000185361,protein_coding -18459,OR2V1,ENSG00000185372,protein_coding -50280,RAD51D,ENSG00000185379,protein_coding -55577,OR7A17,ENSG00000185385,protein_coding -59613,MAPK11,ENSG00000185386,protein_coding -9356,SP140L,ENSG00000185404,protein_coding -7273,MRPL30,ENSG00000185414,protein_coding -46415,TARSL2,ENSG00000185418,protein_coding -5334,SMYD3,ENSG00000185420,protein_coding -38643,METTL7A,ENSG00000185432,protein_coding -786,IFNLR1,ENSG00000185436,protein_coding -60291,SH3BGR,ENSG00000185437,protein_coding -46227,FAM174B,ENSG00000185442,protein_coding -24949,FAM47A,ENSG00000185448,protein_coding -56930,ZSWIM9,ENSG00000185453,protein_coding -23299,KPNA7,ENSG00000185467,protein_coding -33381,TMEM179B,ENSG00000185475,protein_coding -14202,GPRIN3,ENSG00000185477,protein_coding -38712,KRT6B,ENSG00000185479,protein_coding -39731,PARPBP,ENSG00000185480,protein_coding -38995,STAC3,ENSG00000185482,protein_coding -1878,ROR1,ENSG00000185483,protein_coding -3402,MUC1,ENSG00000185499,protein_coding -51945,FAAP100,ENSG00000185504,protein_coding -31839,IRF7,ENSG00000185507,protein_coding -54197,L3MBTL1,ENSG00000185513,protein_coding -26950,BRCC3,ENSG00000185515,protein_coding -46206,SV2B,ENSG00000185518,protein_coding -543,FAM131C,ENSG00000185519,protein_coding -31833,LMNTD2,ENSG00000185522,protein_coding -4692,SPATA45,ENSG00000185523,protein_coding -51949,AC139530.1,ENSG00000185527,protein_coding -36070,PRKG1,ENSG00000185532,protein_coding -46292,NR2F2,ENSG00000185551,protein_coding -43746,DLK1,ENSG00000185559,protein_coding -49047,TLCD2,ENSG00000185561,protein_coding -11361,LSAMP,ENSG00000185565,protein_coding -43988,AHNAK2,ENSG00000185567,protein_coding -31325,OLFML2A,ENSG00000185585,protein_coding -38768,SP1,ENSG00000185591,protein_coding -46307,SPATA8,ENSG00000185594,protein_coding -58458,MRPL40,ENSG00000185608,protein_coding -38429,DBX2,ENSG00000185610,protein_coding -10524,INKA1,ENSG00000185614,protein_coding -46465,PDIA2,ENSG00000185615,protein_coding -12882,PCGF3,ENSG00000185619,protein_coding -12839,LMLN,ENSG00000185621,protein_coding -51963,P4HB,ENSG00000185624,protein_coding -31804,PSMD13,ENSG00000185627,protein_coding -3756,PBX1,ENSG00000185630,protein_coding -38994,NDUFA4L2,ENSG00000185633,protein_coding -45108,SHC4,ENSG00000185634,protein_coding -38737,KRT79,ENSG00000185640,protein_coding -43127,ZFP36L1,ENSG00000185650,protein_coding -58581,UBE2L3,ENSG00000185651,protein_coding -37620,NTF3,ENSG00000185652,protein_coding -60278,BRWD1,ENSG00000185658,protein_coding -18179,SMIM23,ENSG00000185662,protein_coding -38911,PMEL,ENSG00000185664,protein_coding -59105,SYN3,ENSG00000185666,protein_coding -1232,POU3F1,ENSG00000185668,protein_coding -48915,SNAI3,ENSG00000185669,protein_coding -33375,ZBTB3,ENSG00000185670,protein_coding -7274,LYG2,ENSG00000185674,protein_coding -31258,MORN5,ENSG00000185681,protein_coding -58672,PRAME,ENSG00000185686,protein_coding -18578,C6orf201,ENSG00000185689,protein_coding -28236,MYBL1,ENSG00000185697,protein_coding -47240,MOSMO,ENSG00000185716,protein_coding -59054,DRG1,ENSG00000185721,protein_coding -49160,ANKFY1,ENSG00000185722,protein_coding -28186,YTHDF3,ENSG00000185728,protein_coding -29339,ZNF696,ENSG00000185730,protein_coding -35174,ADARB2,ENSG00000185736,protein_coding -36542,NRG3,ENSG00000185737,protein_coding -46781,SRL,ENSG00000185739,protein_coding -34535,C11orf87,ENSG00000185742,protein_coding -36675,IFIT1,ENSG00000185745,protein_coding -25037,CXorf38,ENSG00000185753,protein_coding -15347,CLDN24,ENSG00000185758,protein_coding -20114,KCNQ5,ENSG00000185760,protein_coding -54857,ADAMTSL5,ENSG00000185761,protein_coding -13259,KCNIP4,ENSG00000185774,protein_coding -30209,SPATA31A6,ENSG00000185775,protein_coding -45856,MORF4L1,ENSG00000185787,protein_coding -57545,NLRP9,ENSG00000185792,protein_coding -12792,WDR53,ENSG00000185798,protein_coding -56818,DMWD,ENSG00000185800,protein_coding -29413,SLC52A2,ENSG00000185803,protein_coding -60236,PIGP,ENSG00000185808,protein_coding -22426,IKZF1,ENSG00000185811,protein_coding -51973,PCYT2,ENSG00000185813,protein_coding -12928,NAT8L,ENSG00000185818,protein_coding -38875,OR6C76,ENSG00000185821,protein_coding -44398,NPAP1,ENSG00000185823,protein_coding -26864,BCAP31,ENSG00000185825,protein_coding -50895,ARL17A,ENSG00000185829,protein_coding -58473,GNB1L,ENSG00000185838,protein_coding -4872,DNAH14,ENSG00000185842,protein_coding -3738,CCDC190,ENSG00000185860,protein_coding -50160,EVI2B,ENSG00000185862,protein_coding -31742,TMEM210,ENSG00000185863,protein_coding -47232,NPIPB4,ENSG00000185864,protein_coding -56357,ZNF829,ENSG00000185869,protein_coding -13812,TMPRSS11B,ENSG00000185873,protein_coding -35570,THNSL1,ENSG00000185875,protein_coding -45011,TRIM69,ENSG00000185880,protein_coding -46667,ATP6V0C,ENSG00000185883,protein_coding -31813,IFITM1,ENSG00000185885,protein_coding -4944,PRSS38,ENSG00000185888,protein_coding -58200,BPY2C,ENSG00000185894,protein_coding -41895,LAMP1,ENSG00000185896,protein_coding -56256,FFAR3,ENSG00000185897,protein_coding -24242,TAS2R60,ENSG00000185899,protein_coding -27905,POMK,ENSG00000185900,protein_coding -47458,C16orf54,ENSG00000185905,protein_coding -10493,KLHDC8B,ENSG00000185909,protein_coding -24821,KLHL34,ENSG00000185915,protein_coding -60197,SETD4,ENSG00000185917,protein_coding -30833,PTCH1,ENSG00000185920,protein_coding -49057,RTN4RL1,ENSG00000185924,protein_coding -32970,OR4C46,ENSG00000185926,protein_coding -37014,CALHM1,ENSG00000185933,protein_coding -31890,KRTAP5-5,ENSG00000185940,protein_coding -28173,NKAIN3,ENSG00000185942,protein_coding -2469,RNPC3,ENSG00000185946,protein_coding -47647,ZNF267,ENSG00000185947,protein_coding -41820,IRS2,ENSG00000185950,protein_coding -23380,C7orf61,ENSG00000185955,protein_coding -38630,FAM186A,ENSG00000185958,protein_coding -24569,SHOX,ENSG00000185960,protein_coding -3240,LCE3A,ENSG00000185962,protein_coding -30762,BICD2,ENSG00000185963,protein_coding -3236,LCE3E,ENSG00000185966,protein_coding -30050,CCIN,ENSG00000185972,protein_coding -26969,TMLHE,ENSG00000185973,protein_coding -41908,GRK1,ENSG00000185974,protein_coding -53297,DEFB128,ENSG00000185982,protein_coding -26690,SLITRK2,ENSG00000185985,protein_coding -54859,PLK5,ENSG00000185988,protein_coding -41920,RASA3,ENSG00000185989,protein_coding -12833,LRCH3,ENSG00000186001,protein_coding -4503,LEMD1,ENSG00000186007,protein_coding -41907,ATP4B,ENSG00000186009,protein_coding -55830,NDUFA13,ENSG00000186010,protein_coding -56338,ZNF566,ENSG00000186017,protein_coding -56343,ZNF529,ENSG00000186020,protein_coding -56721,ZNF284,ENSG00000186026,protein_coding -12515,HTR3E,ENSG00000186038,protein_coding -41190,DLEU7,ENSG00000186047,protein_coding -38720,KRT73,ENSG00000186049,protein_coding -31023,TAL2,ENSG00000186051,protein_coding -4822,AIDA,ENSG00000186063,protein_coding -44763,C15orf41,ENSG00000186073,protein_coding -51650,CD300LF,ENSG00000186074,protein_coding -50495,ZPBP2,ENSG00000186075,protein_coding -38715,KRT5,ENSG00000186081,protein_coding -2511,NBPF6,ENSG00000186086,protein_coding -23024,GSAP,ENSG00000186088,protein_coding -12510,HTR3D,ENSG00000186090,protein_coding -8,OR4F5,ENSG00000186092,protein_coding -1576,AGBL4,ENSG00000186094,protein_coding -11445,ARGFX,ENSG00000186103,protein_coding -32373,CYP2R1,ENSG00000186104,protein_coding -16405,LRRC70,ENSG00000186105,protein_coding -28769,ANKRD46,ENSG00000186106,protein_coding -54977,PIP5K1C,ENSG00000186111,protein_coding -33013,OR5D14,ENSG00000186113,protein_coding -55631,CYP4F2,ENSG00000186115,protein_coding -1526,TEX38,ENSG00000186118,protein_coding -33015,OR5D18,ENSG00000186119,protein_coding -31287,ZBTB6,ENSG00000186130,protein_coding -7646,C2orf76,ENSG00000186132,protein_coding -37911,TAS2R42,ENSG00000186136,protein_coding -2950,POLR3C,ENSG00000186141,protein_coding -5912,PRR30,ENSG00000186143,protein_coding -13115,DEFB131A,ENSG00000186146,protein_coding -2578,UBL4B,ENSG00000186150,protein_coding -48657,WWOX,ENSG00000186153,protein_coding -1539,CYP4Z1,ENSG00000186160,protein_coding -34785,CCDC84,ENSG00000186166,protein_coding -34776,BCL9L,ENSG00000186174,protein_coding -40782,POLR1D,ENSG00000186184,protein_coding -50827,KIF18B,ENSG00000186185,protein_coding -48582,ZNRF1,ENSG00000186187,protein_coding -36755,FFAR4,ENSG00000186188,protein_coding -53941,BPIFB3,ENSG00000186190,protein_coding -53942,BPIFB4,ENSG00000186191,protein_coding -31731,SAPCD2,ENSG00000186193,protein_coding -5183,EDARADD,ENSG00000186197,protein_coding -45462,SLC51B,ENSG00000186198,protein_coding -55618,CYP4F12,ENSG00000186204,protein_coding -4789,MARC1,ENSG00000186205,protein_coding -3234,LCE5A,ENSG00000186207,protein_coding -14007,SOWAHB,ENSG00000186212,protein_coding -13033,BLOC1S4,ENSG00000186222,protein_coding -3253,LCE1E,ENSG00000186226,protein_coding -57636,ZNF749,ENSG00000186230,protein_coding -20433,KLHL32,ENSG00000186231,protein_coding -46999,MRTFB,ENSG00000186260,protein_coding -11293,BTLA,ENSG00000186265,protein_coding -57635,ZNF17,ENSG00000186272,protein_coding -34352,KDM4D,ENSG00000186280,protein_coding -7184,GPAT2,ENSG00000186281,protein_coding -4044,TOR3A,ENSG00000186283,protein_coding -25667,PABPC1L2A,ENSG00000186288,protein_coding -44519,GABRA5,ENSG00000186297,protein_coding -39910,PPP1CC,ENSG00000186298,protein_coding -54934,ZNF555,ENSG00000186300,protein_coding -3545,OR10T2,ENSG00000186306,protein_coding -25889,NAP1L3,ENSG00000186310,protein_coding -17789,PRELID2,ENSG00000186314,protein_coding -34717,BACE1,ENSG00000186318,protein_coding -56147,RGS9BP,ENSG00000186326,protein_coding -12320,TMEM212,ENSG00000186329,protein_coding -17919,SLC36A3,ENSG00000186334,protein_coding -17920,SLC36A2,ENSG00000186335,protein_coding -21502,THBS2,ENSG00000186340,protein_coding -31610,RXRA,ENSG00000186350,protein_coding -15404,ANKRD37,ENSG00000186352,protein_coding -2951,NUDT17,ENSG00000186364,protein_coding -17340,MINAR2,ENSG00000186367,protein_coding -26540,ZNF75D,ENSG00000186376,protein_coding -1538,CYP4X1,ENSG00000186377,protein_coding -50543,KRT26,ENSG00000186393,protein_coding -50547,KRT10,ENSG00000186395,protein_coding -44613,GOLGA8R,ENSG00000186399,protein_coding -51647,CD300E,ENSG00000186407,protein_coding -1359,CCDC30,ENSG00000186409,protein_coding -26280,NKRF,ENSG00000186416,protein_coding -45169,GLDN,ENSG00000186417,protein_coding -57471,FCAR,ENSG00000186431,protein_coding -12184,KPNA4,ENSG00000186432,protein_coding -20781,TRDN,ENSG00000186439,protein_coding -3556,OR6P1,ENSG00000186440,protein_coding -38735,KRT3,ENSG00000186442,protein_coding -10336,ZNF501,ENSG00000186446,protein_coding -10330,ZNF197,ENSG00000186448,protein_coding -10710,SPATA12,ENSG00000186451,protein_coding -38641,TMPRSS12,ENSG00000186452,protein_coding -5833,FAM228A,ENSG00000186453,protein_coding -53299,DEFB132,ENSG00000186458,protein_coding -25670,NAP1L2,ENSG00000186462,protein_coding -16762,RPS23,ENSG00000186468,protein_coding -42799,GNG2,ENSG00000186469,protein_coding -18971,BTN3A2,ENSG00000186470,protein_coding -26291,AKAP14,ENSG00000186471,protein_coding -23078,PCLO,ENSG00000186472,protein_coding -57145,KLK12,ENSG00000186474,protein_coding -16414,RGS7BP,ENSG00000186479,protein_coding -24495,INSIG1,ENSG00000186480,protein_coding -5508,MYT1L,ENSG00000186487,protein_coding -15585,C5orf38,ENSG00000186493,protein_coding -52661,ZNF396,ENSG00000186496,protein_coding -907,TMEM222,ENSG00000186501,protein_coding -33147,OR9Q1,ENSG00000186509,protein_coding -540,CLCNKA,ENSG00000186510,protein_coding -33158,OR9Q2,ENSG00000186513,protein_coding -3664,ARHGAP30,ENSG00000186517,protein_coding -7453,SEPT10,ENSG00000186522,protein_coding -27306,FAM86B1,ENSG00000186523,protein_coding -55615,CYP4F8,ENSG00000186526,protein_coding -55616,CYP4F3,ENSG00000186529,protein_coding -49054,SMYD4,ENSG00000186532,protein_coding -27152,DEFB105A,ENSG00000186562,protein_coding -1553,FOXD2,ENSG00000186564,protein_coding -50803,GPATCH8,ENSG00000186566,protein_coding -56750,CEACAM19,ENSG00000186567,protein_coding -27151,DEFB107A,ENSG00000186572,protein_coding -58969,NF2,ENSG00000186575,protein_coding -19509,SMIM29,ENSG00000186577,protein_coding -27153,DEFB106A,ENSG00000186579,protein_coding -29388,SPATC1,ENSG00000186583,protein_coding -23881,UBE2H,ENSG00000186591,protein_coding -27123,DEFB105B,ENSG00000186599,protein_coding -1476,HPDL,ENSG00000186603,protein_coding -21161,KATNA1,ENSG00000186625,protein_coding -45966,FSD2,ENSG00000186628,protein_coding -33874,ARAP1,ENSG00000186635,protein_coding -29945,KIF24,ENSG00000186638,protein_coding -33869,PDE2A,ENSG00000186642,protein_coding -42350,CARMIL3,ENSG00000186648,protein_coding -33115,PRG2,ENSG00000186652,protein_coding -59489,PRR5,ENSG00000186654,protein_coding -33179,ZFP91,ENSG00000186660,protein_coding -51527,C17orf58,ENSG00000186665,protein_coding -38605,BCDIN3D,ENSG00000186666,protein_coding -25739,MAGEE2,ENSG00000186675,protein_coding -7729,CYP27C1,ENSG00000186684,protein_coding -17353,LYRM7,ENSG00000186687,protein_coding -39969,CFAP73,ENSG00000186710,protein_coding -32630,CCDC73,ENSG00000186714,protein_coding -58746,BCR,ENSG00000186716,protein_coding -55624,AC114267.1,ENSG00000186723,protein_coding -59460,MPPED1,ENSG00000186732,protein_coding -51944,FSCN2,ENSG00000186765,protein_coding -37363,FOXI2,ENSG00000186766,protein_coding -25488,SPIN4,ENSG00000186767,protein_coding -12861,ZNF732,ENSG00000186777,protein_coding -25468,SPIN2B,ENSG00000186787,protein_coding -30570,SPATA31D3,ENSG00000186788,protein_coding -1551,FOXE3,ENSG00000186790,protein_coding -10552,HYAL3,ENSG00000186792,protein_coding -37187,KCNK18,ENSG00000186795,protein_coding -29746,IFNA10,ENSG00000186803,protein_coding -57170,VSIG10L,ENSG00000186806,protein_coding -25624,CXCR3,ENSG00000186810,protein_coding -52653,ZNF397,ENSG00000186812,protein_coding -52654,ZSCAN30,ENSG00000186814,protein_coding -39977,TPCN1,ENSG00000186815,protein_coding -57452,LILRB4,ENSG00000186818,protein_coding -85,TNFRSF4,ENSG00000186827,protein_coding -50620,KRT16,ENSG00000186832,protein_coding -50839,HEXIM1,ENSG00000186834,protein_coding -56480,SELENOV,ENSG00000186838,protein_coding -3257,LCE1A,ENSG00000186844,protein_coding -50619,KRT14,ENSG00000186847,protein_coding -6867,TRABD2A,ENSG00000186854,protein_coding -50596,KRTAP17-1,ENSG00000186860,protein_coding -36926,PDZD7,ENSG00000186862,protein_coding -60468,POFUT2,ENSG00000186866,protein_coding -14591,QRFPR,ENSG00000186867,protein_coding -50877,MAPT,ENSG00000186868,protein_coding -25645,ERCC6L,ENSG00000186871,protein_coding -30997,OR13F1,ENSG00000186881,protein_coding -33009,OR5D3P,ENSG00000186886,protein_coding -6474,TMEM17,ENSG00000186889,protein_coding -84,TNFRSF18,ENSG00000186891,protein_coding -33768,FGF3,ENSG00000186895,protein_coding -38584,C1QL4,ENSG00000186897,protein_coding -33120,RTN4RL2,ENSG00000186907,protein_coding -39365,ZDHHC17,ENSG00000186908,protein_coding -43607,SERPINA11,ENSG00000186910,protein_coding -25579,P2RY4,ENSG00000186912,protein_coding -27619,ZNF395,ENSG00000186918,protein_coding -51730,ZACN,ENSG00000186919,protein_coding -60075,KRTAP22-1,ENSG00000186924,protein_coding -60070,KRTAP19-6,ENSG00000186925,protein_coding -60074,KRTAP6-2,ENSG00000186930,protein_coding -31001,OR13C8,ENSG00000186943,protein_coding -59531,PPARA,ENSG00000186951,protein_coding -17087,TMEM232,ENSG00000186952,protein_coding -60062,KRTAP19-2,ENSG00000186965,protein_coding -60064,KRTAP19-4,ENSG00000186967,protein_coding -60060,KRTAP15-1,ENSG00000186970,protein_coding -60058,KRTAP13-4,ENSG00000186971,protein_coding -1388,FAM183A,ENSG00000186973,protein_coding -59463,EFCAB6,ENSG00000186976,protein_coding -60065,KRTAP19-5,ENSG00000186977,protein_coding -60052,KRTAP23-1,ENSG00000186980,protein_coding -55203,KANK3,ENSG00000186994,protein_coding -58949,EMID1,ENSG00000186998,protein_coding -31067,ACTL7A,ENSG00000187003,protein_coding -60084,KRTAP21-1,ENSG00000187005,protein_coding -817,RHD,ENSG00000187010,protein_coding -246,ESPN,ENSG00000187017,protein_coding -37173,PNLIPRP1,ENSG00000187021,protein_coding -31380,PTRH1,ENSG00000187024,protein_coding -60083,KRTAP21-2,ENSG00000187026,protein_coding -12279,SAMD7,ENSG00000187033,protein_coding -22206,GPR141,ENSG00000187037,protein_coding -59202,TMPRSS6,ENSG00000187045,protein_coding -1533,CYP4A11,ENSG00000187048,protein_coding -33297,TMEM216,ENSG00000187049,protein_coding -59325,RPS19BP1,ENSG00000187051,protein_coding -13803,TMPRSS11A,ENSG00000187054,protein_coding -33512,TMEM262,ENSG00000187066,protein_coding -12550,C3orf70,ENSG00000187068,protein_coding -32333,TEAD1,ENSG00000187079,protein_coding -5415,OR2AK2,ENSG00000187080,protein_coding -27122,DEFB106B,ENSG00000187082,protein_coding -10173,PLCD1,ENSG00000187091,protein_coding -10264,CCK,ENSG00000187094,protein_coding -43263,ENTPD5,ENSG00000187097,protein_coding -10862,MITF,ENSG00000187098,protein_coding -43231,HEATR4,ENSG00000187105,protein_coding -39349,NAP1L1,ENSG00000187109,protein_coding -57425,LILRA5,ENSG00000187116,protein_coding -10048,CMC1,ENSG00000187118,protein_coding -36827,SLIT1,ENSG00000187122,protein_coding -8103,LYPD6,ENSG00000187123,protein_coding -35228,AKR1C1,ENSG00000187134,protein_coding -56096,VSTM2B,ENSG00000187135,protein_coding -1859,FOXD3,ENSG00000187140,protein_coding -555,SPATA21,ENSG00000187144,protein_coding -1444,RNF220,ENSG00000187147,protein_coding -34411,ANGPTL5,ENSG00000187151,protein_coding -37180,SHTN1,ENSG00000187164,protein_coding -38519,H1FNT,ENSG00000187166,protein_coding -3247,LCE4A,ENSG00000187170,protein_coding -3246,LCE2A,ENSG00000187173,protein_coding -60446,KRTAP12-1,ENSG00000187175,protein_coding -3244,LCE2C,ENSG00000187180,protein_coding -29969,AL162231.1,ENSG00000187186,protein_coding -56510,ZNF546,ENSG00000187187,protein_coding -20688,TSPYL4,ENSG00000187189,protein_coding -58194,DAZ3,ENSG00000187191,protein_coding -48105,MT1X,ENSG00000187193,protein_coding -30511,GCNT1,ENSG00000187210,protein_coding -3243,LCE2D,ENSG00000187223,protein_coding -8545,SESTD1,ENSG00000187231,protein_coding -3239,LCE3B,ENSG00000187238,protein_coding -31500,FNBP1,ENSG00000187239,protein_coding -34449,DYNC2H1,ENSG00000187240,protein_coding -50550,KRT12,ENSG00000187242,protein_coding -25332,MAGED4B,ENSG00000187243,protein_coding -56760,BCAM,ENSG00000187244,protein_coding -23030,RSBN1L,ENSG00000187257,protein_coding -22147,NPSR1,ENSG00000187258,protein_coding -24429,WDR86,ENSG00000187260,protein_coding -55366,EPOR,ENSG00000187266,protein_coding -24703,FAM9C,ENSG00000187268,protein_coding -50587,KRTAP9-8,ENSG00000187272,protein_coding -9775,CIDEC,ENSG00000187288,protein_coding -52888,DCC,ENSG00000187323,protein_coding -25768,TAF9B,ENSG00000187325,protein_coding -17690,PCDHB13,ENSG00000187372,protein_coding -23035,MAGI2,ENSG00000187391,protein_coding -32535,LUZP2,ENSG00000187398,protein_coding -23510,LHFPL3,ENSG00000187416,protein_coding -44883,CHP1,ENSG00000187446,protein_coding -57215,FPR3,ENSG00000187474,protein_coding -18939,HIST1H1T,ENSG00000187475,protein_coding -32771,C11orf96,ENSG00000187479,protein_coding -32408,KCNJ11,ENSG00000187486,protein_coding -10523,CDHR4,ENSG00000187492,protein_coding -41831,COL4A1,ENSG00000187498,protein_coding -39533,C12orf74,ENSG00000187510,protein_coding -1132,GJA4,ENSG00000187513,protein_coding -9406,PTMA,ENSG00000187514,protein_coding -24995,HYPM,ENSG00000187516,protein_coding -35411,HSPA14,ENSG00000187522,protein_coding -12676,ATP13A5,ENSG00000187527,protein_coding -51974,SIRT7,ENSG00000187531,protein_coding -13880,PRR27,ENSG00000187533,protein_coding -46568,IFT140,ENSG00000187535,protein_coding -41983,POTEG,ENSG00000187537,protein_coding -450,PRAMEF10,ENSG00000187545,protein_coding -21804,AGMO,ENSG00000187546,protein_coding -57527,SBK2,ENSG00000187550,protein_coding -36745,CYP26C1,ENSG00000187553,protein_coding -4831,TLR5,ENSG00000187554,protein_coding -46881,USP7,ENSG00000187555,protein_coding -55522,NANOS3,ENSG00000187556,protein_coding -30409,FOXD4L3,ENSG00000187559,protein_coding -18806,NHLRC1,ENSG00000187566,protein_coding -37724,DPPA3,ENSG00000187569,protein_coding -43584,COX8C,ENSG00000187581,protein_coding -63,PLEKHN1,ENSG00000187583,protein_coding -50642,ZNF385C,ENSG00000187595,protein_coding -25448,MAGEH1,ENSG00000187601,protein_coding -6717,TET3,ENSG00000187605,protein_coding -49558,ZNF286A,ENSG00000187607,protein_coding -67,ISG15,ENSG00000187608,protein_coding -31762,EXD3,ENSG00000187609,protein_coding -33024,OR5W2,ENSG00000187612,protein_coding -31592,MYMK,ENSG00000187616,protein_coding -49004,C17orf97,ENSG00000187624,protein_coding -19073,ZKSCAN4,ENSG00000187626,protein_coding -6942,RGPD1,ENSG00000187627,protein_coding -42346,DHRS4L2,ENSG00000187630,protein_coding -60,SAMD11,ENSG00000187634,protein_coding -64,PERM1,ENSG00000187642,protein_coding -55077,VMAC,ENSG00000187650,protein_coding -18013,C5orf52,ENSG00000187658,protein_coding -55821,HAPLN4,ENSG00000187664,protein_coding -10700,ERC2,ENSG00000187672,protein_coding -40855,B3GLCT,ENSG00000187676,protein_coding -17752,SPRY4,ENSG00000187678,protein_coding -25234,ERAS,ENSG00000187682,protein_coding -49593,TRPV2,ENSG00000187688,protein_coding -13889,AMTN,ENSG00000187689,protein_coding -25316,EZHIP,ENSG00000187690,protein_coding -8662,C2orf88,ENSG00000187699,protein_coding -5455,OR2T27,ENSG00000187701,protein_coding -31746,TMEM203,ENSG00000187713,protein_coding -36033,SLC18A3,ENSG00000187714,protein_coding -11593,KBTBD12,ENSG00000187715,protein_coding -45608,THSD4,ENSG00000187720,protein_coding -33913,DNAJB13,ENSG00000187726,protein_coding -145,GABRD,ENSG00000187730,protein_coding -2477,AMY1C,ENSG00000187733,protein_coding -28044,TCEA1,ENSG00000187735,protein_coding -9183,NHEJ1,ENSG00000187736,protein_coding -48969,FANCA,ENSG00000187741,protein_coding -30693,SECISBP2,ENSG00000187742,protein_coding -32119,OR52B6,ENSG00000187747,protein_coding -30629,C9orf153,ENSG00000187753,protein_coding -25359,SSX7,ENSG00000187754,protein_coding -14285,ADH1A,ENSG00000187758,protein_coding -30694,SEMA4D,ENSG00000187764,protein_coding -60438,KRTAP10-8,ENSG00000187766,protein_coding -20488,LIN28B,ENSG00000187772,protein_coding -53173,DIPK1C,ENSG00000187773,protein_coding -51837,DNAH17,ENSG00000187775,protein_coding -38591,MCRS1,ENSG00000187778,protein_coding -35904,TMEM72,ENSG00000187783,protein_coding -42681,FANCM,ENSG00000187790,protein_coding -29976,FAM205C,ENSG00000187791,protein_coding -58773,ZNF70,ENSG00000187792,protein_coding -31666,CARD9,ENSG00000187796,protein_coding -3503,PEAR1,ENSG00000187800,protein_coding -1305,ZFP69B,ENSG00000187801,protein_coding -45635,TMEM202,ENSG00000187806,protein_coding -26284,SOWAHD,ENSG00000187808,protein_coding -1308,ZFP69,ENSG00000187815,protein_coding -15395,HELT,ENSG00000187821,protein_coding -26174,RTL4,ENSG00000187823,protein_coding -49467,TMEM220,ENSG00000187824,protein_coding -6707,C2orf78,ENSG00000187833,protein_coding -18936,HIST1H1C,ENSG00000187837,protein_coding -49321,PLSCR3,ENSG00000187838,protein_coding -27785,EIF4EBP1,ENSG00000187840,protein_coding -40499,P2RX2,ENSG00000187848,protein_coding -39827,ASCL4,ENSG00000187855,protein_coding -38869,OR6C75,ENSG00000187857,protein_coding -58998,CCDC157,ENSG00000187860,protein_coding -3480,TTC24,ENSG00000187862,protein_coding -30421,FAM122A,ENSG00000187866,protein_coding -55534,PALM3,ENSG00000187867,protein_coding -19971,GFRAL,ENSG00000187871,protein_coding -1773,FYB2,ENSG00000187889,protein_coding -57519,SHISA7,ENSG00000187902,protein_coding -58548,LRRC74B,ENSG00000187905,protein_coding -37276,DMBT1,ENSG00000187908,protein_coding -55563,CLEC17A,ENSG00000187912,protein_coding -32107,OR51I2,ENSG00000187918,protein_coding -31691,LCN10,ENSG00000187922,protein_coding -704,LDLRAD2,ENSG00000187942,protein_coding -8739,C2orf66,ENSG00000187944,protein_coding -38227,OVCH1,ENSG00000187950,protein_coding -29426,CYHR1,ENSG00000187954,protein_coding -29007,COL14A1,ENSG00000187955,protein_coding -9340,DNER,ENSG00000187957,protein_coding -51614,CPSF4L,ENSG00000187959,protein_coding -62,KLHL17,ENSG00000187961,protein_coding -25716,ZCCHC13,ENSG00000187969,protein_coding -656,PLA2G2C,ENSG00000187980,protein_coding -19084,ZSCAN23,ENSG00000187987,protein_coding -56440,RINL,ENSG00000187994,protein_coding -51819,C17orf99,ENSG00000187997,protein_coding -55239,OR7D2,ENSG00000188000,protein_coding -12633,TPRG1,ENSG00000188001,protein_coding -6124,MORN2,ENSG00000188010,protein_coding -9654,RTP5,ENSG00000188011,protein_coding -3299,S100A3,ENSG00000188015,protein_coding -25461,UBQLN2,ENSG00000188021,protein_coding -40246,RILPL1,ENSG00000188026,protein_coding -55538,C19orf67,ENSG00000188032,protein_coding -55448,ZNF490,ENSG00000188033,protein_coding -24233,CLCN1,ENSG00000188037,protein_coding -48343,NRN1L,ENSG00000188038,protein_coding -55686,NWD1,ENSG00000188039,protein_coding -9497,ARL4C,ENSG00000188042,protein_coding -23739,RNF133,ENSG00000188050,protein_coding -55725,TMEM221,ENSG00000188051,protein_coding -19670,TREML4,ENSG00000188056,protein_coding -976,RAB42,ENSG00000188060,protein_coding -59517,WNT7B,ENSG00000188064,protein_coding -33430,C11orf95,ENSG00000188070,protein_coding -31798,SCGB1C1,ENSG00000188076,protein_coding -10393,PRSS45P,ENSG00000188086,protein_coding -44915,PLA2G4E,ENSG00000188089,protein_coding -3016,GPR89B,ENSG00000188092,protein_coding -46133,MESP2,ENSG00000188095,protein_coding -36610,FAM25A,ENSG00000188100,protein_coding -20039,EYS,ENSG00000188107,protein_coding -19708,C6orf132,ENSG00000188112,protein_coding -58131,DAZ1,ENSG00000188120,protein_coding -32189,OR2AG2,ENSG00000188124,protein_coding -59612,MAPK12,ENSG00000188130,protein_coding -29878,TMEM215,ENSG00000188133,protein_coding -30871,NUTM2G,ENSG00000188152,protein_coding -26125,COL4A5,ENSG00000188153,protein_coding -60436,KRTAP10-6,ENSG00000188155,protein_coding -70,AGRN,ENSG00000188157,protein_coding -24772,NHS,ENSG00000188158,protein_coding -32413,OTOG,ENSG00000188162,protein_coding -31754,FAM166A,ENSG00000188163,protein_coding -10108,TMPPE,ENSG00000188167,protein_coding -55895,ZNF626,ENSG00000188171,protein_coding -23192,HEPACAM2,ENSG00000188175,protein_coding -49176,SMTNL2,ENSG00000188176,protein_coding -7538,ZC3H6,ENSG00000188177,protein_coding -23357,LAMTOR4,ENSG00000188186,protein_coding -21566,PRKAR1B,ENSG00000188191,protein_coding -36496,NUTM2B,ENSG00000188199,protein_coding -32406,NCR3LG1,ENSG00000188211,protein_coding -47200,DCUN1D3,ENSG00000188215,protein_coding -7860,POTEE,ENSG00000188219,protein_coding -56289,AD000671.1,ENSG00000188223,protein_coding -56381,ZNF793,ENSG00000188227,protein_coding -31753,TUBB4B,ENSG00000188229,protein_coding -35938,AGAP4,ENSG00000188234,protein_coding -41432,COMMD6,ENSG00000188243,protein_coding -651,PLA2G2A,ENSG00000188257,protein_coding -59598,IL17REL,ENSG00000188263,protein_coding -45842,HYKK,ENSG00000188266,protein_coding -55573,OR7A5,ENSG00000188269,protein_coding -44861,C15orf62,ENSG00000188277,protein_coding -9127,RUFY4,ENSG00000188282,protein_coding -56368,ZNF383,ENSG00000188283,protein_coding -66,HES4,ENSG00000188290,protein_coding -56843,IGFL1,ENSG00000188293,protein_coding -5365,ZNF669,ENSG00000188295,protein_coding -54906,PEAK3,ENSG00000188305,protein_coding -12276,LRRIQ4,ENSG00000188306,protein_coding -30751,CENPP,ENSG00000188312,protein_coding -11929,PLSCR1,ENSG00000188313,protein_coding -10498,C3orf62,ENSG00000188315,protein_coding -37179,ENO4,ENSG00000188316,protein_coding -55251,ZNF559,ENSG00000188321,protein_coding -47365,SBK1,ENSG00000188322,protein_coding -38864,OR6C6,ENSG00000188324,protein_coding -56922,BSPH1,ENSG00000188334,protein_coding -10542,SLC38A3,ENSG00000188338,protein_coding -3567,OR6N2,ENSG00000188340,protein_coding -41067,GTF2F2,ENSG00000188342,protein_coding -28624,FAM92A,ENSG00000188343,protein_coding -29730,FOCAD,ENSG00000188352,protein_coding -56639,PRR19,ENSG00000188368,protein_coding -22990,ZP3,ENSG00000188372,protein_coding -36559,C10orf99,ENSG00000188373,protein_coding -38281,H3F3C,ENSG00000188375,protein_coding -29758,IFNA2,ENSG00000188379,protein_coding -37409,JAKMIP3,ENSG00000188385,protein_coding -30978,PPP3R2,ENSG00000188386,protein_coding -9653,PDCD1,ENSG00000188389,protein_coding -37847,CLEC2A,ENSG00000188393,protein_coding -31294,GPR21,ENSG00000188394,protein_coding -1461,TCTEX1D4,ENSG00000188396,protein_coding -3875,SELL,ENSG00000188404,protein_coding -24881,MAGEB5,ENSG00000188408,protein_coding -25832,CHM,ENSG00000188419,protein_coding -56825,NANOS2,ENSG00000188425,protein_coding -18658,BLOC1S5,ENSG00000188428,protein_coding -8567,CERKL,ENSG00000188452,protein_coding -45089,SLC24A5,ENSG00000188467,protein_coding -31469,IER5L,ENSG00000188483,protein_coding -34799,H2AFX,ENSG00000188486,protein_coding -32378,INSC,ENSG00000188487,protein_coding -43612,SERPINA5,ENSG00000188488,protein_coding -56545,C19orf54,ENSG00000188493,protein_coding -45520,LCTL,ENSG00000188501,protein_coding -56456,NCCRP1,ENSG00000188505,protein_coding -56265,KRTDAP,ENSG00000188508,protein_coding -14411,COL25A1,ENSG00000188517,protein_coding -49734,FAM83G,ENSG00000188522,protein_coding -31549,CFAP77,ENSG00000188523,protein_coding -780,SRSF10,ENSG00000188529,protein_coding -46454,HBA2,ENSG00000188536,protein_coding -9603,DUSP28,ENSG00000188542,protein_coding -44835,CCDC9B,ENSG00000188549,protein_coding -50725,NBR1,ENSG00000188554,protein_coding -5445,OR2G6,ENSG00000188558,protein_coding -53682,RALGAPA2,ENSG00000188559,protein_coding -31747,NDOR1,ENSG00000188566,protein_coding -18128,FBLL1,ENSG00000188573,protein_coding -20785,NKAIN2,ENSG00000188580,protein_coding -50563,KRTAP1-1,ENSG00000188581,protein_coding -11895,PAQR9,ENSG00000188582,protein_coding -4029,CLEC20A,ENSG00000188585,protein_coding -39627,CFAP54,ENSG00000188596,protein_coding -47377,CLN3,ENSG00000188603,protein_coding -2858,FAM72B,ENSG00000188610,protein_coding -36050,ASAH2,ENSG00000188611,protein_coding -51681,SUMO2,ENSG00000188612,protein_coding -37212,NANOS1,ENSG00000188613,protein_coding -37290,HMX3,ENSG00000188620,protein_coding -56834,IGFL3,ENSG00000188624,protein_coding -44562,GOLGA8M,ENSG00000188626,protein_coding -55254,ZNF177,ENSG00000188629,protein_coding -59484,RTL6,ENSG00000188636,protein_coding -2381,DPYD,ENSG00000188641,protein_coding -3302,S100A16,ENSG00000188643,protein_coding -30436,PTAR1,ENSG00000188647,protein_coding -36804,CC2D2B,ENSG00000188649,protein_coding -42060,RNASE9,ENSG00000188655,protein_coding -45938,SAXO2,ENSG00000188659,protein_coding -821,RHCE,ENSG00000188672,protein_coding -8999,C2orf80,ENSG00000188674,protein_coding -27838,IDO2,ENSG00000188676,protein_coding -59472,PARVB,ENSG00000188677,protein_coding -6728,SLC4A5,ENSG00000188687,protein_coding -37340,UROS,ENSG00000188690,protein_coding -32141,OR56A5,ENSG00000188691,protein_coding -60048,KRTAP24-1,ENSG00000188694,protein_coding -26423,ZDHHC9,ENSG00000188706,protein_coding -24375,ZBED6CL,ENSG00000188707,protein_coding -31517,QRFP,ENSG00000188710,protein_coding -36411,DUPD1,ENSG00000188716,protein_coding -16384,SMIM15,ENSG00000188725,protein_coding -12655,OSTN,ENSG00000188729,protein_coding -22418,VWC2,ENSG00000188730,protein_coding -21926,FAM221A,ENSG00000188732,protein_coding -40176,TMEM120B,ENSG00000188735,protein_coding -8611,FSIP2,ENSG00000188738,protein_coding -5146,RBM34,ENSG00000188739,protein_coding -31763,NOXA1,ENSG00000188747,protein_coding -9218,TMEM198,ENSG00000188760,protein_coding -2690,BCL2L15,ENSG00000188761,protein_coding -22894,FZD9,ENSG00000188763,protein_coding -56418,SPRED3,ENSG00000188766,protein_coding -4446,OPTC,ENSG00000188770,protein_coding -34612,PLET1,ENSG00000188771,protein_coding -27783,ADRB3,ENSG00000188778,protein_coding -45540,SKOR1,ENSG00000188779,protein_coding -855,CATSPER4,ENSG00000188782,protein_coding -4445,PRELP,ENSG00000188783,protein_coding -649,PLA2G2E,ENSG00000188784,protein_coding -57632,ZNF548,ENSG00000188785,protein_coding -1221,MTF1,ENSG00000188786,protein_coding -1296,TMCO2,ENSG00000188800,protein_coding -49483,SHISA6,ENSG00000188803,protein_coding -328,TMEM201,ENSG00000188807,protein_coding -40960,NHLRC3,ENSG00000188811,protein_coding -37291,HMX2,ENSG00000188816,protein_coding -10791,SNTN,ENSG00000188817,protein_coding -15534,ZDHHC11,ENSG00000188818,protein_coding -20696,CALHM6,ENSG00000188820,protein_coding -774,CNR2,ENSG00000188822,protein_coding -46769,SLX4,ENSG00000188827,protein_coding -26058,GLRA4,ENSG00000188828,protein_coding -31764,ENTPD8,ENSG00000188833,protein_coding -10236,RPL14,ENSG00000188846,protein_coding -13497,BEND4,ENSG00000188848,protein_coding -3790,FAM78B,ENSG00000188859,protein_coding -55426,ZNF563,ENSG00000188868,protein_coding -45924,TMC3,ENSG00000188869,protein_coding -51722,FBF1,ENSG00000188878,protein_coding -24054,KLRG2,ENSG00000188883,protein_coding -7186,ASTL,ENSG00000188886,protein_coding -50510,MSL1,ENSG00000188895,protein_coding -46947,AC099489.1,ENSG00000188897,protein_coding -38369,LRRK2,ENSG00000188906,protein_coding -34883,BSX,ENSG00000188909,protein_coding -1131,GJB3,ENSG00000188910,protein_coding -37360,INSYN2A,ENSG00000188916,protein_coding -25952,TRMT2B,ENSG00000188917,protein_coding -29734,HACD4,ENSG00000188921,protein_coding -3687,CFAP126,ENSG00000188931,protein_coding -25056,NYX,ENSG00000188937,protein_coding -30783,FAM120AOS,ENSG00000188938,protein_coding -12657,UTS2B,ENSG00000188958,protein_coding -31087,C9orf152,ENSG00000188959,protein_coding -61,NOC2L,ENSG00000188976,protein_coding -12960,MSANTD1,ENSG00000188981,protein_coding -440,AADACL3,ENSG00000188984,protein_coding -31757,NELFB,ENSG00000188986,protein_coding -38022,SLC15A5,ENSG00000188991,protein_coding -59831,LIPI,ENSG00000188992,protein_coding -13599,LRRC66,ENSG00000188993,protein_coding -20315,ZNF292,ENSG00000188994,protein_coding -18499,HUS1B,ENSG00000188996,protein_coding -34053,KCTD21,ENSG00000188997,protein_coding -56267,SBSN,ENSG00000189001,protein_coding -21071,ADAT2,ENSG00000189007,protein_coding -57466,KIR2DL4,ENSG00000189013,protein_coding -24964,MAGEB16,ENSG00000189023,protein_coding -3468,VHLL,ENSG00000189030,protein_coding -25098,DUSP21,ENSG00000189037,protein_coding -56349,ZNF567,ENSG00000189042,protein_coding -21768,NDUFA4,ENSG00000189043,protein_coding -16628,ANKDD1B,ENSG00000189045,protein_coding -39861,ALKBH2,ENSG00000189046,protein_coding -51285,RNFT1,ENSG00000189050,protein_coding -49415,RNF222,ENSG00000189051,protein_coding -56994,CGB5,ENSG00000189052,protein_coding -23507,RELN,ENSG00000189056,protein_coding -33198,FAM111B,ENSG00000189057,protein_coding -12741,APOD,ENSG00000189058,protein_coding -59231,H1F0,ENSG00000189060,protein_coding -25280,GAGE2A,ENSG00000189064,protein_coding -46950,LITAF,ENSG00000189067,protein_coding -57396,VSTM1,ENSG00000189068,protein_coding -22975,TMEM120A,ENSG00000189077,protein_coding -38443,ARID2,ENSG00000189079,protein_coding -35981,FAM25G,ENSG00000189090,protein_coding -48466,SF3B3,ENSG00000189091,protein_coding -14948,PRSS48,ENSG00000189099,protein_coding -26078,IL1RAPL2,ENSG00000189108,protein_coding -56785,BLOC1S3,ENSG00000189114,protein_coding -50936,SP6,ENSG00000189120,protein_coding -16733,ANKRD34B,ENSG00000189127,protein_coding -36519,PLAC9,ENSG00000189129,protein_coding -24957,FAM47B,ENSG00000189132,protein_coding -19074,NKAPL,ENSG00000189134,protein_coding -42664,FSCB,ENSG00000189139,protein_coding -22910,CLDN4,ENSG00000189143,protein_coding -56393,ZNF573,ENSG00000189144,protein_coding -49747,GRAPL,ENSG00000189152,protein_coding -13989,FAM47E,ENSG00000189157,protein_coding -51677,JPT1,ENSG00000189159,protein_coding -56375,ZNF527,ENSG00000189164,protein_coding -40866,ZAR1L,ENSG00000189167,protein_coding -60448,KRTAP10-12,ENSG00000189169,protein_coding -3304,S100A13,ENSG00000189171,protein_coding -35802,ZNF33A,ENSG00000189180,protein_coding -5457,OR14I1,ENSG00000189181,protein_coding -38724,KRT77,ENSG00000189182,protein_coding -14743,PCDH18,ENSG00000189184,protein_coding -24899,DCAF8L2,ENSG00000189186,protein_coding -57268,ZNF600,ENSG00000189190,protein_coding -2279,BTBD8,ENSG00000189195,protein_coding -25082,MAOA,ENSG00000189221,protein_coding -45536,C15orf61,ENSG00000189227,protein_coding -27612,NUGGC,ENSG00000189233,protein_coding -20691,TSPYL1,ENSG00000189241,protein_coding -26672,SPANXN3,ENSG00000189252,protein_coding -34230,TRIM64B,ENSG00000189253,protein_coding -779,PNRC2,ENSG00000189266,protein_coding -58765,DRICH1,ENSG00000189269,protein_coding -1128,GJB5,ENSG00000189280,protein_coding -10764,FHIT,ENSG00000189283,protein_coding -5475,ALKAL2,ENSG00000189292,protein_coding -19081,ZKSCAN3,ENSG00000189298,protein_coding -25453,FOXR2,ENSG00000189299,protein_coding -59430,RRP7A,ENSG00000189306,protein_coding -14094,LIN54,ENSG00000189308,protein_coding -37313,FAM53B,ENSG00000189319,protein_coding -23990,FAM180A,ENSG00000189320,protein_coding -19570,C6orf222,ENSG00000189325,protein_coding -26665,SPANXN4,ENSG00000189326,protein_coding -3303,S100A14,ENSG00000189334,protein_coding -489,KAZN,ENSG00000189337,protein_coding -131,SLC35E2B,ENSG00000189339,protein_coding -5975,TOGARAM2,ENSG00000189350,protein_coding -30568,SPATA31D4,ENSG00000189357,protein_coding -8671,NEMP2,ENSG00000189362,protein_coding -11541,ALG1L,ENSG00000189366,protein_coding -20819,KIAA0408,ENSG00000189367,protein_coding -25322,GSPT2,ENSG00000189369,protein_coding -49714,TBC1D28,ENSG00000189375,protein_coding -29044,C8orf76,ENSG00000189376,protein_coding -56647,CXCL17,ENSG00000189377,protein_coding -25569,OTUD6A,ENSG00000189401,protein_coding -40837,HMGB1,ENSG00000189403,protein_coding -128,MMP23B,ENSG00000189409,protein_coding -678,SH2D5,ENSG00000189410,protein_coding -26850,ZFP92,ENSG00000189420,protein_coding -57473,NCR1,ENSG00000189430,protein_coding -32340,RASSF10,ENSG00000189431,protein_coding -1129,GJB4,ENSG00000189433,protein_coding -5426,OR2L13,ENSG00000196071,protein_coding -36903,BLOC1S2,ENSG00000196072,protein_coding -54591,SYCP2,ENSG00000196074,protein_coding -56013,ZNF724,ENSG00000196081,protein_coding -12647,IL1RAP,ENSG00000196083,protein_coding -54181,PTPRT,ENSG00000196090,protein_coding -39709,MYBPC1,ENSG00000196091,protein_coding -30059,PAX5,ENSG00000196092,protein_coding -11106,OR5K4,ENSG00000196098,protein_coding -34907,OR6M1,ENSG00000196099,protein_coding -15176,SPOCK3,ENSG00000196104,protein_coding -55959,ZNF676,ENSG00000196109,protein_coding -55250,ZNF699,ENSG00000196110,protein_coding -30893,TDRD7,ENSG00000196116,protein_coding -47558,CCDC189,ENSG00000196118,protein_coding -34953,OR8A1,ENSG00000196119,protein_coding -48295,KIAA0895L,ENSG00000196123,protein_coding -19418,HLA-DRB1,ENSG00000196126,protein_coding -57295,VN1R2,ENSG00000196131,protein_coding -54744,MYT1,ENSG00000196132,protein_coding -43615,SERPINA3,ENSG00000196136,protein_coding -35232,AKR1C3,ENSG00000196139,protein_coding -8785,SPATS2L,ENSG00000196141,protein_coding -29454,ZNF250,ENSG00000196150,protein_coding -8223,WDSUB1,ENSG00000196151,protein_coding -31372,ZNF79,ENSG00000196152,protein_coding -3298,S100A4,ENSG00000196154,protein_coding -48306,PLEKHG4,ENSG00000196155,protein_coding -50579,KRTAP4-3,ENSG00000196156,protein_coding -14635,FAT4,ENSG00000196159,protein_coding -27810,C8orf86,ENSG00000196166,protein_coding -51634,KIF19,ENSG00000196169,protein_coding -3561,OR6K2,ENSG00000196171,protein_coding -56033,ZNF681,ENSG00000196172,protein_coding -37289,ACADSB,ENSG00000196177,protein_coding -1181,STK40,ENSG00000196182,protein_coding -3589,OR10J1,ENSG00000196184,protein_coding -4884,TMEM63A,ENSG00000196187,protein_coding -4525,CTSE,ENSG00000196188,protein_coding -3458,SEMA4A,ENSG00000196189,protein_coding -30037,HRCT1,ENSG00000196196,protein_coding -40596,MPHOSPH8,ENSG00000196199,protein_coding -5664,GREB1,ENSG00000196208,protein_coding -53337,SIRPB2,ENSG00000196209,protein_coding -57244,ZNF766,ENSG00000196214,protein_coding -56421,RYR1,ENSG00000196218,protein_coding -9750,SRGAP3,ENSG00000196220,protein_coding -31888,KRTAP5-3,ENSG00000196224,protein_coding -54592,FAM217B,ENSG00000196227,protein_coding -7429,SULT1C3,ENSG00000196228,protein_coding -19244,TUBB,ENSG00000196230,protein_coding -36825,LCOR,ENSG00000196233,protein_coding -56477,SUPT5H,ENSG00000196235,protein_coding -59354,XPNPEP3,ENSG00000196236,protein_coding -5440,OR2T2,ENSG00000196240,protein_coding -5388,OR2C3,ENSG00000196242,protein_coding -22722,ZNF107,ENSG00000196247,protein_coding -34914,OR10S1,ENSG00000196248,protein_coding -19260,SFTA2,ENSG00000196260,protein_coding -22344,PPIA,ENSG00000196262,protein_coding -57590,ZNF471,ENSG00000196263,protein_coding -57237,ZNF836,ENSG00000196267,protein_coding -55926,ZNF493,ENSG00000196268,protein_coding -22931,GTF2IRD2,ENSG00000196275,protein_coding -9731,GRM7,ENSG00000196277,protein_coding -19807,SUPT3H,ENSG00000196284,protein_coding -5265,BECN2,ENSG00000196289,protein_coding -8805,NIF3L1,ENSG00000196290,protein_coding -47407,ATP2A1,ENSG00000196296,protein_coding -30747,IARS,ENSG00000196305,protein_coding -30868,MFSD14C,ENSG00000196312,protein_coding -22861,POM121,ENSG00000196313,protein_coding -35078,ZBTB44,ENSG00000196323,protein_coding -24399,GIMAP5,ENSG00000196329,protein_coding -21928,STK31,ENSG00000196335,protein_coding -56997,CGB7,ENSG00000196337,protein_coding -25607,NLGN3,ENSG00000196338,protein_coding -34934,OR8D1,ENSG00000196341,protein_coding -14288,ADH7,ENSG00000196344,protein_coding -10326,ZKSCAN7,ENSG00000196345,protein_coding -55964,ZNF729,ENSG00000196350,protein_coding -4570,CD55,ENSG00000196352,protein_coding -11704,CPNE4,ENSG00000196353,protein_coding -56328,ZNF565,ENSG00000196357,protein_coding -31546,NTNG2,ENSG00000196358,protein_coding -55371,ELAVL3,ENSG00000196361,protein_coding -31605,WDR5,ENSG00000196363,protein_coding -55063,LONP1,ENSG00000196365,protein_coding -23293,TRRAP,ENSG00000196367,protein_coding -25317,NUDT11,ENSG00000196368,protein_coding -2924,SRGAP2B,ENSG00000196369,protein_coding -34343,FUT4,ENSG00000196371,protein_coding -35258,ASB13,ENSG00000196372,protein_coding -20723,SLC35F1,ENSG00000196376,protein_coding -29446,ZNF34,ENSG00000196378,protein_coding -56387,ZNF781,ENSG00000196381,protein_coding -40525,ZNF140,ENSG00000196387,protein_coding -49214,INCA1,ENSG00000196388,protein_coding -46170,ZNF774,ENSG00000196391,protein_coding -54419,PTPN1,ENSG00000196396,protein_coding -43716,EVL,ENSG00000196405,protein_coding -26655,SPANXD,ENSG00000196406,protein_coding -3211,THEM5,ENSG00000196407,protein_coding -46611,NOXO1,ENSG00000196408,protein_coding -23402,EPHB4,ENSG00000196411,protein_coding -54807,PRTN3,ENSG00000196415,protein_coding -57305,ZNF765,ENSG00000196417,protein_coding -5369,ZNF124,ENSG00000196418,protein_coding -59386,XRCC6,ENSG00000196419,protein_coding -3297,S100A5,ENSG00000196420,protein_coding -54735,C20orf204,ENSG00000196421,protein_coding -31637,PPP1R26,ENSG00000196422,protein_coding -2505,NBPF4,ENSG00000196427,protein_coding -12005,TSC22D2,ENSG00000196428,protein_coding -58887,CRYBA4,ENSG00000196431,protein_coding -24583,ASMT,ENSG00000196433,protein_coding -48567,NPIPB15,ENSG00000196436,protein_coding -56377,ZNF569,ENSG00000196437,protein_coding -25968,ARMCX4,ENSG00000196440,protein_coding -1219,YRDC,ENSG00000196449,protein_coding -24355,ZNF777,ENSG00000196453,protein_coding -11682,PIK3R4,ENSG00000196455,protein_coding -24381,ZNF775,ENSG00000196456,protein_coding -40516,ZNF605,ENSG00000196458,protein_coding -24717,TRAPPC2,ENSG00000196459,protein_coding -7312,RFX8,ENSG00000196460,protein_coding -38931,MYL6B,ENSG00000196465,protein_coding -55431,ZNF799,ENSG00000196466,protein_coding -25757,FGF16,ENSG00000196468,protein_coding -47900,SIAH1,ENSG00000196470,protein_coding -14045,GK2,ENSG00000196475,protein_coding -53301,C20orf96,ENSG00000196476,protein_coding -4731,ESRRG,ENSG00000196482,protein_coding -42367,IPO4,ENSG00000196497,protein_coding -40279,NCOR2,ENSG00000196498,protein_coding -47387,SULT1A1,ENSG00000196502,protein_coding -13691,ARL9,ENSG00000196503,protein_coding -8143,PRPF40A,ENSG00000196504,protein_coding -2783,GDAP2,ENSG00000196505,protein_coding -26052,TCEAL3,ENSG00000196507,protein_coding -39895,ANAPC7,ENSG00000196510,protein_coding -24294,TPK1,ENSG00000196511,protein_coding -1427,SLC6A9,ENSG00000196517,protein_coding -13051,AFAP1,ENSG00000196526,protein_coding -38968,NACA,ENSG00000196531,protein_coding -50054,MYO18A,ENSG00000196535,protein_coding -5441,OR2T3,ENSG00000196539,protein_coding -12197,SPTSSB,ENSG00000196542,protein_coding -49395,BORCS6,ENSG00000196544,protein_coding -46189,MAN2A2,ENSG00000196547,protein_coding -12080,MME,ENSG00000196549,protein_coding -4534,FAM72A,ENSG00000196550,protein_coding -43079,CCDC196,ENSG00000196553,protein_coding -46532,CACNA1H,ENSG00000196557,protein_coding -54348,SULF2,ENSG00000196562,protein_coding -32090,HBG2,ENSG00000196565,protein_coding -20837,LAMA2,ENSG00000196569,protein_coding -18319,PFN3,ENSG00000196570,protein_coding -59614,PLXNB2,ENSG00000196576,protein_coding -11091,OR5AC2,ENSG00000196578,protein_coding -219,AJAP1,ENSG00000196581,protein_coding -24461,XRCC2,ENSG00000196584,protein_coding -20177,MYO6,ENSG00000196586,protein_coding -59341,MRTFA,ENSG00000196588,protein_coding -55135,MBD3L2B,ENSG00000196589,protein_coding -20668,HDAC2,ENSG00000196591,protein_coding -30867,ZNF782,ENSG00000196597,protein_coding -33412,SLC22A25,ENSG00000196600,protein_coding -7792,POTEF,ENSG00000196604,protein_coding -55273,ZNF846,ENSG00000196605,protein_coding -34438,MMP1,ENSG00000196611,protein_coding -14286,ADH1B,ENSG00000196616,protein_coding -13825,UGT2B15,ENSG00000196620,protein_coding -52915,TCF4,ENSG00000196628,protein_coding -25415,WNK3,ENSG00000196632,protein_coding -23258,SDHAF3,ENSG00000196636,protein_coding -9817,HRH1,ENSG00000196639,protein_coding -31703,RABL6,ENSG00000196642,protein_coding -55421,ZNF136,ENSG00000196646,protein_coding -23314,ZKSCAN5,ENSG00000196652,protein_coding -10335,ZNF502,ENSG00000196653,protein_coding -34790,TRAPPC4,ENSG00000196655,protein_coding -8510,TTC30B,ENSG00000196659,protein_coding -4760,SLC30A10,ENSG00000196660,protein_coding -43891,TECPR2,ENSG00000196663,protein_coding -24699,TLR7,ENSG00000196664,protein_coding -32877,FAM180B,ENSG00000196666,protein_coding -18445,ZFP62,ENSG00000196670,protein_coding -47196,ERI2,ENSG00000196678,protein_coding -21898,TOMM7,ENSG00000196683,protein_coding -55650,HSH2D,ENSG00000196684,protein_coding -49135,TRPV1,ENSG00000196689,protein_coding -35840,ZNF33B,ENSG00000196693,protein_coding -54732,ZNF512B,ENSG00000196700,protein_coding -51543,AMZ2,ENSG00000196704,protein_coding -55913,ZNF431,ENSG00000196705,protein_coding -28023,ALKAL1,ENSG00000196711,protein_coding -50157,NF1,ENSG00000196712,protein_coding -22769,VKORC1L1,ENSG00000196715,protein_coding -57672,ZNF418,ENSG00000196724,protein_coding -30648,DAPK1,ENSG00000196730,protein_coding -3256,LCE1B,ENSG00000196734,protein_coding -19419,HLA-DQA1,ENSG00000196735,protein_coding -31171,COL27A1,ENSG00000196739,protein_coding -17918,GM2A,ENSG00000196743,protein_coding -19031,HIST1H2AI,ENSG00000196747,protein_coding -19557,CLPSL2,ENSG00000196748,protein_coding -3300,S100A2,ENSG00000196754,protein_coding -55399,ZNF700,ENSG00000196757,protein_coding -25811,POU3F4,ENSG00000196767,protein_coding -5404,OR14A16,ENSG00000196772,protein_coding -11226,CD47,ENSG00000196776,protein_coding -32028,OR52K1,ENSG00000196778,protein_coding -30561,TLE1,ENSG00000196781,protein_coding -14790,MAML3,ENSG00000196782,protein_coding -19000,HIST1H2AG,ENSG00000196787,protein_coding -42471,STRN3,ENSG00000196792,protein_coding -35872,ZNF239,ENSG00000196793,protein_coding -17832,SPINK14,ENSG00000196800,protein_coding -3272,SPRR2B,ENSG00000196805,protein_coding -9434,CHRNG,ENSG00000196811,protein_coding -19064,ZSCAN16,ENSG00000196812,protein_coding -31353,MVB12B,ENSG00000196814,protein_coding -19518,ILRUN,ENSG00000196821,protein_coding -55437,AC008758.1,ENSG00000196826,protein_coding -42031,OR11G2,ENSG00000196832,protein_coding -7827,POTEI,ENSG00000196834,protein_coding -54229,ADA,ENSG00000196839,protein_coding -7199,ARID5A,ENSG00000196843,protein_coding -34996,PATE2,ENSG00000196844,protein_coding -39906,PPTC7,ENSG00000196850,protein_coding -50554,KRT39,ENSG00000196859,protein_coding -42925,TOMM20L,ENSG00000196860,protein_coding -7419,RGPD4,ENSG00000196862,protein_coding -37135,NHLRC2,ENSG00000196865,protein_coding -18951,HIST1H2AD,ENSG00000196866,protein_coding -57593,ZFP28,ENSG00000196867,protein_coding -7264,KIAA1211L,ENSG00000196872,protein_coding -30407,CBWD3,ENSG00000196873,protein_coding -38668,SCN8A,ENSG00000196876,protein_coding -4610,LAMB3,ENSG00000196878,protein_coding -4978,HIST3H2BB,ENSG00000196890,protein_coding -17300,TEX43,ENSG00000196900,protein_coding -20704,KPNA5,ENSG00000196911,protein_coding -7240,ANKRD36B,ENSG00000196912,protein_coding -34843,ARHGEF12,ENSG00000196914,protein_coding -40215,HCAR1,ENSG00000196917,protein_coding -18326,PDLIM7,ENSG00000196923,protein_coding -26898,FLNA,ENSG00000196924,protein_coding -36143,TMEM26,ENSG00000196932,protein_coding -39117,SRGAP1,ENSG00000196935,protein_coding -23720,FAM3C,ENSG00000196937,protein_coding -42387,NOP9,ENSG00000196943,protein_coding -5436,OR2T4,ENSG00000196944,protein_coding -37754,ZNF705A,ENSG00000196946,protein_coding -8724,SLC39A10,ENSG00000196950,protein_coding -34469,CASP4,ENSG00000196954,protein_coding -57058,AP2A1,ENSG00000196961,protein_coding -56365,ZNF585A,ENSG00000196967,protein_coding -36381,FUT11,ENSG00000196968,protein_coding -26532,SMIM10L2B,ENSG00000196972,protein_coding -6615,ANXA4,ENSG00000196975,protein_coding -26912,LAGE3,ENSG00000196976,protein_coding -11463,WDR5B,ENSG00000196981,protein_coding -31594,FAM163B,ENSG00000196990,protein_coding -47395,NPIPB9,ENSG00000196993,protein_coding -25249,WDR45,ENSG00000196998,protein_coding -47223,METTL9,ENSG00000197006,protein_coding -22727,ZNF138,ENSG00000197008,protein_coding -55930,ZNF429,ENSG00000197013,protein_coding -57595,ZNF470,ENSG00000197016,protein_coding -56532,SERTAD1,ENSG00000197019,protein_coding -55941,ZNF100,ENSG00000197020,protein_coding -26768,CXorf40B,ENSG00000197021,protein_coding -24344,ZNF398,ENSG00000197024,protein_coding -23319,ZSCAN25,ENSG00000197037,protein_coding -17914,ANXA6,ENSG00000197043,protein_coding -55391,ZNF441,ENSG00000197044,protein_coding -42843,GMFB,ENSG00000197045,protein_coding -52755,SIGLEC15,ENSG00000197046,protein_coding -56360,ZNF420,ENSG00000197050,protein_coding -55402,ZNF763,ENSG00000197054,protein_coding -1140,ZMYM1,ENSG00000197056,protein_coding -13380,DTHD1,ENSG00000197057,protein_coding -18938,HIST1H4C,ENSG00000197061,protein_coding -19075,ZSCAN26,ENSG00000197062,protein_coding -51975,MAFG,ENSG00000197063,protein_coding -31771,ARRDC1,ENSG00000197070,protein_coding -58836,KIAA1671,ENSG00000197077,protein_coding -50610,KRT35,ENSG00000197079,protein_coding -21361,IGF2R,ENSG00000197081,protein_coding -3255,LCE1C,ENSG00000197084,protein_coding -23360,GAL3ST4,ENSG00000197093,protein_coding -43882,DYNC1H1,ENSG00000197102,protein_coding -2579,SLC6A17,ENSG00000197106,protein_coding -56459,IFNL3,ENSG00000197110,protein_coding -38772,PCBP2,ENSG00000197111,protein_coding -54708,ZGPAT,ENSG00000197114,protein_coding -43728,SLC25A29,ENSG00000197119,protein_coding -8741,PGAP1,ENSG00000197121,protein_coding -54088,SRC,ENSG00000197122,protein_coding -22704,ZNF679,ENSG00000197123,protein_coding -55861,ZNF682,ENSG00000197124,protein_coding -34946,OR8B8,ENSG00000197125,protein_coding -57641,ZNF772,ENSG00000197128,protein_coding -55952,ZNF257,ENSG00000197134,protein_coding -33564,PCNX3,ENSG00000197136,protein_coding -27824,ADAM32,ENSG00000197140,protein_coding -37110,ACSL5,ENSG00000197142,protein_coding -2238,LRRC8B,ENSG00000197147,protein_coding -24408,ABCB8,ENSG00000197150,protein_coding -19044,HIST1H3J,ENSG00000197153,protein_coding -23801,SND1,ENSG00000197157,protein_coding -47540,ZNF785,ENSG00000197162,protein_coding -47384,SULT1A2,ENSG00000197165,protein_coding -41225,NEK5,ENSG00000197168,protein_coding -51508,PSMD12,ENSG00000197170,protein_coding -26827,MAGEA6,ENSG00000197172,protein_coding -37426,ADGRA1,ENSG00000197177,protein_coding -27481,PIWIL2,ENSG00000197181,protein_coding -53921,NOL4L,ENSG00000197183,protein_coding -31750,CYSRT1,ENSG00000197191,protein_coding -17379,SLC22A4,ENSG00000197208,protein_coding -57562,ZSCAN5B,ENSG00000197213,protein_coding -27523,ENTPD4,ENSG00000197217,protein_coding -6577,C1D,ENSG00000197223,protein_coding -18414,TBC1D9B,ENSG00000197226,protein_coding -31267,OR1J2,ENSG00000197233,protein_coding -19035,HIST1H4J,ENSG00000197238,protein_coding -313,SLC2A7,ENSG00000197241,protein_coding -850,FAM110D,ENSG00000197245,protein_coding -43605,SERPINA1,ENSG00000197249,protein_coding -46538,TPSB2,ENSG00000197253,protein_coding -55351,KANK2,ENSG00000197256,protein_coding -19865,C6orf141,ENSG00000197261,protein_coding -27677,GTF2E2,ENSG00000197265,protein_coding -47379,IL27,ENSG00000197272,protein_coding -1352,GUCA2A,ENSG00000197273,protein_coding -28645,RAD54B,ENSG00000197275,protein_coding -19061,ZNF165,ENSG00000197279,protein_coding -19483,SYNGAP1,ENSG00000197283,protein_coding -54216,FITM2,ENSG00000197296,protein_coding -46182,BLM,ENSG00000197299,protein_coding -47640,ZNF720,ENSG00000197302,protein_coding -34926,OR10D3,ENSG00000197309,protein_coding -517,DDI2,ENSG00000197312,protein_coding -35653,SVIL,ENSG00000197321,protein_coding -2702,TRIM33,ENSG00000197323,protein_coding -42285,LRP10,ENSG00000197324,protein_coding -6505,PELI1,ENSG00000197329,protein_coding -23316,ZNF655,ENSG00000197343,protein_coding -33740,MRPL21,ENSG00000197345,protein_coding -29313,LYPD2,ENSG00000197353,protein_coding -31733,UAP1L1,ENSG00000197355,protein_coding -55968,ZNF98,ENSG00000197360,protein_coding -45421,FBXL22,ENSG00000197361,protein_coding -24341,ZNF786,ENSG00000197362,protein_coding -29450,ZNF517,ENSG00000197363,protein_coding -3292,S100A7L2,ENSG00000197364,protein_coding -56029,ZNF675,ENSG00000197372,protein_coding -17382,SLC22A5,ENSG00000197375,protein_coding -56866,DACT3,ENSG00000197380,protein_coding -60465,ADARB1,ENSG00000197381,protein_coding -10079,ZNF860,ENSG00000197385,protein_coding -12955,HTT,ENSG00000197386,protein_coding -3565,OR6N1,ENSG00000197403,protein_coding -56893,C5AR1,ENSG00000197405,protein_coding -43870,DIO3,ENSG00000197406,protein_coding -56564,CYP2B6,ENSG00000197408,protein_coding -18950,HIST1H3D,ENSG00000197409,protein_coding -15005,DCHS2,ENSG00000197410,protein_coding -12133,VEPH1,ENSG00000197415,protein_coding -28469,FABP12,ENSG00000197416,protein_coding -49139,SHPK,ENSG00000197417,protein_coding -32035,OR51D1,ENSG00000197428,protein_coding -1496,IPP,ENSG00000197429,protein_coding -36815,OPALIN,ENSG00000197430,protein_coding -5397,OR13G1,ENSG00000197437,protein_coding -20977,MAP3K5,ENSG00000197442,protein_coding -36035,OGDHL,ENSG00000197444,protein_coding -56569,CYP2F1,ENSG00000197446,protein_coding -24226,GSTK1,ENSG00000197448,protein_coding -18355,HNRNPAB,ENSG00000197451,protein_coding -5420,OR2L5,ENSG00000197454,protein_coding -54703,STMN3,ENSG00000197457,protein_coding -21564,PDGFA,ENSG00000197461,protein_coding -14843,GYPE,ENSG00000197465,protein_coding -36268,COL13A1,ENSG00000197467,protein_coding -47455,SPN,ENSG00000197471,protein_coding -5359,ZNF695,ENSG00000197472,protein_coding -17688,PCDHB11,ENSG00000197479,protein_coding -57524,ZNF628,ENSG00000197483,protein_coding -57561,GALP,ENSG00000197487,protein_coding -54329,SLC2A10,ENSG00000197496,protein_coding -57289,ZNF665,ENSG00000197497,protein_coding -20614,RPF2,ENSG00000197498,protein_coding -30608,SLC28A3,ENSG00000197506,protein_coding -4824,FAM177B,ENSG00000197520,protein_coding -127,MIB2,ENSG00000197530,protein_coding -3555,OR6Y1,ENSG00000197532,protein_coding -45206,MYO5A,ENSG00000197535,protein_coding -54785,GZMM,ENSG00000197540,protein_coding -9820,ATG7,ENSG00000197548,protein_coding -43197,SIPA1L1,ENSG00000197555,protein_coding -8512,TTC30A,ENSG00000197557,protein_coding -24360,SSPO,ENSG00000197558,protein_coding -54808,ELANE,ENSG00000197561,protein_coding -46485,RAB40C,ENSG00000197562,protein_coding -53033,PIGN,ENSG00000197563,protein_coding -26123,COL4A6,ENSG00000197565,protein_coding -49605,ZNF624,ENSG00000197566,protein_coding -1978,HHLA3,ENSG00000197568,protein_coding -21990,HOXA4,ENSG00000197576,protein_coding -29869,TOPORS,ENSG00000197579,protein_coding -34606,BCO2,ENSG00000197580,protein_coding -12392,KCNMB2,ENSG00000197584,protein_coding -53795,ENTPD6,ENSG00000197586,protein_coding -1518,DMBX1,ENSG00000197587,protein_coding -5407,OR11L1,ENSG00000197591,protein_coding -20868,ENPP1,ENSG00000197594,protein_coding -46559,CCDC154,ENSG00000197599,protein_coding -32351,FAR1,ENSG00000197601,protein_coding -16071,CPLANE1,ENSG00000197603,protein_coding -57231,ZNF841,ENSG00000197608,protein_coding -37789,MFAP5,ENSG00000197614,protein_coding -42322,MYH6,ENSG00000197616,protein_coding -57226,ZNF615,ENSG00000197619,protein_coding -26750,CXorf40A,ENSG00000197620,protein_coding -3158,CDC42SE1,ENSG00000197622,protein_coding -33203,MPEG1,ENSG00000197629,protein_coding -53066,SERPINB2,ENSG00000197632,protein_coding -8266,DPP4,ENSG00000197635,protein_coding -53061,SERPINB13,ENSG00000197641,protein_coding -29564,PDCD1LG2,ENSG00000197646,protein_coding -55406,ZNF433,ENSG00000197647,protein_coding -39505,CCER1,ENSG00000197651,protein_coding -40264,DNAH10,ENSG00000197653,protein_coding -33409,SLC22A24,ENSG00000197658,protein_coding -32039,OR51C1P,ENSG00000197674,protein_coding -60050,KRTAP26-1,ENSG00000197683,protein_coding -31437,SPTAN1,ENSG00000197694,protein_coding -46025,NMB,ENSG00000197696,protein_coding -32330,PARVA,ENSG00000197702,protein_coding -52633,KLHL14,ENSG00000197705,protein_coding -38861,OR6C74,ENSG00000197706,protein_coding -13417,FAM114A1,ENSG00000197712,protein_coding -9022,RPE,ENSG00000197713,protein_coding -57622,ZNF460,ENSG00000197714,protein_coding -4575,CR1L,ENSG00000197721,protein_coding -30785,PHF2,ENSG00000197724,protein_coding -38920,RPS26,ENSG00000197728,protein_coding -43389,C14orf178,ENSG00000197734,protein_coding -33340,SCGB1D4,ENSG00000197745,protein_coding -36303,PSAP,ENSG00000197746,protein_coding -3216,S100A10,ENSG00000197747,protein_coding -37031,CFAP43,ENSG00000197748,protein_coding -19560,LHFPL5,ENSG00000197753,protein_coding -9098,RPL37A,ENSG00000197756,protein_coding -38803,HOXC6,ENSG00000197757,protein_coding -11564,TXNRD3,ENSG00000197763,protein_coding -54809,CFD,ENSG00000197766,protein_coding -31756,STPG3,ENSG00000197768,protein_coding -5267,MAP1LC3C,ENSG00000197769,protein_coding -37236,MCMBP,ENSG00000197771,protein_coding -46588,EME2,ENSG00000197774,protein_coding -42728,KLHDC1,ENSG00000197776,protein_coding -25172,ZNF81,ENSG00000197779,protein_coding -2532,TAF13,ENSG00000197780,protein_coding -56514,ZNF780A,ENSG00000197782,protein_coding -119,ATAD3A,ENSG00000197785,protein_coding -33169,OR5B17,ENSG00000197786,protein_coding -32030,OR52M1,ENSG00000197790,protein_coding -35014,FAM118B,ENSG00000197798,protein_coding -56346,ZNF461,ENSG00000197808,protein_coding -30889,CCDC180,ENSG00000197816,protein_coding -54396,SLC9A8,ENSG00000197818,protein_coding -16504,OCLN,ENSG00000197822,protein_coding -14058,CFAP299,ENSG00000197826,protein_coding -37996,HIST4H4,ENSG00000197837,protein_coding -56568,CYP2A13,ENSG00000197838,protein_coding -56213,ZNF181,ENSG00000197841,protein_coding -34931,OR8G1,ENSG00000197849,protein_coding -2642,INKA2,ENSG00000197852,protein_coding -55423,ZNF44,ENSG00000197857,protein_coding -29395,GPAA1,ENSG00000197858,protein_coding -31593,ADAMTSL2,ENSG00000197859,protein_coding -16435,SGTB,ENSG00000197860,protein_coding -56354,ZNF790,ENSG00000197863,protein_coding -37914,PRB3,ENSG00000197870,protein_coding -5727,FAM49A,ENSG00000197872,protein_coding -49037,MYO1C,ENSG00000197879,protein_coding -9996,NKIRAS1,ENSG00000197885,protein_coding -33159,OR1S2,ENSG00000197887,protein_coding -13821,UGT2B17,ENSG00000197888,protein_coding -35415,MEIG1,ENSG00000197889,protein_coding -33481,SLC22A12,ENSG00000197891,protein_coding -27638,KIF13B,ENSG00000197892,protein_coding -37128,NRAP,ENSG00000197893,protein_coding -14280,ADH5,ENSG00000197894,protein_coding -33404,SLC22A6,ENSG00000197901,protein_coding -19002,HIST1H2BK,ENSG00000197903,protein_coding -37559,TEAD4,ENSG00000197905,protein_coding -48954,SPG7,ENSG00000197912,protein_coding -3229,HRNR,ENSG00000197915,protein_coding -29765,IFNA1,ENSG00000197919,protein_coding -164,HES5,ENSG00000197921,protein_coding -57293,ZNF677,ENSG00000197928,protein_coding -42813,ERO1A,ENSG00000197930,protein_coding -55388,ZNF823,ENSG00000197933,protein_coding -19110,ZNF311,ENSG00000197935,protein_coding -57288,ZNF347,ENSG00000197937,protein_coding -11104,OR5H2,ENSG00000197938,protein_coding -48735,PLCG2,ENSG00000197943,protein_coding -17735,FCHSD1,ENSG00000197948,protein_coding -57597,ZNF71,ENSG00000197951,protein_coding -12036,AADACL2,ENSG00000197953,protein_coding -3296,S100A6,ENSG00000197956,protein_coding -31373,RPL12,ENSG00000197958,protein_coding -3929,DNM3,ENSG00000197959,protein_coding -55264,ZNF121,ENSG00000197961,protein_coding -3828,MPZL1,ENSG00000197965,protein_coding -30526,VPS13A,ENSG00000197969,protein_coding -53228,MBP,ENSG00000197971,protein_coding -24582,AKAP17A,ENSG00000197976,protein_coding -18701,ELOVL2,ENSG00000197977,protein_coding -45944,GOLGA6L9,ENSG00000197978,protein_coding -12118,LEKR1,ENSG00000197980,protein_coding -1220,C1orf122,ENSG00000197982,protein_coding -41316,AL592490.1,ENSG00000197991,protein_coding -37854,CLEC9A,ENSG00000197992,protein_coding -24216,KEL,ENSG00000197993,protein_coding -30750,NOL8,ENSG00000198000,protein_coding -38419,IRAK4,ENSG00000198001,protein_coding -55369,CCDC151,ENSG00000198003,protein_coding -27002,DLGAP2,ENSG00000198010,protein_coding -39552,MRPL42,ENSG00000198015,protein_coding -36883,ENTPD7,ENSG00000198018,protein_coding -2851,FCGR1B,ENSG00000198019,protein_coding -26652,SPANXA1,ENSG00000198021,protein_coding -54306,ZNF335,ENSG00000198026,protein_coding -55258,ZNF560,ENSG00000198028,protein_coding -40579,TUBA3C,ENSG00000198033,protein_coding -25646,RPS4X,ENSG00000198034,protein_coding -22733,AC092161.1,ENSG00000198039,protein_coding -40522,ZNF84,ENSG00000198040,protein_coding -27716,MAK16,ENSG00000198042,protein_coding -57586,ZNF667,ENSG00000198046,protein_coding -4529,AVPR1B,ENSG00000198049,protein_coding -53354,SIRPA,ENSG00000198053,protein_coding -18321,GRK6,ENSG00000198055,protein_coding -38970,PRIM1,ENSG00000198056,protein_coding -36731,MARCH5,ENSG00000198060,protein_coding -58291,POTEH,ENSG00000198062,protein_coding -47508,NPIPB13,ENSG00000198064,protein_coding -23963,AKR1B10,ENSG00000198074,protein_coding -7435,SULT1C4,ENSG00000198075,protein_coding -56559,CYP2A7,ENSG00000198077,protein_coding -52165,ZBTB14,ENSG00000198081,protein_coding -50589,KRTAP9-9,ENSG00000198083,protein_coding -19840,CD2AP,ENSG00000198087,protein_coding -26102,NUP62CL,ENSG00000198088,protein_coding -59058,SFI1,ENSG00000198089,protein_coding -50576,KRTAP4-6,ENSG00000198090,protein_coding -13808,TMPRSS11F,ENSG00000198092,protein_coding -57221,ZNF649,ENSG00000198093,protein_coding -14282,ADH4,ENSG00000198099,protein_coding -5437,OR2T6,ENSG00000198104,protein_coding -35792,ZNF248,ENSG00000198105,protein_coding -17341,CHSY3,ENSG00000198108,protein_coding -31758,TOR4A,ENSG00000198113,protein_coding -31095,LPAR1,ENSG00000198121,protein_coding -59147,MB,ENSG00000198125,protein_coding -5424,OR2L3,ENSG00000198128,protein_coding -27124,DEFB107B,ENSG00000198129,protein_coding -8667,HIBCH,ENSG00000198130,protein_coding -57693,ZNF544,ENSG00000198131,protein_coding -43092,TMEM229B,ENSG00000198133,protein_coding -7456,SOWAHC,ENSG00000198142,protein_coding -44738,ZNF770,ENSG00000198146,protein_coding -47368,NPIPB6,ENSG00000198156,protein_coding -25798,HMGN5,ENSG00000198157,protein_coding -1924,MIER1,ENSG00000198160,protein_coding -2774,MAN1A2,ENSG00000198162,protein_coding -32519,SVIP,ENSG00000198168,protein_coding -29445,ZNF251,ENSG00000198169,protein_coding -53398,DDRGK1,ENSG00000198171,protein_coding -24977,FAM47C,ENSG00000198173,protein_coding -41906,TFDP1,ENSG00000198176,protein_coding -37725,CLEC4C,ENSG00000198178,protein_coding -56390,ZNF607,ENSG00000198182,protein_coding -53948,BPIFA1,ENSG00000198183,protein_coding -54323,ZNF334,ENSG00000198185,protein_coding -14153,HSD17B11,ENSG00000198189,protein_coding -1404,SZT2,ENSG00000198198,protein_coding -7431,SULT1C2,ENSG00000198203,protein_coding -25478,ZXDA,ENSG00000198205,protein_coding -43294,RPS6KL1,ENSG00000198208,protein_coding -48974,AC092143.1,ENSG00000198211,protein_coding -4099,CACNA1E,ENSG00000198216,protein_coding -10485,QRICH1,ENSG00000198218,protein_coding -24573,CSF2RA,ENSG00000198223,protein_coding -20024,FKBP1C,ENSG00000198225,protein_coding -51408,DDX42,ENSG00000198231,protein_coding -50019,RPL23A,ENSG00000198242,protein_coding -36296,SLC29A3,ENSG00000198246,protein_coding -42816,STYX,ENSG00000198252,protein_coding -55280,UBL5,ENSG00000198258,protein_coding -51500,HELZ,ENSG00000198265,protein_coding -39940,TMEM116,ENSG00000198270,protein_coding -50577,KRTAP4-5,ENSG00000198271,protein_coding -54728,UCKL1,ENSG00000198276,protein_coding -33177,OR5B21,ENSG00000198283,protein_coding -21625,CARD11,ENSG00000198286,protein_coding -35875,ZNF485,ENSG00000198298,protein_coding -57605,PEG3,ENSG00000198300,protein_coding -13979,SDAD1,ENSG00000198301,protein_coding -19066,ZKSCAN8,ENSG00000198315,protein_coding -39921,PHETA1,ENSG00000198324,protein_coding -53385,TMEM239,ENSG00000198326,protein_coding -35000,HYLS1,ENSG00000198331,protein_coding -50916,MYL4,ENSG00000198336,protein_coding -55427,ZNF442,ENSG00000198342,protein_coding -57312,ZNF813,ENSG00000198346,protein_coding -38809,HOXC4,ENSG00000198353,protein_coding -26388,DCAF12L2,ENSG00000198354,protein_coding -59596,PIM3,ENSG00000198355,protein_coding -55467,ASNA1,ENSG00000198356,protein_coding -28161,ASPH,ENSG00000198363,protein_coding -6542,SPRED2,ENSG00000198369,protein_coding -48437,WWP2,ENSG00000198373,protein_coding -6607,GFPT1,ENSG00000198380,protein_coding -33990,UVRAG,ENSG00000198382,protein_coding -60056,KRTAP13-1,ENSG00000198390,protein_coding -40518,ZNF26,ENSG00000198393,protein_coding -12646,TMEM207,ENSG00000198398,protein_coding -5835,ITSN2,ENSG00000198399,protein_coding -3501,NTRK1,ENSG00000198400,protein_coding -36952,OGA,ENSG00000198408,protein_coding -48101,MT1F,ENSG00000198417,protein_coding -24261,TCAF1,ENSG00000198420,protein_coding -55398,ZNF69,ENSG00000198429,protein_coding -39771,TXNRD1,ENSG00000198431,protein_coding -31761,NRARP,ENSG00000198435,protein_coding -57585,ZNF583,ENSG00000198440,protein_coding -50581,KRTAP4-1,ENSG00000198443,protein_coding -58316,CCT8L2,ENSG00000198445,protein_coding -56359,ZNF568,ENSG00000198453,protein_coding -25475,ZXDB,ENSG00000198455,protein_coding -57247,ZNF480,ENSG00000198464,protein_coding -57667,ZNF587,ENSG00000198466,protein_coding -30018,TPM2,ENSG00000198467,protein_coding -12617,RTP2,ENSG00000198471,protein_coding -20214,SH3BGRL2,ENSG00000198478,protein_coding -57259,ZNF808,ENSG00000198482,protein_coding -2954,ANKRD35,ENSG00000198483,protein_coding -34020,B3GNT6,ENSG00000198488,protein_coding -982,YTHDF2,ENSG00000198492,protein_coding -15127,TMA16,ENSG00000198498,protein_coding -19415,HLA-DRB5,ENSG00000198502,protein_coding -42759,ATL1,ENSG00000198513,protein_coding -13558,CNGA1,ENSG00000198515,protein_coding -21593,MAFK,ENSG00000198517,protein_coding -1447,ARMH1,ENSG00000198520,protein_coding -55945,ZNF43,ENSG00000198521,protein_coding -5942,GPN1,ENSG00000198522,protein_coding -20728,PLN,ENSG00000198523,protein_coding -45385,C2CD4A,ENSG00000198535,protein_coding -57269,ZNF28,ENSG00000198538,protein_coding -41736,ITGBL1,ENSG00000198542,protein_coding -37438,ZNF511,ENSG00000198546,protein_coding -53928,C20orf203,ENSG00000198547,protein_coding -55381,ZNF627,ENSG00000198551,protein_coding -41173,KCNRG,ENSG00000198553,protein_coding -42851,WDHD1,ENSG00000198554,protein_coding -23312,ZNF789,ENSG00000198556,protein_coding -33141,CTNND1,ENSG00000198561,protein_coding -19311,DDX39B,ENSG00000198563,protein_coding -31752,SLC34A3,ENSG00000198569,protein_coding -4646,RD3,ENSG00000198570,protein_coding -26649,SPANXC,ENSG00000198573,protein_coding -3728,SH2D1B,ENSG00000198574,protein_coding -29303,ARC,ENSG00000198576,protein_coding -11698,NUDT16,ENSG00000198585,protein_coding -8370,TLK1,ENSG00000198586,protein_coding -14935,LRBA,ENSG00000198589,protein_coding -56114,ZNF536,ENSG00000198597,protein_coding -40459,MMP17,ENSG00000198598,protein_coding -5429,OR2M2,ENSG00000198601,protein_coding -42532,BAZ1A,ENSG00000198604,protein_coding -35236,AKR1C4,ENSG00000198610,protein_coding -9525,COPS8,ENSG00000198612,protein_coding -17917,CCDC69,ENSG00000198624,protein_coding -4478,MDM4,ENSG00000198625,protein_coding -5196,RYR2,ENSG00000198626,protein_coding -57255,ZNF534,ENSG00000198633,protein_coding -29755,KLHL9,ENSG00000198642,protein_coding -10756,FAM3D,ENSG00000198643,protein_coding -53997,NCOA6,ENSG00000198646,protein_coding -8320,STK39,ENSG00000198648,protein_coding -48500,TAT,ENSG00000198650,protein_coding -19592,C6orf89,ENSG00000198663,protein_coding -43521,CALM1,ENSG00000198668,protein_coding -21371,LPA,ENSG00000198670,protein_coding -39078,TAFA2,ENSG00000198673,protein_coding -34915,OR10G6,ENSG00000198674,protein_coding -16917,TTC37,ENSG00000198677,protein_coding -38535,OR5BS1P,ENSG00000198678,protein_coding -29809,TUSC1,ENSG00000198680,protein_coding -26840,MAGEA1,ENSG00000198681,protein_coding -36634,PAPSS2,ENSG00000198682,protein_coding -26573,SLC9A6,ENSG00000198689,protein_coding -44641,FAN1,ENSG00000198690,protein_coding -2336,ABCA4,ENSG00000198691,protein_coding -58054,EIF1AY,ENSG00000198692,protein_coding -60553,MT-ND6,ENSG00000198695,protein_coding -4380,IPO9,ENSG00000198700,protein_coding -19089,GPX6,ENSG00000198704,protein_coding -39466,CEP290,ENSG00000198707,protein_coding -60539,MT-CO2,ENSG00000198712,protein_coding -3467,GLMP,ENSG00000198715,protein_coding -42674,TOGARAM1,ENSG00000198718,protein_coding -21528,DLL1,ENSG00000198719,protein_coding -50074,ANKRD13B,ENSG00000198720,protein_coding -18579,ECI2,ENSG00000198721,protein_coding -29997,UNC13B,ENSG00000198722,protein_coding -55147,TEX45,ENSG00000198723,protein_coding -60555,MT-CYB,ENSG00000198727,protein_coding -36961,LDB1,ENSG00000198728,protein_coding -21191,PPP1R14C,ENSG00000198729,protein_coding -32299,CTR9,ENSG00000198730,protein_coding -43156,SMOC1,ENSG00000198732,protein_coding -3872,F5,ENSG00000198734,protein_coding -46599,MSRB1,ENSG00000198736,protein_coding -36192,LRRTM3,ENSG00000198739,protein_coding -51023,ZNF652,ENSG00000198740,protein_coding -23297,SMURF1,ENSG00000198742,protein_coding -60168,SLC5A3,ENSG00000198743,protein_coding -889,GPATCH3,ENSG00000198746,protein_coding -43904,CDC42BPB,ENSG00000198752,protein_coding -26867,PLXNB3,ENSG00000198753,protein_coding -1278,OXCT2,ENSG00000198754,protein_coding -19543,RPL10A,ENSG00000198755,protein_coding -4153,COLGALT2,ENSG00000198756,protein_coding -2567,EPS8L3,ENSG00000198758,protein_coding -24711,EGFL6,ENSG00000198759,protein_coding -60530,MT-ND2,ENSG00000198763,protein_coding -2716,SYCP1,ENSG00000198765,protein_coding -54550,APCDD1L,ENSG00000198768,protein_coding -3827,RCSD1,ENSG00000198771,protein_coding -39448,RASSF9,ENSG00000198774,protein_coding -16605,FAM169A,ENSG00000198780,protein_coding -50273,ZNF830,ENSG00000198783,protein_coding -30977,GRIN3A,ENSG00000198785,protein_coding -60552,MT-ND5,ENSG00000198786,protein_coding -31871,MUC2,ENSG00000198788,protein_coding -27387,CNOT7,ENSG00000198791,protein_coding -59258,TMEM184B,ENSG00000198792,protein_coding -380,MTOR,ENSG00000198793,protein_coding -45723,SCAMP5,ENSG00000198794,protein_coding -52526,ZNF521,ENSG00000198795,protein_coding -52967,ALPK2,ENSG00000198796,protein_coding -4017,BRINP2,ENSG00000198797,protein_coding -24920,MAGEB3,ENSG00000198798,protein_coding -2677,LRIG2,ENSG00000198799,protein_coding -60536,MT-CO1,ENSG00000198804,protein_coding -42055,PNP,ENSG00000198805,protein_coding -42588,PAX9,ENSG00000198807,protein_coding -39258,LRRC10,ENSG00000198812,protein_coding -24928,GK,ENSG00000198814,protein_coding -1353,FOXJ3,ENSG00000198815,protein_coding -55149,ZNF358,ENSG00000198816,protein_coding -21433,SFT2D1,ENSG00000198818,protein_coding -3819,CD247,ENSG00000198821,protein_coding -23099,GRM3,ENSG00000198822,protein_coding -41930,CHAMP1,ENSG00000198824,protein_coding -37232,INPP5F,ENSG00000198825,protein_coding -44683,ARHGAP11A,ENSG00000198826,protein_coding -12042,SUCNR1,ENSG00000198829,protein_coding -870,HMGN2,ENSG00000198830,protein_coding -59037,SELENOM,ENSG00000198832,protein_coding -20359,UBE2J1,ENSG00000198833,protein_coding -4960,GJC2,ENSG00000198835,protein_coding -12681,OPA1,ENSG00000198836,protein_coding -3326,DENND4B,ENSG00000198837,protein_coding -44696,RYR3,ENSG00000198838,protein_coding -23606,ZNF277,ENSG00000198839,protein_coding -60545,MT-ND3,ENSG00000198840,protein_coding -1637,KTI12,ENSG00000198841,protein_coding -3813,DUSP27,ENSG00000198842,protein_coding -12008,SELENOT,ENSG00000198843,protein_coding -49406,ARHGEF15,ENSG00000198844,protein_coding -28129,TOX,ENSG00000198846,protein_coding -48070,CES1,ENSG00000198848,protein_coding -34743,CD3E,ENSG00000198851,protein_coding -30001,RUSC2,ENSG00000198853,protein_coding -3248,C1orf68,ENSG00000198854,protein_coding -39838,FICD,ENSG00000198855,protein_coding -14405,OSTC,ENSG00000198856,protein_coding -54812,R3HDM4,ENSG00000198858,protein_coding -4154,TSEN15,ENSG00000198860,protein_coding -60019,LTN1,ENSG00000198862,protein_coding -50712,RUNDC1,ENSG00000198863,protein_coding -16155,CCDC152,ENSG00000198865,protein_coding -31587,STKLD1,ENSG00000198870,protein_coding -37220,GRK5,ENSG00000198873,protein_coding -22812,TYW1,ENSG00000198874,protein_coding -29937,DCAF12,ENSG00000198876,protein_coding -35295,SFMBT2,ENSG00000198879,protein_coding -25499,ASB12,ENSG00000198881,protein_coding -26833,PNMA5,ENSG00000198883,protein_coding -7195,ITPRIPL1,ENSG00000198885,protein_coding -60548,MT-ND4,ENSG00000198886,protein_coding -30445,SMC5,ENSG00000198887,protein_coding -60526,MT-ND1,ENSG00000198888,protein_coding -26393,DCAF12L1,ENSG00000198889,protein_coding -2495,PRMT6,ENSG00000198890,protein_coding -4382,SHISA4,ENSG00000198892,protein_coding -43362,CIPC,ENSG00000198894,protein_coding -23659,CAPZA2,ENSG00000198898,protein_coding -60542,MT-ATP6,ENSG00000198899,protein_coding -54160,TOP1,ENSG00000198900,protein_coding -46195,PRC1,ENSG00000198901,protein_coding -26016,BHLHB9,ENSG00000198908,protein_coding -51401,MAP3K3,ENSG00000198909,protein_coding -26873,L1CAM,ENSG00000198910,protein_coding -59398,SREBF2,ENSG00000198911,protein_coding -208,C1orf174,ENSG00000198912,protein_coding -7368,POU3F3,ENSG00000198914,protein_coding -35861,RASGEF1A,ENSG00000198915,protein_coding -31452,SPOUT1,ENSG00000198917,protein_coding -26285,RPL39,ENSG00000198918,protein_coding -11236,DZIP3,ENSG00000198919,protein_coding -49256,KIAA0753,ENSG00000198920,protein_coding -37134,DCLRE1A,ENSG00000198924,protein_coding -9193,ATG9A,ENSG00000198925,protein_coding -3719,NOS1AP,ENSG00000198929,protein_coding -26821,CSAG1,ENSG00000198930,protein_coding -48927,APRT,ENSG00000198931,protein_coding -26010,GPRASP1,ENSG00000198932,protein_coding -50930,TBKBP1,ENSG00000198933,protein_coding -25749,MAGEE1,ENSG00000198934,protein_coding -19608,CCDC167,ENSG00000198937,protein_coding -60543,MT-CO3,ENSG00000198938,protein_coding -18374,ZFP2,ENSG00000198939,protein_coding -17398,SOWAHA,ENSG00000198944,protein_coding -20849,L3MBTL3,ENSG00000198945,protein_coding -24937,DMD,ENSG00000198947,protein_coding -15215,MFAP3L,ENSG00000198948,protein_coding -59409,NAGA,ENSG00000198951,protein_coding -3465,SMG5,ENSG00000198952,protein_coding -36240,KIF1BP,ENSG00000198954,protein_coding -54105,TGM2,ENSG00000198959,protein_coding -25973,ARMCX6,ENSG00000198960,protein_coding -17075,PJA2,ENSG00000198961,protein_coding -30488,RORB,ENSG00000198963,protein_coding -36052,SGMS1,ENSG00000198964,protein_coding -3550,OR10R2,ENSG00000198965,protein_coding -3558,OR10Z1,ENSG00000198967,protein_coding -57303,ZNF525,ENSG00000203326,protein_coding -43972,INF2,ENSG00000203485,protein_coding -29372,IQANK1,ENSG00000203499,protein_coding -42484,AL139353.1,ENSG00000203546,protein_coding -58471,GP1BB,ENSG00000203618,protein_coding -5443,OR2T5,ENSG00000203661,protein_coding -5422,OR2L2,ENSG00000203663,protein_coding -5324,EFCAB2,ENSG00000203666,protein_coding -5318,COX20,ENSG00000203667,protein_coding -5259,CHML,ENSG00000203668,protein_coding -4910,STUM,ENSG00000203685,protein_coding -21466,TCP10,ENSG00000203690,protein_coding -4837,CAPN8,ENSG00000203697,protein_coding -4690,TATDN3,ENSG00000203705,protein_coding -4573,CR1,ENSG00000203710,protein_coding -21178,RAET1G,ENSG00000203722,protein_coding -4307,C1orf53,ENSG00000203724,protein_coding -21127,SAMD5,ENSG00000203727,protein_coding -4115,TEDDM1,ENSG00000203730,protein_coding -21053,GJE1,ENSG00000203733,protein_coding -21019,ECT2L,ENSG00000203734,protein_coding -3979,GPR52,ENSG00000203737,protein_coding -3886,METTL11B,ENSG00000203740,protein_coding -3700,FCGR3A,ENSG00000203747,protein_coding -20848,TMEM244,ENSG00000203756,protein_coding -3562,OR6K3,ENSG00000203757,protein_coding -20804,CENPW,ENSG00000203760,protein_coding -37451,SPRN,ENSG00000203772,protein_coding -20637,FAM229B,ENSG00000203778,protein_coding -37346,FANK1,ENSG00000203780,protein_coding -3281,LOR,ENSG00000203782,protein_coding -3279,PRR9,ENSG00000203783,protein_coding -3278,LELP1,ENSG00000203784,protein_coding -3273,SPRR2E,ENSG00000203785,protein_coding -3251,KPRP,ENSG00000203786,protein_coding -37316,EEF1AKMT2,ENSG00000203791,protein_coding -37285,FAM24A,ENSG00000203795,protein_coding -20596,DDO,ENSG00000203797,protein_coding -37243,PLPP4,ENSG00000203805,protein_coding -3090,HIST2H3C,ENSG00000203811,protein_coding -3091,HIST2H2AA3,ENSG00000203812,protein_coding -3086,HIST2H2BF,ENSG00000203814,protein_coding -37168,PNLIPRP3,ENSG00000203837,protein_coding -3095,HIST2H3A,ENSG00000203852,protein_coding -2810,HSD3B1,ENSG00000203857,protein_coding -2804,HSD3B2,ENSG00000203859,protein_coding -37086,RBM20,ENSG00000203867,protein_coding -26939,SMIM9,ENSG00000203870,protein_coding -20320,C6orf163,ENSG00000203872,protein_coding -20263,RIPPLY2,ENSG00000203877,protein_coding -26908,GDI1,ENSG00000203879,protein_coding -54746,PCMTD2,ENSG00000203880,protein_coding -54736,SOX18,ENSG00000203883,protein_coding -54711,LIME1,ENSG00000203896,protein_coding -20132,OOEP,ENSG00000203907,protein_coding -20131,KHDC3L,ENSG00000203908,protein_coding -20130,DPPA5,ENSG00000203909,protein_coding -2284,C1orf146,ENSG00000203910,protein_coding -26685,SPANXN1,ENSG00000203923,protein_coding -26653,SPANXA2,ENSG00000203926,protein_coding -26629,CXorf66,ENSG00000203933,protein_coding -36850,C10orf62,ENSG00000203942,protein_coding -2141,SAMD13,ENSG00000203943,protein_coding -26529,RTL8A,ENSG00000203950,protein_coding -26500,CCDC160,ENSG00000203952,protein_coding -1926,C1orf141,ENSG00000203963,protein_coding -1866,EFCAB7,ENSG00000203965,protein_coding -19878,DEFB110,ENSG00000203970,protein_coding -19864,GLYATL3,ENSG00000203972,protein_coding -1711,LDLRAD1,ENSG00000203985,protein_coding -26297,RHOXF2B,ENSG00000203989,protein_coding -1667,ZYG11A,ENSG00000203995,protein_coding -31694,LCN8,ENSG00000204001,protein_coding -31690,AL355987.1,ENSG00000204003,protein_coding -1606,C1orf185,ENSG00000204006,protein_coding -31647,GLT6D1,ENSG00000204007,protein_coding -36674,IFIT1B,ENSG00000204010,protein_coding -26233,CT83,ENSG00000204019,protein_coding -36653,LIPN,ENSG00000204020,protein_coding -36651,LIPK,ENSG00000204021,protein_coding -36647,LIPJ,ENSG00000204022,protein_coding -26170,TRPC5OS,ENSG00000204025,protein_coding -36561,LRIT2,ENSG00000204033,protein_coding -19762,LRRC73,ENSG00000204052,protein_coding -1340,FOXO6,ENSG00000204060,protein_coding -26040,TCEAL5,ENSG00000204065,protein_coding -54259,SYS1,ENSG00000204070,protein_coding -25992,TCEAL6,ENSG00000204071,protein_coding -1223,INPP5B,ENSG00000204084,protein_coding -25916,RPA4,ENSG00000204086,protein_coding -9651,NEU4,ENSG00000204099,protein_coding -54155,MAFB,ENSG00000204103,protein_coding -9558,TRAF3IP1,ENSG00000204104,protein_coding -25679,CHIC1,ENSG00000204116,protein_coding -9441,GIGYF2,ENSG00000204120,protein_coding -9378,C2orf72,ENSG00000204128,protein_coding -36217,RUFY2,ENSG00000204130,protein_coding -25638,NHSL2,ENSG00000204131,protein_coding -958,PHACTR4,ENSG00000204138,protein_coding -19558,CLPSL1,ENSG00000204140,protein_coding -36065,ASAH2B,ENSG00000204147,protein_coding -36044,AGAP6,ENSG00000204149,protein_coding -36040,TIMM23B,ENSG00000204152,protein_coding -885,ZDHHC18,ENSG00000204160,protein_coding -36025,TMEM273,ENSG00000204161,protein_coding -25603,CXorf65,ENSG00000204165,protein_coding -35983,AGAP9,ENSG00000204172,protein_coding -35957,NPY4R,ENSG00000204174,protein_coding -35958,GPRIN2,ENSG00000204175,protein_coding -35959,SYT15,ENSG00000204176,protein_coding -823,MACO1,ENSG00000204178,protein_coding -35974,PTPN20,ENSG00000204179,protein_coding -54023,GDF5OS,ENSG00000204183,protein_coding -8946,ZDBF2,ENSG00000204186,protein_coding -31089,TXNDC8,ENSG00000204193,protein_coding -25577,AWAT1,ENSG00000204195,protein_coding -19473,DAXX,ENSG00000204209,protein_coding -8873,BMPR2,ENSG00000204217,protein_coding -757,TCEA3,ENSG00000204219,protein_coding -19468,PFDN6,ENSG00000204220,protein_coding -19458,RING1,ENSG00000204227,protein_coding -19456,HSD17B8,ENSG00000204228,protein_coding -19453,RXRB,ENSG00000204231,protein_coding -51950,OXLD1,ENSG00000204237,protein_coding -31000,OR13C3,ENSG00000204246,protein_coding -19452,COL11A2,ENSG00000204248,protein_coding -19443,HLA-DOA,ENSG00000204252,protein_coding -19440,BRD2,ENSG00000204256,protein_coding -19439,HLA-DMA,ENSG00000204257,protein_coding -8644,COL5A2,ENSG00000204262,protein_coding -19431,PSMB8,ENSG00000204264,protein_coding -19430,TAP2,ENSG00000204267,protein_coding -25465,SPIN3,ENSG00000204271,protein_coding -25463,NBDY,ENSG00000204272,protein_coding -51826,TMEM235,ENSG00000204278,protein_coding -25444,PAGE3,ENSG00000204279,protein_coding -19413,HLA-DRA,ENSG00000204287,protein_coding -19412,BTNL2,ENSG00000204290,protein_coding -30925,COL15A1,ENSG00000204291,protein_coding -19409,TSBP1,ENSG00000204296,protein_coding -34910,TMEM225,ENSG00000204300,protein_coding -19407,NOTCH4,ENSG00000204301,protein_coding -19404,PBX2,ENSG00000204304,protein_coding -19403,AGER,ENSG00000204305,protein_coding -19401,RNF5,ENSG00000204308,protein_coding -19399,AGPAT1,ENSG00000204310,protein_coding -8527,PJVK,ENSG00000204311,protein_coding -19393,PRRT1,ENSG00000204314,protein_coding -19392,FKBPL,ENSG00000204315,protein_coding -51720,MRPL38,ENSG00000204316,protein_coding -51703,SMIM5,ENSG00000204323,protein_coding -8364,ERICH2,ENSG00000204334,protein_coding -8360,SP5,ENSG00000204335,protein_coding -19378,STK19,ENSG00000204344,protein_coding -51644,CD300LD,ENSG00000204345,protein_coding -51635,BTBD17,ENSG00000204347,protein_coding -19377,DXO,ENSG00000204348,protein_coding -19376,SKIV2L,ENSG00000204351,protein_coding -30779,C9orf129,ENSG00000204352,protein_coding -19374,NELFE,ENSG00000204356,protein_coding -34668,NXPE2,ENSG00000204361,protein_coding -25371,SPANXN5,ENSG00000204363,protein_coding -19370,ZBTB12,ENSG00000204366,protein_coding -34601,SDHD,ENSG00000204370,protein_coding -19368,EHMT2,ENSG00000204371,protein_coding -25348,XAGE1A,ENSG00000204379,protein_coding -34573,LAYN,ENSG00000204381,protein_coding -25350,XAGE1B,ENSG00000204382,protein_coding -19366,SLC44A4,ENSG00000204385,protein_coding -19365,NEU1,ENSG00000204386,protein_coding -19362,SNHG32,ENSG00000204387,protein_coding -19360,HSPA1B,ENSG00000204388,protein_coding -19359,HSPA1A,ENSG00000204389,protein_coding -19358,HSPA1L,ENSG00000204390,protein_coding -19357,LSM2,ENSG00000204392,protein_coding -19355,VARS,ENSG00000204394,protein_coding -19354,VWA7,ENSG00000204396,protein_coding -34473,CARD16,ENSG00000204397,protein_coding -8085,MBD5,ENSG00000204406,protein_coding -19349,MSH5,ENSG00000204410,protein_coding -51418,CSHL1,ENSG00000204414,protein_coding -19345,MPIG6B,ENSG00000204420,protein_coding -19346,LY6G6C,ENSG00000204421,protein_coding -19339,AL662899.1,ENSG00000204422,protein_coding -19341,LY6G6F,ENSG00000204424,protein_coding -19338,ABHD16A,ENSG00000204427,protein_coding -19337,LY6G5C,ENSG00000204428,protein_coding -19334,CSNK2B,ENSG00000204435,protein_coding -19332,GPANK1,ENSG00000204438,protein_coding -19330,C6orf47,ENSG00000204439,protein_coding -41797,FAM155A,ENSG00000204442,protein_coding -19329,APOM,ENSG00000204444,protein_coding -34246,TRIM49C,ENSG00000204449,protein_coding -34241,TRIM64,ENSG00000204450,protein_coding -19328,BAG6,ENSG00000204463,protein_coding -19325,PRRC2A,ENSG00000204469,protein_coding -19324,AIF1,ENSG00000204472,protein_coding -19322,NCR3,ENSG00000204475,protein_coding -480,PRAMEF20,ENSG00000204478,protein_coding -479,PRAMEF17,ENSG00000204479,protein_coding -478,PRAMEF19,ENSG00000204480,protein_coding -477,PRAMEF14,ENSG00000204481,protein_coding -19321,LST1,ENSG00000204482,protein_coding -19317,NFKBIL1,ENSG00000204498,protein_coding -475,PRAMEF15,ENSG00000204501,protein_coding -466,PRAMEF9,ENSG00000204505,protein_coding -451,PRAMEF7,ENSG00000204510,protein_coding -19310,MCCD1,ENSG00000204511,protein_coding -57666,ZNF814,ENSG00000204514,protein_coding -19305,MICB,ENSG00000204516,protein_coding -438,AADACL4,ENSG00000204518,protein_coding -57656,ZNF551,ENSG00000204519,protein_coding -19299,MICA,ENSG00000204520,protein_coding -57619,ZNF805,ENSG00000204524,protein_coding -19283,HLA-C,ENSG00000204525,protein_coding -19276,POU5F1,ENSG00000204531,protein_coding -57563,ZSCAN5C,ENSG00000204532,protein_coding -19274,CCHCR1,ENSG00000204536,protein_coding -19272,PSORS1C2,ENSG00000204538,protein_coding -19271,CDSN,ENSG00000204539,protein_coding -19270,PSORS1C1,ENSG00000204540,protein_coding -19269,C6orf15,ENSG00000204542,protein_coding -19265,MUC21,ENSG00000204544,protein_coding -53876,DEFB121,ENSG00000204548,protein_coding -19238,DHX16,ENSG00000204560,protein_coding -19237,C6orf136,ENSG00000204564,protein_coding -19234,MRPS18B,ENSG00000204568,protein_coding -19233,PPP1R10,ENSG00000204569,protein_coding -33812,KRTAP5-11,ENSG00000204571,protein_coding -33810,KRTAP5-10,ENSG00000204572,protein_coding -19231,ABCF1,ENSG00000204574,protein_coding -19230,PRR3,ENSG00000204576,protein_coding -57411,LILRB3,ENSG00000204577,protein_coding -19256,DDR1,ENSG00000204580,protein_coding -40498,LRCOL1,ENSG00000204583,protein_coding -19229,GNL1,ENSG00000204590,protein_coding -19227,HLA-E,ENSG00000204592,protein_coding -57321,DPRX,ENSG00000204595,protein_coding -19216,TRIM39,ENSG00000204599,protein_coding -57271,ZNF468,ENSG00000204604,protein_coding -19208,TRIM15,ENSG00000204610,protein_coding -57233,ZNF616,ENSG00000204611,protein_coding -30522,FOXB2,ENSG00000204612,protein_coding -19207,TRIM10,ENSG00000204613,protein_coding -19206,TRIM40,ENSG00000204614,protein_coding -19203,TRIM31,ENSG00000204616,protein_coding -19202,RNF39,ENSG00000204618,protein_coding -19201,PPP1R11,ENSG00000204619,protein_coding -390,DISP3,ENSG00000204624,protein_coding -18470,RACK1,ENSG00000204628,protein_coding -19174,HLA-G,ENSG00000204632,protein_coding -7303,TBC1D8,ENSG00000204634,protein_coding -7288,NMS,ENSG00000204640,protein_coding -19158,HLA-F,ENSG00000204642,protein_coding -19156,ZFP57,ENSG00000204644,protein_coding -57107,ASPDH,ENSG00000204653,protein_coding -19155,MOG,ENSG00000204655,protein_coding -19153,OR2H2,ENSG00000204657,protein_coding -18402,CBY3,ENSG00000204659,protein_coding -30462,C9orf57,ENSG00000204669,protein_coding -40196,IL31,ENSG00000204671,protein_coding -57070,AKT1S1,ENSG00000204673,protein_coding -18348,FAM153CP,ENSG00000204677,protein_coding -19148,GABBR1,ENSG00000204681,protein_coding -35507,MIR1915HG,ENSG00000204682,protein_coding -35497,C10orf113,ENSG00000204683,protein_coding -19141,MAS1L,ENSG00000204687,protein_coding -19138,OR2H1,ENSG00000204688,protein_coding -19135,OR11A1,ENSG00000204694,protein_coding -19129,OR14J1,ENSG00000204695,protein_coding -19122,OR2J2,ENSG00000204700,protein_coding -19118,OR2J3,ENSG00000204701,protein_coding -19117,OR2J1,ENSG00000204702,protein_coding -19116,OR2B3,ENSG00000204703,protein_coding -19113,OR2W1,ENSG00000204704,protein_coding -33526,SPDYC,ENSG00000204710,protein_coding -30438,C9orf135,ENSG00000204711,protein_coding -19103,TRIM27,ENSG00000204713,protein_coding -35474,MALRD1,ENSG00000204740,protein_coding -18163,RANBP17,ENSG00000204764,protein_coding -18147,INSYN2B,ENSG00000204767,protein_coding -30350,FOXD4L5,ENSG00000204779,protein_coding -30263,AL391987.2,ENSG00000204805,protein_coding -50638,TTC25,ENSG00000204815,protein_coding -6747,MRPL53,ENSG00000204822,protein_coding -29353,MROH6,ENSG00000204839,protein_coding -39925,ATXN2,ENSG00000204842,protein_coding -6733,DCTN1,ENSG00000204843,protein_coding -30128,SPATA31A1,ENSG00000204849,protein_coding -56856,PNMA8B,ENSG00000204851,protein_coding -39907,TCTN1,ENSG00000204852,protein_coding -39901,FAM216A,ENSG00000204856,protein_coding -255,ZBTB48,ENSG00000204859,protein_coding -56836,IGFL2,ENSG00000204866,protein_coding -56831,IGFL4,ENSG00000204869,protein_coding -50586,KRTAP9-3,ENSG00000204873,protein_coding -50571,KRTAP4-8,ENSG00000204880,protein_coding -29282,GPR20,ENSG00000204882,protein_coding -50561,KRTAP1-4,ENSG00000204887,protein_coding -50555,KRT40,ENSG00000204889,protein_coding -50542,KRT25,ENSG00000204897,protein_coding -41399,MZT1,ENSG00000204899,protein_coding -17839,SPINK9,ENSG00000204909,protein_coding -50499,LRRC3C,ENSG00000204913,protein_coding -41278,PRR20B,ENSG00000204918,protein_coding -41276,PRR20A,ENSG00000204919,protein_coding -56712,ZNF155,ENSG00000204920,protein_coding -33367,UQCC3,ENSG00000204922,protein_coding -6590,FBXO48,ENSG00000204923,protein_coding -17791,GRXCR2,ENSG00000204928,protein_coding -30033,FAM221B,ENSG00000204930,protein_coding -56678,CD177,ENSG00000204936,protein_coding -56671,PSG5,ENSG00000204941,protein_coding -24348,ZNF783,ENSG00000204946,protein_coding -24342,ZNF425,ENSG00000204947,protein_coding -33306,LRRC10B,ENSG00000204950,protein_coding -50458,FBXO47,ENSG00000204952,protein_coding -39762,C12orf73,ENSG00000204954,protein_coding -17701,PCDHGA1,ENSG00000204956,protein_coding -17653,PCDHA9,ENSG00000204961,protein_coding -17652,PCDHA8,ENSG00000204962,protein_coding -17651,PCDHA7,ENSG00000204963,protein_coding -17649,PCDHA5,ENSG00000204965,protein_coding -17648,PCDHA4,ENSG00000204967,protein_coding -17646,PCDHA2,ENSG00000204969,protein_coding -17645,PCDHA1,ENSG00000204970,protein_coding -41171,TRIM13,ENSG00000204977,protein_coding -56592,ERICH4,ENSG00000204978,protein_coding -33261,MS4A13,ENSG00000204979,protein_coding -24188,PRSS1,ENSG00000204983,protein_coding -48970,SPIRE2,ENSG00000204991,protein_coding -28967,AARD,ENSG00000205002,protein_coding -48930,PABPN1L,ENSG00000205022,protein_coding -33017,OR5D16,ENSG00000205029,protein_coding -33016,OR5L2,ENSG00000205030,protein_coding -28918,PKHD1L1,ENSG00000205038,protein_coding -50304,SLFN12L,ENSG00000205045,protein_coding -39528,CLLU1OS,ENSG00000205057,protein_coding -23959,SLC35B4,ENSG00000205060,protein_coding -56431,LGALS7,ENSG00000205076,protein_coding -48639,SYCE1L,ENSG00000205078,protein_coding -48608,TMEM231,ENSG00000205084,protein_coding -23835,FAM71F2,ENSG00000205085,protein_coding -6156,C2orf91,ENSG00000205086,protein_coding -17396,CCNI2,ENSG00000205089,protein_coding -120,TMEM240,ENSG00000205090,protein_coding -15486,FRG2,ENSG00000205097,protein_coding -29973,FAM205A,ENSG00000205108,protein_coding -6134,CDKL4,ENSG00000205111,protein_coding -113,TMEM88B,ENSG00000205116,protein_coding -32773,ACCSL,ENSG00000205126,protein_coding -15407,C4orf47,ENSG00000205129,protein_coding -28614,TRIQK,ENSG00000205133,protein_coding -56311,SDHAF1,ENSG00000205138,protein_coding -29962,ARID3C,ENSG00000205143,protein_coding -56288,PSENEN,ENSG00000205155,protein_coding -32651,C11orf91,ENSG00000205177,protein_coding -28465,FABP9,ENSG00000205186,protein_coding -28439,ZBTB10,ENSG00000205189,protein_coding -15091,C4orf46,ENSG00000205208,protein_coding -56204,SCGB2B2,ENSG00000205209,protein_coding -49855,CCDC144NL,ENSG00000205212,protein_coding -32554,LGR4,ENSG00000205213,protein_coding -48347,PSMB10,ENSG00000205220,protein_coding -6070,VIT,ENSG00000205221,protein_coding -23476,AC105052.1,ENSG00000205236,protein_coding -23472,SPDYE2,ENSG00000205238,protein_coding -48297,E2F4,ENSG00000205250,protein_coding -28220,PDE7A,ENSG00000205268,protein_coding -18714,TMEM170B,ENSG00000205269,protein_coding -23415,MUC12,ENSG00000205277,protein_coding -17321,CTXN3,ENSG00000205279,protein_coding -14799,MGAT4D,ENSG00000205301,protein_coding -17252,SNX2,ENSG00000205302,protein_coding -23388,SAP25,ENSG00000205307,protein_coding -49646,NT5M,ENSG00000205309,protein_coding -38899,SARNP,ENSG00000205323,protein_coding -38879,OR6C68,ENSG00000205327,protein_coding -38873,OR6C65,ENSG00000205328,protein_coding -38867,OR6C3,ENSG00000205329,protein_coding -38866,OR6C1,ENSG00000205330,protein_coding -48145,ADGRG1,ENSG00000205336,protein_coding -32267,IPO7,ENSG00000205339,protein_coding -38770,PRR13,ENSG00000205352,protein_coding -23283,TECPR1,ENSG00000205356,protein_coding -48103,MT1H,ENSG00000205358,protein_coding -17025,SLCO6A1,ENSG00000205359,protein_coding -48096,MT1A,ENSG00000205362,protein_coding -45668,INSYN1,ENSG00000205363,protein_coding -48094,MT1M,ENSG00000205364,protein_coding -14426,CFI,ENSG00000205403,protein_coding -32134,OR52E6,ENSG00000205409,protein_coding -23190,SAMD9,ENSG00000205413,protein_coding -38714,KRT6A,ENSG00000205420,protein_coding -47937,CNEP1R1,ENSG00000205423,protein_coding -38700,KRT81,ENSG00000205426,protein_coding -43909,EXOC3L4,ENSG00000205436,protein_coding -60443,KRTAP12-3,ENSG00000205439,protein_coding -29804,IZUMO3,ENSG00000205442,protein_coding -60432,KRTAP10-2,ENSG00000205445,protein_coding -47667,TP53TG3D,ENSG00000205456,protein_coding -47719,TP53TG3C,ENSG00000205457,protein_coding -16763,ATP6AP1L,ENSG00000205464,protein_coding -43706,CCDC85C,ENSG00000205476,protein_coding -32068,OR52J3,ENSG00000205495,protein_coding -32063,OR51A2,ENSG00000205496,protein_coding -32062,OR51A4,ENSG00000205497,protein_coding -45387,C2CD4B,ENSG00000205502,protein_coding -55367,RGL3,ENSG00000205517,protein_coding -31955,NAP1L4,ENSG00000205531,protein_coding -24702,TMSB4X,ENSG00000205542,protein_coding -49323,TMEM256,ENSG00000205544,protein_coding -29678,C9orf92,ENSG00000205549,protein_coding -59632,CPT1B,ENSG00000205560,protein_coding -16515,SMN2,ENSG00000205571,protein_coding -16514,SERF1B,ENSG00000205572,protein_coding -60285,HMGN1,ENSG00000205581,protein_coding -38371,MUC19,ENSG00000205592,protein_coding -59615,DENND6B,ENSG00000205593,protein_coding -47370,EIF3CL,ENSG00000205609,protein_coding -47317,LCMT1,ENSG00000205629,protein_coding -5823,MFSD2B,ENSG00000205639,protein_coding -24639,VCX3B,ENSG00000205642,protein_coding -59533,CDPF1,ENSG00000205643,protein_coding -13877,HTN3,ENSG00000205649,protein_coding -43267,LIN52,ENSG00000205659,protein_coding -24599,ARSH,ENSG00000205667,protein_coding -43242,ACOT6,ENSG00000205669,protein_coding -60175,SMIM11A,ENSG00000205670,protein_coding -13756,TECRL,ENSG00000205678,protein_coding -43209,DPF3,ENSG00000205683,protein_coding -38199,MANSC4,ENSG00000205693,protein_coding -59404,LINC00634,ENSG00000205704,protein_coding -38139,ETFRF1,ENSG00000205707,protein_coding -49200,C17orf107,ENSG00000205710,protein_coding -55137,MBD3L4,ENSG00000205718,protein_coding -60162,ITSN1,ENSG00000205726,protein_coding -47147,ITPRIPL2,ENSG00000205730,protein_coding -55107,DENND1C,ENSG00000205744,protein_coding -38079,SLCO1B7,ENSG00000205754,protein_coding -24572,CRLF2,ENSG00000205755,protein_coding -60161,CRYZL1,ENSG00000205758,protein_coding -16145,C5orf51,ENSG00000205765,protein_coding -25279,GAGE1,ENSG00000205777,protein_coding -55047,ARRDC5,ENSG00000205784,protein_coding -5624,CYS1,ENSG00000205795,protein_coding -29527,PLPP6,ENSG00000205808,protein_coding -37873,KLRC2,ENSG00000205809,protein_coding -37872,KLRC3,ENSG00000205810,protein_coding -46800,C16orf96,ENSG00000205832,protein_coding -12654,GMNC,ENSG00000205835,protein_coding -16031,TTC23L,ENSG00000205838,protein_coding -37777,CLEC6A,ENSG00000205846,protein_coding -59083,C22orf42,ENSG00000205856,protein_coding -37726,NANOGNB,ENSG00000205857,protein_coding -21817,LRRC72,ENSG00000205858,protein_coding -40691,C1QTNF9B,ENSG00000205863,protein_coding -31895,KRTAP5-6,ENSG00000205864,protein_coding -31887,KRTAP5-2,ENSG00000205867,protein_coding -31886,KRTAP5-1,ENSG00000205869,protein_coding -27288,DEFB134,ENSG00000205882,protein_coding -27287,DEFB135,ENSG00000205883,protein_coding -27286,DEFB136,ENSG00000205884,protein_coding -49031,BHLHA9,ENSG00000205899,protein_coding -21704,ZNF316,ENSG00000205903,protein_coding -58195,DAZ4,ENSG00000205916,protein_coding -54870,ONECUT3,ENSG00000205922,protein_coding -46671,CEMP1,ENSG00000205923,protein_coding -60138,OLIG2,ENSG00000205927,protein_coding -60132,C21orf62,ENSG00000205929,protein_coding -46647,RNPS1,ENSG00000205937,protein_coding -58132,DAZ2,ENSG00000205944,protein_coding -42396,NYNRIN,ENSG00000205978,protein_coding -12446,DNAJC19,ENSG00000205981,protein_coding -31809,IFITM5,ENSG00000206013,protein_coding -53190,SMIM21,ENSG00000206026,protein_coding -53170,C18orf63,ENSG00000206043,protein_coding -27084,DEFA1,ENSG00000206047,protein_coding -53120,DOK6,ENSG00000206052,protein_coding -46579,JPT2,ENSG00000206053,protein_coding -58835,TMEM211,ENSG00000206069,protein_coding -53063,SERPINB11,ENSG00000206072,protein_coding -53062,SERPINB4,ENSG00000206073,protein_coding -53057,SERPINB5,ENSG00000206075,protein_coding -15530,ZDHHC11B,ENSG00000206077,protein_coding -60091,KRTAP19-8,ENSG00000206102,protein_coding -60080,KRTAP20-3,ENSG00000206104,protein_coding -60078,KRTAP20-4,ENSG00000206105,protein_coding -60072,KRTAP22-2,ENSG00000206106,protein_coding -60051,KRTAP27-1,ENSG00000206107,protein_coding -12940,CFAP99,ENSG00000206113,protein_coding -44671,GOLGA8O,ENSG00000206127,protein_coding -58576,TMEM191C,ENSG00000206140,protein_coding -42096,RNASE13,ENSG00000206150,protein_coding -46455,HBA1,ENSG00000206172,protein_coding -46451,HBM,ENSG00000206177,protein_coding -52781,ELOA2,ENSG00000206181,protein_coding -44502,ATP10A,ENSG00000206190,protein_coding -11986,ANKUB1,ENSG00000206199,protein_coding -58445,TSSK2,ENSG00000206203,protein_coding -11815,PRR23A,ENSG00000206260,protein_coding -11814,FOXL2NB,ENSG00000206262,protein_coding -11681,COL6A6,ENSG00000206384,protein_coding -52218,RAB12,ENSG00000206418,protein_coding -52201,LRRC30,ENSG00000206422,protein_coding -52173,TMEM200C,ENSG00000206432,protein_coding -19136,OR10C1,ENSG00000206474,protein_coding -19186,HLA-A,ENSG00000206503,protein_coding -11484,HACD2,ENSG00000206527,protein_coding -11313,CFAP44,ENSG00000206530,protein_coding -11302,CD200R1L,ENSG00000206531,protein_coding -11146,LNP1,ENSG00000206535,protein_coding -11107,OR5K3,ENSG00000206536,protein_coding -11019,VGLL3,ENSG00000206538,protein_coding -10389,PRSS50,ENSG00000206549,protein_coding -10103,TRIM71,ENSG00000206557,protein_coding -10050,ZCWPW2,ENSG00000206559,protein_coding -9915,ANKRD28,ENSG00000206560,protein_coding -9909,COLQ,ENSG00000206561,protein_coding -9905,METTL6,ENSG00000206562,protein_coding -28065,XKR4,ENSG00000206579,protein_coding -17912,GPX3,ENSG00000211445,protein_coding -43407,DIO2,ENSG00000211448,protein_coding -33138,SELENOH,ENSG00000211450,protein_coding -1707,DIO1,ENSG00000211452,protein_coding -38183,STK38L,ENSG00000211455,protein_coding -10356,SACM1L,ENSG00000211456,protein_coding -7690,TSN,ENSG00000211460,protein_coding -38485,SLC48A1,ENSG00000211584,protein_coding -17133,TSSK1B,ENSG00000212122,protein_coding -55065,PRR22,ENSG00000212123,protein_coding -37900,TAS2R19,ENSG00000212124,protein_coding -37898,TAS2R50,ENSG00000212126,protein_coding -37896,TAS2R14,ENSG00000212127,protein_coding -37894,TAS2R13,ENSG00000212128,protein_coding -50595,KRTAP16-1,ENSG00000212657,protein_coding -50594,KRTAP29-1,ENSG00000212658,protein_coding -50590,KRTAP9-6,ENSG00000212659,protein_coding -52470,CTAGE1,ENSG00000212710,protein_coding -49876,C17orf51,ENSG00000212719,protein_coding -50574,KRTAP4-11,ENSG00000212721,protein_coding -50573,KRTAP4-9,ENSG00000212722,protein_coding -50566,KRTAP2-3,ENSG00000212724,protein_coding -50564,KRTAP2-1,ENSG00000212725,protein_coding -26526,RTL8B,ENSG00000212747,protein_coding -24281,OR2A42,ENSG00000212807,protein_coding -31749,RNF208,ENSG00000212864,protein_coding -50556,KRTAP3-3,ENSG00000212899,protein_coding -50557,KRTAP3-2,ENSG00000212900,protein_coding -50559,KRTAP3-1,ENSG00000212901,protein_coding -60547,MT-ND4L,ENSG00000212907,protein_coding -5090,MAP10,ENSG00000212916,protein_coding -60442,KRTAP12-4,ENSG00000212933,protein_coding -60433,KRTAP10-3,ENSG00000212935,protein_coding -60073,KRTAP6-3,ENSG00000212938,protein_coding -29127,POU5F1B,ENSG00000212993,protein_coding -57535,ZNF580,ENSG00000213015,protein_coding -57267,ZNF611,ENSG00000213020,protein_coding -57141,KLK9,ENSG00000213022,protein_coding -57110,SYT3,ENSG00000213023,protein_coding -57074,NUP62,ENSG00000213024,protein_coding -5017,SPHAR,ENSG00000213029,protein_coding -56995,CGB8,ENSG00000213030,protein_coding -4301,DENND1B,ENSG00000213047,protein_coding -3840,SFT2D2,ENSG00000213064,protein_coding -21451,FGFR1OP,ENSG00000213066,protein_coding -21266,SCAF8,ENSG00000213079,protein_coding -3608,CFAP45,ENSG00000213085,protein_coding -3579,ACKR1,ENSG00000213088,protein_coding -56046,ZNF254,ENSG00000213096,protein_coding -12774,TCTEX1D2,ENSG00000213123,protein_coding -12574,CRYGS,ENSG00000213139,protein_coding -44011,CRIP1,ENSG00000213145,protein_coding -8344,KLHL23,ENSG00000213160,protein_coding -3206,LINGO4,ENSG00000213171,protein_coding -37283,FAM24B,ENSG00000213185,protein_coding -12181,TRIM59,ENSG00000213186,protein_coding -3159,MLLT11,ENSG00000213190,protein_coding -24410,ASIC3,ENSG00000213199,protein_coding -24397,GIMAP1,ENSG00000213203,protein_coding -20323,AL049697.1,ENSG00000213204,protein_coding -31699,CCDC183,ENSG00000213213,protein_coding -24279,ARHGEF35,ENSG00000213214,protein_coding -24263,OR2F1,ENSG00000213215,protein_coding -51413,CSH2,ENSG00000213218,protein_coding -31665,DNLZ,ENSG00000213221,protein_coding -43646,TCL1B,ENSG00000213231,protein_coding -51227,SUPT4H1,ENSG00000213246,protein_coding -23910,TSGA13,ENSG00000213265,protein_coding -2711,NRAS,ENSG00000213281,protein_coding -55418,ZNF625-ZNF20,ENSG00000213297,protein_coding -18406,LTC4S,ENSG00000213316,protein_coding -7208,ANKRD39,ENSG00000213337,protein_coding -55332,QTRT1,ENSG00000213339,protein_coding -36896,CHUK,ENSG00000213341,protein_coding -18313,MXD3,ENSG00000213347,protein_coding -2561,GSTM2,ENSG00000213366,protein_coding -48417,COG8,ENSG00000213380,protein_coding -36831,ARHGAP19,ENSG00000213390,protein_coding -26852,HAUS7,ENSG00000213397,protein_coding -48348,LCAT,ENSG00000213398,protein_coding -26822,MAGEA12,ENSG00000213401,protein_coding -33680,PTPRCAP,ENSG00000213402,protein_coding -23364,PVRIG,ENSG00000213413,protein_coding -50575,KRTAP4-12,ENSG00000213416,protein_coding -50567,KRTAP2-4,ENSG00000213417,protein_coding -23361,GPC2,ENSG00000213420,protein_coding -50538,KRT222,ENSG00000213424,protein_coding -33566,SIPA1,ENSG00000213445,protein_coding -22739,ERV3-1,ENSG00000213462,protein_coding -43167,SYNJ2BP,ENSG00000213463,protein_coding -33503,ARL2,ENSG00000213465,protein_coding -46158,TTLL13P,ENSG00000213471,protein_coding -2226,GBP7,ENSG00000213512,protein_coding -2219,RBMXL1,ENSG00000213516,protein_coding -17619,SRA1,ENSG00000213523,protein_coding -10660,STIMATE,ENSG00000213533,protein_coding -36346,DNAJC9,ENSG00000213551,protein_coding -29438,C8orf82,ENSG00000213563,protein_coding -45715,CPLX3,ENSG00000213578,protein_coding -17431,VDAC1,ENSG00000213585,protein_coding -19486,ZBTB9,ENSG00000213588,protein_coding -33135,TMX2,ENSG00000213593,protein_coding -45632,HEXA,ENSG00000213614,protein_coding -32872,NDUFS3,ENSG00000213619,protein_coding -1908,LEPROT,ENSG00000213625,protein_coding -5990,LBH,ENSG00000213626,protein_coding -54883,ADAT3,ENSG00000213638,protein_coding -5966,PPP1CB,ENSG00000213639,protein_coding -47443,SULT1A4,ENSG00000213648,protein_coding -19406,GPSM3,ENSG00000213654,protein_coding -47418,LAT,ENSG00000213658,protein_coding -10466,NCKIPSD,ENSG00000213672,protein_coding -19391,ATF6B,ENSG00000213676,protein_coding -10451,TREX1,ENSG00000213689,protein_coding -30688,S1PR3,ENSG00000213694,protein_coding -5893,SLC35F6,ENSG00000213699,protein_coding -54506,FAM209B,ENSG00000213714,protein_coding -19348,CLIC1,ENSG00000213719,protein_coding -19347,DDAH2,ENSG00000213722,protein_coding -42712,RPS29,ENSG00000213741,protein_coding -13852,UGT2B11,ENSG00000213759,protein_coding -19316,ATP6V1G2,ENSG00000213760,protein_coding -57651,ZNF134,ENSG00000213762,protein_coding -19258,GTF2H4,ENSG00000213780,protein_coding -37955,DDX47,ENSG00000213782,protein_coding -57275,ZNF888,ENSG00000213793,protein_coding -57302,ZNF845,ENSG00000213799,protein_coding -37869,KLRK1,ENSG00000213809,protein_coding -57189,CEACAM18,ENSG00000213822,protein_coding -46908,EMP2,ENSG00000213853,protein_coding -49317,KCTD11,ENSG00000213859,protein_coding -19147,UBD,ENSG00000213886,protein_coding -56797,PPM1N,ENSG00000213889,protein_coding -56752,CEACAM16,ENSG00000213892,protein_coding -9186,SLC23A3,ENSG00000213901,protein_coding -42390,LTB4R,ENSG00000213903,protein_coding -42389,LTB4R2,ENSG00000213906,protein_coding -46770,DNASE1,ENSG00000213918,protein_coding -42377,MDP1,ENSG00000213920,protein_coding -56502,LEUTX,ENSG00000213921,protein_coding -59262,CSNK1E,ENSG00000213923,protein_coding -29967,CCL27,ENSG00000213927,protein_coding -42365,IRF9,ENSG00000213928,protein_coding -29964,GALT,ENSG00000213930,protein_coding -32092,HBE1,ENSG00000213931,protein_coding -32088,HBG1,ENSG00000213934,protein_coding -46716,CLDN9,ENSG00000213937,protein_coding -16240,ITGA1,ENSG00000213949,protein_coding -56149,NUDT19,ENSG00000213965,protein_coding -56040,ZNF726,ENSG00000213967,protein_coding -55993,ZNF99,ENSG00000213973,protein_coding -49143,TAX1BP3,ENSG00000213977,protein_coding -42332,AP1G2,ENSG00000213983,protein_coding -55865,ZNF90,ENSG00000213988,protein_coding -41839,NAXD,ENSG00000213995,protein_coding -55823,TM6SF2,ENSG00000213996,protein_coding -55813,MEF2B,ENSG00000213999,protein_coding -44923,GANC,ENSG00000214013,protein_coding -9772,TTLL3,ENSG00000214021,protein_coding -24380,REPIN1,ENSG00000214022,protein_coding -31914,MRPL23,ENSG00000214026,protein_coding -40526,ZNF891,ENSG00000214029,protein_coding -29745,IFNA7,ENSG00000214042,protein_coding -55681,SMIM7,ENSG00000214046,protein_coding -27620,FBXO16,ENSG00000214050,protein_coding -31864,TSPAN4,ENSG00000214063,protein_coding -54035,CPNE1,ENSG00000214078,protein_coding -51952,ARL16,ENSG00000214087,protein_coding -12789,SMCO1,ENSG00000214097,protein_coding -24100,WEE2,ENSG00000214102,protein_coding -24922,MAGEB1,ENSG00000214107,protein_coding -18603,LYRM4,ENSG00000214113,protein_coding -1248,MYCBP,ENSG00000214114,protein_coding -24036,TMEM213,ENSG00000214128,protein_coding -51752,PRCD,ENSG00000214140,protein_coding -12526,ALG3,ENSG00000214160,protein_coding -1177,SH3D21,ENSG00000214193,protein_coding -23624,SMIM30,ENSG00000214194,protein_coding -55339,C19orf38,ENSG00000214212,protein_coding -12162,IQCJ,ENSG00000214216,protein_coding -51167,C17orf67,ENSG00000214226,protein_coding -12017,MINDY4B,ENSG00000214237,protein_coding -23431,FIS1,ENSG00000214253,protein_coding -44404,AC124312.1,ENSG00000214265,protein_coding -42068,ANG,ENSG00000214274,protein_coding -37453,SCART1,ENSG00000214279,protein_coding -37361,NPS,ENSG00000214285,protein_coding -34560,COLCA2,ENSG00000214290,protein_coding -23365,SPDYE3,ENSG00000214300,protein_coding -23354,MBLAC1,ENSG00000214309,protein_coding -11573,C3orf56,ENSG00000214324,protein_coding -6985,FOXI3,ENSG00000214336,protein_coding -20821,SOGA3,ENSG00000214338,protein_coding -18190,NEURL1B,ENSG00000214357,protein_coding -18182,EFCAB9,ENSG00000214360,protein_coding -12932,HAUS3,ENSG00000214367,protein_coding -34326,VSTM5,ENSG00000214376,protein_coding -31720,LCNL1,ENSG00000214402,protein_coding -37093,BBIP1,ENSG00000214413,protein_coding -34215,TRIM77,ENSG00000214414,protein_coding -23062,GNAT3,ENSG00000214415,protein_coding -36993,AS3MT,ENSG00000214435,protein_coding -50825,FAM187A,ENSG00000214447,protein_coding -55028,PLIN5,ENSG00000214456,protein_coding -59012,SEC14L6,ENSG00000214491,protein_coding -17836,SPINK13,ENSG00000214510,protein_coding -38647,HIGD1C,ENSG00000214511,protein_coding -6687,NOTO,ENSG00000214513,protein_coding -33922,PPME1,ENSG00000214517,protein_coding -50565,KRTAP2-2,ENSG00000214518,protein_coding -33879,STARD10,ENSG00000214530,protein_coding -33827,ZNF705E,ENSG00000214534,protein_coding -36622,NUTM2D,ENSG00000214562,protein_coding -45955,CPEB1,ENSG00000214575,protein_coding -6354,EML6,ENSG00000214595,protein_coding -19877,DEFB113,ENSG00000214642,protein_coding -19875,DEFB133,ENSG00000214643,protein_coding -22686,ZNF727,ENSG00000214652,protein_coding -31232,B3GNT10,ENSG00000214654,protein_coding -36383,ZSWIM8,ENSG00000214655,protein_coding -10596,IQCF5,ENSG00000214681,protein_coding -10589,IQCF6,ENSG00000214686,protein_coding -36300,C10orf105,ENSG00000214688,protein_coding -6126,ARHGEF33,ENSG00000214694,protein_coding -38179,C12orf71,ENSG00000214700,protein_coding -10551,IFRD2,ENSG00000214706,protein_coding -6001,CAPN14,ENSG00000214711,protein_coding -24588,ZBED1,ENSG00000214717,protein_coding -19711,AL096814.1,ENSG00000214732,protein_coding -19695,TOMM6,ENSG00000214736,protein_coding -33373,HNRNPUL2,ENSG00000214753,protein_coding -33365,CSKMT,ENSG00000214756,protein_coding -33265,MS4A18,ENSG00000214782,protein_coding -33253,MS4A4E,ENSG00000214787,protein_coding -29065,FER1L6,ENSG00000214814,protein_coding -49837,CDRT15L2,ENSG00000214819,protein_coding -26948,MTCP1,ENSG00000214827,protein_coding -5734,RAD51AP2,ENSG00000214842,protein_coding -49692,EVPLL,ENSG00000214860,protein_coding -5539,DCDC2C,ENSG00000214866,protein_coding -33125,SMTNL1,ENSG00000214872,protein_coding -32923,TRIM64C,ENSG00000214891,protein_coding -26848,PNMA6E,ENSG00000214897,protein_coding -30573,SPATA31D1,ENSG00000214929,protein_coding -47114,NPIPA8,ENSG00000214940,protein_coding -49576,ZSWIM7,ENSG00000214941,protein_coding -42488,GPR33,ENSG00000214943,protein_coding -16589,ARHGEF28,ENSG00000214944,protein_coding -49561,TBC1D26,ENSG00000214946,protein_coding -28593,LRRC69,ENSG00000214954,protein_coding -21812,CRPPA,ENSG00000214960,protein_coding -47087,NPIPA7,ENSG00000214967,protein_coding -49445,GSG1L2,ENSG00000214978,protein_coding -37711,ACSM4,ENSG00000215009,protein_coding -58475,RTL10,ENSG00000215012,protein_coding -21728,COL28A1,ENSG00000215018,protein_coding -37693,PHB2,ENSG00000215021,protein_coding -26002,TCP11X2,ENSG00000215029,protein_coding -49314,NEURL4,ENSG00000215041,protein_coding -21699,GRID2IP,ENSG00000215045,protein_coding -25634,CXorf49B,ENSG00000215113,protein_coding -28122,UBXN2B,ENSG00000215114,protein_coding -25629,CXorf49,ENSG00000215115,protein_coding -30184,CBWD6,ENSG00000215126,protein_coding -46762,C16orf90,ENSG00000215131,protein_coding -46697,PRSS41,ENSG00000215148,protein_coding -25476,NLRP2B,ENSG00000215174,protein_coding -31872,MUC5AC,ENSG00000215182,protein_coding -30025,MSMP,ENSG00000215183,protein_coding -45647,GOLGA6B,ENSG00000215186,protein_coding -30004,FAM166B,ENSG00000215187,protein_coding -58385,PEX26,ENSG00000215193,protein_coding -13507,GRXCR1,ENSG00000215203,protein_coding -15656,C5orf49,ENSG00000215217,protein_coding -15628,UBE2QL1,ENSG00000215218,protein_coding -53396,FASTKD5,ENSG00000215251,protein_coding -44726,GOLGA8B,ENSG00000215252,protein_coding -27754,KCNU1,ENSG00000215262,protein_coding -25277,GAGE12G,ENSG00000215269,protein_coding -42311,HOMEZ,ENSG00000215271,protein_coding -25268,GAGE10,ENSG00000215274,protein_coding -42308,RNF212B,ENSG00000215277,protein_coding -25054,DDX3X,ENSG00000215301,protein_coding -53387,VPS16,ENSG00000215305,protein_coding -27298,ZNF705D,ENSG00000215343,protein_coding -27159,ZNF705B,ENSG00000215356,protein_coding -27115,ZNF705G,ENSG00000215372,protein_coding -12880,MYL5,ENSG00000215375,protein_coding -53315,SCRT2,ENSG00000215397,protein_coding -53180,ZNF407,ENSG00000215421,protein_coding -54556,NPEPL1,ENSG00000215440,protein_coding -60434,KRTAP10-4,ENSG00000215454,protein_coding -60431,KRTAP10-1,ENSG00000215455,protein_coding -52830,RPL17-C18orf32,ENSG00000215472,protein_coding -52789,SKOR2,ENSG00000215474,protein_coding -41091,SIAH3,ENSG00000215475,protein_coding -53936,EFCAB8,ENSG00000215529,protein_coding -53868,DEFB116,ENSG00000215545,protein_coding -53865,DEFB115,ENSG00000215547,protein_coding -58346,GAB4,ENSG00000215568,protein_coding -53326,C20orf202,ENSG00000215595,protein_coding -13071,HMX1,ENSG00000215612,protein_coding -51960,GCGR,ENSG00000215644,protein_coding -518,RSC1A1,ENSG00000215695,protein_coding -507,CELA2B,ENSG00000215704,protein_coding -21292,TMEM242,ENSG00000215712,protein_coding -2534,TMEM167B,ENSG00000215717,protein_coding -2926,FAM72D,ENSG00000215784,protein_coding -249,TNFRSF25,ENSG00000215788,protein_coding -137,SLC35E2A,ENSG00000215790,protein_coding -4759,ZC3H11B,ENSG00000215817,protein_coding -3662,TSTD1,ENSG00000215845,protein_coding -3226,RPTN,ENSG00000215853,protein_coding -1721,CYB5RL,ENSG00000215883,protein_coding -738,LACTBL1,ENSG00000215906,protein_coding -400,C1orf167,ENSG00000215910,protein_coding -173,TTC34,ENSG00000215912,protein_coding -116,ATAD3C,ENSG00000215915,protein_coding -55762,IFI30,ENSG00000216490,protein_coding -56746,IGSF23,ENSG00000216588,protein_coding -25276,GAGE12E,ENSG00000216649,protein_coding -9656,FAM240C,ENSG00000216921,protein_coding -35717,CCDC7,ENSG00000216937,protein_coding -17359,FNIP1,ENSG00000217128,protein_coding -8427,SP9,ENSG00000217236,protein_coding -59631,SYCE3,ENSG00000217442,protein_coding -48259,CKLF,ENSG00000217555,protein_coding -46786,PAM16,ENSG00000217930,protein_coding -22413,CDC14C,ENSG00000218305,protein_coding -15328,TENM3,ENSG00000218336,protein_coding -6080,CEBPZOS,ENSG00000218739,protein_coding -5792,TDRD15,ENSG00000218819,protein_coding -21645,PAPOLB,ENSG00000218823,protein_coding -57529,ZNF579,ENSG00000218891,protein_coding -708,CELA3B,ENSG00000219073,protein_coding -49280,RNASEK,ENSG00000219200,protein_coding -33465,CATSPERZ,ENSG00000219435,protein_coding -59564,TAFA5,ENSG00000219438,protein_coding -566,NBPF1,ENSG00000219481,protein_coding -21734,UMAD1,ENSG00000219545,protein_coding -18602,PPP1R3G,ENSG00000219607,protein_coding -5828,FAM228B,ENSG00000219626,protein_coding -54907,LINGO3,ENSG00000220008,protein_coding -55308,ZGLP1,ENSG00000220201,protein_coding -49390,VAMP2,ENSG00000220205,protein_coding -32919,TRIM51GP,ENSG00000220948,protein_coding -24267,OR6B1,ENSG00000221813,protein_coding -27565,EBF2,ENSG00000221818,protein_coding -19723,C6orf226,ENSG00000221821,protein_coding -6583,PPP3R1,ENSG00000221823,protein_coding -56656,PSG3,ENSG00000221826,protein_coding -29991,FANCG,ENSG00000221829,protein_coding -24268,OR2A5,ENSG00000221836,protein_coding -60439,KRTAP10-9,ENSG00000221837,protein_coding -23350,AP4M1,ENSG00000221838,protein_coding -32978,OR4A5,ENSG00000221840,protein_coding -5938,C2orf16,ENSG00000221843,protein_coding -50560,KRTAP1-5,ENSG00000221852,protein_coding -24243,TAS2R41,ENSG00000221855,protein_coding -24271,OR2A12,ENSG00000221858,protein_coding -60440,KRTAP10-10,ENSG00000221859,protein_coding -60444,KRTAP12-2,ENSG00000221864,protein_coding -23940,PLXNA4,ENSG00000221866,protein_coding -26818,MAGEA3,ENSG00000221867,protein_coding -27966,CEBPD,ENSG00000221869,protein_coding -57278,ZNF816-ZNF321P,ENSG00000221874,protein_coding -56663,PSG7,ENSG00000221878,protein_coding -50562,KRTAP1-3,ENSG00000221880,protein_coding -49122,AC087498.2,ENSG00000221882,protein_coding -10471,ARIH2OS,ENSG00000221883,protein_coding -18064,ZBED8,ENSG00000221886,protein_coding -53068,HMSD,ENSG00000221887,protein_coding -5402,OR1C1,ENSG00000221888,protein_coding -59291,NPTXR,ENSG00000221890,protein_coding -22454,POM121L12,ENSG00000221900,protein_coding -23315,FAM200A,ENSG00000221909,protein_coding -24262,OR2F2,ENSG00000221910,protein_coding -27568,PPP2R2A,ENSG00000221914,protein_coding -57007,C19orf73,ENSG00000221916,protein_coding -57250,ZNF880,ENSG00000221923,protein_coding -49555,TRIM16,ENSG00000221926,protein_coding -34905,OR6X1,ENSG00000221931,protein_coding -34975,HEPN1,ENSG00000221932,protein_coding -24269,OR2A25,ENSG00000221933,protein_coding -24224,TAS2R40,ENSG00000221937,protein_coding -24274,OR2A14,ENSG00000221938,protein_coding -9435,TIGD1,ENSG00000221944,protein_coding -56242,FXYD7,ENSG00000221946,protein_coding -28304,XKR9,ENSG00000221947,protein_coding -32954,OR4C12,ENSG00000221954,protein_coding -11510,SLC12A8,ENSG00000221955,protein_coding -59149,APOL6,ENSG00000221963,protein_coding -33322,FADS3,ENSG00000221968,protein_coding -24289,OR2A1,ENSG00000221970,protein_coding -42133,OR4E2,ENSG00000221977,protein_coding -106,CCNL2,ENSG00000221978,protein_coding -55791,UBA52,ENSG00000221983,protein_coding -2543,MYBPHL,ENSG00000221986,protein_coding -19396,PPT2,ENSG00000221988,protein_coding -24272,OR2A2,ENSG00000221989,protein_coding -25175,ZNF630,ENSG00000221994,protein_coding -50055,TIAF1,ENSG00000221995,protein_coding -32021,OR52B4,ENSG00000221996,protein_coding -1462,BTBD19,ENSG00000222009,protein_coding -23483,FAM185A,ENSG00000222011,protein_coding -7782,RAB6C,ENSG00000222014,protein_coding -60176,FAM243A,ENSG00000222018,protein_coding -42300,PSMB11,ENSG00000222028,protein_coding -41961,POTEM,ENSG00000222036,protein_coding -7838,POTEJ,ENSG00000222038,protein_coding -1062,DCDC2B,ENSG00000222046,protein_coding -36392,C10orf55,ENSG00000222047,protein_coding -34235,TRIM49D1,ENSG00000223417,protein_coding -27302,USP17L2,ENSG00000223443,protein_coding -48452,EXOSC6,ENSG00000223496,protein_coding -19463,VPS52,ENSG00000223501,protein_coding -49518,CDRT15,ENSG00000223510,protein_coding -55410,ZNF844,ENSG00000223547,protein_coding -13092,USP17L15,ENSG00000223569,protein_coding -44978,CKMT1A,ENSG00000223572,protein_coding -55056,TINCR,ENSG00000223573,protein_coding -25321,CENPVL1,ENSG00000223591,protein_coding -35521,EBLN1,ENSG00000223601,protein_coding -32085,HBD,ENSG00000223609,protein_coding -22703,ZNF735,ENSG00000223614,protein_coding -57547,RFPL4A,ENSG00000223638,protein_coding -6190,C1GALT1C1L,ENSG00000223658,protein_coding -55800,CERS1,ENSG00000223802,protein_coding -19445,HLA-DPB1,ENSG00000223865,protein_coding -34815,C1QTNF5,ENSG00000223953,protein_coding -99,CPTP,ENSG00000224051,protein_coding -26323,CT47A10,ENSG00000224089,protein_coding -26533,ETDB,ENSG00000224107,protein_coding -25319,CENPVL3,ENSG00000224109,protein_coding -51425,PRR29,ENSG00000224383,protein_coding -19384,C4B,ENSG00000224389,protein_coding -57052,ADM5,ENSG00000224420,protein_coding -26703,CXorf51A,ENSG00000224440,protein_coding -48513,ATXN1L,ENSG00000224470,protein_coding -18704,SMIM13,ENSG00000224531,protein_coding -47985,HNRNPA1P48,ENSG00000224578,protein_coding -19090,GPX5,ENSG00000224586,protein_coding -25269,GAGE12J,ENSG00000224659,protein_coding -47015,NPIPA3,ENSG00000224712,protein_coding -51925,NDUFAF8,ENSG00000224877,protein_coding -25278,GAGE12H,ENSG00000224902,protein_coding -56769,APOC4-APOC2,ENSG00000224916,protein_coding -23812,PRRT4,ENSG00000224940,protein_coding -24896,PPP4R3C,ENSG00000224960,protein_coding -40092,TMEM233,ENSG00000224982,protein_coding -26845,PNMA6F,ENSG00000225110,protein_coding -51920,PVALEF,ENSG00000225180,protein_coding -50855,PLEKHM1,ENSG00000225190,protein_coding -27164,USP17L3,ENSG00000225327,protein_coding -45609,CT62,ENSG00000225362,protein_coding -25661,FAM236D,ENSG00000225396,protein_coding -9844,MKRN2OS,ENSG00000225526,protein_coding -59332,Z82206.1,ENSG00000225528,protein_coding -3208,C2CD4D,ENSG00000225556,protein_coding -48906,ZNF469,ENSG00000225614,protein_coding -51961,MCRIP1,ENSG00000225663,protein_coding -10460,SLC26A6,ENSG00000225697,protein_coding -24219,OR6V1,ENSG00000225781,protein_coding -33832,DEFB131B,ENSG00000225805,protein_coding -1074,FAM229A,ENSG00000225828,protein_coding -36030,ERCC6,ENSG00000225830,protein_coding -37462,FRG2B,ENSG00000225899,protein_coding -18741,NOL7,ENSG00000225921,protein_coding -24278,CTAGE4,ENSG00000225932,protein_coding -16324,C5orf67,ENSG00000225940,protein_coding -57001,NTF4,ENSG00000225950,protein_coding -21599,ELFN1,ENSG00000225968,protein_coding -45233,PIGBOS1,ENSG00000225973,protein_coding -26331,CT47A6,ENSG00000226023,protein_coding -8777,FTCDNL1,ENSG00000226124,protein_coding -44006,TEX22,ENSG00000226174,protein_coding -32032,OR52I2,ENSG00000226288,protein_coding -9616,CROCC2,ENSG00000226321,protein_coding -24907,DCAF8L1,ENSG00000226372,protein_coding -27301,USP17L7,ENSG00000226430,protein_coding -7665,TMEM185B,ENSG00000226479,protein_coding -29290,AC138647.1,ENSG00000226490,protein_coding -26325,CT47A9,ENSG00000226600,protein_coding -17979,KIF4B,ENSG00000226650,protein_coding -26319,CT47A12,ENSG00000226685,protein_coding -21780,AC013470.2,ENSG00000226690,protein_coding -53283,HSBP1L1,ENSG00000226742,protein_coding -37903,TAS2R46,ENSG00000226761,protein_coding -56693,SRRM5,ENSG00000226763,protein_coding -25767,PGAM4,ENSG00000226784,protein_coding -41196,C13orf42,ENSG00000226792,protein_coding -13615,ERVMER34-1,ENSG00000226887,protein_coding -26321,CT47A11,ENSG00000226929,protein_coding -58109,RBMY1J,ENSG00000226941,protein_coding -19318,LTA,ENSG00000226979,protein_coding -43652,C14orf132,ENSG00000227051,protein_coding -19466,WDR46,ENSG00000227057,protein_coding -40533,ANHX,ENSG00000227059,protein_coding -10959,ZNF717,ENSG00000227124,protein_coding -13104,USP17L5,ENSG00000227140,protein_coding -41279,PRR20D,ENSG00000227151,protein_coding -26644,SPANXB1,ENSG00000227234,protein_coding -36638,KLLN,ENSG00000227268,protein_coding -36038,PARG,ENSG00000227345,protein_coding -23964,AKR1B15,ENSG00000227471,protein_coding -25274,GAGE12D,ENSG00000227488,protein_coding -54882,SCAMP4,ENSG00000227500,protein_coding -19320,LTB,ENSG00000227507,protein_coding -13089,USP17L12,ENSG00000227551,protein_coding -43954,RD3L,ENSG00000227729,protein_coding -739,TEX46,ENSG00000227868,protein_coding -36130,MRLN,ENSG00000227877,protein_coding -23480,POLR2J2,ENSG00000228049,protein_coding -52942,BOD1L2,ENSG00000228075,protein_coding -29751,IFNA14,ENSG00000228083,protein_coding -39180,AC078927.1,ENSG00000228144,protein_coding -5430,OR2M3,ENSG00000228198,protein_coding -60541,MT-ATP8,ENSG00000228253,protein_coding -31174,ORM2,ENSG00000228278,protein_coding -54838,C19orf24,ENSG00000228300,protein_coding -5906,OST4,ENSG00000228474,protein_coding -7246,C2orf92,ENSG00000228486,protein_coding -26329,CT47A7,ENSG00000228517,protein_coding -57296,VN1R4,ENSG00000228567,protein_coding -36498,NUTM2E,ENSG00000228570,protein_coding -124,FNDC10,ENSG00000228594,protein_coding -34642,CLDN25,ENSG00000228607,protein_coding -17578,PROB1,ENSG00000228672,protein_coding -50889,ARL17B,ENSG00000228696,protein_coding -16736,DHFR,ENSG00000228716,protein_coding -19352,SAPCD1,ENSG00000228727,protein_coding -26563,CT45A5,ENSG00000228836,protein_coding -13109,USP17L30,ENSG00000228856,protein_coding -57855,TSPY3,ENSG00000228927,protein_coding -38925,RPL41,ENSG00000229117,protein_coding -33288,PGA4,ENSG00000229183,protein_coding -57548,RFPL4AL1,ENSG00000229292,protein_coding -31173,ORM1,ENSG00000229314,protein_coding -42580,SFTA3,ENSG00000229415,protein_coding -10442,SPINK8,ENSG00000229453,protein_coding -45008,PATL2,ENSG00000229474,protein_coding -37308,NKX1-2,ENSG00000229544,protein_coding -57849,TSPY8,ENSG00000229549,protein_coding -458,PRAMEF25,ENSG00000229571,protein_coding -13103,USP17L26,ENSG00000229579,protein_coding -50989,PRAC2,ENSG00000229637,protein_coding -41277,PRR20C,ENSG00000229665,protein_coding -24996,AL121578.2,ENSG00000229674,protein_coding -55987,ZNF492,ENSG00000229676,protein_coding -47538,ZNF688,ENSG00000229809,protein_coding -55157,PET100,ENSG00000229833,protein_coding -33287,PGA3,ENSG00000229859,protein_coding -15162,GK3P,ENSG00000229894,protein_coding -13086,FAM90A26,ENSG00000229924,protein_coding -21844,PRPS1L1,ENSG00000229937,protein_coding -10592,IQCF3,ENSG00000229972,protein_coding -44260,POTEB2,ENSG00000230031,protein_coding -31183,TEX53,ENSG00000230054,protein_coding -19830,ANKRD66,ENSG00000230062,protein_coding -4080,ACBD6,ENSG00000230124,protein_coding -18483,OR4F3,ENSG00000230178,protein_coding -23489,NFE4,ENSG00000230257,protein_coding -23765,SSU72P8,ENSG00000230268,protein_coding -11103,OR5H6,ENSG00000230301,protein_coding -26327,CT47A8,ENSG00000230347,protein_coding -22815,SPDYE21P,ENSG00000230358,protein_coding -13102,USP17L25,ENSG00000230430,protein_coding -29905,ANKRD18B,ENSG00000230453,protein_coding -56855,PPP5D1,ENSG00000230510,protein_coding -55138,MBD3L2,ENSG00000230522,protein_coding -27112,USP17L1,ENSG00000230549,protein_coding -17323,CCDC192,ENSG00000230561,protein_coding -26335,CT47A4,ENSG00000230594,protein_coding -31184,TEX48,ENSG00000230601,protein_coding -23861,AC011005.1,ENSG00000230626,protein_coding -37915,PRB4,ENSG00000230657,protein_coding -2278,SETSIP,ENSG00000230667,protein_coding -44829,ANKRD63,ENSG00000230778,protein_coding -24825,YY2,ENSG00000230797,protein_coding -18790,STMND1,ENSG00000230873,protein_coding -48760,HSBP1,ENSG00000230989,protein_coding -13106,USP17L28,ENSG00000231051,protein_coding -60081,KRTAP21-3,ENSG00000231068,protein_coding -11095,OR5H1,ENSG00000231192,protein_coding -11931,PLSCR5,ENSG00000231213,protein_coding -50760,CFAP97D1,ENSG00000231256,protein_coding -57528,SBK3,ENSG00000231274,protein_coding -19444,HLA-DPA1,ENSG00000231389,protein_coding -13087,USP17L10,ENSG00000231396,protein_coding -19464,RPS18,ENSG00000231500,protein_coding -13107,USP17L29,ENSG00000231637,protein_coding -39442,TSPAN19,ENSG00000231738,protein_coding -4255,AL136454.1,ENSG00000231767,protein_coding -52158,AKAIN1,ENSG00000231824,protein_coding -19386,CYP21A2,ENSG00000231852,protein_coding -11110,OR5K2,ENSG00000231861,protein_coding -37887,PRH1,ENSG00000231887,protein_coding -56661,PSG1,ENSG00000231924,protein_coding -19471,TAPBP,ENSG00000231925,protein_coding -17990,PPP1R2B,ENSG00000231989,protein_coding -24877,MAGEB6B,ENSG00000232030,protein_coding -19091,ZBED9,ENSG00000232040,protein_coding -42101,TMEM253,ENSG00000232070,protein_coding -10448,TMA7,ENSG00000232112,protein_coding -3959,TEX50,ENSG00000232113,protein_coding -26311,MCTS1,ENSG00000232119,protein_coding -8953,DYTN,ENSG00000232125,protein_coding -46754,MTRNR2L4,ENSG00000232196,protein_coding -4357,ASCL5,ENSG00000232237,protein_coding -46865,TMEM114,ENSG00000232258,protein_coding -60049,KRTAP25-1,ENSG00000232263,protein_coding -13101,USP17L24,ENSG00000232264,protein_coding -32033,OR52I1,ENSG00000232268,protein_coding -11109,OR5K1,ENSG00000232382,protein_coding -53651,SMIM26,ENSG00000232388,protein_coding -13090,USP17L13,ENSG00000232399,protein_coding -454,PRAMEF6,ENSG00000232423,protein_coding -31706,AJM1,ENSG00000232434,protein_coding -25384,KANTR,ENSG00000232593,protein_coding -19427,HLA-DQB2,ENSG00000232629,protein_coding -44680,GOLGA8N,ENSG00000232653,protein_coding -19319,TNF,ENSG00000232810,protein_coding -53631,PET117,ENSG00000232838,protein_coding -49959,LYRM9,ENSG00000232859,protein_coding -27310,DEFB130A,ENSG00000232948,protein_coding -47119,NPIPA9,ENSG00000233024,protein_coding -44837,PHGR1,ENSG00000233041,protein_coding -27295,DEFB130B,ENSG00000233050,protein_coding -7868,RAB6D,ENSG00000233087,protein_coding -13088,USP17L11,ENSG00000233136,protein_coding -31751,RNF224,ENSG00000233198,protein_coding -47376,NPIPB7,ENSG00000233232,protein_coding -11097,OR5H15,ENSG00000233412,protein_coding -33140,BTBD18,ENSG00000233436,protein_coding -57515,TMEM238,ENSG00000233493,protein_coding -9569,TWIST2,ENSG00000233608,protein_coding -49477,PIRT,ENSG00000233670,protein_coding -11818,PRR23C,ENSG00000233701,protein_coding -7144,AC092835.1,ENSG00000233757,protein_coding -34236,TRIM49D2,ENSG00000233802,protein_coding -57847,TSPY4,ENSG00000233803,protein_coding -29757,IFNA13,ENSG00000233816,protein_coding -19037,HIST1H2BN,ENSG00000233822,protein_coding -44317,POTEB,ENSG00000233917,protein_coding -55202,RPS28,ENSG00000233927,protein_coding -45091,CTXN2,ENSG00000233932,protein_coding -527,UQCRHL,ENSG00000233954,protein_coding -25434,PAGE2,ENSG00000234068,protein_coding -19209,TRIM26,ENSG00000234127,protein_coding -23761,TMEM229A,ENSG00000234224,protein_coding -41280,PRR20E,ENSG00000234278,protein_coding -18382,ZNF879,ENSG00000234284,protein_coding -60381,H2BFS,ENSG00000234289,protein_coding -58495,CCDC188,ENSG00000234409,protein_coding -58075,RBMY1A1,ENSG00000234414,protein_coding -45465,KBTBD13,ENSG00000234438,protein_coding -22706,ZNF736,ENSG00000234444,protein_coding -56690,PINLYP,ENSG00000234465,protein_coding -24669,CLDN34,ENSG00000234469,protein_coding -18152,C5orf58,ENSG00000234511,protein_coding -23183,FAM133B,ENSG00000234545,protein_coding -34919,OR10G8,ENSG00000234560,protein_coding -16288,MCIDAS,ENSG00000234602,protein_coding -29306,JRK,ENSG00000234616,protein_coding -46965,NPIPB2,ENSG00000234719,protein_coding -19284,HLA-B,ENSG00000234745,protein_coding -32815,C11orf94,ENSG00000234776,protein_coding -14925,IQCM,ENSG00000234828,protein_coding -29749,IFNA17,ENSG00000234829,protein_coding -33371,HNRNPUL2-BSCL2,ENSG00000234857,protein_coding -56770,APOC2,ENSG00000234906,protein_coding -59400,SHISA8,ENSG00000234965,protein_coding -57111,C19orf81,ENSG00000235034,protein_coding -111,ANKRD65,ENSG00000235098,protein_coding -31600,BRD3OS,ENSG00000235106,protein_coding -19080,ZSCAN31,ENSG00000235109,protein_coding -8952,FAM237A,ENSG00000235118,protein_coding -39787,C12orf75,ENSG00000235162,protein_coding -202,SMIM1,ENSG00000235169,protein_coding -29400,HGH1,ENSG00000235173,protein_coding -42313,PPP1R3E,ENSG00000235194,protein_coding -34354,KDM4E,ENSG00000235268,protein_coding -21442,RAMACL,ENSG00000235272,protein_coding -37003,RPEL1,ENSG00000235376,protein_coding -30038,SPAAR,ENSG00000235387,protein_coding -29870,SMIM27,ENSG00000235453,protein_coding -59427,NFAM1,ENSG00000235568,protein_coding -12912,NKX1-1,ENSG00000235608,protein_coding -23740,RNF148,ENSG00000235631,protein_coding -26702,CXorf51B,ENSG00000235699,protein_coding -5063,AL109810.2,ENSG00000235710,protein_coding -45866,ANKRD34C,ENSG00000235711,protein_coding -34814,MFRP,ENSG00000235718,protein_coding -3993,KIAA0040,ENSG00000235750,protein_coding -13105,USP17L27,ENSG00000235780,protein_coding -19465,B3GALT4,ENSG00000235863,protein_coding -3258,LCE6A,ENSG00000235942,protein_coding -26837,PNMA6A,ENSG00000235961,protein_coding -34997,PATE3,ENSG00000236027,protein_coding -11096,OR5H14,ENSG00000236032,protein_coding -19472,ZBTB22,ENSG00000236104,protein_coding -27113,USP17L4,ENSG00000236125,protein_coding -26337,CT47A3,ENSG00000236126,protein_coding -24056,CLEC2L,ENSG00000236279,protein_coding -32303,ZBED5,ENSG00000236287,protein_coding -50314,SLFN14,ENSG00000236320,protein_coding -3051,PPIAL4G,ENSG00000236334,protein_coding -25275,GAGE12F,ENSG00000236362,protein_coding -26341,CT47A1,ENSG00000236371,protein_coding -50727,CCDC200,ENSG00000236383,protein_coding -52289,SLC35G4,ENSG00000236396,protein_coding -24222,TAS2R39,ENSG00000236398,protein_coding -57863,TSPY10,ENSG00000236424,protein_coding -40836,UBE2L5,ENSG00000236444,protein_coding -26316,CT47B1,ENSG00000236446,protein_coding -31646,AL354761.1,ENSG00000236543,protein_coding -21703,ZNF853,ENSG00000236609,protein_coding -29743,IFNA4,ENSG00000236637,protein_coding -14372,ARHGEF38,ENSG00000236699,protein_coding -25272,GAGE12B,ENSG00000236737,protein_coding -20865,CTAGE9,ENSG00000236761,protein_coding -852,AL391650.1,ENSG00000236782,protein_coding -10494,C3orf84,ENSG00000236980,protein_coding -34918,OR10G9,ENSG00000236981,protein_coding -27163,USP17L8,ENSG00000237038,protein_coding -20884,TAAR9,ENSG00000237110,protein_coding -14875,C4orf51,ENSG00000237136,protein_coding -48289,B3GNT9,ENSG00000237172,protein_coding -17446,CDKN2AIPNL,ENSG00000237190,protein_coding -55136,MBD3L5,ENSG00000237247,protein_coding -44969,CKMT1B,ENSG00000237289,protein_coding -74,RNF223,ENSG00000237330,protein_coding -34998,PATE4,ENSG00000237353,protein_coding -41335,AL445989.1,ENSG00000237378,protein_coding -32904,OR4A47,ENSG00000237388,protein_coding -9432,PRSS56,ENSG00000237412,protein_coding -55891,AC008554.1,ENSG00000237440,protein_coding -19470,RGL2,ENSG00000237441,protein_coding -56812,BHMG1,ENSG00000237452,protein_coding -37388,C10orf143,ENSG00000237489,protein_coding -46987,SHISA9,ENSG00000237515,protein_coding -55245,OR7E24,ENSG00000237521,protein_coding -7721,TEX51,ENSG00000237524,protein_coding -19425,HLA-DQA2,ENSG00000237541,protein_coding -19479,KIFC1,ENSG00000237649,protein_coding -6440,C2orf74,ENSG00000237651,protein_coding -25273,GAGE12C,ENSG00000237671,protein_coding -17907,IRGM,ENSG00000237693,protein_coding -474,PRAMEF33,ENSG00000237700,protein_coding -2473,AMY1A,ENSG00000237763,protein_coding -13208,FAM200B,ENSG00000237765,protein_coding -26333,CT47A5,ENSG00000237957,protein_coding -19146,OR2I1P,ENSG00000237988,protein_coding -57859,TSPY9P,ENSG00000238074,protein_coding -50894,LRRC37A2,ENSG00000238083,protein_coding -25036,MPC1L,ENSG00000238205,protein_coding -26541,ETDA,ENSG00000238210,protein_coding -31656,TMEM250,ENSG00000238227,protein_coding -5409,OR2W3,ENSG00000238243,protein_coding -25433,PAGE2B,ENSG00000238269,protein_coding -18654,TXNDC5,ENSG00000239264,protein_coding -58994,CASTOR1,ENSG00000239282,protein_coding -6936,RNF103,ENSG00000239305,protein_coding -33641,RBM14,ENSG00000239306,protein_coding -56314,ALKBH6,ENSG00000239382,protein_coding -10716,ASB14,ENSG00000239388,protein_coding -17662,PCDHA13,ENSG00000239389,protein_coding -5399,AC118470.1,ENSG00000239395,protein_coding -8337,KLHL41,ENSG00000239474,protein_coding -23363,CASTOR3,ENSG00000239521,protein_coding -31268,OR1J4,ENSG00000239590,protein_coding -6259,STPG4,ENSG00000239605,protein_coding -11578,PRR20G,ENSG00000239620,protein_coding -17362,MEIKIN,ENSG00000239642,protein_coding -51115,NME1,ENSG00000239672,protein_coding -49340,TNFSF12,ENSG00000239697,protein_coding -49545,CDRT4,ENSG00000239704,protein_coding -59303,APOBEC3G,ENSG00000239713,protein_coding -10617,TLR9,ENSG00000239732,protein_coding -6744,WBP1,ENSG00000239779,protein_coding -22512,MRPS17,ENSG00000239789,protein_coding -445,PRAMEF11,ENSG00000239810,protein_coding -27088,DEFA3,ENSG00000239839,protein_coding -21571,GET4,ENSG00000239857,protein_coding -50585,KRTAP9-2,ENSG00000239886,protein_coding -3727,C1orf226,ENSG00000239887,protein_coding -59337,ADSL,ENSG00000239900,protein_coding -32091,AC104389.4,ENSG00000239920,protein_coding -57429,LILRA4,ENSG00000239961,protein_coding -57446,LILRA2,ENSG00000239998,protein_coding -4032,TEX35,ENSG00000240021,protein_coding -2470,AMY2B,ENSG00000240038,protein_coding -12083,STRIT1,ENSG00000240045,protein_coding -19336,LY6G5B,ENSG00000240053,protein_coding -19433,PSMB9,ENSG00000240065,protein_coding -17725,PCDHGC3,ENSG00000240184,protein_coding -23872,SMKR1,ENSG00000240204,protein_coding -9471,UGT1A5,ENSG00000240224,protein_coding -21574,COX19,ENSG00000240230,protein_coding -27086,DEFA1B,ENSG00000240247,protein_coding -11713,ACAD11,ENSG00000240303,protein_coding -8803,PPIL3,ENSG00000240344,protein_coding -3252,LCE1F,ENSG00000240386,protein_coding -57469,KIR3DL2,ENSG00000240403,protein_coding -60057,KRTAP13-3,ENSG00000240432,protein_coding -49719,FOXO3B,ENSG00000240445,protein_coding -49628,TNFRSF13B,ENSG00000240505,protein_coding -50583,KRTAP9-1,ENSG00000240542,protein_coding -1834,L1TD1,ENSG00000240563,protein_coding -22097,AQP1,ENSG00000240583,protein_coding -40700,C1QTNF9,ENSG00000240654,protein_coding -11634,ISY1,ENSG00000240682,protein_coding -27574,PNMA2,ENSG00000240694,protein_coding -23169,LRRD1,ENSG00000240720,protein_coding -10293,KRBOX1,ENSG00000240747,protein_coding -17728,PCDHGC5,ENSG00000240764,protein_coding -39015,ARHGEF25,ENSG00000240771,protein_coding -54408,TMEM189,ENSG00000240849,protein_coding -5744,RDH14,ENSG00000240857,protein_coding -50569,KRTAP4-7,ENSG00000240871,protein_coding -11275,PLCXD2,ENSG00000240891,protein_coding -58785,MIF,ENSG00000240972,protein_coding -35469,NSUN6,ENSG00000241058,protein_coding -19428,HLA-DOB,ENSG00000241106,protein_coding -9467,UGT1A9,ENSG00000241119,protein_coding -60435,KRTAP10-5,ENSG00000241123,protein_coding -22247,YAE1,ENSG00000241127,protein_coding -5400,OR14A2,ENSG00000241128,protein_coding -22682,AC115220.1,ENSG00000241149,protein_coding -10382,TDGF1,ENSG00000241186,protein_coding -11244,C3orf85,ENSG00000241224,protein_coding -33807,KRTAP5-8,ENSG00000241233,protein_coding -50572,KRTAP4-16,ENSG00000241241,protein_coding -22776,CRCP,ENSG00000241258,protein_coding -49551,CDRT1,ENSG00000241322,protein_coding -25964,RPL36A,ENSG00000241343,protein_coding -59225,PDXP,ENSG00000241360,protein_coding -19218,RPP21,ENSG00000241370,protein_coding -8233,CD302,ENSG00000241399,protein_coding -19398,EGFL8,ENSG00000241404,protein_coding -23311,ATP5MF,ENSG00000241468,protein_coding -25364,SSX2,ENSG00000241476,protein_coding -59491,ARHGAP8,ENSG00000241484,protein_coding -26746,AC244197.3,ENSG00000241489,protein_coding -9770,ARPC4,ENSG00000241553,protein_coding -361,CORT,ENSG00000241563,protein_coding -50588,KRTAP9-4,ENSG00000241595,protein_coding -31889,KRTAP5-4,ENSG00000241598,protein_coding -9480,UGT1A1,ENSG00000241635,protein_coding -22091,INMT,ENSG00000241644,protein_coding -23303,ARPC1A,ENSG00000241685,protein_coding -53383,AL035460.1,ENSG00000241690,protein_coding -30955,TMEFF1,ENSG00000241697,protein_coding -3271,SPRR2A,ENSG00000241794,protein_coding -60163,ATP5PO,ENSG00000241837,protein_coding -45453,PLEKHO2,ENSG00000241839,protein_coding -27493,C8orf58,ENSG00000241852,protein_coding -59063,PISD,ENSG00000241878,protein_coding -36848,HOGA1,ENSG00000241935,protein_coding -60397,PWP2,ENSG00000241945,protein_coding -7268,AC079447.1,ENSG00000241962,protein_coding -58528,PI4KA,ENSG00000241973,protein_coding -31086,AKAP2,ENSG00000241978,protein_coding -57460,KIR3DL3,ENSG00000242019,protein_coding -44989,HYPK,ENSG00000242028,protein_coding -16016,AMACR,ENSG00000242110,protein_coding -59005,MTFP1,ENSG00000242114,protein_coding -10867,MDFIC2,ENSG00000242120,protein_coding -46464,ARHGDIG,ENSG00000242173,protein_coding -60122,TCP10L,ENSG00000242220,protein_coding -56668,PSG2,ENSG00000242221,protein_coding -59445,ARFGAP3,ENSG00000242247,protein_coding -3463,BGLAP,ENSG00000242252,protein_coding -58456,C22orf39,ENSG00000242259,protein_coding -23217,PEG10,ENSG00000242265,protein_coding -26339,CT47A2,ENSG00000242362,protein_coding -9464,UGT1A8,ENSG00000242366,protein_coding -54019,EIF6,ENSG00000242372,protein_coding -58088,RBMY1E,ENSG00000242389,protein_coding -17727,PCDHGC4,ENSG00000242419,protein_coding -6293,GTF2A1L,ENSG00000242441,protein_coding -108,MRPL20,ENSG00000242485,protein_coding -46141,ARPIN,ENSG00000242498,protein_coding -9465,UGT1A10,ENSG00000242515,protein_coding -53067,SERPINB10,ENSG00000242550,protein_coding -19437,HLA-DMB,ENSG00000242574,protein_coding -46471,DECR2,ENSG00000242612,protein_coding -31110,GNG10,ENSG00000242616,protein_coding -33182,CNTF,ENSG00000242689,protein_coding -40914,CCDC169,ENSG00000242715,protein_coding -25641,RTL5,ENSG00000242732,protein_coding -21640,AP5Z1,ENSG00000242802,protein_coding -55436,ZNF709,ENSG00000242852,protein_coding -44970,STRC,ENSG00000242866,protein_coding -58074,RBMY1B,ENSG00000242875,protein_coding -23179,ERVW-1,ENSG00000242950,protein_coding -17620,EIF4EBP3,ENSG00000243056,protein_coding -449,PRAMEF4,ENSG00000243073,protein_coding -56666,PSG11,ENSG00000243130,protein_coding -9474,UGT1A3,ENSG00000243135,protein_coding -56672,PSG4,ENSG00000243137,protein_coding -5947,MRPL33,ENSG00000243147,protein_coding -58376,MICAL3,ENSG00000243156,protein_coding -55292,PPAN-P2RY11,ENSG00000243207,protein_coding -17665,PCDHAC2,ENSG00000243232,protein_coding -6291,STON1,ENSG00000243244,protein_coding -25247,PRAF2,ENSG00000243279,protein_coding -3606,VSIG8,ENSG00000243284,protein_coding -23986,STMP1,ENSG00000243317,protein_coding -22796,KCTD7,ENSG00000243335,protein_coding -3391,EFNA4,ENSG00000243364,protein_coding -17158,TICAM2,ENSG00000243414,protein_coding -31082,PALM2,ENSG00000243444,protein_coding -12927,C4orf48,ENSG00000243449,protein_coding -10553,NAA80,ENSG00000243477,protein_coding -2472,AMY2A,ENSG00000243480,protein_coding -60441,KRTAP10-11,ENSG00000243489,protein_coding -20122,AL365232.1,ENSG00000243501,protein_coding -54706,TNFRSF6B,ENSG00000243509,protein_coding -54271,WFDC6,ENSG00000243543,protein_coding -22994,UPK3B,ENSG00000243566,protein_coding -60178,SMIM34A,ENSG00000243627,protein_coding -60147,IL10RB,ENSG00000243646,protein_coding -19373,CFB,ENSG00000243649,protein_coding -35869,ZNF487,ENSG00000243660,protein_coding -6579,WDR92,ENSG00000243667,protein_coding -51117,NME2,ENSG00000243678,protein_coding -10656,AC006254.1,ENSG00000243696,protein_coding -44906,PLA2G4B,ENSG00000243708,protein_coding -4885,LEFTY1,ENSG00000243709,protein_coding -1391,CFAP57,ENSG00000243710,protein_coding -47255,NPIPB5,ENSG00000243716,protein_coding -1736,TTC4,ENSG00000243725,protein_coding -19131,OR5V1,ENSG00000243729,protein_coding -1138,TMEM35B,ENSG00000243749,protein_coding -57462,KIR2DL3,ENSG00000243772,protein_coding -44904,JMJD7,ENSG00000243789,protein_coding -59300,APOBEC3D,ENSG00000243811,protein_coding -24284,OR2A7,ENSG00000243896,protein_coding -9198,TUBA4B,ENSG00000243910,protein_coding -60167,MRPS6,ENSG00000243927,protein_coding -5939,ZNF512,ENSG00000243943,protein_coding -19915,GSTA1,ENSG00000243955,protein_coding -26150,RTL9,ENSG00000243978,protein_coding -10608,ACY1,ENSG00000243989,protein_coding -54040,NFS1,ENSG00000244005,protein_coding -5194,MT1HL1,ENSG00000244020,protein_coding -60063,KRTAP19-3,ENSG00000244025,protein_coding -675,DDOST,ENSG00000244038,protein_coding -49984,TMEM199,ENSG00000244045,protein_coding -3238,LCE3C,ENSG00000244057,protein_coding -19913,GSTA2,ENSG00000244067,protein_coding -3274,SPRR2F,ENSG00000244094,protein_coding -31109,DNAJC25-GNG10,ENSG00000244115,protein_coding -9468,UGT1A7,ENSG00000244122,protein_coding -55296,P2RY11,ENSG00000244165,protein_coding -31697,TMEM141,ENSG00000244187,protein_coding -23318,TMEM225B,ENSG00000244219,protein_coding -18354,GMCL2,ENSG00000244234,protein_coding -31896,IFITM10,ENSG00000244242,protein_coding -19371,AL645922.1,ENSG00000244255,protein_coding -54263,DBNDD2,ENSG00000244274,protein_coding -19344,LY6G6D,ENSG00000244355,protein_coding -60071,KRTAP19-7,ENSG00000244362,protein_coding -58086,RBMY1D,ENSG00000244395,protein_coding -12567,ETV5,ENSG00000244405,protein_coding -33806,KRTAP5-7,ENSG00000244411,protein_coding -4287,CFHR1,ENSG00000244414,protein_coding -54039,RBM12,ENSG00000244462,protein_coding -9472,UGT1A4,ENSG00000244474,protein_coding -18705,ERVFRD-1,ENSG00000244476,protein_coding -57414,LILRA6,ENSG00000244482,protein_coding -58510,SCARF2,ENSG00000244486,protein_coding -59298,APOBEC3C,ENSG00000244509,protein_coding -50580,KRTAP4-2,ENSG00000244537,protein_coding -53327,RAD21L1,ENSG00000244588,protein_coding -10284,CCDC13,ENSG00000244607,protein_coding -6622,ASPRV1,ENSG00000244617,protein_coding -23331,OR2AE1,ENSG00000244623,protein_coding -60077,KRTAP20-1,ENSG00000244624,protein_coding -54406,UBE2V1,ENSG00000244687,protein_coding -24285,CTAGE8,ENSG00000244693,protein_coding -19850,PTCHD4,ENSG00000244694,protein_coding -19379,C4A,ENSG00000244731,protein_coding -32084,HBB,ENSG00000244734,protein_coding -58845,CRYBB2,ENSG00000244752,protein_coding -40872,N4BP2L2,ENSG00000244754,protein_coding -56367,ZNF585B,ENSG00000245680,protein_coding -56170,CEBPA,ENSG00000245848,protein_coding -37997,H2AFJ,ENSG00000246705,protein_coding -45467,UBAP1L,ENSG00000246922,protein_coding -40504,PGAM5,ENSG00000247077,protein_coding -53302,ZCCHC3,ENSG00000247315,protein_coding -32453,SPTY2D1OS,ENSG00000247595,protein_coding -10619,TWF2,ENSG00000247596,protein_coding -8762,MARS2,ENSG00000247626,protein_coding -25449,USP51,ENSG00000247746,protein_coding -56586,BCKDHA,ENSG00000248098,protein_coding -55743,INSL3,ENSG00000248099,protein_coding -17835,MARCOL,ENSG00000248109,protein_coding -14287,ADH1C,ENSG00000248144,protein_coding -19217,TRIM39-RPP21,ENSG00000248167,protein_coding -27492,AC037459.1,ENSG00000248235,protein_coding -15139,APELA,ENSG00000248329,protein_coding -129,CDK11B,ENSG00000248333,protein_coding -17663,PCDHAC1,ENSG00000248383,protein_coding -57397,TARM1,ENSG00000248385,protein_coding -59490,PRR5-ARHGAP8,ENSG00000248405,protein_coding -16898,POU5F2,ENSG00000248483,protein_coding -3684,PCP4L1,ENSG00000248485,protein_coding -10606,ABHD14A,ENSG00000248487,protein_coding -10659,STIMATE-MUSTN1,ENSG00000248592,protein_coding -33642,RBM14-RBM4,ENSG00000248643,protein_coding -8234,LY75-CD302,ENSG00000248672,protein_coding -12175,AC079594.2,ENSG00000248710,protein_coding -34806,CCDC153,ENSG00000248712,protein_coding -14294,C4orf54,ENSG00000248713,protein_coding -33635,ACTN3,ENSG00000248746,protein_coding -58995,AC004997.1,ENSG00000248751,protein_coding -21558,AC187653.1,ENSG00000248767,protein_coding -15137,SMIM31,ENSG00000248771,protein_coding -49341,TNFSF12-TNFSF13,ENSG00000248871,protein_coding -44689,FMN1,ENSG00000248905,protein_coding -23308,ATP5MF-PTCD1,ENSG00000248919,protein_coding -13096,USP17L19,ENSG00000248920,protein_coding -13099,USP17L22,ENSG00000248933,protein_coding -19438,AL645941.2,ENSG00000248993,protein_coding -13094,USP17L17,ENSG00000249104,protein_coding -56276,HAUS5,ENSG00000249115,protein_coding -54272,EPPIN-WFDC6,ENSG00000249139,protein_coding -21445,AL159163.1,ENSG00000249141,protein_coding -15830,TAF11L12,ENSG00000249156,protein_coding -17658,PCDHA11,ENSG00000249158,protein_coding -60160,AP000311.1,ENSG00000249209,protein_coding -59439,ATP5MGL,ENSG00000249222,protein_coding -45454,AC069368.1,ENSG00000249240,protein_coding -14080,TMEM150C,ENSG00000249242,protein_coding -22775,AC068533.4,ENSG00000249319,protein_coding -16531,NAIP,ENSG00000249437,protein_coding -49718,ZNF286B,ENSG00000249459,protein_coding -57723,ZNF324B,ENSG00000249471,protein_coding -19801,SPATS1,ENSG00000249481,protein_coding -13234,CLRN2,ENSG00000249581,protein_coding -59001,AC004832.3,ENSG00000249590,protein_coding -60145,AP000295.1,ENSG00000249624,protein_coding -15812,LINC02218,ENSG00000249662,protein_coding -13692,THEGL,ENSG00000249693,protein_coding -55443,ZNF564,ENSG00000249709,protein_coding -7201,FER1L5,ENSG00000249715,protein_coding -17583,ECSCR,ENSG00000249751,protein_coding -22509,AC092647.5,ENSG00000249773,protein_coding -13098,USP17L21,ENSG00000249811,protein_coding -20671,HS3ST5,ENSG00000249853,protein_coding -36099,MTRNR2L5,ENSG00000249860,protein_coding -56494,LGALS16,ENSG00000249861,protein_coding -6933,RNF103-CHMP3,ENSG00000249884,protein_coding -15513,PDCD6,ENSG00000249915,protein_coding -44665,GOLGA8K,ENSG00000249931,protein_coding -48272,TERB1,ENSG00000249961,protein_coding -36849,AL355315.1,ENSG00000249967,protein_coding -10350,TMEM158,ENSG00000249992,protein_coding -46136,ARPIN-AP3S2,ENSG00000250021,protein_coding -55832,YJEFN3,ENSG00000250067,protein_coding -17655,PCDHA10,ENSG00000250120,protein_coding -9771,ARPC4-TTLL3,ENSG00000250151,protein_coding -13400,PTTG2,ENSG00000250254,protein_coding -19429,AL669918.1,ENSG00000250264,protein_coding -14383,GIMD1,ENSG00000250298,protein_coding -27343,TRMT9B,ENSG00000250305,protein_coding -12855,ZNF718,ENSG00000250312,protein_coding -13313,SMIM20,ENSG00000250317,protein_coding -24982,AF241726.2,ENSG00000250349,protein_coding -14845,GYPB,ENSG00000250361,protein_coding -43650,TUNAR,ENSG00000250366,protein_coding -15158,TRIM75P,ENSG00000250374,protein_coding -26262,KIAA1210,ENSG00000250423,protein_coding -22096,AC004691.2,ENSG00000250424,protein_coding -58776,CHCHD10,ENSG00000250479,protein_coding -15149,FAM218A,ENSG00000250486,protein_coding -51727,CDK3,ENSG00000250506,protein_coding -37672,GPR162,ENSG00000250510,protein_coding -6243,ATP6V1E2,ENSG00000250565,protein_coding -29337,GLI4,ENSG00000250571,protein_coding -19342,LY6G6F-LY6G6D,ENSG00000250641,protein_coding -31897,AC068580.4,ENSG00000250644,protein_coding -14884,REELD1,ENSG00000250673,protein_coding -40913,CCDC169-SOHLH2,ENSG00000250709,protein_coding -1507,P3R3URF,ENSG00000250719,protein_coding -16156,SELENOP,ENSG00000250722,protein_coding -5745,NT5C1B-RDH14,ENSG00000250741,protein_coding -13097,USP17L20,ENSG00000250745,protein_coding -15835,TAF11L14,ENSG00000250782,protein_coding -56298,PRODH2,ENSG00000250799,protein_coding -17242,AC010255.3,ENSG00000250803,protein_coding -13672,EXOC1L,ENSG00000250821,protein_coding -13095,USP17L18,ENSG00000250844,protein_coding -13100,USP17L23,ENSG00000250913,protein_coding -11384,AC083800.1,ENSG00000251012,protein_coding -31457,AL672142.1,ENSG00000251184,protein_coding -25125,ZNF674,ENSG00000251192,protein_coding -17157,TMED7-TICAM2,ENSG00000251201,protein_coding -3392,AL691442.1,ENSG00000251246,protein_coding -56355,ZNF345,ENSG00000251247,protein_coding -20646,RFPL4B,ENSG00000251258,protein_coding -11671,ALG1L2,ENSG00000251287,protein_coding -59641,SHANK3,ENSG00000251322,protein_coding -30954,MSANTD3-TMEFF1,ENSG00000251349,protein_coding -58782,AP000350.4,ENSG00000251357,protein_coding -57647,ZNF550,ENSG00000251369,protein_coding -17485,DCANP1,ENSG00000251380,protein_coding -16580,FOXD1,ENSG00000251493,protein_coding -359,CENPS-CORT,ENSG00000251503,protein_coding -49552,AC005324.3,ENSG00000251537,protein_coding -8336,AC093899.2,ENSG00000251569,protein_coding -37916,PRB1,ENSG00000251655,protein_coding -17659,PCDHA12,ENSG00000251664,protein_coding -46566,PTX4,ENSG00000251692,protein_coding -29180,OC90,ENSG00000253117,protein_coding -4251,RGS21,ENSG00000253148,protein_coding -17722,PCDHGA12,ENSG00000253159,protein_coding -28587,C8orf88,ENSG00000253250,protein_coding -16433,SHLD3,ENSG00000253251,protein_coding -23548,CCDC71L,ENSG00000253276,protein_coding -22002,HOXA10,ENSG00000253293,protein_coding -990,TMEM200B,ENSG00000253304,protein_coding -17716,PCDHGB6,ENSG00000253305,protein_coding -41201,SERPINE3,ENSG00000253309,protein_coding -1394,C1orf210,ENSG00000253313,protein_coding -896,TRNP1,ENSG00000253368,protein_coding -27679,SMIM18,ENSG00000253457,protein_coding -17708,PCDHGA5,ENSG00000253485,protein_coding -51339,NACA2,ENSG00000253506,protein_coding -17711,PCDHGA7,ENSG00000253537,protein_coding -12660,PYDC2,ENSG00000253548,protein_coding -28475,SLC10A5,ENSG00000253598,protein_coding -36482,EIF5AL1,ENSG00000253626,protein_coding -27232,PRSS51,ENSG00000253649,protein_coding -41223,ALG11,ENSG00000253710,protein_coding -39319,ATXN7L3B,ENSG00000253719,protein_coding -27967,PRKDC,ENSG00000253729,protein_coding -17710,PCDHGA6,ENSG00000253731,protein_coding -17713,PCDHGA8,ENSG00000253767,protein_coding -41224,UTP14C,ENSG00000253797,protein_coding -3510,ETV3L,ENSG00000253831,protein_coding -17717,PCDHGA10,ENSG00000253846,protein_coding -17719,PCDHGA11,ENSG00000253873,protein_coding -17707,PCDHGB2,ENSG00000253910,protein_coding -17712,PCDHGB4,ENSG00000253953,protein_coding -27191,CLDN23,ENSG00000253958,protein_coding -56341,ZNF260,ENSG00000254004,protein_coding -28073,LYN,ENSG00000254087,protein_coding -27242,PINX1,ENSG00000254093,protein_coding -17718,PCDHGB7,ENSG00000254122,protein_coding -7402,CD8B2,ENSG00000254126,protein_coding -47436,NPIPB11,ENSG00000254206,protein_coding -17704,PCDHGB1,ENSG00000254221,protein_coding -17703,PCDHGA3,ENSG00000254245,protein_coding -29437,LRRC24,ENSG00000254402,protein_coding -59633,CHKB-CPT1B,ENSG00000254413,protein_coding -57204,SIGLEC14,ENSG00000254415,protein_coding -21007,PBOV1,ENSG00000254440,protein_coding -34588,HSPB2-C11orf52,ENSG00000254445,protein_coding -33136,TMX2-CTNND1,ENSG00000254462,protein_coding -33217,OR4D10,ENSG00000254466,protein_coding -33831,AP002495.1,ENSG00000254469,protein_coding -33575,AP5B1,ENSG00000254470,protein_coding -42375,CHMP4A,ENSG00000254505,protein_coding -57190,SIGLEC12,ENSG00000254521,protein_coding -14716,PABPC4L,ENSG00000254535,protein_coding -37449,AL360181.3,ENSG00000254536,protein_coding -34022,OMP,ENSG00000254550,protein_coding -1080,AL033529.1,ENSG00000254553,protein_coding -44387,MAGEL2,ENSG00000254585,protein_coding -32312,CSNK2A3,ENSG00000254598,protein_coding -37274,ARMS2,ENSG00000254636,protein_coding -31927,INS,ENSG00000254647,protein_coding -43758,RTL1,ENSG00000254656,protein_coding -27902,AC110275.1,ENSG00000254673,protein_coding -2015,FPGT,ENSG00000254685,protein_coding -42371,AL136295.1,ENSG00000254692,protein_coding -3725,AL512785.2,ENSG00000254706,protein_coding -58724,IGLL5,ENSG00000254709,protein_coding -3456,MEX3A,ENSG00000254726,protein_coding -33139,AP001931.1,ENSG00000254732,protein_coding -34917,OR10G4,ENSG00000254737,protein_coding -33351,EEF1G,ENSG00000254772,protein_coding -48260,CKLF-CMTM1,ENSG00000254788,protein_coding -54260,SYS1-DBNDD2,ENSG00000254806,protein_coding -31952,SLC22A18AS,ENSG00000254827,protein_coding -33078,OR5M10,ENSG00000254834,protein_coding -47018,NPIPA2,ENSG00000254852,protein_coding -55763,MPV17L2,ENSG00000254858,protein_coding -19312,ATP6V1G2-DDX39B,ENSG00000254870,protein_coding -55815,BORCS8,ENSG00000254901,protein_coding -22093,INMT-MINDY4,ENSG00000254959,protein_coding -33116,AP000781.2,ENSG00000254979,protein_coding -33630,DPP3,ENSG00000254986,protein_coding -54555,STX16-NPEPL1,ENSG00000254995,protein_coding -17617,ANKHD1-EIF4EBP3,ENSG00000254996,protein_coding -33808,KRTAP5-9,ENSG00000254997,protein_coding -9794,BRK1,ENSG00000254999,protein_coding -34252,UBTFL1,ENSG00000255009,protein_coding -33080,OR5M1,ENSG00000255012,protein_coding -829,AL020996.2,ENSG00000255054,protein_coding -32433,SAA2-SAA4,ENSG00000255071,protein_coding -14187,PIGY,ENSG00000255072,protein_coding -33180,ZFP91-CNTF,ENSG00000255073,protein_coding -49559,AC005324.4,ENSG00000255104,protein_coding -52300,CHMP1B,ENSG00000255112,protein_coding -39774,EID3,ENSG00000255150,protein_coding -33197,GLYATL1B,ENSG00000255151,protein_coding -19350,MSH5-SAPCD1,ENSG00000255152,protein_coding -10743,HTD2,ENSG00000255154,protein_coding -29366,CCDC166,ENSG00000255181,protein_coding -44744,NANOGP8,ENSG00000255192,protein_coding -34475,CARD17,ENSG00000255221,protein_coding -33077,OR5M11,ENSG00000255223,protein_coding -34728,FXYD6-FXYD2,ENSG00000255245,protein_coding -27126,PRR23D1,ENSG00000255251,protein_coding -34733,SMIM35,ENSG00000255274,protein_coding -34602,AP002884.3,ENSG00000255292,protein_coding -34932,OR8G5,ENSG00000255298,protein_coding -45109,EID1,ENSG00000255302,protein_coding -32154,OR52B2,ENSG00000255307,protein_coding -20820,AL096711.2,ENSG00000255330,protein_coding -36911,AL133352.1,ENSG00000255339,protein_coding -45563,NOX5,ENSG00000255346,protein_coding -32521,CCDC179,ENSG00000255359,protein_coding -37905,TAS2R43,ENSG00000255374,protein_coding -27149,PRR23D2,ENSG00000255378,protein_coding -33245,OOSP4B,ENSG00000255393,protein_coding -40214,HCAR3,ENSG00000255398,protein_coding -17647,PCDHA3,ENSG00000255408,protein_coding -10912,EBLN2,ENSG00000255423,protein_coding -33362,AP001458.2,ENSG00000255432,protein_coding -47588,AC135050.2,ENSG00000255439,protein_coding -34477,CARD18,ENSG00000255501,protein_coding -33352,AP002990.1,ENSG00000255508,protein_coding -47389,NPIPB8,ENSG00000255524,protein_coding -42378,NEDD8-MDP1,ENSG00000255526,protein_coding -45286,POLR2M,ENSG00000255529,protein_coding -19343,LY6G6E,ENSG00000255552,protein_coding -34583,FDXACB1,ENSG00000255561,protein_coding -42130,OR10G2,ENSG00000255582,protein_coding -19586,RAB44,ENSG00000255587,protein_coding -37601,AC005833.1,ENSG00000255639,protein_coding -37871,AC068775.1,ENSG00000255641,protein_coding -34659,AP002373.1,ENSG00000255663,protein_coding -22041,TRIL,ENSG00000255690,protein_coding -51214,OR4D2,ENSG00000255713,protein_coding -56581,AC011462.1,ENSG00000255730,protein_coding -42273,OR6J1,ENSG00000255804,protein_coding -37868,KLRC4-KLRK1,ENSG00000255819,protein_coding -32292,MTRNR2L8,ENSG00000255823,protein_coding -17486,TIFAB,ENSG00000255833,protein_coding -4886,AL117348.2,ENSG00000255835,protein_coding -37899,TAS2R20,ENSG00000255837,protein_coding -34358,KDM4F,ENSG00000255855,protein_coding -30085,AL138752.2,ENSG00000255872,protein_coding -56558,CYP2A6,ENSG00000255974,protein_coding -3603,AL590560.1,ENSG00000256029,protein_coding -15050,CTSO,ENSG00000256043,protein_coding -25442,MTRNR2L10,ENSG00000256045,protein_coding -43935,APOPT1,ENSG00000256053,protein_coding -57630,TRAPPC2B,ENSG00000256060,protein_coding -45241,DNAAF4,ENSG00000256061,protein_coding -57228,ZNF432,ENSG00000256087,protein_coding -33440,AP000721.1,ENSG00000256100,protein_coding -20855,SMLR1,ENSG00000256162,protein_coding -37907,TAS2R30,ENSG00000256188,protein_coding -32369,AC018523.2,ENSG00000256206,protein_coding -54529,MTRNR2L3,ENSG00000256222,protein_coding -40529,ZNF10,ENSG00000256223,protein_coding -55872,ZNF486,ENSG00000256229,protein_coding -17906,SMIM3,ENSG00000256235,protein_coding -34798,HMBS,ENSG00000256269,protein_coding -56725,ZNF225,ENSG00000256294,protein_coding -33631,AP002748.4,ENSG00000256349,protein_coding -2932,PPIAL4D,ENSG00000256374,protein_coding -15048,ASIC5,ENSG00000256394,protein_coding -1718,AL357673.1,ENSG00000256407,protein_coding -37901,TAS2R31,ENSG00000256436,protein_coding -17635,DND1,ENSG00000256453,protein_coding -53255,SALL3,ENSG00000256463,protein_coding -43936,AL139300.1,ENSG00000256500,protein_coding -33668,AP003419.1,ENSG00000256514,protein_coding -51439,POLG2,ENSG00000256525,protein_coding -37910,SMIM10L1,ENSG00000256537,protein_coding -53368,AL049650.1,ENSG00000256566,protein_coding -35927,OR13A1,ENSG00000256574,protein_coding -33300,AP003108.2,ENSG00000256591,protein_coding -49907,MTRNR2L1,ENSG00000256618,protein_coding -22284,AC010132.3,ENSG00000256646,protein_coding -37852,CLEC12B,ENSG00000256660,protein_coding -7492,LIMS4,ENSG00000256671,protein_coding -57225,ZNF350,ENSG00000256683,protein_coding -33290,PGA5,ENSG00000256713,protein_coding -50881,STH,ENSG00000256762,protein_coding -55855,ZNF253,ENSG00000256771,protein_coding -37846,KLRF2,ENSG00000256797,protein_coding -49261,C17orf100,ENSG00000256806,protein_coding -48065,CAPNS2,ENSG00000256812,protein_coding -40530,AC026786.1,ENSG00000256825,protein_coding -40200,AC048338.1,ENSG00000256861,protein_coding -39697,SLC5A8,ENSG00000256870,protein_coding -35790,MTRNR2L7,ENSG00000256892,protein_coding -40187,AC069503.2,ENSG00000256950,protein_coding -30083,AL513165.2,ENSG00000256966,protein_coding -7463,LIMS3,ENSG00000256977,protein_coding -20123,KHDC1L,ENSG00000256980,protein_coding -51636,GPR142,ENSG00000257008,protein_coding -48524,HP,ENSG00000257017,protein_coding -38077,AC011604.2,ENSG00000257046,protein_coding -34341,C11orf97,ENSG00000257057,protein_coding -38080,AC022335.1,ENSG00000257062,protein_coding -21080,AL049844.1,ENSG00000257065,protein_coding -24097,KIAA1147,ENSG00000257093,protein_coding -56190,LSM14A,ENSG00000257103,protein_coding -46483,NHLRC4,ENSG00000257108,protein_coding -41942,OR11H12,ENSG00000257115,protein_coding -24118,TAS2R38,ENSG00000257138,protein_coding -21999,AC004080.3,ENSG00000257184,protein_coding -7491,AC112229.3,ENSG00000257207,protein_coding -40124,GATC,ENSG00000257218,protein_coding -4452,ZBED6,ENSG00000257315,protein_coding -24114,MGAM,ENSG00000257335,protein_coding -44012,AL928654.3,ENSG00000257341,protein_coding -55407,AC008770.1,ENSG00000257355,protein_coding -43052,FNTB,ENSG00000257365,protein_coding -38900,AC023055.1,ENSG00000257390,protein_coding -38922,AC034102.3,ENSG00000257411,protein_coding -55409,ZNF878,ENSG00000257446,protein_coding -31396,AL157935.2,ENSG00000257524,protein_coding -25965,RPL36A-HNRNPH2,ENSG00000257529,protein_coding -55420,ZNF625,ENSG00000257591,protein_coding -39487,GALNT4,ENSG00000257594,protein_coding -56892,INAFM1,ENSG00000257704,protein_coding -38945,CNPY2,ENSG00000257727,protein_coding -24119,MGAM2,ENSG00000257743,protein_coding -39932,AC002996.1,ENSG00000257767,protein_coding -39032,AC025165.3,ENSG00000257921,protein_coding -23442,CUX1,ENSG00000257923,protein_coding -51726,TEN1,ENSG00000257949,protein_coding -49144,P2RX5-TAX1BP3,ENSG00000257950,protein_coding -38544,TEX49,ENSG00000257987,protein_coding -39263,AC025263.2,ENSG00000258052,protein_coding -39290,AC073612.1,ENSG00000258064,protein_coding -24116,OR9A4,ENSG00000258083,protein_coding -40035,MAP1LC3B2,ENSG00000258102,protein_coding -24121,PRSS58,ENSG00000258223,protein_coding -24117,CLEC5A,ENSG00000258227,protein_coding -43048,CHURC1,ENSG00000258289,protein_coding -38891,AC009779.3,ENSG00000258311,protein_coding -49282,C17orf49,ENSG00000258315,protein_coding -54704,RTEL1,ENSG00000258366,protein_coding -19397,PPT2-EGFL8,ENSG00000258388,protein_coding -57256,ZNF578,ENSG00000258405,protein_coding -29181,AC100868.1,ENSG00000258417,protein_coding -48418,PDF,ENSG00000258429,protein_coding -42064,RNASE12,ENSG00000258436,protein_coding -42002,OR11H2,ENSG00000258453,protein_coding -44925,AC012651.1,ENSG00000258461,protein_coding -3629,AL139011.2,ENSG00000258465,protein_coding -43104,AL049779.1,ENSG00000258466,protein_coding -49998,AC005726.1,ENSG00000258472,protein_coding -45559,SPESP1,ENSG00000258484,protein_coding -34580,AP001781.2,ENSG00000258529,protein_coding -37312,AC068896.1,ENSG00000258539,protein_coding -58811,SPECC1L-ADORA2A,ENSG00000258555,protein_coding -32121,TRIM6-TRIM34,ENSG00000258588,protein_coding -42315,BCL2L2-PABPN1,ENSG00000258643,protein_coding -43165,SYNJ2BP-COX16,ENSG00000258644,protein_coding -43254,AC005520.1,ENSG00000258653,protein_coding -32122,TRIM34,ENSG00000258659,protein_coding -55831,AC011448.1,ENSG00000258674,protein_coding -28348,AC022826.2,ENSG00000258677,protein_coding -43654,AL355102.2,ENSG00000258691,protein_coding -53384,C20orf141,ENSG00000258713,protein_coding -27240,PINX1,ENSG00000258724,protein_coding -29965,AL162231.3,ENSG00000258728,protein_coding -42543,AL121594.1,ENSG00000258790,protein_coding -32953,OR4C13,ENSG00000258817,protein_coding -42069,RNASE4,ENSG00000258818,protein_coding -38996,AC137834.1,ENSG00000258830,protein_coding -48973,MC1R,ENSG00000258839,protein_coding -17125,AC008575.1,ENSG00000258864,protein_coding -57615,DUXA,ENSG00000258873,protein_coding -6653,AC007040.2,ENSG00000258881,protein_coding -51444,CEP95,ENSG00000258890,protein_coding -48976,TUBB3,ENSG00000258947,protein_coding -9544,UBE2F-SCLY,ENSG00000258984,protein_coding -43965,TMEM179,ENSG00000258986,protein_coding -42981,AL355916.3,ENSG00000258989,protein_coding -57857,TSPY1,ENSG00000258992,protein_coding -49546,TVP23C-CDRT4,ENSG00000259024,protein_coding -2016,FPGT-TNNI3K,ENSG00000259030,protein_coding -18655,BLOC1S5-TXNDC5,ENSG00000259040,protein_coding -42061,AL163195.3,ENSG00000259060,protein_coding -43576,AL110118.2,ENSG00000259066,protein_coding -39486,POC1B-GALNT4,ENSG00000259075,protein_coding -34046,NDUFC2-KCTD14,ENSG00000259112,protein_coding -51704,SMIM6,ENSG00000259120,protein_coding -42292,AL132780.3,ENSG00000259132,protein_coding -43363,AC007375.1,ENSG00000259164,protein_coding -42070,AL163636.2,ENSG00000259171,protein_coding -50917,ITGB3,ENSG00000259207,protein_coding -49337,SLC35G6,ENSG00000259224,protein_coding -44822,BUB1B-PAK6,ENSG00000259288,protein_coding -29045,ZHX1-C8orf76,ENSG00000259305,protein_coding -45434,AC087632.1,ENSG00000259316,protein_coding -44834,INAFM2,ENSG00000259330,protein_coding -45879,ST20-MTHFS,ENSG00000259332,protein_coding -42355,AL136295.3,ENSG00000259371,protein_coding -51419,GH1,ENSG00000259384,protein_coding -54067,TGIF2-RAB5IF,ENSG00000259399,protein_coding -45894,CTXND1,ENSG00000259417,protein_coding -42331,THTPA,ENSG00000259431,protein_coding -46083,MRPL46,ENSG00000259494,protein_coding -45996,UBE2Q2L,ENSG00000259511,protein_coding -42368,AL136295.4,ENSG00000259522,protein_coding -42363,AL136295.5,ENSG00000259529,protein_coding -34865,BLID,ENSG00000259571,protein_coding -47742,AC136428.1,ENSG00000259680,protein_coding -50918,AC068234.1,ENSG00000259753,protein_coding -46668,AC093525.1,ENSG00000259784,protein_coding -48942,SLC22A31,ENSG00000259803,protein_coding -5461,LYPD8,ENSG00000259823,protein_coding -48421,AC026464.1,ENSG00000259900,protein_coding -7113,AL845331.2,ENSG00000259916,protein_coding -10581,RBM15B,ENSG00000259956,protein_coding -55184,TGFBR3L,ENSG00000260001,protein_coding -45547,AC107871.1,ENSG00000260007,protein_coding -50978,HOXB7,ENSG00000260027,protein_coding -48606,AC009163.2,ENSG00000260092,protein_coding -23456,SPDYE6,ENSG00000260097,protein_coding -45061,AC090527.2,ENSG00000260170,protein_coding -31660,CCDC187,ENSG00000260220,protein_coding -31074,FRRS1L,ENSG00000260230,protein_coding -12018,AC020636.2,ENSG00000260234,protein_coding -3461,PMF1-BGLAP,ENSG00000260238,protein_coding -46666,AC093525.2,ENSG00000260272,protein_coding -18887,ARMH2,ENSG00000260286,protein_coding -50367,TBC1D3G,ENSG00000260287,protein_coding -48762,AC009119.2,ENSG00000260300,protein_coding -35460,MRC1,ENSG00000260314,protein_coding -50647,HSPB9,ENSG00000260325,protein_coding -47135,AC138811.2,ENSG00000260342,protein_coding -48420,AC026464.3,ENSG00000260371,protein_coding -29405,SCX,ENSG00000260428,protein_coding -48865,C16orf95,ENSG00000260456,protein_coding -49891,KCNJ18,ENSG00000260458,protein_coding -48456,AC012184.2,ENSG00000260537,protein_coding -26128,AL035425.2,ENSG00000260548,protein_coding -15500,DUX4,ENSG00000260596,protein_coding -48711,AC092718.3,ENSG00000260643,protein_coding -30404,ANKRD20A1,ENSG00000260691,protein_coding -45631,AC009690.1,ENSG00000260729,protein_coding -48489,TLE7,ENSG00000260734,protein_coding -26162,SERTM2,ENSG00000260802,protein_coding -45953,AC245033.1,ENSG00000260836,protein_coding -48254,AC010542.3,ENSG00000260851,protein_coding -53341,AL049634.2,ENSG00000260861,protein_coding -53903,XKR7,ENSG00000260903,protein_coding -48415,AC026464.4,ENSG00000260914,protein_coding -45235,CCPG1,ENSG00000260916,protein_coding -47503,SULT1A3,ENSG00000261052,protein_coding -24087,TMEM178B,ENSG00000261115,protein_coding -47050,AC140504.1,ENSG00000261130,protein_coding -46159,AC091167.2,ENSG00000261147,protein_coding -29382,EPPK1,ENSG00000261150,protein_coding -47152,CLEC19A,ENSG00000261210,protein_coding -57532,ZNF865,ENSG00000261221,protein_coding -29403,BOP1,ENSG00000261236,protein_coding -44598,GOLGA8T,ENSG00000261247,protein_coding -19266,MUC22,ENSG00000261272,protein_coding -38673,FIGNL2,ENSG00000261308,protein_coding -57116,AC010325.1,ENSG00000261341,protein_coding -51435,PECAM1,ENSG00000261371,protein_coding -51725,TEN1-CDK3,ENSG00000261408,protein_coding -35152,TUBB8,ENSG00000261456,protein_coding -47532,AC002310.4,ENSG00000261459,protein_coding -47724,TP53TG3B,ENSG00000261509,protein_coding -54018,AL121753.1,ENSG00000261582,protein_coding -29411,TMEM249,ENSG00000261587,protein_coding -33965,TPBGL,ENSG00000261594,protein_coding -48722,GAN,ENSG00000261609,protein_coding -48492,AC010547.4,ENSG00000261611,protein_coding -44571,GOLGA6L7,ENSG00000261649,protein_coding -45240,C15orf65,ENSG00000261652,protein_coding -29332,LY6L,ENSG00000261667,protein_coding -29410,SCRT1,ENSG00000261678,protein_coding -48525,HPR,ENSG00000261701,protein_coding -48598,AC009163.4,ENSG00000261717,protein_coding -46578,AL031708.1,ENSG00000261732,protein_coding -44379,GOLGA8S,ENSG00000261739,protein_coding -47439,BOLA2-SMG1P6,ENSG00000261740,protein_coding -28244,TCF24,ENSG00000261787,protein_coding -31740,AL929554.1,ENSG00000261793,protein_coding -44626,GOLGA8H,ENSG00000261794,protein_coding -11632,ISY1-RAB43,ENSG00000261796,protein_coding -47375,AC138894.1,ENSG00000261832,protein_coding -56547,MIA,ENSG00000261857,protein_coding -51155,SMIM36,ENSG00000261873,protein_coding -48346,AC040162.1,ENSG00000261884,protein_coding -49313,AC026954.2,ENSG00000261915,protein_coding -17715,PCDHGA9,ENSG00000261934,protein_coding -57023,GFY,ENSG00000261949,protein_coding -46713,LINC00514,ENSG00000262152,protein_coding -49194,AC233723.1,ENSG00000262165,protein_coding -19791,MYMX,ENSG00000262179,protein_coding -4200,OCLM,ENSG00000262180,protein_coding -17709,PCDHGB3,ENSG00000262209,protein_coding -46790,CORO7,ENSG00000262246,protein_coding -49304,AC003688.1,ENSG00000262302,protein_coding -49137,AC027796.3,ENSG00000262304,protein_coding -34441,MMP12,ENSG00000262406,protein_coding -22879,SPDYE9P,ENSG00000262461,protein_coding -49322,TMEM256-PLSCR3,ENSG00000262481,protein_coding -56444,CCER2,ENSG00000262484,protein_coding -49301,AC120057.2,ENSG00000262526,protein_coding -21008,SMIM28,ENSG00000262543,protein_coding -44985,AC018512.1,ENSG00000262560,protein_coding -17706,PCDHGA4,ENSG00000262576,protein_coding -46756,AC025283.2,ENSG00000262621,protein_coding -49112,OR1D5,ENSG00000262628,protein_coding -50906,AC005670.2,ENSG00000262633,protein_coding -32362,SPON1,ENSG00000262655,protein_coding -51958,AC139530.3,ENSG00000262660,protein_coding -49063,OVCA2,ENSG00000262664,protein_coding -49373,AC104581.2,ENSG00000262730,protein_coding -51957,MRPL12,ENSG00000262814,protein_coding -57179,C19orf84,ENSG00000262874,protein_coding -26856,CCNQ,ENSG00000262919,protein_coding -22927,GTF2I,ENSG00000263001,protein_coding -56726,ZNF234,ENSG00000263002,protein_coding -19335,AL662899.2,ENSG00000263020,protein_coding -45284,MYZAP,ENSG00000263155,protein_coding -48354,DPEP2NB,ENSG00000263201,protein_coding -55142,AC119396.1,ENSG00000263264,protein_coding -2843,PPIAL4A,ENSG00000263353,protein_coding -49475,TMEM238L,ENSG00000263429,protein_coding -3076,PPIAL4C,ENSG00000263464,protein_coding -34360,SRSF8,ENSG00000263465,protein_coding -2897,FAM72C,ENSG00000263513,protein_coding -4537,IKBKE,ENSG00000263528,protein_coding -49389,AC129492.4,ENSG00000263620,protein_coding -35945,MSMB,ENSG00000263639,protein_coding -50871,LINC02210-CRHR1,ENSG00000263715,protein_coding -35976,GDF2,ENSG00000263761,protein_coding -49413,AC135178.2,ENSG00000263809,protein_coding -50457,LINC00672,ENSG00000263874,protein_coding -3023,NBPF11,ENSG00000263956,protein_coding -4527,RHEX,ENSG00000263961,protein_coding -35235,AKR1C8P,ENSG00000264006,protein_coding -50536,AC073508.2,ENSG00000264058,protein_coding -49641,AC055811.2,ENSG00000264187,protein_coding -35953,ANXA8L1,ENSG00000264230,protein_coding -6727,AC006030.1,ENSG00000264324,protein_coding -2972,NOTCH2NLA,ENSG00000264343,protein_coding -51210,DYNLL2,ENSG00000264364,protein_coding -49458,MYH4,ENSG00000264424,protein_coding -3105,OTUD7B,ENSG00000264522,protein_coding -29773,AL359922.1,ENSG00000264545,protein_coding -29336,AC138696.1,ENSG00000264668,protein_coding -35996,NPY4R2,ENSG00000264717,protein_coding -51394,AC113554.1,ENSG00000264813,protein_coding -3011,GJA5,ENSG00000265107,protein_coding -50161,AC134669.1,ENSG00000265118,protein_coding -35979,ANXA8,ENSG00000265190,protein_coding -35977,RBP3,ENSG00000265203,protein_coding -2958,RBM8A,ENSG00000265241,protein_coding -51260,AC099850.2,ENSG00000265303,protein_coding -35942,TIMM23,ENSG00000265354,protein_coding -2949,RNF115,ENSG00000265491,protein_coding -60123,C21orf59-TCP10L,ENSG00000265590,protein_coding -52834,RPL17,ENSG00000265681,protein_coding -48292,AC074143.2,ENSG00000265690,protein_coding -35978,ZNF488,ENSG00000265763,protein_coding -2829,SEC22B,ENSG00000265808,protein_coding -28646,FSBP,ENSG00000265817,protein_coding -18659,EEF1E1-BLOC1S5,ENSG00000265818,protein_coding -2966,TXNIP,ENSG00000265972,protein_coding -4535,SRGAP2,ENSG00000266028,protein_coding -51936,BAHCC1,ENSG00000266074,protein_coding -51479,AC004805.1,ENSG00000266076,protein_coding -51204,AC015813.2,ENSG00000266086,protein_coding -4541,RASSF5,ENSG00000266094,protein_coding -51403,STRADA,ENSG00000266173,protein_coding -49957,AC005697.1,ENSG00000266202,protein_coding -23912,KLF14,ENSG00000266265,protein_coding -49610,AC098850.3,ENSG00000266302,protein_coding -2911,NBPF15,ENSG00000266338,protein_coding -35944,NCOA4,ENSG00000266412,protein_coding -3119,MRPS21,ENSG00000266472,protein_coding -35975,GDF10,ENSG00000266524,protein_coding -51701,MYO15B,ENSG00000266714,protein_coding -49944,AC015688.4,ENSG00000266728,protein_coding -51238,AC011195.2,ENSG00000266826,protein_coding -56195,AC092073.1,ENSG00000266953,protein_coding -56240,FXYD1,ENSG00000266964,protein_coding -50709,AARSD1,ENSG00000266967,protein_coding -52844,AC090227.1,ENSG00000266997,protein_coding -54927,AC006538.3,ENSG00000267001,protein_coding -56719,AC067968.1,ENSG00000267022,protein_coding -56350,ZNF850,ENSG00000267041,protein_coding -54864,AC005943.1,ENSG00000267059,protein_coding -50711,PTGES3L,ENSG00000267060,protein_coding -57489,AC010327.2,ENSG00000267110,protein_coding -56286,AD000671.2,ENSG00000267120,protein_coding -53285,AC090360.1,ENSG00000267127,protein_coding -52665,AC007998.2,ENSG00000267140,protein_coding -55066,AC011499.1,ENSG00000267157,protein_coding -51774,AC005837.2,ENSG00000267168,protein_coding -56736,AC245748.1,ENSG00000267173,protein_coding -55400,AC008770.2,ENSG00000267179,protein_coding -31692,LCN6,ENSG00000267206,protein_coding -50643,C17orf113,ENSG00000267221,protein_coding -52786,AC012254.2,ENSG00000267228,protein_coding -50646,AC099811.2,ENSG00000267261,protein_coding -38778,ATF7-NPFF,ENSG00000267281,protein_coding -55311,AC011511.4,ENSG00000267303,protein_coding -55076,AC104532.1,ENSG00000267314,protein_coding -51284,AC005702.1,ENSG00000267318,protein_coding -56987,AC008687.1,ENSG00000267335,protein_coding -56364,AC012309.1,ENSG00000267360,protein_coding -23477,UPK3BL1,ENSG00000267368,protein_coding -55029,AC011498.4,ENSG00000267385,protein_coding -51721,AC087289.4,ENSG00000267426,protein_coding -56768,APOC4,ENSG00000267467,protein_coding -55372,AC008481.3,ENSG00000267477,protein_coding -56737,ZNF285,ENSG00000267508,protein_coding -55299,S1PR2,ENSG00000267534,protein_coding -56388,AC093227.2,ENSG00000267552,protein_coding -2197,AC093155.3,ENSG00000267561,protein_coding -50276,AC004223.3,ENSG00000267618,protein_coding -56991,CGB1,ENSG00000267631,protein_coding -23478,AC105052.3,ENSG00000267645,protein_coding -55310,FDX2,ENSG00000267673,protein_coding -56723,ZNF224,ENSG00000267680,protein_coding -23993,LUZP6,ENSG00000267697,protein_coding -52874,AC091551.1,ENSG00000267699,protein_coding -57510,AC020922.1,ENSG00000267706,protein_coding -57567,EDDM13,ENSG00000267710,protein_coding -55073,AC024592.3,ENSG00000267740,protein_coding -56407,AC011479.1,ENSG00000267748,protein_coding -46817,SMIM22,ENSG00000267795,protein_coding -56291,LIN37,ENSG00000267796,protein_coding -55201,NDUFA7,ENSG00000267855,protein_coding -56609,AC243967.1,ENSG00000267881,protein_coding -43149,CCDC177,ENSG00000267909,protein_coding -55148,AC008878.1,ENSG00000267952,protein_coding -26752,MAGEA9B,ENSG00000267978,protein_coding -25204,SSX4,ENSG00000268009,protein_coding -56621,AC010616.1,ENSG00000268041,protein_coding -2985,NBPF12,ENSG00000268043,protein_coding -56436,AC008982.1,ENSG00000268083,protein_coding -26816,GABRQ,ENSG00000268089,protein_coding -26232,SLC6A14,ENSG00000268104,protein_coding -57644,AC003005.1,ENSG00000268107,protein_coding -57631,AC003002.1,ENSG00000268133,protein_coding -57637,AC004076.1,ENSG00000268163,protein_coding -55760,AC007192.1,ENSG00000268173,protein_coding -57599,SMIM17,ENSG00000268182,protein_coding -55804,AC002985.1,ENSG00000268193,protein_coding -26890,OPN1MW,ENSG00000268221,protein_coding -17171,ARL14EPL,ENSG00000268223,protein_coding -25996,TCP11X1,ENSG00000268235,protein_coding -9874,AC090004.1,ENSG00000268279,protein_coding -48995,SCGB1C2,ENSG00000268320,protein_coding -25379,FAM156A,ENSG00000268350,protein_coding -56688,L34079.1,ENSG00000268361,protein_coding -55158,AC008763.2,ENSG00000268400,protein_coding -56817,AC011530.1,ENSG00000268434,protein_coding -25368,SSX2B,ENSG00000268447,protein_coding -56946,AC008403.1,ENSG00000268465,protein_coding -57201,AC018755.2,ENSG00000268500,protein_coding -57634,AC003002.2,ENSG00000268533,protein_coding -26825,MAGEA2,ENSG00000268606,protein_coding -55152,AC008878.2,ENSG00000268614,protein_coding -26081,TEX13A,ENSG00000268629,protein_coding -56634,AC006486.1,ENSG00000268643,protein_coding -26922,CTAG1A,ENSG00000268651,protein_coding -56985,AC008687.4,ENSG00000268655,protein_coding -60616,AC213203.1,ENSG00000268674,protein_coding -55997,ZNF723,ENSG00000268696,protein_coding -26753,HSFX2,ENSG00000268738,protein_coding -57663,AC010522.1,ENSG00000268750,protein_coding -55675,AC008764.4,ENSG00000268790,protein_coding -56553,AC008537.1,ENSG00000268797,protein_coding -15813,AC106774.4,ENSG00000268799,protein_coding -55143,AC008878.3,ENSG00000268861,protein_coding -55432,AC008758.5,ENSG00000268870,protein_coding -26819,CSAG2,ENSG00000268902,protein_coding -26826,CSAG3,ENSG00000268916,protein_coding -26559,CT45A1,ENSG00000268940,protein_coding -57285,ERVV-2,ENSG00000268964,protein_coding -56548,MIA-RAB4B,ENSG00000268975,protein_coding -26675,SPANXN2,ENSG00000268988,protein_coding -25660,FAM236B,ENSG00000268994,protein_coding -57657,AC003006.1,ENSG00000269026,protein_coding -11074,MTRNR2L12,ENSG00000269028,protein_coding -55726,AC010319.2,ENSG00000269035,protein_coding -55664,CALR3,ENSG00000269058,protein_coding -56002,ZNF728,ENSG00000269067,protein_coding -55705,AC010646.1,ENSG00000269095,protein_coding -26562,CT45A3,ENSG00000269096,protein_coding -1558,TRABD2B,ENSG00000269113,protein_coding -57075,AC011452.1,ENSG00000269179,protein_coding -56449,FBXO17,ENSG00000269190,protein_coding -26073,TMSB15B,ENSG00000269226,protein_coding -55927,AC010615.4,ENSG00000269237,protein_coding -55451,AC010422.3,ENSG00000269242,protein_coding -55708,AC010463.1,ENSG00000269307,protein_coding -25254,MAGIX,ENSG00000269313,protein_coding -26919,IKBKG,ENSG00000269335,protein_coding -57664,ZNF587B,ENSG00000269343,protein_coding -57174,AC008750.8,ENSG00000269403,protein_coding -57100,SPIB,ENSG00000269404,protein_coding -25997,NXF2,ENSG00000269405,protein_coding -26894,OPN1MW3,ENSG00000269433,protein_coding -26000,NXF2B,ENSG00000269437,protein_coding -15840,H3.Y,ENSG00000269466,protein_coding -57027,AC010619.1,ENSG00000269469,protein_coding -57670,AC010326.2,ENSG00000269476,protein_coding -25662,DMRTC1,ENSG00000269502,protein_coding -57284,ERVV-1,ENSG00000269526,protein_coding -57633,AC003002.3,ENSG00000269533,protein_coding -56446,AC011455.2,ENSG00000269547,protein_coding -26754,TMEM185A,ENSG00000269556,protein_coding -26569,CT45A10,ENSG00000269586,protein_coding -55453,AC010422.5,ENSG00000269590,protein_coding -55444,AC010422.6,ENSG00000269693,protein_coding -57603,ZIM2,ENSG00000269699,protein_coding -55165,AC008763.3,ENSG00000269711,protein_coding -3065,NBPF9,ENSG00000269713,protein_coding -55718,CCDC194,ENSG00000269720,protein_coding -57140,AC011473.4,ENSG00000269741,protein_coding -26074,SLC25A53,ENSG00000269743,protein_coding -55434,AC008758.6,ENSG00000269755,protein_coding -25205,SSX4B,ENSG00000269791,protein_coding -57715,RNF225,ENSG00000269855,protein_coding -56552,EGLN2,ENSG00000269858,protein_coding -36829,ARHGAP19-SLIT1,ENSG00000269891,protein_coding -35529,COMMD3-BMI1,ENSG00000269897,protein_coding -24051,FMC1-LUC7L2,ENSG00000269955,protein_coding -20192,MEI4,ENSG00000269964,protein_coding -55252,ZNF559-ZNF177,ENSG00000270011,protein_coding -36803,AL365273.2,ENSG00000270099,protein_coding -5075,TSNAX-DISC1,ENSG00000270106,protein_coding -642,MICOS10-NBL1,ENSG00000270136,protein_coding -3660,AL591806.3,ENSG00000270149,protein_coding -12807,NCBP2AS2,ENSG00000270170,protein_coding -41759,BIVM-ERCC5,ENSG00000270181,protein_coding -5206,MTRNR2L11,ENSG00000270188,protein_coding -23471,AC093668.1,ENSG00000270249,protein_coding -3096,HIST2H4B,ENSG00000270276,protein_coding -53314,AL121758.1,ENSG00000270299,protein_coding -36991,BORCS7-ASMT,ENSG00000270316,protein_coding -2977,PPIAL4H,ENSG00000270339,protein_coding -50332,HEATR9,ENSG00000270379,protein_coding -14517,MTRNR2L13,ENSG00000270394,protein_coding -470,PRAMEF5,ENSG00000270601,protein_coding -22302,URGCP-MRPS24,ENSG00000270617,protein_coding -3053,NBPF14,ENSG00000270629,protein_coding -50323,TAF15,ENSG00000270647,protein_coding -24178,MTRNR2L6,ENSG00000270672,protein_coding -8756,HSPE1-MOB4,ENSG00000270757,protein_coding -50325,GAS2L2,ENSG00000270765,protein_coding -19513,RPS10-NUDT3,ENSG00000270800,protein_coding -50328,C17orf50,ENSG00000270806,protein_coding -3089,HIST2H4A,ENSG00000270882,protein_coding -50324,RASL10B,ENSG00000270885,protein_coding -26568,CT45A9,ENSG00000270946,protein_coding -24248,CTAGE15,ENSG00000271079,protein_coding -2357,TMEM56-RWDD3,ENSG00000271092,protein_coding -60612,AC240274.1,ENSG00000271254,protein_coding -13868,UGT2A2,ENSG00000271271,protein_coding -53313,SRXN1,ENSG00000271303,protein_coding -24256,CTAGE6,ENSG00000271321,protein_coding -3075,NBPF19,ENSG00000271383,protein_coding -2971,NBPF10,ENSG00000271425,protein_coding -50326,MMP28,ENSG00000271447,protein_coding -26565,CT45A2,ENSG00000271449,protein_coding -50335,CCL5,ENSG00000271503,protein_coding -2906,PPIAL4E,ENSG00000271567,protein_coding -2962,LIX1L,ENSG00000271601,protein_coding -51438,MILR1,ENSG00000271605,protein_coding -29412,AC233992.2,ENSG00000271698,protein_coding -1735,MROH7-TTC4,ENSG00000271723,protein_coding -1137,AC114490.2,ENSG00000271741,protein_coding -20286,AL589666.1,ENSG00000271793,protein_coding -2664,AL603832.3,ENSG00000271810,protein_coding -17510,SMIM32,ENSG00000271824,protein_coding -2242,AC093423.3,ENSG00000271949,protein_coding -2963,ANKRD34A,ENSG00000272031,protein_coding -21310,GTF2H5,ENSG00000272047,protein_coding -10563,Z84492.2,ENSG00000272104,protein_coding -18695,AL024498.2,ENSG00000272162,protein_coding -3094,HIST2H2AA4,ENSG00000272196,protein_coding -15430,AC018709.1,ENSG00000272297,protein_coding -10664,AC096887.1,ENSG00000272305,protein_coding -19512,NUDT3,ENSG00000272325,protein_coding -56284,KMT2B,ENSG00000272333,protein_coding -22960,POM121C,ENSG00000272391,protein_coding -20522,CD24,ENSG00000272398,protein_coding -9799,AC022384.1,ENSG00000272410,protein_coding -13991,FAM47E-STBD1,ENSG00000272414,protein_coding -19798,AL353588.1,ENSG00000272442,protein_coding -20322,CFAP206,ENSG00000272514,protein_coding -10658,MUSTN1,ENSG00000272573,protein_coding -12853,ZNF595,ENSG00000272602,protein_coding -48419,AC026464.6,ENSG00000272617,protein_coding -48996,DOC2B,ENSG00000272636,protein_coding -23317,AC005020.2,ENSG00000272647,protein_coding -17682,PCDHB16,ENSG00000272674,protein_coding -12772,AC069257.3,ENSG00000272741,protein_coding -17436,AC104109.3,ENSG00000272772,protein_coding -60437,KRTAP10-7,ENSG00000272804,protein_coding -38556,AC073610.2,ENSG00000272822,protein_coding -10671,DCP1A,ENSG00000272886,protein_coding -31698,AL355987.3,ENSG00000272896,protein_coding -54036,AL109827.1,ENSG00000272897,protein_coding -23849,ATP6V1FNB,ENSG00000272899,protein_coding -36385,AC022400.7,ENSG00000272916,protein_coding -37596,AC005832.4,ENSG00000272921,protein_coding -21649,RBAK-RBAKDN,ENSG00000272968,protein_coding -33504,ARL2-SNX15,ENSG00000273003,protein_coding -45628,AC009690.3,ENSG00000273025,protein_coding -7269,C2orf15,ENSG00000273045,protein_coding -54712,AL121845.2,ENSG00000273047,protein_coding -38802,AC012531.3,ENSG00000273049,protein_coding -37974,GRIN2B,ENSG00000273079,protein_coding -3400,AL713999.1,ENSG00000273088,protein_coding -56615,LYPD4,ENSG00000273111,protein_coding -2840,NBPF26,ENSG00000273136,protein_coding -54709,AL121845.3,ENSG00000273154,protein_coding -7271,AC092587.1,ENSG00000273155,protein_coding -40694,AL359736.1,ENSG00000273167,protein_coding -49989,AC002094.3,ENSG00000273171,protein_coding -44403,SNURF,ENSG00000273173,protein_coding -2894,HIST2H3PS2,ENSG00000273213,protein_coding -17357,AC008695.1,ENSG00000273217,protein_coding -12874,TMEM271,ENSG00000273238,protein_coding -43613,AL049839.2,ENSG00000273259,protein_coding -6260,AC073283.3,ENSG00000273269,protein_coding -1081,ZBTB8B,ENSG00000273274,protein_coding -10292,AC092042.3,ENSG00000273291,protein_coding -16017,C1QTNF3-AMACR,ENSG00000273294,protein_coding -12776,TM4SF19-TCTEX1D2,ENSG00000273331,protein_coding -6581,AC017083.3,ENSG00000273398,protein_coding -60581,AC011841.1,ENSG00000273496,protein_coding -50412,TBC1D3K,ENSG00000273513,protein_coding -30183,FOXD4L6,ENSG00000273514,protein_coding -22871,SPDYE8P,ENSG00000273520,protein_coding -46067,AGBL1,ENSG00000273540,protein_coding -19036,HIST1H4K,ENSG00000273542,protein_coding -60562,AC136616.1,ENSG00000273554,protein_coding -50446,CWC25,ENSG00000273559,protein_coding -59707,SMIM11B,ENSG00000273590,protein_coding -50431,EPOP,ENSG00000273604,protein_coding -50372,ZNHIT3,ENSG00000273611,protein_coding -26566,CT45A7,ENSG00000273696,protein_coding -19034,HIST1H2BM,ENSG00000273703,protein_coding -50384,LHX1,ENSG00000273706,protein_coding -54905,AC005258.1,ENSG00000273734,protein_coding -60589,AL592183.1,ENSG00000273748,protein_coding -44364,CYFIP1,ENSG00000273749,protein_coding -56742,CEACAM20,ENSG00000273777,protein_coding -18955,HIST1H2BG,ENSG00000273802,protein_coding -25286,USP27X,ENSG00000273820,protein_coding -16498,TAF9,ENSG00000273841,protein_coding -59228,NOL12,ENSG00000273899,protein_coding -44367,GOLGA6L1,ENSG00000273976,protein_coding -18965,HIST1H3G,ENSG00000273983,protein_coding -6743,INO80B-WBP1,ENSG00000274049,protein_coding -22936,CASTOR2,ENSG00000274070,protein_coding -44330,OR4M2,ENSG00000274102,protein_coding -60558,AC133551.1,ENSG00000274175,protein_coding -49872,NATD1,ENSG00000274180,protein_coding -26941,H2AFB1,ENSG00000274183,protein_coding -35949,ANTXRL,ENSG00000274209,protein_coding -50426,SOCS7,ENSG00000274211,protein_coding -50368,TBC1D3H,ENSG00000274226,protein_coding -58400,GGTLC3,ENSG00000274252,protein_coding -25270,GAGE13,ENSG00000274274,protein_coding -59676,CBSL,ENSG00000274276,protein_coding -7185,ADRA2B,ENSG00000274286,protein_coding -18946,HIST1H2BE,ENSG00000274290,protein_coding -53330,AL136531.2,ENSG00000274322,protein_coding -30382,ZNF658,ENSG00000274349,protein_coding -1373,TMEM269,ENSG00000274386,protein_coding -59783,TPTE,ENSG00000274391,protein_coding -50415,TBC1D3D,ENSG00000274419,protein_coding -28335,C8orf89,ENSG00000274443,protein_coding -50414,TBC1D3L,ENSG00000274512,protein_coding -22937,RCC1L,ENSG00000274523,protein_coding -49988,SEBOX,ENSG00000274529,protein_coding -59663,CU639417.1,ENSG00000274559,protein_coding -25302,DGKK,ENSG00000274588,protein_coding -58570,RIMBP3B,ENSG00000274600,protein_coding -50421,TBC1D3,ENSG00000274611,protein_coding -18961,HIST1H4F,ENSG00000274618,protein_coding -19046,HIST1H2BO,ENSG00000274641,protein_coding -50349,CCL23,ENSG00000274736,protein_coding -52780,ELOA3D,ENSG00000274744,protein_coding -60089,KRTAP7-1,ENSG00000274749,protein_coding -18958,HIST1H3E,ENSG00000274750,protein_coding -456,PRAMEF27,ENSG00000274764,protein_coding -26962,F8A2,ENSG00000274791,protein_coding -60572,AC171558.1,ENSG00000274792,protein_coding -50357,TBC1D3B,ENSG00000274808,protein_coding -11714,NPHP3-ACAD11,ENSG00000274810,protein_coding -60579,MAFIP,ENSG00000274847,protein_coding -31855,PANO1,ENSG00000274897,protein_coding -50364,TBC1D3I,ENSG00000274933,protein_coding -1249,AL139260.3,ENSG00000274944,protein_coding -19003,HIST1H2AH,ENSG00000274997,protein_coding -58670,ZNF280B,ENSG00000275004,protein_coding -50435,MLLT6,ENSG00000275023,protein_coding -47722,TP53TG3E,ENSG00000275034,protein_coding -6374,PPP4R3B,ENSG00000275052,protein_coding -60611,AC233755.1,ENSG00000275063,protein_coding -50402,SYNRG,ENSG00000275066,protein_coding -27469,NUDT18,ENSG00000275074,protein_coding -7142,ZNF2,ENSG00000275111,protein_coding -25271,GAGE2E,ENSG00000275113,protein_coding -19043,HIST1H4L,ENSG00000275126,protein_coding -50342,CCL16,ENSG00000275152,protein_coding -12393,AC117457.1,ENSG00000275163,protein_coding -57440,LENG9,ENSG00000275183,protein_coding -19038,HIST1H2AK,ENSG00000275221,protein_coding -60571,AC171558.3,ENSG00000275249,protein_coding -50353,CCL4,ENSG00000275302,protein_coding -27183,PRAG1,ENSG00000275342,protein_coding -23770,C7orf77,ENSG00000275356,protein_coding -19042,HIST1H3I,ENSG00000275379,protein_coding -50350,CCL18,ENSG00000275385,protein_coding -56507,FCGBP,ENSG00000275395,protein_coding -50408,HNF1B,ENSG00000275410,protein_coding -59654,FP565260.1,ENSG00000275464,protein_coding -50448,C17orf98,ENSG00000275489,protein_coding -30400,AL627230.1,ENSG00000275493,protein_coding -25664,FAM236A,ENSG00000275520,protein_coding -21616,GRIFIN,ENSG00000275572,protein_coding -27074,XKR5,ENSG00000275591,protein_coding -18962,HIST1H4G,ENSG00000275663,protein_coding -46161,AC091167.6,ENSG00000275674,protein_coding -50345,CCL15-CCL14,ENSG00000275688,protein_coding -50386,AATF,ENSG00000275700,protein_coding -18964,HIST1H2BH,ENSG00000275713,protein_coding -18928,HIST1H3A,ENSG00000275714,protein_coding -50346,CCL15,ENSG00000275718,protein_coding -50340,LYZL6,ENSG00000275722,protein_coding -17799,AC091959.3,ENSG00000275740,protein_coding -461,HNRNPCL2,ENSG00000275774,protein_coding -37891,AC018630.2,ENSG00000275778,protein_coding -58407,RIMBP3,ENSG00000275793,protein_coding -50427,ARHGAP23,ENSG00000275832,protein_coding -44365,TUBGCP5,ENSG00000275835,protein_coding -60560,AC136612.1,ENSG00000275869,protein_coding -59677,U2AF1L5,ENSG00000275895,protein_coding -24189,PRSS2,ENSG00000275896,protein_coding -50370,TBC1D3F,ENSG00000275954,protein_coding -30389,SPATA31A3,ENSG00000275969,protein_coding -59669,SIK1B,ENSG00000275993,protein_coding -60593,AC007325.1,ENSG00000276017,protein_coding -50401,DUSP14,ENSG00000276023,protein_coding -30249,SPATA31A7,ENSG00000276040,protein_coding -55048,UHRF1,ENSG00000276043,protein_coding -40173,ORAI1,ENSG00000276045,protein_coding -50360,CCL4L2,ENSG00000276070,protein_coding -59681,CRYAA2,ENSG00000276076,protein_coding -50359,CCL3L1,ENSG00000276085,protein_coding -5831,AC008073.3,ENSG00000276087,protein_coding -31004,OR13C2,ENSG00000276119,protein_coding -19001,HIST1H4I,ENSG00000276180,protein_coding -30372,ANKRD20A3,ENSG00000276203,protein_coding -49424,PIK3R6,ENSG00000276231,protein_coding -50398,TADA2A,ENSG00000276234,protein_coding -42134,OR4E1,ENSG00000276240,protein_coding -60583,AC011043.1,ENSG00000276256,protein_coding -59710,KCNE1B,ENSG00000276289,protein_coding -50445,PIP4K2B,ENSG00000276293,protein_coding -19076,AL021997.3,ENSG00000276302,protein_coding -60606,AC004556.1,ENSG00000276345,protein_coding -19033,HIST1H2AJ,ENSG00000276368,protein_coding -50343,CCL14,ENSG00000276409,protein_coding -18933,HIST1H2BB,ENSG00000276410,protein_coding -28424,AC036214.3,ENSG00000276418,protein_coding -35998,FAM25C,ENSG00000276430,protein_coding -36779,AL583836.1,ENSG00000276490,protein_coding -17714,PCDHGB5,ENSG00000276547,protein_coding -30243,SPATA31A5,ENSG00000276581,protein_coding -4524,RAB7B,ENSG00000276600,protein_coding -59653,FP565260.2,ENSG00000276612,protein_coding -41387,DACH1,ENSG00000276644,protein_coding -603,PADI6,ENSG00000276747,protein_coding -60569,AC136352.2,ENSG00000276760,protein_coding -19040,HIST1H2AL,ENSG00000276903,protein_coding -58800,GSTT4,ENSG00000276950,protein_coding -18954,HIST1H4E,ENSG00000276966,protein_coding -457,HNRNPCL3,ENSG00000277058,protein_coding -18956,HIST1H2AE,ENSG00000277075,protein_coding -59650,FP565260.3,ENSG00000277117,protein_coding -22853,TYW1B,ENSG00000277149,protein_coding -26964,F8A3,ENSG00000277150,protein_coding -18947,HIST1H4D,ENSG00000277157,protein_coding -50375,PIGW,ENSG00000277161,protein_coding -60595,AC007325.2,ENSG00000277196,protein_coding -26942,F8A1,ENSG00000277203,protein_coding -18952,HIST1H2BF,ENSG00000277224,protein_coding -50441,PCGF2,ENSG00000277258,protein_coding -59708,FAM243B,ENSG00000277277,protein_coding -35894,C10orf142,ENSG00000277288,protein_coding -44241,GOLGA6L6,ENSG00000277322,protein_coding -50429,SRCIN1,ENSG00000277363,protein_coding -50425,GPR179,ENSG00000277399,protein_coding -60578,AC145212.1,ENSG00000277400,protein_coding -20665,MARCKS,ENSG00000277443,protein_coding -5362,ZNF670,ENSG00000277462,protein_coding -60615,AC213203.2,ENSG00000277475,protein_coding -48518,PKD1L3,ENSG00000277481,protein_coding -29334,GPIHBP1,ENSG00000277494,protein_coding -56853,PNMA8C,ENSG00000277531,protein_coding -26261,AL772284.2,ENSG00000277535,protein_coding -31003,OR13C5,ENSG00000277556,protein_coding -27547,NEFL,ENSG00000277586,protein_coding -54199,Z98752.3,ENSG00000277611,protein_coding -60596,BX072566.1,ENSG00000277630,protein_coding -50352,CCL3,ENSG00000277632,protein_coding -48007,AC007906.2,ENSG00000277639,protein_coding -60568,AC136352.3,ENSG00000277666,protein_coding -373,AL109811.3,ENSG00000277726,protein_coding -26966,H2AFB3,ENSG00000277745,protein_coding -35994,FO681492.1,ENSG00000277758,protein_coding -60564,AC136616.2,ENSG00000277761,protein_coding -18963,HIST1H3F,ENSG00000277775,protein_coding -50443,PSMB3,ENSG00000277791,protein_coding -60565,AC141272.1,ENSG00000277836,protein_coding -60610,AC233755.2,ENSG00000277856,protein_coding -26961,H2AFB2,ENSG00000277858,protein_coding -44349,GOLGA6L22,ENSG00000277865,protein_coding -6006,SRD5A2,ENSG00000277893,protein_coding -32138,OR52E5,ENSG00000277932,protein_coding -49345,SENP3-EIF4A1,ENSG00000277957,protein_coding -58511,AC007731.4,ENSG00000277971,protein_coding -50439,CISD3,ENSG00000277972,protein_coding -50339,RDM1,ENSG00000278023,protein_coding -50404,DDX52,ENSG00000278053,protein_coding -26895,TEX28,ENSG00000278057,protein_coding -26567,CT45A8,ENSG00000278085,protein_coding -57697,ZNF8,ENSG00000278129,protein_coding -1502,AL358075.4,ENSG00000278139,protein_coding -59207,SSTR3,ENSG00000278195,protein_coding -60584,AC011043.2,ENSG00000278198,protein_coding -19694,PRICKLE4,ENSG00000278224,protein_coding -50374,MYO19,ENSG00000278259,protein_coding -26564,CT45A6,ENSG00000278289,protein_coding -50416,TBC1D3C,ENSG00000278299,protein_coding -50376,GGNBP2,ENSG00000278311,protein_coding -56739,ZNF229,ENSG00000278318,protein_coding -60602,AL354822.1,ENSG00000278384,protein_coding -18932,HIST1H2AB,ENSG00000278463,protein_coding -50396,C17orf78,ENSG00000278505,protein_coding -44294,POTEB3,ENSG00000278522,protein_coding -50378,DHRS11,ENSG00000278535,protein_coding -50392,ACACA,ENSG00000278540,protein_coding -58403,TMEM191B,ENSG00000278558,protein_coding -45615,NR2E3,ENSG00000278570,protein_coding -18967,HIST1H2BI,ENSG00000278588,protein_coding -50419,TBC1D3E,ENSG00000278599,protein_coding -33363,C11orf98,ENSG00000278615,protein_coding -50379,MRM1,ENSG00000278619,protein_coding -60603,AC023491.2,ENSG00000278633,protein_coding -18929,HIST1H4A,ENSG00000278637,protein_coding -26318,AC008162.2,ENSG00000278646,protein_coding -45940,GOLGA6L10,ENSG00000278662,protein_coding -52779,ELOA3B,ENSG00000278674,protein_coding -19045,HIST1H2AM,ENSG00000278677,protein_coding -24419,IQCA1L,ENSG00000278685,protein_coding -60577,BX004987.1,ENSG00000278704,protein_coding -18930,HIST1H4B,ENSG00000278705,protein_coding -60563,AC136616.3,ENSG00000278782,protein_coding -26844,AC236972.4,ENSG00000278803,protein_coding -60594,AC007325.4,ENSG00000278817,protein_coding -19032,HIST1H3H,ENSG00000278828,protein_coding -50424,MRPL45,ENSG00000278845,protein_coding -47727,TP53TG3F,ENSG00000278848,protein_coding -32060,OR51G1,ENSG00000278870,protein_coding -30041,OR2S2,ENSG00000278889,protein_coding -59709,SMIM34B,ENSG00000278961,protein_coding -32225,OR10A6,ENSG00000279000,protein_coding -32097,OR51B2,ENSG00000279012,protein_coding -33149,OR6Q1,ENSG00000279051,protein_coding -31726,AL807752.6,ENSG00000279073,protein_coding -3557,OR10X1,ENSG00000279111,protein_coding -34935,OR8D2,ENSG00000279116,protein_coding -467,PRAMEF13,ENSG00000279169,protein_coding -20452,TSTD3,ENSG00000279170,protein_coding -5414,OR2L8,ENSG00000279263,protein_coding -32050,OR52R1,ENSG00000279270,protein_coding -5453,OR2T11,ENSG00000279301,protein_coding -33014,OR5L1,ENSG00000279395,protein_coding -44308,AC135068.3,ENSG00000279408,protein_coding -32190,OR2AG1,ENSG00000279486,protein_coding -59649,FP565260.4,ENSG00000279493,protein_coding -33000,OR4C16,ENSG00000279514,protein_coding -17581,AC142391.1,ENSG00000279686,protein_coding -33011,OR5D13,ENSG00000279761,protein_coding -46240,AC013394.1,ENSG00000279765,protein_coding -2917,PPIAL4F,ENSG00000279782,protein_coding -468,PRAMEF18,ENSG00000279804,protein_coding -6294,AC073082.1,ENSG00000279956,protein_coding -33065,OR5R1,ENSG00000279961,protein_coding -21017,GVQW2,ENSG00000279968,protein_coding -17692,AC244517.10,ENSG00000279983,protein_coding -32047,OR51F1,ENSG00000280021,protein_coding -59652,GATD3B,ENSG00000280071,protein_coding -34945,OR8B4,ENSG00000280090,protein_coding -31274,OR1B1,ENSG00000280094,protein_coding -21082,AL049844.3,ENSG00000280148,protein_coding -41315,PCDH20,ENSG00000280165,protein_coding -33160,OR1S1,ENSG00000280204,protein_coding -19133,OR12D2,ENSG00000280236,protein_coding -464,PRAMEF26,ENSG00000280267,protein_coding -33055,OR8K3,ENSG00000280314,protein_coding -59655,FP565260.6,ENSG00000280433,protein_coding -9184,AC068946.1,ENSG00000280537,protein_coding -10283,AC006059.2,ENSG00000280571,protein_coding -1481,CCDC163,ENSG00000280670,protein_coding -44301,LINC02203,ENSG00000280709,protein_coding -2961,AC243547.3,ENSG00000280778,protein_coding -47469,PAGR1,ENSG00000280789,protein_coding -47468,AC009133.6,ENSG00000280893,protein_coding -58057,RPS4Y2,ENSG00000280969,protein_coding -17567,MATR3,ENSG00000280987,protein_coding -22083,AC005154.5,ENSG00000281039,protein_coding -41217,TMEM272,ENSG00000281106,protein_coding -47470,AC120114.4,ENSG00000281348,protein_coding -4504,BLACAT1,ENSG00000281406,protein_coding -22077,AC006978.2,ENSG00000281593,protein_coding -20644,AL365214.3,ENSG00000281613,protein_coding -41040,AL512506.3,ENSG00000281883,protein_coding -24398,GIMAP1-GIMAP5,ENSG00000281887,protein_coding -17363,AC034228.4,ENSG00000281938,protein_coding -47555,TMEM265,ENSG00000281991,protein_coding -47553,AC106886.5,ENSG00000282034,protein_coding -20715,AL132671.2,ENSG00000282218,protein_coding -35391,AL157392.5,ENSG00000282246,protein_coding -13623,AC058822.1,ENSG00000282278,protein_coding -23324,CYP3A7-CYP3A51P,ENSG00000282301,protein_coding -26378,TEX13D,ENSG00000282419,protein_coding -2637,ADORA3,ENSG00000282608,protein_coding -48618,DUXB,ENSG00000282757,protein_coding -18888,AL512428.1,ENSG00000282804,protein_coding -26384,TEX13C,ENSG00000282815,protein_coding -851,C1orf232,ENSG00000282872,protein_coding -1519,TMEM275,ENSG00000282881,protein_coding -49258,AC004706.3,ENSG00000282936,protein_coding -18949,AL031777.3,ENSG00000282988,protein_coding -1434,KLF18,ENSG00000283039,protein_coding -43907,LBHD2,ENSG00000283071,protein_coding -25320,CENPVL2,ENSG00000283093,protein_coding -12578,AC068631.2,ENSG00000283149,protein_coding -12161,IQCJ-SCHIP1,ENSG00000283154,protein_coding -10507,AC104452.1,ENSG00000283189,protein_coding -41919,C13orf46,ENSG00000283199,protein_coding -56014,AC092329.3,ENSG00000283201,protein_coding -30665,AL353572.3,ENSG00000283205,protein_coding -41454,AC001226.2,ENSG00000283208,protein_coding -3263,SPRR5,ENSG00000283227,protein_coding -8131,AC068547.1,ENSG00000283228,protein_coding -27017,AC019257.8,ENSG00000283239,protein_coding -22375,CCDC201,ENSG00000283247,protein_coding -23146,FAM237B,ENSG00000283267,protein_coding -33389,TEX54,ENSG00000283268,protein_coding -17584,SMIM33,ENSG00000283288,protein_coding -37553,TEX52,ENSG00000283297,protein_coding -21835,AC019117.3,ENSG00000283321,protein_coding -3146,CTXND2,ENSG00000283324,protein_coding -30119,FAM240B,ENSG00000283329,protein_coding -41922,CFAP97D2,ENSG00000283361,protein_coding -30254,CNTNAP3C,ENSG00000283378,protein_coding -9288,CCDC195,ENSG00000283428,protein_coding -11037,CSNKA2IP,ENSG00000283434,protein_coding -49328,SPEM3,ENSG00000283439,protein_coding -26769,HSFX4,ENSG00000283463,protein_coding -10384,FAM240A,ENSG00000283473,protein_coding -30110,FAM95C,ENSG00000283486,protein_coding -37439,ZNF511-PRAP1,ENSG00000283496,protein_coding -57694,AC020915.5,ENSG00000283515,protein_coding -46880,LITAFD,ENSG00000283516,protein_coding -31539,PRRT1B,ENSG00000283526,protein_coding -24254,TCAF2C,ENSG00000283528,protein_coding -38760,AC021072.1,ENSG00000283536,protein_coding -10051,AC098650.1,ENSG00000283563,protein_coding -57521,C19orf85,ENSG00000283567,protein_coding -1371,AC098484.3,ENSG00000283580,protein_coding -25663,FAM236C,ENSG00000283594,protein_coding -46333,FAM169B,ENSG00000283597,protein_coding -25626,BX276092.9,ENSG00000283599,protein_coding -56786,EXOC3L2,ENSG00000283632,protein_coding -26543,ETDC,ENSG00000283644,protein_coding -42304,LMLN2,ENSG00000283654,protein_coding -56998,AC008687.8,ENSG00000283663,protein_coding -3917,MYOCOS,ENSG00000283683,protein_coding -26751,HSFX3,ENSG00000283697,protein_coding -35005,VSIG10L2,ENSG00000283703,protein_coding -10390,PRSS50,ENSG00000283706,protein_coding -15829,TAF11L11,ENSG00000283740,protein_coding -48621,CPHXL,ENSG00000283755,protein_coding -56273,PMIS2,ENSG00000283758,protein_coding -2413,AC118553.2,ENSG00000283761,protein_coding -12501,AC131160.1,ENSG00000283765,protein_coding -15834,TAF11L13,ENSG00000283776,protein_coding -17384,AC116366.3,ENSG00000283782,protein_coding -31911,PRR33,ENSG00000283787,protein_coding -58423,AC007326.4,ENSG00000283809,protein_coding -32018,SSU72P4,ENSG00000283873,protein_coding -10383,AC104304.1,ENSG00000283877,protein_coding -59263,TPTEP2-CSNK1E,ENSG00000283900,protein_coding -35808,AL117339.5,ENSG00000283930,protein_coding -4635,AC092017.3,ENSG00000283952,protein_coding -15824,TAF11L8,ENSG00000283967,protein_coding -32170,AC084337.2,ENSG00000283977,protein_coding -55460,GNG14,ENSG00000283980,protein_coding -15825,TAF11L9,ENSG00000283988,protein_coding -29316,SLURP2,ENSG00000283992,protein_coding -32015,SSU72P5,ENSG00000284018,protein_coding -35410,HSPA14,ENSG00000284024,protein_coding -15821,TAF11L6,ENSG00000284042,protein_coding -34324,AP001273.2,ENSG00000284057,protein_coding -5315,AL451007.3,ENSG00000284188,protein_coding -59624,SCO2,ENSG00000284194,protein_coding -15820,TAF11L5,ENSG00000284234,protein_coding -15819,TAF11L4,ENSG00000284283,protein_coding -23302,AC004922.1,ENSG00000284292,protein_coding -4633,AL590132.1,ENSG00000284299,protein_coding -32016,SSU72P2,ENSG00000284306,protein_coding -6737,C2orf81,ENSG00000284308,protein_coding -7464,AC013271.1,ENSG00000284337,protein_coding -31719,AL807752.7,ENSG00000284341,protein_coding -15826,TAF11L10,ENSG00000284356,protein_coding -15815,TAF11L2,ENSG00000284373,protein_coding -37752,AC092111.3,ENSG00000284393,protein_coding -46558,AL032819.3,ENSG00000284395,protein_coding -59338,AL022238.4,ENSG00000284431,protein_coding -32020,SSU72P7,ENSG00000284438,protein_coding -15818,TAF11L3,ENSG00000284439,protein_coding -22797,AC027644.4,ENSG00000284461,protein_coding -15822,TAF11L7,ENSG00000284465,protein_coding -7852,SMIM39,ENSG00000284479,protein_coding -48617,AC025287.4,ENSG00000284484,protein_coding -55475,THSD8,ENSG00000284491,protein_coding -29315,LYNX1-SLURP2,ENSG00000284505,protein_coding -48707,AC092718.8,ENSG00000284512,protein_coding -51760,AC015802.6,ENSG00000284526,protein_coding -32019,SSU72P3,ENSG00000284546,protein_coding -59299,AL022318.4,ENSG00000284554,protein_coding -34942,OR8B3,ENSG00000284609,protein_coding -46157,AC091167.7,ENSG00000284626,protein_coding -9308,SCYGR1,ENSG00000284629,protein_coding -9316,SCYGR4,ENSG00000284631,protein_coding -9322,SCYGR8,ENSG00000284635,protein_coding -54962,AC005551.1,ENSG00000284638,protein_coding -9312,SCYGR2,ENSG00000284643,protein_coding -42,OR4F16,ENSG00000284662,protein_coding -9318,SCYGR5,ENSG00000284667,protein_coding -34941,OR8B2,ENSG00000284680,protein_coding -13016,AC092442.1,ENSG00000284684,protein_coding -1765,AC119674.2,ENSG00000284686,protein_coding -24384,AC073111.4,ENSG00000284691,protein_coding -13871,AC108941.2,ENSG00000284695,protein_coding -6242,TMEM247,ENSG00000284701,protein_coding -9315,SCYGR3,ENSG00000284704,protein_coding -33753,SMIM38,ENSG00000284713,protein_coding -9321,SCYGR7,ENSG00000284718,protein_coding -38534,OR8S1,ENSG00000284723,protein_coding -9320,SCYGR6,ENSG00000284725,protein_coding -38671,C12orf81,ENSG00000284730,protein_coding -33067,AP002512.3,ENSG00000284732,protein_coding -27,OR4F29,ENSG00000284733,protein_coding -8514,PDE11A,ENSG00000284741,protein_coding -12527,EEF1AKMT4,ENSG00000284753,protein_coding -16666,AC022414.1,ENSG00000284762,protein_coding -5155,TBCE,ENSG00000284770,protein_coding -44972,AC011330.3,ENSG00000284772,protein_coding -1135,AC114490.3,ENSG00000284773,protein_coding -53652,AL121900.2,ENSG00000284776,protein_coding -31921,AC132217.2,ENSG00000284779,protein_coding -38686,SMIM41,ENSG00000284791,protein_coding -55768,AC008397.1,ENSG00000284797,protein_coding -25999,AC235565.2,ENSG00000284800,protein_coding -9191,AC068946.2,ENSG00000284820,protein_coding -5389,GCSAML-AS1,ENSG00000284824,protein_coding -37892,AC006518.7,ENSG00000284826,protein_coding -33845,AP000812.4,ENSG00000284844,protein_coding -12436,CCDC39,ENSG00000284862,protein_coding -33242,OOSP1,ENSG00000284873,protein_coding -58470,AC000093.1,ENSG00000284874,protein_coding -1347,AC119676.1,ENSG00000284895,protein_coding -44632,ARHGAP11B,ENSG00000284906,protein_coding -12528,ECE2,ENSG00000284917,protein_coding -33843,AP000812.5,ENSG00000284922,protein_coding -32089,AC104389.5,ENSG00000284931,protein_coding -40198,DIABLO,ENSG00000284934,protein_coding -46196,AC068831.7,ENSG00000284946,protein_coding -12097,AC104472.3,ENSG00000284952,protein_coding -27511,AC107959.5,ENSG00000284956,protein_coding -32650,AL049629.2,ENSG00000284969,protein_coding -31748,BX255925.3,ENSG00000284976,protein_coding -23470,AC093668.2,ENSG00000284981,protein_coding -26874,U52112.2,ENSG00000284987,protein_coding -1411,AL451062.3,ENSG00000284989,protein_coding -16661,AC008581.2,ENSG00000285000,protein_coding -33244,OOSP4A,ENSG00000285010,protein_coding -59323,AL022312.1,ENSG00000285025,protein_coding -47487,AC093512.2,ENSG00000285043,protein_coding -5151,TBCE,ENSG00000285053,protein_coding -19474,SMIM40,ENSG00000285064,protein_coding -44631,AC091057.6,ENSG00000285077,protein_coding -31214,AL160272.2,ENSG00000285082,protein_coding -19394,AL662884.4,ENSG00000285085,protein_coding -30427,AL358113.1,ENSG00000285130,protein_coding -39008,AC022506.1,ENSG00000285133,protein_coding -22048,AC004593.3,ENSG00000285162,protein_coding -25604,AL590764.2,ENSG00000285171,protein_coding -55766,AC008397.2,ENSG00000285188,protein_coding -12296,AC026316.4,ENSG00000285218,protein_coding -33240,OOSP3,ENSG00000285231,protein_coding -37653,AC006064.6,ENSG00000285238,protein_coding -31568,AL162417.1,ENSG00000285245,protein_coding -45265,AC090517.4,ENSG00000285253,protein_coding -10797,ATXN7,ENSG00000285258,protein_coding -30853,AL160269.1,ENSG00000285269,protein_coding -32610,AL035078.4,ENSG00000285283,protein_coding -24421,ABCF2,ENSG00000285292,protein_coding -59223,Z83844.3,ENSG00000285304,protein_coding -46751,AC025283.3,ENSG00000285329,protein_coding -14425,AC126283.2,ENSG00000285330,protein_coding -53929,FO393400.1,ENSG00000285382,protein_coding -59067,Z82190.2,ENSG00000285404,protein_coding -23473,POLR2J3,ENSG00000285437,protein_coding -21348,SOD2,ENSG00000285441,protein_coding -41214,AL162377.3,ENSG00000285444,protein_coding -20692,Z84488.2,ENSG00000285446,protein_coding -31139,ZNF883,ENSG00000285447,protein_coding -14141,AC093827.5,ENSG00000285458,protein_coding -49245,AC007846.2,ENSG00000285471,protein_coding -44326,AC134980.3,ENSG00000285472,protein_coding -18270,AC139491.7,ENSG00000285476,protein_coding -24420,AC021097.2,ENSG00000285480,protein_coding -56623,AC010616.2,ENSG00000285505,protein_coding -53530,AL034430.1,ENSG00000285508,protein_coding -34850,AP000646.1,ENSG00000285509,protein_coding -56235,AC020907.6,ENSG00000285526,protein_coding -38957,AC097104.1,ENSG00000285528,protein_coding -6204,AC013717.1,ENSG00000285542,protein_coding -25649,AL133500.1,ENSG00000285547,protein_coding -36156,AC067752.1,ENSG00000285551,protein_coding -11866,AC112504.2,ENSG00000285558,protein_coding -41340,AL445238.1,ENSG00000285566,protein_coding -11405,AC069444.2,ENSG00000285585,protein_coding -55455,AC010422.8,ENSG00000285589,protein_coding -24737,AC097625.2,ENSG00000285602,protein_coding -27146,AC084121.5,ENSG00000285607,protein_coding -27142,AC084121.6,ENSG00000285620,protein_coding -38969,AC117378.1,ENSG00000285625,protein_coding -235,AL031847.2,ENSG00000285629,protein_coding -11112,AC021660.3,ENSG00000285635,protein_coding -3335,AL358472.6,ENSG00000285641,protein_coding -30031,AL133410.3,ENSG00000285645,protein_coding -28230,AC009879.2,ENSG00000285655,protein_coding -27145,AC084121.7,ENSG00000285657,protein_coding -27131,AC134684.8,ENSG00000285687,protein_coding -10874,AC097634.4,ENSG00000285708,protein_coding -14849,AC098588.1,ENSG00000285713,protein_coding -27144,AC084121.8,ENSG00000285720,protein_coding -53531,AL034430.2,ENSG00000285723,protein_coding -21507,AL031315.1,ENSG00000285733,protein_coding -10590,AC097636.2,ENSG00000285749,protein_coding -58796,AC253536.7,ENSG00000285762,protein_coding -27132,AC134684.9,ENSG00000285765,protein_coding -23166,AC000120.2,ENSG00000285772,protein_coding -3957,AL139142.2,ENSG00000285777,protein_coding -3329,AL358472.7,ENSG00000285779,protein_coding -28231,AC009879.3,ENSG00000285791,protein_coding -27140,AC084121.9,ENSG00000285814,protein_coding -60289,WRB-SH3BGR,ENSG00000285815,protein_coding -33533,AP000944.2,ENSG00000285816,protein_coding -34749,AP001267.5,ENSG00000285827,protein_coding -1636,AL445685.3,ENSG00000285839,protein_coding -38090,AC010197.2,ENSG00000285854,protein_coding -18002,AC008676.3,ENSG00000285868,protein_coding -27782,AC144573.1,ENSG00000285880,protein_coding -18365,AC113348.1,ENSG00000285891,protein_coding -51228,AC004687.2,ENSG00000285897,protein_coding -37586,AC008012.1,ENSG00000285901,protein_coding -27141,AC084121.11,ENSG00000285913,protein_coding -44885,AC087721.2,ENSG00000285920,protein_coding -36881,AL133353.2,ENSG00000285932,protein_coding -27143,AC084121.12,ENSG00000285937,protein_coding -12620,AC072022.2,ENSG00000285938,protein_coding -44931,AC018362.3,ENSG00000285942,protein_coding -11315,AC112128.1,ENSG00000285943,protein_coding -3259,AL162596.1,ENSG00000285946,protein_coding -51420,AC127029.3,ENSG00000285947,protein_coding -27147,AC084121.13,ENSG00000285950,protein_coding -23167,AC000120.3,ENSG00000285953,protein_coding -27129,AC134684.11,ENSG00000285975,protein_coding -20035,AL135905.2,ENSG00000285976,protein_coding -18366,AC113348.2,ENSG00000285978,protein_coding -28855,AC012213.5,ENSG00000285982,protein_coding -21170,AL355312.6,ENSG00000285991,protein_coding -15511,AC021087.5,ENSG00000286001,protein_coding -49329,AC113189.9,ENSG00000286007,protein_coding -22952,AC211486.6,ENSG00000286014,protein_coding -5456,CR589904.2,ENSG00000286015,protein_coding -3054,AC239811.1,ENSG00000286019,protein_coding -53363,AL121899.2,ENSG00000286022,protein_coding -22946,AC211486.7,ENSG00000286038,protein_coding -8654,ASDURF,ENSG00000286053,protein_coding -58818,GGT1,ENSG00000286070,protein_coding -21693,AC009412.1,ENSG00000286075,protein_coding -30398,AL627230.3,ENSG00000286079,protein_coding -37282,AC073585.2,ENSG00000286088,protein_coding -15531,AC026740.3,ENSG00000286094,protein_coding -9213,SPEGNB,ENSG00000286095,protein_coding -55404,AC008770.4,ENSG00000286098,protein_coding -58567,AP000552.3,ENSG00000286102,protein_coding -19601,AL353579.1,ENSG00000286105,protein_coding -2839,AC253572.1,ENSG00000286106,protein_coding -31453,AL441992.2,ENSG00000286112,protein_coding -27704,AC083977.1,ENSG00000286131,protein_coding -55412,AC022415.2,ENSG00000286132,protein_coding -37278,AL603764.2,ENSG00000286135,protein_coding -22949,AC211486.8,ENSG00000286137,protein_coding -48408,DERPC,ENSG00000286140,protein_coding -9212,AC053503.7,ENSG00000286143,protein_coding -8655,AC012488.2,ENSG00000286165,protein_coding -15514,AHRR,ENSG00000286169,protein_coding -58410,AC023490.4,ENSG00000286175,protein_coding -3074,AC242842.3,ENSG00000286185,protein_coding -49240,AC055839.2,ENSG00000286190,protein_coding -21604,AC069288.1,ENSG00000286192,protein_coding -3073,AC242843.1,ENSG00000286219,protein_coding -48702,AC009070.1,ENSG00000286221,protein_coding -60512,AP000471.1,ENSG00000286224,protein_coding -22876,SPDYE17,ENSG00000286228,protein_coding -4790,AL445423.2,ENSG00000286231,protein_coding -53475,AL035461.3,ENSG00000286235,protein_coding -26015,ARMCX5-GPRASP2,ENSG00000286237,protein_coding -9277,AC093884.1,ENSG00000286239,protein_coding -57309,AC022137.3,ENSG00000286261,protein_coding -33455,AP001453.5,ENSG00000286264,protein_coding -58039,AC007244.1,ENSG00000286265,protein_coding -25215,AF196969.1,ENSG00000286268,protein_coding -18931,HIST1H3B,ENSG00000286522,protein_coding -5528,AC108488.2,ENSG00000286905,protein_coding -19475,AL662820.1,ENSG00000286920,protein_coding -18935,HIST1H3C,ENSG00000287080,protein_coding -19710,AL096814.2,ENSG00000287363,protein_coding -14188,AC098582.1,ENSG00000287542,protein_coding -26744,AC231656.1,ENSG00000287585,protein_coding -48629,AC106741.1,ENSG00000287694,protein_coding -33749,AP003071.5,ENSG00000287725,protein_coding -5071,AL445524.2,ENSG00000287856,protein_coding -39017,AC025165.6,ENSG00000287908,protein_coding -54195,AL031681.2,ENSG00000288000,protein_coding -25248,AC231657.3,ENSG00000288053,protein_coding diff --git a/sfaira/versions/genome_versions/human/__init__.py b/sfaira/versions/genome_versions/human/__init__.py deleted file mode 100644 index 90be3cbe7..000000000 --- a/sfaira/versions/genome_versions/human/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -from .genome_sizes import GENOME_SIZE_DICT -from .genome_container import GenomeContainer diff --git a/sfaira/versions/genome_versions/human/genome_container.py b/sfaira/versions/genome_versions/human/genome_container.py deleted file mode 100644 index 80e2bd8a3..000000000 --- a/sfaira/versions/genome_versions/human/genome_container.py +++ /dev/null @@ -1,19 +0,0 @@ -import os -import pandas - -from .genome_sizes import GENOME_SIZE_DICT - - -class GenomeContainer: - available_genomes = ["Homo_sapiens_GRCh38_97"] - - def __init__(self): - self.genomes = { - "Homo_sapiens_GRCh38_97": "Homo_sapiens_GRCh38_97.csv" - } - self.genome_sizes = { - "Homo_sapiens_GRCh38_97": GENOME_SIZE_DICT["Homo_sapiens_GRCh38_97"] - } - - def read_local_csv(self, genome): - return pandas.read_csv(os.path.join(str(os.path.dirname(__file__)), self.genomes[genome])) diff --git a/sfaira/versions/genome_versions/human/genome_sizes.py b/sfaira/versions/genome_versions/human/genome_sizes.py deleted file mode 100644 index db7d7fda7..000000000 --- a/sfaira/versions/genome_versions/human/genome_sizes.py +++ /dev/null @@ -1,3 +0,0 @@ -GENOME_SIZE_DICT = { - "Homo_sapiens_GRCh38_97": (19986, ) -} \ No newline at end of file diff --git a/sfaira/versions/genome_versions/mouse/Mus_musculus_GRCm38_97.csv b/sfaira/versions/genome_versions/mouse/Mus_musculus_GRCm38_97.csv deleted file mode 100644 index 9d74abdef..000000000 --- a/sfaira/versions/genome_versions/mouse/Mus_musculus_GRCm38_97.csv +++ /dev/null @@ -1,21901 +0,0 @@ -,name,ensg,type -11915,Gnai3,ENSMUSG00000000001,protein_coding -8485,Pbsn,ENSMUSG00000000003,protein_coding -47507,Cdc45,ENSMUSG00000000028,protein_coding -9749,Scml2,ENSMUSG00000000037,protein_coding -39914,Apoh,ENSMUSG00000000049,protein_coding -40286,Narf,ENSMUSG00000000056,protein_coding -19056,Cav2,ENSMUSG00000000058,protein_coding -40367,Klf6,ENSMUSG00000000078,protein_coding -14547,Scmh1,ENSMUSG00000000085,protein_coding -35704,Cox5a,ENSMUSG00000000088,protein_coding -39152,Tbx2,ENSMUSG00000000093,protein_coding -39154,Tbx4,ENSMUSG00000000094,protein_coding -51115,Zfy2,ENSMUSG00000000103,protein_coding -39346,Ngfr,ENSMUSG00000000120,protein_coding -39797,Wnt3,ENSMUSG00000000125,protein_coding -38283,Wnt9a,ENSMUSG00000000126,protein_coding -50617,Fer,ENSMUSG00000000127,protein_coding -26110,Xpo6,ENSMUSG00000000131,protein_coding -7359,Tfe3,ENSMUSG00000000134,protein_coding -39922,Axin2,ENSMUSG00000000142,protein_coding -18586,Brat1,ENSMUSG00000000148,protein_coding -18588,Gna12,ENSMUSG00000000149,protein_coding -26686,Slc22a18,ENSMUSG00000000154,protein_coding -48729,Itgb2l,ENSMUSG00000000157,protein_coding -48727,Igsf5,ENSMUSG00000000159,protein_coding -35552,Pih1d2,ENSMUSG00000000167,protein_coding -35553,Dlat,ENSMUSG00000000168,protein_coding -35549,Sdhd,ENSMUSG00000000171,protein_coding -21437,Fgf23,ENSMUSG00000000182,protein_coding -21436,Fgf6,ENSMUSG00000000183,protein_coding -21441,Ccnd2,ENSMUSG00000000184,protein_coding -4180,Gpr107,ENSMUSG00000000194,protein_coding -34426,Nalcn,ENSMUSG00000000197,protein_coding -39992,Btbd17,ENSMUSG00000000202,protein_coding -39074,Slfn4,ENSMUSG00000000204,protein_coding -26662,Th,ENSMUSG00000000214,protein_coding -26658,Ins2,ENSMUSG00000000215,protein_coding -26038,Scnn1g,ENSMUSG00000000216,protein_coding -9223,Drp2,ENSMUSG00000000223,protein_coding -26665,Tspan32,ENSMUSG00000000244,protein_coding -4406,Lhx2,ENSMUSG00000000247,protein_coding -21523,Clec2g,ENSMUSG00000000248,protein_coding -41327,Gmpr,ENSMUSG00000000253,protein_coding -38178,Glra1,ENSMUSG00000000263,protein_coding -9393,Mid2,ENSMUSG00000000266,protein_coding -39249,Trim25,ENSMUSG00000000275,protein_coding -39250,Dgke,ENSMUSG00000000276,protein_coding -39244,Scpep1,ENSMUSG00000000278,protein_coding -38815,Mnt,ENSMUSG00000000282,protein_coding -28000,Itgb2,ENSMUSG00000000290,protein_coding -27210,Hddc2,ENSMUSG00000000295,protein_coding -27213,Tpd52l1,ENSMUSG00000000296,protein_coding -38314,Pemt,ENSMUSG00000000301,protein_coding -31422,Cdh1,ENSMUSG00000000303,protein_coding -7158,Cdh4,ENSMUSG00000000305,protein_coding -5905,Ckmt1,ENSMUSG00000000308,protein_coding -38620,Bcl6b,ENSMUSG00000000317,protein_coding -38617,Clec10a,ENSMUSG00000000318,protein_coding -38627,Alox12,ENSMUSG00000000320,protein_coding -47491,Arvcf,ENSMUSG00000000325,protein_coding -47494,Comt,ENSMUSG00000000326,protein_coding -12036,Rtca,ENSMUSG00000000339,protein_coding -12038,Dbt,ENSMUSG00000000340,protein_coding -46978,Dazap2,ENSMUSG00000000346,protein_coding -7845,Mcts1,ENSMUSG00000000355,protein_coding -6493,Rem1,ENSMUSG00000000359,protein_coding -33539,Rnf17,ENSMUSG00000000365,protein_coding -28048,Trappc10,ENSMUSG00000000374,protein_coding -37434,Ccm2,ENSMUSG00000000378,protein_coding -37440,Wap,ENSMUSG00000000381,protein_coding -37437,Tbrg4,ENSMUSG00000000384,protein_coding -48744,Tmprss2,ENSMUSG00000000385,protein_coding -4654,Fap,ENSMUSG00000000392,protein_coding -4653,Gcg,ENSMUSG00000000394,protein_coding -21427,Ndufa9,ENSMUSG00000000399,protein_coding -9826,Egfl6,ENSMUSG00000000402,protein_coding -14786,Lck,ENSMUSG00000000409,protein_coding -14781,Tssk3,ENSMUSG00000000411,protein_coding -19085,Cttnbp2,ENSMUSG00000000416,protein_coding -52935,Galnt1,ENSMUSG00000000420,protein_coding -28802,Myf5,ENSMUSG00000000435,protein_coding -21101,Mkrn2,ENSMUSG00000000439,protein_coding -21096,Pparg,ENSMUSG00000000440,protein_coding -21103,Raf1,ENSMUSG00000000441,protein_coding -26196,Sept1,ENSMUSG00000000486,protein_coding -46433,Pdgfb,ENSMUSG00000000489,protein_coding -46992,Acvrl1,ENSMUSG00000000530,protein_coding -46998,Grasp,ENSMUSG00000000531,protein_coding -46994,Acvr1b,ENSMUSG00000000532,protein_coding -38321,Tom1l2,ENSMUSG00000000538,protein_coding -2806,Gpa33,ENSMUSG00000000544,protein_coding -47125,Zfp385a,ENSMUSG00000000552,protein_coding -47126,Itga5,ENSMUSG00000000555,protein_coding -16875,Gabra2,ENSMUSG00000000560,protein_coding -11837,Wdr77,ENSMUSG00000000561,protein_coding -11833,Adora3,ENSMUSG00000000562,protein_coding -11836,Atp5f1,ENSMUSG00000000563,protein_coding -39964,Sox9,ENSMUSG00000000567,protein_coding -17389,Hnrnpd,ENSMUSG00000000568,protein_coding -48819,Dynlt1c,ENSMUSG00000000579,protein_coding -37532,C1d,ENSMUSG00000000581,protein_coding -38162,Gm2a,ENSMUSG00000000594,protein_coding -15662,Krit1,ENSMUSG00000000600,protein_coding -22252,Clcn4,ENSMUSG00000000605,protein_coding -33107,Vmn2r88,ENSMUSG00000000606,protein_coding -38028,Grm6,ENSMUSG00000000617,protein_coding -20465,Sema4f,ENSMUSG00000000627,protein_coding -20458,Hk2,ENSMUSG00000000628,protein_coding -38913,Myo18a,ENSMUSG00000000631,protein_coding -38917,Sez6,ENSMUSG00000000632,protein_coding -50913,Haao,ENSMUSG00000000673,protein_coding -14944,Cd52,ENSMUSG00000000682,protein_coding -38903,Abhd15,ENSMUSG00000000686,protein_coding -39385,Hoxb6,ENSMUSG00000000690,protein_coding -20471,Loxl3,ENSMUSG00000000693,protein_coding -44659,Tcl1b5,ENSMUSG00000000701,protein_coding -40831,Btn1a1,ENSMUSG00000000706,protein_coding -50445,Kat2b,ENSMUSG00000000708,protein_coding -29255,Rab5b,ENSMUSG00000000711,protein_coding -38911,Cryba1,ENSMUSG00000000724,protein_coding -28043,Dnmt3l,ENSMUSG00000000730,protein_coding -28042,Aire,ENSMUSG00000000731,protein_coding -28044,Icosl,ENSMUSG00000000732,protein_coding -31733,Spg7,ENSMUSG00000000738,protein_coding -31739,Sult5a1,ENSMUSG00000000739,protein_coding -31734,Rpl13,ENSMUSG00000000740,protein_coding -31742,Chmp1a,ENSMUSG00000000743,protein_coding -38835,Rpa1,ENSMUSG00000000751,protein_coding -38838,Serpinf1,ENSMUSG00000000753,protein_coding -29589,Tubgcp3,ENSMUSG00000000759,protein_coding -26782,Oprm1,ENSMUSG00000000766,protein_coding -33864,Polr3d,ENSMUSG00000000776,protein_coding -38084,Tcf7,ENSMUSG00000000782,protein_coding -7504,Ddx3x,ENSMUSG00000000787,protein_coding -30627,Il12rb1,ENSMUSG00000000791,protein_coding -30632,Slc5a5,ENSMUSG00000000792,protein_coding -11197,Kcnn3,ENSMUSG00000000794,protein_coding -39134,Usp32,ENSMUSG00000000804,protein_coding -39133,Car4,ENSMUSG00000000805,protein_coding -20722,Txnrd3,ENSMUSG00000000811,protein_coding -2689,Fasl,ENSMUSG00000000817,protein_coding -7234,Zfp512b,ENSMUSG00000000823,protein_coding -7231,Dnajc5,ENSMUSG00000000826,protein_coding -7229,Tpd52l2,ENSMUSG00000000827,protein_coding -8236,Fmr1,ENSMUSG00000000838,protein_coding -37655,Bcl11a,ENSMUSG00000000861,protein_coding -38113,Il4,ENSMUSG00000000869,protein_coding -6556,Pxmp4,ENSMUSG00000000876,protein_coding -8757,Dlg3,ENSMUSG00000000881,protein_coding -47498,Gnb1l,ENSMUSG00000000884,protein_coding -4062,Dbh,ENSMUSG00000000889,protein_coding -27951,Mmp11,ENSMUSG00000000901,protein_coding -27950,Smarcb1,ENSMUSG00000000902,protein_coding -27954,Vpreb3,ENSMUSG00000000903,protein_coding -18111,Hip1r,ENSMUSG00000000915,protein_coding -18361,Nsun5,ENSMUSG00000000916,protein_coding -46200,Top1mt,ENSMUSG00000000934,protein_coding -19775,Hoxa10,ENSMUSG00000000938,protein_coding -19769,Hoxa4,ENSMUSG00000000942,protein_coding -24497,Gm38393,ENSMUSG00000000948,protein_coding -33404,Mmp14,ENSMUSG00000000957,protein_coding -33402,Slc7a7,ENSMUSG00000000958,protein_coding -33401,Oxa1l,ENSMUSG00000000959,protein_coding -39107,Heatr6,ENSMUSG00000000976,protein_coding -39097,Ccl3,ENSMUSG00000000982,protein_coding -39105,Wfdc18,ENSMUSG00000000983,protein_coding -34763,Icam4,ENSMUSG00000001014,protein_coding -11239,Ilf2,ENSMUSG00000001016,protein_coding -11241,Chtop,ENSMUSG00000001017,protein_coding -11240,Snapin,ENSMUSG00000001018,protein_coding -11251,S100a4,ENSMUSG00000001020,protein_coding -11249,S100a3,ENSMUSG00000001021,protein_coding -11252,S100a5,ENSMUSG00000001023,protein_coding -11253,S100a6,ENSMUSG00000001025,protein_coding -39863,Scn4a,ENSMUSG00000001027,protein_coding -39865,Icam2,ENSMUSG00000001029,protein_coding -38381,Mapk7,ENSMUSG00000001034,protein_coding -38384,Epn2,ENSMUSG00000001036,protein_coding -38383,B9d1,ENSMUSG00000001039,protein_coding -12289,Sec24b,ENSMUSG00000001052,protein_coding -38059,N4bp3,ENSMUSG00000001053,protein_coding -38058,Rmnd5b,ENSMUSG00000001054,protein_coding -38057,Nhp2,ENSMUSG00000001056,protein_coding -31749,Vps9d1,ENSMUSG00000001062,protein_coding -31750,Zfp276,ENSMUSG00000001065,protein_coding -46901,C1ql4,ENSMUSG00000001076,protein_coding -16301,Mfsd10,ENSMUSG00000001082,protein_coding -15032,Luzp1,ENSMUSG00000001089,protein_coding -38950,Slc13a2,ENSMUSG00000001095,protein_coding -17784,Kctd10,ENSMUSG00000001098,protein_coding -38957,Poldip2,ENSMUSG00000001100,protein_coding -38955,Sebox,ENSMUSG00000001103,protein_coding -38959,Ift20,ENSMUSG00000001105,protein_coding -27984,Col6a1,ENSMUSG00000001119,protein_coding -27986,Pcbp3,ENSMUSG00000001120,protein_coding -38972,Lgals9,ENSMUSG00000001123,protein_coding -7581,Araf,ENSMUSG00000001127,protein_coding -7589,Cfp,ENSMUSG00000001128,protein_coding -7587,Timp1,ENSMUSG00000001131,protein_coding -7591,Uxt,ENSMUSG00000001134,protein_coding -515,Cnnm3,ENSMUSG00000001138,protein_coding -511,Lman2l,ENSMUSG00000001143,protein_coding -27976,Mcm3ap,ENSMUSG00000001150,protein_coding -27971,Pcnt,ENSMUSG00000001151,protein_coding -27981,Ftcd,ENSMUSG00000001155,protein_coding -20620,Mxd1,ENSMUSG00000001156,protein_coding -20624,Gmcl1,ENSMUSG00000001157,protein_coding -20622,Snrnp27,ENSMUSG00000001158,protein_coding -17975,Oas1c,ENSMUSG00000001166,protein_coding -17979,Oas1h,ENSMUSG00000001168,protein_coding -7925,Ocrl,ENSMUSG00000001173,protein_coding -44510,Calm1,ENSMUSG00000001175,protein_coding -28051,Agpat3,ENSMUSG00000001211,protein_coding -43341,Slc26a3,ENSMUSG00000001225,protein_coding -50507,Sema6b,ENSMUSG00000001227,protein_coding -50519,Uhrf1,ENSMUSG00000001228,protein_coding -50511,Dpp9,ENSMUSG00000001229,protein_coding -39664,Ramp2,ENSMUSG00000001240,protein_coding -23418,Lsr,ENSMUSG00000001247,protein_coding -23428,Gramd1a,ENSMUSG00000001248,protein_coding -23426,Hpn,ENSMUSG00000001249,protein_coding -16874,Gabrg1,ENSMUSG00000001260,protein_coding -44902,Ckb,ENSMUSG00000001270,protein_coding -47074,Sp1,ENSMUSG00000001280,protein_coding -47061,Itgb7,ENSMUSG00000001281,protein_coding -47069,Myg1,ENSMUSG00000001285,protein_coding -47062,Rarg,ENSMUSG00000001288,protein_coding -47068,Pfdn5,ENSMUSG00000001289,protein_coding -29488,Efnb2,ENSMUSG00000001300,protein_coding -3287,Rrp15,ENSMUSG00000001305,protein_coding -39690,Rnd2,ENSMUSG00000001313,protein_coding -38821,Srr,ENSMUSG00000001323,protein_coding -14772,Sync,ENSMUSG00000001333,protein_coding -14766,Fndc5,ENSMUSG00000001334,protein_coding -34830,Acp5,ENSMUSG00000001348,protein_coding -34826,Cnn1,ENSMUSG00000001349,protein_coding -36165,Fbxo9,ENSMUSG00000001366,protein_coding -18901,Vps50,ENSMUSG00000001376,protein_coding -53140,Hars,ENSMUSG00000001380,protein_coding -53142,Zmat2,ENSMUSG00000001383,protein_coding -6839,Ube2c,ENSMUSG00000001403,protein_coding -11111,Smg5,ENSMUSG00000001415,protein_coding -11108,Cct3,ENSMUSG00000001416,protein_coding -11109,Glmp,ENSMUSG00000001418,protein_coding -11096,Mef2d,ENSMUSG00000001419,protein_coding -11110,Tmem79,ENSMUSG00000001420,protein_coding -19185,Snd1,ENSMUSG00000001424,protein_coding -27992,Col18a1,ENSMUSG00000001435,protein_coding -27991,Slc19a1,ENSMUSG00000001436,protein_coding -39427,Kpnb1,ENSMUSG00000001440,protein_coding -39429,Npepps,ENSMUSG00000001441,protein_coding -39423,Tbx21,ENSMUSG00000001444,protein_coding -39418,Mrpl10,ENSMUSG00000001445,protein_coding -15669,Cyp51,ENSMUSG00000001467,protein_coding -31753,Tcf25,ENSMUSG00000001472,protein_coding -53723,Tubb6,ENSMUSG00000001473,protein_coding -31757,Def8,ENSMUSG00000001482,protein_coding -39706,Meox1,ENSMUSG00000001493,protein_coding -39710,Sost,ENSMUSG00000001494,protein_coding -43678,Nkx2-1,ENSMUSG00000001496,protein_coding -43687,Pax9,ENSMUSG00000001497,protein_coding -42066,Irx2,ENSMUSG00000001504,protein_coding -39322,Col1a1,ENSMUSG00000001506,protein_coding -39330,Itga3,ENSMUSG00000001507,protein_coding -39324,Sgca,ENSMUSG00000001508,protein_coding -39331,Dlx3,ENSMUSG00000001510,protein_coding -21485,Foxm1,ENSMUSG00000001517,protein_coding -21491,Itfg2,ENSMUSG00000001518,protein_coding -21490,Nrip2,ENSMUSG00000001520,protein_coding -21480,Tulp3,ENSMUSG00000001521,protein_coding -49935,Gtf2h4,ENSMUSG00000001524,protein_coding -49944,Tubb5,ENSMUSG00000001525,protein_coding -42134,Ell2,ENSMUSG00000001542,protein_coding -39620,Jup,ENSMUSG00000001552,protein_coding -39623,Fkbp10,ENSMUSG00000001555,protein_coding -39625,Klhl10,ENSMUSG00000001558,protein_coding -16112,Mnx1,ENSMUSG00000001566,protein_coding -16111,Nom1,ENSMUSG00000001569,protein_coding -49434,Ergic1,ENSMUSG00000001576,protein_coding -38591,Tnk1,ENSMUSG00000001583,protein_coding -38594,Acap1,ENSMUSG00000001588,protein_coding -15025,Tcea3,ENSMUSG00000001604,protein_coding -17139,Csn3,ENSMUSG00000001622,protein_coding -43475,Ifrd1,ENSMUSG00000001627,protein_coding -21943,Stk38l,ENSMUSG00000001630,protein_coding -21034,Brpf1,ENSMUSG00000001632,protein_coding -19303,Akr1b3,ENSMUSG00000001642,protein_coding -47095,Hoxc13,ENSMUSG00000001655,protein_coding -47102,Hoxc11,ENSMUSG00000001656,protein_coding -47107,Hoxc8,ENSMUSG00000001657,protein_coding -47108,Hoxc6,ENSMUSG00000001661,protein_coding -27944,Gstt1,ENSMUSG00000001663,protein_coding -27943,Gstt3,ENSMUSG00000001665,protein_coding -27941,Ddt,ENSMUSG00000001666,protein_coding -31482,Tat,ENSMUSG00000001670,protein_coding -31480,Marveld3,ENSMUSG00000001672,protein_coding -1979,Ddx18,ENSMUSG00000001674,protein_coding -18786,Ubl3,ENSMUSG00000001687,protein_coding -53493,Gramd3,ENSMUSG00000001700,protein_coding -41194,Eef1e1,ENSMUSG00000001707,protein_coding -44935,Akt1,ENSMUSG00000001729,protein_coding -18415,Cldn15,ENSMUSG00000001739,protein_coding -24969,Il16,ENSMUSG00000001741,protein_coding -54088,Tcirg1,ENSMUSG00000001750,protein_coding -39651,Naglu,ENSMUSG00000001751,protein_coding -39653,Coasy,ENSMUSG00000001755,protein_coding -19218,Smo,ENSMUSG00000001761,protein_coding -19217,Tspan33,ENSMUSG00000001763,protein_coding -6323,Crnkl1,ENSMUSG00000001767,protein_coding -6318,Rin2,ENSMUSG00000001768,protein_coding -25070,Folh1,ENSMUSG00000001773,protein_coding -34651,Chordc1,ENSMUSG00000001774,protein_coding -28388,Rtcb,ENSMUSG00000001783,protein_coding -28383,Pwp1,ENSMUSG00000001785,protein_coding -28392,Fbxo7,ENSMUSG00000001786,protein_coding -23342,Capns1,ENSMUSG00000001794,protein_coding -23598,Lrp3,ENSMUSG00000001802,protein_coding -52892,Dsg4,ENSMUSG00000001804,protein_coding -4844,Evx2,ENSMUSG00000001815,protein_coding -4845,Hoxd13,ENSMUSG00000001819,protein_coding -4846,Hoxd12,ENSMUSG00000001823,protein_coding -25368,Folr1,ENSMUSG00000001827,protein_coding -25361,Clpb,ENSMUSG00000001829,protein_coding -34886,Sept7,ENSMUSG00000001833,protein_coding -18633,Zdhhc4,ENSMUSG00000001844,protein_coding -18645,Rac1,ENSMUSG00000001847,protein_coding -4201,Nup214,ENSMUSG00000001855,protein_coding -4199,Aif1l,ENSMUSG00000001864,protein_coding -10078,Cpa3,ENSMUSG00000001865,protein_coding -50806,Ltbp1,ENSMUSG00000001870,protein_coding -37595,Ugp2,ENSMUSG00000001891,protein_coding -39843,Kcnh6,ENSMUSG00000001901,protein_coding -30938,Trmt1,ENSMUSG00000001909,protein_coding -30937,Nacc1,ENSMUSG00000001910,protein_coding -30939,Nfix,ENSMUSG00000001911,protein_coding -22684,Slc1a5,ENSMUSG00000001918,protein_coding -7578,Uba1,ENSMUSG00000001924,protein_coding -21412,Vwf,ENSMUSG00000001930,protein_coding -35097,Siae,ENSMUSG00000001942,protein_coding -35095,Vsig2,ENSMUSG00000001943,protein_coding -35094,Esam,ENSMUSG00000001946,protein_coding -35098,Spa17,ENSMUSG00000001948,protein_coding -8380,Fam50a,ENSMUSG00000001962,protein_coding -8370,Emd,ENSMUSG00000001964,protein_coding -39847,Taco1,ENSMUSG00000001983,protein_coding -14680,Grik3,ENSMUSG00000001985,protein_coding -7874,Gria3,ENSMUSG00000001986,protein_coding -22668,Npas1,ENSMUSG00000001988,protein_coding -31862,Sipa1l2,ENSMUSG00000001995,protein_coding -6002,Ap4e1,ENSMUSG00000001998,protein_coding -6004,Blvra,ENSMUSG00000001999,protein_coding -8350,Pdzd4,ENSMUSG00000002006,protein_coding -8347,Srpk3,ENSMUSG00000002007,protein_coding -8348,Idh3g,ENSMUSG00000002010,protein_coding -8341,Pnck,ENSMUSG00000002012,protein_coding -8349,Ssr4,ENSMUSG00000002014,protein_coding -8343,Bcap31,ENSMUSG00000002015,protein_coding -50809,Fam98a,ENSMUSG00000002017,protein_coding -44194,Ltbp2,ENSMUSG00000002020,protein_coding -35420,Kmt2a,ENSMUSG00000002028,protein_coding -35416,Ift46,ENSMUSG00000002031,protein_coding -35417,Tmem25,ENSMUSG00000002032,protein_coding -35428,Cd3g,ENSMUSG00000002033,protein_coding -22815,Trappc6a,ENSMUSG00000002043,protein_coding -38938,Supt6,ENSMUSG00000002052,protein_coding -38944,Spag5,ENSMUSG00000002055,protein_coding -38948,Foxn1,ENSMUSG00000002057,protein_coding -38947,Unc119,ENSMUSG00000002058,protein_coding -38936,Rab34,ENSMUSG00000002059,protein_coding -38939,Sdf2,ENSMUSG00000002064,protein_coding -23648,Ccne1,ENSMUSG00000002068,protein_coding -49666,Hsf2bp,ENSMUSG00000002076,protein_coding -22661,Bbc3,ENSMUSG00000002083,protein_coding -5385,Mybpc3,ENSMUSG00000002100,protein_coding -5382,Psmc3,ENSMUSG00000002102,protein_coding -5390,Acp2,ENSMUSG00000002103,protein_coding -5380,Rapsn,ENSMUSG00000002104,protein_coding -5383,Slc39a13,ENSMUSG00000002105,protein_coding -3523,Celf2,ENSMUSG00000002107,protein_coding -5387,Nr1h3,ENSMUSG00000002108,protein_coding -5391,Ddb2,ENSMUSG00000002109,protein_coding -5384,Spi1,ENSMUSG00000002111,protein_coding -37352,Sf3a1,ENSMUSG00000002129,protein_coding -29173,Stat6,ENSMUSG00000002147,protein_coding -30872,Clgn,ENSMUSG00000002190,protein_coding -23930,Napsa,ENSMUSG00000002204,protein_coding -23939,Vrk3,ENSMUSG00000002205,protein_coding -23053,Smg9,ENSMUSG00000002210,protein_coding -16086,Paxip1,ENSMUSG00000002221,protein_coding -20305,Rmnd5a,ENSMUSG00000002222,protein_coding -11810,Mov10,ENSMUSG00000002227,protein_coding -11808,Ppm1j,ENSMUSG00000002228,protein_coding -11809,Rhoc,ENSMUSG00000002233,protein_coding -17133,Prr27,ENSMUSG00000002240,protein_coding -49520,Tead3,ENSMUSG00000002249,protein_coding -49515,Ppard,ENSMUSG00000002250,protein_coding -49513,Def6,ENSMUSG00000002257,protein_coding -22226,Peg3,ENSMUSG00000002265,protein_coding -22225,Zim1,ENSMUSG00000002266,protein_coding -49382,Metrn,ENSMUSG00000002274,protein_coding -49364,Lmf1,ENSMUSG00000002279,protein_coding -49376,Narfl,ENSMUSG00000002280,protein_coding -49743,Angptl4,ENSMUSG00000002289,protein_coding -15728,Dbf4,ENSMUSG00000002297,protein_coding -49755,Daxx,ENSMUSG00000002307,protein_coding -49748,Cd320,ENSMUSG00000002308,protein_coding -33482,Ipo4,ENSMUSG00000002319,protein_coding -33484,Tm9sf1,ENSMUSG00000002320,protein_coding -33481,Rec8,ENSMUSG00000002324,protein_coding -33480,Irf9,ENSMUSG00000002325,protein_coding -33490,Gmpr2,ENSMUSG00000002326,protein_coding -33488,Mdp1,ENSMUSG00000002329,protein_coding -33496,Dhrs1,ENSMUSG00000002332,protein_coding -30579,Ncan,ENSMUSG00000002341,protein_coding -30586,Tmem161a,ENSMUSG00000002342,protein_coding -30588,Armc6,ENSMUSG00000002343,protein_coding -30584,Borcs8,ENSMUSG00000002345,protein_coding -30587,Slc25a42,ENSMUSG00000002346,protein_coding -48796,Snx9,ENSMUSG00000002365,protein_coding -50531,Ranbp3,ENSMUSG00000002372,protein_coding -50533,Ndufa11,ENSMUSG00000002379,protein_coding -14608,Bmp8b,ENSMUSG00000002384,protein_coding -30647,Nr2f6,ENSMUSG00000002393,protein_coding -30645,Use1,ENSMUSG00000002395,protein_coding -30646,Ocel1,ENSMUSG00000002396,protein_coding -23231,Dyrk1b,ENSMUSG00000002409,protein_coding -19399,Braf,ENSMUSG00000002413,protein_coding -19398,Ndufb2,ENSMUSG00000002416,protein_coding -10076,Hltf,ENSMUSG00000002428,protein_coding -7236,Prpf6,ENSMUSG00000002455,protein_coding -7242,Rgs19,ENSMUSG00000002458,protein_coding -38,Rgs20,ENSMUSG00000002459,protein_coding -52785,Abhd3,ENSMUSG00000002475,protein_coding -52784,Snrpd1,ENSMUSG00000002477,protein_coding -17793,Tchp,ENSMUSG00000002486,protein_coding -48560,Tiam1,ENSMUSG00000002489,protein_coding -49300,Tsc2,ENSMUSG00000002496,protein_coding -49315,Rpl3l,ENSMUSG00000002500,protein_coding -49302,Slc9a3r2,ENSMUSG00000002504,protein_coding -46224,Puf60,ENSMUSG00000002524,protein_coding -4217,Golga2,ENSMUSG00000002546,protein_coding -4214,Uck1,ENSMUSG00000002550,protein_coding -43472,Scin,ENSMUSG00000002565,protein_coding -29251,Ikzf4,ENSMUSG00000002578,protein_coding -39489,Mien1,ENSMUSG00000002580,protein_coding -18936,Pon1,ENSMUSG00000002588,protein_coding -23131,Axl,ENSMUSG00000002602,protein_coding -23128,Tgfb1,ENSMUSG00000002603,protein_coding -23129,Ccdc97,ENSMUSG00000002608,protein_coding -49205,Zfp40,ENSMUSG00000002617,protein_coding -49679,Akap8l,ENSMUSG00000002625,protein_coding -16100,Shh,ENSMUSG00000002633,protein_coding -23563,Pdcd2l,ENSMUSG00000002635,protein_coding -50547,Gtf2f1,ENSMUSG00000002658,protein_coding -50544,Clpp,ENSMUSG00000002660,protein_coding -50545,Alkbh7,ENSMUSG00000002661,protein_coding -50546,Pspn,ENSMUSG00000002664,protein_coding -50554,Dennd1c,ENSMUSG00000002668,protein_coding -44116,Med6,ENSMUSG00000002679,protein_coding -43566,Prkd1,ENSMUSG00000002688,protein_coding -37799,Lcp2,ENSMUSG00000002699,protein_coding -6895,Cse1l,ENSMUSG00000002718,protein_coding -6322,Naa20,ENSMUSG00000002728,protein_coding -4897,Prkra,ENSMUSG00000002731,protein_coding -4899,Fkbp7,ENSMUSG00000002732,protein_coding -4900,Plekha3,ENSMUSG00000002733,protein_coding -37408,Ykt6,ENSMUSG00000002741,protein_coding -18355,Baz1b,ENSMUSG00000002748,protein_coding -50315,Pex6,ENSMUSG00000002763,protein_coding -50309,Mrpl2,ENSMUSG00000002767,protein_coding -50313,Mea1,ENSMUSG00000002768,protein_coding -50316,Gnmt,ENSMUSG00000002769,protein_coding -24049,Grin2d,ENSMUSG00000002771,protein_coding -24050,Kdelr1,ENSMUSG00000002778,protein_coding -24053,Tmem143,ENSMUSG00000002781,protein_coding -19839,Ggct,ENSMUSG00000002797,protein_coding -44949,Jag2,ENSMUSG00000002799,protein_coding -44955,Btbd6,ENSMUSG00000002803,protein_coding -44951,Nudt14,ENSMUSG00000002804,protein_coding -40631,Epdr1,ENSMUSG00000002808,protein_coding -38351,Flii,ENSMUSG00000002812,protein_coding -38355,Top3a,ENSMUSG00000002814,protein_coding -34781,Atg4d,ENSMUSG00000002820,protein_coding -34790,Qtrt1,ENSMUSG00000002825,protein_coding -50504,Plin4,ENSMUSG00000002831,protein_coding -50503,Hdgfl2,ENSMUSG00000002833,protein_coding -50501,Chaf1a,ENSMUSG00000002835,protein_coding -47975,Adprh,ENSMUSG00000002844,protein_coding -47981,Tmem39a,ENSMUSG00000002845,protein_coding -47978,Timmdc1,ENSMUSG00000002846,protein_coding -47974,Pla1a,ENSMUSG00000002847,protein_coding -20706,Mcm2,ENSMUSG00000002870,protein_coding -20707,Tpra1,ENSMUSG00000002871,protein_coding -780,Nab1,ENSMUSG00000002881,protein_coding -30888,Adgre5,ENSMUSG00000002885,protein_coding -21209,Il17ra,ENSMUSG00000002897,protein_coding -43339,Lamb1,ENSMUSG00000002900,protein_coding -30629,Kcnn1,ENSMUSG00000002908,protein_coding -30628,Arrdc2,ENSMUSG00000002910,protein_coding -19855,Ppp1r17,ENSMUSG00000002930,protein_coding -15892,Cd36,ENSMUSG00000002944,protein_coding -29422,Map2k7,ENSMUSG00000002948,protein_coding -29427,Timm44,ENSMUSG00000002949,protein_coding -26600,Ap2a2,ENSMUSG00000002957,protein_coding -23947,Pnkp,ENSMUSG00000002963,protein_coding -23949,Med25,ENSMUSG00000002968,protein_coding -22832,Bcam,ENSMUSG00000002980,protein_coding -22823,Clptm1,ENSMUSG00000002981,protein_coding -22822,Relb,ENSMUSG00000002983,protein_coding -22829,Tomm40,ENSMUSG00000002984,protein_coding -22828,Apoe,ENSMUSG00000002985,protein_coding -22824,Apoc2,ENSMUSG00000002992,protein_coding -43356,Hbp1,ENSMUSG00000002996,protein_coding -43357,Prkar2b,ENSMUSG00000002997,protein_coding -21742,Cdkn1b,ENSMUSG00000003031,protein_coding -13537,Klf4,ENSMUSG00000003032,protein_coding -30704,Ap1m1,ENSMUSG00000003033,protein_coding -30699,Rab8a,ENSMUSG00000003037,protein_coding -14938,Hmgn2,ENSMUSG00000003038,protein_coding -30703,Fam32a,ENSMUSG00000003039,protein_coding -2238,Elf3,ENSMUSG00000003051,protein_coding -55033,Cyp2c29,ENSMUSG00000003053,protein_coding -40626,Stard3nl,ENSMUSG00000003062,protein_coding -28150,Stk11,ENSMUSG00000003068,protein_coding -28156,Efna2,ENSMUSG00000003070,protein_coding -28152,Atp5d,ENSMUSG00000003072,protein_coding -22699,Ppp5c,ENSMUSG00000003099,protein_coding -39475,Cdk12,ENSMUSG00000003119,protein_coding -23111,Lipe,ENSMUSG00000003123,protein_coding -35471,Pafah1b2,ENSMUSG00000003131,protein_coding -588,Tbc1d8,ENSMUSG00000003134,protein_coding -592,Cnot11,ENSMUSG00000003135,protein_coding -21278,Slc2a3,ENSMUSG00000003153,protein_coding -21282,Foxj2,ENSMUSG00000003154,protein_coding -15721,Sri,ENSMUSG00000003161,protein_coding -47465,Dgcr2,ENSMUSG00000003166,protein_coding -23959,Irf3,ENSMUSG00000003184,protein_coding -23958,Bcl2l12,ENSMUSG00000003190,protein_coding -50489,Zfp959,ENSMUSG00000003198,protein_coding -50498,Mpnd,ENSMUSG00000003199,protein_coding -50500,Sh3gl1,ENSMUSG00000003200,protein_coding -50492,Ebi3,ENSMUSG00000003206,protein_coding -50494,Yju2,ENSMUSG00000003208,protein_coding -27650,Ranbp2,ENSMUSG00000003226,protein_coding -27653,Edar,ENSMUSG00000003227,protein_coding -55436,Grk5,ENSMUSG00000003228,protein_coding -47567,Dvl3,ENSMUSG00000003233,protein_coding -47570,Abcf3,ENSMUSG00000003234,protein_coding -47565,Eif2b5,ENSMUSG00000003235,protein_coding -24044,Cyth2,ENSMUSG00000003269,protein_coding -24041,Sult2b1,ENSMUSG00000003271,protein_coding -24035,Car11,ENSMUSG00000003273,protein_coding -50708,Dlgap1,ENSMUSG00000003279,protein_coding -12785,Plag1,ENSMUSG00000003282,protein_coding -6513,Hck,ENSMUSG00000003283,protein_coding -34760,Mrpl4,ENSMUSG00000003299,protein_coding -34778,Keap1,ENSMUSG00000003308,protein_coding -34784,Ap1m2,ENSMUSG00000003309,protein_coding -31519,Glg1,ENSMUSG00000003316,protein_coding -28181,Atp8b3,ENSMUSG00000003341,protein_coding -28192,Btbd2,ENSMUSG00000003344,protein_coding -28191,Csnk1g2,ENSMUSG00000003345,protein_coding -28185,Abhd17a,ENSMUSG00000003346,protein_coding -28195,Mob3a,ENSMUSG00000003348,protein_coding -46870,Cacnb3,ENSMUSG00000003352,protein_coding -46874,Ccdc65,ENSMUSG00000003354,protein_coding -46875,Fkbp11,ENSMUSG00000003355,protein_coding -46871,Ddx23,ENSMUSG00000003360,protein_coding -23205,Pld3,ENSMUSG00000003363,protein_coding -23092,Grik5,ENSMUSG00000003378,protein_coding -23084,Cd79a,ENSMUSG00000003379,protein_coding -23088,Rabac1,ENSMUSG00000003380,protein_coding -11071,Etv3,ENSMUSG00000003382,protein_coding -34819,Prkcsh,ENSMUSG00000003402,protein_coding -34820,Elavl3,ENSMUSG00000003410,protein_coding -14268,Rab3b,ENSMUSG00000003411,protein_coding -3737,St8sia6,ENSMUSG00000003418,protein_coding -23968,Fcgrt,ENSMUSG00000003420,protein_coding -23965,Nosip,ENSMUSG00000003421,protein_coding -23982,Pih1d1,ENSMUSG00000003423,protein_coding -23971,Rps11,ENSMUSG00000003429,protein_coding -23239,Supt5,ENSMUSG00000003435,protein_coding -23237,Dll3,ENSMUSG00000003436,protein_coding -23247,Paf1,ENSMUSG00000003437,protein_coding -23238,Timm50,ENSMUSG00000003438,protein_coding -23246,Med29,ENSMUSG00000003444,protein_coding -22011,Bicd1,ENSMUSG00000003452,protein_coding -2949,Ncstn,ENSMUSG00000003458,protein_coding -2953,Pex19,ENSMUSG00000003464,protein_coding -33866,Phyhip,ENSMUSG00000003469,protein_coding -19841,Crhr2,ENSMUSG00000003476,protein_coding -19843,Inmt,ENSMUSG00000003477,protein_coding -30685,Cyp4f18,ENSMUSG00000003484,protein_coding -19197,Impdh1,ENSMUSG00000003500,protein_coding -22731,Psg18,ENSMUSG00000003505,protein_coding -39712,Dusp3,ENSMUSG00000003518,protein_coding -47475,Prodh,ENSMUSG00000003526,protein_coding -47468,Ess2,ENSMUSG00000003527,protein_coding -47471,Slc25a1,ENSMUSG00000003528,protein_coding -47474,Dgcr6,ENSMUSG00000003531,protein_coding -49936,Ddr1,ENSMUSG00000003534,protein_coding -49942,Ier3,ENSMUSG00000003541,protein_coding -22798,Fosb,ENSMUSG00000003545,protein_coding -50308,Klc4,ENSMUSG00000003546,protein_coding -22801,Ercc1,ENSMUSG00000003549,protein_coding -55227,Cyp17a1,ENSMUSG00000003555,protein_coding -55230,As3mt,ENSMUSG00000003559,protein_coding -30590,Homer3,ENSMUSG00000003573,protein_coding -30597,Crtc1,ENSMUSG00000003575,protein_coding -37349,Rnf215,ENSMUSG00000003581,protein_coding -37346,Sec14l2,ENSMUSG00000003585,protein_coding -5727,Aven,ENSMUSG00000003604,protein_coding -10074,Cp,ENSMUSG00000003617,protein_coding -15740,Crot,ENSMUSG00000003623,protein_coding -14934,Rps6ka1,ENSMUSG00000003644,protein_coding -31489,Calb2,ENSMUSG00000003657,protein_coding -6008,Snrnp200,ENSMUSG00000003660,protein_coding -6009,Ciao1,ENSMUSG00000003662,protein_coding -49046,Has1,ENSMUSG00000003665,protein_coding -54386,Taf6l,ENSMUSG00000003680,protein_coding -1971,Insig2,ENSMUSG00000003721,protein_coding -14795,Kpna6,ENSMUSG00000003731,protein_coding -27606,Man1a,ENSMUSG00000003746,protein_coding -23187,Itpkc,ENSMUSG00000003752,protein_coding -23188,Coq8b,ENSMUSG00000003762,protein_coding -53058,Brd8,ENSMUSG00000003778,protein_coding -53059,Kif20a,ENSMUSG00000003779,protein_coding -30947,Farsa,ENSMUSG00000003808,protein_coding -30950,Gcdh,ENSMUSG00000003809,protein_coding -14389,Mast2,ENSMUSG00000003810,protein_coding -30952,Dnase2a,ENSMUSG00000003812,protein_coding -30944,Rad23a,ENSMUSG00000003813,protein_coding -30945,Calr,ENSMUSG00000003814,protein_coding -30949,Syce2,ENSMUSG00000003824,protein_coding -31443,Nfat5,ENSMUSG00000003847,protein_coding -31445,Nob1,ENSMUSG00000003848,protein_coding -31444,Nqo1,ENSMUSG00000003849,protein_coding -23997,Ppfia3,ENSMUSG00000003863,protein_coding -24008,Gys1,ENSMUSG00000003865,protein_coding -24007,Ruvbl2,ENSMUSG00000003868,protein_coding -23999,Lin7b,ENSMUSG00000003872,protein_coding -24012,Bax,ENSMUSG00000003873,protein_coding -45388,Il7r,ENSMUSG00000003882,protein_coding -27880,Tfam,ENSMUSG00000003923,protein_coding -49729,Zfp81,ENSMUSG00000003929,protein_coding -38555,Efnb3,ENSMUSG00000003934,protein_coding -39265,Mmd,ENSMUSG00000003948,protein_coding -39266,Hlf,ENSMUSG00000003949,protein_coding -47890,Fam162a,ENSMUSG00000003955,protein_coding -46286,Rpl8,ENSMUSG00000003970,protein_coding -15754,Grm3,ENSMUSG00000003974,protein_coding -42301,Ssbp2,ENSMUSG00000003992,protein_coding -37674,Fancl,ENSMUSG00000004018,protein_coding -2604,Brinp2,ENSMUSG00000004031,protein_coding -11896,Gstm5,ENSMUSG00000004032,protein_coding -11899,Gstm7,ENSMUSG00000004035,protein_coding -11902,Gstm3,ENSMUSG00000004038,protein_coding -39647,Stat3,ENSMUSG00000004040,protein_coding -39646,Stat5a,ENSMUSG00000004043,protein_coding -39648,Cavin1,ENSMUSG00000004044,protein_coding -54224,Map3k11,ENSMUSG00000004054,protein_coding -23207,Akt2,ENSMUSG00000004056,protein_coding -47202,Dnaja3,ENSMUSG00000004069,protein_coding -47204,Hmox2,ENSMUSG00000004070,protein_coding -47206,Cdip1,ENSMUSG00000004071,protein_coding -4795,Map3k20,ENSMUSG00000004085,protein_coding -34582,Cwc15,ENSMUSG00000004096,protein_coding -34747,Col5a3,ENSMUSG00000004098,protein_coding -34757,Dnmt1,ENSMUSG00000004099,protein_coding -34752,Ppan,ENSMUSG00000004100,protein_coding -4267,Angptl2,ENSMUSG00000004105,protein_coding -2535,Cacna1e,ENSMUSG00000004110,protein_coding -3911,Cacna1b,ENSMUSG00000004113,protein_coding -12442,Trmt10a,ENSMUSG00000004127,protein_coding -43453,Etv1,ENSMUSG00000004151,protein_coding -46271,Kifc2,ENSMUSG00000004187,protein_coding -27684,Psap,ENSMUSG00000004207,protein_coding -8387,Ikbkg,ENSMUSG00000004221,protein_coding -55164,Pax2,ENSMUSG00000004231,protein_coding -11650,Wars2,ENSMUSG00000004233,protein_coding -21359,Atn1,ENSMUSG00000004263,protein_coding -21348,Phb2,ENSMUSG00000004264,protein_coding -21354,Ptpn6,ENSMUSG00000004266,protein_coding -21360,Eno2,ENSMUSG00000004267,protein_coding -21347,Emg1,ENSMUSG00000004268,protein_coding -21346,Lpcat3,ENSMUSG00000004270,protein_coding -19209,Atp6v1f,ENSMUSG00000004285,protein_coding -37881,Il12b,ENSMUSG00000004296,protein_coding -7327,Clcn5,ENSMUSG00000004317,protein_coding -30424,Clcn3,ENSMUSG00000004319,protein_coding -22700,Hif3a,ENSMUSG00000004328,protein_coding -40658,Gpx6,ENSMUSG00000004341,protein_coding -40656,Gpx5,ENSMUSG00000004344,protein_coding -19856,Pde1c,ENSMUSG00000004347,protein_coding -28475,Utp20,ENSMUSG00000004356,protein_coding -28469,Spic,ENSMUSG00000004359,protein_coding -27170,9330159F19Rik,ENSMUSG00000004360,protein_coding -1324,Cul3,ENSMUSG00000004364,protein_coding -47684,Sst,ENSMUSG00000004366,protein_coding -22130,Il11,ENSMUSG00000004371,protein_coding -30731,Large1,ENSMUSG00000004383,protein_coding -37416,Ddx56,ENSMUSG00000004393,protein_coding -37417,Tmed4,ENSMUSG00000004394,protein_coding -18409,Col26a1,ENSMUSG00000004415,protein_coding -21222,Bid,ENSMUSG00000004446,protein_coding -1933,Ralb,ENSMUSG00000004451,protein_coding -18024,Ppp1cc,ENSMUSG00000004455,protein_coding -47646,Dnajb11,ENSMUSG00000004460,protein_coding -47645,Tbccd1,ENSMUSG00000004462,protein_coding -23909,Clec11a,ENSMUSG00000004473,protein_coding -22500,Zfp324,ENSMUSG00000004500,protein_coding -25217,Gab2,ENSMUSG00000004508,protein_coding -17766,Coro1c,ENSMUSG00000004530,protein_coding -19803,Tax1bp1,ENSMUSG00000004535,protein_coding -22763,Psg17,ENSMUSG00000004540,protein_coding -22761,Psg19,ENSMUSG00000004542,protein_coding -2120,Ctse,ENSMUSG00000004552,protein_coding -33133,Ndrg2,ENSMUSG00000004558,protein_coding -33131,Mettl17,ENSMUSG00000004561,protein_coding -33137,Arhgef40,ENSMUSG00000004562,protein_coding -29380,Pnpla6,ENSMUSG00000004565,protein_coding -29379,Mcoln1,ENSMUSG00000004567,protein_coding -29374,Arhgef18,ENSMUSG00000004568,protein_coding -12506,Pkn2,ENSMUSG00000004591,protein_coding -23827,Cd33,ENSMUSG00000004609,protein_coding -23818,Etfb,ENSMUSG00000004610,protein_coding -23816,Nkg7,ENSMUSG00000004612,protein_coding -29388,Stxbp2,ENSMUSG00000004626,protein_coding -29387,Pcp2,ENSMUSG00000004630,protein_coding -18926,Sgce,ENSMUSG00000004631,protein_coding -19821,Chn2,ENSMUSG00000004633,protein_coding -31562,Wwox,ENSMUSG00000004637,protein_coding -16258,Slbp,ENSMUSG00000004642,protein_coding -25079,Tyr,ENSMUSG00000004651,protein_coding -19848,Ghrhr,ENSMUSG00000004654,protein_coding -19847,Aqp1,ENSMUSG00000004655,protein_coding -35718,Arid3b,ENSMUSG00000004661,protein_coding -28144,Cnn2,ENSMUSG00000004665,protein_coding -28147,Polr2e,ENSMUSG00000004667,protein_coding -37470,Abca13,ENSMUSG00000004668,protein_coding -30644,Myo9b,ENSMUSG00000004677,protein_coding -43394,Hdac9,ENSMUSG00000004698,protein_coding -2929,Ly9,ENSMUSG00000004707,protein_coding -2928,Cd244a,ENSMUSG00000004709,protein_coding -50568,Adgre1,ENSMUSG00000004730,protein_coding -37345,Mtfp1,ENSMUSG00000004748,protein_coding -440,Rab23,ENSMUSG00000004768,protein_coding -35863,Rab11a,ENSMUSG00000004771,protein_coding -44209,Eif2b2,ENSMUSG00000004788,protein_coding -44205,Dlst,ENSMUSG00000004789,protein_coding -44207,Pgf,ENSMUSG00000004791,protein_coding -38390,Ulk2,ENSMUSG00000004798,protein_coding -18367,Ccl24,ENSMUSG00000004814,protein_coding -17600,Dgkq,ENSMUSG00000004815,protein_coding -17606,Tmed11,ENSMUSG00000004821,protein_coding -38386,Grap,ENSMUSG00000004837,protein_coding -48298,Pou1f1,ENSMUSG00000004842,protein_coding -48299,Chmp2b,ENSMUSG00000004843,protein_coding -18417,Plod3,ENSMUSG00000004846,protein_coding -18422,Ap1s1,ENSMUSG00000004849,protein_coding -49541,Mapk13,ENSMUSG00000004864,protein_coding -49537,Srpk1,ENSMUSG00000004865,protein_coding -1287,Pax3,ENSMUSG00000004872,protein_coding -3189,Lbr,ENSMUSG00000004880,protein_coding -11086,Crabp2,ENSMUSG00000004885,protein_coding -11088,Nes,ENSMUSG00000004891,protein_coding -11089,Bcan,ENSMUSG00000004892,protein_coding -11090,Hapln2,ENSMUSG00000004894,protein_coding -11081,Prcc,ENSMUSG00000004895,protein_coding -11084,Rrnad1,ENSMUSG00000004896,protein_coding -11082,Hdgf,ENSMUSG00000004897,protein_coding -21218,Slc25a18,ENSMUSG00000004902,protein_coding -28219,Thop1,ENSMUSG00000004929,protein_coding -28236,Apba3,ENSMUSG00000004931,protein_coding -28234,Matk,ENSMUSG00000004933,protein_coding -28225,Pias4,ENSMUSG00000004934,protein_coding -35855,Map2k1,ENSMUSG00000004936,protein_coding -28218,Sgta,ENSMUSG00000004937,protein_coding -28231,Nmrk2,ENSMUSG00000004939,protein_coding -48787,Tmem242,ENSMUSG00000004945,protein_coding -18388,Dtx2,ENSMUSG00000004947,protein_coding -18387,Zp3,ENSMUSG00000004948,protein_coding -18383,Hspb1,ENSMUSG00000004951,protein_coding -18391,Rasa4,ENSMUSG00000004952,protein_coding -22113,Syt5,ENSMUSG00000004961,protein_coding -19745,Hnrnpa2b1,ENSMUSG00000004980,protein_coding -21170,Fxyd4,ENSMUSG00000004988,protein_coding -30929,Ccdc130,ENSMUSG00000004994,protein_coding -30928,Mri1,ENSMUSG00000004996,protein_coding -12593,Prkacb,ENSMUSG00000005034,protein_coding -40183,Sgsh,ENSMUSG00000005043,protein_coding -15512,Chd5,ENSMUSG00000005045,protein_coding -28060,Cstb,ENSMUSG00000005054,protein_coding -18402,Sh2b2,ENSMUSG00000005057,protein_coding -21335,Pex5,ENSMUSG00000005069,protein_coding -43926,Jkamp,ENSMUSG00000005078,protein_coding -5522,Cd44,ENSMUSG00000005087,protein_coding -5520,Slc1a2,ENSMUSG00000005089,protein_coding -5803,Eif2ak4,ENSMUSG00000005102,protein_coding -16384,Wdr1,ENSMUSG00000005103,protein_coding -16382,Slc2a9,ENSMUSG00000005107,protein_coding -46068,Ccn4,ENSMUSG00000005124,protein_coding -46069,Ndrg1,ENSMUSG00000005125,protein_coding -35603,4930550C14Rik,ENSMUSG00000005131,protein_coding -30973,Man2b1,ENSMUSG00000005142,protein_coding -34174,Klf5,ENSMUSG00000005148,protein_coding -30971,Wdr83,ENSMUSG00000005150,protein_coding -30958,Prdx2,ENSMUSG00000005161,protein_coding -38579,Polr2a,ENSMUSG00000005198,protein_coding -38559,Shbg,ENSMUSG00000005202,protein_coding -38573,Senp3,ENSMUSG00000005204,protein_coding -16885,Corin,ENSMUSG00000005220,protein_coding -19831,Plekha8,ENSMUSG00000005225,protein_coding -4731,G6pc2,ENSMUSG00000005232,protein_coding -4730,Spc25,ENSMUSG00000005233,protein_coding -38552,Dnah2,ENSMUSG00000005237,protein_coding -48745,Ripk4,ENSMUSG00000005251,protein_coding -47508,Ufd1,ENSMUSG00000005262,protein_coding -38421,Zfp287,ENSMUSG00000005267,protein_coding -45391,Prlr,ENSMUSG00000005268,protein_coding -16265,Letm1,ENSMUSG00000005299,protein_coding -41599,Ubqln1,ENSMUSG00000005312,protein_coding -41529,Fgfr4,ENSMUSG00000005320,protein_coding -3000,Cadm3,ENSMUSG00000005338,protein_coding -2996,Fcer1a,ENSMUSG00000005339,protein_coding -46328,Txn2,ENSMUSG00000005354,protein_coding -28083,Casp14,ENSMUSG00000005355,protein_coding -28086,Slc1a6,ENSMUSG00000005357,protein_coding -45374,Slc1a3,ENSMUSG00000005360,protein_coding -20961,Crbn,ENSMUSG00000005362,protein_coding -20959,Il5ra,ENSMUSG00000005364,protein_coding -51007,Msh6,ENSMUSG00000005370,protein_coding -51008,Fbxo11,ENSMUSG00000005371,protein_coding -18351,Mlxipl,ENSMUSG00000005373,protein_coding -18353,Tbl2,ENSMUSG00000005374,protein_coding -18347,Bud23,ENSMUSG00000005378,protein_coding -40510,Nid1,ENSMUSG00000005397,protein_coding -30748,Mcm5,ENSMUSG00000005410,protein_coding -30747,Hmox1,ENSMUSG00000005413,protein_coding -38300,Mprip,ENSMUSG00000005417,protein_coding -23104,Cic,ENSMUSG00000005442,protein_coding -23105,Pafah1b3,ENSMUSG00000005447,protein_coding -30905,Il27ra,ENSMUSG00000005465,protein_coding -30898,Prkaca,ENSMUSG00000005469,protein_coding -30897,Asf1b,ENSMUSG00000005470,protein_coding -18408,Myl10,ENSMUSG00000005474,protein_coding -30887,Ddx39,ENSMUSG00000005481,protein_coding -30883,Dnajb1,ENSMUSG00000005483,protein_coding -12678,Msh4,ENSMUSG00000005493,protein_coding -1523,Usp40,ENSMUSG00000005501,protein_coding -19793,Evx1,ENSMUSG00000005503,protein_coding -5375,Kbtbd4,ENSMUSG00000005505,protein_coding -5378,Celf1,ENSMUSG00000005506,protein_coding -5374,Ndufs3,ENSMUSG00000005510,protein_coding -18373,Por,ENSMUSG00000005514,protein_coding -24652,Igf1r,ENSMUSG00000005533,protein_coding -29370,Insr,ENSMUSG00000005534,protein_coding -29396,Fcer2a,ENSMUSG00000005540,protein_coding -23167,Cyp2a5,ENSMUSG00000005547,protein_coding -23395,Atp4a,ENSMUSG00000005553,protein_coding -22503,Trim28,ENSMUSG00000005566,protein_coding -22506,Ube2m,ENSMUSG00000005575,protein_coding -47193,Adcy9,ENSMUSG00000005580,protein_coding -42224,Mef2c,ENSMUSG00000005583,protein_coding -25843,Ctr9,ENSMUSG00000005609,protein_coding -25844,Eif4g2,ENSMUSG00000005610,protein_coding -25841,Mrvi1,ENSMUSG00000005611,protein_coding -47817,Pcyt1a,ENSMUSG00000005615,protein_coding -24896,Zfp592,ENSMUSG00000005621,protein_coding -11450,Psmd4,ENSMUSG00000005625,protein_coding -11455,Tmod4,ENSMUSG00000005628,protein_coding -11079,Insrr,ENSMUSG00000005640,protein_coding -22528,Cabp5,ENSMUSG00000005649,protein_coding -43632,Snx6,ENSMUSG00000005656,protein_coding -20495,Mthfd2,ENSMUSG00000005667,protein_coding -16976,Kit,ENSMUSG00000005672,protein_coding -2898,Tomm40l,ENSMUSG00000005674,protein_coding -2897,Nr1i3,ENSMUSG00000005677,protein_coding -2899,Apoa2,ENSMUSG00000005681,protein_coding -29218,Pan2,ENSMUSG00000005682,protein_coding -29220,Cs,ENSMUSG00000005683,protein_coding -25837,Ampd3,ENSMUSG00000005686,protein_coding -11742,Bcas2,ENSMUSG00000005687,protein_coding -7888,Sh2d1a,ENSMUSG00000005696,protein_coding -31375,Ctcf,ENSMUSG00000005698,protein_coding -31379,Pard6a,ENSMUSG00000005699,protein_coding -31369,Agrp,ENSMUSG00000005705,protein_coding -46336,Pvalb,ENSMUSG00000005716,protein_coding -47197,Tfap4,ENSMUSG00000005718,protein_coding -47482,Ranbp1,ENSMUSG00000005732,protein_coding -2795,Cd247,ENSMUSG00000005763,protein_coding -11442,Rfx5,ENSMUSG00000005774,protein_coding -11439,Psmb4,ENSMUSG00000005779,protein_coding -34496,Mmp8,ENSMUSG00000005800,protein_coding -5954,Slc30a4,ENSMUSG00000005802,protein_coding -5958,Sqor,ENSMUSG00000005803,protein_coding -5957,Bloc1s6,ENSMUSG00000005804,protein_coding -12454,Metap1,ENSMUSG00000005813,protein_coding -50564,Gpr108,ENSMUSG00000005823,protein_coding -50561,Tnfsf14,ENSMUSG00000005824,protein_coding -52796,Gata6,ENSMUSG00000005836,protein_coding -47310,Rsl1d1,ENSMUSG00000005846,protein_coding -8290,Cnga2,ENSMUSG00000005864,protein_coding -53049,Apc,ENSMUSG00000005871,protein_coding -53051,Reep5,ENSMUSG00000005873,protein_coding -6608,Ergic3,ENSMUSG00000005881,protein_coding -6603,Uqcc1,ENSMUSG00000005882,protein_coding -7012,Spo11,ENSMUSG00000005883,protein_coding -157,Ncoa2,ENSMUSG00000005886,protein_coding -40962,Prl4a1,ENSMUSG00000005891,protein_coding -20809,Trh,ENSMUSG00000005892,protein_coding -20805,Nr2c2,ENSMUSG00000005893,protein_coding -28570,Nr2c1,ENSMUSG00000005897,protein_coding -47450,Smpd4,ENSMUSG00000005899,protein_coding -15653,Pex1,ENSMUSG00000005907,protein_coding -37608,Otx1,ENSMUSG00000005917,protein_coding -49553,Kctd20,ENSMUSG00000005936,protein_coding -38735,Itgae,ENSMUSG00000005947,protein_coding -38740,Ctns,ENSMUSG00000005949,protein_coding -38737,P2rx5,ENSMUSG00000005950,protein_coding -38741,Shpk,ENSMUSG00000005951,protein_coding -38743,Trpv1,ENSMUSG00000005952,protein_coding -47605,Ephb3,ENSMUSG00000005958,protein_coding -11429,Tuft1,ENSMUSG00000005968,protein_coding -5590,Rcn1,ENSMUSG00000005973,protein_coding -47186,Dnase1,ENSMUSG00000005980,protein_coding -47187,Trap1,ENSMUSG00000005981,protein_coding -47174,Naa60,ENSMUSG00000005982,protein_coding -47176,1700037C18Rik,ENSMUSG00000005983,protein_coding -54133,Ankrd13d,ENSMUSG00000005986,protein_coding -13818,Tyrp1,ENSMUSG00000005994,protein_coding -2447,Tpr,ENSMUSG00000006005,protein_coding -2443,Pdc,ENSMUSG00000006007,protein_coding -2446,Odr4,ENSMUSG00000006010,protein_coding -2448,Prg4,ENSMUSG00000006014,protein_coding -22654,Dhx34,ENSMUSG00000006019,protein_coding -22651,Kptn,ENSMUSG00000006021,protein_coding -22650,Napa,ENSMUSG00000006024,protein_coding -53130,Sra1,ENSMUSG00000006050,protein_coding -39372,Calcoco2,ENSMUSG00000006056,protein_coding -39370,Atp5g1,ENSMUSG00000006057,protein_coding -39368,Snf8,ENSMUSG00000006058,protein_coding -23345,Tbcb,ENSMUSG00000006095,protein_coding -38855,Inpp5k,ENSMUSG00000006127,protein_coding -47441,Crkl,ENSMUSG00000006134,protein_coding -18390,Upk3bl,ENSMUSG00000006143,protein_coding -22107,Eps8l1,ENSMUSG00000006154,protein_coding -37901,Clint1,ENSMUSG00000006169,protein_coding -40720,Prss16,ENSMUSG00000006179,protein_coding -40978,Cdkal1,ENSMUSG00000006191,protein_coding -7820,Rhox6,ENSMUSG00000006200,protein_coding -26338,5430419D17Rik,ENSMUSG00000006204,protein_coding -26334,Htra1,ENSMUSG00000006205,protein_coding -15180,Zbtb17,ENSMUSG00000006215,protein_coding -15177,Clcnkb,ENSMUSG00000006216,protein_coding -15174,Fam131c,ENSMUSG00000006218,protein_coding -15183,Fblim1,ENSMUSG00000006219,protein_coding -15178,Hspb7,ENSMUSG00000006221,protein_coding -34816,Epor,ENSMUSG00000006235,protein_coding -34813,Ccdc159,ENSMUSG00000006241,protein_coding -17166,Mob1b,ENSMUSG00000006262,protein_coding -20518,Atp6v1b1,ENSMUSG00000006269,protein_coding -55399,Vax1,ENSMUSG00000006270,protein_coding -30543,Atp6v1b2,ENSMUSG00000006273,protein_coding -30708,Eps15l1,ENSMUSG00000006276,protein_coding -33069,Tep1,ENSMUSG00000006281,protein_coding -33063,Ttc5,ENSMUSG00000006288,protein_coding -33072,Osgep,ENSMUSG00000006289,protein_coding -1197,Aamp,ENSMUSG00000006299,protein_coding -1201,Tmbim1,ENSMUSG00000006301,protein_coding -1195,Arpc2,ENSMUSG00000006304,protein_coding -23382,Kmt2b,ENSMUSG00000006307,protein_coding -23384,Zbtb32,ENSMUSG00000006310,protein_coding -23387,Etv2,ENSMUSG00000006311,protein_coding -23385,Upk1a,ENSMUSG00000006313,protein_coding -23396,Tmem147,ENSMUSG00000006315,protein_coding -22067,Rps9,ENSMUSG00000006333,protein_coding -22057,Tfpt,ENSMUSG00000006335,protein_coding -27938,Susd2,ENSMUSG00000006342,protein_coding -27934,Ggt5,ENSMUSG00000006344,protein_coding -27933,Ggt1,ENSMUSG00000006345,protein_coding -44961,Crip2,ENSMUSG00000006356,protein_coding -44962,Crip1,ENSMUSG00000006360,protein_coding -31718,Cbfa2t3,ENSMUSG00000006362,protein_coding -46634,Fbln1,ENSMUSG00000006369,protein_coding -7761,Pgrmc1,ENSMUSG00000006373,protein_coding -46380,Gcat,ENSMUSG00000006378,protein_coding -14012,Tek,ENSMUSG00000006386,protein_coding -14476,Mpl,ENSMUSG00000006389,protein_coding -14473,Elovl1,ENSMUSG00000006390,protein_coding -14472,Med8,ENSMUSG00000006392,protein_coding -14474,Cdc20,ENSMUSG00000006398,protein_coding -2902,Adamts4,ENSMUSG00000006403,protein_coding -2916,Nectin4,ENSMUSG00000006411,protein_coding -2912,Pfdn2,ENSMUSG00000006412,protein_coding -6916,Rnf114,ENSMUSG00000006418,protein_coding -7769,C330007P06Rik,ENSMUSG00000006423,protein_coding -55245,Neurl1a,ENSMUSG00000006435,protein_coding -15415,Srm,ENSMUSG00000006442,protein_coding -15170,Epha2,ENSMUSG00000006445,protein_coding -54152,Rbm14,ENSMUSG00000006456,protein_coding -54157,Actn3,ENSMUSG00000006457,protein_coding -54158,Zdhhc24,ENSMUSG00000006463,protein_coding -54159,Bbs1,ENSMUSG00000006464,protein_coding -3940,Slc34a3,ENSMUSG00000006469,protein_coding -3945,Ndor1,ENSMUSG00000006471,protein_coding -3926,Nsmf,ENSMUSG00000006476,protein_coding -40951,Prl7a1,ENSMUSG00000006488,protein_coding -40948,Prl8a9,ENSMUSG00000006490,protein_coding -4788,Pdk1,ENSMUSG00000006494,protein_coding -28126,Ptbp1,ENSMUSG00000006498,protein_coding -31703,Mvd,ENSMUSG00000006517,protein_coding -31702,Cyba,ENSMUSG00000006519,protein_coding -32477,Itih3,ENSMUSG00000006522,protein_coding -32474,Stimate,ENSMUSG00000006526,protein_coding -32471,Sfmbt1,ENSMUSG00000006527,protein_coding -32478,Itih1,ENSMUSG00000006529,protein_coding -1232,Ihh,ENSMUSG00000006538,protein_coding -1220,Prkag3,ENSMUSG00000006542,protein_coding -1228,Cryba2,ENSMUSG00000006546,protein_coding -29833,Atp7b,ENSMUSG00000006567,protein_coding -29822,Defb2,ENSMUSG00000006570,protein_coding -39734,Slc4a1,ENSMUSG00000006574,protein_coding -39736,Rundc3a,ENSMUSG00000006575,protein_coding -1269,Slc4a3,ENSMUSG00000006576,protein_coding -31711,Cdt1,ENSMUSG00000006585,protein_coding -12903,Runx1t1,ENSMUSG00000006586,protein_coding -31705,Snai3,ENSMUSG00000006587,protein_coding -31712,Aprt,ENSMUSG00000006589,protein_coding -24087,Gtf2h1,ENSMUSG00000006599,protein_coding -40862,Hfe,ENSMUSG00000006611,protein_coding -16166,Slc5a6,ENSMUSG00000006641,protein_coding -16165,Tcf23,ENSMUSG00000006642,protein_coding -23367,Nphs1,ENSMUSG00000006649,protein_coding -23365,Aplp1,ENSMUSG00000006651,protein_coding -36863,Qrich1,ENSMUSG00000006673,protein_coding -36874,P4htm,ENSMUSG00000006675,protein_coding -36861,Usp19,ENSMUSG00000006676,protein_coding -8642,Pola1,ENSMUSG00000006678,protein_coding -15055,Cdc42,ENSMUSG00000006699,protein_coding -49652,Pknox1,ENSMUSG00000006705,protein_coding -40907,D130043K22Rik,ENSMUSG00000006711,protein_coding -40902,Gmnn,ENSMUSG00000006715,protein_coding -40905,Acot13,ENSMUSG00000006717,protein_coding -40716,Zfp184,ENSMUSG00000006720,protein_coding -29135,Cyp27b1,ENSMUSG00000006724,protein_coding -29137,Cdk4,ENSMUSG00000006728,protein_coding -29144,B4galnt1,ENSMUSG00000006731,protein_coding -29134,Mettl1,ENSMUSG00000006732,protein_coding -29138,Tspan31,ENSMUSG00000006736,protein_coding -52706,Kif5b,ENSMUSG00000006740,protein_coding -24079,Saal1,ENSMUSG00000006763,protein_coding -28899,Tph2,ENSMUSG00000006764,protein_coding -39537,Krt23,ENSMUSG00000006777,protein_coding -39631,Cnp,ENSMUSG00000006782,protein_coding -39630,Ttc25,ENSMUSG00000006784,protein_coding -6881,Sulf2,ENSMUSG00000006800,protein_coding -48934,Sod2,ENSMUSG00000006818,protein_coding -53135,Tmco6,ENSMUSG00000006850,protein_coding -20505,Stambp,ENSMUSG00000006906,protein_coding -39663,Ezh1,ENSMUSG00000006920,protein_coding -39617,Hap1,ENSMUSG00000006930,protein_coding -39622,P3h4,ENSMUSG00000006931,protein_coding -37169,Ctnnb1,ENSMUSG00000006932,protein_coding -37147,Eif1b,ENSMUSG00000006941,protein_coding -23851,Klk4,ENSMUSG00000006948,protein_coding -47591,Chrd,ENSMUSG00000006958,protein_coding -47583,Psmd2,ENSMUSG00000006998,protein_coding -49305,Syngr3,ENSMUSG00000007021,protein_coding -49867,Vars,ENSMUSG00000007029,protein_coding -49868,Vwa7,ENSMUSG00000007030,protein_coding -49864,Hspa1l,ENSMUSG00000007033,protein_coding -49855,Slc44a4,ENSMUSG00000007034,protein_coding -49870,Msh5,ENSMUSG00000007035,protein_coding -49879,Abhd16a,ENSMUSG00000007036,protein_coding -49856,Neu1,ENSMUSG00000007038,protein_coding -49873,Ddah2,ENSMUSG00000007039,protein_coding -49872,Clic1,ENSMUSG00000007041,protein_coding -49866,Lsm2,ENSMUSG00000007050,protein_coding -17660,Pole,ENSMUSG00000007080,protein_coding -2962,Atp1a2,ENSMUSG00000007097,protein_coding -2959,Atp1a4,ENSMUSG00000007107,protein_coding -2957,Casq1,ENSMUSG00000007122,protein_coding -18346,Stx1a,ENSMUSG00000007207,protein_coding -22682,Ceacam9,ENSMUSG00000007209,protein_coding -19667,Zfp775,ENSMUSG00000007216,protein_coding -25812,Scube2,ENSMUSG00000007279,protein_coding -54257,Mrpl49,ENSMUSG00000007338,protein_coding -11741,Dennd2c,ENSMUSG00000007379,protein_coding -44900,Mark3,ENSMUSG00000007411,protein_coding -15656,Gatad1,ENSMUSG00000007415,protein_coding -53162,Pcdha11,ENSMUSG00000007440,protein_coding -17141,2310003L06Rik,ENSMUSG00000007457,protein_coding -21259,M6pr,ENSMUSG00000007458,protein_coding -4146,Lrrc8a,ENSMUSG00000007476,protein_coding -53743,Mc5r,ENSMUSG00000007480,protein_coding -49118,Ppp2r1a,ENSMUSG00000007564,protein_coding -49516,Fance,ENSMUSG00000007570,protein_coding -33491,Tinf2,ENSMUSG00000007589,protein_coding -33486,Tssk4,ENSMUSG00000007591,protein_coding -30578,Hapln4,ENSMUSG00000007594,protein_coding -50536,Dus3l,ENSMUSG00000007603,protein_coding -30655,Gtpbp3,ENSMUSG00000007610,protein_coding -13420,Tgfbr1,ENSMUSG00000007613,protein_coding -42329,Homer1,ENSMUSG00000007617,protein_coding -39187,Rad51c,ENSMUSG00000007646,protein_coding -37855,Gabrb2,ENSMUSG00000007653,protein_coding -19057,Cav1,ENSMUSG00000007655,protein_coding -36092,Arpp19,ENSMUSG00000007656,protein_coding -6502,Bcl2l1,ENSMUSG00000007659,protein_coding -50549,Khsrp,ENSMUSG00000007670,protein_coding -44388,Dio2,ENSMUSG00000007682,protein_coding -30631,Ccdc124,ENSMUSG00000007721,protein_coding -37629,Cct4,ENSMUSG00000007739,protein_coding -38061,0610009B22Rik,ENSMUSG00000007777,protein_coding -23954,Cpt1c,ENSMUSG00000007783,protein_coding -1620,Twist2,ENSMUSG00000007805,protein_coding -18698,Zfp655,ENSMUSG00000007812,protein_coding -36846,Rhoa,ENSMUSG00000007815,protein_coding -32369,Zmiz1,ENSMUSG00000007817,protein_coding -21185,Ankrd26,ENSMUSG00000007827,protein_coding -23981,Aldh16a1,ENSMUSG00000007833,protein_coding -41595,Hnrnpa0,ENSMUSG00000007836,protein_coding -23964,Prrg2,ENSMUSG00000007837,protein_coding -38018,Hnrnph1,ENSMUSG00000007850,protein_coding -44237,Ift43,ENSMUSG00000007867,protein_coding -15022,Id3,ENSMUSG00000007872,protein_coding -39484,Tcap,ENSMUSG00000007877,protein_coding -14930,Arid1a,ENSMUSG00000007880,protein_coding -30601,Crlf1,ENSMUSG00000007888,protein_coding -26640,Ctsd,ENSMUSG00000007891,protein_coding -35802,Rplp1,ENSMUSG00000007892,protein_coding -17143,Cabs1,ENSMUSG00000007907,protein_coding -36122,Hmgcll1,ENSMUSG00000007908,protein_coding -23209,Ttc9b,ENSMUSG00000007944,protein_coding -25363,Phox2a,ENSMUSG00000007946,protein_coding -30651,Abhd8,ENSMUSG00000007950,protein_coding -18412,Ift22,ENSMUSG00000007987,protein_coding -33741,Fzd3,ENSMUSG00000007989,protein_coding -23912,1700008O03Rik,ENSMUSG00000008028,protein_coding -7459,Mid1ip1,ENSMUSG00000008035,protein_coding -22683,Ap2s1,ENSMUSG00000008036,protein_coding -17603,Fgfrl1,ENSMUSG00000008090,protein_coding -30914,4930432K21Rik,ENSMUSG00000008129,protein_coding -648,Fhl2,ENSMUSG00000008136,protein_coding -23921,Emc10,ENSMUSG00000008140,protein_coding -21336,Clstn3,ENSMUSG00000008153,protein_coding -30967,Fbxw9,ENSMUSG00000008167,protein_coding -23925,Spib,ENSMUSG00000008193,protein_coding -5367,Fnbp4,ENSMUSG00000008200,protein_coding -29436,Cers4,ENSMUSG00000008206,protein_coding -4816,Scrn3,ENSMUSG00000008226,protein_coding -53497,Phax,ENSMUSG00000008301,protein_coding -13752,Tle1,ENSMUSG00000008305,protein_coding -15650,1700109H08Rik,ENSMUSG00000008307,protein_coding -25336,Relt,ENSMUSG00000008318,protein_coding -6270,Snrpb2,ENSMUSG00000008333,protein_coding -18160,Ubc,ENSMUSG00000008348,protein_coding -22058,Prpf31,ENSMUSG00000008373,protein_coding -23201,Sertad1,ENSMUSG00000008384,protein_coding -47252,Carhsp1,ENSMUSG00000008393,protein_coding -28540,Elk3,ENSMUSG00000008398,protein_coding -34883,Herpud2,ENSMUSG00000008429,protein_coding -22104,Rdh13,ENSMUSG00000008435,protein_coding -44115,Adam21,ENSMUSG00000008438,protein_coding -31388,Nutf2,ENSMUSG00000008450,protein_coding -24026,Fut1,ENSMUSG00000008461,protein_coding -2491,Arpc5,ENSMUSG00000008475,protein_coding -49309,Rnf151,ENSMUSG00000008482,protein_coding -13974,Elavl2,ENSMUSG00000008489,protein_coding -23094,Pou2f2,ENSMUSG00000008496,protein_coding -21807,Mgst1,ENSMUSG00000008540,protein_coding -13831,Nfib,ENSMUSG00000008575,protein_coding -35523,Htr3b,ENSMUSG00000008590,protein_coding -11128,Rab25,ENSMUSG00000008601,protein_coding -11130,Ubqln4,ENSMUSG00000008604,protein_coding -47234,Rbfox1,ENSMUSG00000008658,protein_coding -49764,Rps18,ENSMUSG00000008668,protein_coding -8372,Rpl10,ENSMUSG00000008682,protein_coding -25933,Rps15a,ENSMUSG00000008683,protein_coding -46710,Ncaph2,ENSMUSG00000008690,protein_coding -11758,Hipk1,ENSMUSG00000008730,protein_coding -25961,Gprc5b,ENSMUSG00000008734,protein_coding -11674,Man1a2,ENSMUSG00000008763,protein_coding -22716,Ceacam5,ENSMUSG00000008789,protein_coding -33134,Tppp2,ENSMUSG00000008813,protein_coding -44213,Acyp1,ENSMUSG00000008822,protein_coding -18333,Cldn13,ENSMUSG00000008843,protein_coding -21330,Cd163,ENSMUSG00000008845,protein_coding -39727,Hdac5,ENSMUSG00000008855,protein_coding -40586,Rala,ENSMUSG00000008859,protein_coding -31561,Clec3a,ENSMUSG00000008874,protein_coding -29851,Vdac3,ENSMUSG00000008892,protein_coding -14235,Slc1a7,ENSMUSG00000008932,protein_coding -11454,Vps72,ENSMUSG00000008958,protein_coding -48469,Gabpa,ENSMUSG00000008976,protein_coding -7011,Bmp7,ENSMUSG00000008999,protein_coding -17829,Dynll1,ENSMUSG00000009013,protein_coding -4387,Pdcl,ENSMUSG00000009030,protein_coding -46401,Tmem184b,ENSMUSG00000009035,protein_coding -48524,Gm5965,ENSMUSG00000009047,protein_coding -27917,Rsph14,ENSMUSG00000009070,protein_coding -37370,Nf2,ENSMUSG00000009073,protein_coding -37369,Cabp7,ENSMUSG00000009075,protein_coding -37368,Zmat5,ENSMUSG00000009076,protein_coding -37381,Ewsr1,ENSMUSG00000009079,protein_coding -37376,Ap1b1,ENSMUSG00000009090,protein_coding -27949,Derl3,ENSMUSG00000009092,protein_coding -27945,Gstt4,ENSMUSG00000009093,protein_coding -47500,Tbx1,ENSMUSG00000009097,protein_coding -11914,Gnat2,ENSMUSG00000009108,protein_coding -21221,Bcl2l13,ENSMUSG00000009112,protein_coding -27974,2610028H24Rik,ENSMUSG00000009114,protein_coding -27979,Spatc1l,ENSMUSG00000009115,protein_coding -20475,Dqx1,ENSMUSG00000009145,protein_coding -39035,Ccl8,ENSMUSG00000009185,protein_coding -4839,Lnpk,ENSMUSG00000009207,protein_coding -39864,Prr29,ENSMUSG00000009210,protein_coding -4058,Mymk,ENSMUSG00000009214,protein_coding -4060,Fam163b,ENSMUSG00000009216,protein_coding -26668,Trpm5,ENSMUSG00000009246,protein_coding -26663,Ascl2,ENSMUSG00000009248,protein_coding -19662,Rarres2,ENSMUSG00000009281,protein_coding -28001,Pttg1ip,ENSMUSG00000009291,protein_coding -28037,Trpm2,ENSMUSG00000009292,protein_coding -28004,Ube2g2,ENSMUSG00000009293,protein_coding -39213,Mpo,ENSMUSG00000009350,protein_coding -39215,Lpo,ENSMUSG00000009356,protein_coding -19060,Met,ENSMUSG00000009376,protein_coding -54945,Slc16a12,ENSMUSG00000009378,protein_coding -21092,Syn2,ENSMUSG00000009394,protein_coding -7590,Elk1,ENSMUSG00000009406,protein_coding -2246,Nav1,ENSMUSG00000009418,protein_coding -42463,Tnpo1,ENSMUSG00000009470,protein_coding -24070,Myod1,ENSMUSG00000009471,protein_coding -24068,Otog,ENSMUSG00000009487,protein_coding -53742,Rnmt,ENSMUSG00000009535,protein_coding -26670,Kcnq1,ENSMUSG00000009545,protein_coding -5804,Srp14,ENSMUSG00000009549,protein_coding -4248,6330409D20Rik,ENSMUSG00000009551,protein_coding -4244,Cdk9,ENSMUSG00000009555,protein_coding -4250,Tor2a,ENSMUSG00000009563,protein_coding -4242,Fpgs,ENSMUSG00000009566,protein_coding -47331,Mrtfb,ENSMUSG00000009569,protein_coding -47118,Cbx5,ENSMUSG00000009575,protein_coding -17136,Odam,ENSMUSG00000009580,protein_coding -46431,Apobec3,ENSMUSG00000009585,protein_coding -40104,St6galnac1,ENSMUSG00000009588,protein_coding -9224,Taf7l,ENSMUSG00000009596,protein_coding -4063,Sardh,ENSMUSG00000009614,protein_coding -4065,Vav2,ENSMUSG00000009621,protein_coding -30037,Tex15,ENSMUSG00000009628,protein_coding -30038,Ppp2cb,ENSMUSG00000009630,protein_coding -3409,G0s2,ENSMUSG00000009633,protein_coding -14449,Dmap1,ENSMUSG00000009640,protein_coding -27666,Pla2g12b,ENSMUSG00000009646,protein_coding -27668,Mcu,ENSMUSG00000009647,protein_coding -27667,Oit3,ENSMUSG00000009654,protein_coding -8758,Tex11,ENSMUSG00000009670,protein_coding -27921,Bcr,ENSMUSG00000009681,protein_coding -23420,Fxyd5,ENSMUSG00000009687,protein_coding -7362,Kcnd1,ENSMUSG00000009731,protein_coding -46972,Tfcp2,ENSMUSG00000009733,protein_coding -40600,Pou6f2,ENSMUSG00000009734,protein_coding -46973,Pou6f1,ENSMUSG00000009739,protein_coding -37022,Ubp1,ENSMUSG00000009741,protein_coding -2147,Nuak2,ENSMUSG00000009772,protein_coding -36166,Ick,ENSMUSG00000009828,protein_coding -15155,Sdhb,ENSMUSG00000009863,protein_coding -6500,Cox4i2,ENSMUSG00000009876,protein_coding -38287,Snap47,ENSMUSG00000009894,protein_coding -38282,Wnt3a,ENSMUSG00000009900,protein_coding -1822,Kdsr,ENSMUSG00000009905,protein_coding -1823,Vps4b,ENSMUSG00000009907,protein_coding -35388,Rps25,ENSMUSG00000009927,protein_coding -9246,Nxf2,ENSMUSG00000009941,protein_coding -8377,Taz,ENSMUSG00000009995,protein_coding -39991,Kif19a,ENSMUSG00000010021,protein_coding -38373,Aldh3a2,ENSMUSG00000010025,protein_coding -36788,Zmynd10,ENSMUSG00000010044,protein_coding -36785,Tmem115,ENSMUSG00000010045,protein_coding -36793,Hyal2,ENSMUSG00000010047,protein_coding -36798,Ifrd2,ENSMUSG00000010048,protein_coding -36795,Hyal1,ENSMUSG00000010051,protein_coding -36792,Tusc2,ENSMUSG00000010054,protein_coding -36787,Nprl2,ENSMUSG00000010057,protein_coding -36804,Slc38a3,ENSMUSG00000010064,protein_coding -36782,Cacna2d2,ENSMUSG00000010066,protein_coding -36790,Rassf1,ENSMUSG00000010067,protein_coding -39301,Epn3,ENSMUSG00000010080,protein_coding -38379,Rnf112,ENSMUSG00000010086,protein_coding -54369,Slc3a2,ENSMUSG00000010095,protein_coding -54383,Nxf1,ENSMUSG00000010097,protein_coding -54381,Stx5a,ENSMUSG00000010110,protein_coding -38376,Slc47a1,ENSMUSG00000010122,protein_coding -11840,Pifo,ENSMUSG00000010136,protein_coding -38368,Tnfrsf13b,ENSMUSG00000010142,protein_coding -31752,Spire2,ENSMUSG00000010154,protein_coding -3330,Prox1,ENSMUSG00000010175,protein_coding -34771,Raver1,ENSMUSG00000010205,protein_coding -38940,2610507B11Rik,ENSMUSG00000010277,protein_coding -647,AI597479,ENSMUSG00000010290,protein_coding -24103,Tmem86a,ENSMUSG00000010307,protein_coding -2191,Optc,ENSMUSG00000010311,protein_coding -39188,Tex14,ENSMUSG00000010342,protein_coding -39687,Ifi35,ENSMUSG00000010358,protein_coding -39698,Rdm1,ENSMUSG00000010362,protein_coding -33489,Nedd8,ENSMUSG00000010376,protein_coding -38881,Gosr1,ENSMUSG00000010392,protein_coding -33403,Mrpl52,ENSMUSG00000010406,protein_coding -29588,Spaca7,ENSMUSG00000010435,protein_coding -508,Kansl3,ENSMUSG00000010453,protein_coding -27061,Eya4,ENSMUSG00000010461,protein_coding -26443,Ebf3,ENSMUSG00000010476,protein_coding -7246,Myt1,ENSMUSG00000010505,protein_coding -14288,Faf1,ENSMUSG00000010517,protein_coding -44895,Gm266,ENSMUSG00000010529,protein_coding -11106,Tsacc,ENSMUSG00000010538,protein_coding -38814,Mettl16,ENSMUSG00000010554,protein_coding -50407,Dazl,ENSMUSG00000010592,protein_coding -46302,Apol7a,ENSMUSG00000010601,protein_coding -34831,Pigyl,ENSMUSG00000010607,protein_coding -44146,Rbm25,ENSMUSG00000010608,protein_coding -3136,Psen2,ENSMUSG00000010609,protein_coding -37101,Acaa1b,ENSMUSG00000010651,protein_coding -37099,Plcd1,ENSMUSG00000010660,protein_coding -54444,Fads1,ENSMUSG00000010663,protein_coding -16107,Lmbr1,ENSMUSG00000010721,protein_coding -26696,Tnfrsf22,ENSMUSG00000010751,protein_coding -26690,Cars,ENSMUSG00000010755,protein_coding -26687,Phlda2,ENSMUSG00000010760,protein_coding -19078,Asz1,ENSMUSG00000010796,protein_coding -19077,Wnt2,ENSMUSG00000010797,protein_coding -37853,Gabra1,ENSMUSG00000010803,protein_coding -18636,Grid2ip,ENSMUSG00000010825,protein_coding -46409,Kdelr3,ENSMUSG00000010830,protein_coding -39713,Cfap97d1,ENSMUSG00000010841,protein_coding -5525,Apip,ENSMUSG00000010911,protein_coding -5524,Pdhx,ENSMUSG00000010914,protein_coding -31497,Vac14,ENSMUSG00000010936,protein_coding -12575,Mcoln2,ENSMUSG00000011008,protein_coding -16245,Slc5a1,ENSMUSG00000011034,protein_coding -23945,Akt1s1,ENSMUSG00000011096,protein_coding -35099,Tbrg1,ENSMUSG00000011114,protein_coding -35100,Panx3,ENSMUSG00000011118,protein_coding -44933,Adssl1,ENSMUSG00000011148,protein_coding -24973,Cfap161,ENSMUSG00000011154,protein_coding -44953,Brf1,ENSMUSG00000011158,protein_coding -45239,Vipr2,ENSMUSG00000011171,protein_coding -43047,Odc1,ENSMUSG00000011179,protein_coding -37903,Thg1l,ENSMUSG00000011254,protein_coding -37907,Adam19,ENSMUSG00000011256,protein_coding -14616,Pabpc4,ENSMUSG00000011257,protein_coding -22812,Exoc3l2,ENSMUSG00000011263,protein_coding -22819,Zfp296,ENSMUSG00000011267,protein_coding -50505,Plin5,ENSMUSG00000011305,protein_coding -30576,Sugp1,ENSMUSG00000011306,protein_coding -23082,Dmrtc2,ENSMUSG00000011349,protein_coding -24014,Dhdh,ENSMUSG00000011382,protein_coding -23317,Zfp790,ENSMUSG00000011427,protein_coding -10080,Cpb1,ENSMUSG00000011463,protein_coding -50550,Slc25a41,ENSMUSG00000011486,protein_coding -50496,Fsd1,ENSMUSG00000011589,protein_coding -23061,Pinlyp,ENSMUSG00000011632,protein_coding -23951,Fuz,ENSMUSG00000011658,protein_coding -23196,Sptbn4,ENSMUSG00000011751,protein_coding -55081,Pgam1,ENSMUSG00000011752,protein_coding -17565,Evi5,ENSMUSG00000011831,protein_coding -29419,Evi5l,ENSMUSG00000011832,protein_coding -29425,Snapc2,ENSMUSG00000011837,protein_coding -38901,Git1,ENSMUSG00000011877,protein_coding -17792,Gltp,ENSMUSG00000011884,protein_coding -35966,Bnip2,ENSMUSG00000011958,protein_coding -46865,Ccnt1,ENSMUSG00000011960,protein_coding -47460,Scarf2,ENSMUSG00000012017,protein_coding -12443,4930579F01Rik,ENSMUSG00000012042,protein_coding -43664,Brms1l,ENSMUSG00000012076,protein_coding -47452,Med15,ENSMUSG00000012114,protein_coding -14939,Dhdds,ENSMUSG00000012117,protein_coding -14943,Crybg2,ENSMUSG00000012123,protein_coding -14945,Ubxn11,ENSMUSG00000012126,protein_coding -1296,Mogat1,ENSMUSG00000012187,protein_coding -44959,Tex22,ENSMUSG00000012211,protein_coding -53055,Wnt8a,ENSMUSG00000012282,protein_coding -50290,Tjap1,ENSMUSG00000012296,protein_coding -5530,Ehf,ENSMUSG00000012350,protein_coding -21277,Nanog,ENSMUSG00000012396,protein_coding -32229,Rpl15,ENSMUSG00000012405,protein_coding -42281,Tmem167,ENSMUSG00000012422,protein_coding -15719,Steap4,ENSMUSG00000012428,protein_coding -40578,Mplkip,ENSMUSG00000012429,protein_coding -54991,Kif11,ENSMUSG00000012443,protein_coding -18984,Rpa3,ENSMUSG00000012483,protein_coding -31522,Mlkl,ENSMUSG00000012519,protein_coding -16818,Phox2b,ENSMUSG00000012520,protein_coding -19215,Tnpo3,ENSMUSG00000012535,protein_coding -44232,Ttll5,ENSMUSG00000012609,protein_coding -23809,Zfp715,ENSMUSG00000012640,protein_coding -29389,Retn,ENSMUSG00000012705,protein_coding -23904,Acp4,ENSMUSG00000012777,protein_coding -27685,Cdh23,ENSMUSG00000012819,protein_coding -22495,Rps5,ENSMUSG00000012848,protein_coding -30912,Podnl1,ENSMUSG00000012889,protein_coding -30893,Adgrl1,ENSMUSG00000013033,protein_coding -34584,Amotl1,ENSMUSG00000013076,protein_coding -23393,2200002J24Rik,ENSMUSG00000013083,protein_coding -47633,Etv5,ENSMUSG00000013089,protein_coding -22131,Tmem190,ENSMUSG00000013091,protein_coding -31382,Gfod2,ENSMUSG00000013150,protein_coding -31380,Enkd1,ENSMUSG00000013155,protein_coding -31381,4933405L10Rik,ENSMUSG00000013158,protein_coding -31367,Atp6v0d1,ENSMUSG00000013160,protein_coding -50521,Ptprs,ENSMUSG00000013236,protein_coding -2124,Slc41a1,ENSMUSG00000013275,protein_coding -6609,Fer1l4,ENSMUSG00000013338,protein_coding -23824,4931406B18Rik,ENSMUSG00000013353,protein_coding -23823,Iglon5,ENSMUSG00000013367,protein_coding -39362,Igf2bp1,ENSMUSG00000013415,protein_coding -39359,B4galnt2,ENSMUSG00000013418,protein_coding -37189,Zfp651,ENSMUSG00000013419,protein_coding -3935,Nelfb,ENSMUSG00000013465,protein_coding -40182,Card14,ENSMUSG00000013483,protein_coding -17599,Tmem175,ENSMUSG00000013495,protein_coding -6974,Bcas1,ENSMUSG00000013523,protein_coding -47489,Tango2,ENSMUSG00000013539,protein_coding -35993,Aldh1a2,ENSMUSG00000013584,protein_coding -2901,Ndufs2,ENSMUSG00000013593,protein_coding -45693,Snx31,ENSMUSG00000013611,protein_coding -16167,Atraid,ENSMUSG00000013622,protein_coding -16168,Cad,ENSMUSG00000013629,protein_coding -38220,Lypd8,ENSMUSG00000013643,protein_coding -38219,Sh3bp5l,ENSMUSG00000013646,protein_coding -38223,1810065E05Rik,ENSMUSG00000013653,protein_coding -54896,Atad1,ENSMUSG00000013662,protein_coding -54897,Pten,ENSMUSG00000013663,protein_coding -26336,4933402N03Rik,ENSMUSG00000013668,protein_coding -2956,Pea15a,ENSMUSG00000013698,protein_coding -32526,Timm23,ENSMUSG00000013701,protein_coding -11459,Tnfaip8l2,ENSMUSG00000013707,protein_coding -20960,Trnt1,ENSMUSG00000013736,protein_coding -49877,Ly6g6e,ENSMUSG00000013766,protein_coding -49854,Ehmt2,ENSMUSG00000013787,protein_coding -34827,Elof1,ENSMUSG00000013822,protein_coding -28134,Med16,ENSMUSG00000013833,protein_coding -46073,St3gal1,ENSMUSG00000013846,protein_coding -28142,Tmem259,ENSMUSG00000013858,protein_coding -29941,Rnf170,ENSMUSG00000013878,protein_coding -23351,Clip3,ENSMUSG00000013921,protein_coding -23350,Thap8,ENSMUSG00000013928,protein_coding -18022,Myl2,ENSMUSG00000013936,protein_coding -2910,Dedd,ENSMUSG00000013973,protein_coding -29391,Mcemp1,ENSMUSG00000013974,protein_coding -2911,Nit1,ENSMUSG00000013997,protein_coding -13350,Pax5,ENSMUSG00000014030,protein_coding -48746,Prdm15,ENSMUSG00000014039,protein_coding -47811,Rnf168,ENSMUSG00000014074,protein_coding -47816,Tctex1d2,ENSMUSG00000014075,protein_coding -5844,Chp1,ENSMUSG00000014077,protein_coding -19517,Sval2,ENSMUSG00000014104,protein_coding -17791,Trpv4,ENSMUSG00000014158,protein_coding -41593,Klhl3,ENSMUSG00000014164,protein_coding -38430,Tvp23b,ENSMUSG00000014177,protein_coding -39632,Dnajc7,ENSMUSG00000014195,protein_coding -39634,Zfp385c,ENSMUSG00000014198,protein_coding -2633,Cacybp,ENSMUSG00000014226,protein_coding -47177,Cluap1,ENSMUSG00000014232,protein_coding -38399,Zswim7,ENSMUSG00000014243,protein_coding -38404,Pigl,ENSMUSG00000014245,protein_coding -53136,Ndufa2,ENSMUSG00000014294,protein_coding -47199,Pam16,ENSMUSG00000014301,protein_coding -47198,Glis2,ENSMUSG00000014303,protein_coding -45673,Cox6c,ENSMUSG00000014313,protein_coding -27872,Bicc1,ENSMUSG00000014329,protein_coding -39369,Ube2z,ENSMUSG00000014349,protein_coding -39366,Gip,ENSMUSG00000014351,protein_coding -6050,Tmem87b,ENSMUSG00000014353,protein_coding -6046,Anapc1,ENSMUSG00000014355,protein_coding -6047,Mertk,ENSMUSG00000014361,protein_coding -24092,Tsg101,ENSMUSG00000014402,protein_coding -24085,Hps5,ENSMUSG00000014418,protein_coding -48903,Map3k4,ENSMUSG00000014426,protein_coding -31709,Piezo1,ENSMUSG00000014444,protein_coding -33705,Blk,ENSMUSG00000014453,protein_coding -31706,Rnf166,ENSMUSG00000014470,protein_coding -32512,Ankrd28,ENSMUSG00000014496,protein_coding -29223,Ankrd52,ENSMUSG00000014498,protein_coding -53052,Pkd2l2,ENSMUSG00000014503,protein_coding -53050,Srp19,ENSMUSG00000014504,protein_coding -15657,Tmbim7,ENSMUSG00000014529,protein_coding -20510,Clec4f,ENSMUSG00000014542,protein_coding -21569,Klra17,ENSMUSG00000014543,protein_coding -33686,Wdfy2,ENSMUSG00000014547,protein_coding -20808,Rbsn,ENSMUSG00000014550,protein_coding -20807,Mrps25,ENSMUSG00000014551,protein_coding -20503,Dguok,ENSMUSG00000014554,protein_coding -15483,Camta1,ENSMUSG00000014592,protein_coding -11888,Csf1,ENSMUSG00000014599,protein_coding -11885,Strip1,ENSMUSG00000014601,protein_coding -1660,Kif1a,ENSMUSG00000014602,protein_coding -11884,Alx3,ENSMUSG00000014603,protein_coding -38653,Slc25a11,ENSMUSG00000014606,protein_coding -38649,Chrne,ENSMUSG00000014609,protein_coding -31578,Cmc2,ENSMUSG00000014633,protein_coding -17649,Chfr,ENSMUSG00000014668,protein_coding -22841,Ceacam16,ENSMUSG00000014686,protein_coding -19761,Hoxa2,ENSMUSG00000014704,protein_coding -33807,Adam28,ENSMUSG00000014725,protein_coding -20520,Ankrd53,ENSMUSG00000014747,protein_coding -20521,Tex261,ENSMUSG00000014748,protein_coding -48996,Fam120b,ENSMUSG00000014763,protein_coding -49000,Tbp,ENSMUSG00000014767,protein_coding -48999,Psmb1,ENSMUSG00000014769,protein_coding -49001,Pdcd2,ENSMUSG00000014771,protein_coding -48994,Dll1,ENSMUSG00000014773,protein_coding -31348,Nol3,ENSMUSG00000014776,protein_coding -31358,Fhod1,ENSMUSG00000014778,protein_coding -31360,Plekhg4,ENSMUSG00000014782,protein_coding -31359,Slc9a5,ENSMUSG00000014786,protein_coding -31353,Elmo3,ENSMUSG00000014791,protein_coding -33811,Stc1,ENSMUSG00000014813,protein_coding -31349,4931428F04Rik,ENSMUSG00000014837,protein_coding -31363,Tppp3,ENSMUSG00000014846,protein_coding -42311,Msh3,ENSMUSG00000014850,protein_coding -4053,Adamts13,ENSMUSG00000014852,protein_coding -31357,Tmem208,ENSMUSG00000014856,protein_coding -31352,E2f4,ENSMUSG00000014859,protein_coding -4050,Surf4,ENSMUSG00000014867,protein_coding -4049,Surf2,ENSMUSG00000014873,protein_coding -43511,Dnajb9,ENSMUSG00000014905,protein_coding -30510,Naf1,ENSMUSG00000014907,protein_coding -16228,Yes1,ENSMUSG00000014932,protein_coding -16220,Ppp1cb,ENSMUSG00000014956,protein_coding -4763,Gorasp2,ENSMUSG00000014959,protein_coding -2483,Tsen15,ENSMUSG00000014980,protein_coding -46054,Oc90,ENSMUSG00000015001,protein_coding -46052,Efr3a,ENSMUSG00000015002,protein_coding -31715,Trappc2l,ENSMUSG00000015013,protein_coding -31724,Acsf3,ENSMUSG00000015016,protein_coding -31510,Ddx19a,ENSMUSG00000015023,protein_coding -31713,Galns,ENSMUSG00000015027,protein_coding -20683,Gata2,ENSMUSG00000015053,protein_coding -3970,C8g,ENSMUSG00000015083,protein_coding -3961,Entpd2,ENSMUSG00000015085,protein_coding -3980,Rabl6,ENSMUSG00000015087,protein_coding -3968,Ptgds,ENSMUSG00000015090,protein_coding -3975,Edf1,ENSMUSG00000015092,protein_coding -3967,Clic3,ENSMUSG00000015093,protein_coding -3962,Npdc1,ENSMUSG00000015094,protein_coding -3971,Fbxw5,ENSMUSG00000015095,protein_coding -18945,Slc25a13,ENSMUSG00000015112,protein_coding -49344,Ube2i,ENSMUSG00000015120,protein_coding -49341,Tsr3,ENSMUSG00000015126,protein_coding -49339,Unkl,ENSMUSG00000015127,protein_coding -24612,Lrrk1,ENSMUSG00000015133,protein_coding -24617,Aldh1a3,ENSMUSG00000015134,protein_coding -44067,Actn1,ENSMUSG00000015143,protein_coding -23269,Sirt2,ENSMUSG00000015149,protein_coding -23271,Hnrnpl,ENSMUSG00000015165,protein_coding -55203,Nolc1,ENSMUSG00000015176,protein_coding -18924,Casd1,ENSMUSG00000015189,protein_coding -26785,Cnksr3,ENSMUSG00000015202,protein_coding -8277,Mtmr1,ENSMUSG00000015214,protein_coding -8282,Hmgb3,ENSMUSG00000015217,protein_coding -1078,Map2,ENSMUSG00000015222,protein_coding -14045,Cyp2j9,ENSMUSG00000015224,protein_coding -13492,Nipsnap3a,ENSMUSG00000015242,protein_coding -13494,Abca1,ENSMUSG00000015243,protein_coding -13493,Nipsnap3b,ENSMUSG00000015247,protein_coding -8383,Lage3,ENSMUSG00000015289,protein_coding -8384,Ubl4a,ENSMUSG00000015290,protein_coding -8379,Gdi1,ENSMUSG00000015291,protein_coding -26810,Sash1,ENSMUSG00000015305,protein_coding -28212,Gadd45b,ENSMUSG00000015312,protein_coding -2946,Slamf6,ENSMUSG00000015314,protein_coding -2942,Slamf1,ENSMUSG00000015316,protein_coding -4138,Zdhhc12,ENSMUSG00000015335,protein_coding -4142,Endog,ENSMUSG00000015337,protein_coding -7441,Cybb,ENSMUSG00000015340,protein_coding -29874,Golga7,ENSMUSG00000015341,protein_coding -7435,Xk,ENSMUSG00000015342,protein_coding -36482,Pcolce2,ENSMUSG00000015354,protein_coding -2935,Cd48,ENSMUSG00000015355,protein_coding -35879,Clpx,ENSMUSG00000015357,protein_coding -46693,Trabd,ENSMUSG00000015363,protein_coding -46689,Mov10l1,ENSMUSG00000015365,protein_coding -46701,Dennd6b,ENSMUSG00000015377,protein_coding -41293,Cd83,ENSMUSG00000015396,protein_coding -9796,Cltrn,ENSMUSG00000015401,protein_coding -9798,Ace2,ENSMUSG00000015405,protein_coding -33535,Gzmb,ENSMUSG00000015437,protein_coding -33531,Gzmf,ENSMUSG00000015441,protein_coding -33527,Gzmn,ENSMUSG00000015443,protein_coding -49822,Ager,ENSMUSG00000015452,protein_coding -49832,Atf6b,ENSMUSG00000015461,protein_coding -49826,Egfl8,ENSMUSG00000015467,protein_coding -49818,Notch4,ENSMUSG00000015468,protein_coding -49828,Ppt2,ENSMUSG00000015474,protein_coding -49829,Prrt1,ENSMUSG00000015476,protein_coding -49823,Rnf5,ENSMUSG00000015478,protein_coding -2563,Fam163a,ENSMUSG00000015484,protein_coding -4054,Cacfd1,ENSMUSG00000015488,protein_coding -26903,Hivep2,ENSMUSG00000015501,protein_coding -27163,2310057J18Rik,ENSMUSG00000015519,protein_coding -11480,Arnt,ENSMUSG00000015522,protein_coding -42722,Itga2,ENSMUSG00000015533,protein_coding -42721,Mocs2,ENSMUSG00000015536,protein_coding -40010,Nat9,ENSMUSG00000015542,protein_coding -30538,Lpl,ENSMUSG00000015568,protein_coding -49437,Atp6v0e,ENSMUSG00000015575,protein_coding -49440,Nkx2-5,ENSMUSG00000015579,protein_coding -50294,Zfp318,ENSMUSG00000015597,protein_coding -50300,Ttbk1,ENSMUSG00000015599,protein_coding -50305,Srf,ENSMUSG00000015605,protein_coding -3545,Gata3,ENSMUSG00000015619,protein_coding -7177,Gata5,ENSMUSG00000015627,protein_coding -7171,Lama5,ENSMUSG00000015647,protein_coding -15695,Steap1,ENSMUSG00000015652,protein_coding -15693,Steap2,ENSMUSG00000015653,protein_coding -35276,Hspa8,ENSMUSG00000015656,protein_coding -48799,Serac1,ENSMUSG00000015659,protein_coding -8747,Awat1,ENSMUSG00000015665,protein_coding -8751,Pdzd11,ENSMUSG00000015668,protein_coding -40537,Psma2,ENSMUSG00000015671,protein_coding -40536,Mrpl32,ENSMUSG00000015672,protein_coding -11473,Setdb1,ENSMUSG00000015697,protein_coding -11470,Anxa9,ENSMUSG00000015702,protein_coding -24988,Arnt2,ENSMUSG00000015709,protein_coding -11468,Prune1,ENSMUSG00000015711,protein_coding -11472,Cers2,ENSMUSG00000015714,protein_coding -23000,Nlrp5,ENSMUSG00000015721,protein_coding -19061,Capza2,ENSMUSG00000015733,protein_coding -11511,Plekho1,ENSMUSG00000015745,protein_coding -11512,Vps45,ENSMUSG00000015747,protein_coding -11500,Prpf3,ENSMUSG00000015748,protein_coding -11508,Anp32e,ENSMUSG00000015749,protein_coding -11506,Aph1a,ENSMUSG00000015750,protein_coding -26804,Tab2,ENSMUSG00000015755,protein_coding -26799,Ppil4,ENSMUSG00000015757,protein_coding -32928,Cnih1,ENSMUSG00000015759,protein_coding -21801,Eps8,ENSMUSG00000015766,protein_coding -4043,Med22,ENSMUSG00000015776,protein_coding -4041,Abo,ENSMUSG00000015787,protein_coding -4048,Surf1,ENSMUSG00000015790,protein_coding -16488,Med28,ENSMUSG00000015804,protein_coding -16484,Qdpr,ENSMUSG00000015806,protein_coding -33795,Gnrh1,ENSMUSG00000015812,protein_coding -2623,Tnr,ENSMUSG00000015829,protein_coding -38008,Sqstm1,ENSMUSG00000015837,protein_coding -4880,Nfe2l2,ENSMUSG00000015839,protein_coding -2838,Rxrg,ENSMUSG00000015843,protein_coding -4074,Rxra,ENSMUSG00000015846,protein_coding -11492,Adamtsl4,ENSMUSG00000015850,protein_coding -11067,Fcrls,ENSMUSG00000015852,protein_coding -11068,Cd5l,ENSMUSG00000015854,protein_coding -40086,Prpsap1,ENSMUSG00000015869,protein_coding -16489,Fam184b,ENSMUSG00000015879,protein_coding -16496,Ncapg,ENSMUSG00000015880,protein_coding -16497,Lcorl,ENSMUSG00000015882,protein_coding -28545,Lta4h,ENSMUSG00000015889,protein_coding -28547,Amdhd1,ENSMUSG00000015890,protein_coding -6283,Dstn,ENSMUSG00000015932,protein_coding -41565,H2afy,ENSMUSG00000015937,protein_coding -18307,Gtf2ird2,ENSMUSG00000015942,protein_coding -11520,Bola1,ENSMUSG00000015943,protein_coding -18304,Castor2,ENSMUSG00000015944,protein_coding -11542,Fcgr1,ENSMUSG00000015947,protein_coding -18309,Ncf1,ENSMUSG00000015950,protein_coding -25260,Wnt11,ENSMUSG00000015957,protein_coding -3099,Adss,ENSMUSG00000015961,protein_coding -3098,1700016C15Rik,ENSMUSG00000015962,protein_coding -32455,Il17rb,ENSMUSG00000015966,protein_coding -32458,Cacna1d,ENSMUSG00000015968,protein_coding -32456,Chdh,ENSMUSG00000015970,protein_coding -32453,Actr8,ENSMUSG00000015971,protein_coding -26473,Lrrc27,ENSMUSG00000015980,protein_coding -26470,Stk32c,ENSMUSG00000015981,protein_coding -29936,Fnta,ENSMUSG00000015994,protein_coding -42674,Mtrex,ENSMUSG00000016018,protein_coding -6690,Lbp,ENSMUSG00000016024,protein_coding -46652,Celsr1,ENSMUSG00000016028,protein_coding -34975,Fli1,ENSMUSG00000016087,protein_coding -18869,Stard13,ENSMUSG00000016128,protein_coding -7889,Tenm1,ENSMUSG00000016150,protein_coding -3412,Camk1g,ENSMUSG00000016179,protein_coding -3400,Diexf,ENSMUSG00000016181,protein_coding -3407,Hsd11b1,ENSMUSG00000016194,protein_coding -3396,Syt14,ENSMUSG00000016200,protein_coding -50071,H2-M3,ENSMUSG00000016206,protein_coding -7754,Lonrf3,ENSMUSG00000016239,protein_coding -7052,Atp5e,ENSMUSG00000016252,protein_coding -7048,Nelfcd,ENSMUSG00000016253,protein_coding -7051,Tubb1,ENSMUSG00000016255,protein_coding -7049,Ctsz,ENSMUSG00000016256,protein_coding -7053,Prelid3b,ENSMUSG00000016257,protein_coding -3393,Sertad4,ENSMUSG00000016262,protein_coding -50089,H2-M2,ENSMUSG00000016283,protein_coding -7771,Ube2a,ENSMUSG00000016308,protein_coding -7766,Slc25a5,ENSMUSG00000016319,protein_coding -7839,Atp1b4,ENSMUSG00000016327,protein_coding -7212,Ppdpf,ENSMUSG00000016344,protein_coding -7209,Kcnq2,ENSMUSG00000016346,protein_coding -7210,Eef1a2,ENSMUSG00000016349,protein_coding -7207,Col20a1,ENSMUSG00000016356,protein_coding -8450,Pls3,ENSMUSG00000016382,protein_coding -5610,Mpped2,ENSMUSG00000016386,protein_coding -7782,Nkap,ENSMUSG00000016409,protein_coding -7784,Ndufa1,ENSMUSG00000016427,protein_coding -5588,Wt1,ENSMUSG00000016458,protein_coding -40980,E2f3,ENSMUSG00000016477,protein_coding -3440,Cr1l,ENSMUSG00000016481,protein_coding -21949,Ppfibp1,ENSMUSG00000016487,protein_coding -3435,Cd46,ENSMUSG00000016493,protein_coding -3428,Cd34,ENSMUSG00000016494,protein_coding -54853,Plgrkt,ENSMUSG00000016495,protein_coding -54854,Cd274,ENSMUSG00000016496,protein_coding -54856,Pdcd1lg2,ENSMUSG00000016498,protein_coding -18751,Gtf3a,ENSMUSG00000016503,protein_coding -18752,Mtif3,ENSMUSG00000016510,protein_coding -18753,Lnx2,ENSMUSG00000016520,protein_coding -2098,Il19,ENSMUSG00000016524,protein_coding -2104,Dyrk3,ENSMUSG00000016526,protein_coding -2100,Mapkapk2,ENSMUSG00000016528,protein_coding -2099,Il10,ENSMUSG00000016529,protein_coding -7842,Lamp2,ENSMUSG00000016534,protein_coding -46635,Atxn10,ENSMUSG00000016541,protein_coding -46329,Foxred2,ENSMUSG00000016552,protein_coding -46330,Eif3d,ENSMUSG00000016554,protein_coding -40061,H3f3b,ENSMUSG00000016559,protein_coding -46623,Nup50,ENSMUSG00000016619,protein_coding -46619,Phf21b,ENSMUSG00000016624,protein_coding -25702,Nlrp14,ENSMUSG00000016626,protein_coding -46334,Ift27,ENSMUSG00000016637,protein_coding -46587,Pacsin2,ENSMUSG00000016664,protein_coding -40894,Cmah,ENSMUSG00000016756,protein_coding -46595,Ttll12,ENSMUSG00000016757,protein_coding -46591,Bik,ENSMUSG00000016758,protein_coding -46596,Scube1,ENSMUSG00000016763,protein_coding -33156,Tox4,ENSMUSG00000016831,protein_coding -17417,Mrps18c,ENSMUSG00000016833,protein_coding -151,Sulf1,ENSMUSG00000016918,protein_coding -6758,Srsf6,ENSMUSG00000016921,protein_coding -6730,Plcg1,ENSMUSG00000016933,protein_coding -40024,Kctd2,ENSMUSG00000016940,protein_coding -46349,Tmprss6,ENSMUSG00000016942,protein_coding -49266,Kctd5,ENSMUSG00000016946,protein_coding -40719,Pom121l2,ENSMUSG00000016982,protein_coding -37536,Etaa1,ENSMUSG00000016984,protein_coding -6809,Matn4,ENSMUSG00000016995,protein_coding -6803,Svs4,ENSMUSG00000016998,protein_coding -6805,Svs6,ENSMUSG00000017000,protein_coding -6807,Slpi,ENSMUSG00000017002,protein_coding -6804,Svs3a,ENSMUSG00000017003,protein_coding -6806,Svs5,ENSMUSG00000017004,protein_coding -6810,Rbpjl,ENSMUSG00000017007,protein_coding -6811,Sdc4,ENSMUSG00000017009,protein_coding -29832,Ccdc70,ENSMUSG00000017049,protein_coding -7749,Il13ra1,ENSMUSG00000017057,protein_coding -40964,Prl5a1,ENSMUSG00000017064,protein_coding -39693,Nbr1,ENSMUSG00000017119,protein_coding -40151,Cyth1,ENSMUSG00000017132,protein_coding -4525,Rnd3,ENSMUSG00000017144,protein_coding -39692,Brca1,ENSMUSG00000017146,protein_coding -39616,Gast,ENSMUSG00000017165,protein_coding -39661,Cntnap1,ENSMUSG00000017167,protein_coding -39624,Nt5c3b,ENSMUSG00000017176,protein_coding -39668,Coa3,ENSMUSG00000017188,protein_coding -39494,Zpbp2,ENSMUSG00000017195,protein_coding -39500,Gsdma,ENSMUSG00000017204,protein_coding -39504,Med24,ENSMUSG00000017210,protein_coding -39499,Gsdma2,ENSMUSG00000017211,protein_coding -39501,Psmd3,ENSMUSG00000017221,protein_coding -15412,Exosc10,ENSMUSG00000017264,protein_coding -38867,Glod4,ENSMUSG00000017286,protein_coding -38866,Vps53,ENSMUSG00000017288,protein_coding -38905,Taok1,ENSMUSG00000017291,protein_coding -6836,Dnttip1,ENSMUSG00000017299,protein_coding -6840,Tnnc2,ENSMUSG00000017300,protein_coding -6842,Acot8,ENSMUSG00000017307,protein_coding -39716,Cd300lg,ENSMUSG00000017309,protein_coding -6833,Spint4,ENSMUSG00000017310,protein_coding -39719,Pyy,ENSMUSG00000017311,protein_coding -39717,Mpp2,ENSMUSG00000017314,protein_coding -39718,Ppy,ENSMUSG00000017316,protein_coding -38954,Vtn,ENSMUSG00000017344,protein_coding -38963,Nlk,ENSMUSG00000017376,protein_coding -38928,Traf4,ENSMUSG00000017386,protein_coding -38945,Aldoc,ENSMUSG00000017390,protein_coding -39469,Stac2,ENSMUSG00000017400,protein_coding -39467,Rpl19,ENSMUSG00000017404,protein_coding -38929,Nek8,ENSMUSG00000017405,protein_coding -4549,Cacnb4,ENSMUSG00000017412,protein_coding -39461,Plxdc1,ENSMUSG00000017417,protein_coding -3770,Arl5b,ENSMUSG00000017418,protein_coding -39012,Zfp207,ENSMUSG00000017421,protein_coding -39013,Psmd11,ENSMUSG00000017428,protein_coding -40159,C1qtnf1,ENSMUSG00000017446,protein_coding -38915,Pipox,ENSMUSG00000017453,protein_coding -40155,Timp2,ENSMUSG00000017466,protein_coding -31700,Zc3h18,ENSMUSG00000017478,protein_coding -32211,Top2b,ENSMUSG00000017485,protein_coding -32212,Rarb,ENSMUSG00000017491,protein_coding -39521,Igfbp4,ENSMUSG00000017493,protein_coding -39514,Cdc6,ENSMUSG00000017499,protein_coding -39001,Suz12,ENSMUSG00000017548,protein_coding -39004,Atad5,ENSMUSG00000017550,protein_coding -39003,Crlf3,ENSMUSG00000017561,protein_coding -39530,Krt27,ENSMUSG00000017588,protein_coding -39522,Tns4,ENSMUSG00000017607,protein_coding -38958,Tnfaip1,ENSMUSG00000017615,protein_coding -38875,Abr,ENSMUSG00000017631,protein_coding -38987,Rab11fip4,ENSMUSG00000017639,protein_coding -6855,Cd40,ENSMUSG00000017652,protein_coding -6860,Slc35c2,ENSMUSG00000017664,protein_coding -6863,Zfp334,ENSMUSG00000017667,protein_coding -6861,Elmo2,ENSMUSG00000017670,protein_coding -38976,Wsb1,ENSMUSG00000017677,protein_coding -6780,Ttpal,ENSMUSG00000017679,protein_coding -39009,Rhot1,ENSMUSG00000017686,protein_coding -9877,Hnf4g,ENSMUSG00000017688,protein_coding -39010,Rhbdl3,ENSMUSG00000017692,protein_coding -6785,Ada,ENSMUSG00000017697,protein_coding -6781,Serinc3,ENSMUSG00000017707,protein_coding -40143,Tha1,ENSMUSG00000017713,protein_coding -40147,Pgs1,ENSMUSG00000017715,protein_coding -40141,Birc5,ENSMUSG00000017716,protein_coding -40140,Afmid,ENSMUSG00000017718,protein_coding -6815,Trp53tg5,ENSMUSG00000017720,protein_coding -6817,Pigt,ENSMUSG00000017721,protein_coding -6819,Wfdc2,ENSMUSG00000017723,protein_coding -39705,Etv4,ENSMUSG00000017724,protein_coding -6822,Eppin,ENSMUSG00000017733,protein_coding -6816,Dbndd2,ENSMUSG00000017734,protein_coding -6852,Mmp9,ENSMUSG00000017737,protein_coding -6853,Slc12a5,ENSMUSG00000017740,protein_coding -39643,Ghdc,ENSMUSG00000017747,protein_coding -6848,Pltp,ENSMUSG00000017754,protein_coding -42084,Slc12a7,ENSMUSG00000017756,protein_coding -6847,Ctsa,ENSMUSG00000017760,protein_coding -6844,Zswim1,ENSMUSG00000017764,protein_coding -31396,Slc12a4,ENSMUSG00000017765,protein_coding -6845,Spata25,ENSMUSG00000017767,protein_coding -38856,Myo1c,ENSMUSG00000017774,protein_coding -38857,Crk,ENSMUSG00000017776,protein_coding -42256,Cox7c,ENSMUSG00000017778,protein_coding -38852,Pitpna,ENSMUSG00000017781,protein_coding -39654,Mlx,ENSMUSG00000017801,protein_coding -39656,Retreg3,ENSMUSG00000017802,protein_coding -6770,Jph2,ENSMUSG00000017817,protein_coding -39637,Dhx58,ENSMUSG00000017830,protein_coding -50442,Rab5a,ENSMUSG00000017831,protein_coding -39639,Hspb9,ENSMUSG00000017832,protein_coding -39633,Nkiras2,ENSMUSG00000017837,protein_coding -44857,Ppp2r5c,ENSMUSG00000017843,protein_coding -6762,Ift52,ENSMUSG00000017858,protein_coding -6763,Mybl2,ENSMUSG00000017861,protein_coding -6761,Sgk2,ENSMUSG00000017868,protein_coding -6869,Eya2,ENSMUSG00000017897,protein_coding -40936,Prl3c1,ENSMUSG00000017922,protein_coding -6913,B4galt5,ENSMUSG00000017929,protein_coding -6773,Gdap1l1,ENSMUSG00000017943,protein_coding -6778,Hnf4a,ENSMUSG00000017950,protein_coding -6910,Ptgis,ENSMUSG00000017969,protein_coding -19138,Cadps2,ENSMUSG00000017978,protein_coding -6899,Ddx27,ENSMUSG00000017999,protein_coding -18649,Cyth3,ENSMUSG00000018001,protein_coding -46357,Cyth4,ENSMUSG00000018008,protein_coding -40256,Rac3,ENSMUSG00000018012,protein_coding -46577,Rrp7a,ENSMUSG00000018040,protein_coding -46580,Cyb5r3,ENSMUSG00000018042,protein_coding -39159,Ints2,ENSMUSG00000018068,protein_coding -17920,Med13l,ENSMUSG00000018076,protein_coding -40859,Hist1h2bc,ENSMUSG00000018102,protein_coding -46397,Baiap2l2,ENSMUSG00000018126,protein_coding -18556,Mafk,ENSMUSG00000018143,protein_coding -39473,Med1,ENSMUSG00000018160,protein_coding -29246,Erbb3,ENSMUSG00000018166,protein_coding -39483,Stard3,ENSMUSG00000018167,protein_coding -39492,Ikzf3,ENSMUSG00000018168,protein_coding -46360,Mfng,ENSMUSG00000018169,protein_coding -39167,Vmp1,ENSMUSG00000018171,protein_coding -2384,Uchl5,ENSMUSG00000018189,protein_coding -2382,Glrx2,ENSMUSG00000018196,protein_coding -2383,Ro60,ENSMUSG00000018199,protein_coding -6792,Stk4,ENSMUSG00000018209,protein_coding -6800,Wfdc15b,ENSMUSG00000018211,protein_coding -38436,Pmp22,ENSMUSG00000018217,protein_coding -38102,Gdf9,ENSMUSG00000018238,protein_coding -38095,Zcchc10,ENSMUSG00000018239,protein_coding -40944,Prl8a2,ENSMUSG00000018259,protein_coding -17943,Tbx5,ENSMUSG00000018263,protein_coding -38643,Psmb6,ENSMUSG00000018286,protein_coding -38658,Spag7,ENSMUSG00000018287,protein_coding -38655,Pfn1,ENSMUSG00000018293,protein_coding -6791,Tomm34,ENSMUSG00000018322,protein_coding -6789,Ywhab,ENSMUSG00000018326,protein_coding -38973,Ksr1,ENSMUSG00000018334,protein_coding -38157,Gpx3,ENSMUSG00000018339,protein_coding -38160,Anxa6,ENSMUSG00000018340,protein_coding -20053,Il12rb2,ENSMUSG00000018341,protein_coding -38465,Zkscan6,ENSMUSG00000018347,protein_coding -39883,Kpna2,ENSMUSG00000018362,protein_coding -39880,Smurf2,ENSMUSG00000018363,protein_coding -39878,Cep95,ENSMUSG00000018372,protein_coding -39228,Vezf1,ENSMUSG00000018377,protein_coding -39229,Cuedc1,ENSMUSG00000018378,protein_coding -39226,Srsf1,ENSMUSG00000018379,protein_coding -39355,Abi3,ENSMUSG00000018381,protein_coding -38104,Shroom1,ENSMUSG00000018387,protein_coding -38112,Kif3a,ENSMUSG00000018395,protein_coding -38110,Sept8,ENSMUSG00000018398,protein_coding -39203,Mtmr4,ENSMUSG00000018401,protein_coding -39125,Mrm1,ENSMUSG00000018405,protein_coding -39803,Mapt,ENSMUSG00000018411,protein_coding -39807,Kansl1,ENSMUSG00000018412,protein_coding -38327,Gid4,ENSMUSG00000018415,protein_coding -765,Myo1b,ENSMUSG00000018417,protein_coding -39172,Dhx40,ENSMUSG00000018425,protein_coding -39173,Ypel2,ENSMUSG00000018427,protein_coding -39240,Akap1,ENSMUSG00000018428,protein_coding -39888,Nol11,ENSMUSG00000018433,protein_coding -38677,Derl2,ENSMUSG00000018442,protein_coding -38674,C1qbp,ENSMUSG00000018446,protein_coding -38673,Rpain,ENSMUSG00000018449,protein_coding -38679,6330403K07Rik,ENSMUSG00000018451,protein_coding -6865,Slc13a3,ENSMUSG00000018459,protein_coding -38542,Kcnab3,ENSMUSG00000018470,protein_coding -38545,Chd3,ENSMUSG00000018474,protein_coding -38550,Kdm6b,ENSMUSG00000018476,protein_coding -39139,1700125H20Rik,ENSMUSG00000018479,protein_coding -39140,Appbp2,ENSMUSG00000018481,protein_coding -39796,Wnt9b,ENSMUSG00000018486,protein_coding -38398,Adora2b,ENSMUSG00000018500,protein_coding -38402,Ncor1,ENSMUSG00000018501,protein_coding -38411,Trpv2,ENSMUSG00000018507,protein_coding -38407,Cenpv,ENSMUSG00000018509,protein_coding -39446,Pcgf2,ENSMUSG00000018537,protein_coding -39451,Cwc25,ENSMUSG00000018541,protein_coding -39453,1700001P01Rik,ENSMUSG00000018543,protein_coding -39448,Pip4k2b,ENSMUSG00000018547,protein_coding -39183,Trim37,ENSMUSG00000018548,protein_coding -38600,Ybx2,ENSMUSG00000018554,protein_coding -38606,Ctdnep1,ENSMUSG00000018559,protein_coding -38604,Elp5,ENSMUSG00000018565,protein_coding -38601,Slc2a4,ENSMUSG00000018566,protein_coding -38607,Gabarap,ENSMUSG00000018567,protein_coding -38603,Cldn7,ENSMUSG00000018569,protein_coding -38596,2810408A11Rik,ENSMUSG00000018570,protein_coding -38608,Phf23,ENSMUSG00000018572,protein_coding -38610,Acadvl,ENSMUSG00000018574,protein_coding -45267,Dnah11,ENSMUSG00000018581,protein_coding -38174,G3bp1,ENSMUSG00000018583,protein_coding -38172,Atox1,ENSMUSG00000018585,protein_coding -9812,Glra2,ENSMUSG00000018589,protein_coding -38171,Sparc,ENSMUSG00000018593,protein_coding -9322,Glra4,ENSMUSG00000018595,protein_coding -38352,Mief2,ENSMUSG00000018599,protein_coding -17939,Tbx3,ENSMUSG00000018604,protein_coding -34499,Mmp20,ENSMUSG00000018620,protein_coding -34502,Mmp7,ENSMUSG00000018623,protein_coding -39801,Crhr1,ENSMUSG00000018634,protein_coding -39115,Dusp14,ENSMUSG00000018648,protein_coding -39116,Tada2a,ENSMUSG00000018651,protein_coding -37485,Ikzf1,ENSMUSG00000018654,protein_coding -19544,Tcaf3,ENSMUSG00000018656,protein_coding -39411,Pnpo,ENSMUSG00000018659,protein_coding -39972,Cog1,ENSMUSG00000018661,protein_coding -39400,Cbx1,ENSMUSG00000018666,protein_coding -39407,Cdk5rap3,ENSMUSG00000018669,protein_coding -39403,Copz2,ENSMUSG00000018672,protein_coding -39737,Slc25a39,ENSMUSG00000018677,protein_coding -39412,Sp2,ENSMUSG00000018678,protein_coding -39120,Aatf,ENSMUSG00000018697,protein_coding -39121,Lhx1,ENSMUSG00000018698,protein_coding -44863,Dync1h1,ENSMUSG00000018707,protein_coding -39976,Cpsf4l,ENSMUSG00000018727,protein_coding -39082,Pex12,ENSMUSG00000018733,protein_coding -38511,Ndel1,ENSMUSG00000018736,protein_coding -38517,Slc25a35,ENSMUSG00000018740,protein_coding -38581,Zbtb4,ENSMUSG00000018750,protein_coding -38575,Tnfsfm13,ENSMUSG00000018752,protein_coding -38566,Mpdu1,ENSMUSG00000018761,protein_coding -38563,Fxr2,ENSMUSG00000018765,protein_coding -4833,Atp5g3,ENSMUSG00000018770,protein_coding -38568,Cd68,ENSMUSG00000018774,protein_coding -38580,Slc35g3,ENSMUSG00000018776,protein_coding -30254,Acsl1,ENSMUSG00000018796,protein_coding -39952,Abca5,ENSMUSG00000018800,protein_coding -38837,Smyd4,ENSMUSG00000018809,protein_coding -26644,Lsp1,ENSMUSG00000018819,protein_coding -55095,Zfyve27,ENSMUSG00000018820,protein_coding -55092,Avpi1,ENSMUSG00000018821,protein_coding -55096,Sfrp5,ENSMUSG00000018822,protein_coding -47361,Myh11,ENSMUSG00000018830,protein_coding -39049,Rad51d,ENSMUSG00000018841,protein_coding -39050,Fndc8,ENSMUSG00000018844,protein_coding -39052,Unc45b,ENSMUSG00000018845,protein_coding -37814,Pank3,ENSMUSG00000018846,protein_coding -37818,Rars,ENSMUSG00000018848,protein_coding -37819,Wwc1,ENSMUSG00000018849,protein_coding -40021,Mrpl58,ENSMUSG00000018858,protein_coding -40014,Fdxr,ENSMUSG00000018861,protein_coding -40018,Otop3,ENSMUSG00000018862,protein_coding -46600,Sult4a1,ENSMUSG00000018865,protein_coding -46602,Pnpla5,ENSMUSG00000018868,protein_coding -39431,Mrpl45,ENSMUSG00000018882,protein_coding -46292,Mb,ENSMUSG00000018893,protein_coding -38122,Irf1,ENSMUSG00000018899,protein_coding -38125,Slc22a5,ENSMUSG00000018900,protein_coding -38134,P4ha2,ENSMUSG00000018906,protein_coding -38628,Alox12e,ENSMUSG00000018907,protein_coding -25283,Arrb1,ENSMUSG00000018909,protein_coding -38140,Il3,ENSMUSG00000018914,protein_coding -38138,Csf2,ENSMUSG00000018916,protein_coding -38639,Tm4sf5,ENSMUSG00000018919,protein_coding -38637,Cxcl16,ENSMUSG00000018920,protein_coding -38631,Pelp1,ENSMUSG00000018921,protein_coding -38636,Med11,ENSMUSG00000018923,protein_coding -38629,Alox15,ENSMUSG00000018924,protein_coding -39090,Heatr9,ENSMUSG00000018925,protein_coding -39095,Ccl6,ENSMUSG00000018927,protein_coding -39098,Ccl4,ENSMUSG00000018930,protein_coding -38364,Natd1,ENSMUSG00000018931,protein_coding -38366,Map2k3,ENSMUSG00000018932,protein_coding -16242,Ywhah,ENSMUSG00000018965,protein_coding -39393,Hoxb1,ENSMUSG00000018973,protein_coding -17760,Sart3,ENSMUSG00000018974,protein_coding -15023,E2f2,ENSMUSG00000018983,protein_coding -39075,Slfn3,ENSMUSG00000018986,protein_coding -25216,Nars2,ENSMUSG00000018995,protein_coding -19300,Slc35b4,ENSMUSG00000018999,protein_coding -32497,Dnah1,ENSMUSG00000019027,protein_coding -36872,Dalrd3,ENSMUSG00000019039,protein_coding -18414,Fis1,ENSMUSG00000019054,protein_coding -15386,Plod1,ENSMUSG00000019055,protein_coding -34811,Rab3d,ENSMUSG00000019066,protein_coding -46275,Mfsd3,ENSMUSG00000019080,protein_coding -26588,Slc25a22,ENSMUSG00000019082,protein_coding -8378,Atp6ap1,ENSMUSG00000019087,protein_coding -8374,Dnase1l1,ENSMUSG00000019088,protein_coding -38372,Aldh3a1,ENSMUSG00000019102,protein_coding -39093,Ccl9,ENSMUSG00000019122,protein_coding -19829,Scrn1,ENSMUSG00000019124,protein_coding -40903,BC005537,ENSMUSG00000019132,protein_coding -30607,Isyna1,ENSMUSG00000019139,protein_coding -53141,Hars2,ENSMUSG00000019143,protein_coding -46332,Cacng2,ENSMUSG00000019146,protein_coding -22667,Tmem160,ENSMUSG00000019158,protein_coding -39640,Rab5c,ENSMUSG00000019173,protein_coding -18377,Styxl1,ENSMUSG00000019178,protein_coding -18378,Mdh2,ENSMUSG00000019179,protein_coding -6495,H13,ENSMUSG00000019188,protein_coding -37885,Rnf145,ENSMUSG00000019189,protein_coding -23427,Scn1b,ENSMUSG00000019194,protein_coding -21219,Atp6v1e1,ENSMUSG00000019210,protein_coding -49370,Chtf18,ENSMUSG00000019214,protein_coding -2329,Lhx9,ENSMUSG00000019230,protein_coding -12298,Etnppl,ENSMUSG00000019232,protein_coding -44206,Rps6kl1,ENSMUSG00000019235,protein_coding -22108,Ppp1r12c,ENSMUSG00000019254,protein_coding -43407,Ahr,ENSMUSG00000019256,protein_coding -30636,Map1s,ENSMUSG00000019261,protein_coding -31741,Dpep1,ENSMUSG00000019278,protein_coding -16260,Tmem129,ENSMUSG00000019295,protein_coding -33497,Nop9,ENSMUSG00000019297,protein_coding -39652,Hsd17b1,ENSMUSG00000019301,protein_coding -39649,Atp6v0a1,ENSMUSG00000019302,protein_coding -39655,Psmc3ip,ENSMUSG00000019303,protein_coding -39491,Grb7,ENSMUSG00000019312,protein_coding -49307,Noxo1,ENSMUSG00000019320,protein_coding -39674,Aoc3,ENSMUSG00000019326,protein_coding -11448,Zfp687,ENSMUSG00000019338,protein_coding -8753,Gdpd2,ENSMUSG00000019359,protein_coding -30927,D8Ertd738e,ENSMUSG00000019362,protein_coding -37343,Sec14l4,ENSMUSG00000019368,protein_coding -22693,Calm3,ENSMUSG00000019370,protein_coding -38307,Cops3,ENSMUSG00000019373,protein_coding -30605,Fkbp8,ENSMUSG00000019428,protein_coding -23405,Ffar3,ENSMUSG00000019429,protein_coding -49902,Ddx39b,ENSMUSG00000019432,protein_coding -30884,Gipc1,ENSMUSG00000019433,protein_coding -38930,Tlcd1,ENSMUSG00000019437,protein_coding -38590,Plscr3,ENSMUSG00000019461,protein_coding -30886,Ptger1,ENSMUSG00000019464,protein_coding -29146,Arhgef25,ENSMUSG00000019467,protein_coding -29384,Xab2,ENSMUSG00000019470,protein_coding -34775,Cdc37,ENSMUSG00000019471,protein_coding -31820,Rab4a,ENSMUSG00000019478,protein_coding -50565,Trip10,ENSMUSG00000019487,protein_coding -50560,Cd70,ENSMUSG00000019489,protein_coding -18492,Cops6,ENSMUSG00000019494,protein_coding -38409,Ubb,ENSMUSG00000019505,protein_coding -18497,Ap4m1,ENSMUSG00000019518,protein_coding -10077,Gyg,ENSMUSG00000019528,protein_coding -23966,Rcn3,ENSMUSG00000019539,protein_coding -8342,Slc6a8,ENSMUSG00000019558,protein_coding -28139,Arid3a,ENSMUSG00000019564,protein_coding -18942,Pdk4,ENSMUSG00000019577,protein_coding -50502,Ubxn6,ENSMUSG00000019578,protein_coding -50510,Mydgf,ENSMUSG00000019579,protein_coding -39838,Cyb561,ENSMUSG00000019590,protein_coding -53403,Sema6a,ENSMUSG00000019647,protein_coding -36964,Ccdc12,ENSMUSG00000019659,protein_coding -19370,Fmc1,ENSMUSG00000019689,protein_coding -3083,Akt3,ENSMUSG00000019699,protein_coding -11083,Mrpl24,ENSMUSG00000019710,protein_coding -4132,Gle1,ENSMUSG00000019715,protein_coding -43925,L3hypdh,ENSMUSG00000019718,protein_coding -40513,Lyst,ENSMUSG00000019726,protein_coding -30715,Slc35e1,ENSMUSG00000019731,protein_coding -30710,Calr3,ENSMUSG00000019732,protein_coding -22063,Tmc4,ENSMUSG00000019734,protein_coding -23354,Syne4,ENSMUSG00000019737,protein_coding -23346,Polr2i,ENSMUSG00000019738,protein_coding -40949,Prl8a1,ENSMUSG00000019756,protein_coding -39532,Krt10,ENSMUSG00000019761,protein_coding -26747,Iyd,ENSMUSG00000019762,protein_coding -26760,Rmnd1,ENSMUSG00000019763,protein_coding -26763,Ccdc170,ENSMUSG00000019767,protein_coding -26766,Esr1,ENSMUSG00000019768,protein_coding -26773,Vip,ENSMUSG00000019772,protein_coding -26775,Fbxo5,ENSMUSG00000019773,protein_coding -26776,Mtrf1l,ENSMUSG00000019774,protein_coding -26777,Rgs17,ENSMUSG00000019775,protein_coding -27290,Hdac2,ENSMUSG00000019777,protein_coding -27275,Frk,ENSMUSG00000019779,protein_coding -27258,Rwdd1,ENSMUSG00000019782,protein_coding -27242,Clvs2,ENSMUSG00000019785,protein_coding -27232,Trdn,ENSMUSG00000019787,protein_coding -27203,Hey2,ENSMUSG00000019789,protein_coding -26832,Stxbp5,ENSMUSG00000019790,protein_coding -27197,Hint3,ENSMUSG00000019791,protein_coding -27195,Trmt11,ENSMUSG00000019792,protein_coding -26795,Katna1,ENSMUSG00000019794,protein_coding -26792,Pcmt1,ENSMUSG00000019795,protein_coding -26790,Lrp11,ENSMUSG00000019796,protein_coding -27423,1700021F05Rik,ENSMUSG00000019797,protein_coding -27402,Sec63,ENSMUSG00000019802,protein_coding -27398,Nr2e1,ENSMUSG00000019803,protein_coding -27397,Snx3,ENSMUSG00000019804,protein_coding -26897,Aig1,ENSMUSG00000019806,protein_coding -26895,Adat2,ENSMUSG00000019808,protein_coding -26894,Pex3,ENSMUSG00000019809,protein_coding -26893,Fuca2,ENSMUSG00000019810,protein_coding -27384,Cep57l1,ENSMUSG00000019813,protein_coding -26890,Ltv1,ENSMUSG00000019814,protein_coding -26889,Zc2hc1b,ENSMUSG00000019815,protein_coding -26887,Plagl1,ENSMUSG00000019817,protein_coding -27378,Cd164,ENSMUSG00000019818,protein_coding -26879,Utrn,ENSMUSG00000019820,protein_coding -27376,Smpd2,ENSMUSG00000019822,protein_coding -27375,Mical1,ENSMUSG00000019823,protein_coding -27374,Zbtb24,ENSMUSG00000019826,protein_coding -26853,Grm1,ENSMUSG00000019828,protein_coding -27360,Wasf1,ENSMUSG00000019831,protein_coding -26849,Rab32,ENSMUSG00000019832,protein_coding -27355,Slc22a16,ENSMUSG00000019834,protein_coding -27344,Gtf3c6,ENSMUSG00000019837,protein_coding -27338,Slc16a10,ENSMUSG00000019838,protein_coding -27324,Rev3l,ENSMUSG00000019841,protein_coding -27320,Traf3ip2,ENSMUSG00000019842,protein_coding -27316,Fyn,ENSMUSG00000019843,protein_coding -27310,Tube1,ENSMUSG00000019845,protein_coding -27308,Lama4,ENSMUSG00000019846,protein_coding -27465,Popdc3,ENSMUSG00000019848,protein_coding -27463,Prep,ENSMUSG00000019849,protein_coding -26972,Tnfaip3,ENSMUSG00000019850,protein_coding -26970,Perp,ENSMUSG00000019851,protein_coding -26966,Arfgef3,ENSMUSG00000019852,protein_coding -26964,Hebp2,ENSMUSG00000019853,protein_coding -26957,Reps1,ENSMUSG00000019854,protein_coding -27604,Fam184a,ENSMUSG00000019856,protein_coding -27602,Asf1a,ENSMUSG00000019857,protein_coding -27563,Gopc,ENSMUSG00000019861,protein_coding -27434,Qrsl1,ENSMUSG00000019863,protein_coding -27435,Rtn4ip1,ENSMUSG00000019864,protein_coding -26919,Nmbr,ENSMUSG00000019865,protein_coding -27436,Crybg1,ENSMUSG00000019866,protein_coding -26920,Gje1,ENSMUSG00000019867,protein_coding -26917,Vta1,ENSMUSG00000019868,protein_coding -27641,Smpdl3a,ENSMUSG00000019872,protein_coding -27808,Reep3,ENSMUSG00000019873,protein_coding -27640,Fabp7,ENSMUSG00000019874,protein_coding -27638,Pkib,ENSMUSG00000019876,protein_coding -27636,Serinc1,ENSMUSG00000019877,protein_coding -27635,Hsf2,ENSMUSG00000019878,protein_coding -27180,Rspo3,ENSMUSG00000019880,protein_coding -27172,Echdc1,ENSMUSG00000019883,protein_coding -28721,Mgat4c,ENSMUSG00000019888,protein_coding -27156,Ptprk,ENSMUSG00000019889,protein_coding -28729,Nts,ENSMUSG00000019890,protein_coding -27562,Dcbld1,ENSMUSG00000019891,protein_coding -28736,Lrriq1,ENSMUSG00000019892,protein_coding -27559,Ros1,ENSMUSG00000019893,protein_coding -28739,Slc6a15,ENSMUSG00000019894,protein_coding -28779,Ccdc59,ENSMUSG00000019897,protein_coding -27143,Lama2,ENSMUSG00000019899,protein_coding -27550,Rfx6,ENSMUSG00000019900,protein_coding -27548,Gprc6a,ENSMUSG00000019905,protein_coding -28799,Lin7a,ENSMUSG00000019906,protein_coding -28808,Ppp1r12a,ENSMUSG00000019907,protein_coding -27547,Fam162b,ENSMUSG00000019909,protein_coding -27534,Sim1,ENSMUSG00000019913,protein_coding -27664,P4ha1,ENSMUSG00000019916,protein_coding -27661,Sept10,ENSMUSG00000019917,protein_coding -27648,Lims1,ENSMUSG00000019920,protein_coding -27903,Zwint,ENSMUSG00000019923,protein_coding -27881,Ube2d1,ENSMUSG00000019927,protein_coding -28646,Dcn,ENSMUSG00000019929,protein_coding -28649,Kera,ENSMUSG00000019932,protein_coding -27853,Mrln,ENSMUSG00000019933,protein_coding -28481,Slc17a8,ENSMUSG00000019935,protein_coding -28650,Epyc,ENSMUSG00000019936,protein_coding -27847,Cdk1,ENSMUSG00000019942,protein_coding -28661,Atp2b1,ENSMUSG00000019943,protein_coding -27844,Rhobtb1,ENSMUSG00000019944,protein_coding -27835,Cabcoco1,ENSMUSG00000019945,protein_coding -27832,Arid5b,ENSMUSG00000019947,protein_coding -28484,Actr6,ENSMUSG00000019948,protein_coding -28485,Uhrf1bp1l,ENSMUSG00000019951,protein_coding -28664,Poc1b,ENSMUSG00000019952,protein_coding -28671,Dusp6,ENSMUSG00000019960,protein_coding -28500,Tmpo,ENSMUSG00000019961,protein_coding -28687,Kitl,ENSMUSG00000019966,protein_coding -44148,Psen1,ENSMUSG00000019969,protein_coding -27030,Sgk1,ENSMUSG00000019970,protein_coding -28713,Cep290,ENSMUSG00000019971,protein_coding -28497,Ikbip,ENSMUSG00000019975,protein_coding -27018,Hbs1l,ENSMUSG00000019977,protein_coding -27113,Epb41l2,ENSMUSG00000019978,protein_coding -28495,Apaf1,ENSMUSG00000019979,protein_coding -27012,Myb,ENSMUSG00000019982,protein_coding -27100,Med23,ENSMUSG00000019984,protein_coding -27008,Ahi1,ENSMUSG00000019986,protein_coding -27103,Arg1,ENSMUSG00000019987,protein_coding -28532,Nedd1,ENSMUSG00000019988,protein_coding -27099,Enpp3,ENSMUSG00000019989,protein_coding -27003,Pde7b,ENSMUSG00000019990,protein_coding -27001,Mtfr2,ENSMUSG00000019992,protein_coding -26993,Map7,ENSMUSG00000019996,protein_coding -27097,Ccn2,ENSMUSG00000019997,protein_coding -27091,Stx7,ENSMUSG00000019998,protein_coding -27092,Moxd1,ENSMUSG00000020000,protein_coding -26990,Pex7,ENSMUSG00000020003,protein_coding -26986,Il20ra,ENSMUSG00000020007,protein_coding -26983,Ifngr1,ENSMUSG00000020009,protein_coding -27070,Vnn3,ENSMUSG00000020010,protein_coding -28536,Cfap54,ENSMUSG00000020014,protein_coding -28538,Cdk17,ENSMUSG00000020015,protein_coding -28546,Hal,ENSMUSG00000020017,protein_coding -28549,Snrpf,ENSMUSG00000020018,protein_coding -28552,Ntn4,ENSMUSG00000020019,protein_coding -28558,Usp44,ENSMUSG00000020020,protein_coding -28567,Fgd6,ENSMUSG00000020021,protein_coding -28572,Ndufa12,ENSMUSG00000020022,protein_coding -28574,Tmcc3,ENSMUSG00000020023,protein_coding -28582,Cep83,ENSMUSG00000020024,protein_coding -28597,Socs2,ENSMUSG00000020027,protein_coding -28604,Nudt4,ENSMUSG00000020029,protein_coding -28346,Nuak1,ENSMUSG00000020032,protein_coding -28354,Tcp11l2,ENSMUSG00000020034,protein_coding -28358,Rfx4,ENSMUSG00000020037,protein_coding -28364,Cry1,ENSMUSG00000020038,protein_coding -28369,Btbd11,ENSMUSG00000020042,protein_coding -28397,Timp3,ENSMUSG00000020044,protein_coding -28421,Hsp90b1,ENSMUSG00000020048,protein_coding -28440,Pah,ENSMUSG00000020051,protein_coding -28438,Ascl1,ENSMUSG00000020052,protein_coding -28443,Igf1,ENSMUSG00000020053,protein_coding -28454,Washc3,ENSMUSG00000020056,protein_coding -28457,Dram1,ENSMUSG00000020057,protein_coding -28462,Sycp3,ENSMUSG00000020059,protein_coding -28463,Mybpc1,ENSMUSG00000020061,protein_coding -28476,Slc5a8,ENSMUSG00000020062,protein_coding -27778,Sirt1,ENSMUSG00000020063,protein_coding -27774,Herc4,ENSMUSG00000020064,protein_coding -27772,Mypn,ENSMUSG00000020067,protein_coding -27765,Hnrnph3,ENSMUSG00000020069,protein_coding -27763,Rufy2,ENSMUSG00000020070,protein_coding -27766,Pbld2,ENSMUSG00000020072,protein_coding -27751,Ccar1,ENSMUSG00000020074,protein_coding -27744,Ddx21,ENSMUSG00000020075,protein_coding -27746,Ddx50,ENSMUSG00000020076,protein_coding -27741,Srgn,ENSMUSG00000020077,protein_coding -27740,Vps26a,ENSMUSG00000020078,protein_coding -27738,Supv3l1,ENSMUSG00000020079,protein_coding -27737,Hkdc1,ENSMUSG00000020080,protein_coding -27734,Tacr2,ENSMUSG00000020081,protein_coding -27730,Fam241b,ENSMUSG00000020083,protein_coding -27723,Aifm2,ENSMUSG00000020085,protein_coding -27724,H2afy2,ENSMUSG00000020086,protein_coding -27722,Tysnd1,ENSMUSG00000020087,protein_coding -27721,Sar1a,ENSMUSG00000020088,protein_coding -27719,Ppa1,ENSMUSG00000020089,protein_coding -27718,Npffr1,ENSMUSG00000020090,protein_coding -27709,Eif4ebp2,ENSMUSG00000020091,protein_coding -27705,Pald1,ENSMUSG00000020092,protein_coding -27701,Tbata,ENSMUSG00000020096,protein_coding -27699,Sgpl1,ENSMUSG00000020097,protein_coding -27698,Pcbd1,ENSMUSG00000020098,protein_coding -27689,Unc5b,ENSMUSG00000020099,protein_coding -27688,Slc29a3,ENSMUSG00000020100,protein_coding -27686,Vsir,ENSMUSG00000020101,protein_coding -29108,Slc16a7,ENSMUSG00000020102,protein_coding -29112,Lrig3,ENSMUSG00000020105,protein_coding -27678,Anapc16,ENSMUSG00000020107,protein_coding -27677,Ddit4,ENSMUSG00000020108,protein_coding -27676,Dnajb12,ENSMUSG00000020109,protein_coding -27670,Micu1,ENSMUSG00000020111,protein_coding -29005,Cand1,ENSMUSG00000020114,protein_coding -29064,Tbk1,ENSMUSG00000020115,protein_coding -37531,Pno1,ENSMUSG00000020116,protein_coding -37525,Plek,ENSMUSG00000020120,protein_coding -29070,Srgap1,ENSMUSG00000020121,protein_coding -37521,Egfr,ENSMUSG00000020122,protein_coding -29081,Avpr1a,ENSMUSG00000020123,protein_coding -29093,Usp15,ENSMUSG00000020124,protein_coding -28131,Elane,ENSMUSG00000020125,protein_coding -37591,Vps54,ENSMUSG00000020128,protein_coding -28900,Tbc1d15,ENSMUSG00000020130,protein_coding -28166,Pcsk4,ENSMUSG00000020131,protein_coding -28903,Rab21,ENSMUSG00000020132,protein_coding -28165,2310011J03Rik,ENSMUSG00000020133,protein_coding -37586,Peli1,ENSMUSG00000020134,protein_coding -28164,Apc2,ENSMUSG00000020135,protein_coding -28906,Thap2,ENSMUSG00000020137,protein_coding -28909,Lgr5,ENSMUSG00000020140,protein_coding -37574,Slc1a4,ENSMUSG00000020142,protein_coding -37802,Dock2,ENSMUSG00000020143,protein_coding -37571,Rab1a,ENSMUSG00000020149,protein_coding -28159,Gamt,ENSMUSG00000020150,protein_coding -28914,Ptprr,ENSMUSG00000020151,protein_coding -37567,Actr2,ENSMUSG00000020152,protein_coding -28158,Ndufs7,ENSMUSG00000020153,protein_coding -28916,Ptprb,ENSMUSG00000020154,protein_coding -37797,Kcnmb1,ENSMUSG00000020155,protein_coding -28157,Pwwp3a,ENSMUSG00000020156,protein_coding -37792,Gabrp,ENSMUSG00000020159,protein_coding -37551,Meis1,ENSMUSG00000020160,protein_coding -28176,Uqcr11,ENSMUSG00000020163,protein_coding -28922,Cnot2,ENSMUSG00000020166,protein_coding -28177,Tcf3,ENSMUSG00000020167,protein_coding -25061,Olfr299,ENSMUSG00000020168,protein_coding -28937,Best3,ENSMUSG00000020169,protein_coding -28941,Frs2,ENSMUSG00000020170,protein_coding -28944,Yeats4,ENSMUSG00000020171,protein_coding -37494,Cobl,ENSMUSG00000020173,protein_coding -27920,Rab36,ENSMUSG00000020175,protein_coding -37491,Grb10,ENSMUSG00000020176,protein_coding -28946,9530003J23Rik,ENSMUSG00000020177,protein_coding -27924,Adora2a,ENSMUSG00000020178,protein_coding -27931,Snrpd3,ENSMUSG00000020180,protein_coding -28823,Nav3,ENSMUSG00000020181,protein_coding -37488,Ddc,ENSMUSG00000020182,protein_coding -28959,Cpm,ENSMUSG00000020183,protein_coding -28961,Mdm2,ENSMUSG00000020184,protein_coding -28832,E2f7,ENSMUSG00000020185,protein_coding -28837,Csrp2,ENSMUSG00000020186,protein_coding -28843,Osbpl8,ENSMUSG00000020189,protein_coding -28193,Mknk2,ENSMUSG00000020190,protein_coding -37481,Spata48,ENSMUSG00000020191,protein_coding -37477,Zpbp,ENSMUSG00000020193,protein_coding -27939,Cabin1,ENSMUSG00000020196,protein_coding -28197,Ap3d1,ENSMUSG00000020198,protein_coding -28850,Phlda1,ENSMUSG00000020205,protein_coding -28201,Sf3a2,ENSMUSG00000020211,protein_coding -28971,Mdm1,ENSMUSG00000020212,protein_coding -28866,Glipr1l1,ENSMUSG00000020213,protein_coding -28867,Glipr1l2,ENSMUSG00000020214,protein_coding -28203,Jsrp1,ENSMUSG00000020216,protein_coding -29047,Wif1,ENSMUSG00000020218,protein_coding -28210,Timm13,ENSMUSG00000020219,protein_coding -15285,Vps13d,ENSMUSG00000020220,protein_coding -29024,Llph,ENSMUSG00000020224,protein_coding -29023,Tmbim4,ENSMUSG00000020225,protein_coding -27961,Slc5a4b,ENSMUSG00000020226,protein_coding -29021,Irak3,ENSMUSG00000020227,protein_coding -29020,Helb,ENSMUSG00000020228,protein_coding -27964,Slc5a4a,ENSMUSG00000020229,protein_coding -27966,Prmt2,ENSMUSG00000020230,protein_coding -27969,Dip2a,ENSMUSG00000020231,protein_coding -28244,Hmg20b,ENSMUSG00000020232,protein_coding -28246,4930404N11Rik,ENSMUSG00000020234,protein_coding -28247,Fzr1,ENSMUSG00000020235,protein_coding -28258,Ncln,ENSMUSG00000020238,protein_coding -27982,Col6a2,ENSMUSG00000020241,protein_coding -28315,Hcfc2,ENSMUSG00000020246,protein_coding -28316,Nfyb,ENSMUSG00000020248,protein_coding -28320,Txnrd1,ENSMUSG00000020250,protein_coding -28314,Glt8d2,ENSMUSG00000020251,protein_coding -36733,Ppm1m,ENSMUSG00000020253,protein_coding -28332,D10Wsu102e,ENSMUSG00000020255,protein_coding -28333,Aldh1l2,ENSMUSG00000020256,protein_coding -36731,Wdr82,ENSMUSG00000020257,protein_coding -36729,Glyctk,ENSMUSG00000020258,protein_coding -27995,Pofut2,ENSMUSG00000020260,protein_coding -38169,Slc36a1,ENSMUSG00000020261,protein_coding -27996,Adarb1,ENSMUSG00000020262,protein_coding -28335,Appl2,ENSMUSG00000020263,protein_coding -38167,Slc36a2,ENSMUSG00000020264,protein_coding -28002,Sumo3,ENSMUSG00000020265,protein_coding -38156,Hint1,ENSMUSG00000020267,protein_coding -38154,Lyrm7,ENSMUSG00000020268,protein_coding -37776,Smim23,ENSMUSG00000020270,protein_coding -37773,Fbxw11,ENSMUSG00000020271,protein_coding -37772,Stk10,ENSMUSG00000020272,protein_coding -37649,Papolg,ENSMUSG00000020273,protein_coding -37647,Rel,ENSMUSG00000020275,protein_coding -28041,Pfkl,ENSMUSG00000020277,protein_coding -37759,Il9r,ENSMUSG00000020279,protein_coding -37646,Pus10,ENSMUSG00000020280,protein_coding -37761,Rhbdf1,ENSMUSG00000020282,protein_coding -37645,Pex13,ENSMUSG00000020283,protein_coding -28040,1810043G02Rik,ENSMUSG00000020284,protein_coding -37641,1700093K21Rik,ENSMUSG00000020286,protein_coding -37763,Mpg,ENSMUSG00000020287,protein_coding -37638,Ahsa2,ENSMUSG00000020288,protein_coding -37762,Nprl3,ENSMUSG00000020289,protein_coding -37635,Xpo1,ENSMUSG00000020290,protein_coding -37768,Hbq1a,ENSMUSG00000020295,protein_coding -37756,Nsg2,ENSMUSG00000020297,protein_coding -37755,4930524B15Rik,ENSMUSG00000020299,protein_coding -37754,Cpeb4,ENSMUSG00000020300,protein_coding -37749,Stc2,ENSMUSG00000020303,protein_coding -37741,Asb3,ENSMUSG00000020305,protein_coding -28112,Cdc34,ENSMUSG00000020307,protein_coding -28111,Tpgs1,ENSMUSG00000020308,protein_coding -37744,Chac2,ENSMUSG00000020309,protein_coding -28110,Madcam1,ENSMUSG00000020310,protein_coding -37743,Erlec1,ENSMUSG00000020311,protein_coding -28107,Shc2,ENSMUSG00000020312,protein_coding -37727,Sptbn1,ENSMUSG00000020315,protein_coding -28105,Theg,ENSMUSG00000020317,protein_coding -37604,Wdpcp,ENSMUSG00000020319,protein_coding -37602,Mdh1,ENSMUSG00000020321,protein_coding -28121,Prss57,ENSMUSG00000020323,protein_coding -28120,Fstl3,ENSMUSG00000020325,protein_coding -37843,Ccng1,ENSMUSG00000020326,protein_coding -28118,Fgf22,ENSMUSG00000020327,protein_coding -37842,Nudcd2,ENSMUSG00000020328,protein_coding -28117,Polrmt,ENSMUSG00000020329,protein_coding -37841,Hmmr,ENSMUSG00000020330,protein_coding -28116,Hcn2,ENSMUSG00000020331,protein_coding -38143,Meikin,ENSMUSG00000020332,protein_coding -38141,Acsl6,ENSMUSG00000020333,protein_coding -38132,Slc22a4,ENSMUSG00000020334,protein_coding -38032,Zfp354b,ENSMUSG00000020335,protein_coding -37913,Cyfip2,ENSMUSG00000020340,protein_coding -37972,Mgat1,ENSMUSG00000020346,protein_coding -38074,Ppp2ca,ENSMUSG00000020349,protein_coding -37936,Sgcd,ENSMUSG00000020354,protein_coding -37991,Flt4,ENSMUSG00000020357,protein_coding -38056,Hnrnpab,ENSMUSG00000020358,protein_coding -38055,Phykpl,ENSMUSG00000020359,protein_coding -38094,Hspa4,ENSMUSG00000020361,protein_coding -37993,Cnot6,ENSMUSG00000020362,protein_coding -37998,Gfpt2,ENSMUSG00000020363,protein_coding -38043,Zfp354a,ENSMUSG00000020364,protein_coding -37999,Mapk9,ENSMUSG00000020366,protein_coding -38014,Canx,ENSMUSG00000020368,protein_coding -37946,Rack1,ENSMUSG00000020372,protein_coding -38001,Rasgef1c,ENSMUSG00000020374,protein_coding -38019,Rufy1,ENSMUSG00000020375,protein_coding -38002,Rnf130,ENSMUSG00000020376,protein_coding -38011,Ltc4s,ENSMUSG00000020377,protein_coding -38116,Rad50,ENSMUSG00000020380,protein_coding -38007,Mrnip,ENSMUSG00000020381,protein_coding -38114,Il13,ENSMUSG00000020383,protein_coding -38052,Clk4,ENSMUSG00000020385,protein_coding -38064,Sar1b,ENSMUSG00000020386,protein_coding -38065,Jade2,ENSMUSG00000020387,protein_coding -38133,Pdlim4,ENSMUSG00000020388,protein_coding -38072,Cdkl3,ENSMUSG00000020389,protein_coding -38070,Ube2b,ENSMUSG00000020390,protein_coding -38069,Cdkn2aipnl,ENSMUSG00000020392,protein_coding -37384,Kremen1,ENSMUSG00000020393,protein_coding -37916,Itk,ENSMUSG00000020395,protein_coding -37375,Nefh,ENSMUSG00000020396,protein_coding -37919,Med7,ENSMUSG00000020397,protein_coding -37922,Havcr2,ENSMUSG00000020399,protein_coding -38158,Tnip1,ENSMUSG00000020400,protein_coding -37918,Fam71b,ENSMUSG00000020401,protein_coding -38086,Vdac1,ENSMUSG00000020402,protein_coding -37872,Fabp6,ENSMUSG00000020405,protein_coding -37468,Upp1,ENSMUSG00000020407,protein_coding -37866,Slu7,ENSMUSG00000020409,protein_coding -37911,Nipal4,ENSMUSG00000020411,protein_coding -37366,Ascc2,ENSMUSG00000020412,protein_coding -37465,Hus1,ENSMUSG00000020413,protein_coding -37865,Pttg1,ENSMUSG00000020415,protein_coding -37361,Hormad2,ENSMUSG00000020419,protein_coding -23217,Zfp607a,ENSMUSG00000020420,protein_coding -37461,Tns3,ENSMUSG00000020422,protein_coding -2197,Btg2,ENSMUSG00000020423,protein_coding -37354,Castor1,ENSMUSG00000020424,protein_coding -37454,Igfbp3,ENSMUSG00000020427,protein_coding -37854,Gabra6,ENSMUSG00000020428,protein_coding -37453,Igfbp1,ENSMUSG00000020429,protein_coding -37340,Pes1,ENSMUSG00000020430,protein_coding -37451,Adcy1,ENSMUSG00000020431,protein_coding -37337,Tcn2,ENSMUSG00000020432,protein_coding -37334,4921536K21Rik,ENSMUSG00000020434,protein_coding -37331,Osbp2,ENSMUSG00000020435,protein_coding -37852,Gabrg2,ENSMUSG00000020436,protein_coding -37430,Myo1g,ENSMUSG00000020437,protein_coding -37317,Smtn,ENSMUSG00000020439,protein_coding -19181,Arf5,ENSMUSG00000020440,protein_coding -38280,2310033P09Rik,ENSMUSG00000020441,protein_coding -38276,Guk1,ENSMUSG00000020444,protein_coding -37414,Npc1l1,ENSMUSG00000020447,protein_coding -37310,Rnf185,ENSMUSG00000020448,protein_coding -37308,Limk2,ENSMUSG00000020451,protein_coding -37304,Patz1,ENSMUSG00000020453,protein_coding -37303,Eif4enif1,ENSMUSG00000020454,protein_coding -38271,Trim11,ENSMUSG00000020455,protein_coding -37419,Ogdh,ENSMUSG00000020456,protein_coding -37300,Drg1,ENSMUSG00000020457,protein_coding -37721,Rtn4,ENSMUSG00000020458,protein_coding -37713,Mtif2,ENSMUSG00000020459,protein_coding -37714,Rps27a,ENSMUSG00000020460,protein_coding -37715,Clhc1,ENSMUSG00000020461,protein_coding -37705,Cfap36,ENSMUSG00000020462,protein_coding -37704,Ppp4r3b,ENSMUSG00000020463,protein_coding -37702,Pnpt1,ENSMUSG00000020464,protein_coding -37700,Efemp1,ENSMUSG00000020467,protein_coding -37405,Myl7,ENSMUSG00000020469,protein_coding -37404,Pold2,ENSMUSG00000020471,protein_coding -38292,Zkscan17,ENSMUSG00000020472,protein_coding -37403,Aebp1,ENSMUSG00000020473,protein_coding -37402,Polm,ENSMUSG00000020474,protein_coding -37400,Pgam2,ENSMUSG00000020475,protein_coding -37399,Dbnl,ENSMUSG00000020476,protein_coding -37396,Mrps24,ENSMUSG00000020477,protein_coding -37393,Ankrd36,ENSMUSG00000020481,protein_coding -37391,Ccdc117,ENSMUSG00000020482,protein_coding -39223,Dynll2,ENSMUSG00000020483,protein_coding -37390,Xbp1,ENSMUSG00000020484,protein_coding -39208,Supt4a,ENSMUSG00000020485,protein_coding -39202,Sept4,ENSMUSG00000020486,protein_coding -38262,Btnl10,ENSMUSG00000020490,protein_coding -38258,2810021J22Rik,ENSMUSG00000020491,protein_coding -39180,Ska2,ENSMUSG00000020492,protein_coding -39179,Prr11,ENSMUSG00000020493,protein_coding -39177,Smg8,ENSMUSG00000020495,protein_coding -38263,Rnf187,ENSMUSG00000020496,protein_coding -39166,Tubd1,ENSMUSG00000020513,protein_coding -38210,Mrpl22,ENSMUSG00000020514,protein_coding -38207,Cnot8,ENSMUSG00000020515,protein_coding -39165,Rps6kb1,ENSMUSG00000020516,protein_coding -38198,Sap30l,ENSMUSG00000020519,protein_coding -38193,Galnt10,ENSMUSG00000020520,protein_coding -39164,Rnft1,ENSMUSG00000020521,protein_coding -38190,Mfap3,ENSMUSG00000020522,protein_coding -38189,Fam114a2,ENSMUSG00000020523,protein_coding -38187,Gria1,ENSMUSG00000020524,protein_coding -39144,Ppm1d,ENSMUSG00000020525,protein_coding -39132,Znhit3,ENSMUSG00000020526,protein_coding -39130,Myo19,ENSMUSG00000020527,protein_coding -38389,Prpsap2,ENSMUSG00000020528,protein_coding -39128,Ggnbp2,ENSMUSG00000020530,protein_coding -39117,Acaca,ENSMUSG00000020532,protein_coding -38357,Shmt1,ENSMUSG00000020534,protein_coding -38350,Llgl1,ENSMUSG00000020536,protein_coding -38330,Drg2,ENSMUSG00000020537,protein_coding -38318,Srebf1,ENSMUSG00000020538,protein_coding -39271,Tom1l1,ENSMUSG00000020541,protein_coding -38460,Myocd,ENSMUSG00000020542,protein_coding -39270,Cox11,ENSMUSG00000020544,protein_coding -43425,Lrrc72,ENSMUSG00000020545,protein_coding -39267,Stxbp4,ENSMUSG00000020546,protein_coding -43420,Bzw2,ENSMUSG00000020547,protein_coding -38458,1700086D15Rik,ENSMUSG00000020548,protein_coding -38454,Elac2,ENSMUSG00000020549,protein_coding -39259,Pctp,ENSMUSG00000020553,protein_coding -43387,Twistnb,ENSMUSG00000020561,protein_coding -43385,Efcab10,ENSMUSG00000020562,protein_coding -43382,Atxn7l1,ENSMUSG00000020564,protein_coding -43042,Atp6v1c2,ENSMUSG00000020566,protein_coding -43376,Sypl,ENSMUSG00000020570,protein_coding -43041,Pdia6,ENSMUSG00000020571,protein_coding -43369,Nampt,ENSMUSG00000020572,protein_coding -43360,Pik3cg,ENSMUSG00000020573,protein_coding -42981,Nbas,ENSMUSG00000020576,protein_coding -43418,Tspan13,ENSMUSG00000020577,protein_coding -43033,Rock2,ENSMUSG00000020580,protein_coding -43417,Agr2,ENSMUSG00000020581,protein_coding -42911,Matn3,ENSMUSG00000020583,protein_coding -42910,Laptm4a,ENSMUSG00000020585,protein_coding -42962,Fam49a,ENSMUSG00000020589,protein_coding -43401,Snx13,ENSMUSG00000020590,protein_coding -43026,Ntsr2,ENSMUSG00000020591,protein_coding -42907,Sdc1,ENSMUSG00000020592,protein_coding -43025,Lpin1,ENSMUSG00000020593,protein_coding -42905,Pum2,ENSMUSG00000020594,protein_coding -43516,Nrcam,ENSMUSG00000020598,protein_coding -39928,Rgs9,ENSMUSG00000020599,protein_coding -42904,Slc7a15,ENSMUSG00000020600,protein_coding -43013,Trib2,ENSMUSG00000020601,protein_coding -39937,Arsg,ENSMUSG00000020604,protein_coding -42897,Hs1bp3,ENSMUSG00000020605,protein_coding -42997,Fam84a,ENSMUSG00000020607,protein_coding -42944,Smc6,ENSMUSG00000020608,protein_coding -42892,Apob,ENSMUSG00000020609,protein_coding -39933,Amz2,ENSMUSG00000020610,protein_coding -39931,Gna13,ENSMUSG00000020611,protein_coding -39941,Prkar1a,ENSMUSG00000020612,protein_coding -39942,Fam20a,ENSMUSG00000020614,protein_coding -39944,1700012B07Rik,ENSMUSG00000020617,protein_coding -39947,Abca8b,ENSMUSG00000020620,protein_coding -42931,Rdh14,ENSMUSG00000020621,protein_coding -42930,Nt5c1b,ENSMUSG00000020622,protein_coding -39953,Map2k6,ENSMUSG00000020623,protein_coding -42873,Klhl29,ENSMUSG00000020627,protein_coding -43300,Trappc12,ENSMUSG00000020628,protein_coding -43298,Adi1,ENSMUSG00000020629,protein_coding -43297,Rnaseh1,ENSMUSG00000020630,protein_coding -43292,Dcdc2c,ENSMUSG00000020633,protein_coding -42869,Ubxn2a,ENSMUSG00000020634,protein_coding -42866,Fkbp1b,ENSMUSG00000020635,protein_coding -43294,Allc,ENSMUSG00000020636,protein_coding -43276,Cmpk2,ENSMUSG00000020638,protein_coding -42863,Pfn4,ENSMUSG00000020639,protein_coding -42856,Itsn2,ENSMUSG00000020640,protein_coding -43275,Rsad2,ENSMUSG00000020641,protein_coding -43271,Rnf144a,ENSMUSG00000020642,protein_coding -43257,Id2,ENSMUSG00000020644,protein_coding -43253,Mboat2,ENSMUSG00000020646,protein_coding -42848,Ncoa1,ENSMUSG00000020647,protein_coding -43349,Dus4l,ENSMUSG00000020648,protein_coding -43246,Rrm2,ENSMUSG00000020649,protein_coding -43348,Bcap29,ENSMUSG00000020650,protein_coding -43346,Slc26a4,ENSMUSG00000020651,protein_coding -42842,Cenpo,ENSMUSG00000020652,protein_coding -43244,Klf11,ENSMUSG00000020653,protein_coding -42841,Adcy3,ENSMUSG00000020654,protein_coding -43242,Grhl1,ENSMUSG00000020656,protein_coding -42840,Dnajc27,ENSMUSG00000020657,protein_coding -42837,Efr3b,ENSMUSG00000020658,protein_coding -43343,Cbll1,ENSMUSG00000020659,protein_coding -42836,Pomc,ENSMUSG00000020660,protein_coding -42833,Dnmt3a,ENSMUSG00000020661,protein_coding -43340,Dld,ENSMUSG00000020664,protein_coding -42824,Kif3c,ENSMUSG00000020668,protein_coding -43325,Sh3yl1,ENSMUSG00000020669,protein_coding -42822,Rab10,ENSMUSG00000020671,protein_coding -43316,Sntg2,ENSMUSG00000020672,protein_coding -43314,Tpo,ENSMUSG00000020673,protein_coding -43313,Pxdn,ENSMUSG00000020674,protein_coding -39033,Ccl11,ENSMUSG00000020676,protein_coding -39113,Ddx52,ENSMUSG00000020677,protein_coding -39112,Hnf1b,ENSMUSG00000020679,protein_coding -39089,Taf15,ENSMUSG00000020680,protein_coding -39841,Ace,ENSMUSG00000020681,protein_coding -39088,Mmp28,ENSMUSG00000020682,protein_coding -39085,Rasl10b,ENSMUSG00000020684,protein_coding -39086,Gas2l2,ENSMUSG00000020686,protein_coding -39810,Cdc27,ENSMUSG00000020687,protein_coding -39816,Itgb3,ENSMUSG00000020689,protein_coding -39823,Efcab3,ENSMUSG00000020690,protein_coding -39825,Mettl2,ENSMUSG00000020691,protein_coding -39051,Nle1,ENSMUSG00000020692,protein_coding -39829,Tlk2,ENSMUSG00000020694,protein_coding -39830,Mrc2,ENSMUSG00000020695,protein_coding -39048,Rffl,ENSMUSG00000020696,protein_coding -39047,Lig3,ENSMUSG00000020697,protein_coding -39041,Cct6b,ENSMUSG00000020698,protein_coding -39848,Map3k3,ENSMUSG00000020700,protein_coding -39038,Tmem132e,ENSMUSG00000020701,protein_coding -39036,Ccl1,ENSMUSG00000020702,protein_coding -39027,5530401A14Rik,ENSMUSG00000020703,protein_coding -39021,Asic2,ENSMUSG00000020704,protein_coding -39855,Ddx42,ENSMUSG00000020705,protein_coding -39856,Ftsj3,ENSMUSG00000020706,protein_coding -39008,Rnf135,ENSMUSG00000020707,protein_coding -39857,Psmc5,ENSMUSG00000020708,protein_coding -39006,Adap2,ENSMUSG00000020709,protein_coding -39860,Tcam1,ENSMUSG00000020712,protein_coding -39861,Gh,ENSMUSG00000020713,protein_coding -39866,Ern1,ENSMUSG00000020715,protein_coding -38979,Nf1,ENSMUSG00000020716,protein_coding -39871,Pecam1,ENSMUSG00000020717,protein_coding -39874,Polg2,ENSMUSG00000020718,protein_coding -39875,Ddx5,ENSMUSG00000020719,protein_coding -39897,Psmd12,ENSMUSG00000020720,protein_coding -39902,Helz,ENSMUSG00000020721,protein_coding -39904,Cacng1,ENSMUSG00000020722,protein_coding -39905,Cacng4,ENSMUSG00000020723,protein_coding -39917,Cep112,ENSMUSG00000020728,protein_coding -40007,Rab37,ENSMUSG00000020732,protein_coding -40009,Slc9a3r1,ENSMUSG00000020733,protein_coding -40012,Grin2c,ENSMUSG00000020734,protein_coding -40030,Nt5c,ENSMUSG00000020736,protein_coding -40032,Jpt1,ENSMUSG00000020737,protein_coding -40033,Sumo2,ENSMUSG00000020738,protein_coding -40034,Nup85,ENSMUSG00000020739,protein_coding -40035,Gga3,ENSMUSG00000020740,protein_coding -38810,Cluh,ENSMUSG00000020741,protein_coding -40038,Mif4gd,ENSMUSG00000020743,protein_coding -40039,Slc25a19,ENSMUSG00000020744,protein_coding -38811,Pafah1b1,ENSMUSG00000020745,protein_coding -40046,Tmem94,ENSMUSG00000020747,protein_coding -40052,Recql5,ENSMUSG00000020752,protein_coding -40056,Sap30bp,ENSMUSG00000020755,protein_coding -40058,Itgb4,ENSMUSG00000020758,protein_coding -40060,Galk1,ENSMUSG00000020766,protein_coding -40062,Unk,ENSMUSG00000020770,protein_coding -40065,Trim47,ENSMUSG00000020773,protein_coding -38745,Aspa,ENSMUSG00000020774,protein_coding -40067,Mrpl38,ENSMUSG00000020775,protein_coding -40068,Fbf1,ENSMUSG00000020776,protein_coding -40071,Acox1,ENSMUSG00000020777,protein_coding -40072,Ten1,ENSMUSG00000020778,protein_coding -40075,Srp68,ENSMUSG00000020780,protein_coding -40049,Tsen54,ENSMUSG00000020781,protein_coding -40050,Llgl2,ENSMUSG00000020782,protein_coding -38734,Ncbp3,ENSMUSG00000020783,protein_coding -38733,Camkk1,ENSMUSG00000020785,protein_coding -38731,P2rx1,ENSMUSG00000020787,protein_coding -38730,Atp2a3,ENSMUSG00000020788,protein_coding -38723,Ankfy1,ENSMUSG00000020790,protein_coding -40077,Exoc7,ENSMUSG00000020792,protein_coding -40076,Galr2,ENSMUSG00000020793,protein_coding -38720,Ube2g1,ENSMUSG00000020794,protein_coding -38718,Spns3,ENSMUSG00000020798,protein_coding -38712,Tekt1,ENSMUSG00000020799,protein_coding -38704,Med31,ENSMUSG00000020801,protein_coding -40090,Ube2o,ENSMUSG00000020802,protein_coding -38703,Txndc17,ENSMUSG00000020803,protein_coding -40092,Aanat,ENSMUSG00000020804,protein_coding -38706,Slc13a5,ENSMUSG00000020805,protein_coding -40093,Rhbdf2,ENSMUSG00000020806,protein_coding -38701,4933427D14Rik,ENSMUSG00000020807,protein_coding -38699,Pimreg,ENSMUSG00000020808,protein_coding -40094,Cygb,ENSMUSG00000020810,protein_coding -38694,Wscd1,ENSMUSG00000020811,protein_coding -40105,Mxra7,ENSMUSG00000020814,protein_coding -38668,Rabep1,ENSMUSG00000020817,protein_coding -40110,Mfsd11,ENSMUSG00000020818,protein_coding -38661,Kif1c,ENSMUSG00000020821,protein_coding -40119,Sec14l1,ENSMUSG00000020823,protein_coding -38971,Nos2,ENSMUSG00000020826,protein_coding -38647,Mink1,ENSMUSG00000020827,protein_coding -38646,Pld2,ENSMUSG00000020828,protein_coding -38952,Slc46a1,ENSMUSG00000020829,protein_coding -38640,Vmo1,ENSMUSG00000020830,protein_coding -38625,0610010K14Rik,ENSMUSG00000020831,protein_coding -38925,Eral1,ENSMUSG00000020832,protein_coding -38920,Dhrs13,ENSMUSG00000020834,protein_coding -38898,Coro6,ENSMUSG00000020836,protein_coding -38886,Slc6a4,ENSMUSG00000020838,protein_coding -38883,Tmigd1,ENSMUSG00000020839,protein_coding -38884,Blmh,ENSMUSG00000020840,protein_coding -38882,Cpd,ENSMUSG00000020841,protein_coding -38874,Timm22,ENSMUSG00000020843,protein_coding -38873,Nxn,ENSMUSG00000020844,protein_coding -38865,Rflnb,ENSMUSG00000020846,protein_coding -38862,Rph3al,ENSMUSG00000020847,protein_coding -38860,Doc2b,ENSMUSG00000020848,protein_coding -38858,Ywhae,ENSMUSG00000020849,protein_coding -38846,Prpf8,ENSMUSG00000020850,protein_coding -39287,Nme2,ENSMUSG00000020857,protein_coding -39290,Spag9,ENSMUSG00000020859,protein_coding -39296,Luc7l3,ENSMUSG00000020863,protein_coding -39297,Ankrd40,ENSMUSG00000020864,protein_coding -39298,Abcc3,ENSMUSG00000020865,protein_coding -39299,Cacna1g,ENSMUSG00000020866,protein_coding -39300,Spata20,ENSMUSG00000020867,protein_coding -39310,Xylt2,ENSMUSG00000020868,protein_coding -39307,Lrrc59,ENSMUSG00000020869,protein_coding -39313,Cdc34b,ENSMUSG00000020870,protein_coding -39332,Dlx4,ENSMUSG00000020871,protein_coding -39336,Tac4,ENSMUSG00000020872,protein_coding -39342,Slc35b1,ENSMUSG00000020873,protein_coding -39381,Hoxb9,ENSMUSG00000020875,protein_coding -39399,Snx11,ENSMUSG00000020876,protein_coding -39415,Scrn2,ENSMUSG00000020877,protein_coding -39416,Lrrc46,ENSMUSG00000020878,protein_coding -39465,Cacnb1,ENSMUSG00000020882,protein_coding -39471,Fbxl20,ENSMUSG00000020883,protein_coding -38613,Asgr1,ENSMUSG00000020884,protein_coding -38612,Dlg4,ENSMUSG00000020886,protein_coding -38609,Dvl2,ENSMUSG00000020888,protein_coding -39507,Nr1d1,ENSMUSG00000020889,protein_coding -38537,Gucy2e,ENSMUSG00000020890,protein_coding -38536,Alox8,ENSMUSG00000020891,protein_coding -38534,Aloxe3,ENSMUSG00000020892,protein_coding -38531,Per1,ENSMUSG00000020893,protein_coding -38530,Vamp2,ENSMUSG00000020894,protein_coding -38526,Tmem107,ENSMUSG00000020895,protein_coding -38523,Aurkb,ENSMUSG00000020897,protein_coding -38522,Ctc1,ENSMUSG00000020898,protein_coding -38519,Pfas,ENSMUSG00000020899,protein_coding -38510,Myh10,ENSMUSG00000020900,protein_coding -38505,Pik3r5,ENSMUSG00000020901,protein_coding -38502,Ntn1,ENSMUSG00000020902,protein_coding -38497,Stx8,ENSMUSG00000020903,protein_coding -38496,Cfap52,ENSMUSG00000020904,protein_coding -38494,Usp43,ENSMUSG00000020905,protein_coding -38491,Rcvrn,ENSMUSG00000020907,protein_coding -38477,Myh3,ENSMUSG00000020908,protein_coding -38475,Adprm,ENSMUSG00000020910,protein_coding -39605,Krt19,ENSMUSG00000020911,protein_coding -39534,Krt12,ENSMUSG00000020912,protein_coding -39526,Krt24,ENSMUSG00000020913,protein_coding -39518,Top2a,ENSMUSG00000020914,protein_coding -39601,Krt36,ENSMUSG00000020916,protein_coding -39628,Acly,ENSMUSG00000020917,protein_coding -39638,Kat2a,ENSMUSG00000020918,protein_coding -39645,Stat5b,ENSMUSG00000020919,protein_coding -39724,Tmem101,ENSMUSG00000020921,protein_coding -39725,Lsm12,ENSMUSG00000020922,protein_coding -39733,Ubtf,ENSMUSG00000020923,protein_coding -39754,Ccdc43,ENSMUSG00000020925,protein_coding -39757,Adam11,ENSMUSG00000020926,protein_coding -39760,Higd1b,ENSMUSG00000020928,protein_coding -39761,Eftud2,ENSMUSG00000020929,protein_coding -39763,Ccdc103,ENSMUSG00000020930,protein_coding -39765,Gfap,ENSMUSG00000020932,protein_coding -39769,Dcakd,ENSMUSG00000020935,protein_coding -39771,Nmt1,ENSMUSG00000020936,protein_coding -39772,Plcd3,ENSMUSG00000020937,protein_coding -39778,1700023F06Rik,ENSMUSG00000020940,protein_coding -39780,Map3k14,ENSMUSG00000020941,protein_coding -39791,Lyzl6,ENSMUSG00000020945,protein_coding -39793,Gosr2,ENSMUSG00000020946,protein_coding -43781,Klhl28,ENSMUSG00000020948,protein_coding -43786,Fkbp3,ENSMUSG00000020949,protein_coding -43556,Foxg1,ENSMUSG00000020950,protein_coding -43575,Scfd1,ENSMUSG00000020952,protein_coding -43577,Coch,ENSMUSG00000020953,protein_coding -43578,Strn3,ENSMUSG00000020954,protein_coding -43579,Ap4s1,ENSMUSG00000020955,protein_coding -43585,Dtd2,ENSMUSG00000020956,protein_coding -44407,Ston2,ENSMUSG00000020961,protein_coding -44404,Gtf2a1,ENSMUSG00000020962,protein_coding -44402,Tshr,ENSMUSG00000020963,protein_coding -44411,Sel1l,ENSMUSG00000020964,protein_coding -43846,Dnaaf2,ENSMUSG00000020973,protein_coding -43849,Pole2,ENSMUSG00000020974,protein_coding -43853,Klhdc2,ENSMUSG00000020978,protein_coding -43854,Nemf,ENSMUSG00000020982,protein_coding -43709,Sec23a,ENSMUSG00000020986,protein_coding -43866,L2hgdh,ENSMUSG00000020988,protein_coding -43868,Cdkl1,ENSMUSG00000020990,protein_coding -43712,Trappc6b,ENSMUSG00000020993,protein_coding -43713,Pnn,ENSMUSG00000020994,protein_coding -43716,Mia2,ENSMUSG00000021000,protein_coding -44456,Galc,ENSMUSG00000021003,protein_coding -44466,Spata7,ENSMUSG00000021007,protein_coding -44469,Ptpn21,ENSMUSG00000021009,protein_coding -43601,Npas3,ENSMUSG00000021010,protein_coding -44470,Zc3h14,ENSMUSG00000021012,protein_coding -44477,Ttc8,ENSMUSG00000021013,protein_coding -47589,Polr2h,ENSMUSG00000021018,protein_coding -43652,Ppp2r3c,ENSMUSG00000021022,protein_coding -43653,1110008L16Rik,ENSMUSG00000021023,protein_coding -43654,Psma6,ENSMUSG00000021024,protein_coding -43656,Nfkbia,ENSMUSG00000021025,protein_coding -43660,Ralgapa1,ENSMUSG00000021027,protein_coding -43673,Mbip,ENSMUSG00000021028,protein_coding -44260,Ngb,ENSMUSG00000021032,protein_coding -44262,Gstz1,ENSMUSG00000021033,protein_coding -44271,Sptlc2,ENSMUSG00000021036,protein_coding -44268,Ahsa1,ENSMUSG00000021037,protein_coding -44267,Vipas39,ENSMUSG00000021038,protein_coding -44281,Snw1,ENSMUSG00000021039,protein_coding -44280,Slirp,ENSMUSG00000021040,protein_coding -44369,Adck1,ENSMUSG00000021044,protein_coding -43538,Nova1,ENSMUSG00000021047,protein_coding -43990,Mthfd1,ENSMUSG00000021048,protein_coding -43979,Ppp2r5e,ENSMUSG00000021051,protein_coding -43983,Sgpp1,ENSMUSG00000021054,protein_coding -43986,Esr2,ENSMUSG00000021055,protein_coding -43988,Tex21,ENSMUSG00000021056,protein_coding -43993,Akap5,ENSMUSG00000021057,protein_coding -44006,Sptb,ENSMUSG00000021061,protein_coding -44011,Rab15,ENSMUSG00000021062,protein_coding -44018,Fut8,ENSMUSG00000021065,protein_coding -43874,Atl1,ENSMUSG00000021066,protein_coding -43878,Sav1,ENSMUSG00000021067,protein_coding -43882,Nin,ENSMUSG00000021068,protein_coding -43885,Pygl,ENSMUSG00000021069,protein_coding -44669,Bdkrb2,ENSMUSG00000021070,protein_coding -43887,Trim9,ENSMUSG00000021071,protein_coding -43890,Tmx1,ENSMUSG00000021072,protein_coding -43902,Actr10,ENSMUSG00000021076,protein_coding -43906,Tomm20l,ENSMUSG00000021078,protein_coding -43907,Timm9,ENSMUSG00000021079,protein_coding -44603,Serpina1f,ENSMUSG00000021081,protein_coding -43927,Ccdc175,ENSMUSG00000021086,protein_coding -43930,Rtn1,ENSMUSG00000021087,protein_coding -43931,Lrrc9,ENSMUSG00000021090,protein_coding -44640,Serpina3n,ENSMUSG00000021091,protein_coding -43936,Dhrs7,ENSMUSG00000021094,protein_coding -44642,Gsc,ENSMUSG00000021095,protein_coding -43938,Ppm1a,ENSMUSG00000021096,protein_coding -44646,Clmn,ENSMUSG00000021097,protein_coding -43940,4930447C04Rik,ENSMUSG00000021098,protein_coding -43941,Six6,ENSMUSG00000021099,protein_coding -44655,Glrx5,ENSMUSG00000021102,protein_coding -43946,Mnat1,ENSMUSG00000021103,protein_coding -43957,Prkch,ENSMUSG00000021108,protein_coding -43961,Hif1a,ENSMUSG00000021109,protein_coding -44675,Papola,ENSMUSG00000021111,protein_coding -44038,Mpp5,ENSMUSG00000021112,protein_coding -43964,Snapc1,ENSMUSG00000021113,protein_coding -44040,Atp6v1d,ENSMUSG00000021114,protein_coding -44679,Vrk1,ENSMUSG00000021115,protein_coding -44041,Eif2s1,ENSMUSG00000021116,protein_coding -44042,Plek2,ENSMUSG00000021118,protein_coding -44045,Pigh,ENSMUSG00000021120,protein_coding -44055,Rdh12,ENSMUSG00000021123,protein_coding -44051,Vti1b,ENSMUSG00000021124,protein_coding -44049,Arg2,ENSMUSG00000021125,protein_coding -44063,Zfp36l1,ENSMUSG00000021127,protein_coding -44079,Galnt16,ENSMUSG00000021130,protein_coding -44084,Erh,ENSMUSG00000021131,protein_coding -44093,Susd6,ENSMUSG00000021133,protein_coding -44098,Srsf5,ENSMUSG00000021134,protein_coding -44099,Slc10a1,ENSMUSG00000021135,protein_coding -44100,Smoc1,ENSMUSG00000021136,protein_coding -44104,Gm20498,ENSMUSG00000021139,protein_coding -44124,Pcnx,ENSMUSG00000021140,protein_coding -44957,Pacs2,ENSMUSG00000021143,protein_coding -44960,Mta1,ENSMUSG00000021144,protein_coding -40400,Wdr37,ENSMUSG00000021147,protein_coding -40407,Gm9745,ENSMUSG00000021148,protein_coding -40412,Gtpbp4,ENSMUSG00000021149,protein_coding -40434,Zmynd11,ENSMUSG00000021156,protein_coding -45249,Esyt2,ENSMUSG00000021171,protein_coding -45265,Cdca7l,ENSMUSG00000021175,protein_coding -44495,Efcab11,ENSMUSG00000021176,protein_coding -44500,Tdp1,ENSMUSG00000021177,protein_coding -44506,Psmc1,ENSMUSG00000021178,protein_coding -44507,Nrde2,ENSMUSG00000021179,protein_coding -44518,Rps6ka5,ENSMUSG00000021180,protein_coding -44528,Ccdc88c,ENSMUSG00000021182,protein_coding -44524,Dglucy,ENSMUSG00000021185,protein_coding -44545,Fbln5,ENSMUSG00000021186,protein_coding -44543,Tc2n,ENSMUSG00000021187,protein_coding -44546,Trip11,ENSMUSG00000021188,protein_coding -44550,Atxn3,ENSMUSG00000021189,protein_coding -44558,Lgmn,ENSMUSG00000021190,protein_coding -44560,Golga5,ENSMUSG00000021192,protein_coding -40377,Pitrm1,ENSMUSG00000021193,protein_coding -44561,Chga,ENSMUSG00000021194,protein_coding -40378,Pfkp,ENSMUSG00000021196,protein_coding -44580,Unc79,ENSMUSG00000021198,protein_coding -44587,Asb2,ENSMUSG00000021200,protein_coding -44590,Otub2,ENSMUSG00000021203,protein_coding -40355,Akr1c21,ENSMUSG00000021207,protein_coding -44596,Ifi27l2b,ENSMUSG00000021208,protein_coding -44598,Ppp4r4,ENSMUSG00000021209,protein_coding -40352,Akr1c6,ENSMUSG00000021210,protein_coding -40349,Akr1c12,ENSMUSG00000021211,protein_coding -40346,Akr1c13,ENSMUSG00000021213,protein_coding -40343,Akr1c18,ENSMUSG00000021214,protein_coding -40333,Net1,ENSMUSG00000021215,protein_coding -40335,Tubal3,ENSMUSG00000021216,protein_coding -23627,Tshz3,ENSMUSG00000021217,protein_coding -40322,Gdi2,ENSMUSG00000021218,protein_coding -44132,Rgs6,ENSMUSG00000021219,protein_coding -44140,Dpf3,ENSMUSG00000021221,protein_coding -44142,Dcaf4,ENSMUSG00000021222,protein_coding -44152,Papln,ENSMUSG00000021223,protein_coding -44153,Numb,ENSMUSG00000021224,protein_coding -44160,Acot2,ENSMUSG00000021226,protein_coding -44166,Acot3,ENSMUSG00000021228,protein_coding -44180,Fam161b,ENSMUSG00000021234,protein_coding -44181,Coq6,ENSMUSG00000021235,protein_coding -44182,Entpd5,ENSMUSG00000021236,protein_coding -44185,Aldh6a1,ENSMUSG00000021238,protein_coding -44187,Vsx2,ENSMUSG00000021239,protein_coding -44188,Abcd4,ENSMUSG00000021240,protein_coding -44193,Isca2,ENSMUSG00000021241,protein_coding -44192,Npc2,ENSMUSG00000021242,protein_coding -44200,Fcf1,ENSMUSG00000021243,protein_coding -44201,Ylpm1,ENSMUSG00000021244,protein_coding -44210,Mlh3,ENSMUSG00000021245,protein_coding -44216,Tmed10,ENSMUSG00000021248,protein_coding -44221,Fos,ENSMUSG00000021250,protein_coding -44231,Erg28,ENSMUSG00000021252,protein_coding -44234,Tgfb3,ENSMUSG00000021253,protein_coding -44239,Gpatch2l,ENSMUSG00000021254,protein_coding -44242,Esrrb,ENSMUSG00000021255,protein_coding -44246,Vash1,ENSMUSG00000021256,protein_coding -44247,Angel1,ENSMUSG00000021257,protein_coding -44707,Ccnk,ENSMUSG00000021258,protein_coding -44711,Cyp46a1,ENSMUSG00000021259,protein_coding -44709,Hhipl1,ENSMUSG00000021260,protein_coding -44715,Evl,ENSMUSG00000021262,protein_coding -44717,Degs2,ENSMUSG00000021263,protein_coding -44723,Yy1,ENSMUSG00000021264,protein_coding -44724,Slc25a29,ENSMUSG00000021265,protein_coding -44727,Wars,ENSMUSG00000021266,protein_coding -44867,Hsp90aa1,ENSMUSG00000021270,protein_coding -44872,Zfp839,ENSMUSG00000021271,protein_coding -33700,Fdft1,ENSMUSG00000021273,protein_coding -44876,Tecpr2,ENSMUSG00000021275,protein_coding -44874,Cinp,ENSMUSG00000021276,protein_coding -44886,Traf3,ENSMUSG00000021277,protein_coding -44887,Amn,ENSMUSG00000021278,protein_coding -44889,Cdc42bpb,ENSMUSG00000021279,protein_coding -44891,Exoc3l4,ENSMUSG00000021280,protein_coding -44893,Tnfaip2,ENSMUSG00000021281,protein_coding -44896,Eif5,ENSMUSG00000021282,protein_coding -44912,Ppp1r13b,ENSMUSG00000021285,protein_coding -44911,Zfyve21,ENSMUSG00000021286,protein_coding -44910,Xrcc3,ENSMUSG00000021287,protein_coding -44909,Klc1,ENSMUSG00000021288,protein_coding -44917,Atp5mpl,ENSMUSG00000021290,protein_coding -44924,Kif26a,ENSMUSG00000021294,protein_coding -44946,Gpr132,ENSMUSG00000021298,protein_coding -40531,Hecw1,ENSMUSG00000021301,protein_coding -40525,Ggps1,ENSMUSG00000021302,protein_coding -40514,Gng4,ENSMUSG00000021303,protein_coding -40505,Gpr137b,ENSMUSG00000021306,protein_coding -40461,Mtr,ENSMUSG00000021311,protein_coding -40454,Ryr2,ENSMUSG00000021313,protein_coding -40604,Amph,ENSMUSG00000021314,protein_coding -40547,Gli3,ENSMUSG00000021318,protein_coding -40632,Sfrp4,ENSMUSG00000021319,protein_coding -40647,Aoah,ENSMUSG00000021322,protein_coding -40655,Trim27,ENSMUSG00000021326,protein_coding -40662,Zkscan3,ENSMUSG00000021327,protein_coding -40881,Slc17a1,ENSMUSG00000021335,protein_coding -40882,Slc17a4,ENSMUSG00000021336,protein_coding -40887,Scgn,ENSMUSG00000021337,protein_coding -40889,Carmil1,ENSMUSG00000021338,protein_coding -40912,Mrs2,ENSMUSG00000021339,protein_coding -40911,Gpld1,ENSMUSG00000021340,protein_coding -40932,Prl,ENSMUSG00000021342,protein_coding -40946,Prl8a6,ENSMUSG00000021345,protein_coding -40947,Prl8a8,ENSMUSG00000021346,protein_coding -40950,Prl7b1,ENSMUSG00000021347,protein_coding -40954,Prl7d1,ENSMUSG00000021348,protein_coding -40995,Irf4,ENSMUSG00000021356,protein_coding -40997,Exoc2,ENSMUSG00000021357,protein_coding -41223,Tfap2a,ENSMUSG00000021359,protein_coding -41231,Gcnt2,ENSMUSG00000021360,protein_coding -41239,Tmem14c,ENSMUSG00000021361,protein_coding -41242,Gcm2,ENSMUSG00000021362,protein_coding -41240,Mak,ENSMUSG00000021363,protein_coding -41245,Elovl2,ENSMUSG00000021364,protein_coding -41250,Nedd9,ENSMUSG00000021365,protein_coding -41267,Hivep1,ENSMUSG00000021366,protein_coding -41268,Edn1,ENSMUSG00000021367,protein_coding -41279,Tbc1d7,ENSMUSG00000021368,protein_coding -41289,Mcur1,ENSMUSG00000021371,protein_coding -41337,Cap2,ENSMUSG00000021373,protein_coding -41341,Nup153,ENSMUSG00000021374,protein_coding -41342,Kif13a,ENSMUSG00000021375,protein_coding -41351,Tpmt,ENSMUSG00000021376,protein_coding -41354,Dek,ENSMUSG00000021377,protein_coding -41368,Id4,ENSMUSG00000021379,protein_coding -41383,Barx1,ENSMUSG00000021381,protein_coding -41392,Susd3,ENSMUSG00000021384,protein_coding -41395,Ippk,ENSMUSG00000021385,protein_coding -41399,Aspn,ENSMUSG00000021388,protein_coding -41401,Ogn,ENSMUSG00000021390,protein_coding -41396,Cenpp,ENSMUSG00000021391,protein_coding -41402,Nol8,ENSMUSG00000021392,protein_coding -41446,Spin1,ENSMUSG00000021395,protein_coding -41447,Nxnl2,ENSMUSG00000021396,protein_coding -41030,Wrnip1,ENSMUSG00000021400,protein_coding -41038,Serpinb9b,ENSMUSG00000021403,protein_coding -41043,Serpinb9c,ENSMUSG00000021404,protein_coding -41071,Ripk1,ENSMUSG00000021408,protein_coding -41090,Pxdc1,ENSMUSG00000021411,protein_coding -41100,Prpf4b,ENSMUSG00000021413,protein_coding -41101,Fam217a,ENSMUSG00000021414,protein_coding -41102,4933417A18Rik,ENSMUSG00000021415,protein_coding -41104,Eci3,ENSMUSG00000021416,protein_coding -41107,Eci2,ENSMUSG00000021417,protein_coding -41123,Rpp40,ENSMUSG00000021418,protein_coding -41133,Fars2,ENSMUSG00000021420,protein_coding -41153,Ly86,ENSMUSG00000021423,protein_coding -41175,Ssr1,ENSMUSG00000021427,protein_coding -41177,Riok1,ENSMUSG00000021428,protein_coding -41181,Snrnp48,ENSMUSG00000021431,protein_coding -41202,Slc35b3,ENSMUSG00000021432,protein_coding -41686,Ctsq,ENSMUSG00000021439,protein_coding -41695,Cts7,ENSMUSG00000021440,protein_coding -41689,Cts6,ENSMUSG00000021441,protein_coding -41455,Shc3,ENSMUSG00000021448,protein_coding -41459,Sema4d,ENSMUSG00000021451,protein_coding -41461,Gadd45g,ENSMUSG00000021453,protein_coding -41757,Fbp2,ENSMUSG00000021456,protein_coding -41468,Syk,ENSMUSG00000021457,protein_coding -41760,Aopep,ENSMUSG00000021458,protein_coding -41470,Auh,ENSMUSG00000021460,protein_coding -41769,Fancc,ENSMUSG00000021461,protein_coding -41475,Ror2,ENSMUSG00000021464,protein_coding -41779,Ptch1,ENSMUSG00000021466,protein_coding -41476,Sptlc1,ENSMUSG00000021468,protein_coding -41479,Msx2,ENSMUSG00000021469,protein_coding -41788,Ercc6l2,ENSMUSG00000021470,protein_coding -41491,Sfxn1,ENSMUSG00000021474,protein_coding -41795,Habp4,ENSMUSG00000021476,protein_coding -41803,Ctsl,ENSMUSG00000021477,protein_coding -41490,Drd1,ENSMUSG00000021478,protein_coding -41526,Zfp346,ENSMUSG00000021481,protein_coding -41800,Prxl2c,ENSMUSG00000021482,protein_coding -41807,Cdk20,ENSMUSG00000021483,protein_coding -41535,Lman2,ENSMUSG00000021484,protein_coding -41534,Mxd3,ENSMUSG00000021485,protein_coding -41533,Prelid1,ENSMUSG00000021486,protein_coding -41530,Nsd1,ENSMUSG00000021488,protein_coding -41537,Slc34a1,ENSMUSG00000021490,protein_coding -41539,F12,ENSMUSG00000021492,protein_coding -41545,Pdlim7,ENSMUSG00000021493,protein_coding -41548,Ddx41,ENSMUSG00000021494,protein_coding -41550,Fam193b,ENSMUSG00000021495,protein_coding -41558,Pcbd2,ENSMUSG00000021496,protein_coding -41557,Txndc15,ENSMUSG00000021497,protein_coding -41560,Catsper3,ENSMUSG00000021499,protein_coding -41555,Ddx46,ENSMUSG00000021500,protein_coding -41554,Caml,ENSMUSG00000021501,protein_coding -41552,B4galt7,ENSMUSG00000021504,protein_coding -41561,Pitx1,ENSMUSG00000021506,protein_coding -41571,Cxcl14,ENSMUSG00000021508,protein_coding -41576,Slc25a48,ENSMUSG00000021509,protein_coding -41980,Zfp729a,ENSMUSG00000021510,protein_coding -41838,Zfp369,ENSMUSG00000021514,protein_coding -41938,Ptdss1,ENSMUSG00000021518,protein_coding -41937,Mterf3,ENSMUSG00000021519,protein_coding -41935,Uqcrb,ENSMUSG00000021520,protein_coding -42005,Fastkd3,ENSMUSG00000021532,protein_coding -42007,1700001L19Rik,ENSMUSG00000021534,protein_coding -42008,Adcy2,ENSMUSG00000021536,protein_coding -42216,Cetn3,ENSMUSG00000021537,protein_coding -41577,Il9,ENSMUSG00000021538,protein_coding -41579,Lect2,ENSMUSG00000021539,protein_coding -41583,Smad5,ENSMUSG00000021540,protein_coding -41588,Trpc7,ENSMUSG00000021541,protein_coding -50362,1700067P10Rik,ENSMUSG00000021545,protein_coding -41609,Hnrnpk,ENSMUSG00000021546,protein_coding -42249,Ccnh,ENSMUSG00000021548,protein_coding -42250,Rasa1,ENSMUSG00000021549,protein_coding -41608,2210016F16Rik,ENSMUSG00000021550,protein_coding -41603,Gkap1,ENSMUSG00000021552,protein_coding -41613,Slc28a3,ENSMUSG00000021553,protein_coding -41636,Naa35,ENSMUSG00000021555,protein_coding -41638,Golm1,ENSMUSG00000021556,protein_coding -41634,Agtpbp1,ENSMUSG00000021557,protein_coding -41668,Dapk1,ENSMUSG00000021559,protein_coding -42082,Slc6a19,ENSMUSG00000021565,protein_coding -42085,Nkd2,ENSMUSG00000021567,protein_coding -42087,Trip13,ENSMUSG00000021569,protein_coding -42096,Cep72,ENSMUSG00000021572,protein_coding -42094,Tppp,ENSMUSG00000021573,protein_coding -42099,Ahrr,ENSMUSG00000021575,protein_coding -42100,Pdcd6,ENSMUSG00000021576,protein_coding -42101,Sdha,ENSMUSG00000021577,protein_coding -42103,Ccdc127,ENSMUSG00000021578,protein_coding -42104,Lrrc14b,ENSMUSG00000021579,protein_coding -42120,Erap1,ENSMUSG00000021583,protein_coding -42121,Cast,ENSMUSG00000021585,protein_coding -42124,Pcsk1,ENSMUSG00000021587,protein_coding -42139,Rhobtb3,ENSMUSG00000021589,protein_coding -42144,Spata9,ENSMUSG00000021590,protein_coding -42138,Glrx,ENSMUSG00000021591,protein_coding -42148,Arsk,ENSMUSG00000021592,protein_coding -42022,Srd5a1,ENSMUSG00000021594,protein_coding -42020,Nsun2,ENSMUSG00000021595,protein_coding -42154,Mctp1,ENSMUSG00000021596,protein_coding -42160,Slf1,ENSMUSG00000021597,protein_coding -42033,Med10,ENSMUSG00000021598,protein_coding -42071,Irx4,ENSMUSG00000021604,protein_coding -42074,Ndufs6,ENSMUSG00000021606,protein_coding -42075,Mrpl36,ENSMUSG00000021607,protein_coding -42077,Lpcat1,ENSMUSG00000021608,protein_coding -42078,Slc6a3,ENSMUSG00000021609,protein_coding -42079,Clptm1l,ENSMUSG00000021610,protein_coding -42080,Tert,ENSMUSG00000021611,protein_coding -42081,Slc6a18,ENSMUSG00000021612,protein_coding -42274,Hapln1,ENSMUSG00000021613,protein_coding -42276,Vcan,ENSMUSG00000021614,protein_coding -42279,Xrcc4,ENSMUSG00000021615,protein_coding -42295,Atg10,ENSMUSG00000021619,protein_coding -42304,Acot12,ENSMUSG00000021620,protein_coding -42307,Zcchc9,ENSMUSG00000021621,protein_coding -42308,Ckmt2,ENSMUSG00000021622,protein_coding -42541,Cd180,ENSMUSG00000021624,protein_coding -42515,Slc30a5,ENSMUSG00000021629,protein_coding -42506,Rad17,ENSMUSG00000021635,protein_coding -42504,Marveld2,ENSMUSG00000021636,protein_coding -42501,Ocln,ENSMUSG00000021638,protein_coding -42499,Gtf2h2,ENSMUSG00000021639,protein_coding -42497,Naip1,ENSMUSG00000021640,protein_coding -42488,Serf1,ENSMUSG00000021643,protein_coding -42489,Smn1,ENSMUSG00000021645,protein_coding -42485,Mccc2,ENSMUSG00000021646,protein_coding -42484,Cartpt,ENSMUSG00000021647,protein_coding -42475,Ptcd2,ENSMUSG00000021650,protein_coding -42443,Btf3,ENSMUSG00000021660,protein_coding -42441,Ankra2,ENSMUSG00000021661,protein_coding -42439,Arhgef28,ENSMUSG00000021662,protein_coding -42421,Hexb,ENSMUSG00000021665,protein_coding -42420,Gfm2,ENSMUSG00000021666,protein_coding -42400,Polk,ENSMUSG00000021668,protein_coding -42402,Col4a3bp,ENSMUSG00000021669,protein_coding -42407,Hmgcr,ENSMUSG00000021670,protein_coding -42398,Poc5,ENSMUSG00000021671,protein_coding -42387,F2rl2,ENSMUSG00000021675,protein_coding -42385,Iqgap2,ENSMUSG00000021676,protein_coding -42381,F2rl1,ENSMUSG00000021678,protein_coding -42380,S100z,ENSMUSG00000021679,protein_coding -42379,Crhbp,ENSMUSG00000021680,protein_coding -42377,Aggf1,ENSMUSG00000021681,protein_coding -42372,Pde8b,ENSMUSG00000021684,protein_coding -42367,Otp,ENSMUSG00000021685,protein_coding -42358,Ap3b1,ENSMUSG00000021686,protein_coding -42353,Scamp1,ENSMUSG00000021687,protein_coding -42334,Jmy,ENSMUSG00000021690,protein_coding -42589,Dimt1,ENSMUSG00000021692,protein_coding -42590,Kif2a,ENSMUSG00000021693,protein_coding -42607,Ercc8,ENSMUSG00000021694,protein_coding -42608,Elovl7,ENSMUSG00000021696,protein_coding -42613,Depdc1b,ENSMUSG00000021697,protein_coding -42614,Pde4d,ENSMUSG00000021699,protein_coding -42620,Rab3c,ENSMUSG00000021700,protein_coding -42623,Plk2,ENSMUSG00000021701,protein_coding -42321,Thbs4,ENSMUSG00000021702,protein_coding -42319,Serinc5,ENSMUSG00000021703,protein_coding -42322,Mtx3,ENSMUSG00000021704,protein_coding -42317,Zfyve16,ENSMUSG00000021706,protein_coding -42313,Dhfr,ENSMUSG00000021707,protein_coding -42310,Rasgrf2,ENSMUSG00000021708,protein_coding -42553,Erbin,ENSMUSG00000021709,protein_coding -42556,Nln,ENSMUSG00000021710,protein_coding -42558,Trappc13,ENSMUSG00000021711,protein_coding -42559,Trim23,ENSMUSG00000021712,protein_coding -42560,Ppwd1,ENSMUSG00000021713,protein_coding -42561,Cenpk,ENSMUSG00000021714,protein_coding -42563,Cwc27,ENSMUSG00000021715,protein_coding -42565,Srek1ip1,ENSMUSG00000021716,protein_coding -42569,4933425L06Rik,ENSMUSG00000021718,protein_coding -42568,Rgs7bp,ENSMUSG00000021719,protein_coding -42570,Rnf180,ENSMUSG00000021720,protein_coding -42572,Htr1a,ENSMUSG00000021721,protein_coding -42743,Parp8,ENSMUSG00000021725,protein_coding -42748,Emb,ENSMUSG00000021728,protein_coding -42752,Hcn1,ENSMUSG00000021730,protein_coding -42756,Mrps30,ENSMUSG00000021731,protein_coding -42764,Fgf10,ENSMUSG00000021732,protein_coding -32182,Slc4a7,ENSMUSG00000021733,protein_coding -32162,Psmd6,ENSMUSG00000021737,protein_coding -32161,Atxn7,ENSMUSG00000021738,protein_coding -32139,Fezf2,ENSMUSG00000021743,protein_coding -32129,Ptprg,ENSMUSG00000021745,protein_coding -32102,4930452B06Rik,ENSMUSG00000021747,protein_coding -32095,Pdhb,ENSMUSG00000021748,protein_coding -32099,Oit1,ENSMUSG00000021749,protein_coding -32098,Fam107a,ENSMUSG00000021750,protein_coding -32097,Acox2,ENSMUSG00000021751,protein_coding -32096,Kctd6,ENSMUSG00000021752,protein_coding -42647,Map3k1,ENSMUSG00000021754,protein_coding -42665,Il6st,ENSMUSG00000021756,protein_coding -42668,Ddx4,ENSMUSG00000021758,protein_coding -42673,Plpp1,ENSMUSG00000021759,protein_coding -42685,Gpx8,ENSMUSG00000021760,protein_coding -42693,BC067074,ENSMUSG00000021763,protein_coding -42713,Ndufs4,ENSMUSG00000021764,protein_coding -42716,Fst,ENSMUSG00000021765,protein_coding -32316,Kat6b,ENSMUSG00000021767,protein_coding -32318,Dusp13,ENSMUSG00000021768,protein_coding -32320,Samd8,ENSMUSG00000021770,protein_coding -32322,Vdac2,ENSMUSG00000021771,protein_coding -32230,Nkiras1,ENSMUSG00000021772,protein_coding -32323,Comtd1,ENSMUSG00000021773,protein_coding -32231,Ube2e1,ENSMUSG00000021774,protein_coding -32227,Nr1d2,ENSMUSG00000021775,protein_coding -32218,Thrb,ENSMUSG00000021779,protein_coding -32345,Dlg5,ENSMUSG00000021782,protein_coding -32206,Ngly1,ENSMUSG00000021785,protein_coding -32204,Oxsm,ENSMUSG00000021786,protein_coding -32665,Sftpa1,ENSMUSG00000021789,protein_coding -32663,Dydc1,ENSMUSG00000021790,protein_coding -32661,Dydc2,ENSMUSG00000021791,protein_coding -32660,Prxl2a,ENSMUSG00000021792,protein_coding -32588,Glud1,ENSMUSG00000021794,protein_coding -32668,Sftpd,ENSMUSG00000021795,protein_coding -32593,Bmpr1a,ENSMUSG00000021796,protein_coding -32595,9230112D13Rik,ENSMUSG00000021797,protein_coding -32597,Ldb3,ENSMUSG00000021798,protein_coding -32598,Opn4,ENSMUSG00000021799,protein_coding -32628,Cdhr1,ENSMUSG00000021803,protein_coding -32625,Rgr,ENSMUSG00000021804,protein_coding -32269,Nid2,ENSMUSG00000021806,protein_coding -32270,Rtraf,ENSMUSG00000021807,protein_coding -32282,Nudt13,ENSMUSG00000021809,protein_coding -32283,Ecd,ENSMUSG00000021810,protein_coding -32286,Dnajc9,ENSMUSG00000021811,protein_coding -32290,Anxa7,ENSMUSG00000021814,protein_coding -32291,Mss51,ENSMUSG00000021815,protein_coding -32292,Ppp3cb,ENSMUSG00000021816,protein_coding -32304,Zswim8,ENSMUSG00000021819,protein_coding -32306,Camk2g,ENSMUSG00000021820,protein_coding -32308,Plau,ENSMUSG00000021822,protein_coding -32310,Vcl,ENSMUSG00000021823,protein_coding -32311,Ap3m1,ENSMUSG00000021824,protein_coding -32878,Txndc16,ENSMUSG00000021830,protein_coding -32882,Ero1l,ENSMUSG00000021831,protein_coding -32883,Psmc6,ENSMUSG00000021832,protein_coding -32912,Bmp4,ENSMUSG00000021835,protein_coding -32936,Samd4,ENSMUSG00000021838,protein_coding -32954,Mapk1ip1l,ENSMUSG00000021840,protein_coding -32967,Ktn1,ENSMUSG00000021843,protein_coding -32978,Peli2,ENSMUSG00000021846,protein_coding -32995,Otx2,ENSMUSG00000021848,protein_coding -33015,ccdc198,ENSMUSG00000021850,protein_coding -33017,Slc35f4,ENSMUSG00000021852,protein_coding -32380,Anxa11,ENSMUSG00000021866,protein_coding -32396,Tmem254b,ENSMUSG00000021867,protein_coding -32374,Ppif,ENSMUSG00000021868,protein_coding -32404,Slmap,ENSMUSG00000021870,protein_coding -33077,Gm49342,ENSMUSG00000021871,protein_coding -33082,Rnase10,ENSMUSG00000021872,protein_coding -33087,Rnase4,ENSMUSG00000021876,protein_coding -32411,Arf4,ENSMUSG00000021877,protein_coding -32415,Dnah12,ENSMUSG00000021879,protein_coding -33090,Rnase6,ENSMUSG00000021880,protein_coding -32510,Hacl1,ENSMUSG00000021884,protein_coding -44458,Gpr65,ENSMUSG00000021886,protein_coding -32505,Eaf1,ENSMUSG00000021890,protein_coding -32504,Mettl6,ENSMUSG00000021891,protein_coding -32502,Sh3bp5,ENSMUSG00000021892,protein_coding -32501,Capn7,ENSMUSG00000021893,protein_coding -32421,Arhgef3,ENSMUSG00000021895,protein_coding -32416,Asb14,ENSMUSG00000021898,protein_coding -32511,Btd,ENSMUSG00000021900,protein_coding -32496,Bap1,ENSMUSG00000021901,protein_coding -32495,Phf7,ENSMUSG00000021902,protein_coding -32519,Galnt15,ENSMUSG00000021903,protein_coding -32494,Sema3g,ENSMUSG00000021904,protein_coding -32521,Dph3,ENSMUSG00000021905,protein_coding -32522,Oxnad1,ENSMUSG00000021906,protein_coding -32523,Msmb,ENSMUSG00000021907,protein_coding -32492,Nisch,ENSMUSG00000021910,protein_coding -32528,Parg,ENSMUSG00000021911,protein_coding -32534,Ogdhl,ENSMUSG00000021913,protein_coding -32481,Glt8d1,ENSMUSG00000021916,protein_coding -32480,Spcs1,ENSMUSG00000021917,protein_coding -32479,Nek4,ENSMUSG00000021918,protein_coding -32536,Chat,ENSMUSG00000021919,protein_coding -32476,Itih4,ENSMUSG00000021922,protein_coding -33641,Ebpl,ENSMUSG00000021928,protein_coding -33643,Kpna3,ENSMUSG00000021929,protein_coding -33647,Spryd7,ENSMUSG00000021930,protein_coding -33670,Rnaseh2b,ENSMUSG00000021932,protein_coding -33671,Gucy1b2,ENSMUSG00000021933,protein_coding -32556,Mapk8,ENSMUSG00000021936,protein_coding -33548,Pspc1,ENSMUSG00000021938,protein_coding -33699,Ctsb,ENSMUSG00000021939,protein_coding -32560,Ptpn20,ENSMUSG00000021940,protein_coding -32564,Gdf10,ENSMUSG00000021943,protein_coding -33702,Gata4,ENSMUSG00000021944,protein_coding -33557,Zmym2,ENSMUSG00000021945,protein_coding -33565,Cryl1,ENSMUSG00000021947,protein_coding -32468,Prkcd,ENSMUSG00000021948,protein_coding -32573,Anxa8,ENSMUSG00000021950,protein_coding -33573,Eef1akmt1,ENSMUSG00000021951,protein_coding -33575,Xpo4,ENSMUSG00000021952,protein_coding -33709,Tdh,ENSMUSG00000021953,protein_coding -32466,Tkt,ENSMUSG00000021957,protein_coding -33715,Pinx1,ENSMUSG00000021958,protein_coding -33577,Lats2,ENSMUSG00000021959,protein_coding -33717,4930578I06Rik,ENSMUSG00000021961,protein_coding -32465,Dcp1a,ENSMUSG00000021962,protein_coding -33580,Sap18,ENSMUSG00000021963,protein_coding -33582,Ska3,ENSMUSG00000021965,protein_coding -33722,Prss52,ENSMUSG00000021966,protein_coding -33583,Mrpl57,ENSMUSG00000021967,protein_coding -33585,Zdhhc20,ENSMUSG00000021969,protein_coding -33732,Hmbox1,ENSMUSG00000021972,protein_coding -33586,Micu2,ENSMUSG00000021973,protein_coding -33589,Fgf9,ENSMUSG00000021974,protein_coding -33736,Ints9,ENSMUSG00000021975,protein_coding -33600,1700129C05Rik,ENSMUSG00000021977,protein_coding -33737,Extl3,ENSMUSG00000021978,protein_coding -33610,Cab39l,ENSMUSG00000021981,protein_coding -33611,Cdadc1,ENSMUSG00000021982,protein_coding -33614,Atp8a2,ENSMUSG00000021983,protein_coding -33625,Amer2,ENSMUSG00000021986,protein_coding -33624,Mtmr6,ENSMUSG00000021987,protein_coding -33629,Spata13,ENSMUSG00000021990,protein_coding -32439,Cacna2d3,ENSMUSG00000021991,protein_coding -33632,Mipep,ENSMUSG00000021993,protein_coding -32434,Wnt5a,ENSMUSG00000021994,protein_coding -33927,Esd,ENSMUSG00000021996,protein_coding -33932,Lrrc63,ENSMUSG00000021997,protein_coding -33933,Lcp1,ENSMUSG00000021998,protein_coding -33936,Cpb2,ENSMUSG00000021999,protein_coding -33939,Zc3h13,ENSMUSG00000022000,protein_coding -33943,Erich6b,ENSMUSG00000022002,protein_coding -33947,Slc25a30,ENSMUSG00000022003,protein_coding -33955,Gpalpp1,ENSMUSG00000022008,protein_coding -33956,Nufip1,ENSMUSG00000022009,protein_coding -33959,Tsc22d1,ENSMUSG00000022010,protein_coding -33972,Enox1,ENSMUSG00000022012,protein_coding -33982,Dnajc15,ENSMUSG00000022013,protein_coding -33983,Epsti1,ENSMUSG00000022014,protein_coding -33991,Tnfsf11,ENSMUSG00000022015,protein_coding -33994,Akap11,ENSMUSG00000022016,protein_coding -34011,Rgcc,ENSMUSG00000022018,protein_coding -34082,Tdrd3,ENSMUSG00000022019,protein_coding -34012,Naa16,ENSMUSG00000022020,protein_coding -34076,Diaph3,ENSMUSG00000022021,protein_coding -34013,Mtrf1,ENSMUSG00000022022,protein_coding -34016,Wbp4,ENSMUSG00000022023,protein_coding -34019,Sugt1,ENSMUSG00000022024,protein_coding -34020,Cnmd,ENSMUSG00000022025,protein_coding -34030,Olfm4,ENSMUSG00000022026,protein_coding -33749,Elp3,ENSMUSG00000022031,protein_coding -33751,Scara5,ENSMUSG00000022032,protein_coding -33752,Pbk,ENSMUSG00000022033,protein_coding -33753,Esco2,ENSMUSG00000022034,protein_coding -33754,Ccdc25,ENSMUSG00000022035,protein_coding -33757,Clu,ENSMUSG00000022037,protein_coding -33759,Adam2,ENSMUSG00000022039,protein_coding -33761,Ephx2,ENSMUSG00000022040,protein_coding -33762,Chrna2,ENSMUSG00000022041,protein_coding -33765,Trim35,ENSMUSG00000022043,protein_coding -33767,Stmn4,ENSMUSG00000022044,protein_coding -33772,Dpysl2,ENSMUSG00000022048,protein_coding -33778,Bnip3l,ENSMUSG00000022051,protein_coding -33779,Ppp2r2a,ENSMUSG00000022052,protein_coding -33783,Ebf2,ENSMUSG00000022053,protein_coding -33799,Nefm,ENSMUSG00000022054,protein_coding -33800,Nefl,ENSMUSG00000022055,protein_coding -33805,Adam7,ENSMUSG00000022056,protein_coding -33806,Adamdec1,ENSMUSG00000022057,protein_coding -33815,Nkx3-1,ENSMUSG00000022061,protein_coding -34171,Pibf1,ENSMUSG00000022064,protein_coding -33834,Entpd4b,ENSMUSG00000022066,protein_coding -34169,Bora,ENSMUSG00000022070,protein_coding -33844,Tnfrsf10b,ENSMUSG00000022074,protein_coding -33845,Rhobtb2,ENSMUSG00000022075,protein_coding -34143,Klhl1,ENSMUSG00000022076,protein_coding -33846,Pebp4,ENSMUSG00000022085,protein_coding -33849,Bin3,ENSMUSG00000022089,protein_coding -33852,Pdlim2,ENSMUSG00000022090,protein_coding -33853,Sorbs3,ENSMUSG00000022091,protein_coding -33855,Ppp3cc,ENSMUSG00000022092,protein_coding -33859,Slc39a14,ENSMUSG00000022094,protein_coding -33873,Fam160b2,ENSMUSG00000022095,protein_coding -33871,Hr,ENSMUSG00000022096,protein_coding -33868,Sftpc,ENSMUSG00000022097,protein_coding -33867,Bmp1,ENSMUSG00000022098,protein_coding -33874,Dmtn,ENSMUSG00000022099,protein_coding -33877,Xpo7,ENSMUSG00000022100,protein_coding -33875,Fgf17,ENSMUSG00000022101,protein_coding -33879,Dok2,ENSMUSG00000022102,protein_coding -33881,Gfra2,ENSMUSG00000022103,protein_coding -33902,Rb1,ENSMUSG00000022105,protein_coding -33900,Rcbtb2,ENSMUSG00000022106,protein_coding -33906,Itm2b,ENSMUSG00000022108,protein_coding -33908,Med4,ENSMUSG00000022109,protein_coding -33910,Sucla2,ENSMUSG00000022110,protein_coding -34205,Uchl3,ENSMUSG00000022111,protein_coding -34329,Gpc5,ENSMUSG00000022112,protein_coding -34264,Trim52,ENSMUSG00000022113,protein_coding -34261,Spry2,ENSMUSG00000022114,protein_coding -34244,Rbm26,ENSMUSG00000022119,protein_coding -34237,Rnf219,ENSMUSG00000022120,protein_coding -34232,Ednrb,ENSMUSG00000022122,protein_coding -34228,Scel,ENSMUSG00000022123,protein_coding -34223,Fbxl3,ENSMUSG00000022124,protein_coding -34222,Cln5,ENSMUSG00000022125,protein_coding -34221,Acod1,ENSMUSG00000022126,protein_coding -34336,Dct,ENSMUSG00000022129,protein_coding -34339,Tgds,ENSMUSG00000022130,protein_coding -34340,Gpr180,ENSMUSG00000022131,protein_coding -34357,Cldn10,ENSMUSG00000022132,protein_coding -34361,Dnajc3,ENSMUSG00000022136,protein_coding -34375,Mbnl2,ENSMUSG00000022139,protein_coding -45367,Nipbl,ENSMUSG00000022141,protein_coding -45364,Nup155,ENSMUSG00000022142,protein_coding -45360,Gdnf,ENSMUSG00000022144,protein_coding -45350,Osmr,ENSMUSG00000022146,protein_coding -45346,Fyb,ENSMUSG00000022148,protein_coding -45344,C9,ENSMUSG00000022149,protein_coding -45341,Dab2,ENSMUSG00000022150,protein_coding -45327,Ttc33,ENSMUSG00000022151,protein_coding -45317,Mroh2b,ENSMUSG00000022155,protein_coding -33523,Gzme,ENSMUSG00000022156,protein_coding -33520,Mcpt8,ENSMUSG00000022157,protein_coding -33154,Rab2b,ENSMUSG00000022159,protein_coding -33157,Mettl3,ENSMUSG00000022160,protein_coding -33394,Dad1,ENSMUSG00000022174,protein_coding -33408,Lrp10,ENSMUSG00000022175,protein_coding -33409,Rem2,ENSMUSG00000022176,protein_coding -33411,Haus4,ENSMUSG00000022177,protein_coding -33412,Ajuba,ENSMUSG00000022178,protein_coding -33414,4931414P19Rik,ENSMUSG00000022179,protein_coding -33426,Slc7a8,ENSMUSG00000022180,protein_coding -45313,C6,ENSMUSG00000022181,protein_coding -45304,Fbxo4,ENSMUSG00000022184,protein_coding -33420,Acin1,ENSMUSG00000022185,protein_coding -45309,Oxct1,ENSMUSG00000022186,protein_coding -45442,Drosha,ENSMUSG00000022191,protein_coding -33415,Psmb5,ENSMUSG00000022193,protein_coding -33434,Pabpn1,ENSMUSG00000022194,protein_coding -45441,6030458C11Rik,ENSMUSG00000022195,protein_coding -45433,Pdzd2,ENSMUSG00000022197,protein_coding -33435,Slc22a17,ENSMUSG00000022199,protein_coding -45432,Golph3,ENSMUSG00000022200,protein_coding -45423,Zfr,ENSMUSG00000022201,protein_coding -33436,Efs,ENSMUSG00000022203,protein_coding -33448,Ngdn,ENSMUSG00000022204,protein_coding -45420,Sub1,ENSMUSG00000022205,protein_coding -45416,Npr3,ENSMUSG00000022206,protein_coding -33455,Jph4,ENSMUSG00000022208,protein_coding -33459,Dhrs2,ENSMUSG00000022209,protein_coding -33465,Dhrs4,ENSMUSG00000022210,protein_coding -33466,Carmil3,ENSMUSG00000022211,protein_coding -33467,Cpne6,ENSMUSG00000022212,protein_coding -33473,Dcaf11,ENSMUSG00000022214,protein_coding -33475,Fitm1,ENSMUSG00000022215,protein_coding -33476,Psme1,ENSMUSG00000022216,protein_coding -33477,Emc9,ENSMUSG00000022217,protein_coding -33494,Tgm1,ENSMUSG00000022218,protein_coding -33498,Cideb,ENSMUSG00000022219,protein_coding -33501,Adcy4,ENSMUSG00000022220,protein_coding -33502,Ripk3,ENSMUSG00000022221,protein_coding -33508,Sdr39u1,ENSMUSG00000022223,protein_coding -33510,Cma1,ENSMUSG00000022225,protein_coding -33518,Mcpt2,ENSMUSG00000022226,protein_coding -33516,Mcpt1,ENSMUSG00000022227,protein_coding -40667,Zscan26,ENSMUSG00000022228,protein_coding -33537,Atp12a,ENSMUSG00000022229,protein_coding -45621,Sema5a,ENSMUSG00000022231,protein_coding -45611,Cct5,ENSMUSG00000022234,protein_coding -45610,Cmbl,ENSMUSG00000022235,protein_coding -45603,Ropn1l,ENSMUSG00000022236,protein_coding -45601,Ankrd33b,ENSMUSG00000022237,protein_coding -45590,Ctnnd2,ENSMUSG00000022240,protein_coding -45412,Tars,ENSMUSG00000022241,protein_coding -45408,Slc45a2,ENSMUSG00000022243,protein_coding -45407,Amacr,ENSMUSG00000022244,protein_coding -35829,Skor1,ENSMUSG00000022245,protein_coding -45400,Rai14,ENSMUSG00000022246,protein_coding -45395,Brix1,ENSMUSG00000022247,protein_coding -45396,Rad1,ENSMUSG00000022248,protein_coding -45397,Ttc23l,ENSMUSG00000022249,protein_coding -45379,Nadk2,ENSMUSG00000022253,protein_coding -45637,Mtdh,ENSMUSG00000022255,protein_coding -45640,Laptm4b,ENSMUSG00000022257,protein_coding -45625,Sdc2,ENSMUSG00000022261,protein_coding -45578,Dnah5,ENSMUSG00000022262,protein_coding -45570,Trio,ENSMUSG00000022263,protein_coding -45563,Ank,ENSMUSG00000022265,protein_coding -45551,March11,ENSMUSG00000022269,protein_coding -45547,Retreg1,ENSMUSG00000022270,protein_coding -45543,Myo10,ENSMUSG00000022272,protein_coding -45683,Rnf19a,ENSMUSG00000022280,protein_coding -45695,Pabpc1,ENSMUSG00000022283,protein_coding -45701,Ywhaz,ENSMUSG00000022285,protein_coding -45712,Grhl2,ENSMUSG00000022286,protein_coding -45720,4930447A16Rik,ENSMUSG00000022288,protein_coding -45729,Rrm2b,ENSMUSG00000022292,protein_coding -45755,Atp6v1c1,ENSMUSG00000022295,protein_coding -45758,Baalc,ENSMUSG00000022296,protein_coding -45761,Fzd6,ENSMUSG00000022297,protein_coding -45766,Slc25a32,ENSMUSG00000022299,protein_coding -45767,Dcaf13,ENSMUSG00000022300,protein_coding -45772,Dcstamp,ENSMUSG00000022303,protein_coding -45773,Dpys,ENSMUSG00000022304,protein_coding -45775,Lrp12,ENSMUSG00000022305,protein_coding -45787,Zfpm2,ENSMUSG00000022306,protein_coding -45793,Oxr1,ENSMUSG00000022307,protein_coding -45807,Angpt1,ENSMUSG00000022309,protein_coding -45848,Csmd3,ENSMUSG00000022311,protein_coding -45866,Eif3h,ENSMUSG00000022312,protein_coding -45867,Utp23,ENSMUSG00000022313,protein_coding -45870,Rad21,ENSMUSG00000022314,protein_coding -45876,Slc30a8,ENSMUSG00000022315,protein_coding -45482,Cdh10,ENSMUSG00000022321,protein_coding -29446,Shcbp1,ENSMUSG00000022322,protein_coding -45650,Rida,ENSMUSG00000022323,protein_coding -45643,Matn2,ENSMUSG00000022324,protein_coding -45651,Pop1,ENSMUSG00000022325,protein_coding -45658,Stk3,ENSMUSG00000022329,protein_coding -45660,Osr2,ENSMUSG00000022330,protein_coding -46091,Khdrbs3,ENSMUSG00000022332,protein_coding -46077,Zfat,ENSMUSG00000022335,protein_coding -45812,Eif3e,ENSMUSG00000022336,protein_coding -45815,Emc2,ENSMUSG00000022337,protein_coding -45824,Eny2,ENSMUSG00000022338,protein_coding -45827,Ebag9,ENSMUSG00000022339,protein_coding -45828,Sybu,ENSMUSG00000022340,protein_coding -45834,Kcnv1,ENSMUSG00000022342,protein_coding -46005,Myc,ENSMUSG00000022346,protein_coding -45994,A1bg,ENSMUSG00000022347,protein_coding -45972,Washc5,ENSMUSG00000022350,protein_coding -45971,Sqle,ENSMUSG00000022351,protein_coding -45965,Mtss1,ENSMUSG00000022353,protein_coding -45964,Ndufb9,ENSMUSG00000022354,protein_coding -45950,Klhl38,ENSMUSG00000022357,protein_coding -45948,Fbxo32,ENSMUSG00000022358,protein_coding -45945,Wdyhv1,ENSMUSG00000022359,protein_coding -45944,Atad2,ENSMUSG00000022360,protein_coding -45943,Zhx1,ENSMUSG00000022361,protein_coding -45941,Gm29394,ENSMUSG00000022362,protein_coding -45938,Tbc1d31,ENSMUSG00000022364,protein_coding -45937,Derl1,ENSMUSG00000022365,protein_coding -45930,Slc22a22,ENSMUSG00000022366,protein_coding -45925,Has2,ENSMUSG00000022367,protein_coding -45915,Mtbp,ENSMUSG00000022369,protein_coding -45914,Mrpl13,ENSMUSG00000022370,protein_coding -45910,Col14a1,ENSMUSG00000022371,protein_coding -46067,Sla,ENSMUSG00000022372,protein_coding -46062,Lrrc6,ENSMUSG00000022375,protein_coding -46043,Adcy8,ENSMUSG00000022376,protein_coding -46037,Asap1,ENSMUSG00000022377,protein_coding -46035,Fam49b,ENSMUSG00000022378,protein_coding -46639,Wnt7b,ENSMUSG00000022382,protein_coding -46645,Ppara,ENSMUSG00000022383,protein_coding -46649,Gtse1,ENSMUSG00000022385,protein_coding -46651,Trmu,ENSMUSG00000022386,protein_coding -46679,Brd1,ENSMUSG00000022387,protein_coding -46686,Ttll8,ENSMUSG00000022388,protein_coding -46493,Tef,ENSMUSG00000022389,protein_coding -46491,Zc3h7b,ENSMUSG00000022390,protein_coding -46490,Rangap1,ENSMUSG00000022391,protein_coding -46487,L3mbtl2,ENSMUSG00000022394,protein_coding -46479,Rbx1,ENSMUSG00000022400,protein_coding -46476,Xpnpep3,ENSMUSG00000022401,protein_coding -46475,St13,ENSMUSG00000022403,protein_coding -46474,Slc25a17,ENSMUSG00000022404,protein_coding -46463,Adsl,ENSMUSG00000022407,protein_coding -46458,Fam83f,ENSMUSG00000022408,protein_coding -46446,Mief1,ENSMUSG00000022412,protein_coding -46442,Tab1,ENSMUSG00000022414,protein_coding -46441,Syngr1,ENSMUSG00000022415,protein_coding -46450,Cacna1i,ENSMUSG00000022416,protein_coding -45908,Deptor,ENSMUSG00000022419,protein_coding -46424,Dnal4,ENSMUSG00000022420,protein_coding -46425,Nptxr,ENSMUSG00000022421,protein_coding -45905,Dscc1,ENSMUSG00000022422,protein_coding -45900,Enpp2,ENSMUSG00000022425,protein_coding -46416,Josd1,ENSMUSG00000022426,protein_coding -46415,Tomm22,ENSMUSG00000022427,protein_coding -46414,Cby1,ENSMUSG00000022428,protein_coding -46411,Dmc1,ENSMUSG00000022429,protein_coding -46632,Ribc2,ENSMUSG00000022431,protein_coding -46630,Smc1b,ENSMUSG00000022432,protein_coding -46403,Csnk1e,ENSMUSG00000022433,protein_coding -46629,Fam118a,ENSMUSG00000022434,protein_coding -46628,Upk3a,ENSMUSG00000022435,protein_coding -46369,Sh3bp1,ENSMUSG00000022436,protein_coding -46608,Samm50,ENSMUSG00000022437,protein_coding -46609,Parvb,ENSMUSG00000022438,protein_coding -46611,Parvg,ENSMUSG00000022439,protein_coding -46351,C1qtnf6,ENSMUSG00000022440,protein_coding -46598,Efcab6,ENSMUSG00000022441,protein_coding -46589,Ttll1,ENSMUSG00000022442,protein_coding -46326,Myh9,ENSMUSG00000022443,protein_coding -46567,Cyp2d26,ENSMUSG00000022445,protein_coding -46785,Adamts20,ENSMUSG00000022449,protein_coding -46528,Ndufa6,ENSMUSG00000022450,protein_coding -46788,Twf1,ENSMUSG00000022451,protein_coding -46526,Smdt1,ENSMUSG00000022452,protein_coding -46524,Naga,ENSMUSG00000022453,protein_coding -46792,Nell2,ENSMUSG00000022454,protein_coding -46523,Wbp2nl,ENSMUSG00000022455,protein_coding -46522,Sept3,ENSMUSG00000022456,protein_coding -46816,Slc38a2,ENSMUSG00000022462,protein_coding -46514,Srebf2,ENSMUSG00000022463,protein_coding -46820,Slc38a4,ENSMUSG00000022464,protein_coding -46826,Rpap3,ENSMUSG00000022466,protein_coding -46827,Endou,ENSMUSG00000022468,protein_coding -46828,Rapgef3,ENSMUSG00000022469,protein_coding -46505,Xrcc6,ENSMUSG00000022471,protein_coding -46506,Desi1,ENSMUSG00000022472,protein_coding -46501,Pmm1,ENSMUSG00000022474,protein_coding -46832,Hdac7,ENSMUSG00000022475,protein_coding -46499,Polr3h,ENSMUSG00000022476,protein_coding -46498,Aco2,ENSMUSG00000022477,protein_coding -46833,Vdr,ENSMUSG00000022479,protein_coding -46836,Col2a1,ENSMUSG00000022483,protein_coding -47103,Hoxc10,ENSMUSG00000022484,protein_coding -47104,Hoxc5,ENSMUSG00000022485,protein_coding -47129,Gtsf1,ENSMUSG00000022487,protein_coding -47131,Nckap1l,ENSMUSG00000022488,protein_coding -47132,Pde1b,ENSMUSG00000022489,protein_coding -47133,Ppp1r1a,ENSMUSG00000022490,protein_coding -47134,Glycam1,ENSMUSG00000022491,protein_coding -47321,Shisa9,ENSMUSG00000022494,protein_coding -47314,Tnfrsf17,ENSMUSG00000022496,protein_coding -47303,Txndc11,ENSMUSG00000022498,protein_coding -47295,Litaf,ENSMUSG00000022500,protein_coding -47287,Prm1,ENSMUSG00000022501,protein_coding -47277,Nubp1,ENSMUSG00000022503,protein_coding -47279,Ciita,ENSMUSG00000022504,protein_coding -47274,Emp2,ENSMUSG00000022505,protein_coding -47256,1810013L24Rik,ENSMUSG00000022507,protein_coding -47686,Bcl6,ENSMUSG00000022508,protein_coding -47704,Trp63,ENSMUSG00000022510,protein_coding -47710,Cldn1,ENSMUSG00000022512,protein_coding -47713,Il1rap,ENSMUSG00000022514,protein_coding -47213,Anks3,ENSMUSG00000022515,protein_coding -47212,Nudt16l1,ENSMUSG00000022516,protein_coding -47210,Mgrn1,ENSMUSG00000022517,protein_coding -47208,4930562C15Rik,ENSMUSG00000022518,protein_coding -47195,Srl,ENSMUSG00000022519,protein_coding -47190,Crebbp,ENSMUSG00000022521,protein_coding -47724,Fgf12,ENSMUSG00000022523,protein_coding -47728,Hrasls,ENSMUSG00000022525,protein_coding -46282,Zfp251,ENSMUSG00000022526,protein_coding -47740,Hes1,ENSMUSG00000022528,protein_coding -47167,Zfp263,ENSMUSG00000022529,protein_coding -47750,Atp13a3,ENSMUSG00000022533,protein_coding -47165,Mefv,ENSMUSG00000022534,protein_coding -47219,Glyr1,ENSMUSG00000022536,protein_coding -47752,Tmem44,ENSMUSG00000022537,protein_coding -47753,Lsg1,ENSMUSG00000022538,protein_coding -47218,Rogdi,ENSMUSG00000022540,protein_coding -47215,Sept12,ENSMUSG00000022542,protein_coding -47230,Eef2kmt,ENSMUSG00000022544,protein_coding -47330,Ercc4,ENSMUSG00000022545,protein_coding -46274,Gpt,ENSMUSG00000022546,protein_coding -47771,Apod,ENSMUSG00000022548,protein_coding -46263,Adck5,ENSMUSG00000022550,protein_coding -46246,Cyc1,ENSMUSG00000022551,protein_coding -46247,Sharpin,ENSMUSG00000022552,protein_coding -46248,Maf1,ENSMUSG00000022553,protein_coding -46250,Hgh1,ENSMUSG00000022554,protein_coding -46257,Dgat1,ENSMUSG00000022555,protein_coding -46256,Hsf1,ENSMUSG00000022556,protein_coding -46254,Bop1,ENSMUSG00000022557,protein_coding -46252,Mroh1,ENSMUSG00000022558,protein_coding -46261,Fbxl6,ENSMUSG00000022559,protein_coding -46262,Slc52a2,ENSMUSG00000022560,protein_coding -46244,Gpaa1,ENSMUSG00000022561,protein_coding -46242,Oplah,ENSMUSG00000022562,protein_coding -46235,Grina,ENSMUSG00000022564,protein_coding -46231,Plec,ENSMUSG00000022565,protein_coding -46222,Scrib,ENSMUSG00000022568,protein_coding -46213,Tsta3,ENSMUSG00000022570,protein_coding -46212,Pycrl,ENSMUSG00000022571,protein_coding -46209,Naprt,ENSMUSG00000022574,protein_coding -46207,Gsdmd,ENSMUSG00000022575,protein_coding -46195,Ly6h,ENSMUSG00000022577,protein_coding -46196,Gpihbp1,ENSMUSG00000022579,protein_coding -46202,Rhpn1,ENSMUSG00000022580,protein_coding -46178,Ly6g,ENSMUSG00000022582,protein_coding -46183,Ly6f,ENSMUSG00000022583,protein_coding -46176,Ly6c2,ENSMUSG00000022584,protein_coding -46167,Ly6i,ENSMUSG00000022586,protein_coding -46166,Ly6e,ENSMUSG00000022587,protein_coding -46161,Cyp11b2,ENSMUSG00000022589,protein_coding -1345,Gm9747,ENSMUSG00000022591,protein_coding -46153,Lynx1,ENSMUSG00000022594,protein_coding -46151,Lypd2,ENSMUSG00000022595,protein_coding -46150,Slurp1,ENSMUSG00000022596,protein_coding -46147,Psca,ENSMUSG00000022598,protein_coding -48163,Zbtb11,ENSMUSG00000022601,protein_coding -46144,Arc,ENSMUSG00000022602,protein_coding -46143,Mroh4,ENSMUSG00000022603,protein_coding -48158,Cep97,ENSMUSG00000022604,protein_coding -46121,Ptk2,ENSMUSG00000022607,protein_coding -46697,Mapk12,ENSMUSG00000022610,protein_coding -46708,Miox,ENSMUSG00000022613,protein_coding -46709,Lmf2,ENSMUSG00000022614,protein_coding -46712,Tymp,ENSMUSG00000022615,protein_coding -46718,Chkb,ENSMUSG00000022617,protein_coding -46720,Mapk8ip2,ENSMUSG00000022619,protein_coding -46721,Arsa,ENSMUSG00000022620,protein_coding -46727,Rabl2,ENSMUSG00000022621,protein_coding -46726,Acr,ENSMUSG00000022622,protein_coding -46724,Shank3,ENSMUSG00000022623,protein_coding -46744,Kif21a,ENSMUSG00000022629,protein_coding -46774,Yaf2,ENSMUSG00000022634,protein_coding -46776,Zcrb1,ENSMUSG00000022635,protein_coding -48134,Alcam,ENSMUSG00000022636,protein_coding -48132,Cblb,ENSMUSG00000022637,protein_coding -48119,Bbx,ENSMUSG00000022641,protein_coding -48103,Retnlb,ENSMUSG00000022650,protein_coding -48105,Retnlg,ENSMUSG00000022651,protein_coding -48100,Morc1,ENSMUSG00000022652,protein_coding -48082,Nectin3,ENSMUSG00000022656,protein_coding -48078,Cd96,ENSMUSG00000022657,protein_coding -48070,Tagln3,ENSMUSG00000022658,protein_coding -48066,Gcsam,ENSMUSG00000022659,protein_coding -48059,Cd200,ENSMUSG00000022661,protein_coding -48056,Atg3,ENSMUSG00000022663,protein_coding -48055,Slc35a5,ENSMUSG00000022664,protein_coding -48054,Ccdc80,ENSMUSG00000022665,protein_coding -48046,Cd200r1,ENSMUSG00000022667,protein_coding -48045,Gtpbp8,ENSMUSG00000022668,protein_coding -47387,Mzt2,ENSMUSG00000022671,protein_coding -47385,Prkdc,ENSMUSG00000022672,protein_coding -47384,Mcm4,ENSMUSG00000022673,protein_coding -47381,Ube2v2,ENSMUSG00000022674,protein_coding -47370,Snai2,ENSMUSG00000022676,protein_coding -47362,Fopnl,ENSMUSG00000022677,protein_coding -47360,Nde1,ENSMUSG00000022678,protein_coding -47349,Mpv17l,ENSMUSG00000022679,protein_coding -47348,Pdxdc1,ENSMUSG00000022680,protein_coding -47346,Ntan1,ENSMUSG00000022681,protein_coding -47345,Rrn3,ENSMUSG00000022682,protein_coding -47342,Pla2g10,ENSMUSG00000022683,protein_coding -47340,Bfar,ENSMUSG00000022684,protein_coding -47339,Parn,ENSMUSG00000022685,protein_coding -47548,B3gnt5,ENSMUSG00000022686,protein_coding -48042,Boc,ENSMUSG00000022687,protein_coding -48038,Sidt1,ENSMUSG00000022696,protein_coding -48036,Naa50,ENSMUSG00000022698,protein_coding -48031,Ccdc191,ENSMUSG00000022701,protein_coding -47512,Hira,ENSMUSG00000022702,protein_coding -48029,Qtrt2,ENSMUSG00000022704,protein_coding -48026,Drd3,ENSMUSG00000022705,protein_coding -47511,Mrpl40,ENSMUSG00000022706,protein_coding -48327,Gbe1,ENSMUSG00000022707,protein_coding -48013,Zbtb20,ENSMUSG00000022708,protein_coding -47254,Usp7,ENSMUSG00000022710,protein_coding -47251,Pmm2,ENSMUSG00000022711,protein_coding -47242,Tmem114,ENSMUSG00000022715,protein_coding -47486,Dgcr8,ENSMUSG00000022718,protein_coding -47485,Trmt2a,ENSMUSG00000022721,protein_coding -48253,Arl6,ENSMUSG00000022722,protein_coding -48252,Crybg3,ENSMUSG00000022723,protein_coding -48251,Riox2,ENSMUSG00000022724,protein_coding -47469,Gsc2,ENSMUSG00000022738,protein_coding -48211,Cpox,ENSMUSG00000022742,protein_coding -48213,Cldnd1,ENSMUSG00000022744,protein_coding -48206,St3gal6,ENSMUSG00000022747,protein_coding -48190,Cmss1,ENSMUSG00000022748,protein_coding -48186,Tbc1d23,ENSMUSG00000022749,protein_coding -47459,Klhl22,ENSMUSG00000022750,protein_coding -48184,Nit2,ENSMUSG00000022751,protein_coding -48183,Tomm70a,ENSMUSG00000022752,protein_coding -48188,Tmem30c,ENSMUSG00000022753,protein_coding -48177,Tmem45a,ENSMUSG00000022754,protein_coding -48175,Adgrg7,ENSMUSG00000022755,protein_coding -47449,Slc7a4,ENSMUSG00000022756,protein_coding -48174,Tfg,ENSMUSG00000022757,protein_coding -47448,P2rx6,ENSMUSG00000022758,protein_coding -47447,Lrrc74b,ENSMUSG00000022759,protein_coding -47445,Thap7,ENSMUSG00000022760,protein_coding -47444,Lztr1,ENSMUSG00000022761,protein_coding -48436,Ncam2,ENSMUSG00000022762,protein_coding -47443,Aifm3,ENSMUSG00000022763,protein_coding -47440,Snap29,ENSMUSG00000022765,protein_coding -47438,Serpind1,ENSMUSG00000022766,protein_coding -47428,Ccdc116,ENSMUSG00000022768,protein_coding -47426,Sdf2l1,ENSMUSG00000022769,protein_coding -47782,Dlg1,ENSMUSG00000022770,protein_coding -47421,Ppil2,ENSMUSG00000022771,protein_coding -47793,Senp5,ENSMUSG00000022772,protein_coding -47419,Ypel1,ENSMUSG00000022773,protein_coding -47792,Ncbp2,ENSMUSG00000022774,protein_coding -47411,Top3b,ENSMUSG00000022779,protein_coding -47787,Meltf,ENSMUSG00000022780,protein_coding -47799,Pak2,ENSMUSG00000022781,protein_coding -47405,Spag6l,ENSMUSG00000022783,protein_coding -47808,Wdr53,ENSMUSG00000022787,protein_coding -47400,Fgd4,ENSMUSG00000022788,protein_coding -47396,Dnm1l,ENSMUSG00000022789,protein_coding -47991,Igsf11,ENSMUSG00000022790,protein_coding -47824,Tnk2,ENSMUSG00000022791,protein_coding -47395,Yars2,ENSMUSG00000022792,protein_coding -47985,B4galt4,ENSMUSG00000022793,protein_coding -47823,Tfrc,ENSMUSG00000022797,protein_coding -47988,Tex55,ENSMUSG00000022798,protein_coding -47983,Arhgap31,ENSMUSG00000022799,protein_coding -47832,Fyttd1,ENSMUSG00000022800,protein_coding -47833,Lrch3,ENSMUSG00000022801,protein_coding -47839,Lmln,ENSMUSG00000022802,protein_coding -47973,Popdc2,ENSMUSG00000022803,protein_coding -47969,Maats1,ENSMUSG00000022805,protein_coding -47843,Osbpl11,ENSMUSG00000022807,protein_coding -47844,Snx4,ENSMUSG00000022808,protein_coding -47968,Nr1i2,ENSMUSG00000022809,protein_coding -47846,Zfp148,ENSMUSG00000022811,protein_coding -47964,Gsk3b,ENSMUSG00000022812,protein_coding -47853,Umps,ENSMUSG00000022814,protein_coding -47957,Fstl1,ENSMUSG00000022816,protein_coding -47852,Itgb5,ENSMUSG00000022817,protein_coding -47560,Cyp2ab1,ENSMUSG00000022818,protein_coding -47955,Ndufb4,ENSMUSG00000022820,protein_coding -47953,Hgd,ENSMUSG00000022821,protein_coding -47561,Abcc5,ENSMUSG00000022822,protein_coding -47850,Muc13,ENSMUSG00000022824,protein_coding -47951,Rabl3,ENSMUSG00000022827,protein_coding -47950,Gtf2e1,ENSMUSG00000022828,protein_coding -47947,Stxbp5l,ENSMUSG00000022829,protein_coding -47943,Hcls1,ENSMUSG00000022831,protein_coding -47857,Ropn1,ENSMUSG00000022832,protein_coding -47858,Ccdc14,ENSMUSG00000022833,protein_coding -47859,Mylk,ENSMUSG00000022836,protein_coding -47937,Iqcb1,ENSMUSG00000022837,protein_coding -47936,Eaf2,ENSMUSG00000022838,protein_coding -47864,Adcy5,ENSMUSG00000022840,protein_coding -47568,Ap2m1,ENSMUSG00000022841,protein_coding -47582,Ece2,ENSMUSG00000022842,protein_coding -47588,Clcn2,ENSMUSG00000022843,protein_coding -47871,Pdia5,ENSMUSG00000022844,protein_coding -47590,Thpo,ENSMUSG00000022847,protein_coding -47876,Slc49a4,ENSMUSG00000022848,protein_coding -47878,Hspbap1,ENSMUSG00000022849,protein_coding -47612,Ehhadh,ENSMUSG00000022853,protein_coding -47623,Senp2,ENSMUSG00000022855,protein_coding -47621,Tmem41a,ENSMUSG00000022856,protein_coding -48426,Tmprss15,ENSMUSG00000022857,protein_coding -47630,Tra2b,ENSMUSG00000022858,protein_coding -48425,Chodl,ENSMUSG00000022860,protein_coding -47634,Dgkg,ENSMUSG00000022861,protein_coding -48415,Btg3,ENSMUSG00000022863,protein_coding -48420,D16Ertd472e,ENSMUSG00000022864,protein_coding -48414,Cxadr,ENSMUSG00000022865,protein_coding -48387,Usp25,ENSMUSG00000022867,protein_coding -47648,Ahsg,ENSMUSG00000022868,protein_coding -47649,Fetub,ENSMUSG00000022871,protein_coding -47656,Kng1,ENSMUSG00000022875,protein_coding -48372,Samsn1,ENSMUSG00000022876,protein_coding -47650,Hrg,ENSMUSG00000022877,protein_coding -47668,Adipoq,ENSMUSG00000022878,protein_coding -47665,Rfc4,ENSMUSG00000022881,protein_coding -48342,Robo1,ENSMUSG00000022883,protein_coding -47658,Eif4a2,ENSMUSG00000022884,protein_coding -47673,St6gal1,ENSMUSG00000022885,protein_coding -40956,Prl2a1,ENSMUSG00000022886,protein_coding -47677,Masp1,ENSMUSG00000022887,protein_coding -48464,Mrpl39,ENSMUSG00000022889,protein_coding -48468,Atp5j,ENSMUSG00000022890,protein_coding -48471,App,ENSMUSG00000022892,protein_coding -48480,Adamts1,ENSMUSG00000022893,protein_coding -48482,Adamts5,ENSMUSG00000022894,protein_coding -48709,Ets2,ENSMUSG00000022895,protein_coding -48696,Dyrk1a,ENSMUSG00000022897,protein_coding -48695,Vps26c,ENSMUSG00000022898,protein_coding -47933,Slc15a2,ENSMUSG00000022899,protein_coding -47931,Ildr1,ENSMUSG00000022900,protein_coding -47930,Cd86,ENSMUSG00000022901,protein_coding -47919,Stfa2,ENSMUSG00000022902,protein_coding -47888,Kpna1,ENSMUSG00000022905,protein_coding -47886,Parp9,ENSMUSG00000022906,protein_coding -48274,Arl13b,ENSMUSG00000022911,protein_coding -48277,Pros1,ENSMUSG00000022912,protein_coding -48715,Psmg1,ENSMUSG00000022913,protein_coding -48716,Brwd1,ENSMUSG00000022914,protein_coding -48528,Krtap15,ENSMUSG00000022931,protein_coding -48506,Grik1,ENSMUSG00000022935,protein_coding -48740,Fam3b,ENSMUSG00000022938,protein_coding -48690,Pigp,ENSMUSG00000022940,protein_coding -48689,Ripply3,ENSMUSG00000022941,protein_coding -48675,Chaf1b,ENSMUSG00000022945,protein_coding -48671,Dop1b,ENSMUSG00000022946,protein_coding -48670,Cbr3,ENSMUSG00000022947,protein_coding -48664,Setd4,ENSMUSG00000022948,protein_coding -48652,Clic6,ENSMUSG00000022949,protein_coding -48649,Rcan1,ENSMUSG00000022951,protein_coding -48654,Runx1,ENSMUSG00000022952,protein_coding -48629,Atp5o,ENSMUSG00000022956,protein_coding -48626,Itsn1,ENSMUSG00000022957,protein_coding -48622,Donson,ENSMUSG00000022960,protein_coding -48621,Son,ENSMUSG00000022961,protein_coding -48620,Gart,ENSMUSG00000022962,protein_coding -48617,Tmem50b,ENSMUSG00000022964,protein_coding -48616,Ifngr2,ENSMUSG00000022965,protein_coding -48612,Ifnar1,ENSMUSG00000022967,protein_coding -48607,Il10rb,ENSMUSG00000022969,protein_coding -48605,Ifnar2,ENSMUSG00000022971,protein_coding -48585,Cfap298,ENSMUSG00000022972,protein_coding -48587,Synj1,ENSMUSG00000022973,protein_coding -48591,Paxbp1,ENSMUSG00000022974,protein_coding -48577,Mis18a,ENSMUSG00000022978,protein_coding -48564,Sod1,ENSMUSG00000022982,protein_coding -48565,Scaf4,ENSMUSG00000022983,protein_coding -47022,Krt75,ENSMUSG00000022986,protein_coding -46848,Zfp641,ENSMUSG00000022987,protein_coding -46858,Lalba,ENSMUSG00000022991,protein_coding -46861,Kansl2,ENSMUSG00000022992,protein_coding -46867,4930415O20Rik,ENSMUSG00000022993,protein_coding -46868,Adcy6,ENSMUSG00000022994,protein_coding -3192,Enah,ENSMUSG00000022995,protein_coding -46877,Wnt10b,ENSMUSG00000022996,protein_coding -46878,Wnt1,ENSMUSG00000022997,protein_coding -46888,Lmbr1l,ENSMUSG00000022999,protein_coding -46886,Dhh,ENSMUSG00000023000,protein_coding -46889,Tuba1b,ENSMUSG00000023004,protein_coding -46912,Prpf40b,ENSMUSG00000023007,protein_coding -46913,Fmnl3,ENSMUSG00000023008,protein_coding -46918,Nckap5l,ENSMUSG00000023009,protein_coding -46916,Tmbim6,ENSMUSG00000023010,protein_coding -46923,Faim2,ENSMUSG00000023011,protein_coding -46925,Aqp2,ENSMUSG00000023013,protein_coding -46928,Racgap1,ENSMUSG00000023015,protein_coding -46929,Asic1,ENSMUSG00000023017,protein_coding -46930,Smarcd1,ENSMUSG00000023018,protein_coding -46935,Gpd1,ENSMUSG00000023019,protein_coding -46936,Cox14,ENSMUSG00000023020,protein_coding -46937,Cers5,ENSMUSG00000023021,protein_coding -46939,Lima1,ENSMUSG00000023022,protein_coding -46952,Larp4,ENSMUSG00000023025,protein_coding -46954,Dip2b,ENSMUSG00000023026,protein_coding -46958,Atf1,ENSMUSG00000023027,protein_coding -46966,Slc11a2,ENSMUSG00000023030,protein_coding -46982,Cela1,ENSMUSG00000023031,protein_coding -46986,Slc4a8,ENSMUSG00000023032,protein_coding -46988,Scn8a,ENSMUSG00000023033,protein_coding -46999,Nr4a1,ENSMUSG00000023034,protein_coding -53227,Pcdhgc4,ENSMUSG00000023036,protein_coding -47008,Krt7,ENSMUSG00000023039,protein_coding -47031,Krt6b,ENSMUSG00000023041,protein_coding -47053,Krt18,ENSMUSG00000023043,protein_coding -47059,Csad,ENSMUSG00000023044,protein_coding -47058,Soat2,ENSMUSG00000023045,protein_coding -47057,Igfbp6,ENSMUSG00000023046,protein_coding -47075,Amhr2,ENSMUSG00000023047,protein_coding -47078,Prr13,ENSMUSG00000023048,protein_coding -47081,Map3k12,ENSMUSG00000023050,protein_coding -47083,Tarbp2,ENSMUSG00000023051,protein_coding -47084,Npff,ENSMUSG00000023052,protein_coding -47092,Calcoco1,ENSMUSG00000023055,protein_coding -12153,Fabp2,ENSMUSG00000023057,protein_coding -32591,Sncg,ENSMUSG00000023064,protein_coding -54036,Rttn,ENSMUSG00000023066,protein_coding -49562,Cdkn1a,ENSMUSG00000023067,protein_coding -27569,Nus1,ENSMUSG00000023068,protein_coding -7573,Rgn,ENSMUSG00000023070,protein_coding -23605,Cep89,ENSMUSG00000023072,protein_coding -29454,Slc10a2,ENSMUSG00000023073,protein_coding -8019,Mospd1,ENSMUSG00000023074,protein_coding -14630,Akirin1,ENSMUSG00000023075,protein_coding -17324,Cxcl13,ENSMUSG00000023078,protein_coding -18314,Gtf2ird1,ENSMUSG00000023079,protein_coding -50005,H2-M10.2,ENSMUSG00000023083,protein_coding -11076,Lrrc71,ENSMUSG00000023084,protein_coding -10488,Noct,ENSMUSG00000023087,protein_coding -47365,Abcc1,ENSMUSG00000023088,protein_coding -19148,Ndufa5,ENSMUSG00000023089,protein_coding -8087,Fhl1,ENSMUSG00000023092,protein_coding -35053,Pate12,ENSMUSG00000023093,protein_coding -3818,Msrb2,ENSMUSG00000023094,protein_coding -18325,Rfc2,ENSMUSG00000023104,protein_coding -18108,Denr,ENSMUSG00000023106,protein_coding -33410,Prmt5,ENSMUSG00000023110,protein_coding -22777,Sympk,ENSMUSG00000023118,protein_coding -14814,Gm853,ENSMUSG00000023120,protein_coding -50456,Sult1c2,ENSMUSG00000023122,protein_coding -42687,Gzma,ENSMUSG00000023132,protein_coding -20414,Reg2,ENSMUSG00000023140,protein_coding -47224,Nagpa,ENSMUSG00000023143,protein_coding -48722,Wrb,ENSMUSG00000023147,protein_coding -2465,Ivns1abp,ENSMUSG00000023150,protein_coding -12911,Lrrc69,ENSMUSG00000023151,protein_coding -15570,Tmem52,ENSMUSG00000023153,protein_coding -32093,Rpp14,ENSMUSG00000023156,protein_coding -22707,Psg29,ENSMUSG00000023159,protein_coding -7397,Ssxb2,ENSMUSG00000023165,protein_coding -46814,Slc38a1,ENSMUSG00000023169,protein_coding -38598,Gps2,ENSMUSG00000023170,protein_coding -28115,Bsg,ENSMUSG00000023175,protein_coding -47747,Cpn2,ENSMUSG00000023176,protein_coding -22719,Ceacam14,ENSMUSG00000023185,protein_coding -35164,Vwa5a,ENSMUSG00000023186,protein_coding -21367,P3h3,ENSMUSG00000023191,protein_coding -36758,Grm2,ENSMUSG00000023192,protein_coding -3708,Il15ra,ENSMUSG00000023206,protein_coding -3999,Lcn9,ENSMUSG00000023210,protein_coding -5892,Epb42,ENSMUSG00000023216,protein_coding -5007,Serping1,ENSMUSG00000023224,protein_coding -14815,Serinc2,ENSMUSG00000023232,protein_coding -29430,Ccl25,ENSMUSG00000023235,protein_coding -5742,Scg5,ENSMUSG00000023236,protein_coding -32276,Kcnk5,ENSMUSG00000023243,protein_coding -14540,Guca2a,ENSMUSG00000023247,protein_coding -36748,Parp3,ENSMUSG00000023249,protein_coding -7531,Cypt1,ENSMUSG00000023257,protein_coding -36889,Slc26a6,ENSMUSG00000023259,protein_coding -36742,Acy1,ENSMUSG00000023262,protein_coding -14597,9530002B09Rik,ENSMUSG00000023263,protein_coding -50348,Frs3,ENSMUSG00000023266,protein_coding -13094,Gabrr2,ENSMUSG00000023267,protein_coding -46682,Creld2,ENSMUSG00000023272,protein_coding -21369,Cd4,ENSMUSG00000023274,protein_coding -36734,Twf2,ENSMUSG00000023277,protein_coding -7321,Bmp15,ENSMUSG00000023279,protein_coding -17647,Zfp605,ENSMUSG00000023284,protein_coding -15605,Ube2j2,ENSMUSG00000023286,protein_coding -19520,Sva,ENSMUSG00000023289,protein_coding -54987,March5,ENSMUSG00000023307,protein_coding -18431,Ache,ENSMUSG00000023328,protein_coding -5985,Dtwd1,ENSMUSG00000023330,protein_coding -36163,Gcm1,ENSMUSG00000023333,protein_coding -31622,Wfdc1,ENSMUSG00000023336,protein_coding -36738,Poc1a,ENSMUSG00000023345,protein_coding -18437,Trip6,ENSMUSG00000023348,protein_coding -21297,Clec4n,ENSMUSG00000023349,protein_coding -16016,Agap3,ENSMUSG00000023353,protein_coding -19686,Tmem176a,ENSMUSG00000023367,protein_coding -32281,Kcnk16,ENSMUSG00000023387,protein_coding -4780,Dlx2,ENSMUSG00000023391,protein_coding -7191,Slc17a9,ENSMUSG00000023393,protein_coding -19711,Stk31,ENSMUSG00000023403,protein_coding -33503,Nfatc4,ENSMUSG00000023411,protein_coding -15060,Cela3b,ENSMUSG00000023433,protein_coding -21366,Gnb3,ENSMUSG00000023439,protein_coding -9345,Esx1,ENSMUSG00000023443,protein_coding -16233,Pisd,ENSMUSG00000023452,protein_coding -21363,Tpi1,ENSMUSG00000023456,protein_coding -50663,Rab12,ENSMUSG00000023460,protein_coding -24015,Tulp2,ENSMUSG00000023467,protein_coding -36887,Celsr3,ENSMUSG00000023473,protein_coding -46897,Prph,ENSMUSG00000023484,protein_coding -36746,Pcbp4,ENSMUSG00000023495,protein_coding -21365,Cdca3,ENSMUSG00000023505,protein_coding -15606,C1qtnf12,ENSMUSG00000023571,protein_coding -5891,Ccndbp1,ENSMUSG00000023572,protein_coding -36753,Iqcf3,ENSMUSG00000023577,protein_coding -18119,Ogfod2,ENSMUSG00000023707,protein_coding -39230,Mrps23,ENSMUSG00000023723,protein_coding -46885,Rhebl1,ENSMUSG00000023755,protein_coding -37297,Sfi1,ENSMUSG00000023764,protein_coding -38533,Hes7,ENSMUSG00000023781,protein_coding -47801,Pigx,ENSMUSG00000023791,protein_coding -48769,Tiam2,ENSMUSG00000023800,protein_coding -48775,Nox3,ENSMUSG00000023802,protein_coding -48798,Synj2,ENSMUSG00000023805,protein_coding -48829,Rsph3b,ENSMUSG00000023806,protein_coding -48836,Rps6ka2,ENSMUSG00000023809,protein_coding -48894,Prkn,ENSMUSG00000023826,protein_coding -48901,Agpat4,ENSMUSG00000023827,protein_coding -48910,Slc22a3,ENSMUSG00000023828,protein_coding -48913,Slc22a1,ENSMUSG00000023829,protein_coding -48914,Igf2r,ENSMUSG00000023830,protein_coding -48931,Acat2,ENSMUSG00000023832,protein_coding -49035,Lnpep,ENSMUSG00000023845,protein_coding -49009,Chd1,ENSMUSG00000023852,protein_coding -48857,Mpc1,ENSMUSG00000023861,protein_coding -48867,Pde10a,ENSMUSG00000023868,protein_coding -48871,1700010I14Rik,ENSMUSG00000023873,protein_coding -49143,Zfp54,ENSMUSG00000023882,protein_coding -48983,Phf10,ENSMUSG00000023883,protein_coding -48977,Thbs2,ENSMUSG00000023885,protein_coding -48973,Smoc2,ENSMUSG00000023886,protein_coding -49144,Zfp51,ENSMUSG00000023892,protein_coding -49221,Zscan10,ENSMUSG00000023902,protein_coding -49223,Mmp25,ENSMUSG00000023903,protein_coding -49228,Hcfc1r1,ENSMUSG00000023904,protein_coding -49229,Tnfrsf12a,ENSMUSG00000023905,protein_coding -49230,Cldn6,ENSMUSG00000023906,protein_coding -49233,Pkmyt1,ENSMUSG00000023908,protein_coding -49234,Paqr4,ENSMUSG00000023909,protein_coding -49240,Flywch2,ENSMUSG00000023911,protein_coding -50233,Slc25a27,ENSMUSG00000023912,protein_coding -50230,Pla2g7,ENSMUSG00000023913,protein_coding -50228,Mep1a,ENSMUSG00000023914,protein_coding -50223,Tnfrsf21,ENSMUSG00000023915,protein_coding -50219,Adgrf4,ENSMUSG00000023918,protein_coding -50209,Cenpq,ENSMUSG00000023919,protein_coding -50210,Mmut,ENSMUSG00000023921,protein_coding -50411,Tbc1d5,ENSMUSG00000023923,protein_coding -50204,Rhag,ENSMUSG00000023926,protein_coding -50417,Satb1,ENSMUSG00000023927,protein_coding -50203,Crisp2,ENSMUSG00000023930,protein_coding -50440,Efhb,ENSMUSG00000023931,protein_coding -50252,Cdc5l,ENSMUSG00000023932,protein_coding -50254,Spats1,ENSMUSG00000023935,protein_coding -50256,Aars2,ENSMUSG00000023938,protein_coding -50269,Mrpl14,ENSMUSG00000023939,protein_coding -50447,Sgo1,ENSMUSG00000023940,protein_coding -50262,Slc29a1,ENSMUSG00000023942,protein_coding -50463,Sult1c1,ENSMUSG00000023943,protein_coding -50261,Hsp90ab1,ENSMUSG00000023944,protein_coding -50466,Slc5a7,ENSMUSG00000023945,protein_coding -50259,Nfkbie,ENSMUSG00000023947,protein_coding -50257,Tcte1,ENSMUSG00000023949,protein_coding -50276,Vegfa,ENSMUSG00000023951,protein_coding -50282,Gtpbp2,ENSMUSG00000023952,protein_coding -50283,Polh,ENSMUSG00000023953,protein_coding -50240,Clic5,ENSMUSG00000023959,protein_coding -50238,Enpp5,ENSMUSG00000023960,protein_coding -50239,Enpp4,ENSMUSG00000023961,protein_coding -50234,Cyp39a1,ENSMUSG00000023963,protein_coding -18903,Calcr,ENSMUSG00000023964,protein_coding -50607,Fbxl17,ENSMUSG00000023965,protein_coding -50280,Rsph9,ENSMUSG00000023966,protein_coding -50279,Mrps18a,ENSMUSG00000023967,protein_coding -50297,Crip3,ENSMUSG00000023968,protein_coding -50311,Rrp36,ENSMUSG00000023971,protein_coding -50307,Ptk7,ENSMUSG00000023972,protein_coding -50317,Cnpy3,ENSMUSG00000023973,protein_coding -50324,Ubr2,ENSMUSG00000023977,protein_coding -50323,Prph2,ENSMUSG00000023978,protein_coding -50331,Guca1b,ENSMUSG00000023979,protein_coding -50337,Taf8,ENSMUSG00000023980,protein_coding -50332,Guca1a,ENSMUSG00000023982,protein_coding -50341,Gm20517,ENSMUSG00000023984,protein_coding -50350,Pgc,ENSMUSG00000023987,protein_coding -50339,Bysl,ENSMUSG00000023988,protein_coding -50351,Tfeb,ENSMUSG00000023990,protein_coding -50355,Foxp4,ENSMUSG00000023991,protein_coding -50373,Trem2,ENSMUSG00000023992,protein_coding -50374,Treml1,ENSMUSG00000023993,protein_coding -50375,Nfya,ENSMUSG00000023994,protein_coding -50379,Tspo2,ENSMUSG00000023995,protein_coding -50395,Kif6,ENSMUSG00000023999,protein_coding -49675,Brd4,ENSMUSG00000024002,protein_coding -49554,Stk38,ENSMUSG00000024006,protein_coding -49569,Ppil1,ENSMUSG00000024007,protein_coding -49567,Cpne5,ENSMUSG00000024008,protein_coding -49573,Pi16,ENSMUSG00000024011,protein_coding -49575,Mtch1,ENSMUSG00000024012,protein_coding -49576,Fgd2,ENSMUSG00000024013,protein_coding -49580,Pim1,ENSMUSG00000024014,protein_coding -49592,Ccdc167,ENSMUSG00000024018,protein_coding -49591,Cmtr1,ENSMUSG00000024019,protein_coding -49611,Glo1,ENSMUSG00000024026,protein_coding -49622,Glp1r,ENSMUSG00000024027,protein_coding -49631,Tff2,ENSMUSG00000024028,protein_coding -49630,Tff3,ENSMUSG00000024029,protein_coding -49628,Abcg1,ENSMUSG00000024030,protein_coding -49633,Tff1,ENSMUSG00000024032,protein_coding -49637,Rsph1,ENSMUSG00000024033,protein_coding -49634,Tmprss3,ENSMUSG00000024034,protein_coding -49638,Slc37a1,ENSMUSG00000024036,protein_coding -49644,Wdr4,ENSMUSG00000024037,protein_coding -49646,Ndufv3,ENSMUSG00000024038,protein_coding -49655,Cbs,ENSMUSG00000024039,protein_coding -49659,Cryaa,ENSMUSG00000024041,protein_coding -49662,Sik1,ENSMUSG00000024042,protein_coding -50682,Arhgap28,ENSMUSG00000024043,protein_coding -50693,Epb41l3,ENSMUSG00000024044,protein_coding -49678,Akap8,ENSMUSG00000024045,protein_coding -50724,Myl12a,ENSMUSG00000024048,protein_coding -50725,Myom1,ENSMUSG00000024049,protein_coding -49680,Wiz,ENSMUSG00000024050,protein_coding -50728,Lpin2,ENSMUSG00000024052,protein_coding -50729,Emilin2,ENSMUSG00000024053,protein_coding -50732,Smchd1,ENSMUSG00000024054,protein_coding -49713,Cyp4f13,ENSMUSG00000024055,protein_coding -50738,Ndc80,ENSMUSG00000024056,protein_coding -50753,Clip4,ENSMUSG00000024059,protein_coding -50761,Lbh,ENSMUSG00000024063,protein_coding -50770,Galnt14,ENSMUSG00000024064,protein_coding -50776,Ehd3,ENSMUSG00000024065,protein_coding -50778,Xdh,ENSMUSG00000024066,protein_coding -50789,Dpy30,ENSMUSG00000024067,protein_coding -50793,Spast,ENSMUSG00000024068,protein_coding -50794,Slc30a6,ENSMUSG00000024069,protein_coding -50848,Prkd3,ENSMUSG00000024070,protein_coding -50797,Yipf4,ENSMUSG00000024072,protein_coding -50799,Birc6,ENSMUSG00000024073,protein_coding -50827,Crim1,ENSMUSG00000024074,protein_coding -50833,Vit,ENSMUSG00000024076,protein_coding -50835,Strn,ENSMUSG00000024077,protein_coding -50801,Ttc27,ENSMUSG00000024078,protein_coding -50841,Eif2ak2,ENSMUSG00000024079,protein_coding -50846,Cebpz,ENSMUSG00000024081,protein_coding -50847,Ndufaf7,ENSMUSG00000024082,protein_coding -50619,Pja2,ENSMUSG00000024083,protein_coding -50850,Qpct,ENSMUSG00000024084,protein_coding -50623,Man2a1,ENSMUSG00000024085,protein_coding -50856,Cyp1b1,ENSMUSG00000024087,protein_coding -50626,4930583I09Rik,ENSMUSG00000024088,protein_coding -50637,Vapa,ENSMUSG00000024091,protein_coding -50865,Hnrnpll,ENSMUSG00000024095,protein_coding -50642,Ralbp1,ENSMUSG00000024096,protein_coding -50871,Srsf7,ENSMUSG00000024097,protein_coding -50646,Twsg1,ENSMUSG00000024098,protein_coding -50649,Ndufv2,ENSMUSG00000024099,protein_coding -50652,Washc1,ENSMUSG00000024101,protein_coding -21127,Washc2,ENSMUSG00000024104,protein_coding -50665,Themis3,ENSMUSG00000024105,protein_coding -51023,Lhcgr,ENSMUSG00000024107,protein_coding -51031,Nrxn1,ENSMUSG00000024109,protein_coding -49354,Cacna1h,ENSMUSG00000024112,protein_coding -49246,Prss41,ENSMUSG00000024114,protein_coding -49249,Prss21,ENSMUSG00000024116,protein_coding -49275,Tedc2,ENSMUSG00000024118,protein_coding -50938,Lrpprc,ENSMUSG00000024120,protein_coding -49271,Atp6v0c,ENSMUSG00000024121,protein_coding -49267,Pdpk1,ENSMUSG00000024122,protein_coding -49259,Prss30,ENSMUSG00000024124,protein_coding -49258,Sbpl,ENSMUSG00000024125,protein_coding -50946,Prepl,ENSMUSG00000024127,protein_coding -49257,Sbp,ENSMUSG00000024128,protein_coding -49281,Abca3,ENSMUSG00000024130,protein_coding -50945,Slc3a1,ENSMUSG00000024131,protein_coding -49285,Eci1,ENSMUSG00000024132,protein_coding -50961,Six2,ENSMUSG00000024134,protein_coding -50965,Srbd1,ENSMUSG00000024135,protein_coding -49286,Dnase1l2,ENSMUSG00000024136,protein_coding -49287,E4f1,ENSMUSG00000024137,protein_coding -50972,Epas1,ENSMUSG00000024140,protein_coding -49289,Mlst8,ENSMUSG00000024142,protein_coding -50978,Rhoq,ENSMUSG00000024143,protein_coding -50980,Pigf,ENSMUSG00000024145,protein_coding -50981,Cript,ENSMUSG00000024146,protein_coding -50987,Mcfd2,ENSMUSG00000024150,protein_coding -51001,Msh2,ENSMUSG00000024151,protein_coding -51022,Gtf2a1l,ENSMUSG00000024154,protein_coding -49319,Meiob,ENSMUSG00000024155,protein_coding -49320,Hagh,ENSMUSG00000024158,protein_coding -49324,Spsb3,ENSMUSG00000024160,protein_coding -49326,Mapk8ip3,ENSMUSG00000024163,protein_coding -50562,C3,ENSMUSG00000024164,protein_coding -49329,Jpt2,ENSMUSG00000024165,protein_coding -49332,Tmem204,ENSMUSG00000024168,protein_coding -49331,Ift140,ENSMUSG00000024169,protein_coding -49333,Telo2,ENSMUSG00000024170,protein_coding -49347,Prss28,ENSMUSG00000024171,protein_coding -50479,St6gal2,ENSMUSG00000024172,protein_coding -49351,Tpsab1,ENSMUSG00000024173,protein_coding -50482,Pot1b,ENSMUSG00000024174,protein_coding -49355,Tekt4,ENSMUSG00000024175,protein_coding -49362,Sox8,ENSMUSG00000024176,protein_coding -49408,Nme4,ENSMUSG00000024177,protein_coding -49410,Tmem8,ENSMUSG00000024180,protein_coding -49411,Mrpl28,ENSMUSG00000024181,protein_coding -49412,Axin1,ENSMUSG00000024182,protein_coding -49414,Pdia2,ENSMUSG00000024184,protein_coding -49416,Rgs11,ENSMUSG00000024186,protein_coding -49417,Fam234a,ENSMUSG00000024187,protein_coding -49422,Luc7l,ENSMUSG00000024188,protein_coding -49430,Dusp1,ENSMUSG00000024190,protein_coding -49439,Bnip1,ENSMUSG00000024191,protein_coding -49447,Phf1,ENSMUSG00000024193,protein_coding -49448,Cuta,ENSMUSG00000024194,protein_coding -50517,Plin3,ENSMUSG00000024197,protein_coding -50520,Kdm4b,ENSMUSG00000024201,protein_coding -50538,Rfx2,ENSMUSG00000024206,protein_coding -50539,Acsbg2,ENSMUSG00000024207,protein_coding -49461,Uqcc2,ENSMUSG00000024208,protein_coding -50540,1700061G19Rik,ENSMUSG00000024209,protein_coding -49463,Ip6k3,ENSMUSG00000024210,protein_coding -19170,Grm8,ENSMUSG00000024211,protein_coding -50541,Mllt1,ENSMUSG00000024212,protein_coding -49487,Nudt3,ENSMUSG00000024213,protein_coding -49493,Spdef,ENSMUSG00000024215,protein_coding -49497,Snrpc,ENSMUSG00000024217,protein_coding -49500,Taf11,ENSMUSG00000024218,protein_coding -49502,Anks1,ENSMUSG00000024219,protein_coding -49512,Zfp523,ENSMUSG00000024220,protein_coding -49522,Fkbp5,ENSMUSG00000024222,protein_coding -49532,Armc12,ENSMUSG00000024223,protein_coding -49533,Clpsl2,ENSMUSG00000024224,protein_coding -49534,Clps,ENSMUSG00000024225,protein_coding -50583,Pdzph1,ENSMUSG00000024227,protein_coding -50585,Nudt12,ENSMUSG00000024228,protein_coding -52665,Cul2,ENSMUSG00000024231,protein_coding -52670,Bambi,ENSMUSG00000024232,protein_coding -52678,Lyzl1,ENSMUSG00000024233,protein_coding -52685,Mtpap,ENSMUSG00000024234,protein_coding -52681,Map3k8,ENSMUSG00000024235,protein_coding -52692,Svil,ENSMUSG00000024236,protein_coding -52700,Zeb1,ENSMUSG00000024238,protein_coding -52712,Epc1,ENSMUSG00000024240,protein_coding -50879,Sos1,ENSMUSG00000024241,protein_coding -50882,Map4k3,ENSMUSG00000024242,protein_coding -50886,Tmem178,ENSMUSG00000024245,protein_coding -50887,Thumpd2,ENSMUSG00000024246,protein_coding -50906,Pkdcc,ENSMUSG00000024247,protein_coding -50910,Cox7a2l,ENSMUSG00000024248,protein_coding -50928,Thada,ENSMUSG00000024251,protein_coding -50935,Dync2li1,ENSMUSG00000024253,protein_coding -50937,Abcg8,ENSMUSG00000024254,protein_coding -51063,Adcyap1,ENSMUSG00000024256,protein_coding -53000,Polr2d,ENSMUSG00000024258,protein_coding -52994,Slc25a46,ENSMUSG00000024259,protein_coding -52996,Sap130,ENSMUSG00000024260,protein_coding -52990,Syt4,ENSMUSG00000024261,protein_coding -31619,Adad2,ENSMUSG00000024266,protein_coding -52952,Celf4,ENSMUSG00000024268,protein_coding -52949,Tpgs2,ENSMUSG00000024269,protein_coding -52942,Slc39a6,ENSMUSG00000024270,protein_coding -52943,Elp2,ENSMUSG00000024271,protein_coding -52939,2700062C07Rik,ENSMUSG00000024273,protein_coding -52929,Zfp397,ENSMUSG00000024276,protein_coding -52924,Mapre2,ENSMUSG00000024277,protein_coding -52735,Wac,ENSMUSG00000024283,protein_coding -52750,Ccny,ENSMUSG00000024286,protein_coding -52769,Thoc1,ENSMUSG00000024287,protein_coding -52771,Rock1,ENSMUSG00000024290,protein_coding -49712,Cyp4f14,ENSMUSG00000024292,protein_coding -52783,Esco1,ENSMUSG00000024293,protein_coding -52787,Mib1,ENSMUSG00000024294,protein_coding -49699,Zfp871,ENSMUSG00000024298,protein_coding -49733,Adamts10,ENSMUSG00000024299,protein_coding -49734,Myo1f,ENSMUSG00000024300,protein_coding -49445,Kifc5b,ENSMUSG00000024301,protein_coding -52921,Dtna,ENSMUSG00000024302,protein_coding -52868,Cdh2,ENSMUSG00000024304,protein_coding -52916,Ccdc178,ENSMUSG00000024306,protein_coding -49756,Tapbp,ENSMUSG00000024308,protein_coding -49760,Pfdn6,ENSMUSG00000024309,protein_coding -49762,Wdr46,ENSMUSG00000024312,protein_coding -52905,Mep1b,ENSMUSG00000024313,protein_coding -52904,Rnf138,ENSMUSG00000024317,protein_coding -49765,Vps52,ENSMUSG00000024319,protein_coding -49772,Ring1,ENSMUSG00000024325,protein_coding -49778,Slc39a7,ENSMUSG00000024327,protein_coding -49780,Col11a2,ENSMUSG00000024330,protein_coding -52887,Dsc2,ENSMUSG00000024331,protein_coding -49784,H2-Oa,ENSMUSG00000024334,protein_coding -49786,Brd2,ENSMUSG00000024335,protein_coding -49795,Psmb8,ENSMUSG00000024338,protein_coding -49797,Tap2,ENSMUSG00000024339,protein_coding -49806,Btnl2,ENSMUSG00000024340,protein_coding -53122,Pfdn1,ENSMUSG00000024346,protein_coding -53116,Psd2,ENSMUSG00000024347,protein_coding -53104,Tmem173,ENSMUSG00000024349,protein_coding -53101,Dnajc18,ENSMUSG00000024350,protein_coding -53100,Spata24,ENSMUSG00000024352,protein_coding -53097,Mzb1,ENSMUSG00000024353,protein_coding -53096,Slc23a1,ENSMUSG00000024354,protein_coding -53081,Sil1,ENSMUSG00000024357,protein_coding -53072,Hspa9,ENSMUSG00000024359,protein_coding -53071,Etf1,ENSMUSG00000024360,protein_coding -49841,Cyp21a1,ENSMUSG00000024365,protein_coding -53062,Gfra3,ENSMUSG00000024366,protein_coding -49848,Nelfe,ENSMUSG00000024369,protein_coding -53060,Cdc23,ENSMUSG00000024370,protein_coding -49852,C2,ENSMUSG00000024371,protein_coding -53041,Epb41l4a,ENSMUSG00000024376,protein_coding -53034,Stard4,ENSMUSG00000024378,protein_coding -53027,Tslp,ENSMUSG00000024379,protein_coding -53020,Bin1,ENSMUSG00000024381,protein_coding -53017,Ercc3,ENSMUSG00000024382,protein_coding -53016,Map3k2,ENSMUSG00000024383,protein_coding -53010,Iws1,ENSMUSG00000024384,protein_coding -53013,Proc,ENSMUSG00000024386,protein_coding -49882,Csnk2b,ENSMUSG00000024387,protein_coding -53007,Myo7b,ENSMUSG00000024388,protein_coding -49886,Apom,ENSMUSG00000024391,protein_coding -49887,Bag6,ENSMUSG00000024392,protein_coding -49888,Prrc2a,ENSMUSG00000024393,protein_coding -53005,Lims2,ENSMUSG00000024395,protein_coding -49891,Aif1,ENSMUSG00000024397,protein_coding -49894,Ltb,ENSMUSG00000024399,protein_coding -53001,Wdr33,ENSMUSG00000024400,protein_coding -49896,Tnf,ENSMUSG00000024401,protein_coding -49897,Lta,ENSMUSG00000024402,protein_coding -49901,Atp6v1g2,ENSMUSG00000024403,protein_coding -52806,Riok3,ENSMUSG00000024404,protein_coding -49922,Pou5f1,ENSMUSG00000024406,protein_coding -49926,Psors1c2,ENSMUSG00000024409,protein_coding -52808,Rmc1,ENSMUSG00000024410,protein_coding -52858,Aqp4,ENSMUSG00000024411,protein_coding -52809,Npc1,ENSMUSG00000024413,protein_coding -39309,Mrpl27,ENSMUSG00000024414,protein_coding -52836,Zfp521,ENSMUSG00000024420,protein_coding -52813,Lama3,ENSMUSG00000024421,protein_coding -49950,Dhx16,ENSMUSG00000024422,protein_coding -52827,Impact,ENSMUSG00000024423,protein_coding -52818,Ttc39c,ENSMUSG00000024424,protein_coding -53252,Ndfip1,ENSMUSG00000024425,protein_coding -49953,Atat1,ENSMUSG00000024426,protein_coding -53256,Spry4,ENSMUSG00000024427,protein_coding -49962,Gnl1,ENSMUSG00000024429,protein_coding -52822,Cabyr,ENSMUSG00000024430,protein_coding -53271,Nr3c1,ENSMUSG00000024431,protein_coding -49954,Mrps18b,ENSMUSG00000024436,protein_coding -53246,Pcdh12,ENSMUSG00000024440,protein_coding -53245,Dele1,ENSMUSG00000024442,protein_coding -50003,Rpp21,ENSMUSG00000024446,protein_coding -50006,H2-M10.1,ENSMUSG00000024448,protein_coding -53237,Arap3,ENSMUSG00000024451,protein_coding -53234,Hdac3,ENSMUSG00000024454,protein_coding -53231,Diaph1,ENSMUSG00000024456,protein_coding -50034,Trim26,ENSMUSG00000024457,protein_coding -50048,H2-M5,ENSMUSG00000024459,protein_coding -50052,Gabbr1,ENSMUSG00000024462,protein_coding -53348,Myot,ENSMUSG00000024471,protein_coding -53349,Dcp2,ENSMUSG00000024472,protein_coding -53137,Ik,ENSMUSG00000024474,protein_coding -53371,Pggt1b,ENSMUSG00000024477,protein_coding -45897,Mal2,ENSMUSG00000024479,protein_coding -53387,Ap3s1,ENSMUSG00000024480,protein_coding -53391,Lvrn,ENSMUSG00000024481,protein_coding -53126,Ankhd1,ENSMUSG00000024483,protein_coding -53125,Slc4a9,ENSMUSG00000024485,protein_coding -53123,Hbegf,ENSMUSG00000024486,protein_coding -53279,Yipf5,ENSMUSG00000024487,protein_coding -53306,Rbm27,ENSMUSG00000024491,protein_coding -53303,Lars,ENSMUSG00000024493,protein_coding -53308,Pou4f3,ENSMUSG00000024497,protein_coding -53311,Tcerg1,ENSMUSG00000024498,protein_coding -53317,Ppp2r2b,ENSMUSG00000024500,protein_coding -53323,Dpysl3,ENSMUSG00000024501,protein_coding -53328,Jakmip2,ENSMUSG00000024502,protein_coding -53329,Spink1,ENSMUSG00000024503,protein_coding -53422,Dtwd2,ENSMUSG00000024505,protein_coding -53428,Hsd17b4,ENSMUSG00000024507,protein_coding -53443,Ftmt,ENSMUSG00000024510,protein_coding -53765,Rab27b,ENSMUSG00000024511,protein_coding -53767,Dynap,ENSMUSG00000024512,protein_coding -53773,Mbd2,ENSMUSG00000024513,protein_coding -53788,Smad4,ENSMUSG00000024515,protein_coding -53671,Sec11c,ENSMUSG00000024516,protein_coding -53676,Grp,ENSMUSG00000024517,protein_coding -53681,Rax,ENSMUSG00000024518,protein_coding -53683,Cplx4,ENSMUSG00000024519,protein_coding -53694,Pmaip1,ENSMUSG00000024521,protein_coding -53713,Gnal,ENSMUSG00000024524,protein_coding -53720,Impa2,ENSMUSG00000024525,protein_coding -53722,Cidea,ENSMUSG00000024526,protein_coding -53724,Afg3l2,ENSMUSG00000024527,protein_coding -53444,Srfbp1,ENSMUSG00000024528,protein_coding -53446,Lox,ENSMUSG00000024529,protein_coding -53726,Prelid3a,ENSMUSG00000024530,protein_coding -53449,1700034E13Rik,ENSMUSG00000024532,protein_coding -53727,Spire1,ENSMUSG00000024533,protein_coding -53451,Sncaip,ENSMUSG00000024534,protein_coding -53456,Snx24,ENSMUSG00000024535,protein_coding -53730,Psmg2,ENSMUSG00000024537,protein_coding -53457,Ppic,ENSMUSG00000024538,protein_coding -53731,Ptpn2,ENSMUSG00000024539,protein_coding -53735,Cep192,ENSMUSG00000024542,protein_coding -53737,Ldlrad4,ENSMUSG00000024544,protein_coding -53872,Setbp1,ENSMUSG00000024548,protein_coding -53867,Slc14a2,ENSMUSG00000024552,protein_coding -53947,Galr1,ENSMUSG00000024553,protein_coding -53793,Me2,ENSMUSG00000024556,protein_coding -53795,Mapk4,ENSMUSG00000024558,protein_coding -53799,Cxxc1,ENSMUSG00000024560,protein_coding -53801,Mbd1,ENSMUSG00000024561,protein_coding -53839,Smad2,ENSMUSG00000024563,protein_coding -53920,Sall3,ENSMUSG00000024565,protein_coding -53916,Atp9b,ENSMUSG00000024566,protein_coding -53901,Rbfa,ENSMUSG00000024570,protein_coding -53902,Gm16286,ENSMUSG00000024571,protein_coding -53573,Pde6a,ENSMUSG00000024575,protein_coding -53583,Csnk1a1,ENSMUSG00000024576,protein_coding -53588,Il17b,ENSMUSG00000024578,protein_coding -53590,Pcyox1l,ENSMUSG00000024579,protein_coding -53591,Grpel2,ENSMUSG00000024580,protein_coding -53610,Napg,ENSMUSG00000024581,protein_coding -53620,Txnl1,ENSMUSG00000024583,protein_coding -53637,Nars,ENSMUSG00000024587,protein_coding -53636,Fech,ENSMUSG00000024588,protein_coding -53648,Nedd4l,ENSMUSG00000024589,protein_coding -53502,Lmnb1,ENSMUSG00000024590,protein_coding -53506,C330018D20Rik,ENSMUSG00000024592,protein_coding -53509,Megf10,ENSMUSG00000024593,protein_coding -53513,Prrc1,ENSMUSG00000024594,protein_coding -53523,Slc12a2,ENSMUSG00000024597,protein_coding -53524,Fbn2,ENSMUSG00000024598,protein_coding -53527,Slc27a6,ENSMUSG00000024600,protein_coding -53529,Isoc1,ENSMUSG00000024601,protein_coding -53551,Dctn4,ENSMUSG00000024603,protein_coding -53552,Rbm22,ENSMUSG00000024604,protein_coding -53556,Rps14,ENSMUSG00000024608,protein_coding -53558,Cd74,ENSMUSG00000024610,protein_coding -53560,Tcof1,ENSMUSG00000024613,protein_coding -54052,Tmx3,ENSMUSG00000024614,protein_coding -53562,Camk2a,ENSMUSG00000024617,protein_coding -53566,Cdx1,ENSMUSG00000024619,protein_coding -53567,Pdgfrb,ENSMUSG00000024620,protein_coding -53568,Csf1r,ENSMUSG00000024621,protein_coding -53570,Hmgxb3,ENSMUSG00000024622,protein_coding -54666,Gnaq,ENSMUSG00000024639,protein_coding -54661,Psat1,ENSMUSG00000024640,protein_coding -54655,Tle4,ENSMUSG00000024642,protein_coding -53994,Cndp2,ENSMUSG00000024644,protein_coding -54006,Timm21,ENSMUSG00000024645,protein_coding -54003,Cyb5a,ENSMUSG00000024646,protein_coding -54017,Cbln2,ENSMUSG00000024647,protein_coding -54365,Slc22a6,ENSMUSG00000024650,protein_coding -54415,Scgb1a1,ENSMUSG00000024653,protein_coding -54416,Asrgl1,ENSMUSG00000024654,protein_coding -54717,Anxa1,ENSMUSG00000024659,protein_coding -54430,Incenp,ENSMUSG00000024660,protein_coding -54438,Fth1,ENSMUSG00000024661,protein_coding -54440,Rab3il1,ENSMUSG00000024663,protein_coding -54441,Fads3,ENSMUSG00000024664,protein_coding -54442,Fads2,ENSMUSG00000024665,protein_coding -54460,Tmem138,ENSMUSG00000024666,protein_coding -54459,Tmem216,ENSMUSG00000024667,protein_coding -54457,Sdhaf2,ENSMUSG00000024668,protein_coding -54470,Cd5,ENSMUSG00000024669,protein_coding -54472,Cd6,ENSMUSG00000024670,protein_coding -54497,Ms4a7,ENSMUSG00000024672,protein_coding -54494,Ms4a1,ENSMUSG00000024673,protein_coding -54501,Ms4a4c,ENSMUSG00000024675,protein_coding -54508,Ms4a6b,ENSMUSG00000024677,protein_coding -54509,Ms4a4d,ENSMUSG00000024678,protein_coding -54512,Ms4a6d,ENSMUSG00000024679,protein_coding -54514,Ms4a2,ENSMUSG00000024680,protein_coding -54515,Ms4a3,ENSMUSG00000024681,protein_coding -54522,Cblif,ENSMUSG00000024682,protein_coding -54523,Mrpl16,ENSMUSG00000024683,protein_coding -54534,Osbp,ENSMUSG00000024687,protein_coding -54571,Fam111a,ENSMUSG00000024691,protein_coding -54579,Keg1,ENSMUSG00000024694,protein_coding -54581,Zfp91,ENSMUSG00000024695,protein_coding -54583,Lpxn,ENSMUSG00000024696,protein_coding -54673,Gna14,ENSMUSG00000024697,protein_coding -54688,Rfk,ENSMUSG00000024712,protein_coding -54689,Pcsk5,ENSMUSG00000024713,protein_coding -54699,Ostf1,ENSMUSG00000024725,protein_coding -54702,Carnmt1,ENSMUSG00000024726,protein_coding -54706,Trpm6,ENSMUSG00000024727,protein_coding -54490,1700025F22Rik,ENSMUSG00000024728,protein_coding -54488,1700017D01Rik,ENSMUSG00000024729,protein_coding -54486,Ms4a8a,ENSMUSG00000024730,protein_coding -54481,Ms4a10,ENSMUSG00000024731,protein_coding -54480,Ccdc86,ENSMUSG00000024732,protein_coding -54478,Zp1,ENSMUSG00000024734,protein_coding -54477,Prpf19,ENSMUSG00000024735,protein_coding -54475,Tmem132a,ENSMUSG00000024736,protein_coding -54473,Slc15a3,ENSMUSG00000024737,protein_coding -54467,Pga5,ENSMUSG00000024738,protein_coding -54464,Ddb1,ENSMUSG00000024740,protein_coding -54447,Fen1,ENSMUSG00000024742,protein_coding -54452,Syt7,ENSMUSG00000024743,protein_coding -54721,Aldh1a7,ENSMUSG00000024747,protein_coding -54722,Tmc1,ENSMUSG00000024749,protein_coding -54728,Zfand5,ENSMUSG00000024750,protein_coding -54735,Cemip2,ENSMUSG00000024754,protein_coding -54346,Slc22a19,ENSMUSG00000024757,protein_coding -54340,Rtn3,ENSMUSG00000024758,protein_coding -54341,Atl3,ENSMUSG00000024759,protein_coding -54327,Naa40,ENSMUSG00000024764,protein_coding -54909,Lipo3,ENSMUSG00000024766,protein_coding -54325,Otub1,ENSMUSG00000024767,protein_coding -54921,Lipf,ENSMUSG00000024768,protein_coding -54282,Cdc42bpg,ENSMUSG00000024769,protein_coding -54924,Lipn,ENSMUSG00000024770,protein_coding -54922,Lipk,ENSMUSG00000024771,protein_coding -54281,Ehd1,ENSMUSG00000024772,protein_coding -54277,Atg2a,ENSMUSG00000024773,protein_coding -54927,Ankrd22,ENSMUSG00000024774,protein_coding -54928,Stambpl1,ENSMUSG00000024776,protein_coding -54276,Ppp2r5b,ENSMUSG00000024777,protein_coding -54931,Fas,ENSMUSG00000024778,protein_coding -54841,Cdc37l1,ENSMUSG00000024780,protein_coding -54936,Lipa,ENSMUSG00000024781,protein_coding -54843,Ak3,ENSMUSG00000024782,protein_coding -54275,Gpha2,ENSMUSG00000024784,protein_coding -54847,Rcl1,ENSMUSG00000024785,protein_coding -54274,Majin,ENSMUSG00000024786,protein_coding -54269,Snx15,ENSMUSG00000024787,protein_coding -54850,Jak2,ENSMUSG00000024789,protein_coding -54268,Sac3d1,ENSMUSG00000024790,protein_coding -54265,Cdca5,ENSMUSG00000024791,protein_coding -54264,Zfpl1,ENSMUSG00000024792,protein_coding -15500,Tnfrsf25,ENSMUSG00000024793,protein_coding -54953,Kif20b,ENSMUSG00000024795,protein_coding -54261,Vps51,ENSMUSG00000024797,protein_coding -54964,Htr7,ENSMUSG00000024798,protein_coding -54260,Tm7sf2,ENSMUSG00000024799,protein_coding -54965,Rpp30,ENSMUSG00000024800,protein_coding -54966,Ankrd1,ENSMUSG00000024803,protein_coding -54971,Pcgf5,ENSMUSG00000024805,protein_coding -54860,Mlana,ENSMUSG00000024806,protein_coding -54255,Syvn1,ENSMUSG00000024807,protein_coding -54865,Il33,ENSMUSG00000024810,protein_coding -54980,Tnks2,ENSMUSG00000024811,protein_coding -54771,Tjp2,ENSMUSG00000024812,protein_coding -54867,Trpd52l3,ENSMUSG00000024815,protein_coding -54243,Frmd8,ENSMUSG00000024816,protein_coding -54868,Uhrf2,ENSMUSG00000024817,protein_coding -54244,Slc25a45,ENSMUSG00000024818,protein_coding -54124,Rad9a,ENSMUSG00000024824,protein_coding -54246,Dpf2,ENSMUSG00000024826,protein_coding -54869,Gldc,ENSMUSG00000024827,protein_coding -54066,Mrpl21,ENSMUSG00000024829,protein_coding -54117,Rps6kb2,ENSMUSG00000024830,protein_coding -54065,Ighmbp2,ENSMUSG00000024831,protein_coding -54249,Pola2,ENSMUSG00000024833,protein_coding -54115,Coro1b,ENSMUSG00000024835,protein_coding -54795,Dmrt1,ENSMUSG00000024837,protein_coding -54193,Eif1ad,ENSMUSG00000024841,protein_coding -54113,Cabp4,ENSMUSG00000024842,protein_coding -54086,Chka,ENSMUSG00000024843,protein_coding -54192,Banf1,ENSMUSG00000024844,protein_coding -54191,Cst6,ENSMUSG00000024846,protein_coding -54111,Aip,ENSMUSG00000024847,protein_coding -54110,Pitpnm1,ENSMUSG00000024851,protein_coding -54184,Sf3b2,ENSMUSG00000024853,protein_coding -54129,Pold4,ENSMUSG00000024854,protein_coding -54181,Pacs1,ENSMUSG00000024855,protein_coding -54109,Cdk2ap2,ENSMUSG00000024856,protein_coding -54108,Cabp2,ENSMUSG00000024857,protein_coding -54135,Grk2,ENSMUSG00000024858,protein_coding -54178,Klc2,ENSMUSG00000024862,protein_coding -54871,Mbl2,ENSMUSG00000024863,protein_coding -54095,Acy3,ENSMUSG00000024866,protein_coding -54776,Pip5k1b,ENSMUSG00000024867,protein_coding -54877,Dkk1,ENSMUSG00000024868,protein_coding -54099,Gm49405,ENSMUSG00000024869,protein_coding -54177,Rab1b,ENSMUSG00000024870,protein_coding -54101,Doc2g,ENSMUSG00000024871,protein_coding -54176,Cnih2,ENSMUSG00000024873,protein_coding -54175,Yif1a,ENSMUSG00000024875,protein_coding -54786,Cbwd1,ENSMUSG00000024878,protein_coding -54171,Rin1,ENSMUSG00000024883,protein_coding -54090,Aldh3b1,ENSMUSG00000024885,protein_coding -54885,Asah2,ENSMUSG00000024887,protein_coding -54143,Rce1,ENSMUSG00000024889,protein_coding -54167,Slc29a2,ENSMUSG00000024891,protein_coding -54141,Pcx,ENSMUSG00000024892,protein_coding -54892,Minpp1,ENSMUSG00000024896,protein_coding -54765,Apba1,ENSMUSG00000024897,protein_coding -54895,Papss2,ENSMUSG00000024899,protein_coding -54069,Cpt1a,ENSMUSG00000024900,protein_coding -54162,Peli3,ENSMUSG00000024901,protein_coding -54163,Mrpl11,ENSMUSG00000024902,protein_coding -14503,Lao1,ENSMUSG00000024903,protein_coding -54070,Tesmin,ENSMUSG00000024905,protein_coding -54209,Mus81,ENSMUSG00000024906,protein_coding -54071,Gal,ENSMUSG00000024907,protein_coding -54072,Ppp6r3,ENSMUSG00000024908,protein_coding -54208,Efemp2,ENSMUSG00000024909,protein_coding -54207,Ctsw,ENSMUSG00000024910,protein_coding -54206,Fibp,ENSMUSG00000024911,protein_coding -54204,Fosl1,ENSMUSG00000024912,protein_coding -54076,Lrp5,ENSMUSG00000024913,protein_coding -54199,Drap1,ENSMUSG00000024914,protein_coding -54808,Smarca2,ENSMUSG00000024921,protein_coding -54215,Ovol1,ENSMUSG00000024922,protein_coding -54816,Vldlr,ENSMUSG00000024924,protein_coding -54218,Rnaseh2c,ENSMUSG00000024925,protein_coding -54219,Kat5,ENSMUSG00000024926,protein_coding -54220,Rela,ENSMUSG00000024927,protein_coding -54836,Slc1a1,ENSMUSG00000024935,protein_coding -54226,Kcnk7,ENSMUSG00000024936,protein_coding -54227,Ehbp1l1,ENSMUSG00000024937,protein_coding -54229,Fam89b,ENSMUSG00000024939,protein_coding -54232,Ltbp3,ENSMUSG00000024940,protein_coding -54233,Scyl1,ENSMUSG00000024941,protein_coding -54251,Capn1,ENSMUSG00000024942,protein_coding -54751,Smc5,ENSMUSG00000024943,protein_coding -54270,Arl2,ENSMUSG00000024944,protein_coding -54284,Men1,ENSMUSG00000024947,protein_coding -54285,Map4k2,ENSMUSG00000024948,protein_coding -54288,Sf1,ENSMUSG00000024949,protein_coding -54302,Rps6ka4,ENSMUSG00000024952,protein_coding -54305,Prdx5,ENSMUSG00000024953,protein_coding -54307,Esrra,ENSMUSG00000024955,protein_coding -54310,Kcnk4,ENSMUSG00000024957,protein_coding -54311,Gpr137,ENSMUSG00000024958,protein_coding -54312,Bad,ENSMUSG00000024959,protein_coding -54313,Plcb3,ENSMUSG00000024960,protein_coding -54316,Vegfb,ENSMUSG00000024962,protein_coding -54317,Dnajc4,ENSMUSG00000024963,protein_coding -54320,Fermt3,ENSMUSG00000024965,protein_coding -54321,Stip1,ENSMUSG00000024966,protein_coding -54330,Rcor2,ENSMUSG00000024968,protein_coding -54331,Mark2,ENSMUSG00000024969,protein_coding -54333,Spindoc,ENSMUSG00000024970,protein_coding -54343,Lgals12,ENSMUSG00000024972,protein_coding -54344,Hrasls5,ENSMUSG00000024973,protein_coding -55319,Smc3,ENSMUSG00000024974,protein_coding -55324,Pdcd4,ENSMUSG00000024975,protein_coding -55326,Shoc2,ENSMUSG00000024976,protein_coding -55334,Gpam,ENSMUSG00000024978,protein_coding -55336,Tectb,ENSMUSG00000024979,protein_coding -55339,Acsl5,ENSMUSG00000024981,protein_coding -55340,Zdhhc6,ENSMUSG00000024982,protein_coding -55341,Vti1a,ENSMUSG00000024983,protein_coding -55343,Tcf7l2,ENSMUSG00000024985,protein_coding -54995,Hhex,ENSMUSG00000024986,protein_coding -55000,Cyp26a1,ENSMUSG00000024987,protein_coding -55006,Cep55,ENSMUSG00000024989,protein_coding -55009,Rbp4,ENSMUSG00000024990,protein_coding -55428,Eif3a,ENSMUSG00000024991,protein_coding -55010,Pde6c,ENSMUSG00000024992,protein_coding -55432,Fam45a,ENSMUSG00000024993,protein_coding -55435,Prdx3,ENSMUSG00000024997,protein_coding -55020,Plce1,ENSMUSG00000024998,protein_coding -55023,Noc3l,ENSMUSG00000024999,protein_coding -55026,Hells,ENSMUSG00000025001,protein_coding -55028,Cyp2c55,ENSMUSG00000025002,protein_coding -55036,Cyp2c39,ENSMUSG00000025003,protein_coding -55039,Cyp2c40,ENSMUSG00000025004,protein_coding -55050,Sorbs1,ENSMUSG00000025006,protein_coding -55052,Aldh18a1,ENSMUSG00000025007,protein_coding -55055,Tctn3,ENSMUSG00000025008,protein_coding -55061,Ccnj,ENSMUSG00000025010,protein_coding -55068,Tll2,ENSMUSG00000025013,protein_coding -55066,Dntt,ENSMUSG00000025014,protein_coding -55069,Tm9sf3,ENSMUSG00000025016,protein_coding -55070,Pik3ap1,ENSMUSG00000025017,protein_coding -55072,Lcor,ENSMUSG00000025019,protein_coding -55074,Slit1,ENSMUSG00000025020,protein_coding -55310,Smndc1,ENSMUSG00000025024,protein_coding -55307,Mxi1,ENSMUSG00000025025,protein_coding -55303,Add3,ENSMUSG00000025026,protein_coding -55298,Xpnpep1,ENSMUSG00000025027,protein_coding -55222,Trim8,ENSMUSG00000025034,protein_coding -55223,Arl3,ENSMUSG00000025035,protein_coding -55224,Sfxn2,ENSMUSG00000025036,protein_coding -7533,Maoa,ENSMUSG00000025037,protein_coding -7536,Efhc2,ENSMUSG00000025038,protein_coding -7539,Fundc1,ENSMUSG00000025040,protein_coding -55233,Nt5c2,ENSMUSG00000025041,protein_coding -7544,Dusp21,ENSMUSG00000025043,protein_coding -30142,Msr1,ENSMUSG00000025044,protein_coding -55240,Pdcd11,ENSMUSG00000025047,protein_coding -55238,Taf5,ENSMUSG00000025049,protein_coding -55235,Pcgf6,ENSMUSG00000025050,protein_coding -9652,Samt4,ENSMUSG00000025051,protein_coding -8559,Nr0b1,ENSMUSG00000025056,protein_coding -8556,5430427O19Rik,ENSMUSG00000025058,protein_coding -8549,Gk,ENSMUSG00000025059,protein_coding -55253,Slk,ENSMUSG00000025060,protein_coding -55256,Col17a1,ENSMUSG00000025064,protein_coding -55261,Sfr1,ENSMUSG00000025066,protein_coding -55264,Gsto1,ENSMUSG00000025068,protein_coding -55265,Gsto2,ENSMUSG00000025069,protein_coding -55349,Habp2,ENSMUSG00000025075,protein_coding -55352,Casp7,ENSMUSG00000025076,protein_coding -55354,Dclre1a,ENSMUSG00000025077,protein_coding -55355,Nhlrc2,ENSMUSG00000025078,protein_coding -55362,Tdrd1,ENSMUSG00000025081,protein_coding -55363,Vwa2,ENSMUSG00000025082,protein_coding -55364,Afap1l2,ENSMUSG00000025083,protein_coding -55365,Ablim1,ENSMUSG00000025085,protein_coding -55371,Trub1,ENSMUSG00000025086,protein_coding -55382,Gfra1,ENSMUSG00000025089,protein_coding -55384,Ccdc172,ENSMUSG00000025090,protein_coding -55390,Pnliprp2,ENSMUSG00000025091,protein_coding -55394,Hspa12a,ENSMUSG00000025092,protein_coding -55403,Slc18a2,ENSMUSG00000025094,protein_coding -24923,3110040N11Rik,ENSMUSG00000025102,protein_coding -24926,Btbd1,ENSMUSG00000025103,protein_coding -24931,Hdgfl3,ENSMUSG00000025104,protein_coding -24934,Bnc1,ENSMUSG00000025105,protein_coding -40233,Gcgr,ENSMUSG00000025127,protein_coding -10044,Bhlhe22,ENSMUSG00000025128,protein_coding -40235,Ppp1r27,ENSMUSG00000025129,protein_coding -40236,P4hb,ENSMUSG00000025130,protein_coding -40237,Arhgdia,ENSMUSG00000025132,protein_coding -25225,Ints4,ENSMUSG00000025133,protein_coding -40239,Alyref,ENSMUSG00000025134,protein_coding -40240,Anapc11,ENSMUSG00000025135,protein_coding -40242,Pcyt2,ENSMUSG00000025137,protein_coding -40243,Sirt7,ENSMUSG00000025138,protein_coding -26607,Tollip,ENSMUSG00000025139,protein_coding -40247,Pycr1,ENSMUSG00000025140,protein_coding -40248,Myadml2,ENSMUSG00000025141,protein_coding -40252,Aspscr1,ENSMUSG00000025142,protein_coding -40254,Cenpx,ENSMUSG00000025144,protein_coding -40255,Lrrc45,ENSMUSG00000025145,protein_coding -26611,Mob2,ENSMUSG00000025147,protein_coding -40258,Cbr2,ENSMUSG00000025150,protein_coding -8668,Maged1,ENSMUSG00000025151,protein_coding -40264,Fasn,ENSMUSG00000025153,protein_coding -55076,Arhgap19,ENSMUSG00000025154,protein_coding -40263,Dus1l,ENSMUSG00000025155,protein_coding -40262,Gps1,ENSMUSG00000025156,protein_coding -55083,Zdhhc16,ENSMUSG00000025157,protein_coding -40261,Rfng,ENSMUSG00000025158,protein_coding -55084,Mms19,ENSMUSG00000025159,protein_coding -40267,Slc16a3,ENSMUSG00000025161,protein_coding -40268,Csnk1d,ENSMUSG00000025162,protein_coding -40273,Cd7,ENSMUSG00000025163,protein_coding -40275,Sectm1a,ENSMUSG00000025165,protein_coding -40283,Ogfod3,ENSMUSG00000025169,protein_coding -40289,Rab40b,ENSMUSG00000025170,protein_coding -55086,Ubtd1,ENSMUSG00000025171,protein_coding -55087,Ankrd2,ENSMUSG00000025172,protein_coding -40288,Wdr45b,ENSMUSG00000025173,protein_coding -40293,Fn3k,ENSMUSG00000025175,protein_coding -55088,Hoga1,ENSMUSG00000025176,protein_coding -55091,Pi4k2a,ENSMUSG00000025178,protein_coding -55103,R3hcc1l,ENSMUSG00000025184,protein_coding -55105,Loxl4,ENSMUSG00000025185,protein_coding -55109,Hps1,ENSMUSG00000025188,protein_coding -55117,Cnnm1,ENSMUSG00000025189,protein_coding -55119,Got1,ENSMUSG00000025190,protein_coding -55129,Entpd7,ENSMUSG00000025192,protein_coding -55131,Cutc,ENSMUSG00000025193,protein_coding -55132,Abcc2,ENSMUSG00000025194,protein_coding -55133,Dnmbp,ENSMUSG00000025195,protein_coding -55137,Cpn1,ENSMUSG00000025196,protein_coding -55138,Cyp2c23,ENSMUSG00000025197,protein_coding -55139,Erlin1,ENSMUSG00000025198,protein_coding -55140,Chuk,ENSMUSG00000025199,protein_coding -55141,Cwf19l1,ENSMUSG00000025200,protein_coding -55145,Scd3,ENSMUSG00000025202,protein_coding -55149,Scd2,ENSMUSG00000025203,protein_coding -55159,Ndufb8,ENSMUSG00000025204,protein_coding -55172,Sema4g,ENSMUSG00000025207,protein_coding -55173,Mrpl43,ENSMUSG00000025208,protein_coding -55174,Twnk,ENSMUSG00000025209,protein_coding -55177,Sfxn3,ENSMUSG00000025212,protein_coding -55179,Kazald1,ENSMUSG00000025213,protein_coding -55180,Tlx1,ENSMUSG00000025215,protein_coding -55182,Lbx1,ENSMUSG00000025216,protein_coding -55186,Btrc,ENSMUSG00000025217,protein_coding -55188,Poll,ENSMUSG00000025218,protein_coding -55191,Fgf8,ENSMUSG00000025219,protein_coding -55194,Oga,ENSMUSG00000025220,protein_coding -55195,Kcnip2,ENSMUSG00000025221,protein_coding -55201,Ldb1,ENSMUSG00000025223,protein_coding -55207,Gbf1,ENSMUSG00000025224,protein_coding -55211,Nfkb2,ENSMUSG00000025225,protein_coding -55213,Fbxl15,ENSMUSG00000025226,protein_coding -55216,Mfsd13a,ENSMUSG00000025227,protein_coding -55220,Actr1a,ENSMUSG00000025228,protein_coding -55206,Pitx3,ENSMUSG00000025229,protein_coding -55221,Sufu,ENSMUSG00000025231,protein_coding -35755,Hexa,ENSMUSG00000025232,protein_coding -35751,Arih1,ENSMUSG00000025234,protein_coding -35750,Bbs4,ENSMUSG00000025235,protein_coding -35749,Adpgk,ENSMUSG00000025236,protein_coding -35757,Parp6,ENSMUSG00000025237,protein_coding -37263,Limd1,ENSMUSG00000025239,protein_coding -37264,Sacm1l,ENSMUSG00000025240,protein_coding -37276,Fyco1,ENSMUSG00000025241,protein_coding -37265,Slc6a20b,ENSMUSG00000025243,protein_coding -37273,Lztfl1,ENSMUSG00000025245,protein_coding -8477,Tbl1x,ENSMUSG00000025246,protein_coding -9897,Zfhx4,ENSMUSG00000025255,protein_coding -9594,Ribc1,ENSMUSG00000025257,protein_coding -9593,Hsd17b10,ENSMUSG00000025260,protein_coding -9587,Huwe1,ENSMUSG00000025261,protein_coding -9576,Fam120c,ENSMUSG00000025262,protein_coding -9568,Tsr2,ENSMUSG00000025264,protein_coding -9567,Fgd1,ENSMUSG00000025265,protein_coding -9565,Gnl3l,ENSMUSG00000025266,protein_coding -9560,Maged2,ENSMUSG00000025268,protein_coding -9553,Apex2,ENSMUSG00000025269,protein_coding -9554,Alas2,ENSMUSG00000025270,protein_coding -9556,Pfkfb1,ENSMUSG00000025271,protein_coding -9557,Tro,ENSMUSG00000025272,protein_coding -32092,Abhd6,ENSMUSG00000025277,protein_coding -32089,Flnb,ENSMUSG00000025278,protein_coding -32091,Dnase1l3,ENSMUSG00000025279,protein_coding -32354,Polr3a,ENSMUSG00000025280,protein_coding -9673,Sat1,ENSMUSG00000025283,protein_coding -9675,Acot9,ENSMUSG00000025287,protein_coding -8222,4933436I01Rik,ENSMUSG00000025288,protein_coding -9677,Prdx4,ENSMUSG00000025289,protein_coding -32355,Rps24,ENSMUSG00000025290,protein_coding -5364,Ptprj,ENSMUSG00000025314,protein_coding -31692,Banp,ENSMUSG00000025316,protein_coding -31689,Car5a,ENSMUSG00000025317,protein_coding -31680,Jph3,ENSMUSG00000025318,protein_coding -45280,Itgb8,ENSMUSG00000025321,protein_coding -45269,Sp4,ENSMUSG00000025323,protein_coding -24267,Atp10a,ENSMUSG00000025324,protein_coding -24280,Ube3a,ENSMUSG00000025326,protein_coding -15148,Padi3,ENSMUSG00000025328,protein_coding -15150,Padi1,ENSMUSG00000025329,protein_coding -15147,Padi4,ENSMUSG00000025330,protein_coding -9599,Kdm5c,ENSMUSG00000025332,protein_coding -9611,Gpr143,ENSMUSG00000025333,protein_coding -18252,Sbds,ENSMUSG00000025337,protein_coding -18246,Rabgef1,ENSMUSG00000025340,protein_coding -29273,Mettl7b,ENSMUSG00000025347,protein_coding -29271,Itga7,ENSMUSG00000025348,protein_coding -29269,Rdh5,ENSMUSG00000025350,protein_coding -29268,Cd63,ENSMUSG00000025351,protein_coding -29267,Gdf11,ENSMUSG00000025352,protein_coding -29266,Ormdl2,ENSMUSG00000025353,protein_coding -29264,Dnajc14,ENSMUSG00000025354,protein_coding -29262,Mmp19,ENSMUSG00000025355,protein_coding -29258,Dgka,ENSMUSG00000025357,protein_coding -29256,Cdk2,ENSMUSG00000025358,protein_coding -29257,Pmel,ENSMUSG00000025359,protein_coding -29250,Rps26,ENSMUSG00000025362,protein_coding -29244,Pa2g4,ENSMUSG00000025364,protein_coding -29238,Esyt1,ENSMUSG00000025366,protein_coding -29234,Smarcc2,ENSMUSG00000025369,protein_coding -45467,Cdh9,ENSMUSG00000025370,protein_coding -40195,Chmp6,ENSMUSG00000025371,protein_coding -40198,Baiap2,ENSMUSG00000025372,protein_coding -29231,Rnf41,ENSMUSG00000025373,protein_coding -29229,Nabp2,ENSMUSG00000025374,protein_coding -40199,Aatk,ENSMUSG00000025375,protein_coding -40205,Tepsin,ENSMUSG00000025377,protein_coding -40219,Fscn2,ENSMUSG00000025380,protein_coding -29219,Cnpy2,ENSMUSG00000025381,protein_coding -29216,Il23a,ENSMUSG00000025383,protein_coding -40220,Faap100,ENSMUSG00000025384,protein_coding -40223,Pde6g,ENSMUSG00000025386,protein_coding -29210,Mip,ENSMUSG00000025389,protein_coding -29201,Atp5b,ENSMUSG00000025393,protein_coding -29197,Prim1,ENSMUSG00000025395,protein_coding -29195,Hsd17b6,ENSMUSG00000025396,protein_coding -29179,Tac2,ENSMUSG00000025400,protein_coding -29178,Myo1a,ENSMUSG00000025401,protein_coding -29174,Nab2,ENSMUSG00000025402,protein_coding -29168,Shmt2,ENSMUSG00000025403,protein_coding -29164,R3hdm2,ENSMUSG00000025404,protein_coding -29163,Inhbc,ENSMUSG00000025405,protein_coding -29160,Gli1,ENSMUSG00000025407,protein_coding -29155,Ddit3,ENSMUSG00000025408,protein_coding -29152,Mbd6,ENSMUSG00000025409,protein_coding -29151,Dctn2,ENSMUSG00000025410,protein_coding -14195,Ttc4,ENSMUSG00000025413,protein_coding -29149,Pip4k2c,ENSMUSG00000025417,protein_coding -14187,Bsnd,ENSMUSG00000025418,protein_coding -53846,Katnal2,ENSMUSG00000025420,protein_coding -53845,Hdhd2,ENSMUSG00000025421,protein_coding -29140,Agap2,ENSMUSG00000025422,protein_coding -53847,Pias2,ENSMUSG00000025423,protein_coding -53849,St8sia5,ENSMUSG00000025425,protein_coding -53853,Rnf165,ENSMUSG00000025427,protein_coding -53860,Atp5a1,ENSMUSG00000025428,protein_coding -53861,Pstpip2,ENSMUSG00000025429,protein_coding -50183,Crisp1,ENSMUSG00000025431,protein_coding -29131,Avil,ENSMUSG00000025432,protein_coding -50182,Crisp3,ENSMUSG00000025433,protein_coding -29124,Atp23,ENSMUSG00000025436,protein_coding -12648,Usp33,ENSMUSG00000025437,protein_coding -25234,Clns1a,ENSMUSG00000025439,protein_coding -42771,Paip1,ENSMUSG00000025451,protein_coding -42769,Nnt,ENSMUSG00000025453,protein_coding -26507,Cd163l1,ENSMUSG00000025461,protein_coding -26501,Paox,ENSMUSG00000025464,protein_coding -26500,Echs1,ENSMUSG00000025465,protein_coding -26499,Fuom,ENSMUSG00000025466,protein_coding -26498,Prap1,ENSMUSG00000025467,protein_coding -26497,Caly,ENSMUSG00000025468,protein_coding -26496,Msx3,ENSMUSG00000025469,protein_coding -26495,Zfp511,ENSMUSG00000025470,protein_coding -26492,Adam8,ENSMUSG00000025473,protein_coding -26494,Tubgcp2,ENSMUSG00000025474,protein_coding -26483,Adgra1,ENSMUSG00000025475,protein_coding -26476,Inpp5a,ENSMUSG00000025477,protein_coding -26469,Dpysl4,ENSMUSG00000025478,protein_coding -26533,Cyp2e1,ENSMUSG00000025479,protein_coding -26534,Syce1,ENSMUSG00000025480,protein_coding -26538,Urah,ENSMUSG00000025481,protein_coding -26541,Odf3,ENSMUSG00000025482,protein_coding -26542,Bet1l,ENSMUSG00000025484,protein_coding -26543,Ric8a,ENSMUSG00000025485,protein_coding -26544,Sirt3,ENSMUSG00000025486,protein_coding -26545,Psmd13,ENSMUSG00000025487,protein_coding -26547,Cox8b,ENSMUSG00000025488,protein_coding -26551,Ifitm5,ENSMUSG00000025489,protein_coding -26554,Ifitm1,ENSMUSG00000025491,protein_coding -26556,Ifitm3,ENSMUSG00000025492,protein_coding -26562,Sigirr,ENSMUSG00000025494,protein_coding -26565,Ptdss2,ENSMUSG00000025495,protein_coding -26578,Drd4,ENSMUSG00000025496,protein_coding -26576,Cdhr5,ENSMUSG00000025497,protein_coding -26575,Irf7,ENSMUSG00000025498,protein_coding -26569,Hras,ENSMUSG00000025499,protein_coding -26571,Lmntd2,ENSMUSG00000025500,protein_coding -26584,Taldo1,ENSMUSG00000025503,protein_coding -26581,Eps8l2,ENSMUSG00000025504,protein_coding -26580,Tmem80,ENSMUSG00000025505,protein_coding -26589,Pidd1,ENSMUSG00000025507,protein_coding -26590,Rplp2,ENSMUSG00000025508,protein_coding -26592,Pnpla2,ENSMUSG00000025509,protein_coding -26595,Cd151,ENSMUSG00000025510,protein_coding -26597,Tspan4,ENSMUSG00000025511,protein_coding -26598,Chid1,ENSMUSG00000025512,protein_coding -26604,Muc2,ENSMUSG00000025515,protein_coding -30504,Tktl2,ENSMUSG00000025519,protein_coding -30479,Tmem192,ENSMUSG00000025521,protein_coding -9008,Apool,ENSMUSG00000025525,protein_coding -9009,Satl1,ENSMUSG00000025527,protein_coding -9012,2010106E10Rik,ENSMUSG00000025528,protein_coding -9013,Zfp711,ENSMUSG00000025529,protein_coding -9024,Chm,ENSMUSG00000025531,protein_coding -18242,Crcp,ENSMUSG00000025532,protein_coding -18241,Asl,ENSMUSG00000025533,protein_coding -18240,Gusb,ENSMUSG00000025534,protein_coding -18232,Phkg1,ENSMUSG00000025537,protein_coding -18231,Sumf2,ENSMUSG00000025538,protein_coding -34403,Tm9sf2,ENSMUSG00000025544,protein_coding -34406,Clybl,ENSMUSG00000025545,protein_coding -34431,Fgf14,ENSMUSG00000025551,protein_coding -34386,Farp1,ENSMUSG00000025555,protein_coding -34391,Slc15a1,ENSMUSG00000025557,protein_coding -34394,Dock9,ENSMUSG00000025558,protein_coding -40131,Tnrc6c,ENSMUSG00000025571,protein_coding -40132,Tmc6,ENSMUSG00000025572,protein_coding -40136,6030468B19Rik,ENSMUSG00000025573,protein_coding -40139,Tk1,ENSMUSG00000025574,protein_coding -40158,Cant1,ENSMUSG00000025575,protein_coding -40163,Rbfox3,ENSMUSG00000025576,protein_coding -40168,Cbx2,ENSMUSG00000025577,protein_coding -40169,Cbx8,ENSMUSG00000025578,protein_coding -40180,Gaa,ENSMUSG00000025579,protein_coding -40181,Eif4a3,ENSMUSG00000025580,protein_coding -40189,Nptx1,ENSMUSG00000025582,protein_coding -40191,Rptor,ENSMUSG00000025583,protein_coding -24903,Pde8a,ENSMUSG00000025584,protein_coding -24906,Cpeb1,ENSMUSG00000025586,protein_coding -30519,Nat1,ENSMUSG00000025588,protein_coding -30502,Tma16,ENSMUSG00000025591,protein_coding -9027,Dach2,ENSMUSG00000025592,protein_coding -9034,Klhl4,ENSMUSG00000025597,protein_coding -35255,Zfp202,ENSMUSG00000025602,protein_coding -19256,Copg2,ENSMUSG00000025607,protein_coding -19274,Podxl,ENSMUSG00000025608,protein_coding -19273,Mkln1,ENSMUSG00000025609,protein_coding -48501,Map3k7cl,ENSMUSG00000025610,protein_coding -48503,Bach1,ENSMUSG00000025612,protein_coding -48497,Cct8,ENSMUSG00000025613,protein_coding -48496,Usp16,ENSMUSG00000025616,protein_coding -8003,Phf6,ENSMUSG00000025626,protein_coding -8004,Hprt,ENSMUSG00000025630,protein_coding -36902,Ccdc51,ENSMUSG00000025645,protein_coding -36899,Atrip,ENSMUSG00000025646,protein_coding -36898,Shisa5,ENSMUSG00000025647,protein_coding -36897,Pfkfb4,ENSMUSG00000025648,protein_coding -36893,Col7a1,ENSMUSG00000025650,protein_coding -36891,Uqcrc1,ENSMUSG00000025651,protein_coding -36890,Tmem89,ENSMUSG00000025652,protein_coding -8684,Arhgef9,ENSMUSG00000025656,protein_coding -9711,Cnksr2,ENSMUSG00000025658,protein_coding -8997,Rps6ka6,ENSMUSG00000025665,protein_coding -8524,Tmem47,ENSMUSG00000025666,protein_coding -21134,Alox5,ENSMUSG00000025701,protein_coding -21131,March8,ENSMUSG00000025702,protein_coding -3859,Myo3a,ENSMUSG00000025716,protein_coding -24889,Wdr73,ENSMUSG00000025722,protein_coding -24890,Nmb,ENSMUSG00000025723,protein_coding -24891,Sec11a,ENSMUSG00000025724,protein_coding -24900,Slc28a1,ENSMUSG00000025726,protein_coding -49401,A930017K11Rik,ENSMUSG00000025727,protein_coding -49399,Pigq,ENSMUSG00000025728,protein_coding -49396,Rab40c,ENSMUSG00000025730,protein_coding -49394,Mettl26,ENSMUSG00000025731,protein_coding -49393,Mcrip2,ENSMUSG00000025732,protein_coding -49391,Rhot2,ENSMUSG00000025733,protein_coding -49389,Rhbdl1,ENSMUSG00000025735,protein_coding -49386,Jmjd8,ENSMUSG00000025736,protein_coding -49385,Wdr24,ENSMUSG00000025737,protein_coding -49384,Fbxl16,ENSMUSG00000025738,protein_coding -49369,Gng13,ENSMUSG00000025739,protein_coding -9841,Prps2,ENSMUSG00000025742,protein_coding -14828,Sdc3,ENSMUSG00000025743,protein_coding -16132,Hadha,ENSMUSG00000025745,protein_coding -16127,Il6,ENSMUSG00000025746,protein_coding -16128,Tyms,ENSMUSG00000025747,protein_coding -24789,Agbl1,ENSMUSG00000025754,protein_coding -10381,Hspa4l,ENSMUSG00000025757,protein_coding -10382,Plk4,ENSMUSG00000025758,protein_coding -10383,Mfsd8,ENSMUSG00000025759,protein_coding -10391,Larp1b,ENSMUSG00000025762,protein_coding -10404,Jade1,ENSMUSG00000025764,protein_coding -10408,D3Ertd751e,ENSMUSG00000025766,protein_coding -238,Crisp4,ENSMUSG00000025774,protein_coding -230,Crispld1,ENSMUSG00000025776,protein_coding -220,Gdap1,ENSMUSG00000025777,protein_coding -213,Ly96,ENSMUSG00000025779,protein_coding -3556,Itih5,ENSMUSG00000025780,protein_coding -3552,Atp5c1,ENSMUSG00000025781,protein_coding -3550,Taf3,ENSMUSG00000025782,protein_coding -3547,4930412O13Rik,ENSMUSG00000025783,protein_coding -37256,Clec3b,ENSMUSG00000025784,protein_coding -37254,Exosc7,ENSMUSG00000025785,protein_coding -37253,Zdhhc3,ENSMUSG00000025786,protein_coding -37252,Tgm4,ENSMUSG00000025787,protein_coding -24758,St8sia2,ENSMUSG00000025789,protein_coding -24763,Slco3a1,ENSMUSG00000025790,protein_coding -14098,Pgm1,ENSMUSG00000025791,protein_coding -40231,Slc25a10,ENSMUSG00000025792,protein_coding -40227,Hgs,ENSMUSG00000025793,protein_coding -37150,Rpl14,ENSMUSG00000025794,protein_coding -29058,Rassf3,ENSMUSG00000025795,protein_coding -37280,Ccr1,ENSMUSG00000025804,protein_coding -31897,Ccdc7a,ENSMUSG00000025808,protein_coding -31896,Itgb1,ENSMUSG00000025809,protein_coding -31891,Nrp1,ENSMUSG00000025810,protein_coding -31887,Pard3,ENSMUSG00000025812,protein_coding -24918,Homer2,ENSMUSG00000025813,protein_coding -3511,Dhtkd1,ENSMUSG00000025815,protein_coding -3509,Sec61a2,ENSMUSG00000025816,protein_coding -3507,Nudt5,ENSMUSG00000025817,protein_coding -19639,Zfp282,ENSMUSG00000025821,protein_coding -19633,Pdia4,ENSMUSG00000025823,protein_coding -17762,Iscu,ENSMUSG00000025825,protein_coding -5192,Pramel6,ENSMUSG00000025838,protein_coding -5191,Pramel7,ENSMUSG00000025839,protein_coding -18529,Fam20c,ENSMUSG00000025854,protein_coding -18533,Prkar1b,ENSMUSG00000025855,protein_coding -18531,Pdgfa,ENSMUSG00000025856,protein_coding -18535,Dnaaf5,ENSMUSG00000025857,protein_coding -18538,Get4,ENSMUSG00000025858,protein_coding -7882,Xiap,ENSMUSG00000025860,protein_coding -7885,Stag2,ENSMUSG00000025862,protein_coding -41498,Cplx2,ENSMUSG00000025867,protein_coding -41508,Higd2a,ENSMUSG00000025868,protein_coding -41507,Nop16,ENSMUSG00000025869,protein_coding -41505,Arl10,ENSMUSG00000025870,protein_coding -41504,4833439L19Rik,ENSMUSG00000025871,protein_coding -41501,Thoc3,ENSMUSG00000025872,protein_coding -41510,Faf2,ENSMUSG00000025873,protein_coding -41517,Tspan17,ENSMUSG00000025875,protein_coding -41522,Unc5a,ENSMUSG00000025876,protein_coding -41523,Hk3,ENSMUSG00000025877,protein_coding -41524,Uimc1,ENSMUSG00000025878,protein_coding -53828,Smad7,ENSMUSG00000025880,protein_coding -53806,Myo5b,ENSMUSG00000025885,protein_coding -34476,Casp12,ENSMUSG00000025887,protein_coding -34474,Casp1,ENSMUSG00000025888,protein_coding -19958,Snca,ENSMUSG00000025889,protein_coding -34470,Gria4,ENSMUSG00000025892,protein_coding -34467,Kbtbd3,ENSMUSG00000025893,protein_coding -34466,Aasdhppt,ENSMUSG00000025894,protein_coding -34460,Cwf19l2,ENSMUSG00000025898,protein_coding -34457,Alkbh8,ENSMUSG00000025899,protein_coding -16,Rp1,ENSMUSG00000025900,protein_coding -19,Sox17,ENSMUSG00000025902,protein_coding -33,Lypla1,ENSMUSG00000025903,protein_coding -47,Oprk1,ENSMUSG00000025905,protein_coding -53,Rb1cc1,ENSMUSG00000025907,protein_coding -81,Sntg1,ENSMUSG00000025909,protein_coding -102,Adhfe1,ENSMUSG00000025911,protein_coding -107,Mybl1,ENSMUSG00000025912,protein_coding -110,Sgk3,ENSMUSG00000025915,protein_coding -118,Ppp1r42,ENSMUSG00000025916,protein_coding -121,Cops5,ENSMUSG00000025917,protein_coding -205,Stau2,ENSMUSG00000025920,protein_coding -202,Rdh10,ENSMUSG00000025921,protein_coding -195,Terf1,ENSMUSG00000025925,protein_coding -250,Tfap2b,ENSMUSG00000025927,protein_coding -264,Il17a,ENSMUSG00000025929,protein_coding -181,Msc,ENSMUSG00000025930,protein_coding -271,Paqr8,ENSMUSG00000025931,protein_coding -177,Eya1,ENSMUSG00000025932,protein_coding -278,Tmem14a,ENSMUSG00000025933,protein_coding -280,Gsta3,ENSMUSG00000025934,protein_coding -168,Tram1,ENSMUSG00000025935,protein_coding -169,Lactb2,ENSMUSG00000025937,protein_coding -152,Slco5a1,ENSMUSG00000025938,protein_coding -207,Ube2w,ENSMUSG00000025939,protein_coding -212,Tmem70,ENSMUSG00000025940,protein_coding -1074,Crygf,ENSMUSG00000025945,protein_coding -1065,Pth2r,ENSMUSG00000025946,protein_coding -1064,Pikfyve,ENSMUSG00000025949,protein_coding -1063,Idh1,ENSMUSG00000025950,protein_coding -1057,Crygc,ENSMUSG00000025952,protein_coding -1053,Akr1cl,ENSMUSG00000025955,protein_coding -1042,Mettl21a,ENSMUSG00000025956,protein_coding -1041,Creb1,ENSMUSG00000025958,protein_coding -1033,Klf7,ENSMUSG00000025959,protein_coding -1029,4933402D24Rik,ENSMUSG00000025961,protein_coding -1028,Fastkd2,ENSMUSG00000025962,protein_coding -1027,Mdh1b,ENSMUSG00000025963,protein_coding -1022,Adam23,ENSMUSG00000025964,protein_coding -1007,Eef1b2,ENSMUSG00000025967,protein_coding -1005,Ndufs1,ENSMUSG00000025968,protein_coding -994,Nrp2,ENSMUSG00000025969,protein_coding -867,Maip1,ENSMUSG00000025971,protein_coding -843,Boll,ENSMUSG00000025977,protein_coding -840,Rftn2,ENSMUSG00000025978,protein_coding -838,Mob4,ENSMUSG00000025979,protein_coding -834,Hspd1,ENSMUSG00000025980,protein_coding -832,Coq10b,ENSMUSG00000025981,protein_coding -830,Sf3b1,ENSMUSG00000025982,protein_coding -819,Ccdc150,ENSMUSG00000025983,protein_coding -715,Slc39a10,ENSMUSG00000025986,protein_coding -1102,Cps1,ENSMUSG00000025991,protein_coding -705,Slc40a1,ENSMUSG00000025993,protein_coding -700,Wdr75,ENSMUSG00000025995,protein_coding -1125,Ikzf2,ENSMUSG00000025997,protein_coding -1101,Lancl1,ENSMUSG00000026000,protein_coding -1094,Acadl,ENSMUSG00000026003,protein_coding -1085,Kansl1l,ENSMUSG00000026004,protein_coding -1084,Rpe,ENSMUSG00000026005,protein_coding -966,Icos,ENSMUSG00000026009,protein_coding -963,Ctla4,ENSMUSG00000026011,protein_coding -956,Cd28,ENSMUSG00000026012,protein_coding -948,Raph1,ENSMUSG00000026014,protein_coding -941,Carf,ENSMUSG00000026017,protein_coding -939,Ica1l,ENSMUSG00000026018,protein_coding -940,Wdr12,ENSMUSG00000026019,protein_coding -928,Nop58,ENSMUSG00000026020,protein_coding -924,Sumo1,ENSMUSG00000026021,protein_coding -916,Cdk15,ENSMUSG00000026023,protein_coding -915,Als2,ENSMUSG00000026024,protein_coding -905,Stradb,ENSMUSG00000026027,protein_coding -904,Trak2,ENSMUSG00000026028,protein_coding -901,Casp8,ENSMUSG00000026029,protein_coding -899,Cflar,ENSMUSG00000026031,protein_coding -892,Ndufb3,ENSMUSG00000026032,protein_coding -885,Clk1,ENSMUSG00000026034,protein_coding -886,Ppil3,ENSMUSG00000026035,protein_coding -887,Nif3l1,ENSMUSG00000026036,protein_coding -888,Orc2,ENSMUSG00000026037,protein_coding -876,Sgo2a,ENSMUSG00000026039,protein_coding -691,Col5a2,ENSMUSG00000026042,protein_coding -689,Col3a1,ENSMUSG00000026043,protein_coding -672,Kdelc1,ENSMUSG00000026047,protein_coding -674,Ercc5,ENSMUSG00000026048,protein_coding -670,Tex30,ENSMUSG00000026049,protein_coding -656,1500015O10Rik,ENSMUSG00000026051,protein_coding -411,Khdrbs2,ENSMUSG00000026058,protein_coding -618,Slc9a2,ENSMUSG00000026062,protein_coding -402,Pih1d3,ENSMUSG00000026063,protein_coding -393,Ptp4a1,ENSMUSG00000026064,protein_coding -616,Slc9a4,ENSMUSG00000026065,protein_coding -614,Il18rap,ENSMUSG00000026068,protein_coding -612,Il1rl1,ENSMUSG00000026069,protein_coding -613,Il18r1,ENSMUSG00000026070,protein_coding -608,Il1r1,ENSMUSG00000026072,protein_coding -605,Il1r2,ENSMUSG00000026073,protein_coding -603,Map4k4,ENSMUSG00000026074,protein_coding -584,Npas2,ENSMUSG00000026077,protein_coding -579,Pdcl3,ENSMUSG00000026078,protein_coding -575,Chst10,ENSMUSG00000026080,protein_coding -564,Rev1,ENSMUSG00000026082,protein_coding -563,Eif5b,ENSMUSG00000026083,protein_coding -560,Lyg1,ENSMUSG00000026085,protein_coding -557,Mrpl30,ENSMUSG00000026087,protein_coding -556,Mitd1,ENSMUSG00000026088,protein_coding -549,2010300C02Rik,ENSMUSG00000026090,protein_coding -812,Stk17b,ENSMUSG00000026094,protein_coding -805,Asnsd1,ENSMUSG00000026095,protein_coding -802,Osgepl1,ENSMUSG00000026096,protein_coding -800,Ormdl1,ENSMUSG00000026097,protein_coding -798,Pms1,ENSMUSG00000026098,protein_coding -795,Mstn,ENSMUSG00000026100,protein_coding -791,Inpp1,ENSMUSG00000026102,protein_coding -777,Gls,ENSMUSG00000026103,protein_coding -775,Stat1,ENSMUSG00000026104,protein_coding -761,Nabp1,ENSMUSG00000026107,protein_coding -751,Tmeff2,ENSMUSG00000026109,protein_coding -546,Mgat4a,ENSMUSG00000026110,protein_coding -545,Unc50,ENSMUSG00000026111,protein_coding -544,Coa5,ENSMUSG00000026112,protein_coding -541,Inpp4a,ENSMUSG00000026113,protein_coding -539,Cnga3,ENSMUSG00000026114,protein_coding -531,Tmem131,ENSMUSG00000026116,protein_coding -529,Zap70,ENSMUSG00000026117,protein_coding -520,Sema4c,ENSMUSG00000026121,protein_coding -485,Plekhb2,ENSMUSG00000026123,protein_coding -469,Cfc1,ENSMUSG00000026124,protein_coding -467,Prss39,ENSMUSG00000026125,protein_coding -464,Ptpn18,ENSMUSG00000026126,protein_coding -463,Imp4,ENSMUSG00000026127,protein_coding -447,Dst,ENSMUSG00000026131,protein_coding -434,Prim2,ENSMUSG00000026134,protein_coding -1213,Zfp142,ENSMUSG00000026135,protein_coding -323,Col19a1,ENSMUSG00000026141,protein_coding -1346,Rhbdd1,ENSMUSG00000026142,protein_coding -322,Col9a1,ENSMUSG00000026147,protein_coding -1356,Tm4sf20,ENSMUSG00000026149,protein_coding -1354,Mff,ENSMUSG00000026150,protein_coding -319,Fam135a,ENSMUSG00000026153,protein_coding -317,Sdhaf4,ENSMUSG00000026154,protein_coding -316,Smap1,ENSMUSG00000026155,protein_coding -315,B3gat2,ENSMUSG00000026156,protein_coding -312,Ogfrl1,ENSMUSG00000026158,protein_coding -1363,Agfg1,ENSMUSG00000026159,protein_coding -1234,Nhej1,ENSMUSG00000026162,protein_coding -1384,Sphkap,ENSMUSG00000026163,protein_coding -1379,Ccl20,ENSMUSG00000026166,protein_coding -1224,Wnt10a,ENSMUSG00000026167,protein_coding -1219,Cyp27a1,ENSMUSG00000026170,protein_coding -1216,Rnf25,ENSMUSG00000026171,protein_coding -1215,Bcs1l,ENSMUSG00000026172,protein_coding -1212,Plcd4,ENSMUSG00000026173,protein_coding -1211,Cnot9,ENSMUSG00000026174,protein_coding -1208,Vil1,ENSMUSG00000026175,protein_coding -1206,Ctdsp1,ENSMUSG00000026176,protein_coding -1205,Slc11a1,ENSMUSG00000026177,protein_coding -1199,Pnkd,ENSMUSG00000026179,protein_coding -1191,Cxcr2,ENSMUSG00000026180,protein_coding -47412,Ppm1f,ENSMUSG00000026181,protein_coding -1175,Tnp1,ENSMUSG00000026182,protein_coding -1173,Igfbp5,ENSMUSG00000026185,protein_coding -1163,Xrcc5,ENSMUSG00000026187,protein_coding -1162,Tmem169,ENSMUSG00000026188,protein_coding -1161,Pecr,ENSMUSG00000026189,protein_coding -1142,Atic,ENSMUSG00000026192,protein_coding -1143,Fn1,ENSMUSG00000026193,protein_coding -1137,Bard1,ENSMUSG00000026196,protein_coding -1238,Zfand2b,ENSMUSG00000026197,protein_coding -1239,Abcb6,ENSMUSG00000026198,protein_coding -1242,Ankzf1,ENSMUSG00000026199,protein_coding -1243,Glb1l,ENSMUSG00000026200,protein_coding -1245,Stk16,ENSMUSG00000026201,protein_coding -1246,Tuba4a,ENSMUSG00000026202,protein_coding -1249,Dnajb2,ENSMUSG00000026203,protein_coding -1250,Ptprn,ENSMUSG00000026204,protein_coding -1235,Slc23a3,ENSMUSG00000026205,protein_coding -1257,Speg,ENSMUSG00000026207,protein_coding -1255,Des,ENSMUSG00000026208,protein_coding -1254,Dnpep,ENSMUSG00000026209,protein_coding -1263,Obsl1,ENSMUSG00000026211,protein_coding -1267,Stk11ip,ENSMUSG00000026213,protein_coding -1399,Trip12,ENSMUSG00000026219,protein_coding -1403,Slc16a14,ENSMUSG00000026220,protein_coding -1433,Sp100,ENSMUSG00000026222,protein_coding -1441,Itm2c,ENSMUSG00000026223,protein_coding -1442,4933407L21Rik,ENSMUSG00000026224,protein_coding -1447,Spata3,ENSMUSG00000026226,protein_coding -1448,2810459M11Rik,ENSMUSG00000026227,protein_coding -1451,Htr2b,ENSMUSG00000026228,protein_coding -1449,Psmd1,ENSMUSG00000026229,protein_coding -1460,Ncl,ENSMUSG00000026234,protein_coding -1281,Epha4,ENSMUSG00000026235,protein_coding -1467,Nmur1,ENSMUSG00000026237,protein_coding -1470,Ptma,ENSMUSG00000026238,protein_coding -1471,Pde6d,ENSMUSG00000026239,protein_coding -1473,Cops7b,ENSMUSG00000026240,protein_coding -1476,Nppc,ENSMUSG00000026241,protein_coding -1292,Farsb,ENSMUSG00000026245,protein_coding -1492,Alppl2,ENSMUSG00000026246,protein_coding -1497,Ecel1,ENSMUSG00000026247,protein_coding -1313,Mrpl44,ENSMUSG00000026248,protein_coding -1314,Serpine2,ENSMUSG00000026249,protein_coding -1499,Chrnd,ENSMUSG00000026251,protein_coding -1500,Chrng,ENSMUSG00000026253,protein_coding -1501,Eif4e2,ENSMUSG00000026254,protein_coding -1503,Efhd1,ENSMUSG00000026255,protein_coding -1509,Snorc,ENSMUSG00000026258,protein_coding -1510,Ngef,ENSMUSG00000026259,protein_coding -1629,Ndufa10,ENSMUSG00000026260,protein_coding -1654,Rnpepl1,ENSMUSG00000026269,protein_coding -1656,Capn10,ENSMUSG00000026270,protein_coding -1657,Gpr35,ENSMUSG00000026271,protein_coding -1662,Agxt,ENSMUSG00000026272,protein_coding -1667,Mterf4,ENSMUSG00000026273,protein_coding -1670,Pask,ENSMUSG00000026274,protein_coding -1671,Ppp1r7,ENSMUSG00000026275,protein_coding -1678,Sept2,ENSMUSG00000026276,protein_coding -1682,Stk25,ENSMUSG00000026277,protein_coding -1684,Bok,ENSMUSG00000026278,protein_coding -1685,Thap4,ENSMUSG00000026279,protein_coding -1687,Atg4b,ENSMUSG00000026280,protein_coding -1688,Dtymk,ENSMUSG00000026281,protein_coding -1689,Ing5,ENSMUSG00000026283,protein_coding -1698,Pdcd1,ENSMUSG00000026285,protein_coding -1514,Inpp5d,ENSMUSG00000026288,protein_coding -1515,Atg16l1,ENSMUSG00000026289,protein_coding -1550,Spp2,ENSMUSG00000026295,protein_coding -1579,Iqca,ENSMUSG00000026301,protein_coding -1593,Mlph,ENSMUSG00000026303,protein_coding -1595,Rab17,ENSMUSG00000026304,protein_coding -1597,Lrrfip1,ENSMUSG00000026305,protein_coding -1604,Scly,ENSMUSG00000026307,protein_coding -1607,Klhl30,ENSMUSG00000026308,protein_coding -1609,Ilkap,ENSMUSG00000026309,protein_coding -1617,Asb1,ENSMUSG00000026311,protein_coding -1859,Cdh7,ENSMUSG00000026312,protein_coding -1623,Hdac4,ENSMUSG00000026313,protein_coding -1843,Serpinb8,ENSMUSG00000026315,protein_coding -29650,Cln8,ENSMUSG00000026317,protein_coding -1802,Relch,ENSMUSG00000026319,protein_coding -1805,Tnfrsf11a,ENSMUSG00000026321,protein_coding -53600,Htr4,ENSMUSG00000026322,protein_coding -1837,Serpinb11,ENSMUSG00000026327,protein_coding -1728,Slco6c1,ENSMUSG00000026331,protein_coding -1734,Gin1,ENSMUSG00000026333,protein_coding -1735,Pam,ENSMUSG00000026335,protein_coding -1745,Slco6d1,ENSMUSG00000026336,protein_coding -1974,Ccdc93,ENSMUSG00000026339,protein_coding -2012,Actr3,ENSMUSG00000026341,protein_coding -2014,Slc35f5,ENSMUSG00000026342,protein_coding -2016,Gpr39,ENSMUSG00000026343,protein_coding -2017,Lypd1,ENSMUSG00000026344,protein_coding -2032,Tmem163,ENSMUSG00000026347,protein_coding -2033,Acmsd,ENSMUSG00000026348,protein_coding -2035,Ccnt2,ENSMUSG00000026349,protein_coding -2050,Ubxn4,ENSMUSG00000026353,protein_coding -2051,Lct,ENSMUSG00000026354,protein_coding -2052,Mcm6,ENSMUSG00000026355,protein_coding -2053,Dars,ENSMUSG00000026356,protein_coding -2394,Rgs18,ENSMUSG00000026357,protein_coding -2390,Rgs1,ENSMUSG00000026358,protein_coding -2387,Rgs2,ENSMUSG00000026360,protein_coding -2379,Cdc73,ENSMUSG00000026361,protein_coding -2363,Cfh,ENSMUSG00000026365,protein_coding -2350,F13b,ENSMUSG00000026368,protein_coding -1912,Tsn,ENSMUSG00000026374,protein_coding -1913,Nifk,ENSMUSG00000026377,protein_coding -1920,Tfcp2l1,ENSMUSG00000026380,protein_coding -1939,Epb41l5,ENSMUSG00000026383,protein_coding -1941,Ptpn4,ENSMUSG00000026384,protein_coding -1954,Dbi,ENSMUSG00000026385,protein_coding -1952,Sctr,ENSMUSG00000026387,protein_coding -1955,3110009E18Rik,ENSMUSG00000026388,protein_coding -1956,Steap3,ENSMUSG00000026389,protein_coding -1959,Marco,ENSMUSG00000026390,protein_coding -2323,Nek7,ENSMUSG00000026393,protein_coding -2321,Atp6v1g3,ENSMUSG00000026394,protein_coding -2316,Ptprc,ENSMUSG00000026395,protein_coding -2292,Nr5a2,ENSMUSG00000026398,protein_coding -2077,Cd55,ENSMUSG00000026399,protein_coding -2074,Cd55b,ENSMUSG00000026401,protein_coding -2276,Ddx59,ENSMUSG00000026404,protein_coding -2083,C4bp,ENSMUSG00000026405,protein_coding -2262,Cacna1s,ENSMUSG00000026407,protein_coding -2086,Pfkfb2,ENSMUSG00000026409,protein_coding -2260,Tmem9,ENSMUSG00000026411,protein_coding -2257,Pkp1,ENSMUSG00000026413,protein_coding -2255,Tnnt2,ENSMUSG00000026414,protein_coding -2092,Fcamr,ENSMUSG00000026415,protein_coding -2097,Il20,ENSMUSG00000026416,protein_coding -2094,Pigr,ENSMUSG00000026417,protein_coding -2253,Tnni1,ENSMUSG00000026418,protein_coding -2096,Il24,ENSMUSG00000026420,protein_coding -2251,Csrp1,ENSMUSG00000026421,protein_coding -2235,Gpr37l1,ENSMUSG00000026424,protein_coding -2111,Srgap2,ENSMUSG00000026425,protein_coding -2232,Arl8a,ENSMUSG00000026426,protein_coding -2105,Eif2d,ENSMUSG00000026427,protein_coding -2227,Ube2t,ENSMUSG00000026429,protein_coding -2106,Rassf5,ENSMUSG00000026430,protein_coding -2118,Avpr1b,ENSMUSG00000026432,protein_coding -2125,Rab29,ENSMUSG00000026433,protein_coding -2127,Nucks1,ENSMUSG00000026434,protein_coding -2131,Slc45a3,ENSMUSG00000026435,protein_coding -2132,Elk4,ENSMUSG00000026436,protein_coding -2137,Cdk18,ENSMUSG00000026437,protein_coding -2153,Rbbp5,ENSMUSG00000026439,protein_coding -2156,Nfasc,ENSMUSG00000026442,protein_coding -2159,Lrrn2,ENSMUSG00000026443,protein_coding -2164,Pik3c2b,ENSMUSG00000026447,protein_coding -2200,Chit1,ENSMUSG00000026450,protein_coding -2221,Syt2,ENSMUSG00000026452,protein_coding -2213,Klhl12,ENSMUSG00000026455,protein_coding -2209,Cyb5r1,ENSMUSG00000026456,protein_coding -2210,Adipor1,ENSMUSG00000026457,protein_coding -2206,Ppfia4,ENSMUSG00000026458,protein_coding -2205,Myog,ENSMUSG00000026459,protein_coding -2186,Atp2b4,ENSMUSG00000026463,protein_coding -2560,Tor1aip1,ENSMUSG00000026466,protein_coding -2549,Lhx4,ENSMUSG00000026468,protein_coding -2545,Xpr1,ENSMUSG00000026469,protein_coding -2541,Stx6,ENSMUSG00000026470,protein_coding -2540,Mr1,ENSMUSG00000026471,protein_coding -2524,Glul,ENSMUSG00000026473,protein_coding -2514,Rgs16,ENSMUSG00000026475,protein_coding -2500,Lamc1,ENSMUSG00000026478,protein_coding -2499,Lamc2,ENSMUSG00000026479,protein_coding -2492,Ncf2,ENSMUSG00000026480,protein_coding -2486,Rgl1,ENSMUSG00000026482,protein_coding -2475,Fam129a,ENSMUSG00000026483,protein_coding -2470,Rnf2,ENSMUSG00000026484,protein_coding -3134,Coq8a,ENSMUSG00000026489,protein_coding -3131,Cdc42bpa,ENSMUSG00000026490,protein_coding -3128,Ahctf1,ENSMUSG00000026491,protein_coding -3123,Tfb2m,ENSMUSG00000026492,protein_coding -3117,Kif26b,ENSMUSG00000026494,protein_coding -3116,Efcab2,ENSMUSG00000026495,protein_coding -3146,Parp1,ENSMUSG00000026496,protein_coding -3149,Mixl1,ENSMUSG00000026497,protein_coding -3151,Acbd3,ENSMUSG00000026499,protein_coding -3111,Cox20,ENSMUSG00000026500,protein_coding -3106,Desi2,ENSMUSG00000026502,protein_coding -3075,Sdccag8,ENSMUSG00000026504,protein_coding -3207,Capn2,ENSMUSG00000026509,protein_coding -3206,Trp53bp2,ENSMUSG00000026510,protein_coding -3198,Srp9,ENSMUSG00000026511,protein_coding -3181,Cnih3,ENSMUSG00000026514,protein_coding -3174,Nvl,ENSMUSG00000026516,protein_coding -3164,Tmem63a,ENSMUSG00000026519,protein_coding -3162,Pycr2,ENSMUSG00000026520,protein_coding -3053,Wdr64,ENSMUSG00000026523,protein_coding -3051,Opn3,ENSMUSG00000026525,protein_coding -3049,Fh1,ENSMUSG00000026526,protein_coding -3046,Rgs7,ENSMUSG00000026527,protein_coding -3038,Mptx1,ENSMUSG00000026531,protein_coding -3036,Spta1,ENSMUSG00000026532,protein_coding -3019,Ifi202b,ENSMUSG00000026535,protein_coding -3017,Ifi211,ENSMUSG00000026536,protein_coding -2985,Apcs,ENSMUSG00000026542,protein_coding -2978,Dusp23,ENSMUSG00000026544,protein_coding -2973,Cfap45,ENSMUSG00000026546,protein_coding -2971,Tagln2,ENSMUSG00000026547,protein_coding -2969,Slamf9,ENSMUSG00000026548,protein_coding -2950,Copa,ENSMUSG00000026553,protein_coding -2955,Dcaf8,ENSMUSG00000026554,protein_coding -2947,Vangl2,ENSMUSG00000026556,protein_coding -2827,Uck2,ENSMUSG00000026558,protein_coding -2818,Fmo9,ENSMUSG00000026560,protein_coding -2811,Tada1,ENSMUSG00000026563,protein_coding -2805,Dusp27,ENSMUSG00000026564,protein_coding -2800,Pou2f1,ENSMUSG00000026565,protein_coding -2784,Mpzl1,ENSMUSG00000026566,protein_coding -2778,Adcy10,ENSMUSG00000026567,protein_coding -2776,Mpc2,ENSMUSG00000026568,protein_coding -2772,Dcaf6,ENSMUSG00000026571,protein_coding -2766,Tbx19,ENSMUSG00000026572,protein_coding -2762,Xcl1,ENSMUSG00000026573,protein_coding -2758,Dpt,ENSMUSG00000026574,protein_coding -2747,Nme7,ENSMUSG00000026575,protein_coding -2749,Atp1b1,ENSMUSG00000026576,protein_coding -2746,Blzf1,ENSMUSG00000026577,protein_coding -2745,Ccdc181,ENSMUSG00000026578,protein_coding -2742,F5,ENSMUSG00000026579,protein_coding -2739,Selp,ENSMUSG00000026580,protein_coding -2738,Sell,ENSMUSG00000026581,protein_coding -2737,Sele,ENSMUSG00000026582,protein_coding -2733,Scyl3,ENSMUSG00000026584,protein_coding -2732,Kifap3,ENSMUSG00000026585,protein_coding -2722,Prrx1,ENSMUSG00000026586,protein_coding -2605,Astn1,ENSMUSG00000026587,protein_coding -2598,Sec16b,ENSMUSG00000026589,protein_coding -2588,Tex35,ENSMUSG00000026592,protein_coding -2580,Ralgps2,ENSMUSG00000026594,protein_coding -2574,Abl2,ENSMUSG00000026596,protein_coding -2571,Soat1,ENSMUSG00000026600,protein_coding -2569,Axdnd1,ENSMUSG00000026601,protein_coding -2568,Nphs2,ENSMUSG00000026602,protein_coding -3328,Smyd2,ENSMUSG00000026603,protein_coding -3324,Ptpn14,ENSMUSG00000026604,protein_coding -3322,Cenpf,ENSMUSG00000026605,protein_coding -3313,Kctd3,ENSMUSG00000026608,protein_coding -3310,Ush2a,ENSMUSG00000026609,protein_coding -3304,Esrrg,ENSMUSG00000026610,protein_coding -3294,Spata17,ENSMUSG00000026611,protein_coding -3272,Slc30a10,ENSMUSG00000026614,protein_coding -3269,Eprs,ENSMUSG00000026615,protein_coding -3441,Cr2,ENSMUSG00000026616,protein_coding -3267,Bpnt1,ENSMUSG00000026617,protein_coding -3262,Iars2,ENSMUSG00000026618,protein_coding -3253,Mark1,ENSMUSG00000026620,protein_coding -3248,Marc1,ENSMUSG00000026621,protein_coding -3374,Nek2,ENSMUSG00000026622,protein_coding -3369,Lpgat1,ENSMUSG00000026623,protein_coding -3360,Ppp2r5a,ENSMUSG00000026626,protein_coding -3359,Tmem206,ENSMUSG00000026627,protein_coding -3353,Atf3,ENSMUSG00000026628,protein_coding -3350,Batf3,ENSMUSG00000026630,protein_coding -3347,Tatdn3,ENSMUSG00000026632,protein_coding -3339,Angel2,ENSMUSG00000026634,protein_coding -3380,Traf5,ENSMUSG00000026637,protein_coding -3401,Irf6,ENSMUSG00000026638,protein_coding -3406,Lamb3,ENSMUSG00000026639,protein_coding -3420,Plxna2,ENSMUSG00000026640,protein_coding -2918,Usf1,ENSMUSG00000026641,protein_coding -3450,Nmt2,ENSMUSG00000026643,protein_coding -3453,Acbd7,ENSMUSG00000026644,protein_coding -3454,Olah,ENSMUSG00000026645,protein_coding -3458,Suv39h2,ENSMUSG00000026646,protein_coding -3457,Dclre1c,ENSMUSG00000026648,protein_coding -2893,Cfap126,ENSMUSG00000026649,protein_coding -3456,Meig1,ENSMUSG00000026650,protein_coding -3465,Fam107b,ENSMUSG00000026655,protein_coding -2884,Fcgr2b,ENSMUSG00000026656,protein_coding -3471,Frmd4a,ENSMUSG00000026657,protein_coding -2878,Dusp12,ENSMUSG00000026659,protein_coding -3490,Sephs1,ENSMUSG00000026662,protein_coding -2874,Atf6,ENSMUSG00000026663,protein_coding -3491,Phyh,ENSMUSG00000026664,protein_coding -2864,Uhmk1,ENSMUSG00000026667,protein_coding -3495,Ucma,ENSMUSG00000026668,protein_coding -3496,Mcm10,ENSMUSG00000026669,protein_coding -2861,Uap1,ENSMUSG00000026670,protein_coding -3497,Optn,ENSMUSG00000026672,protein_coding -2860,Ddr2,ENSMUSG00000026674,protein_coding -2858,Hsd17b7,ENSMUSG00000026675,protein_coding -3500,Ccdc3,ENSMUSG00000026676,protein_coding -2852,Rgs5,ENSMUSG00000026678,protein_coding -3850,Enkur,ENSMUSG00000026679,protein_coding -2849,Nuf2,ENSMUSG00000026683,protein_coding -2839,Lmx1a,ENSMUSG00000026686,protein_coding -2835,Aldh9a1,ENSMUSG00000026687,protein_coding -2836,Mgst3,ENSMUSG00000026688,protein_coding -2716,Fmo3,ENSMUSG00000026691,protein_coding -2712,Fmo4,ENSMUSG00000026692,protein_coding -2705,Eef1aknmt,ENSMUSG00000026694,protein_coding -2706,Vamp4,ENSMUSG00000026696,protein_coding -2708,Myoc,ENSMUSG00000026697,protein_coding -2695,Pigc,ENSMUSG00000026698,protein_coding -2683,Tnfsf4,ENSMUSG00000026700,protein_coding -2681,Prdx6,ENSMUSG00000026701,protein_coding -2677,Klhl20,ENSMUSG00000026705,protein_coding -3768,Nsun6,ENSMUSG00000026707,protein_coding -2676,Cenpl,ENSMUSG00000026708,protein_coding -2674,Dars2,ENSMUSG00000026709,protein_coding -3747,Mrc1,ENSMUSG00000026712,protein_coding -2658,Serpinc1,ENSMUSG00000026715,protein_coding -3743,Stam,ENSMUSG00000026718,protein_coding -2635,Rabgap1l,ENSMUSG00000026721,protein_coding -3735,Trdmt1,ENSMUSG00000026723,protein_coding -2631,Tnn,ENSMUSG00000026725,protein_coding -3734,Cubn,ENSMUSG00000026726,protein_coding -3728,Rsu1,ENSMUSG00000026727,protein_coding -3736,Vim,ENSMUSG00000026728,protein_coding -3722,Pter,ENSMUSG00000026730,protein_coding -3824,4921504E06Rik,ENSMUSG00000026734,protein_coding -3822,Ptf1a,ENSMUSG00000026735,protein_coding -3813,Pip4k2a,ENSMUSG00000026737,protein_coding -3808,Bmi1,ENSMUSG00000026739,protein_coding -3801,Dnajc1,ENSMUSG00000026740,protein_coding -3796,Mllt10,ENSMUSG00000026743,protein_coding -3781,Plxdc2,ENSMUSG00000026748,protein_coding -4413,Nek6,ENSMUSG00000026749,protein_coding -4416,Psmb7,ENSMUSG00000026750,protein_coding -4421,Nr5a1,ENSMUSG00000026751,protein_coding -4444,Ppp6c,ENSMUSG00000026753,protein_coding -4438,Golga1,ENSMUSG00000026754,protein_coding -4437,Arpc5l,ENSMUSG00000026755,protein_coding -4503,Orc4,ENSMUSG00000026761,protein_coding -4510,Kif5c,ENSMUSG00000026764,protein_coding -4512,Lypd6b,ENSMUSG00000026765,protein_coding -4516,Mmadhc,ENSMUSG00000026766,protein_coding -3716,Mindy3,ENSMUSG00000026767,protein_coding -3713,Itga8,ENSMUSG00000026768,protein_coding -3706,Il2ra,ENSMUSG00000026770,protein_coding -3885,Spopl,ENSMUSG00000026771,protein_coding -3700,Pfkfb3,ENSMUSG00000026773,protein_coding -3881,4931423N10Rik,ENSMUSG00000026774,protein_coding -3879,Yme1l1,ENSMUSG00000026775,protein_coding -3687,Prkcq,ENSMUSG00000026778,protein_coding -3878,Mastl,ENSMUSG00000026779,protein_coding -3877,Acbd5,ENSMUSG00000026781,protein_coding -947,Abi2,ENSMUSG00000026782,protein_coding -3872,Pdss1,ENSMUSG00000026784,protein_coding -4137,Pkn3,ENSMUSG00000026785,protein_coding -3870,Apbb1ip,ENSMUSG00000026786,protein_coding -3864,Gad2,ENSMUSG00000026787,protein_coding -4272,Zbtb43,ENSMUSG00000026788,protein_coding -4130,Odf2,ENSMUSG00000026790,protein_coding -4261,Slc2a8,ENSMUSG00000026791,protein_coding -4258,Lrsam1,ENSMUSG00000026792,protein_coding -4257,Fam129b,ENSMUSG00000026796,protein_coding -4253,Stxbp1,ENSMUSG00000026797,protein_coding -4123,Coq4,ENSMUSG00000026798,protein_coding -4113,Med27,ENSMUSG00000026799,protein_coding -4107,Ttf1,ENSMUSG00000026803,protein_coding -4104,Barhl1,ENSMUSG00000026805,protein_coding -4103,Ddx31,ENSMUSG00000026806,protein_coding -4098,Ak8,ENSMUSG00000026807,protein_coding -4097,Spaca9,ENSMUSG00000026809,protein_coding -4231,Dpm2,ENSMUSG00000026810,protein_coding -4236,St6galnac6,ENSMUSG00000026811,protein_coding -4096,Tsc1,ENSMUSG00000026812,protein_coding -4238,Eng,ENSMUSG00000026814,protein_coding -4095,Gfi1b,ENSMUSG00000026815,protein_coding -4092,Gtf3c5,ENSMUSG00000026816,protein_coding -4237,Ak1,ENSMUSG00000026817,protein_coding -4090,Cel,ENSMUSG00000026818,protein_coding -4226,Slc25a25,ENSMUSG00000026819,protein_coding -4224,Ptges2,ENSMUSG00000026820,protein_coding -4089,Ralgds,ENSMUSG00000026821,protein_coding -4223,Lcn2,ENSMUSG00000026822,protein_coding -4574,Kcnj3,ENSMUSG00000026824,protein_coding -4218,Dnm1,ENSMUSG00000026825,protein_coding -4580,Nr4a2,ENSMUSG00000026826,protein_coding -4585,Gpd2,ENSMUSG00000026827,protein_coding -4592,Galnt5,ENSMUSG00000026828,protein_coding -4087,Gbgt1,ENSMUSG00000026829,protein_coding -4593,Ermn,ENSMUSG00000026830,protein_coding -4084,1700007K13Rik,ENSMUSG00000026831,protein_coding -4595,Cytip,ENSMUSG00000026832,protein_coding -4081,Olfm1,ENSMUSG00000026833,protein_coding -4597,Acvr1c,ENSMUSG00000026834,protein_coding -4078,Fcnb,ENSMUSG00000026835,protein_coding -4600,Acvr1,ENSMUSG00000026836,protein_coding -4076,Col5a1,ENSMUSG00000026837,protein_coding -4602,Upp2,ENSMUSG00000026839,protein_coding -4198,Lamc3,ENSMUSG00000026840,protein_coding -4196,Fibcd1,ENSMUSG00000026841,protein_coding -4194,Abl1,ENSMUSG00000026842,protein_coding -4187,Fubp3,ENSMUSG00000026843,protein_coding -4174,Tor1b,ENSMUSG00000026848,protein_coding -4175,Tor1a,ENSMUSG00000026849,protein_coding -4176,BC005624,ENSMUSG00000026851,protein_coding -4157,Crat,ENSMUSG00000026853,protein_coding -4177,Usp20,ENSMUSG00000026854,protein_coding -4156,Dolpp1,ENSMUSG00000026856,protein_coding -4169,Ntmt1,ENSMUSG00000026857,protein_coding -4154,Miga2,ENSMUSG00000026858,protein_coding -4153,Sh3glb2,ENSMUSG00000026860,protein_coding -4294,Hspa5,ENSMUSG00000026864,protein_coding -4470,Kynu,ENSMUSG00000026866,protein_coding -4293,Gapvd1,ENSMUSG00000026867,protein_coding -4299,Psmd5,ENSMUSG00000026869,protein_coding -4300,Cutal,ENSMUSG00000026870,protein_coding -4476,Zeb2,ENSMUSG00000026872,protein_coding -4301,Phf19,ENSMUSG00000026873,protein_coding -4306,Hc,ENSMUSG00000026874,protein_coding -4304,Traf1,ENSMUSG00000026875,protein_coding -4310,Rab14,ENSMUSG00000026878,protein_coding -4312,Gsn,ENSMUSG00000026879,protein_coding -4314,Stom,ENSMUSG00000026880,protein_coding -4316,4930568D16Rik,ENSMUSG00000026882,protein_coding -4324,Dab2ip,ENSMUSG00000026883,protein_coding -4325,Ttll11,ENSMUSG00000026885,protein_coding -4335,Mrrf,ENSMUSG00000026887,protein_coding -4667,Grb14,ENSMUSG00000026888,protein_coding -4334,Rbm18,ENSMUSG00000026889,protein_coding -4332,Lhx6,ENSMUSG00000026890,protein_coding -4656,Gca,ENSMUSG00000026893,protein_coding -4330,Morn5,ENSMUSG00000026894,protein_coding -4329,Ndufa8,ENSMUSG00000026895,protein_coding -4655,Ifih1,ENSMUSG00000026896,protein_coding -4648,Slc4a10,ENSMUSG00000026904,protein_coding -4643,Psmd14,ENSMUSG00000026914,protein_coding -4393,Strbp,ENSMUSG00000026915,protein_coding -4071,Wdr5,ENSMUSG00000026917,protein_coding -4069,Brd3,ENSMUSG00000026918,protein_coding -4039,Lcn4,ENSMUSG00000026919,protein_coding -4029,Egfl7,ENSMUSG00000026921,protein_coding -4033,Agpat2,ENSMUSG00000026922,protein_coding -4026,Notch1,ENSMUSG00000026923,protein_coding -4023,Sec16a,ENSMUSG00000026924,protein_coding -4022,Inpp5e,ENSMUSG00000026925,protein_coding -4021,Pmpca,ENSMUSG00000026926,protein_coding -4020,Entr1,ENSMUSG00000026927,protein_coding -4016,Card9,ENSMUSG00000026928,protein_coding -4014,Gpsm1,ENSMUSG00000026930,protein_coding -55391,1700019N19Rik,ENSMUSG00000026931,protein_coding -4005,Nacc2,ENSMUSG00000026932,protein_coding -4002,Camsap1,ENSMUSG00000026933,protein_coding -4010,Lhx3,ENSMUSG00000026934,protein_coding -3994,Lcn3,ENSMUSG00000026936,protein_coding -3987,Lcn5,ENSMUSG00000026937,protein_coding -3984,Fcna,ENSMUSG00000026938,protein_coding -3983,Tmem141,ENSMUSG00000026939,protein_coding -3982,Ccdc183,ENSMUSG00000026940,protein_coding -3976,Mamdc4,ENSMUSG00000026941,protein_coding -3972,Traf2,ENSMUSG00000026942,protein_coding -3969,Lcn12,ENSMUSG00000026943,protein_coding -3964,Abca2,ENSMUSG00000026944,protein_coding -4540,Nmi,ENSMUSG00000026946,protein_coding -4543,Neb,ENSMUSG00000026950,protein_coding -3960,Sapcd2,ENSMUSG00000026955,protein_coding -3959,Uap1l1,ENSMUSG00000026956,protein_coding -3958,Dpp7,ENSMUSG00000026958,protein_coding -3953,Grin1,ENSMUSG00000026959,protein_coding -4557,Arl6ip6,ENSMUSG00000026960,protein_coding -3952,Lrrc26,ENSMUSG00000026961,protein_coding -3951,Tmem210,ENSMUSG00000026963,protein_coding -3950,Anapc2,ENSMUSG00000026965,protein_coding -3949,Ssna1,ENSMUSG00000026966,protein_coding -3938,Fam166a,ENSMUSG00000026969,protein_coding -4635,Rbms1,ENSMUSG00000026970,protein_coding -4634,Itgb6,ENSMUSG00000026971,protein_coding -3916,Arrdc1,ENSMUSG00000026972,protein_coding -3918,Zmynd19,ENSMUSG00000026974,protein_coding -3919,Dph7,ENSMUSG00000026975,protein_coding -3903,Pax8,ENSMUSG00000026976,protein_coding -4624,March7,ENSMUSG00000026977,protein_coding -3902,Psd4,ENSMUSG00000026979,protein_coding -4627,Ly75,ENSMUSG00000026980,protein_coding -3901,Il1rn,ENSMUSG00000026981,protein_coding -3898,Il1f5,ENSMUSG00000026983,protein_coding -3895,Il1f6,ENSMUSG00000026984,protein_coding -3892,Il1f8,ENSMUSG00000026985,protein_coding -3890,Hnmt,ENSMUSG00000026986,protein_coding -4618,Baz2b,ENSMUSG00000026987,protein_coding -4617,Wdsub1,ENSMUSG00000026988,protein_coding -4614,Dapl1,ENSMUSG00000026989,protein_coding -4610,Pkp4,ENSMUSG00000026991,protein_coding -4681,Galnt3,ENSMUSG00000026994,protein_coding -4948,Nup35,ENSMUSG00000026999,protein_coding -4947,Dusp19,ENSMUSG00000027001,protein_coding -4943,Nckap1,ENSMUSG00000027002,protein_coding -4941,Frzb,ENSMUSG00000027004,protein_coding -4939,Dnajc10,ENSMUSG00000027006,protein_coding -4934,Itprid2,ENSMUSG00000027007,protein_coding -4928,Itga4,ENSMUSG00000027009,protein_coding -4771,Slc25a12,ENSMUSG00000027010,protein_coding -4923,Ube2e3,ENSMUSG00000027011,protein_coding -4770,Dync1i2,ENSMUSG00000027012,protein_coding -4914,Cwc22,ENSMUSG00000027014,protein_coding -4769,Cybrd1,ENSMUSG00000027015,protein_coding -4910,Zfp385b,ENSMUSG00000027016,protein_coding -4773,Hat1,ENSMUSG00000027018,protein_coding -4701,Xirp2,ENSMUSG00000027022,protein_coding -4711,Stk39,ENSMUSG00000027030,protein_coding -4722,Cers6,ENSMUSG00000027035,protein_coding -4732,Abcb11,ENSMUSG00000027048,protein_coding -5018,Ssrp1,ENSMUSG00000027067,protein_coding -4735,Dhrs9,ENSMUSG00000027068,protein_coding -4736,Lrp2,ENSMUSG00000027070,protein_coding -5017,P2rx3,ENSMUSG00000027071,protein_coding -5016,Prg3,ENSMUSG00000027072,protein_coding -5015,Prg2,ENSMUSG00000027073,protein_coding -5014,Slc43a3,ENSMUSG00000027074,protein_coding -5011,Slc43a1,ENSMUSG00000027075,protein_coding -5010,Timm10,ENSMUSG00000027076,protein_coding -5009,Smtnl1,ENSMUSG00000027077,protein_coding -5008,Ube2l6,ENSMUSG00000027078,protein_coding -5003,Clp1,ENSMUSG00000027079,protein_coding -4999,Med19,ENSMUSG00000027080,protein_coding -4992,Tfpi,ENSMUSG00000027082,protein_coding -4739,Fastkd1,ENSMUSG00000027086,protein_coding -4975,Itgav,ENSMUSG00000027087,protein_coding -4744,Phospho2,ENSMUSG00000027088,protein_coding -4973,Zc3h15,ENSMUSG00000027091,protein_coding -4864,Mtx2,ENSMUSG00000027099,protein_coding -4855,Hoxd8,ENSMUSG00000027102,protein_coding -4830,Atf2,ENSMUSG00000027104,protein_coding -4824,Chrna1,ENSMUSG00000027107,protein_coding -4810,Ola1,ENSMUSG00000027108,protein_coding -4805,Sp3,ENSMUSG00000027109,protein_coding -4783,Itga6,ENSMUSG00000027111,protein_coding -5635,Kif18a,ENSMUSG00000027115,protein_coding -5618,Fshb,ENSMUSG00000027120,protein_coding -5615,Arl14ep,ENSMUSG00000027122,protein_coding -5719,Slc12a6,ENSMUSG00000027130,protein_coding -5721,Emc4,ENSMUSG00000027131,protein_coding -5722,Katnbl1,ENSMUSG00000027132,protein_coding -5718,Nop10,ENSMUSG00000027133,protein_coding -5716,Lpcat4,ENSMUSG00000027134,protein_coding -5660,4930430A15Rik,ENSMUSG00000027157,protein_coding -5645,Ccdc34,ENSMUSG00000027160,protein_coding -5642,Lin7c,ENSMUSG00000027162,protein_coding -5510,Commd9,ENSMUSG00000027163,protein_coding -5507,Traf6,ENSMUSG00000027164,protein_coding -5503,B230118H07Rik,ENSMUSG00000027165,protein_coding -5600,Dnajc24,ENSMUSG00000027166,protein_coding -5597,Elp4,ENSMUSG00000027167,protein_coding -5596,Pax6,ENSMUSG00000027168,protein_coding -5580,Eif3m,ENSMUSG00000027170,protein_coding -5577,Prrg4,ENSMUSG00000027171,protein_coding -5574,Depdc7,ENSMUSG00000027173,protein_coding -5572,Tcp11l1,ENSMUSG00000027175,protein_coding -5571,Cstf3,ENSMUSG00000027176,protein_coding -5564,Hipk3,ENSMUSG00000027177,protein_coding -5552,Fbxo3,ENSMUSG00000027180,protein_coding -5539,Caprin1,ENSMUSG00000027184,protein_coding -5538,Nat10,ENSMUSG00000027185,protein_coding -5534,Elf5,ENSMUSG00000027186,protein_coding -5535,Cat,ENSMUSG00000027187,protein_coding -5519,Pamr1,ENSMUSG00000027188,protein_coding -5516,Trim44,ENSMUSG00000027189,protein_coding -5471,Api5,ENSMUSG00000027193,protein_coding -5468,Ttc17,ENSMUSG00000027194,protein_coding -5462,Hsd17b12,ENSMUSG00000027195,protein_coding -5453,Ext2,ENSMUSG00000027198,protein_coding -5950,Gatm,ENSMUSG00000027199,protein_coding -5960,Sema6d,ENSMUSG00000027200,protein_coding -5965,Myef2,ENSMUSG00000027201,protein_coding -5969,Slc12a1,ENSMUSG00000027202,protein_coding -5971,Dut,ENSMUSG00000027203,protein_coding -5974,Fbn1,ENSMUSG00000027204,protein_coding -5980,Cops2,ENSMUSG00000027206,protein_coding -5981,Galk2,ENSMUSG00000027207,protein_coding -5983,Fgf7,ENSMUSG00000027208,protein_coding -5982,Fam227b,ENSMUSG00000027209,protein_coding -5769,Meis2,ENSMUSG00000027210,protein_coding -5449,Cd82,ENSMUSG00000027215,protein_coding -5446,Tspan18,ENSMUSG00000027217,protein_coding -5946,Slc28a2,ENSMUSG00000027219,protein_coding -5441,Syt13,ENSMUSG00000027220,protein_coding -5437,Chst1,ENSMUSG00000027221,protein_coding -5425,Pex16,ENSMUSG00000027222,protein_coding -5427,Mapk8ip1,ENSMUSG00000027223,protein_coding -5942,Duoxa1,ENSMUSG00000027224,protein_coding -5941,Duoxa2,ENSMUSG00000027225,protein_coding -5939,Sord,ENSMUSG00000027227,protein_coding -5935,Terb2,ENSMUSG00000027229,protein_coding -5417,Creb3l1,ENSMUSG00000027230,protein_coding -5932,Patl2,ENSMUSG00000027233,protein_coding -5929,Eif3j1,ENSMUSG00000027236,protein_coding -5921,Frmd5,ENSMUSG00000027238,protein_coding -5413,Mdk,ENSMUSG00000027239,protein_coding -5920,Wdr76,ENSMUSG00000027242,protein_coding -5408,Harbi1,ENSMUSG00000027243,protein_coding -5407,Atg13,ENSMUSG00000027244,protein_coding -5915,Hypk,ENSMUSG00000027245,protein_coding -5911,Ell3,ENSMUSG00000027246,protein_coding -5406,Arhgap1,ENSMUSG00000027247,protein_coding -5910,Pdia3,ENSMUSG00000027248,protein_coding -5403,F2,ENSMUSG00000027249,protein_coding -5399,Lrp4,ENSMUSG00000027253,protein_coding -5902,Map1a,ENSMUSG00000027254,protein_coding -5395,Arfgap2,ENSMUSG00000027255,protein_coding -5394,Pacsin3,ENSMUSG00000027257,protein_coding -5898,Adal,ENSMUSG00000027259,protein_coding -6204,Hao1,ENSMUSG00000027261,protein_coding -5900,Tubgcp4,ENSMUSG00000027263,protein_coding -6218,Lamp5,ENSMUSG00000027270,protein_coding -5887,Ubr1,ENSMUSG00000027272,protein_coding -6225,Snap25,ENSMUSG00000027273,protein_coding -6227,Mkks,ENSMUSG00000027274,protein_coding -6231,Jag1,ENSMUSG00000027276,protein_coding -6230,Slx4ip,ENSMUSG00000027281,protein_coding -5371,Mtch2,ENSMUSG00000027282,protein_coding -5884,Cdan1,ENSMUSG00000027284,protein_coding -5881,Haus2,ENSMUSG00000027285,protein_coding -5880,Lrrc57,ENSMUSG00000027286,protein_coding -5879,Snap23,ENSMUSG00000027287,protein_coding -5877,Zfp106,ENSMUSG00000027288,protein_coding -5873,Vps39,ENSMUSG00000027291,protein_coding -5868,Ehd4,ENSMUSG00000027293,protein_coding -5854,Itpka,ENSMUSG00000027296,protein_coding -5855,Ltk,ENSMUSG00000027297,protein_coding -5858,Tyro3,ENSMUSG00000027298,protein_coding -6120,Ubox5,ENSMUSG00000027300,protein_coding -6118,Oxt,ENSMUSG00000027301,protein_coding -6113,Ptpra,ENSMUSG00000027303,protein_coding -5852,Rtf1,ENSMUSG00000027304,protein_coding -5849,Ndufaf1,ENSMUSG00000027305,protein_coding -5847,Nusap1,ENSMUSG00000027306,protein_coding -6127,4930402H24Rik,ENSMUSG00000027309,protein_coding -6131,Atrn,ENSMUSG00000027312,protein_coding -5840,Chac1,ENSMUSG00000027313,protein_coding -5839,Dll4,ENSMUSG00000027314,protein_coding -5834,Spint1,ENSMUSG00000027315,protein_coding -6133,Gfra4,ENSMUSG00000027316,protein_coding -5833,Ppp1r14d,ENSMUSG00000027317,protein_coding -6135,Adam33,ENSMUSG00000027318,protein_coding -6136,Siglec1,ENSMUSG00000027322,protein_coding -5826,Rad51,ENSMUSG00000027323,protein_coding -5824,Rpusd2,ENSMUSG00000027324,protein_coding -5825,Knl1,ENSMUSG00000027326,protein_coding -6139,1700037H04Rik,ENSMUSG00000027327,protein_coding -6141,Spef1,ENSMUSG00000027329,protein_coding -6143,Cdc25b,ENSMUSG00000027330,protein_coding -5816,Knstrn,ENSMUSG00000027331,protein_coding -5818,Ivd,ENSMUSG00000027332,protein_coding -6154,Smox,ENSMUSG00000027333,protein_coding -6155,Adra1d,ENSMUSG00000027335,protein_coding -6165,Prnd,ENSMUSG00000027338,protein_coding -6166,Rassf2,ENSMUSG00000027339,protein_coding -6167,Slc23a2,ENSMUSG00000027340,protein_coding -6170,Tmem230,ENSMUSG00000027341,protein_coding -6171,Pcna,ENSMUSG00000027342,protein_coding -5796,Fsip1,ENSMUSG00000027344,protein_coding -6178,Gpcpd1,ENSMUSG00000027346,protein_coding -5786,Rasgrp1,ENSMUSG00000027347,protein_coding -5785,Fam98b,ENSMUSG00000027349,protein_coding -6186,Chgb,ENSMUSG00000027350,protein_coding -5781,Spred1,ENSMUSG00000027351,protein_coding -6188,Mcm8,ENSMUSG00000027353,protein_coding -5775,Tmco5,ENSMUSG00000027355,protein_coding -6192,Fermt1,ENSMUSG00000027356,protein_coding -6190,Crls1,ENSMUSG00000027357,protein_coding -6201,Bmp2,ENSMUSG00000027358,protein_coding -5990,Slc27a2,ENSMUSG00000027359,protein_coding -5991,Hdc,ENSMUSG00000027360,protein_coding -5992,Gabpb1,ENSMUSG00000027361,protein_coding -5995,Usp8,ENSMUSG00000027363,protein_coding -5996,Usp50,ENSMUSG00000027364,protein_coding -5998,Trpm7,ENSMUSG00000027365,protein_coding -6000,Sppl2a,ENSMUSG00000027366,protein_coding -6012,Stard7,ENSMUSG00000027367,protein_coding -6013,Dusp2,ENSMUSG00000027368,protein_coding -6017,Fahd2a,ENSMUSG00000027371,protein_coding -6023,Mrps5,ENSMUSG00000027374,protein_coding -6024,Mal,ENSMUSG00000027375,protein_coding -6020,Prom2,ENSMUSG00000027376,protein_coding -6028,Mall,ENSMUSG00000027377,protein_coding -6029,Nphp1,ENSMUSG00000027378,protein_coding -6031,Bub1,ENSMUSG00000027379,protein_coding -6032,Acoxl,ENSMUSG00000027380,protein_coding -6035,Bcl2l11,ENSMUSG00000027381,protein_coding -6253,Ndufaf5,ENSMUSG00000027384,protein_coding -6051,Fbln7,ENSMUSG00000027386,protein_coding -6053,Zc3h8,ENSMUSG00000027387,protein_coding -6061,Ttl,ENSMUSG00000027394,protein_coding -6062,Polr1b,ENSMUSG00000027395,protein_coding -6069,Slc20a1,ENSMUSG00000027397,protein_coding -6078,Il1b,ENSMUSG00000027398,protein_coding -6075,Il1a,ENSMUSG00000027399,protein_coding -6085,Pdyn,ENSMUSG00000027400,protein_coding -6089,Tgm3,ENSMUSG00000027401,protein_coding -6094,Tgm6,ENSMUSG00000027403,protein_coding -6095,Snrpb,ENSMUSG00000027404,protein_coding -6097,Nop56,ENSMUSG00000027405,protein_coding -6103,Idh3b,ENSMUSG00000027406,protein_coding -6106,Cpxm1,ENSMUSG00000027408,protein_coding -6109,1700020A23Rik,ENSMUSG00000027409,protein_coding -6112,Vps16,ENSMUSG00000027411,protein_coding -6735,Lpin3,ENSMUSG00000027412,protein_coding -6271,Otor,ENSMUSG00000027416,protein_coding -6277,Pcsk2,ENSMUSG00000027419,protein_coding -6279,Bfsp1,ENSMUSG00000027420,protein_coding -6284,Rrbp1,ENSMUSG00000027422,protein_coding -6290,Snx5,ENSMUSG00000027423,protein_coding -6294,Mgme1,ENSMUSG00000027424,protein_coding -6299,Kat14,ENSMUSG00000027425,protein_coding -6303,Polr3f,ENSMUSG00000027427,protein_coding -6304,Rbbp9,ENSMUSG00000027428,protein_coding -6305,Sec23b,ENSMUSG00000027429,protein_coding -6307,Dtd1,ENSMUSG00000027430,protein_coding -6310,Scp2d1,ENSMUSG00000027431,protein_coding -6333,Xrn2,ENSMUSG00000027433,protein_coding -6336,Nkx2-2,ENSMUSG00000027434,protein_coding -6359,Cd93,ENSMUSG00000027435,protein_coding -6364,Napb,ENSMUSG00000027438,protein_coding -6363,Gzf1,ENSMUSG00000027439,protein_coding -6369,Cst8,ENSMUSG00000027442,protein_coding -6368,Cst12,ENSMUSG00000027443,protein_coding -6367,Cstdc1,ENSMUSG00000027444,protein_coding -6371,Cst9,ENSMUSG00000027445,protein_coding -6372,Cstdc2,ENSMUSG00000027446,protein_coding -6373,Cst3,ENSMUSG00000027447,protein_coding -6407,Acss1,ENSMUSG00000027452,protein_coding -6417,Gins1,ENSMUSG00000027454,protein_coding -6441,Nsfl1c,ENSMUSG00000027455,protein_coding -6444,Sdcbp2,ENSMUSG00000027456,protein_coding -6445,Snph,ENSMUSG00000027457,protein_coding -6459,Fam110a,ENSMUSG00000027459,protein_coding -6456,Angpt4,ENSMUSG00000027460,protein_coding -6460,Slc52a3,ENSMUSG00000027463,protein_coding -6467,Tbc1d20,ENSMUSG00000027465,protein_coding -6468,Rbck1,ENSMUSG00000027466,protein_coding -6481,Defb22,ENSMUSG00000027468,protein_coding -6503,Tpx2,ENSMUSG00000027469,protein_coding -6505,Mylk2,ENSMUSG00000027470,protein_coding -6510,Pdrg1,ENSMUSG00000027472,protein_coding -6512,Ccm2l,ENSMUSG00000027474,protein_coding -6519,Kif3b,ENSMUSG00000027475,protein_coding -6527,Dnmt3b,ENSMUSG00000027478,protein_coding -6529,Mapre1,ENSMUSG00000027479,protein_coding -6532,Sun5,ENSMUSG00000027480,protein_coding -6533,Bpifb2,ENSMUSG00000027481,protein_coding -6541,Bpifa3,ENSMUSG00000027482,protein_coding -6542,Bpifa1,ENSMUSG00000027483,protein_coding -6543,Bpifa5,ENSMUSG00000027484,protein_coding -6544,Bpifb1,ENSMUSG00000027485,protein_coding -6549,Cdk5rap1,ENSMUSG00000027487,protein_coding -6550,Snta1,ENSMUSG00000027488,protein_coding -6552,Necab3,ENSMUSG00000027489,protein_coding -6555,E2f1,ENSMUSG00000027490,protein_coding -7000,Fam210b,ENSMUSG00000027495,protein_coding -7001,Aurka,ENSMUSG00000027496,protein_coding -7002,Cstf1,ENSMUSG00000027498,protein_coding -9915,Pkia,ENSMUSG00000027499,protein_coding -9928,Stmn2,ENSMUSG00000027500,protein_coding -7005,Rtf2,ENSMUSG00000027502,protein_coding -7007,Fam209,ENSMUSG00000027505,protein_coding -9939,Tpd52,ENSMUSG00000027506,protein_coding -9949,Pag1,ENSMUSG00000027508,protein_coding -7013,Rae1,ENSMUSG00000027509,protein_coding -7014,Rbm38,ENSMUSG00000027510,protein_coding -7019,Pck1,ENSMUSG00000027513,protein_coding -7020,Zbp1,ENSMUSG00000027514,protein_coding -7025,Ankrd60,ENSMUSG00000027517,protein_coding -7024,1700021F07Rik,ENSMUSG00000027518,protein_coding -7027,Rab22a,ENSMUSG00000027519,protein_coding -1018,Zdbf2,ENSMUSG00000027520,protein_coding -7036,Stx16,ENSMUSG00000027522,protein_coding -7043,Gnas,ENSMUSG00000027523,protein_coding -7057,Edn3,ENSMUSG00000027524,protein_coding -7148,Phactr3,ENSMUSG00000027525,protein_coding -9960,Fabp9,ENSMUSG00000027528,protein_coding -9965,Fabp12,ENSMUSG00000027530,protein_coding -9968,Impa1,ENSMUSG00000027531,protein_coding -9954,Fabp5,ENSMUSG00000027533,protein_coding -9973,Snx16,ENSMUSG00000027534,protein_coding -9972,Chmp4c,ENSMUSG00000027536,protein_coding -6932,Ptpn1,ENSMUSG00000027540,protein_coding -6949,Nfatc2,ENSMUSG00000027544,protein_coding -6950,Atp9a,ENSMUSG00000027546,protein_coding -6952,Sall4,ENSMUSG00000027547,protein_coding -10005,Lrrcc1,ENSMUSG00000027550,protein_coding -6955,Zfp64,ENSMUSG00000027551,protein_coding -10007,E2f5,ENSMUSG00000027552,protein_coding -10010,Car13,ENSMUSG00000027555,protein_coding -10012,Car1,ENSMUSG00000027556,protein_coding -10014,Car3,ENSMUSG00000027559,protein_coding -6984,Dok5,ENSMUSG00000027560,protein_coding -10015,Car2,ENSMUSG00000027562,protein_coding -10042,Cypt12,ENSMUSG00000027564,protein_coding -7164,Psma7,ENSMUSG00000027566,protein_coding -7183,Ntsr1,ENSMUSG00000027568,protein_coding -7184,Mrgbp,ENSMUSG00000027569,protein_coding -7186,Col9a3,ENSMUSG00000027570,protein_coding -7190,Gid8,ENSMUSG00000027573,protein_coding -7203,Nkain4,ENSMUSG00000027574,protein_coding -7205,Arfgap1,ENSMUSG00000027575,protein_coding -7208,Chrna4,ENSMUSG00000027577,protein_coding -7214,Srms,ENSMUSG00000027579,protein_coding -7217,Helz2,ENSMUSG00000027580,protein_coding -7220,Stmn3,ENSMUSG00000027581,protein_coding -7223,Zgpat,ENSMUSG00000027582,protein_coding -7226,Zbtb46,ENSMUSG00000027583,protein_coding -7244,Oprl1,ENSMUSG00000027584,protein_coding -7247,Pcmtd2,ENSMUSG00000027589,protein_coding -6565,Raly,ENSMUSG00000027593,protein_coding -6566,a,ENSMUSG00000027596,protein_coding -6569,Ahcy,ENSMUSG00000027597,protein_coding -6572,Itch,ENSMUSG00000027598,protein_coding -10056,Armc1,ENSMUSG00000027599,protein_coding -10058,Mtfr1,ENSMUSG00000027601,protein_coding -6575,Map1lc3a,ENSMUSG00000027602,protein_coding -6582,Ggt7,ENSMUSG00000027603,protein_coding -6583,Acss2,ENSMUSG00000027605,protein_coding -10062,Dnajc5b,ENSMUSG00000027606,protein_coding -6587,Gss,ENSMUSG00000027610,protein_coding -6597,Procr,ENSMUSG00000027611,protein_coding -6598,Mmp24,ENSMUSG00000027612,protein_coding -6600,Eif6,ENSMUSG00000027613,protein_coding -10075,Hps3,ENSMUSG00000027615,protein_coding -6616,Nfs1,ENSMUSG00000027618,protein_coding -6618,Rbm39,ENSMUSG00000027620,protein_coding -6632,Epb41l1,ENSMUSG00000027624,protein_coding -6635,Aar2,ENSMUSG00000027628,protein_coding -10100,Tbl1xr1,ENSMUSG00000027630,protein_coding -6655,Ndrg3,ENSMUSG00000027634,protein_coding -6658,Dsn1,ENSMUSG00000027635,protein_coding -6651,Sla2,ENSMUSG00000027636,protein_coding -6650,Rab5if,ENSMUSG00000027637,protein_coding -6661,Samhd1,ENSMUSG00000027639,protein_coding -6662,Rbl1,ENSMUSG00000027641,protein_coding -6665,Rpn2,ENSMUSG00000027642,protein_coding -6666,Ghrh,ENSMUSG00000027643,protein_coding -6668,Src,ENSMUSG00000027646,protein_coding -6678,Ctnnbl1,ENSMUSG00000027649,protein_coding -6681,Tti1,ENSMUSG00000027650,protein_coding -6682,Rprd1b,ENSMUSG00000027651,protein_coding -6701,Ralgapb,ENSMUSG00000027652,protein_coding -6713,Fam83d,ENSMUSG00000027654,protein_coding -6714,Dhx35,ENSMUSG00000027655,protein_coding -6786,Ccn5,ENSMUSG00000027656,protein_coding -10197,Skil,ENSMUSG00000027660,protein_coding -6868,Slc2a10,ENSMUSG00000027661,protein_coding -10206,Zmat3,ENSMUSG00000027663,protein_coding -10208,Pik3ca,ENSMUSG00000027665,protein_coding -10211,Zfp639,ENSMUSG00000027667,protein_coding -10213,Mfn1,ENSMUSG00000027668,protein_coding -10214,Gnb4,ENSMUSG00000027669,protein_coding -6864,Ocstamp,ENSMUSG00000027670,protein_coding -10216,Actl6a,ENSMUSG00000027671,protein_coding -10219,Ndufb5,ENSMUSG00000027673,protein_coding -10223,Pex5l,ENSMUSG00000027674,protein_coding -10238,Ccdc39,ENSMUSG00000027676,protein_coding -10237,Ttc14,ENSMUSG00000027677,protein_coding -6880,Ncoa3,ENSMUSG00000027678,protein_coding -10247,Dnajc19,ENSMUSG00000027679,protein_coding -10245,Fxr1,ENSMUSG00000027680,protein_coding -10169,Mecom,ENSMUSG00000027684,protein_coding -10150,Slc2a2,ENSMUSG00000027690,protein_coding -10147,Tnik,ENSMUSG00000027692,protein_coding -10144,Pld1,ENSMUSG00000027695,protein_coding -10134,Nceh1,ENSMUSG00000027698,protein_coding -10131,Ect2,ENSMUSG00000027699,protein_coding -10183,Lrrc34,ENSMUSG00000027702,protein_coding -10184,Lrriq4,ENSMUSG00000027703,protein_coding -10189,Sec62,ENSMUSG00000027706,protein_coding -10279,Dcun1d1,ENSMUSG00000027708,protein_coding -10282,Mccc1,ENSMUSG00000027709,protein_coding -10287,Acad9,ENSMUSG00000027710,protein_coding -10297,Anxa5,ENSMUSG00000027712,protein_coding -10299,1810062G17Rik,ENSMUSG00000027713,protein_coding -10304,Exosc9,ENSMUSG00000027714,protein_coding -10305,Ccna2,ENSMUSG00000027715,protein_coding -10307,Trpc3,ENSMUSG00000027716,protein_coding -10318,Il21,ENSMUSG00000027718,protein_coding -10312,Adad1,ENSMUSG00000027719,protein_coding -10316,Il2,ENSMUSG00000027720,protein_coding -10331,Spata5,ENSMUSG00000027722,protein_coding -10471,Slc7a11,ENSMUSG00000027737,protein_coding -10502,Rab33b,ENSMUSG00000027739,protein_coding -10544,Cog6,ENSMUSG00000027742,protein_coding -10558,Stoml3,ENSMUSG00000027744,protein_coding -10569,Ufm1,ENSMUSG00000027746,protein_coding -10573,Trpc4,ENSMUSG00000027748,protein_coding -10574,Postn,ENSMUSG00000027750,protein_coding -10578,Supt20,ENSMUSG00000027751,protein_coding -10580,Exosc8,ENSMUSG00000027752,protein_coding -10691,Aadac,ENSMUSG00000027761,protein_coding -10692,Sucnr1,ENSMUSG00000027762,protein_coding -10695,Mbnl1,ENSMUSG00000027763,protein_coding -10704,P2ry1,ENSMUSG00000027765,protein_coding -10715,Dhx36,ENSMUSG00000027770,protein_coding -10804,Gfm1,ENSMUSG00000027774,protein_coding -10811,Mfsd1,ENSMUSG00000027775,protein_coding -10822,Il12a,ENSMUSG00000027776,protein_coding -10818,Schip1,ENSMUSG00000027777,protein_coding -10830,Ift80,ENSMUSG00000027778,protein_coding -10841,Kpna4,ENSMUSG00000027782,protein_coding -10846,Ppm1l,ENSMUSG00000027784,protein_coding -10855,Nmd3,ENSMUSG00000027787,protein_coding -10860,Otol1,ENSMUSG00000027788,protein_coding -10878,Sis,ENSMUSG00000027790,protein_coding -10887,Bche,ENSMUSG00000027792,protein_coding -10586,Ccna1,ENSMUSG00000027793,protein_coding -10592,Sohlh2,ENSMUSG00000027794,protein_coding -10582,Smad9,ENSMUSG00000027796,protein_coding -10593,Dclk1,ENSMUSG00000027797,protein_coding -10603,Nbea,ENSMUSG00000027799,protein_coding -10618,Tm4sf1,ENSMUSG00000027800,protein_coding -10620,Tm4sf4,ENSMUSG00000027801,protein_coding -10621,Wwtr1,ENSMUSG00000027803,protein_coding -10940,Ppid,ENSMUSG00000027804,protein_coding -10634,Pfn2,ENSMUSG00000027805,protein_coding -10646,Tsc22d2,ENSMUSG00000027806,protein_coding -10647,Serp1,ENSMUSG00000027808,protein_coding -10941,Etfdh,ENSMUSG00000027809,protein_coding -10648,Eif2a,ENSMUSG00000027810,protein_coding -10943,4930579G24Rik,ENSMUSG00000027811,protein_coding -10721,Mme,ENSMUSG00000027820,protein_coding -10732,Slc33a1,ENSMUSG00000027822,protein_coding -10734,Gmps,ENSMUSG00000027823,protein_coding -10736,Vmn2r1,ENSMUSG00000027824,protein_coding -10762,Kcnab1,ENSMUSG00000027827,protein_coding -10765,Ssr3,ENSMUSG00000027828,protein_coding -10781,Ccnl1,ENSMUSG00000027829,protein_coding -10787,Veph1,ENSMUSG00000027831,protein_coding -10793,Ptx3,ENSMUSG00000027832,protein_coding -10799,Shox2,ENSMUSG00000027833,protein_coding -10899,Serpini1,ENSMUSG00000027834,protein_coding -10898,Pdcd10,ENSMUSG00000027835,protein_coding -11816,Wnt2b,ENSMUSG00000027840,protein_coding -11767,Ptpn22,ENSMUSG00000027843,protein_coding -11762,Dclre1b,ENSMUSG00000027845,protein_coding -11756,Olfml3,ENSMUSG00000027848,protein_coding -11751,Syt6,ENSMUSG00000027849,protein_coding -11736,Nras,ENSMUSG00000027852,protein_coding -11734,Sike1,ENSMUSG00000027854,protein_coding -11728,Sycp1,ENSMUSG00000027855,protein_coding -11726,Tshb,ENSMUSG00000027857,protein_coding -11725,Tspan2,ENSMUSG00000027858,protein_coding -11718,Ngf,ENSMUSG00000027859,protein_coding -11712,Vangl1,ENSMUSG00000027860,protein_coding -11709,Casq2,ENSMUSG00000027861,protein_coding -11692,Cd2,ENSMUSG00000027863,protein_coding -11687,Ptgfrn,ENSMUSG00000027864,protein_coding -11666,Gdap2,ENSMUSG00000027865,protein_coding -11661,Spag17,ENSMUSG00000027867,protein_coding -11655,Tbx15,ENSMUSG00000027868,protein_coding -11637,Hsd3b6,ENSMUSG00000027869,protein_coding -11644,Hao2,ENSMUSG00000027870,protein_coding -11643,Hsd3b1,ENSMUSG00000027871,protein_coding -11620,Hmgcs2,ENSMUSG00000027875,protein_coding -11618,Reg4,ENSMUSG00000027876,protein_coding -11613,Notch2,ENSMUSG00000027878,protein_coding -11611,Sec22b,ENSMUSG00000027879,protein_coding -11962,Slc25a54,ENSMUSG00000027880,protein_coding -11955,Prpf38b,ENSMUSG00000027881,protein_coding -11952,Stxbp3,ENSMUSG00000027882,protein_coding -11949,Gpsm2,ENSMUSG00000027883,protein_coding -11948,Clcc1,ENSMUSG00000027884,protein_coding -11940,1700013F07Rik,ENSMUSG00000027886,protein_coding -11921,Sypl2,ENSMUSG00000027887,protein_coding -11912,Ampd2,ENSMUSG00000027889,protein_coding -11911,Gstm4,ENSMUSG00000027890,protein_coding -11887,Ahcyl1,ENSMUSG00000027893,protein_coding -11882,Slc6a17,ENSMUSG00000027894,protein_coding -11881,Kcnc4,ENSMUSG00000027895,protein_coding -11877,Slc16a4,ENSMUSG00000027896,protein_coding -11858,Dram2,ENSMUSG00000027900,protein_coding -11856,Dennd2d,ENSMUSG00000027901,protein_coding -11853,Chil6,ENSMUSG00000027902,protein_coding -11824,Ddx20,ENSMUSG00000027905,protein_coding -11360,S100a11,ENSMUSG00000027907,protein_coding -11358,Tchhl1,ENSMUSG00000027908,protein_coding -11337,Lce1m,ENSMUSG00000027912,protein_coding -11336,Crct1,ENSMUSG00000027913,protein_coding -11318,Lce1g,ENSMUSG00000027919,protein_coding -11309,Lce1b,ENSMUSG00000027923,protein_coding -11295,Sprr2j-ps,ENSMUSG00000027925,protein_coding -11277,Lelp1,ENSMUSG00000027927,protein_coding -11236,Npr1,ENSMUSG00000027931,protein_coding -11234,Slc27a3,ENSMUSG00000027932,protein_coding -11235,Ints3,ENSMUSG00000027933,protein_coding -11223,Rab13,ENSMUSG00000027935,protein_coding -11227,Crtc2,ENSMUSG00000027936,protein_coding -11224,Jtb,ENSMUSG00000027937,protein_coding -11225,Creb3l4,ENSMUSG00000027938,protein_coding -11218,Nup210l,ENSMUSG00000027939,protein_coding -11217,Tpm3,ENSMUSG00000027940,protein_coding -11214,4933434E20Rik,ENSMUSG00000027942,protein_coding -11209,Hax1,ENSMUSG00000027944,protein_coding -11204,Il6ra,ENSMUSG00000027947,protein_coding -11199,Chrnb2,ENSMUSG00000027950,protein_coding -11198,Adar,ENSMUSG00000027951,protein_coding -11196,Pmvk,ENSMUSG00000027952,protein_coding -11177,Slc50a1,ENSMUSG00000027953,protein_coding -11178,Efna1,ENSMUSG00000027954,protein_coding -10949,Gask1b,ENSMUSG00000027955,protein_coding -10946,Tmem144,ENSMUSG00000027956,protein_coding -12051,Slc35a3,ENSMUSG00000027957,protein_coding -12045,Sass6,ENSMUSG00000027959,protein_coding -12042,Lrrc39,ENSMUSG00000027961,protein_coding -12026,Vcam1,ENSMUSG00000027962,protein_coding -12024,Extl2,ENSMUSG00000027963,protein_coding -12008,Olfm3,ENSMUSG00000027965,protein_coding -12004,Col11a1,ENSMUSG00000027966,protein_coding -12241,Neurog2,ENSMUSG00000027967,protein_coding -12233,Larp7,ENSMUSG00000027968,protein_coding -12196,Ndst4,ENSMUSG00000027971,protein_coding -12186,1700006A11Rik,ENSMUSG00000027973,protein_coding -12175,Ndst3,ENSMUSG00000027977,protein_coding -12170,Prss12,ENSMUSG00000027978,protein_coding -12000,Rnpc3,ENSMUSG00000027981,protein_coding -12320,Cyp2u1,ENSMUSG00000027983,protein_coding -12318,Hadh,ENSMUSG00000027984,protein_coding -12316,Lef1,ENSMUSG00000027985,protein_coding -11007,Trim2,ENSMUSG00000027993,protein_coding -12288,Mcub,ENSMUSG00000027994,protein_coding -11003,Tlr2,ENSMUSG00000027995,protein_coding -11000,Sfrp2,ENSMUSG00000027996,protein_coding -12287,Casp6,ENSMUSG00000027997,protein_coding -10992,Plrg1,ENSMUSG00000027998,protein_coding -12286,Pla2g12a,ENSMUSG00000027999,protein_coding -10990,Fga,ENSMUSG00000028001,protein_coding -10987,Lrat,ENSMUSG00000028003,protein_coding -10978,Npy2r,ENSMUSG00000028004,protein_coding -10974,Gucy1b1,ENSMUSG00000028005,protein_coding -12070,Snx7,ENSMUSG00000028007,protein_coding -10973,Asic5,ENSMUSG00000028008,protein_coding -12284,Gar1,ENSMUSG00000028010,protein_coding -10972,Tdo2,ENSMUSG00000028011,protein_coding -12283,Rrh,ENSMUSG00000028012,protein_coding -12351,Ppa2,ENSMUSG00000028013,protein_coding -10971,Ctso,ENSMUSG00000028015,protein_coding -12348,Ints12,ENSMUSG00000028016,protein_coding -12277,Egf,ENSMUSG00000028017,protein_coding -12344,Gstcd,ENSMUSG00000028018,protein_coding -10963,Pdgfc,ENSMUSG00000028019,protein_coding -10959,Glrb,ENSMUSG00000028020,protein_coding -12265,Pitx2,ENSMUSG00000028023,protein_coding -12268,Enpep,ENSMUSG00000028024,protein_coding -12242,Alpk1,ENSMUSG00000028028,protein_coding -12335,Aimp1,ENSMUSG00000028029,protein_coding -12336,Tbck,ENSMUSG00000028030,protein_coding -12330,Dkk2,ENSMUSG00000028031,protein_coding -12324,Papss1,ENSMUSG00000028032,protein_coding -293,Kcnq5,ENSMUSG00000028033,protein_coding -12644,Fubp1,ENSMUSG00000028034,protein_coding -12643,Dnajb4,ENSMUSG00000028035,protein_coding -12631,Ptgfr,ENSMUSG00000028036,protein_coding -12629,Ifi44,ENSMUSG00000028037,protein_coding -11180,Efna3,ENSMUSG00000028039,protein_coding -11182,Efna4,ENSMUSG00000028040,protein_coding -11184,Adam15,ENSMUSG00000028041,protein_coding -11188,Zbtb7b,ENSMUSG00000028042,protein_coding -11192,Cks1b,ENSMUSG00000028044,protein_coding -11171,Thbs3,ENSMUSG00000028047,protein_coding -11168,Gba,ENSMUSG00000028048,protein_coding -11164,Scamp3,ENSMUSG00000028049,protein_coding -11162,Hcn3,ENSMUSG00000028051,protein_coding -11153,Ash1l,ENSMUSG00000028053,protein_coding -11141,Rit1,ENSMUSG00000028057,protein_coding -11133,Arhgef2,ENSMUSG00000028059,protein_coding -11137,Khdc4,ENSMUSG00000028060,protein_coding -11129,Lamtor2,ENSMUSG00000028062,protein_coding -11124,Lmna,ENSMUSG00000028063,protein_coding -11121,Sema4a,ENSMUSG00000028064,protein_coding -11118,Pmf1,ENSMUSG00000028066,protein_coding -11095,Iqgap3,ENSMUSG00000028068,protein_coding -11092,Gpatch4,ENSMUSG00000028069,protein_coding -11093,Naxe,ENSMUSG00000028070,protein_coding -11080,Sh2d2a,ENSMUSG00000028071,protein_coding -11078,Ntrk1,ENSMUSG00000028072,protein_coding -11077,Pear1,ENSMUSG00000028073,protein_coding -11059,Cd1d1,ENSMUSG00000028076,protein_coding -11054,Dclk2,ENSMUSG00000028078,protein_coding -11046,Lrba,ENSMUSG00000028080,protein_coding -11040,Rps3a1,ENSMUSG00000028081,protein_coding -11037,Sh3d19,ENSMUSG00000028082,protein_coding -11027,Gatb,ENSMUSG00000028085,protein_coding -11017,Fbxw7,ENSMUSG00000028086,protein_coding -11604,Fmo5,ENSMUSG00000028088,protein_coding -11602,Chd1l,ENSMUSG00000028089,protein_coding -11597,Acp6,ENSMUSG00000028093,protein_coding -11590,Gpr89,ENSMUSG00000028096,protein_coding -11585,Rnf115,ENSMUSG00000028098,protein_coding -11582,Polr3c,ENSMUSG00000028099,protein_coding -11581,Nudt17,ENSMUSG00000028100,protein_coding -11580,Pias3,ENSMUSG00000028101,protein_coding -11575,Pex11b,ENSMUSG00000028102,protein_coding -11570,Polr3gl,ENSMUSG00000028104,protein_coding -11496,Rprd2,ENSMUSG00000028106,protein_coding -11495,Tars2,ENSMUSG00000028107,protein_coding -11493,Ecm1,ENSMUSG00000028108,protein_coding -11485,Hormad1,ENSMUSG00000028109,protein_coding -11482,Ctsk,ENSMUSG00000028111,protein_coding -12167,Mettl14,ENSMUSG00000028114,protein_coding -11467,Bnipl,ENSMUSG00000028115,protein_coding -12158,Myoz2,ENSMUSG00000028116,protein_coding -12138,Bcar3,ENSMUSG00000028121,protein_coding -12132,Gclm,ENSMUSG00000028124,protein_coding -12126,Abca4,ENSMUSG00000028125,protein_coding -11451,Pip5k1a,ENSMUSG00000028126,protein_coding -12119,Abcd3,ENSMUSG00000028127,protein_coding -12117,F3,ENSMUSG00000028128,protein_coding -12101,Tmem56,ENSMUSG00000028132,protein_coding -12098,Rwdd3,ENSMUSG00000028133,protein_coding -12085,Ptbp2,ENSMUSG00000028134,protein_coding -11423,Snx27,ENSMUSG00000028136,protein_coding -11422,Celf3,ENSMUSG00000028137,protein_coding -12453,Adh5,ENSMUSG00000028138,protein_coding -11421,Riiad1,ENSMUSG00000028139,protein_coding -11419,Mrpl9,ENSMUSG00000028140,protein_coding -11418,Oaz3,ENSMUSG00000028141,protein_coding -11405,Them4,ENSMUSG00000028145,protein_coding -11407,Them5,ENSMUSG00000028148,protein_coding -12466,Rap1gds1,ENSMUSG00000028149,protein_coding -11411,Rorc,ENSMUSG00000028150,protein_coding -12464,Tspan5,ENSMUSG00000028152,protein_coding -12457,Eif4e,ENSMUSG00000028156,protein_coding -12440,Mttp,ENSMUSG00000028158,protein_coding -12436,Dapp1,ENSMUSG00000028159,protein_coding -12408,Ppp3ca,ENSMUSG00000028161,protein_coding -12394,Nfkb1,ENSMUSG00000028163,protein_coding -12391,Manba,ENSMUSG00000028164,protein_coding -12385,Cisd2,ENSMUSG00000028165,protein_coding -12382,Bdh2,ENSMUSG00000028167,protein_coding -12373,Tacr3,ENSMUSG00000028172,protein_coding -12757,Wls,ENSMUSG00000028173,protein_coding -12756,Rpe65,ENSMUSG00000028174,protein_coding -12755,Depdc1a,ENSMUSG00000028175,protein_coding -12747,Lrrc7,ENSMUSG00000028176,protein_coding -12738,Cth,ENSMUSG00000028179,protein_coding -12732,Zranb2,ENSMUSG00000028180,protein_coding -12702,Lrriq3,ENSMUSG00000028182,protein_coding -12608,Adgrl2,ENSMUSG00000028184,protein_coding -12588,Dnase2b,ENSMUSG00000028185,protein_coding -12587,Uox,ENSMUSG00000028186,protein_coding -12585,Rpf1,ENSMUSG00000028187,protein_coding -12583,Spata1,ENSMUSG00000028188,protein_coding -12582,Ctbs,ENSMUSG00000028189,protein_coding -12568,Bcl10,ENSMUSG00000028191,protein_coding -12566,Ddah1,ENSMUSG00000028194,protein_coding -12563,Ccn1,ENSMUSG00000028195,protein_coding -12559,Col24a1,ENSMUSG00000028197,protein_coding -12693,Cryz,ENSMUSG00000028199,protein_coding -12836,Asph,ENSMUSG00000028207,protein_coding -12861,Trp53inp1,ENSMUSG00000028211,protein_coding -12862,Ccne2,ENSMUSG00000028212,protein_coding -12876,Gem,ENSMUSG00000028214,protein_coding -12877,Cdh17,ENSMUSG00000028217,protein_coding -12891,Fam92a,ENSMUSG00000028218,protein_coding -12914,Pip4p2,ENSMUSG00000028221,protein_coding -12927,Calb1,ENSMUSG00000028222,protein_coding -12929,Decr1,ENSMUSG00000028223,protein_coding -12931,Nbn,ENSMUSG00000028224,protein_coding -12951,Mmp16,ENSMUSG00000028226,protein_coding -12966,Cpne3,ENSMUSG00000028228,protein_coding -12967,Rmdn1,ENSMUSG00000028229,protein_coding -12772,Tmem68,ENSMUSG00000028232,protein_coding -12773,Tgs1,ENSMUSG00000028233,protein_coding -12781,Rps20,ENSMUSG00000028234,protein_coding -12789,Sdr16c5,ENSMUSG00000028236,protein_coding -12972,Atp6v0d2,ENSMUSG00000028238,protein_coding -12806,Cyp7a1,ENSMUSG00000028240,protein_coding -12804,Ubxn2b,ENSMUSG00000028243,protein_coding -12810,Nsmaf,ENSMUSG00000028245,protein_coding -12991,Faxc,ENSMUSG00000028246,protein_coding -12990,Coq3,ENSMUSG00000028247,protein_coding -12989,Pnisr,ENSMUSG00000028248,protein_coding -12808,Sdcbp,ENSMUSG00000028249,protein_coding -12987,Tstd3,ENSMUSG00000028251,protein_coding -12986,Ccnc,ENSMUSG00000028252,protein_coding -12556,Clca1,ENSMUSG00000028255,protein_coding -12558,Odf2l,ENSMUSG00000028256,protein_coding -13021,Fhl5,ENSMUSG00000028259,protein_coding -13017,Ndufaf4,ENSMUSG00000028261,protein_coding -12547,Clca3a2,ENSMUSG00000028262,protein_coding -13108,Spaca1,ENSMUSG00000028264,protein_coding -12531,Lmo4,ENSMUSG00000028266,protein_coding -12496,Gbp3,ENSMUSG00000028268,protein_coding -12498,Gbp2,ENSMUSG00000028270,protein_coding -12504,Gtf2b,ENSMUSG00000028271,protein_coding -12492,Pdlim5,ENSMUSG00000028273,protein_coding -13101,Rngtt,ENSMUSG00000028274,protein_coding -13092,Ube2j1,ENSMUSG00000028277,protein_coding -13089,Rragd,ENSMUSG00000028278,protein_coding -13095,Gabrr1,ENSMUSG00000028280,protein_coding -13082,Casp8ap2,ENSMUSG00000028282,protein_coding -13070,Map3k7,ENSMUSG00000028284,protein_coding -13161,1700009N14Rik,ENSMUSG00000028287,protein_coding -13056,Epha7,ENSMUSG00000028289,protein_coding -13117,Akirin2,ENSMUSG00000028291,protein_coding -13119,Rars2,ENSMUSG00000028292,protein_coding -13120,Slc35a1,ENSMUSG00000028293,protein_coding -13122,Cfap206,ENSMUSG00000028294,protein_coding -13124,Smim8,ENSMUSG00000028295,protein_coding -13127,Cga,ENSMUSG00000028298,protein_coding -13134,C9orf72,ENSMUSG00000028300,protein_coding -13457,Aldob,ENSMUSG00000028307,protein_coding -13459,Rnf20,ENSMUSG00000028309,protein_coding -13461,Ppp3r2,ENSMUSG00000028310,protein_coding -13479,Smc2,ENSMUSG00000028312,protein_coding -13482,Toporsl,ENSMUSG00000028314,protein_coding -13364,Polr1e,ENSMUSG00000028318,protein_coding -13371,Exosc3,ENSMUSG00000028322,protein_coding -13387,Stra6l,ENSMUSG00000028327,protein_coding -13390,Tmod1,ENSMUSG00000028328,protein_coding -13394,Xpa,ENSMUSG00000028329,protein_coding -13393,Ncbp1,ENSMUSG00000028330,protein_coding -13400,Trmo,ENSMUSG00000028331,protein_coding -13401,Hemgn,ENSMUSG00000028332,protein_coding -13403,Anp32b,ENSMUSG00000028333,protein_coding -13404,Nans,ENSMUSG00000028334,protein_coding -13408,Coro2a,ENSMUSG00000028337,protein_coding -13419,Col15a1,ENSMUSG00000028339,protein_coding -13429,Nr4a3,ENSMUSG00000028341,protein_coding -13431,Erp44,ENSMUSG00000028343,protein_coding -13433,Invs,ENSMUSG00000028344,protein_coding -13435,Tex10,ENSMUSG00000028345,protein_coding -13437,Tmeff1,ENSMUSG00000028347,protein_coding -13438,Cavin4,ENSMUSG00000028348,protein_coding -13732,Brinp1,ENSMUSG00000028351,protein_coding -3044,Fmn2,ENSMUSG00000028354,protein_coding -13687,Ambp,ENSMUSG00000028356,protein_coding -13688,Kif12,ENSMUSG00000028357,protein_coding -13686,Zfp618,ENSMUSG00000028358,protein_coding -13693,Orm3,ENSMUSG00000028359,protein_coding -12686,Slc44a5,ENSMUSG00000028360,protein_coding -13708,Tnfsf8,ENSMUSG00000028362,protein_coding -13710,Tnc,ENSMUSG00000028364,protein_coding -13573,Txn1,ENSMUSG00000028367,protein_coding -13575,Svep1,ENSMUSG00000028369,protein_coding -13717,Pappa,ENSMUSG00000028370,protein_coding -13718,Astn2,ENSMUSG00000028373,protein_coding -13588,Ptgr1,ENSMUSG00000028378,protein_coding -13596,Ugcg,ENSMUSG00000028381,protein_coding -13600,Ptbp3,ENSMUSG00000028382,protein_coding -13603,Hsdl2,ENSMUSG00000028383,protein_coding -13606,Snx30,ENSMUSG00000028385,protein_coding -13609,Slc46a2,ENSMUSG00000028386,protein_coding -13664,Zfp37,ENSMUSG00000028389,protein_coding -13672,Wdr31,ENSMUSG00000028391,protein_coding -13673,Bspry,ENSMUSG00000028392,protein_coding -13675,Alad,ENSMUSG00000028393,protein_coding -13676,Pole3,ENSMUSG00000028394,protein_coding -13778,2310002L09Rik,ENSMUSG00000028396,protein_coding -13782,Kdm4c,ENSMUSG00000028397,protein_coding -13791,Dmac1,ENSMUSG00000028398,protein_coding -13797,Ptprd,ENSMUSG00000028399,protein_coding -13821,Mpdz,ENSMUSG00000028402,protein_coding -13837,Zdhhc21,ENSMUSG00000028403,protein_coding -13170,Aco1,ENSMUSG00000028405,protein_coding -13173,Smim27,ENSMUSG00000028407,protein_coding -13185,Smu1,ENSMUSG00000028409,protein_coding -13183,Dnaja1,ENSMUSG00000028410,protein_coding -13180,Aptx,ENSMUSG00000028411,protein_coding -13500,Slc44a1,ENSMUSG00000028412,protein_coding -13187,B4galt1,ENSMUSG00000028413,protein_coding -13504,Fktn,ENSMUSG00000028414,protein_coding -13192,Spink4,ENSMUSG00000028415,protein_coding -13193,Bag1,ENSMUSG00000028416,protein_coding -13506,Tal2,ENSMUSG00000028417,protein_coding -13194,Chmp5,ENSMUSG00000028419,protein_coding -13508,Tmem38b,ENSMUSG00000028420,protein_coding -13195,Nfx1,ENSMUSG00000028423,protein_coding -13530,Rad23b,ENSMUSG00000028426,protein_coding -13197,Aqp7,ENSMUSG00000028427,protein_coding -13200,Nol6,ENSMUSG00000028430,protein_coding -13548,Elp1,ENSMUSG00000028431,protein_coding -13205,Ubap2,ENSMUSG00000028433,protein_coding -13558,Epb41l4b,ENSMUSG00000028434,protein_coding -13199,Aqp3,ENSMUSG00000028435,protein_coding -13210,Dcaf12,ENSMUSG00000028436,protein_coding -13214,Ubap1,ENSMUSG00000028437,protein_coding -13215,Kif24,ENSMUSG00000028438,protein_coding -13220,Fam219a,ENSMUSG00000028439,protein_coding -13218,1110017D15Rik,ENSMUSG00000028441,protein_coding -13216,Nudt2,ENSMUSG00000028443,protein_coding -13226,Cntfr,ENSMUSG00000028444,protein_coding -13223,Enho,ENSMUSG00000028445,protein_coding -13229,Dctn3,ENSMUSG00000028447,protein_coding -13285,1700022I11Rik,ENSMUSG00000028451,protein_coding -13286,Vcp,ENSMUSG00000028452,protein_coding -13287,Fancg,ENSMUSG00000028453,protein_coding -13288,Pigo,ENSMUSG00000028454,protein_coding -13289,Stoml2,ENSMUSG00000028455,protein_coding -13293,Unc13b,ENSMUSG00000028456,protein_coding -13296,Atp8b5,ENSMUSG00000028457,protein_coding -13299,Tesk1,ENSMUSG00000028458,protein_coding -13300,Cd72,ENSMUSG00000028459,protein_coding -13301,Sit1,ENSMUSG00000028460,protein_coding -13304,Ccdc107,ENSMUSG00000028461,protein_coding -13307,Car9,ENSMUSG00000028463,protein_coding -13308,Tpm2,ENSMUSG00000028464,protein_coding -13309,Tln1,ENSMUSG00000028465,protein_coding -13310,Creb3,ENSMUSG00000028466,protein_coding -13311,Gba2,ENSMUSG00000028467,protein_coding -13312,Rgp1,ENSMUSG00000028468,protein_coding -13317,Npr2,ENSMUSG00000028469,protein_coding -13319,Hint2,ENSMUSG00000028470,protein_coding -13327,Spaar,ENSMUSG00000028475,protein_coding -13335,Reck,ENSMUSG00000028476,protein_coding -13339,Clta,ENSMUSG00000028478,protein_coding -13340,Gne,ENSMUSG00000028479,protein_coding -13337,Glipr2,ENSMUSG00000028480,protein_coding -13847,Snapc3,ENSMUSG00000028483,protein_coding -13848,Psip1,ENSMUSG00000028484,protein_coding -13860,Bnc2,ENSMUSG00000028487,protein_coding -13868,Sh3gl2,ENSMUSG00000028488,protein_coding -13874,Saxo1,ENSMUSG00000028492,protein_coding -13881,Plin2,ENSMUSG00000028494,protein_coding -13884,Rps6,ENSMUSG00000028495,protein_coding -13890,Mllt3,ENSMUSG00000028496,protein_coding -13896,Hacd4,ENSMUSG00000028497,protein_coding -14185,Usp24,ENSMUSG00000028514,protein_coding -14170,Plpp3,ENSMUSG00000028517,protein_coding -14169,Prkaa2,ENSMUSG00000028518,protein_coding -14161,Dab1,ENSMUSG00000028519,protein_coding -14151,4921539E11Rik,ENSMUSG00000028520,protein_coding -14149,Slc35d1,ENSMUSG00000028521,protein_coding -14148,Mier1,ENSMUSG00000028522,protein_coding -14143,Tctex1d1,ENSMUSG00000028523,protein_coding -14141,Sgip1,ENSMUSG00000028524,protein_coding -14139,Pde4b,ENSMUSG00000028525,protein_coding -14124,Ak4,ENSMUSG00000028527,protein_coding -14125,Dnajc6,ENSMUSG00000028528,protein_coding -14112,Jak1,ENSMUSG00000028530,protein_coding -14107,Cachd1,ENSMUSG00000028532,protein_coding -13983,Izumo3,ENSMUSG00000028533,protein_coding -14480,2610528J11Rik,ENSMUSG00000028536,protein_coding -14464,St3gal3,ENSMUSG00000028538,protein_coding -14463,Artn,ENSMUSG00000028539,protein_coding -14461,Dph2,ENSMUSG00000028540,protein_coding -14458,B4galt2,ENSMUSG00000028541,protein_coding -14455,Slc6a9,ENSMUSG00000028542,protein_coding -14303,Slc5a9,ENSMUSG00000028544,protein_coding -14298,Bend5,ENSMUSG00000028545,protein_coding -14292,Elavl4,ENSMUSG00000028546,protein_coding -14095,Itgb3bp,ENSMUSG00000028549,protein_coding -14079,Atg4c,ENSMUSG00000028550,protein_coding -14287,Cdkn2c,ENSMUSG00000028551,protein_coding -14277,Eps15,ENSMUSG00000028552,protein_coding -14075,Angptl3,ENSMUSG00000028553,protein_coding -14280,Ttc39a,ENSMUSG00000028555,protein_coding -14074,Dock7,ENSMUSG00000028556,protein_coding -14281,Rnf11,ENSMUSG00000028557,protein_coding -14276,Calr4,ENSMUSG00000028558,protein_coding -14274,Osbpl9,ENSMUSG00000028559,protein_coding -14073,Usp1,ENSMUSG00000028560,protein_coding -14061,Tm2d1,ENSMUSG00000028563,protein_coding -14054,Nfia,ENSMUSG00000028565,protein_coding -14266,Txndc12,ENSMUSG00000028567,protein_coding -14265,Btf3l4,ENSMUSG00000028568,protein_coding -14033,Cyp2j13,ENSMUSG00000028571,protein_coding -14032,Hook1,ENSMUSG00000028572,protein_coding -14029,Fggy,ENSMUSG00000028573,protein_coding -14013,Eqtn,ENSMUSG00000028575,protein_coding -14009,Ift74,ENSMUSG00000028576,protein_coding -14007,Plaa,ENSMUSG00000028577,protein_coding -14006,Caap1,ENSMUSG00000028578,protein_coding -14821,Pum1,ENSMUSG00000028580,protein_coding -14832,Laptm5,ENSMUSG00000028581,protein_coding -14259,Cc2d1b,ENSMUSG00000028582,protein_coding -15217,Pdpn,ENSMUSG00000028583,protein_coding -15219,Lrrc38,ENSMUSG00000028584,protein_coding -14257,Orc1,ENSMUSG00000028587,protein_coding -15268,1700012P22Rik,ENSMUSG00000028589,protein_coding -15266,Pramef12,ENSMUSG00000028591,protein_coding -15272,9430007A20Rik,ENSMUSG00000028593,protein_coding -14247,Gpx7,ENSMUSG00000028597,protein_coding -15286,Tnfrsf1b,ENSMUSG00000028599,protein_coding -14236,Podn,ENSMUSG00000028600,protein_coding -14240,Echdc2,ENSMUSG00000028601,protein_coding -15287,Tnfrsf8,ENSMUSG00000028602,protein_coding -14238,Scp2,ENSMUSG00000028603,protein_coding -14233,Cpt2,ENSMUSG00000028607,protein_coding -14232,Czib,ENSMUSG00000028608,protein_coding -14231,Magoh,ENSMUSG00000028609,protein_coding -14220,Dmrtb1,ENSMUSG00000028610,protein_coding -14228,Lrp8,ENSMUSG00000028613,protein_coding -14217,Ndc1,ENSMUSG00000028614,protein_coding -14210,Lrrc42,ENSMUSG00000028617,protein_coding -14208,Tmem59,ENSMUSG00000028618,protein_coding -14207,Tceanc2,ENSMUSG00000028619,protein_coding -14204,Cyb5rl,ENSMUSG00000028621,protein_coding -14203,Mrpl37,ENSMUSG00000028622,protein_coding -14567,Col9a2,ENSMUSG00000028626,protein_coding -14563,Exo5,ENSMUSG00000028629,protein_coding -28994,Dyrk2,ENSMUSG00000028630,protein_coding -14554,Kcnq4,ENSMUSG00000028631,protein_coding -14549,Ctps,ENSMUSG00000028633,protein_coding -14542,Hivep3,ENSMUSG00000028634,protein_coding -14544,Edn2,ENSMUSG00000028635,protein_coding -14529,Ppcs,ENSMUSG00000028636,protein_coding -14526,Ccdc30,ENSMUSG00000028637,protein_coding -14523,Ybx1,ENSMUSG00000028639,protein_coding -7009,Tfap2c,ENSMUSG00000028640,protein_coding -14520,P3h1,ENSMUSG00000028641,protein_coding -14518,Tmem269,ENSMUSG00000028642,protein_coding -14516,Svbp,ENSMUSG00000028643,protein_coding -14515,Ermap,ENSMUSG00000028644,protein_coding -14510,Slc2a1,ENSMUSG00000028645,protein_coding -14640,Rragc,ENSMUSG00000028646,protein_coding -14638,Mycbp,ENSMUSG00000028647,protein_coding -14629,Ndufs5,ENSMUSG00000028648,protein_coding -14622,Macf1,ENSMUSG00000028649,protein_coding -14611,Ppie,ENSMUSG00000028651,protein_coding -14606,Trit1,ENSMUSG00000028653,protein_coding -14605,Mycl,ENSMUSG00000028654,protein_coding -14603,Mfsd2a,ENSMUSG00000028655,protein_coding -14601,Cap1,ENSMUSG00000028656,protein_coding -14600,Ppt1,ENSMUSG00000028657,protein_coding -15044,Epha8,ENSMUSG00000028661,protein_coding -15040,Ephb2,ENSMUSG00000028664,protein_coding -15016,Eloa,ENSMUSG00000028668,protein_coding -15014,Pithd1,ENSMUSG00000028669,protein_coding -15013,Lypla2,ENSMUSG00000028670,protein_coding -15012,Gale,ENSMUSG00000028671,protein_coding -15011,Hmgcl,ENSMUSG00000028672,protein_coding -15010,Fuca1,ENSMUSG00000028673,protein_coding -15007,Pnrc2,ENSMUSG00000028675,protein_coding -15006,Srsf10,ENSMUSG00000028676,protein_coding -14442,Rnf220,ENSMUSG00000028677,protein_coding -14435,Kif2c,ENSMUSG00000028678,protein_coding -14426,Plk3,ENSMUSG00000028680,protein_coding -14423,Ptch2,ENSMUSG00000028681,protein_coding -14421,Eif2b3,ENSMUSG00000028683,protein_coding -14417,Urod,ENSMUSG00000028684,protein_coding -14406,Mutyh,ENSMUSG00000028687,protein_coding -14405,Toe1,ENSMUSG00000028688,protein_coding -14402,Ccdc163,ENSMUSG00000028689,protein_coding -14401,Mmachc,ENSMUSG00000028690,protein_coding -14400,Prdx1,ENSMUSG00000028691,protein_coding -14398,Akr1a1,ENSMUSG00000028692,protein_coding -14397,Nasp,ENSMUSG00000028693,protein_coding -14391,Ipp,ENSMUSG00000028696,protein_coding -14388,Pik3r3,ENSMUSG00000028698,protein_coding -14383,Tspan1,ENSMUSG00000028699,protein_coding -14381,Pomgnt1,ENSMUSG00000028700,protein_coding -14382,Lurap1,ENSMUSG00000028701,protein_coding -14380,Rad54l,ENSMUSG00000028702,protein_coding -14379,Lrrc41,ENSMUSG00000028703,protein_coding -14376,Nsun4,ENSMUSG00000028706,protein_coding -14374,Dmbx1,ENSMUSG00000028707,protein_coding -14370,Mknk1,ENSMUSG00000028708,protein_coding -14369,Mob3c,ENSMUSG00000028709,protein_coding -14367,Atpaf1,ENSMUSG00000028710,protein_coding -14359,Cyp4a31,ENSMUSG00000028712,protein_coding -14362,Cyp4b1,ENSMUSG00000028713,protein_coding -14356,Cyp4a14,ENSMUSG00000028715,protein_coding -14342,Pdzk1ip1,ENSMUSG00000028716,protein_coding -14341,Tal1,ENSMUSG00000028717,protein_coding -14340,Stil,ENSMUSG00000028718,protein_coding -14338,Cmpk1,ENSMUSG00000028719,protein_coding -14483,Ebna1bp2,ENSMUSG00000028729,protein_coding -14482,Cfap57,ENSMUSG00000028730,protein_coding -15126,Pax7,ENSMUSG00000028736,protein_coding -15123,Aldh4a1,ENSMUSG00000028737,protein_coding -15125,Tas1r2,ENSMUSG00000028738,protein_coding -15116,Mrto4,ENSMUSG00000028741,protein_coding -15111,Akr7a5,ENSMUSG00000028743,protein_coding -15110,Pqlc2,ENSMUSG00000028744,protein_coding -15109,Capzb,ENSMUSG00000028745,protein_coding -15103,Htr6,ENSMUSG00000028747,protein_coding -15093,Pla2g2f,ENSMUSG00000028749,protein_coding -15092,Pla2g2c,ENSMUSG00000028750,protein_coding -15099,Pla2g2e,ENSMUSG00000028751,protein_coding -15089,Vwa5b1,ENSMUSG00000028753,protein_coding -15083,Cda,ENSMUSG00000028755,protein_coding -15080,Pink1,ENSMUSG00000028756,protein_coding -15079,Ddost,ENSMUSG00000028757,protein_coding -15078,Kif17,ENSMUSG00000028758,protein_coding -15076,Hp1bp3,ENSMUSG00000028759,protein_coding -15072,Eif4g3,ENSMUSG00000028760,protein_coding -15063,Hspg2,ENSMUSG00000028763,protein_coding -15069,Alpl,ENSMUSG00000028766,protein_coding -15917,Ptpn12,ENSMUSG00000028771,protein_coding -14818,Zcchc17,ENSMUSG00000028772,protein_coding -14817,Fabp3,ENSMUSG00000028773,protein_coding -14813,Tinagl1,ENSMUSG00000028776,protein_coding -15893,Gnat3,ENSMUSG00000028777,protein_coding -14812,Hcrtr1,ENSMUSG00000028778,protein_coding -14811,Pef1,ENSMUSG00000028779,protein_coding -15891,Sema3c,ENSMUSG00000028780,protein_coding -14808,Adgrb2,ENSMUSG00000028782,protein_coding -14806,Spocd1,ENSMUSG00000028784,protein_coding -14764,Hpca,ENSMUSG00000028785,protein_coding -14763,Tmem54,ENSMUSG00000028786,protein_coding -14801,Ptp4a2,ENSMUSG00000028788,protein_coding -14758,Azin2,ENSMUSG00000028789,protein_coding -14798,Khdrbs1,ENSMUSG00000028790,protein_coding -14760,Ak2,ENSMUSG00000028792,protein_coding -14762,Rnf19b,ENSMUSG00000028793,protein_coding -14753,A3galt2,ENSMUSG00000028794,protein_coding -14793,Ccdc28b,ENSMUSG00000028795,protein_coding -14752,Phc2,ENSMUSG00000028796,protein_coding -14790,Tmem234,ENSMUSG00000028797,protein_coding -14789,Eif3i,ENSMUSG00000028798,protein_coding -14754,Zfp362,ENSMUSG00000028799,protein_coding -14785,Hdac1,ENSMUSG00000028800,protein_coding -14995,Stpg1,ENSMUSG00000028801,protein_coding -14993,Nipal3,ENSMUSG00000028803,protein_coding -14745,Csmd2,ENSMUSG00000028804,protein_coding -14776,Zbtb8a,ENSMUSG00000028807,protein_coding -14986,Srrm1,ENSMUSG00000028809,protein_coding -14768,Yars,ENSMUSG00000028811,protein_coding -14744,CK137956,ENSMUSG00000028813,protein_coding -14722,Sfpq,ENSMUSG00000028820,protein_coding -14978,Syf2,ENSMUSG00000028821,protein_coding -14976,Tmem50a,ENSMUSG00000028822,protein_coding -14975,Rhd,ENSMUSG00000028825,protein_coding -14974,Maco1,ENSMUSG00000028826,protein_coding -14716,AU040320,ENSMUSG00000028830,protein_coding -14964,Stmn1,ENSMUSG00000028832,protein_coding -14715,Ncdn,ENSMUSG00000028833,protein_coding -14958,Trim63,ENSMUSG00000028834,protein_coding -14960,Slc30a2,ENSMUSG00000028836,protein_coding -14713,Psmb2,ENSMUSG00000028837,protein_coding -14961,Extl1,ENSMUSG00000028838,protein_coding -14953,Zfp593,ENSMUSG00000028840,protein_coding -14952,Cnksr1,ENSMUSG00000028841,protein_coding -14701,Ago3,ENSMUSG00000028842,protein_coding -14946,Sh3bgrl3,ENSMUSG00000028843,protein_coding -14699,Tekt2,ENSMUSG00000028845,protein_coding -14696,Trappc3,ENSMUSG00000028847,protein_coding -14924,Gpn2,ENSMUSG00000028848,protein_coding -14695,Map7d1,ENSMUSG00000028849,protein_coding -14923,Gpatch3,ENSMUSG00000028850,protein_coding -14920,Nudc,ENSMUSG00000028851,protein_coding -14914,Slc9a1,ENSMUSG00000028854,protein_coding -14911,Tmem222,ENSMUSG00000028857,protein_coding -14684,Csf3r,ENSMUSG00000028859,protein_coding -14910,Sytl1,ENSMUSG00000028860,protein_coding -14685,Mrps15,ENSMUSG00000028861,protein_coding -14909,Map3k6,ENSMUSG00000028862,protein_coding -14677,Meaf6,ENSMUSG00000028863,protein_coding -15879,Hgf,ENSMUSG00000028864,protein_coding -14908,Cd164l2,ENSMUSG00000028865,protein_coding -14904,Wasf2,ENSMUSG00000028868,protein_coding -14672,Gnl2,ENSMUSG00000028869,protein_coding -14671,Rspo1,ENSMUSG00000028871,protein_coding -14668,Cdca8,ENSMUSG00000028873,protein_coding -14901,Fgr,ENSMUSG00000028874,protein_coding -14666,Epha10,ENSMUSG00000028876,protein_coding -14899,Fam76a,ENSMUSG00000028878,protein_coding -14897,Stx12,ENSMUSG00000028879,protein_coding -14895,Ppp1r8,ENSMUSG00000028882,protein_coding -15823,Sema3a,ENSMUSG00000028883,protein_coding -14892,Rpa2,ENSMUSG00000028884,protein_coding -14891,Smpdl3b,ENSMUSG00000028885,protein_coding -14889,Eya3,ENSMUSG00000028886,protein_coding -14664,Yrdc,ENSMUSG00000028889,protein_coding -14661,Mtf1,ENSMUSG00000028890,protein_coding -14882,Sesn2,ENSMUSG00000028893,protein_coding -14659,Inpp5b,ENSMUSG00000028894,protein_coding -14873,Rcc1,ENSMUSG00000028896,protein_coding -14872,Trnau1ap,ENSMUSG00000028898,protein_coding -14864,Taf12,ENSMUSG00000028899,protein_coding -14859,Gmeb1,ENSMUSG00000028901,protein_coding -14654,Sf3a3,ENSMUSG00000028902,protein_coding -14848,Epb41,ENSMUSG00000028906,protein_coding -14651,Utp11,ENSMUSG00000028907,protein_coding -14840,Ptpru,ENSMUSG00000028909,protein_coding -14841,Mecr,ENSMUSG00000028910,protein_coding -14842,Srsf4,ENSMUSG00000028911,protein_coding -15192,Casp9,ENSMUSG00000028914,protein_coding -15187,Plekhm2,ENSMUSG00000028917,protein_coding -15167,Arhgef19,ENSMUSG00000028919,protein_coding -15164,Fbxo42,ENSMUSG00000028920,protein_coding -15159,Necap2,ENSMUSG00000028923,protein_coding -15675,Cdk14,ENSMUSG00000028926,protein_coding -15152,Padi2,ENSMUSG00000028927,protein_coding -15514,Kcnab2,ENSMUSG00000028931,protein_coding -15939,Psmc2,ENSMUSG00000028932,protein_coding -16056,Xrcc2,ENSMUSG00000028933,protein_coding -15511,Rpl22,ENSMUSG00000028936,protein_coding -15504,Acot7,ENSMUSG00000028937,protein_coding -16039,Galntl5,ENSMUSG00000028938,protein_coding -15503,Hes2,ENSMUSG00000028940,protein_coding -15501,Espn,ENSMUSG00000028943,protein_coding -16032,Prkag2,ENSMUSG00000028944,protein_coding -16030,Rheb,ENSMUSG00000028945,protein_coding -15508,Hes3,ENSMUSG00000028946,protein_coding -15498,Nol9,ENSMUSG00000028948,protein_coding -16023,Smarcd3,ENSMUSG00000028949,protein_coding -15497,Tas1r1,ENSMUSG00000028950,protein_coding -15496,Zbtb48,ENSMUSG00000028952,protein_coding -16020,Abcf2,ENSMUSG00000028953,protein_coding -16026,Nub1,ENSMUSG00000028954,protein_coding -15487,Vamp3,ENSMUSG00000028955,protein_coding -15486,Per3,ENSMUSG00000028957,protein_coding -16013,Tmub1,ENSMUSG00000028958,protein_coding -16011,Fastk,ENSMUSG00000028959,protein_coding -15432,Ube4b,ENSMUSG00000028960,protein_coding -15430,Pgd,ENSMUSG00000028961,protein_coding -16010,Slc4a2,ENSMUSG00000028962,protein_coding -15485,Uts2,ENSMUSG00000028963,protein_coding -15481,Park7,ENSMUSG00000028964,protein_coding -15482,Tnfrsf9,ENSMUSG00000028965,protein_coding -15480,Errfi1,ENSMUSG00000028967,protein_coding -16009,Cdk5,ENSMUSG00000028969,protein_coding -15736,Abcb1b,ENSMUSG00000028970,protein_coding -15427,Cort,ENSMUSG00000028971,protein_coding -15468,Car6,ENSMUSG00000028972,protein_coding -16007,Abcb8,ENSMUSG00000028973,protein_coding -15426,Dffa,ENSMUSG00000028974,protein_coding -15424,Pex14,ENSMUSG00000028975,protein_coding -15466,Slc2a5,ENSMUSG00000028976,protein_coding -15420,Casz1,ENSMUSG00000028977,protein_coding -16004,Nos3,ENSMUSG00000028978,protein_coding -15416,Masp2,ENSMUSG00000028979,protein_coding -15460,H6pd,ENSMUSG00000028980,protein_coding -15450,Slc25a33,ENSMUSG00000028982,protein_coding -15994,Klhl7,ENSMUSG00000028986,protein_coding -15443,Ctnnbip1,ENSMUSG00000028988,protein_coding -15409,Angptl7,ENSMUSG00000028989,protein_coding -15440,Lzic,ENSMUSG00000028990,protein_coding -15408,Mtor,ENSMUSG00000028991,protein_coding -15438,Nmnat1,ENSMUSG00000028992,protein_coding -15991,Fam126a,ENSMUSG00000028995,protein_coding -15436,Rbp7,ENSMUSG00000028996,protein_coding -15988,Tomm7,ENSMUSG00000028998,protein_coding -15984,Rint1,ENSMUSG00000028999,protein_coding -15401,Fbxo44,ENSMUSG00000029001,protein_coding -15398,Mad2l2,ENSMUSG00000029003,protein_coding -15976,Kmt2e,ENSMUSG00000029004,protein_coding -15397,Draxin,ENSMUSG00000029005,protein_coding -15396,Agtrap,ENSMUSG00000029007,protein_coding -15393,Mthfr,ENSMUSG00000029009,protein_coding -15953,Orc5,ENSMUSG00000029012,protein_coding -15938,Dnajc2,ENSMUSG00000029014,protein_coding -15940,Slc26a5,ENSMUSG00000029015,protein_coding -15391,Clcn6,ENSMUSG00000029016,protein_coding -15936,Pmpcb,ENSMUSG00000029017,protein_coding -15388,Nppb,ENSMUSG00000029019,protein_coding -15384,Mfn2,ENSMUSG00000029020,protein_coding -15382,Miip,ENSMUSG00000029022,protein_coding -15534,Trp73,ENSMUSG00000029026,protein_coding -15527,Dffb,ENSMUSG00000029027,protein_coding -15529,Lrrc47,ENSMUSG00000029028,protein_coding -15537,Wrap73,ENSMUSG00000029029,protein_coding -15538,Tprgl,ENSMUSG00000029030,protein_coding -15541,Arhgef16,ENSMUSG00000029032,protein_coding -15603,Acap3,ENSMUSG00000029033,protein_coding -15601,Ints11,ENSMUSG00000029034,protein_coding -15586,Atad3a,ENSMUSG00000029036,protein_coding -15582,Ssu72,ENSMUSG00000029038,protein_coding -15560,Pex10,ENSMUSG00000029047,protein_coding -15561,Rer1,ENSMUSG00000029048,protein_coding -15562,Morn1,ENSMUSG00000029049,protein_coding -15563,Ski,ENSMUSG00000029050,protein_coding -15565,Prkcz,ENSMUSG00000029053,protein_coding -15567,Gabrd,ENSMUSG00000029054,protein_coding -15558,Plch2,ENSMUSG00000029055,protein_coding -15557,Pank4,ENSMUSG00000029056,protein_coding -15553,Prxl2b,ENSMUSG00000029059,protein_coding -15580,Mib2,ENSMUSG00000029060,protein_coding -15579,Mmp23,ENSMUSG00000029061,protein_coding -15578,Cdk11b,ENSMUSG00000029062,protein_coding -15573,Nadk,ENSMUSG00000029063,protein_coding -15571,Gnb1,ENSMUSG00000029064,protein_coding -15593,Mrpl20,ENSMUSG00000029066,protein_coding -15594,Ccnl2,ENSMUSG00000029068,protein_coding -15597,Mxra8,ENSMUSG00000029070,protein_coding -15598,Dvl1,ENSMUSG00000029071,protein_coding -15599,Tas1r3,ENSMUSG00000029072,protein_coding -15600,Cptp,ENSMUSG00000029073,protein_coding -15614,Ttll10,ENSMUSG00000029074,protein_coding -15609,Tnfrsf4,ENSMUSG00000029075,protein_coding -15608,Sdf4,ENSMUSG00000029076,protein_coding -16440,Bst1,ENSMUSG00000029082,protein_coding -16441,Cd38,ENSMUSG00000029084,protein_coding -16450,Prom1,ENSMUSG00000029086,protein_coding -16521,Kcnip4,ENSMUSG00000029088,protein_coding -16520,5730480H06Rik,ENSMUSG00000029089,protein_coding -16555,Adgra3,ENSMUSG00000029090,protein_coding -16333,Sorcs2,ENSMUSG00000029093,protein_coding -16331,Afap1,ENSMUSG00000029094,protein_coding -16330,Ablim2,ENSMUSG00000029095,protein_coding -16327,Htra3,ENSMUSG00000029096,protein_coding -16324,Trmt44,ENSMUSG00000029097,protein_coding -16326,Acox3,ENSMUSG00000029098,protein_coding -16309,Rgs12,ENSMUSG00000029101,protein_coding -16312,Hgfac,ENSMUSG00000029102,protein_coding -16314,Lrpap1,ENSMUSG00000029103,protein_coding -16307,Htt,ENSMUSG00000029104,protein_coding -16298,Add1,ENSMUSG00000029106,protein_coding -16651,Pcdh7,ENSMUSG00000029108,protein_coding -16290,Rnf4,ENSMUSG00000029110,protein_coding -16269,Nelfa,ENSMUSG00000029111,protein_coding -16254,Nkx1-1,ENSMUSG00000029112,protein_coding -16350,Man2b2,ENSMUSG00000029119,protein_coding -16351,Ppp2r2c,ENSMUSG00000029120,protein_coding -16360,Crmp1,ENSMUSG00000029121,protein_coding -16361,Evc,ENSMUSG00000029122,protein_coding -16365,Stk32b,ENSMUSG00000029123,protein_coding -16372,Stx18,ENSMUSG00000029125,protein_coding -16374,Nsg1,ENSMUSG00000029126,protein_coding -16375,Zbtb49,ENSMUSG00000029127,protein_coding -16410,Rab28,ENSMUSG00000029128,protein_coding -16105,Rnf32,ENSMUSG00000029130,protein_coding -16120,Dnajb6,ENSMUSG00000029131,protein_coding -16215,Plb1,ENSMUSG00000029134,protein_coding -16212,Fosl2,ENSMUSG00000029135,protein_coding -16204,Rbks,ENSMUSG00000029136,protein_coding -16194,4930548H24Rik,ENSMUSG00000029138,protein_coding -16198,Slc4a1ap,ENSMUSG00000029141,protein_coding -16178,Eif2b4,ENSMUSG00000029145,protein_coding -16179,Snx17,ENSMUSG00000029146,protein_coding -16181,Ppm1g,ENSMUSG00000029147,protein_coding -16184,Nrbp1,ENSMUSG00000029148,protein_coding -16185,Krtcap3,ENSMUSG00000029149,protein_coding -16169,Slc30a3,ENSMUSG00000029151,protein_coding -16919,Ociad1,ENSMUSG00000029152,protein_coding -16922,Ociad2,ENSMUSG00000029153,protein_coding -16925,Cwh43,ENSMUSG00000029154,protein_coding -16932,Spata18,ENSMUSG00000029155,protein_coding -16930,Sgcb,ENSMUSG00000029156,protein_coding -16863,Yipf7,ENSMUSG00000029158,protein_coding -16162,Cgref1,ENSMUSG00000029161,protein_coding -16161,Khk,ENSMUSG00000029162,protein_coding -16160,Emilin1,ENSMUSG00000029163,protein_coding -16157,Agbl5,ENSMUSG00000029165,protein_coding -16152,Mapre3,ENSMUSG00000029166,protein_coding -16569,Ppargc1a,ENSMUSG00000029167,protein_coding -16150,Dpysl5,ENSMUSG00000029168,protein_coding -16582,Dhx15,ENSMUSG00000029169,protein_coding -16714,Pgm2,ENSMUSG00000029171,protein_coding -16597,Sepsecs,ENSMUSG00000029173,protein_coding -16718,Tbc1d1,ENSMUSG00000029174,protein_coding -16147,Slc35f6,ENSMUSG00000029175,protein_coding -16600,Anapc4,ENSMUSG00000029176,protein_coding -16149,Cenpa,ENSMUSG00000029177,protein_coding -16738,Klf3,ENSMUSG00000029178,protein_coding -16599,Zcchc4,ENSMUSG00000029179,protein_coding -16141,1700001C02Rik,ENSMUSG00000029182,protein_coding -50088,Olfr109,ENSMUSG00000029184,protein_coding -16742,Fam114a1,ENSMUSG00000029185,protein_coding -16598,Pi4k2b,ENSMUSG00000029186,protein_coding -16605,Slc34a2,ENSMUSG00000029188,protein_coding -16607,Sel1l3,ENSMUSG00000029189,protein_coding -16342,D5Ertd579e,ENSMUSG00000029190,protein_coding -16749,Rfc1,ENSMUSG00000029191,protein_coding -16340,Tbc1d14,ENSMUSG00000029192,protein_coding -16617,Cckar,ENSMUSG00000029193,protein_coding -16751,Klb,ENSMUSG00000029195,protein_coding -16338,Tada2b,ENSMUSG00000029196,protein_coding -16337,Grpel1,ENSMUSG00000029198,protein_coding -16753,Lias,ENSMUSG00000029199,protein_coding -16756,Ugdh,ENSMUSG00000029201,protein_coding -16766,Pds5a,ENSMUSG00000029202,protein_coding -16763,Ube2k,ENSMUSG00000029203,protein_coding -16779,Rhoh,ENSMUSG00000029204,protein_coding -16781,Chrna9,ENSMUSG00000029205,protein_coding -16795,Nsun7,ENSMUSG00000029206,protein_coding -16796,Apbb2,ENSMUSG00000029207,protein_coding -16865,Guf1,ENSMUSG00000029208,protein_coding -16866,Gnpda2,ENSMUSG00000029209,protein_coding -16877,Gabra4,ENSMUSG00000029211,protein_coding -16878,Gabrb1,ENSMUSG00000029212,protein_coding -16882,Commd8,ENSMUSG00000029213,protein_coding -16902,Tec,ENSMUSG00000029217,protein_coding -16908,Slc10a4,ENSMUSG00000029219,protein_coding -16822,Slc30a9,ENSMUSG00000029221,protein_coding -16807,Uchl1,ENSMUSG00000029223,protein_coding -16951,Fip1l1,ENSMUSG00000029227,protein_coding -16953,Lnx1,ENSMUSG00000029228,protein_coding -16960,Chic2,ENSMUSG00000029229,protein_coding -16967,Pdgfra,ENSMUSG00000029231,protein_coding -16988,Srd5a3,ENSMUSG00000029233,protein_coding -16989,Tmem165,ENSMUSG00000029234,protein_coding -16995,Pdcl2,ENSMUSG00000029235,protein_coding -16997,Nmu,ENSMUSG00000029236,protein_coding -16991,Clock,ENSMUSG00000029238,protein_coding -17063,Epha5,ENSMUSG00000029245,protein_coding -17007,Ppat,ENSMUSG00000029246,protein_coding -17009,Paics,ENSMUSG00000029247,protein_coding -17013,Thegl,ENSMUSG00000029248,protein_coding -17020,Rest,ENSMUSG00000029249,protein_coding -17023,Polr2b,ENSMUSG00000029250,protein_coding -17071,Cenpc1,ENSMUSG00000029253,protein_coding -17073,Stap1,ENSMUSG00000029254,protein_coding -17076,Gnrhr,ENSMUSG00000029255,protein_coding -17091,Ugt2b34,ENSMUSG00000029260,protein_coding -17585,Pigg,ENSMUSG00000029263,protein_coding -17583,Dr1,ENSMUSG00000029265,protein_coding -17577,Mtf2,ENSMUSG00000029267,protein_coding -17117,Ugt2a2,ENSMUSG00000029268,protein_coding -17120,Sult1b1,ENSMUSG00000029269,protein_coding -17574,Dipk1a,ENSMUSG00000029270,protein_coding -17122,Sult1e1,ENSMUSG00000029272,protein_coding -17121,Sult1d1,ENSMUSG00000029273,protein_coding -17563,Gfi1,ENSMUSG00000029275,protein_coding -17557,Glmn,ENSMUSG00000029276,protein_coding -17546,Brdt,ENSMUSG00000029279,protein_coding -17144,Smr3a,ENSMUSG00000029280,protein_coding -17147,Smr2,ENSMUSG00000029281,protein_coding -17156,Amtn,ENSMUSG00000029282,protein_coding -17538,Cdc7,ENSMUSG00000029283,protein_coding -17160,Enam,ENSMUSG00000029286,protein_coding -17540,Tgfbr3,ENSMUSG00000029287,protein_coding -17159,Ambn,ENSMUSG00000029288,protein_coding -17512,Zfp326,ENSMUSG00000029290,protein_coding -17164,Rufy3,ENSMUSG00000029291,protein_coding -17495,Gbp9,ENSMUSG00000029298,protein_coding -17489,Abcg3,ENSMUSG00000029299,protein_coding -17482,Spp1,ENSMUSG00000029304,protein_coding -17480,Ibsp,ENSMUSG00000029306,protein_coding -17477,Dmp1,ENSMUSG00000029307,protein_coding -17474,Sparcl1,ENSMUSG00000029309,protein_coding -17470,Nudt9,ENSMUSG00000029310,protein_coding -17468,Hsd17b11,ENSMUSG00000029311,protein_coding -17463,Klhl8,ENSMUSG00000029312,protein_coding -17462,Aff1,ENSMUSG00000029313,protein_coding -17424,Gpat3,ENSMUSG00000029314,protein_coding -17413,Coq2,ENSMUSG00000029319,protein_coding -17460,1700016H13Rik,ENSMUSG00000029320,protein_coding -17457,Slc10a6,ENSMUSG00000029321,protein_coding -17411,Plac8,ENSMUSG00000029322,protein_coding -17392,Enoph1,ENSMUSG00000029326,protein_coding -17391,Hnrnpdl,ENSMUSG00000029328,protein_coding -17433,Cds1,ENSMUSG00000029330,protein_coding -17372,Prkg2,ENSMUSG00000029334,protein_coding -17371,Bmp3,ENSMUSG00000029335,protein_coding -17363,Fgf5,ENSMUSG00000029337,protein_coding -17355,Antxr2,ENSMUSG00000029338,protein_coding -17718,Crybb1,ENSMUSG00000029343,protein_coding -17719,Tpst2,ENSMUSG00000029344,protein_coding -17720,Tfip11,ENSMUSG00000029345,protein_coding -17721,Srrd,ENSMUSG00000029346,protein_coding -17727,Asphd2,ENSMUSG00000029348,protein_coding -17741,Crybb3,ENSMUSG00000029352,protein_coding -17908,Tesc,ENSMUSG00000029359,protein_coding -17902,Nos1,ENSMUSG00000029361,protein_coding -17898,Rfc5,ENSMUSG00000029363,protein_coding -17897,Wsb2,ENSMUSG00000029364,protein_coding -17168,Dck,ENSMUSG00000029366,protein_coding -17185,Alb,ENSMUSG00000029368,protein_coding -17188,Afm,ENSMUSG00000029369,protein_coding -17192,Rassf6,ENSMUSG00000029370,protein_coding -17194,Cxcl5,ENSMUSG00000029371,protein_coding -17195,Ppbp,ENSMUSG00000029372,protein_coding -17196,Pf4,ENSMUSG00000029373,protein_coding -17198,Cxcl15,ENSMUSG00000029375,protein_coding -17206,Mthfd2l,ENSMUSG00000029376,protein_coding -17209,Ereg,ENSMUSG00000029377,protein_coding -17210,Areg,ENSMUSG00000029378,protein_coding -17197,Cxcl3,ENSMUSG00000029379,protein_coding -17202,Cxcl1,ENSMUSG00000029380,protein_coding -17255,Shroom3,ENSMUSG00000029381,protein_coding -17270,2010109A12Rik,ENSMUSG00000029384,protein_coding -17271,Ccng2,ENSMUSG00000029385,protein_coding -18143,Gtf2h3,ENSMUSG00000029387,protein_coding -18142,Eif2b1,ENSMUSG00000029388,protein_coding -18141,Ddx55,ENSMUSG00000029389,protein_coding -18140,Tmed2,ENSMUSG00000029390,protein_coding -18138,Rilpl1,ENSMUSG00000029392,protein_coding -18130,Cdk2ap1,ENSMUSG00000029394,protein_coding -17223,Rchy1,ENSMUSG00000029397,protein_coding -18135,Rilpl2,ENSMUSG00000029401,protein_coding -18137,Snrnp35,ENSMUSG00000029402,protein_coding -17228,Cdkl2,ENSMUSG00000029403,protein_coding -18120,Arl6ip4,ENSMUSG00000029404,protein_coding -17230,G3bp2,ENSMUSG00000029405,protein_coding -18121,Pitpnm2,ENSMUSG00000029406,protein_coding -17233,Uso1,ENSMUSG00000029407,protein_coding -18117,Abcb9,ENSMUSG00000029408,protein_coding -17238,Ppef2,ENSMUSG00000029410,protein_coding -17239,Naaa,ENSMUSG00000029413,protein_coding -18105,Kntc1,ENSMUSG00000029414,protein_coding -17240,Sdad1,ENSMUSG00000029415,protein_coding -18191,Slc15a4,ENSMUSG00000029416,protein_coding -17243,Cxcl9,ENSMUSG00000029417,protein_coding -3978,Ajm1,ENSMUSG00000029419,protein_coding -18209,Rimbp2,ENSMUSG00000029420,protein_coding -18104,Rsrc2,ENSMUSG00000029422,protein_coding -18207,Piwil1,ENSMUSG00000029423,protein_coding -17250,Scarb2,ENSMUSG00000029426,protein_coding -18103,Zcchc8,ENSMUSG00000029427,protein_coding -18212,Stx2,ENSMUSG00000029428,protein_coding -18213,Ran,ENSMUSG00000029430,protein_coding -18093,B3gnt4,ENSMUSG00000029431,protein_coding -18225,Nipsnap2,ENSMUSG00000029432,protein_coding -18092,Diablo,ENSMUSG00000029433,protein_coding -18097,Vps33a,ENSMUSG00000029434,protein_coding -18220,Mmp17,ENSMUSG00000029436,protein_coding -18089,Il31,ENSMUSG00000029437,protein_coding -18080,Bcl7a,ENSMUSG00000029438,protein_coding -18218,Sfswap,ENSMUSG00000029439,protein_coding -18073,Psmd9,ENSMUSG00000029440,protein_coding -18076,Wdr66,ENSMUSG00000029442,protein_coding -18074,Hpd,ENSMUSG00000029445,protein_coding -18227,Psph,ENSMUSG00000029446,protein_coding -18228,Cct6a,ENSMUSG00000029447,protein_coding -18067,Rhof,ENSMUSG00000029449,protein_coding -15244,Gm13103,ENSMUSG00000029451,protein_coding -17997,Tmem116,ENSMUSG00000029452,protein_coding -18003,Mapkapk5,ENSMUSG00000029454,protein_coding -18005,Aldh2,ENSMUSG00000029455,protein_coding -18008,Acad10,ENSMUSG00000029456,protein_coding -18009,Brap,ENSMUSG00000029458,protein_coding -25332,Fam168a,ENSMUSG00000029461,protein_coding -18032,Vps29,ENSMUSG00000029462,protein_coding -18033,Fam216a,ENSMUSG00000029463,protein_coding -18034,Gpn3,ENSMUSG00000029464,protein_coding -18036,Arpc3,ENSMUSG00000029465,protein_coding -18038,Anapc7,ENSMUSG00000029466,protein_coding -18040,Atp2a2,ENSMUSG00000029467,protein_coding -18048,P2rx7,ENSMUSG00000029468,protein_coding -18045,Ift81,ENSMUSG00000029469,protein_coding -18051,P2rx4,ENSMUSG00000029470,protein_coding -18052,Camkk2,ENSMUSG00000029471,protein_coding -18054,Anapc5,ENSMUSG00000029472,protein_coding -18055,Rnf34,ENSMUSG00000029474,protein_coding -18056,Kdm2b,ENSMUSG00000029475,protein_coding -18062,Morn3,ENSMUSG00000029477,protein_coding -18153,Ncor2,ENSMUSG00000029478,protein_coding -18162,Dhx37,ENSMUSG00000029480,protein_coding -18166,Aacs,ENSMUSG00000029482,protein_coding -17333,Anxa3,ENSMUSG00000029484,protein_coding -17328,Mrpl1,ENSMUSG00000029486,protein_coding -17592,Mfsd7a,ENSMUSG00000029490,protein_coding -17590,Pde6b,ENSMUSG00000029491,protein_coding -17659,Pxmp2,ENSMUSG00000029499,protein_coding -17656,Pgam5,ENSMUSG00000029500,protein_coding -17655,Ankle2,ENSMUSG00000029501,protein_coding -17652,Golga3,ENSMUSG00000029502,protein_coding -17664,P2rx2,ENSMUSG00000029503,protein_coding -17673,Ddx51,ENSMUSG00000029504,protein_coding -17675,Ep400,ENSMUSG00000029505,protein_coding -17681,Pus1,ENSMUSG00000029507,protein_coding -18510,Gpc2,ENSMUSG00000029510,protein_coding -17683,Ulk1,ENSMUSG00000029512,protein_coding -17861,Prkab1,ENSMUSG00000029513,protein_coding -17857,Cit,ENSMUSG00000029516,protein_coding -19095,Ankrd7,ENSMUSG00000029517,protein_coding -17853,Rab35,ENSMUSG00000029518,protein_coding -17685,Chek2,ENSMUSG00000029521,protein_coding -17842,Pla2g1b,ENSMUSG00000029522,protein_coding -17843,Sirt4,ENSMUSG00000029524,protein_coding -18522,1700123K08Rik,ENSMUSG00000029526,protein_coding -17847,Pxn,ENSMUSG00000029528,protein_coding -37271,Ccr9,ENSMUSG00000029530,protein_coding -19062,St7,ENSMUSG00000029534,protein_coding -17833,Triap1,ENSMUSG00000029535,protein_coding -17832,Gatc,ENSMUSG00000029536,protein_coding -17831,Srsf9,ENSMUSG00000029538,protein_coding -18542,Cyp2w1,ENSMUSG00000029541,protein_coding -17822,Cabp1,ENSMUSG00000029544,protein_coding -17819,Acads,ENSMUSG00000029545,protein_coding -18551,Uncx,ENSMUSG00000029546,protein_coding -18554,Ints1,ENSMUSG00000029547,protein_coding -17814,Sppl3,ENSMUSG00000029550,protein_coding -18559,Psmg3,ENSMUSG00000029551,protein_coding -19053,Tes,ENSMUSG00000029552,protein_coding -19049,Tfec,ENSMUSG00000029553,protein_coding -18564,Mad1l1,ENSMUSG00000029554,protein_coding -17810,Hnf1a,ENSMUSG00000029556,protein_coding -18572,Mrm2,ENSMUSG00000029557,protein_coding -17809,2210016L21Rik,ENSMUSG00000029559,protein_coding -18573,Snx8,ENSMUSG00000029560,protein_coding -17806,Oasl2,ENSMUSG00000029561,protein_coding -19037,Foxp2,ENSMUSG00000029563,protein_coding -17803,4930519G04Rik,ENSMUSG00000029564,protein_coding -19024,Tmem168,ENSMUSG00000029569,protein_coding -18583,Lfng,ENSMUSG00000029570,protein_coding -19018,Tmem106b,ENSMUSG00000029571,protein_coding -17787,Mmab,ENSMUSG00000029575,protein_coding -18603,Radil,ENSMUSG00000029576,protein_coding -17785,Ube3b,ENSMUSG00000029577,protein_coding -18608,Wipi2,ENSMUSG00000029578,protein_coding -18614,Actb,ENSMUSG00000029580,protein_coding -18615,Fscn1,ENSMUSG00000029581,protein_coding -18624,Spdye4b,ENSMUSG00000029586,protein_coding -18627,Zfp12,ENSMUSG00000029587,protein_coding -17779,Ung,ENSMUSG00000029591,protein_coding -17775,Usp30,ENSMUSG00000029592,protein_coding -17947,Rbm19,ENSMUSG00000029594,protein_coding -17953,Lhx5,ENSMUSG00000029595,protein_coding -17954,Sdsl,ENSMUSG00000029596,protein_coding -17955,Sds,ENSMUSG00000029597,protein_coding -17957,Plbd2,ENSMUSG00000029598,protein_coding -17963,Ddx54,ENSMUSG00000029599,protein_coding -17962,Rita1,ENSMUSG00000029600,protein_coding -17961,Iqcd,ENSMUSG00000029601,protein_coding -17968,Rasal1,ENSMUSG00000029602,protein_coding -17969,Dtx1,ENSMUSG00000029603,protein_coding -18654,Ankrd61,ENSMUSG00000029607,protein_coding -17983,Rph3a,ENSMUSG00000029608,protein_coding -18655,Aimp2,ENSMUSG00000029610,protein_coding -18653,Eif2ak1,ENSMUSG00000029613,protein_coding -17987,Rpl6,ENSMUSG00000029614,protein_coding -17996,Erp29,ENSMUSG00000029616,protein_coding -18660,Ccz1,ENSMUSG00000029617,protein_coding -18662,Ocm,ENSMUSG00000029618,protein_coding -18687,1700018F24Rik,ENSMUSG00000029620,protein_coding -18689,Arpc1a,ENSMUSG00000029621,protein_coding -18690,Arpc1b,ENSMUSG00000029622,protein_coding -18691,Pdap1,ENSMUSG00000029623,protein_coding -18693,Ptcd1,ENSMUSG00000029624,protein_coding -18694,Cpsf4,ENSMUSG00000029625,protein_coding -18696,Zkscan14,ENSMUSG00000029627,protein_coding -19008,Phf14,ENSMUSG00000029629,protein_coding -18719,Cyp3a25,ENSMUSG00000029630,protein_coding -19007,Ndufa4,ENSMUSG00000029632,protein_coding -18730,Rnf6,ENSMUSG00000029634,protein_coding -18731,Cdk8,ENSMUSG00000029635,protein_coding -18733,Wasf3,ENSMUSG00000029636,protein_coding -18993,Glcci1,ENSMUSG00000029638,protein_coding -18745,Usp12,ENSMUSG00000029640,protein_coding -18750,Rasl11a,ENSMUSG00000029641,protein_coding -18754,Polr1d,ENSMUSG00000029642,protein_coding -18759,Pdx1,ENSMUSG00000029644,protein_coding -18762,Cdx2,ENSMUSG00000029646,protein_coding -18772,Pan3,ENSMUSG00000029647,protein_coding -18774,Flt1,ENSMUSG00000029648,protein_coding -18777,Pomp,ENSMUSG00000029649,protein_coding -18779,Slc46a3,ENSMUSG00000029650,protein_coding -18781,Mtus2,ENSMUSG00000029651,protein_coding -18860,N4bp2l2,ENSMUSG00000029655,protein_coding -14164,C8b,ENSMUSG00000029656,protein_coding -18831,Hsph1,ENSMUSG00000029657,protein_coding -18830,Wdr95,ENSMUSG00000029658,protein_coding -18823,Medag,ENSMUSG00000029659,protein_coding -18826,Tex26,ENSMUSG00000029660,protein_coding -18920,Col1a2,ENSMUSG00000029661,protein_coding -18908,Gngt1,ENSMUSG00000029663,protein_coding -18907,Tfpi2,ENSMUSG00000029664,protein_coding -19114,Tspan12,ENSMUSG00000029669,protein_coding -19117,Ing3,ENSMUSG00000029670,protein_coding -19121,Wnt16,ENSMUSG00000029671,protein_coding -19122,Fam3c,ENSMUSG00000029672,protein_coding -18265,Auts2,ENSMUSG00000029673,protein_coding -18328,Limk1,ENSMUSG00000029674,protein_coding -18330,Eln,ENSMUSG00000029675,protein_coding -19165,Pot1a,ENSMUSG00000029676,protein_coding -19158,Hyal5,ENSMUSG00000029678,protein_coding -19154,Hyal6,ENSMUSG00000029679,protein_coding -19155,Hyal4,ENSMUSG00000029680,protein_coding -18354,Bcl7b,ENSMUSG00000029681,protein_coding -19156,Spam1,ENSMUSG00000029682,protein_coding -19151,Lmod2,ENSMUSG00000029683,protein_coding -19152,Wasl,ENSMUSG00000029684,protein_coding -19149,Asb15,ENSMUSG00000029685,protein_coding -19623,Cul1,ENSMUSG00000029686,protein_coding -19625,Ezh2,ENSMUSG00000029687,protein_coding -19131,Aass,ENSMUSG00000029695,protein_coding -19136,Fezf1,ENSMUSG00000029697,protein_coding -18386,Ssc4d,ENSMUSG00000029699,protein_coding -19144,Slc13a1,ENSMUSG00000029700,protein_coding -19194,Rbm28,ENSMUSG00000029701,protein_coding -18397,Lrwd1,ENSMUSG00000029703,protein_coding -18403,Cux1,ENSMUSG00000029705,protein_coding -19183,Pax4,ENSMUSG00000029706,protein_coding -19182,Fscn3,ENSMUSG00000029707,protein_coding -19180,Gcc1,ENSMUSG00000029708,protein_coding -18440,Ephb4,ENSMUSG00000029710,protein_coding -18443,Epo,ENSMUSG00000029711,protein_coding -18451,Actl6b,ENSMUSG00000029712,protein_coding -18448,Gnb2,ENSMUSG00000029713,protein_coding -18447,Gigyf1,ENSMUSG00000029714,protein_coding -18444,Pop7,ENSMUSG00000029715,protein_coding -18452,Tfr2,ENSMUSG00000029716,protein_coding -18455,Pcolce,ENSMUSG00000029718,protein_coding -18460,Gm20605,ENSMUSG00000029720,protein_coding -18463,Agfg2,ENSMUSG00000029722,protein_coding -18467,Tsc22d4,ENSMUSG00000029723,protein_coding -18468,Ppp1r35,ENSMUSG00000029725,protein_coding -18469,Mepce,ENSMUSG00000029726,protein_coding -18478,Cyp3a13,ENSMUSG00000029727,protein_coding -18488,Zkscan1,ENSMUSG00000029729,protein_coding -18493,Mcm7,ENSMUSG00000029730,protein_coding -19583,Tpk1,ENSMUSG00000029735,protein_coding -19582,Nobox,ENSMUSG00000029736,protein_coding -18974,Asns,ENSMUSG00000029752,protein_coding -18960,Dlx6,ENSMUSG00000029754,protein_coding -18963,Dlx5,ENSMUSG00000029755,protein_coding -18943,Dync1i1,ENSMUSG00000029757,protein_coding -18938,Pon3,ENSMUSG00000029759,protein_coding -19312,Cald1,ENSMUSG00000029761,protein_coding -19304,Akr1b8,ENSMUSG00000029762,protein_coding -19293,Exoc4,ENSMUSG00000029763,protein_coding -19282,Plxna4,ENSMUSG00000029765,protein_coding -19280,1700012A03Rik,ENSMUSG00000029766,protein_coding -19203,Calu,ENSMUSG00000029767,protein_coding -19205,Ccdc136,ENSMUSG00000029769,protein_coding -19214,Irf5,ENSMUSG00000029771,protein_coding -19220,Ahcyl2,ENSMUSG00000029772,protein_coding -19239,Klhdc10,ENSMUSG00000029775,protein_coding -19798,Hibadh,ENSMUSG00000029776,protein_coding -19840,Gars,ENSMUSG00000029777,protein_coding -19850,Adcyap1r1,ENSMUSG00000029778,protein_coding -19866,Nt5c3,ENSMUSG00000029780,protein_coding -19865,Fkbp9,ENSMUSG00000029781,protein_coding -19241,Tmem209,ENSMUSG00000029782,protein_coding -19242,Ssmem1,ENSMUSG00000029784,protein_coding -19862,Avl9,ENSMUSG00000029787,protein_coding -19246,Cpa5,ENSMUSG00000029788,protein_coding -19248,Cep41,ENSMUSG00000029790,protein_coding -19655,Sspo,ENSMUSG00000029797,protein_coding -19894,Herc6,ENSMUSG00000029798,protein_coding -19936,Abcg2,ENSMUSG00000029802,protein_coding -19938,Herc3,ENSMUSG00000029804,protein_coding -19685,Tmem176b,ENSMUSG00000029810,protein_coding -19689,Aoc1,ENSMUSG00000029811,protein_coding -19690,1600015I10Rik,ENSMUSG00000029813,protein_coding -19704,Igf2bp3,ENSMUSG00000029814,protein_coding -19702,Malsu1,ENSMUSG00000029815,protein_coding -19700,Gpnmb,ENSMUSG00000029816,protein_coding -19706,Tra2a,ENSMUSG00000029817,protein_coding -19715,Npy,ENSMUSG00000029819,protein_coding -19719,Gsdme,ENSMUSG00000029821,protein_coding -19720,Osbpl3,ENSMUSG00000029822,protein_coding -19372,Luc7l2,ENSMUSG00000029823,protein_coding -19363,Zc3hav1,ENSMUSG00000029826,protein_coding -19725,4921507P07Rik,ENSMUSG00000029828,protein_coding -19358,Tmem213,ENSMUSG00000029829,protein_coding -19356,Svopl,ENSMUSG00000029830,protein_coding -19732,Npvf,ENSMUSG00000029831,protein_coding -19744,Nfe2l3,ENSMUSG00000029832,protein_coding -19355,Trim24,ENSMUSG00000029833,protein_coding -19746,Cbx3,ENSMUSG00000029836,protein_coding -19345,Ptn,ENSMUSG00000029838,protein_coding -19333,Mtpn,ENSMUSG00000029840,protein_coding -19330,Slc13a4,ENSMUSG00000029843,protein_coding -19755,Hoxa1,ENSMUSG00000029844,protein_coding -19325,Slc23a4,ENSMUSG00000029847,protein_coding -19324,Stra8,ENSMUSG00000029848,protein_coding -19545,Tcaf2,ENSMUSG00000029851,protein_coding -19533,Epha1,ENSMUSG00000029859,protein_coding -19532,Zyx,ENSMUSG00000029860,protein_coding -19529,Fam131b,ENSMUSG00000029861,protein_coding -19528,Clcn1,ENSMUSG00000029862,protein_coding -19526,Casp2,ENSMUSG00000029863,protein_coding -19524,Gstk1,ENSMUSG00000029864,protein_coding -19518,Sval1,ENSMUSG00000029865,protein_coding -19513,Kel,ENSMUSG00000029866,protein_coding -19512,Llcfc1,ENSMUSG00000029867,protein_coding -19510,Trpv6,ENSMUSG00000029868,protein_coding -19509,Ephb6,ENSMUSG00000029869,protein_coding -46842,Ccdc184,ENSMUSG00000029875,protein_coding -19437,2210010C04Rik,ENSMUSG00000029882,protein_coding -19429,1700074P13Rik,ENSMUSG00000029883,protein_coding -19425,Moxd2,ENSMUSG00000029885,protein_coding -19417,Prss37,ENSMUSG00000029909,protein_coding -20024,Mad2l1,ENSMUSG00000029910,protein_coding -19414,Ssbp1,ENSMUSG00000029911,protein_coding -20010,Prdm5,ENSMUSG00000029913,protein_coding -19421,Clec5a,ENSMUSG00000029915,protein_coding -19411,Agk,ENSMUSG00000029916,protein_coding -20003,C130060K24Rik,ENSMUSG00000029917,protein_coding -19401,Mrps33,ENSMUSG00000029918,protein_coding -19993,Hpgds,ENSMUSG00000029919,protein_coding -19992,Smarcad1,ENSMUSG00000029920,protein_coding -19390,Mkrn1,ENSMUSG00000029922,protein_coding -19389,Rab19,ENSMUSG00000029923,protein_coding -19388,Slc37a3,ENSMUSG00000029924,protein_coding -19377,Tbxas1,ENSMUSG00000029925,protein_coding -20634,Gfpt1,ENSMUSG00000029992,protein_coding -20633,Nfu1,ENSMUSG00000029993,protein_coding -20626,Anxa4,ENSMUSG00000029994,protein_coding -20605,Pcyox1,ENSMUSG00000029998,protein_coding -20597,Tgfa,ENSMUSG00000029999,protein_coding -20593,Add2,ENSMUSG00000030000,protein_coding -20592,Figla,ENSMUSG00000030001,protein_coding -20589,Dusp11,ENSMUSG00000030002,protein_coding -20579,Nat8,ENSMUSG00000030004,protein_coding -20564,Cct7,ENSMUSG00000030007,protein_coding -20563,Pradc1,ENSMUSG00000030008,protein_coding -20528,Zfp638,ENSMUSG00000030016,protein_coding -20416,Reg3g,ENSMUSG00000030017,protein_coding -21194,Fbxl14,ENSMUSG00000030019,protein_coding -20812,Prickle2,ENSMUSG00000030020,protein_coding -20814,Adamts9,ENSMUSG00000030022,protein_coding -20834,Lrig1,ENSMUSG00000030029,protein_coding -20491,1700003E16Rik,ENSMUSG00000030030,protein_coding -20844,Kbtbd8,ENSMUSG00000030031,protein_coding -20490,Wdr54,ENSMUSG00000030032,protein_coding -20487,Ino80b,ENSMUSG00000030034,protein_coding -20486,Wbp1,ENSMUSG00000030035,protein_coding -20485,Mogs,ENSMUSG00000030036,protein_coding -20484,Mrpl53,ENSMUSG00000030037,protein_coding -20466,M1ap,ENSMUSG00000030041,protein_coding -20456,Pole4,ENSMUSG00000030042,protein_coding -20455,Tacr1,ENSMUSG00000030043,protein_coding -20448,Mrpl19,ENSMUSG00000030045,protein_coding -20647,Bmp10,ENSMUSG00000030046,protein_coding -20648,Arhgap25,ENSMUSG00000030047,protein_coding -20646,Gkn3,ENSMUSG00000030048,protein_coding -20645,Gkn2,ENSMUSG00000030049,protein_coding -20644,Gkn1,ENSMUSG00000030050,protein_coding -20652,Aplf,ENSMUSG00000030051,protein_coding -20660,Gp9,ENSMUSG00000030054,protein_coding -20661,Rab43,ENSMUSG00000030055,protein_coding -20665,Isy1,ENSMUSG00000030056,protein_coding -20667,Cnbp,ENSMUSG00000030057,protein_coding -20669,Copg1,ENSMUSG00000030058,protein_coding -20859,Tmf1,ENSMUSG00000030059,protein_coding -20671,Hmces,ENSMUSG00000030060,protein_coding -20861,Uba3,ENSMUSG00000030061,protein_coding -20680,Rpn1,ENSMUSG00000030062,protein_coding -20864,Frmd4b,ENSMUSG00000030064,protein_coding -20879,Foxp1,ENSMUSG00000030067,protein_coding -20881,Gm20696,ENSMUSG00000030068,protein_coding -20888,Prok2,ENSMUSG00000030069,protein_coding -20909,Gxylt2,ENSMUSG00000030074,protein_coding -20932,Cntn3,ENSMUSG00000030075,protein_coding -20941,Chl1,ENSMUSG00000030077,protein_coding -20691,Ruvbl1,ENSMUSG00000030079,protein_coding -20692,Sec61a1,ENSMUSG00000030082,protein_coding -20702,Abtb1,ENSMUSG00000030083,protein_coding -20718,Plxna1,ENSMUSG00000030084,protein_coding -20720,Chchd6,ENSMUSG00000030086,protein_coding -20758,Klf15,ENSMUSG00000030087,protein_coding -20761,Aldh1l1,ENSMUSG00000030088,protein_coding -20764,Slc41a3,ENSMUSG00000030089,protein_coding -20772,Nup210,ENSMUSG00000030091,protein_coding -20951,Cntn6,ENSMUSG00000030092,protein_coding -20779,Wnt7a,ENSMUSG00000030093,protein_coding -20787,Xpc,ENSMUSG00000030094,protein_coding -20786,Tmem43,ENSMUSG00000030095,protein_coding -20793,Slc6a6,ENSMUSG00000030096,protein_coding -20797,Grip2,ENSMUSG00000030098,protein_coding -20973,Sumf1,ENSMUSG00000030101,protein_coding -20975,Itpr1,ENSMUSG00000030102,protein_coding -20984,Bhlhe40,ENSMUSG00000030103,protein_coding -20986,Edem1,ENSMUSG00000030104,protein_coding -20985,Arl8b,ENSMUSG00000030105,protein_coding -21234,Usp18,ENSMUSG00000030107,protein_coding -21236,Slc6a13,ENSMUSG00000030108,protein_coding -21238,Slc6a12,ENSMUSG00000030109,protein_coding -21177,Ret,ENSMUSG00000030110,protein_coding -21244,A2m,ENSMUSG00000030111,protein_coding -21255,Klrg1,ENSMUSG00000030114,protein_coding -21266,Mfap5,ENSMUSG00000030116,protein_coding -21272,Gdf3,ENSMUSG00000030117,protein_coding -21373,Mlf2,ENSMUSG00000030120,protein_coding -21371,Ptms,ENSMUSG00000030122,protein_coding -21121,Plxnd1,ENSMUSG00000030123,protein_coding -21370,Lag3,ENSMUSG00000030124,protein_coding -21361,Lrrc23,ENSMUSG00000030125,protein_coding -21122,Tmcc1,ENSMUSG00000030126,protein_coding -21375,Cops7a,ENSMUSG00000030127,protein_coding -21250,Mug2,ENSMUSG00000030131,protein_coding -21173,Rasgef1a,ENSMUSG00000030134,protein_coding -21232,Tuba8,ENSMUSG00000030137,protein_coding -21181,Bms1,ENSMUSG00000030138,protein_coding -21299,Clec4e,ENSMUSG00000030142,protein_coding -21655,Gm8882,ENSMUSG00000030143,protein_coding -21298,Clec4d,ENSMUSG00000030144,protein_coding -21182,Zfp248,ENSMUSG00000030145,protein_coding -21290,Clec4b1,ENSMUSG00000030147,protein_coding -21291,Clec4a2,ENSMUSG00000030148,protein_coding -21558,Klrk1,ENSMUSG00000030149,protein_coding -21530,Klrb1f,ENSMUSG00000030154,protein_coding -21533,Clec2e,ENSMUSG00000030155,protein_coding -21540,Cd69,ENSMUSG00000030156,protein_coding -21536,Clec2d,ENSMUSG00000030157,protein_coding -21543,Clec12b,ENSMUSG00000030158,protein_coding -21544,Clec1b,ENSMUSG00000030159,protein_coding -21550,Tmem52b,ENSMUSG00000030160,protein_coding -21553,Gabarapl1,ENSMUSG00000030161,protein_coding -21549,Olr1,ENSMUSG00000030162,protein_coding -21557,Klrd1,ENSMUSG00000030165,protein_coding -21199,Rad52,ENSMUSG00000030166,protein_coding -21561,Klrc1,ENSMUSG00000030167,protein_coding -21192,Adipor2,ENSMUSG00000030168,protein_coding -21193,Wnt5b,ENSMUSG00000030170,protein_coding -21195,Erc1,ENSMUSG00000030172,protein_coding -21573,Klra5,ENSMUSG00000030173,protein_coding -21206,Ccdc77,ENSMUSG00000030177,protein_coding -21207,Kdm5a,ENSMUSG00000030180,protein_coding -21621,Klra2,ENSMUSG00000030187,protein_coding -21624,Magohb,ENSMUSG00000030188,protein_coding -21627,Ybx3,ENSMUSG00000030189,protein_coding -21681,Tas2r116,ENSMUSG00000030194,protein_coding -21695,Tas2r103,ENSMUSG00000030196,protein_coding -21720,Etv6,ENSMUSG00000030199,protein_coding -21727,Bcl2l14,ENSMUSG00000030200,protein_coding -21729,Lrp6,ENSMUSG00000030201,protein_coding -21735,Dusp16,ENSMUSG00000030203,protein_coding -21746,Ddx47,ENSMUSG00000030204,protein_coding -21748,Gprc5d,ENSMUSG00000030205,protein_coding -21755,Gsg1,ENSMUSG00000030206,protein_coding -21754,Fam234b,ENSMUSG00000030207,protein_coding -21761,Emp1,ENSMUSG00000030208,protein_coding -21764,Grin2b,ENSMUSG00000030209,protein_coding -21777,Atf7ip,ENSMUSG00000030213,protein_coding -21779,Plbd1,ENSMUSG00000030214,protein_coding -21787,Wbp11,ENSMUSG00000030216,protein_coding -21791,Art4,ENSMUSG00000030217,protein_coding -21792,Mgp,ENSMUSG00000030218,protein_coding -21793,Erp27,ENSMUSG00000030219,protein_coding -21794,Arhgdib,ENSMUSG00000030220,protein_coding -21797,Rerg,ENSMUSG00000030222,protein_coding -21799,Ptpro,ENSMUSG00000030223,protein_coding -21803,Strap,ENSMUSG00000030224,protein_coding -21804,Dera,ENSMUSG00000030225,protein_coding -21808,Lmo3,ENSMUSG00000030226,protein_coding -21822,Pik3c2g,ENSMUSG00000030228,protein_coding -21825,Plcz1,ENSMUSG00000030230,protein_coding -21837,Plekha5,ENSMUSG00000030231,protein_coding -21840,Aebp2,ENSMUSG00000030232,protein_coding -21851,Slco1c1,ENSMUSG00000030235,protein_coding -21852,Slco1b2,ENSMUSG00000030236,protein_coding -21855,Slco1a4,ENSMUSG00000030237,protein_coding -21868,Recql,ENSMUSG00000030243,protein_coding -21871,Gys2,ENSMUSG00000030244,protein_coding -21869,Golt1b,ENSMUSG00000030245,protein_coding -21872,Ldhb,ENSMUSG00000030246,protein_coding -21873,Kcnj8,ENSMUSG00000030247,protein_coding -21874,Abcc9,ENSMUSG00000030249,protein_coding -21016,Rad18,ENSMUSG00000030254,protein_coding -21929,Sspn,ENSMUSG00000030255,protein_coding -21927,Bhlhe41,ENSMUSG00000030256,protein_coding -21018,Srgap3,ENSMUSG00000030257,protein_coding -21926,Rassf8,ENSMUSG00000030259,protein_coding -21906,Lrmp,ENSMUSG00000030263,protein_coding -21025,Thumpd3,ENSMUSG00000030264,protein_coding -21911,Kras,ENSMUSG00000030265,protein_coding -21902,Bcat1,ENSMUSG00000030268,protein_coding -21030,Mtmr14,ENSMUSG00000030269,protein_coding -21032,Cpne9,ENSMUSG00000030270,protein_coding -21036,Ogg1,ENSMUSG00000030271,protein_coding -21037,Camk1,ENSMUSG00000030272,protein_coding -21887,Etnk1,ENSMUSG00000030275,protein_coding -21041,Ttll3,ENSMUSG00000030276,protein_coding -21045,Cidec,ENSMUSG00000030278,protein_coding -21883,C2cd5,ENSMUSG00000030279,protein_coding -21049,Il17rc,ENSMUSG00000030281,protein_coding -21876,Cmas,ENSMUSG00000030282,protein_coding -21879,St8sia1,ENSMUSG00000030283,protein_coding -21050,Creld1,ENSMUSG00000030284,protein_coding -21052,Emc3,ENSMUSG00000030286,protein_coding -21933,Itpr2,ENSMUSG00000030287,protein_coding -21940,Med21,ENSMUSG00000030291,protein_coding -21948,Smco2,ENSMUSG00000030292,protein_coding -21072,Sec13,ENSMUSG00000030298,protein_coding -21963,Ccdc91,ENSMUSG00000030301,protein_coding -21073,Atp2b2,ENSMUSG00000030302,protein_coding -21968,Far2,ENSMUSG00000030303,protein_coding -21970,Ergic2,ENSMUSG00000030304,protein_coding -21973,Tmtc1,ENSMUSG00000030306,protein_coding -21079,Slc6a11,ENSMUSG00000030307,protein_coding -21986,Caprin2,ENSMUSG00000030309,protein_coding -21081,Slc6a1,ENSMUSG00000030310,protein_coding -21993,Dennd5b,ENSMUSG00000030313,protein_coding -21083,Atg7,ENSMUSG00000030314,protein_coding -21087,Vgll4,ENSMUSG00000030315,protein_coding -21088,Tamm41,ENSMUSG00000030316,protein_coding -21095,Timp4,ENSMUSG00000030317,protein_coding -21110,Cand2,ENSMUSG00000030319,protein_coding -21114,Efcab12,ENSMUSG00000030321,protein_coding -21116,Mbd4,ENSMUSG00000030322,protein_coding -21117,Ift122,ENSMUSG00000030323,protein_coding -21118,Rho,ENSMUSG00000030324,protein_coding -21511,Klrb1c,ENSMUSG00000030325,protein_coding -21285,Necap1,ENSMUSG00000030327,protein_coding -21377,Pianp,ENSMUSG00000030329,protein_coding -21380,Ing4,ENSMUSG00000030330,protein_coding -21394,Mrpl51,ENSMUSG00000030335,protein_coding -21399,Cd27,ENSMUSG00000030336,protein_coding -21397,Vamp1,ENSMUSG00000030337,protein_coding -21405,Ltbr,ENSMUSG00000030339,protein_coding -21406,Scnn1a,ENSMUSG00000030340,protein_coding -21407,Tnfrsf1a,ENSMUSG00000030341,protein_coding -21409,Cd9,ENSMUSG00000030342,protein_coding -21429,Akap3,ENSMUSG00000030344,protein_coding -21430,Dyrk4,ENSMUSG00000030345,protein_coding -21431,Rad51ap1,ENSMUSG00000030346,protein_coding -21433,D6Wsu163e,ENSMUSG00000030347,protein_coding -21457,Prmt8,ENSMUSG00000030350,protein_coding -21466,Tspan11,ENSMUSG00000030351,protein_coding -21468,Tspan9,ENSMUSG00000030352,protein_coding -21477,Tead4,ENSMUSG00000030353,protein_coding -21492,Fkbp4,ENSMUSG00000030357,protein_coding -21496,Pzp,ENSMUSG00000030359,protein_coding -21501,Klrb1a,ENSMUSG00000030361,protein_coding -21507,Clec2h,ENSMUSG00000030364,protein_coding -21520,Clec2i,ENSMUSG00000030365,protein_coding -22725,Ceacam12,ENSMUSG00000030366,protein_coding -22721,Ceacam11,ENSMUSG00000030368,protein_coding -22735,Psg28,ENSMUSG00000030373,protein_coding -22686,Strn4,ENSMUSG00000030374,protein_coding -22652,Slc8a2,ENSMUSG00000030376,protein_coding -22558,Sult2a8,ENSMUSG00000030378,protein_coding -22507,Mzf1,ENSMUSG00000030380,protein_coding -22502,Slc27a5,ENSMUSG00000030382,protein_coding -22473,2900092C05Rik,ENSMUSG00000030385,protein_coding -22472,Zfp606,ENSMUSG00000030386,protein_coding -22347,Zik1,ENSMUSG00000030393,protein_coding -22810,Mark4,ENSMUSG00000030397,protein_coding -22808,Ckm,ENSMUSG00000030399,protein_coding -22804,Ercc2,ENSMUSG00000030400,protein_coding -22796,Rtn2,ENSMUSG00000030401,protein_coding -22795,Ppm1n,ENSMUSG00000030402,protein_coding -22793,Vasp,ENSMUSG00000030403,protein_coding -22787,Gipr,ENSMUSG00000030406,protein_coding -22785,Qpctl,ENSMUSG00000030407,protein_coding -22780,Dmpk,ENSMUSG00000030409,protein_coding -22779,Dmwd,ENSMUSG00000030410,protein_coding -22768,Nova2,ENSMUSG00000030411,protein_coding -22766,Pglyrp1,ENSMUSG00000030413,protein_coding -23614,Pdcd5,ENSMUSG00000030417,protein_coding -23645,Uri1,ENSMUSG00000030421,protein_coding -23653,Pop4,ENSMUSG00000030423,protein_coding -22076,Lilra6,ENSMUSG00000030427,protein_coding -22086,Ttyh1,ENSMUSG00000030428,protein_coding -22132,Tmem238,ENSMUSG00000030431,protein_coding -22133,Rpl28,ENSMUSG00000030432,protein_coding -22144,Sbk2,ENSMUSG00000030433,protein_coding -22158,U2af2,ENSMUSG00000030435,protein_coding -22204,Zfp583,ENSMUSG00000030443,protein_coding -41993,Zfp273,ENSMUSG00000030446,protein_coding -24231,Cyfip1,ENSMUSG00000030447,protein_coding -24245,Oca2,ENSMUSG00000030450,protein_coding -24243,Herc2,ENSMUSG00000030451,protein_coding -24234,Nipa2,ENSMUSG00000030452,protein_coding -23780,4933421I07Rik,ENSMUSG00000030463,protein_coding -30525,Psd3,ENSMUSG00000030465,protein_coding -23814,Siglecg,ENSMUSG00000030468,protein_coding -23830,Zfp719,ENSMUSG00000030469,protein_coding -24162,Csrp3,ENSMUSG00000030470,protein_coding -24160,Zdhhc13,ENSMUSG00000030471,protein_coding -23832,Ceacam18,ENSMUSG00000030472,protein_coding -23833,Siglece,ENSMUSG00000030474,protein_coding -23142,Cyp2b10,ENSMUSG00000030483,protein_coding -23051,Lypd5,ENSMUSG00000030484,protein_coding -23041,Zfp108,ENSMUSG00000030486,protein_coding -23608,Tdrd12,ENSMUSG00000030491,protein_coding -23607,Slc7a9,ENSMUSG00000030492,protein_coding -23604,Faap24,ENSMUSG00000030493,protein_coding -23603,Rhpn2,ENSMUSG00000030494,protein_coding -23597,Slc7a10,ENSMUSG00000030495,protein_coding -24202,Gas2,ENSMUSG00000030498,protein_coding -23580,Kctd15,ENSMUSG00000030499,protein_coding -24194,Slc17a6,ENSMUSG00000030500,protein_coding -24176,Prmt3,ENSMUSG00000030505,protein_coding -24174,Dbx1,ENSMUSG00000030507,protein_coding -24622,Asb7,ENSMUSG00000030509,protein_coding -24626,Cers3,ENSMUSG00000030510,protein_coding -24604,Snrpa1,ENSMUSG00000030512,protein_coding -24602,Pcsk6,ENSMUSG00000030513,protein_coding -24597,Tarsl2,ENSMUSG00000030515,protein_coding -24591,Tjp1,ENSMUSG00000030516,protein_coding -24585,Fam189a1,ENSMUSG00000030518,protein_coding -24582,Apba2,ENSMUSG00000030519,protein_coding -24580,Mphosph10,ENSMUSG00000030521,protein_coding -24577,Mtmr10,ENSMUSG00000030522,protein_coding -24570,Trpm1,ENSMUSG00000030523,protein_coding -24552,Chrna7,ENSMUSG00000030525,protein_coding -24883,Crtc3,ENSMUSG00000030527,protein_coding -24881,Blm,ENSMUSG00000030528,protein_coding -24878,Furin,ENSMUSG00000030530,protein_coding -24874,Hddc3,ENSMUSG00000030532,protein_coding -24873,Unc45a,ENSMUSG00000030533,protein_coding -24869,Vps33b,ENSMUSG00000030534,protein_coding -24886,Iqgap1,ENSMUSG00000030536,protein_coding -24864,Cib1,ENSMUSG00000030538,protein_coding -24862,Sema4b,ENSMUSG00000030539,protein_coding -24859,Idh2,ENSMUSG00000030541,protein_coding -24846,Mesp2,ENSMUSG00000030543,protein_coding -24845,Mesp1,ENSMUSG00000030544,protein_coding -24841,Pex11a,ENSMUSG00000030545,protein_coding -24840,Plin1,ENSMUSG00000030546,protein_coding -24835,Rhcg,ENSMUSG00000030549,protein_coding -24686,Nr2f2,ENSMUSG00000030551,protein_coding -24653,Pgpep1l,ENSMUSG00000030553,protein_coding -24644,Synm,ENSMUSG00000030554,protein_coding -24642,Ttc23,ENSMUSG00000030555,protein_coding -24638,Lrrc28,ENSMUSG00000030556,protein_coding -24634,Mef2a,ENSMUSG00000030557,protein_coding -25091,Rab38,ENSMUSG00000030559,protein_coding -25087,Ctsc,ENSMUSG00000030560,protein_coding -25078,Nox4,ENSMUSG00000030562,protein_coding -23407,Cd22,ENSMUSG00000030577,protein_coding -23361,Tyrobp,ENSMUSG00000030579,protein_coding -23304,Sipa1l3,ENSMUSG00000030583,protein_coding -23302,Dpf1,ENSMUSG00000030584,protein_coding -23299,2200002D01Rik,ENSMUSG00000030587,protein_coding -23298,Yif1b,ENSMUSG00000030588,protein_coding -23288,Rasgrp4,ENSMUSG00000030589,protein_coding -23290,Fam98c,ENSMUSG00000030590,protein_coding -23294,Psmd8,ENSMUSG00000030591,protein_coding -23283,Ryr1,ENSMUSG00000030592,protein_coding -23268,Nfkbib,ENSMUSG00000030595,protein_coding -23264,Fbxo17,ENSMUSG00000030598,protein_coding -23250,Lrfn1,ENSMUSG00000030600,protein_coding -23258,Pak4,ENSMUSG00000030602,protein_coding -23224,Psmc4,ENSMUSG00000030603,protein_coding -23215,Zfp626,ENSMUSG00000030604,protein_coding -24816,Mfge8,ENSMUSG00000030605,protein_coding -24815,Hapln3,ENSMUSG00000030606,protein_coding -24814,Acan,ENSMUSG00000030607,protein_coding -24810,Aen,ENSMUSG00000030609,protein_coding -24806,Det1,ENSMUSG00000030610,protein_coding -24804,Mrps11,ENSMUSG00000030611,protein_coding -24802,Mrpl46,ENSMUSG00000030612,protein_coding -25166,Ccdc90b,ENSMUSG00000030613,protein_coding -25134,Tmem126b,ENSMUSG00000030614,protein_coding -25132,Tmem126a,ENSMUSG00000030615,protein_coding -25129,Sytl2,ENSMUSG00000030616,protein_coding -25127,Ccdc83,ENSMUSG00000030617,protein_coding -25115,Eed,ENSMUSG00000030619,protein_coding -25110,Me3,ENSMUSG00000030621,protein_coding -24997,Zfand6,ENSMUSG00000030629,protein_coding -24996,Fah,ENSMUSG00000030630,protein_coding -24941,Sh3gl3,ENSMUSG00000030638,protein_coding -25177,Ddias,ENSMUSG00000030641,protein_coding -25175,Rab30,ENSMUSG00000030643,protein_coding -25221,Ndufc2,ENSMUSG00000030647,protein_coding -25369,Anapc15,ENSMUSG00000030649,protein_coding -25949,Tmc5,ENSMUSG00000030650,protein_coding -25360,Art2b,ENSMUSG00000030651,protein_coding -25946,Coq7,ENSMUSG00000030652,protein_coding -25354,Gm45837,ENSMUSG00000030653,protein_coding -25934,Arl6ip1,ENSMUSG00000030654,protein_coding -25935,Smg1,ENSMUSG00000030655,protein_coding -25930,Xylt1,ENSMUSG00000030657,protein_coding -25921,Nucb2,ENSMUSG00000030659,protein_coding -25916,Pik3c2a,ENSMUSG00000030660,protein_coding -34385,Ipo5,ENSMUSG00000030662,protein_coding -25908,1110004F10Rik,ENSMUSG00000030663,protein_coding -25894,Calcb,ENSMUSG00000030666,protein_coding -25891,Calca,ENSMUSG00000030669,protein_coding -25890,Cyp2r1,ENSMUSG00000030670,protein_coding -25889,Pde3b,ENSMUSG00000030671,protein_coding -26195,Mylpf,ENSMUSG00000030672,protein_coding -26188,Qprt,ENSMUSG00000030674,protein_coding -26180,Kif22,ENSMUSG00000030677,protein_coding -26179,Maz,ENSMUSG00000030678,protein_coding -26176,Pagr1a,ENSMUSG00000030680,protein_coding -26174,Mvp,ENSMUSG00000030681,protein_coding -26173,Cdipt,ENSMUSG00000030682,protein_coding -26171,Sez6l2,ENSMUSG00000030683,protein_coding -26167,Kctd13,ENSMUSG00000030685,protein_coding -25348,Stard10,ENSMUSG00000030688,protein_coding -26161,Ino80e,ENSMUSG00000030689,protein_coding -25344,Fchsd2,ENSMUSG00000030691,protein_coding -23843,Klk10,ENSMUSG00000030693,protein_coding -26154,Aldoa,ENSMUSG00000030695,protein_coding -26153,Ppp4c,ENSMUSG00000030697,protein_coding -26152,Tbx6,ENSMUSG00000030699,protein_coding -25330,Plekhb1,ENSMUSG00000030701,protein_coding -26149,Gdpd3,ENSMUSG00000030703,protein_coding -25328,Rab6a,ENSMUSG00000030704,protein_coding -25325,Mrpl48,ENSMUSG00000030706,protein_coding -26143,Coro1a,ENSMUSG00000030707,protein_coding -25321,Dnajb13,ENSMUSG00000030708,protein_coding -26139,Sult1a1,ENSMUSG00000030711,protein_coding -23846,Klk7,ENSMUSG00000030713,protein_coding -26138,Sgf29,ENSMUSG00000030714,protein_coding -26136,Nupr1,ENSMUSG00000030717,protein_coding -25314,Ppme1,ENSMUSG00000030718,protein_coding -26132,Cln3,ENSMUSG00000030720,protein_coding -26121,Nfatc2ip,ENSMUSG00000030722,protein_coding -26123,Cd19,ENSMUSG00000030724,protein_coding -25307,Lipt2,ENSMUSG00000030725,protein_coding -25306,Pold3,ENSMUSG00000030726,protein_coding -26124,Rabep2,ENSMUSG00000030727,protein_coding -25311,Pgm2l1,ENSMUSG00000030729,protein_coding -26125,Atp2a1,ENSMUSG00000030730,protein_coding -23914,Syt3,ENSMUSG00000030731,protein_coding -25305,Chrdl2,ENSMUSG00000030732,protein_coding -26126,Sh2b1,ENSMUSG00000030733,protein_coding -25289,Slco2b1,ENSMUSG00000030737,protein_coding -26129,Eif3c,ENSMUSG00000030738,protein_coding -23934,Myh14,ENSMUSG00000030739,protein_coding -26120,Spns1,ENSMUSG00000030741,protein_coding -26118,Lat,ENSMUSG00000030742,protein_coding -25279,Rps3,ENSMUSG00000030744,protein_coding -26105,Il21r,ENSMUSG00000030745,protein_coding -25269,Dgat2,ENSMUSG00000030747,protein_coding -26103,Il4ra,ENSMUSG00000030748,protein_coding -26101,Nsmce1,ENSMUSG00000030750,protein_coding -25887,Psma1,ENSMUSG00000030751,protein_coding -26100,Kdm8,ENSMUSG00000030752,protein_coding -25257,Thap12,ENSMUSG00000030753,protein_coding -25886,Copb1,ENSMUSG00000030754,protein_coding -26082,Zkscan2,ENSMUSG00000030757,protein_coding -25876,Far1,ENSMUSG00000030759,protein_coding -25244,Acer3,ENSMUSG00000030760,protein_coding -25239,Myo7a,ENSMUSG00000030761,protein_coding -26081,Aqp8,ENSMUSG00000030762,protein_coding -26079,Lcmt1,ENSMUSG00000030763,protein_coding -26078,Arhgap17,ENSMUSG00000030766,protein_coding -3220,Disp1,ENSMUSG00000030768,protein_coding -26077,Slc5a11,ENSMUSG00000030769,protein_coding -25857,Parva,ENSMUSG00000030770,protein_coding -25855,Dkk3,ENSMUSG00000030772,protein_coding -25236,Pak1,ENSMUSG00000030774,protein_coding -48101,Trat1,ENSMUSG00000030775,protein_coding -26070,Rbbp6,ENSMUSG00000030779,protein_coding -26282,BC017158,ENSMUSG00000030780,protein_coding -26281,Slc5a2,ENSMUSG00000030781,protein_coding -26280,Tgfb1i1,ENSMUSG00000030782,protein_coding -26276,Cox6a2,ENSMUSG00000030785,protein_coding -26268,Itgam,ENSMUSG00000030786,protein_coding -25840,Lyve1,ENSMUSG00000030787,protein_coding -25838,Rnf141,ENSMUSG00000030788,protein_coding -26271,Itgax,ENSMUSG00000030789,protein_coding -25833,Adm,ENSMUSG00000030790,protein_coding -23988,Dkkl1,ENSMUSG00000030792,protein_coding -26260,Pycard,ENSMUSG00000030793,protein_coding -26258,Fus,ENSMUSG00000030795,protein_coding -23989,Tead2,ENSMUSG00000030796,protein_coding -23990,Cd37,ENSMUSG00000030798,protein_coding -26256,Prss8,ENSMUSG00000030800,protein_coding -26255,Kat8,ENSMUSG00000030801,protein_coding -26254,Bckdk,ENSMUSG00000030802,protein_coding -26251,Gm21974,ENSMUSG00000030804,protein_coding -26247,Stx4a,ENSMUSG00000030805,protein_coding -26245,Stx1b,ENSMUSG00000030806,protein_coding -26239,Fbxl19,ENSMUSG00000030811,protein_coding -26234,Bcl7c,ENSMUSG00000030814,protein_coding -26227,Phkg2,ENSMUSG00000030815,protein_coding -26229,Rnf40,ENSMUSG00000030816,protein_coding -26217,Prr14,ENSMUSG00000030822,protein_coding -26207,9130019O22Rik,ENSMUSG00000030823,protein_coding -24016,Nucb1,ENSMUSG00000030824,protein_coding -24021,Hsd17b14,ENSMUSG00000030825,protein_coding -24023,Bcat2,ENSMUSG00000030826,protein_coding -24025,Fgf21,ENSMUSG00000030827,protein_coding -26204,Itgal,ENSMUSG00000030830,protein_coding -24058,Abcc6,ENSMUSG00000030834,protein_coding -24060,Nomo1,ENSMUSG00000030835,protein_coding -24066,Ush1c,ENSMUSG00000030838,protein_coding -24072,Sergef,ENSMUSG00000030839,protein_coding -25372,Lamtor1,ENSMUSG00000030842,protein_coding -26286,Rgs10,ENSMUSG00000030844,protein_coding -26288,Tial1,ENSMUSG00000030846,protein_coding -26292,Bag3,ENSMUSG00000030847,protein_coding -26318,Fgfr2,ENSMUSG00000030849,protein_coding -26320,Ate1,ENSMUSG00000030850,protein_coding -24091,Ldhc,ENSMUSG00000030851,protein_coding -26326,Tacc2,ENSMUSG00000030852,protein_coding -24105,Ptpn5,ENSMUSG00000030854,protein_coding -26340,Fam24b,ENSMUSG00000030858,protein_coding -26341,Fam24a,ENSMUSG00000030859,protein_coding -26348,Acadsb,ENSMUSG00000030861,protein_coding -26362,Cpxm2,ENSMUSG00000030862,protein_coding -26055,Chp2,ENSMUSG00000030865,protein_coding -26054,Ern2,ENSMUSG00000030866,protein_coding -26052,Plk1,ENSMUSG00000030867,protein_coding -26050,Dctn5,ENSMUSG00000030868,protein_coding -26046,Ndufab1,ENSMUSG00000030869,protein_coding -26045,Ubfd1,ENSMUSG00000030870,protein_coding -26044,Ears2,ENSMUSG00000030871,protein_coding -26043,Gga2,ENSMUSG00000030872,protein_coding -26040,Scnn1b,ENSMUSG00000030873,protein_coding -26022,Mettl9,ENSMUSG00000030876,protein_coding -26018,Mfsd13b,ENSMUSG00000030877,protein_coding -26017,Cdr2,ENSMUSG00000030878,protein_coding -25649,Mrpl17,ENSMUSG00000030879,protein_coding -26016,Polr3e,ENSMUSG00000030880,protein_coding -25637,Arfip2,ENSMUSG00000030881,protein_coding -25641,Dnhd1,ENSMUSG00000030882,protein_coding -26005,Uqcrc2,ENSMUSG00000030884,protein_coding -26006,Pdzd9,ENSMUSG00000030887,protein_coding -25643,Rrp8,ENSMUSG00000030888,protein_coding -26011,Vwa3a,ENSMUSG00000030889,protein_coding -25644,Ilk,ENSMUSG00000030890,protein_coding -25646,Tpp1,ENSMUSG00000030894,protein_coding -25634,Hpx,ENSMUSG00000030895,protein_coding -25627,Cnga4,ENSMUSG00000030897,protein_coding -25629,Cckbr,ENSMUSG00000030898,protein_coding -25995,Crym,ENSMUSG00000030905,protein_coding -25994,Anks4b,ENSMUSG00000030909,protein_coding -25992,Zp2,ENSMUSG00000030911,protein_coding -25991,Tmem159,ENSMUSG00000030917,protein_coding -25558,Trim30a,ENSMUSG00000030921,protein_coding -25987,Lyrm1,ENSMUSG00000030922,protein_coding -25985,Rexo5,ENSMUSG00000030924,protein_coding -25984,Eri2,ENSMUSG00000030929,protein_coding -26365,Chst15,ENSMUSG00000030930,protein_coding -26373,Oat,ENSMUSG00000030934,protein_coding -25983,Acsm3,ENSMUSG00000030935,protein_coding -25978,Thumpd1,ENSMUSG00000030942,protein_coding -25972,Acsm2,ENSMUSG00000030945,protein_coding -26376,Lhpp,ENSMUSG00000030946,protein_coding -25965,Gp2,ENSMUSG00000030954,protein_coding -26378,Fam53b,ENSMUSG00000030956,protein_coding -26379,Eef1akmt2,ENSMUSG00000030960,protein_coding -25966,Umod,ENSMUSG00000030963,protein_coding -26381,Abraxas2,ENSMUSG00000030965,protein_coding -25402,Trim21,ENSMUSG00000030966,protein_coding -26384,Zranb1,ENSMUSG00000030967,protein_coding -25968,Pdilt,ENSMUSG00000030968,protein_coding -26386,Ctbp2,ENSMUSG00000030970,protein_coding -25971,Acsm5,ENSMUSG00000030972,protein_coding -26390,Tex36,ENSMUSG00000030976,protein_coding -25392,Rrm1,ENSMUSG00000030978,protein_coding -26396,Uros,ENSMUSG00000030979,protein_coding -25958,Knop1,ENSMUSG00000030980,protein_coding -26395,Mmp21,ENSMUSG00000030981,protein_coding -25953,Vps35l,ENSMUSG00000030982,protein_coding -26397,Bccip,ENSMUSG00000030983,protein_coding -26398,Dhx32,ENSMUSG00000030986,protein_coding -25390,Stim1,ENSMUSG00000030987,protein_coding -25387,Pgap2,ENSMUSG00000030990,protein_coding -26406,D7Ertd443e,ENSMUSG00000030994,protein_coding -25384,Art1,ENSMUSG00000030996,protein_coding -26423,Mki67,ENSMUSG00000031004,protein_coding -7484,Atp6ap2,ENSMUSG00000031007,protein_coding -7496,Usp9x,ENSMUSG00000031010,protein_coding -7510,Cask,ENSMUSG00000031012,protein_coding -25825,Swap70,ENSMUSG00000031015,protein_coding -25824,Wee1,ENSMUSG00000031016,protein_coding -25808,Tmem9b,ENSMUSG00000031021,protein_coding -25806,BC051019,ENSMUSG00000031022,protein_coding -25805,Akip1,ENSMUSG00000031023,protein_coding -25803,St5,ENSMUSG00000031024,protein_coding -25798,Trim66,ENSMUSG00000031026,protein_coding -25795,Stk33,ENSMUSG00000031027,protein_coding -25788,Tub,ENSMUSG00000031028,protein_coding -25787,Eif3f,ENSMUSG00000031029,protein_coding -7576,Ndufb11,ENSMUSG00000031059,protein_coding -7577,Rbm10,ENSMUSG00000031060,protein_coding -7579,Cdk16,ENSMUSG00000031065,protein_coding -7580,Usp11,ENSMUSG00000031066,protein_coding -26449,Glrx3,ENSMUSG00000031068,protein_coding -26733,Mrgprf,ENSMUSG00000031070,protein_coding -26728,LTO1,ENSMUSG00000031072,protein_coding -26725,Fgf15,ENSMUSG00000031073,protein_coding -26722,Fgf3,ENSMUSG00000031074,protein_coding -26716,Ano1,ENSMUSG00000031075,protein_coding -26715,Fadd,ENSMUSG00000031077,protein_coding -26711,Cttn,ENSMUSG00000031078,protein_coding -7595,Zfp300,ENSMUSG00000031079,protein_coding -26705,Acte1,ENSMUSG00000031085,protein_coding -7607,Slc6a14,ENSMUSG00000031089,protein_coding -26703,Nadsyn1,ENSMUSG00000031090,protein_coding -7747,Dock11,ENSMUSG00000031093,protein_coding -7844,Cul4b,ENSMUSG00000031095,protein_coding -26643,Tnni2,ENSMUSG00000031097,protein_coding -26642,Syt8,ENSMUSG00000031098,protein_coding -7923,Smarca1,ENSMUSG00000031099,protein_coding -7928,Sash3,ENSMUSG00000031101,protein_coding -7937,Elf4,ENSMUSG00000031103,protein_coding -7939,Rab33a,ENSMUSG00000031104,protein_coding -7941,Slc25a14,ENSMUSG00000031105,protein_coding -7944,Rbmx2,ENSMUSG00000031107,protein_coding -7947,Enox2,ENSMUSG00000031109,protein_coding -7957,Igsf1,ENSMUSG00000031111,protein_coding -7969,Stk26,ENSMUSG00000031112,protein_coding -7983,1700080O16Rik,ENSMUSG00000031118,protein_coding -7984,Gpc4,ENSMUSG00000031119,protein_coding -8070,3830403N18Rik,ENSMUSG00000031125,protein_coding -36466,Slc9a9,ENSMUSG00000031129,protein_coding -8091,Brs3,ENSMUSG00000031130,protein_coding -8093,Vgll1,ENSMUSG00000031131,protein_coding -8095,Cd40lg,ENSMUSG00000031132,protein_coding -8096,Arhgef6,ENSMUSG00000031133,protein_coding -8097,Rbmx,ENSMUSG00000031134,protein_coding -8118,Fgf13,ENSMUSG00000031137,protein_coding -8126,F9,ENSMUSG00000031138,protein_coding -8129,Mcf2,ENSMUSG00000031139,protein_coding -7346,Cacna1f,ENSMUSG00000031142,protein_coding -7345,Ccdc22,ENSMUSG00000031143,protein_coding -7347,Syp,ENSMUSG00000031144,protein_coding -7349,Prickle3,ENSMUSG00000031145,protein_coding -7350,Plp2,ENSMUSG00000031146,protein_coding -7351,Magix,ENSMUSG00000031147,protein_coding -7353,Gpkow,ENSMUSG00000031148,protein_coding -7356,Praf2,ENSMUSG00000031149,protein_coding -7357,Ccdc120,ENSMUSG00000031150,protein_coding -7360,Gripap1,ENSMUSG00000031153,protein_coding -7363,Otud5,ENSMUSG00000031154,protein_coding -7364,Pim2,ENSMUSG00000031155,protein_coding -7365,Slc35a2,ENSMUSG00000031156,protein_coding -7366,Pqbp1,ENSMUSG00000031157,protein_coding -7367,Timm17b,ENSMUSG00000031158,protein_coding -7371,Eras,ENSMUSG00000031160,protein_coding -7372,Hdac6,ENSMUSG00000031161,protein_coding -7374,Gata1,ENSMUSG00000031162,protein_coding -7375,Glod5,ENSMUSG00000031163,protein_coding -7382,Was,ENSMUSG00000031165,protein_coding -7386,Wdr13,ENSMUSG00000031166,protein_coding -7387,Rbm3,ENSMUSG00000031167,protein_coding -7390,Ebp,ENSMUSG00000031168,protein_coding -7391,Porcn,ENSMUSG00000031169,protein_coding -7393,Slc38a5,ENSMUSG00000031170,protein_coding -7392,Ftsj1,ENSMUSG00000031171,protein_coding -7451,Otc,ENSMUSG00000031173,protein_coding -7450,Rpgr,ENSMUSG00000031174,protein_coding -7444,Dynlt3,ENSMUSG00000031176,protein_coding -8175,3830417A13Rik,ENSMUSG00000031179,protein_coding -8182,Ctag2,ENSMUSG00000031181,protein_coding -8188,4930447F04Rik,ENSMUSG00000031182,protein_coding -8245,Aff2,ENSMUSG00000031189,protein_coding -8164,4931400O07Rik,ENSMUSG00000031194,protein_coding -8432,F8,ENSMUSG00000031196,protein_coding -8442,Vbp1,ENSMUSG00000031197,protein_coding -8435,Fundc2,ENSMUSG00000031198,protein_coding -8437,Mtcp1,ENSMUSG00000031200,protein_coding -8438,Brcc3,ENSMUSG00000031201,protein_coding -8444,Rab39b,ENSMUSG00000031202,protein_coding -8690,Asb12,ENSMUSG00000031204,protein_coding -8697,Msn,ENSMUSG00000031207,protein_coding -8706,Heph,ENSMUSG00000031209,protein_coding -8709,Gpr165,ENSMUSG00000031210,protein_coding -8714,Pgr15l,ENSMUSG00000031212,protein_coding -8723,Ophn1,ENSMUSG00000031214,protein_coding -8728,Stard8,ENSMUSG00000031216,protein_coding -8730,Efnb1,ENSMUSG00000031217,protein_coding -8743,Awat2,ENSMUSG00000031220,protein_coding -8745,Igbp1,ENSMUSG00000031221,protein_coding -8901,Magee2,ENSMUSG00000031224,protein_coding -8906,Pbdc1,ENSMUSG00000031226,protein_coding -8907,Magee1,ENSMUSG00000031227,protein_coding -8922,Atrx,ENSMUSG00000031229,protein_coding -8921,Fgf16,ENSMUSG00000031230,protein_coding -8927,Cox7b,ENSMUSG00000031231,protein_coding -8926,Magt1,ENSMUSG00000031232,protein_coding -50181,Pgk2,ENSMUSG00000031233,protein_coding -8964,Itm2a,ENSMUSG00000031239,protein_coding -8967,Tbx22,ENSMUSG00000031241,protein_coding -8968,2610002M06Rik,ENSMUSG00000031242,protein_coding -8979,Hmgn5,ENSMUSG00000031245,protein_coding -8982,Sh3bgrl,ENSMUSG00000031246,protein_coding -9209,Tnmd,ENSMUSG00000031250,protein_coding -9212,Srpx2,ENSMUSG00000031253,protein_coding -9213,Sytl4,ENSMUSG00000031255,protein_coding -9215,Cstf2,ENSMUSG00000031256,protein_coding -9217,Nox1,ENSMUSG00000031257,protein_coding -9218,Xkrx,ENSMUSG00000031258,protein_coding -9222,Cenpi,ENSMUSG00000031262,protein_coding -9228,Btk,ENSMUSG00000031264,protein_coding -9231,Gla,ENSMUSG00000031266,protein_coding -9362,4930513O06Rik,ENSMUSG00000031270,protein_coding -9361,Serpina7,ENSMUSG00000031271,protein_coding -9402,Col4a6,ENSMUSG00000031273,protein_coding -9406,Col4a5,ENSMUSG00000031274,protein_coding -9424,Acsl4,ENSMUSG00000031278,protein_coding -9439,Chrdl1,ENSMUSG00000031283,protein_coding -9441,Pak3,ENSMUSG00000031284,protein_coding -9444,Dcx,ENSMUSG00000031285,protein_coding -11029,Glt28d2,ENSMUSG00000031286,protein_coding -9493,Il13ra2,ENSMUSG00000031289,protein_coding -9495,Lrch2,ENSMUSG00000031290,protein_coding -9747,Cdkl5,ENSMUSG00000031292,protein_coding -9746,Rs1,ENSMUSG00000031293,protein_coding -9741,Phka2,ENSMUSG00000031295,protein_coding -8763,Slc7a3,ENSMUSG00000031297,protein_coding -9739,Adgrg2,ENSMUSG00000031298,protein_coding -9734,Pdha1,ENSMUSG00000031299,protein_coding -8774,Nlgn3,ENSMUSG00000031302,protein_coding -9731,Map3k15,ENSMUSG00000031303,protein_coding -8771,Il2rg,ENSMUSG00000031304,protein_coding -9722,Rps6ka3,ENSMUSG00000031309,protein_coding -8776,Zmym3,ENSMUSG00000031310,protein_coding -8777,Nono,ENSMUSG00000031311,protein_coding -8778,Itgb1bp2,ENSMUSG00000031312,protein_coding -8781,Taf1,ENSMUSG00000031314,protein_coding -8802,Rps4x,ENSMUSG00000031320,protein_coding -8828,Dmrtc1a,ENSMUSG00000031323,protein_coding -8847,Cdx4,ENSMUSG00000031326,protein_coding -8849,Chic1,ENSMUSG00000031327,protein_coding -8369,Flna,ENSMUSG00000031328,protein_coding -8851,Tsx,ENSMUSG00000031329,protein_coding -8876,Zcchc13,ENSMUSG00000031330,protein_coding -8893,Abcb7,ENSMUSG00000031333,protein_coding -8276,Mtm1,ENSMUSG00000031337,protein_coding -8293,Gabre,ENSMUSG00000031340,protein_coding -9819,Gpm6b,ENSMUSG00000031342,protein_coding -8297,Gabra3,ENSMUSG00000031343,protein_coding -8303,Gabrq,ENSMUSG00000031344,protein_coding -8305,Cetn2,ENSMUSG00000031347,protein_coding -8306,Nsdhl,ENSMUSG00000031349,protein_coding -8308,Zfp185,ENSMUSG00000031351,protein_coding -9858,Hccs,ENSMUSG00000031352,protein_coding -9772,Rbbp7,ENSMUSG00000031353,protein_coding -9857,Amelx,ENSMUSG00000031354,protein_coding -9855,Arhgap6,ENSMUSG00000031355,protein_coding -9777,Syap1,ENSMUSG00000031357,protein_coding -9853,Msl3,ENSMUSG00000031358,protein_coding -9780,Ctps2,ENSMUSG00000031360,protein_coding -8324,Xlr4c,ENSMUSG00000031362,protein_coding -9789,Grpr,ENSMUSG00000031364,protein_coding -8330,Zfp275,ENSMUSG00000031365,protein_coding -9792,Ap1s2,ENSMUSG00000031367,protein_coding -9793,Zrsr2,ENSMUSG00000031370,protein_coding -8336,Haus7,ENSMUSG00000031371,protein_coding -8335,Trex2,ENSMUSG00000031372,protein_coding -9794,Car5b,ENSMUSG00000031373,protein_coding -8334,Zfp92,ENSMUSG00000031374,protein_coding -8337,Bgn,ENSMUSG00000031375,protein_coding -8338,Atp2b3,ENSMUSG00000031376,protein_coding -9799,Bmx,ENSMUSG00000031377,protein_coding -8344,Abcd1,ENSMUSG00000031378,protein_coding -9801,Pir,ENSMUSG00000031379,protein_coding -9803,Vegfd,ENSMUSG00000031380,protein_coding -9804,Piga,ENSMUSG00000031381,protein_coding -9805,Asb11,ENSMUSG00000031382,protein_coding -8340,Dusp9,ENSMUSG00000031383,protein_coding -9807,Asb9,ENSMUSG00000031384,protein_coding -8346,Plxnb3,ENSMUSG00000031385,protein_coding -8358,Hcfc1,ENSMUSG00000031386,protein_coding -8357,Renbp,ENSMUSG00000031387,protein_coding -8356,Naa10,ENSMUSG00000031388,protein_coding -8354,Arhgap4,ENSMUSG00000031389,protein_coding -8355,Avpr2,ENSMUSG00000031390,protein_coding -8353,L1cam,ENSMUSG00000031391,protein_coding -8360,Irak1,ENSMUSG00000031392,protein_coding -8363,Mecp2,ENSMUSG00000031393,protein_coding -8364,Opn1mw,ENSMUSG00000031394,protein_coding -8368,Tktl1,ENSMUSG00000031397,protein_coding -8382,Plxna3,ENSMUSG00000031398,protein_coding -8386,Fam3a,ENSMUSG00000031399,protein_coding -8388,G6pdx,ENSMUSG00000031400,protein_coding -8427,Mpp1,ENSMUSG00000031402,protein_coding -8425,Dkc1,ENSMUSG00000031403,protein_coding -9253,Tceal6,ENSMUSG00000031409,protein_coding -9270,Nxf7,ENSMUSG00000031410,protein_coding -9271,Prame,ENSMUSG00000031411,protein_coding -9320,Morf4l2,ENSMUSG00000031422,protein_coding -9311,Kir3dl1,ENSMUSG00000031424,protein_coding -9324,Plp1,ENSMUSG00000031425,protein_coding -9334,Zcchc18,ENSMUSG00000031428,protein_coding -9400,Psmd10,ENSMUSG00000031429,protein_coding -9399,Vsig1,ENSMUSG00000031430,protein_coding -9390,Tsc22d3,ENSMUSG00000031431,protein_coding -9389,Prps1,ENSMUSG00000031432,protein_coding -9380,Rbm41,ENSMUSG00000031433,protein_coding -9379,Morc4,ENSMUSG00000031434,protein_coding -9371,Rnf128,ENSMUSG00000031438,protein_coding -29593,Atp11a,ENSMUSG00000031441,protein_coding -29596,Mcf2l,ENSMUSG00000031442,protein_coding -29602,F7,ENSMUSG00000031443,protein_coding -29603,F10,ENSMUSG00000031444,protein_coding -29604,Proz,ENSMUSG00000031445,protein_coding -29608,Cul4a,ENSMUSG00000031446,protein_coding -29610,Lamp1,ENSMUSG00000031447,protein_coding -29614,Adprhl1,ENSMUSG00000031448,protein_coding -29621,Atp4b,ENSMUSG00000031449,protein_coding -29623,Grk1,ENSMUSG00000031450,protein_coding -29625,Gas6,ENSMUSG00000031451,protein_coding -29627,1700029H14Rik,ENSMUSG00000031452,protein_coding -29628,Rasa3,ENSMUSG00000031453,protein_coding -29637,Coprs,ENSMUSG00000031458,protein_coding -29659,Myom2,ENSMUSG00000031461,protein_coding -29690,Angpt2,ENSMUSG00000031465,protein_coding -29691,Agpat5,ENSMUSG00000031467,protein_coding -29718,Defb8,ENSMUSG00000031471,protein_coding -29836,Nek3,ENSMUSG00000031478,protein_coding -29838,Vps36,ENSMUSG00000031479,protein_coding -29839,Thsd1,ENSMUSG00000031480,protein_coding -29841,Tpte,ENSMUSG00000031481,protein_coding -29842,Slc25a15,ENSMUSG00000031482,protein_coding -29969,Erlin2,ENSMUSG00000031483,protein_coding -29971,Plpbp,ENSMUSG00000031485,protein_coding -29972,Adgra2,ENSMUSG00000031486,protein_coding -29973,Brf2,ENSMUSG00000031487,protein_coding -29974,Rab11fip1,ENSMUSG00000031488,protein_coding -29979,Adrb3,ENSMUSG00000031489,protein_coding -29981,Eif4ebp1,ENSMUSG00000031490,protein_coding -29986,Chrna6,ENSMUSG00000031491,protein_coding -29985,Chrnb3,ENSMUSG00000031492,protein_coding -23293,Ggn,ENSMUSG00000031493,protein_coding -29400,Cd209a,ENSMUSG00000031494,protein_coding -29405,Cd209d,ENSMUSG00000031495,protein_coding -29523,Tnfsf13b,ENSMUSG00000031497,protein_coding -29549,Col4a1,ENSMUSG00000031502,protein_coding -29551,Col4a2,ENSMUSG00000031503,protein_coding -29553,Rab20,ENSMUSG00000031504,protein_coding -29556,Naxd,ENSMUSG00000031505,protein_coding -2231,Ptpn7,ENSMUSG00000031506,protein_coding -29559,Ankrd10,ENSMUSG00000031508,protein_coding -29562,1700016D06Rik,ENSMUSG00000031509,protein_coding -29570,Arhgef7,ENSMUSG00000031511,protein_coding -29573,Tex29,ENSMUSG00000031512,protein_coding -30056,Leprotl1,ENSMUSG00000031513,protein_coding -30051,Dctn6,ENSMUSG00000031516,protein_coding -30348,Gpm6a,ENSMUSG00000031517,protein_coding -30344,Spata4,ENSMUSG00000031518,protein_coding -30342,Asb5,ENSMUSG00000031519,protein_coding -30339,Vegfc,ENSMUSG00000031520,protein_coding -30336,Aga,ENSMUSG00000031521,protein_coding -30112,Dlc1,ENSMUSG00000031523,protein_coding -30089,Eri1,ENSMUSG00000031527,protein_coding -30074,Tnks,ENSMUSG00000031529,protein_coding -30073,Dusp4,ENSMUSG00000031530,protein_coding -30058,Saraf,ENSMUSG00000031532,protein_coding -29847,Mrps31,ENSMUSG00000031533,protein_coding -29848,Smim19,ENSMUSG00000031534,protein_coding -29852,Dkk4,ENSMUSG00000031535,protein_coding -29853,Polb,ENSMUSG00000031536,protein_coding -29855,Ikbkb,ENSMUSG00000031537,protein_coding -29857,Plat,ENSMUSG00000031538,protein_coding -29858,Ap3m2,ENSMUSG00000031539,protein_coding -29861,Kat6a,ENSMUSG00000031540,protein_coding -29864,Ank1,ENSMUSG00000031543,protein_coding -29871,Gpat4,ENSMUSG00000031545,protein_coding -29873,Gins4,ENSMUSG00000031546,protein_coding -29877,Sfrp1,ENSMUSG00000031548,protein_coding -29889,Ido2,ENSMUSG00000031549,protein_coding -29890,Ido1,ENSMUSG00000031551,protein_coding -29891,Adam18,ENSMUSG00000031552,protein_coding -29892,Adam3,ENSMUSG00000031553,protein_coding -29895,Adam5,ENSMUSG00000031554,protein_coding -29898,Adam9,ENSMUSG00000031555,protein_coding -29899,Tm2d2,ENSMUSG00000031556,protein_coding -29902,Plekha2,ENSMUSG00000031557,protein_coding -16511,Slit2,ENSMUSG00000031558,protein_coding -30295,Tenm3,ENSMUSG00000031561,protein_coding -30294,Dctd,ENSMUSG00000031562,protein_coding -30289,Wwc2,ENSMUSG00000031563,protein_coding -29914,Fgfr1,ENSMUSG00000031565,protein_coding -30274,Rwdd4a,ENSMUSG00000031568,protein_coding -29925,Plpp5,ENSMUSG00000031570,protein_coding -29931,Star,ENSMUSG00000031574,protein_coding -29932,Ash2l,ENSMUSG00000031575,protein_coding -29933,Kcnu1,ENSMUSG00000031576,protein_coding -30016,Tti2,ENSMUSG00000031577,protein_coding -30017,Mak16,ENSMUSG00000031578,protein_coding -30034,Wrn,ENSMUSG00000031583,protein_coding -30040,Gsr,ENSMUSG00000031584,protein_coding -30043,Gtf2e2,ENSMUSG00000031585,protein_coding -30045,Rbpms,ENSMUSG00000031586,protein_coding -30173,Frg1,ENSMUSG00000031590,protein_coding -30172,Asah1,ENSMUSG00000031591,protein_coding -30171,Pcm1,ENSMUSG00000031592,protein_coding -30169,Fgl1,ENSMUSG00000031594,protein_coding -30164,Pdgfrl,ENSMUSG00000031595,protein_coding -30163,Slc7a2,ENSMUSG00000031596,protein_coding -30150,Vps37a,ENSMUSG00000031600,protein_coding -30149,Cnot7,ENSMUSG00000031601,protein_coding -30145,Fgf20,ENSMUSG00000031603,protein_coding -30471,Msmo1,ENSMUSG00000031604,protein_coding -30472,Klhl2,ENSMUSG00000031605,protein_coding -30386,Galnt7,ENSMUSG00000031608,protein_coding -30382,Sap30,ENSMUSG00000031609,protein_coding -30381,Scrg1,ENSMUSG00000031610,protein_coding -30363,Hpgd,ENSMUSG00000031613,protein_coding -30788,Ednra,ENSMUSG00000031616,protein_coding -30784,Tmem184c,ENSMUSG00000031617,protein_coding -30772,Nr3c2,ENSMUSG00000031618,protein_coding -30758,Iqcm,ENSMUSG00000031620,protein_coding -30741,Isx,ENSMUSG00000031621,protein_coding -30725,Sin3b,ENSMUSG00000031622,protein_coding -30221,Sorbs2,ENSMUSG00000031626,protein_coding -30261,Irf2,ENSMUSG00000031627,protein_coding -30259,Casp3,ENSMUSG00000031628,protein_coding -30256,Cenpu,ENSMUSG00000031629,protein_coding -30239,Cfap97,ENSMUSG00000031631,protein_coding -30242,Slc25a4,ENSMUSG00000031633,protein_coding -30234,Ufsp2,ENSMUSG00000031634,protein_coding -30442,Anxa10,ENSMUSG00000031635,protein_coding -30229,Pdlim3,ENSMUSG00000031636,protein_coding -30236,Lrp2bp,ENSMUSG00000031637,protein_coding -30219,Tlr3,ENSMUSG00000031639,protein_coding -30216,Gm45753,ENSMUSG00000031640,protein_coding -30436,Cbr4,ENSMUSG00000031641,protein_coding -30432,Sh3rf1,ENSMUSG00000031642,protein_coding -30426,Nek1,ENSMUSG00000031644,protein_coding -30214,F11,ENSMUSG00000031645,protein_coding -30417,Mfap3l,ENSMUSG00000031647,protein_coding -30184,Triml1,ENSMUSG00000031651,protein_coding -31009,N4bp1,ENSMUSG00000031652,protein_coding -31026,Cbln1,ENSMUSG00000031654,protein_coding -31034,Heatr3,ENSMUSG00000031657,protein_coding -31039,Adcy7,ENSMUSG00000031659,protein_coding -31040,Brd7,ENSMUSG00000031660,protein_coding -31042,Nkd1,ENSMUSG00000031661,protein_coding -31044,Snx20,ENSMUSG00000031662,protein_coding -31052,Sall1,ENSMUSG00000031665,protein_coding -31071,Rbl2,ENSMUSG00000031666,protein_coding -31072,Aktip,ENSMUSG00000031667,protein_coding -20283,Eif2ak3,ENSMUSG00000031668,protein_coding -31214,Gins3,ENSMUSG00000031669,protein_coding -31217,Setd6,ENSMUSG00000031671,protein_coding -31229,Got2,ENSMUSG00000031672,protein_coding -31269,Cdh11,ENSMUSG00000031673,protein_coding -30812,Smad1,ENSMUSG00000031681,protein_coding -30808,1700011L22Rik,ENSMUSG00000031682,protein_coding -30801,Lsm6,ENSMUSG00000031683,protein_coding -30797,Slc10a7,ENSMUSG00000031684,protein_coding -30794,Pou4f2,ENSMUSG00000031688,protein_coding -30964,Tnpo2,ENSMUSG00000031691,protein_coding -30981,Vps35,ENSMUSG00000031696,protein_coding -30982,Orc6,ENSMUSG00000031697,protein_coding -30984,Mylk3,ENSMUSG00000031698,protein_coding -30989,Gpt2,ENSMUSG00000031700,protein_coding -30990,Dnaja2,ENSMUSG00000031701,protein_coding -30995,Itfg1,ENSMUSG00000031703,protein_coding -30909,Rfx1,ENSMUSG00000031706,protein_coding -30879,Tecr,ENSMUSG00000031708,protein_coding -30866,Tbc1d9,ENSMUSG00000031709,protein_coding -30868,Ucp1,ENSMUSG00000031710,protein_coding -30860,Zfp330,ENSMUSG00000031711,protein_coding -30856,Il15,ENSMUSG00000031712,protein_coding -30838,Gab1,ENSMUSG00000031714,protein_coding -30836,Smarca5,ENSMUSG00000031715,protein_coding -31468,Hp,ENSMUSG00000031722,protein_coding -31467,Txnl4b,ENSMUSG00000031723,protein_coding -31129,Ces1f,ENSMUSG00000031725,protein_coding -31465,Pmfbp1,ENSMUSG00000031727,protein_coding -31472,Zfp821,ENSMUSG00000031728,protein_coding -31471,Ist1,ENSMUSG00000031729,protein_coding -31469,Dhodh,ENSMUSG00000031730,protein_coding -31474,Ap1g1,ENSMUSG00000031731,protein_coding -31478,Phlpp2,ENSMUSG00000031732,protein_coding -31096,Irx3,ENSMUSG00000031734,protein_coding -31109,Irx5,ENSMUSG00000031737,protein_coding -31111,Irx6,ENSMUSG00000031738,protein_coding -31114,Mmp2,ENSMUSG00000031740,protein_coding -31142,Gnao1,ENSMUSG00000031748,protein_coding -31508,St3gal2,ENSMUSG00000031749,protein_coding -31499,Il34,ENSMUSG00000031750,protein_coding -31144,Amfr,ENSMUSG00000031751,protein_coding -31505,Cog4,ENSMUSG00000031753,protein_coding -31145,Nudt21,ENSMUSG00000031754,protein_coding -31148,Bbs2,ENSMUSG00000031755,protein_coding -31579,Cenpn,ENSMUSG00000031756,protein_coding -31149,Mt4,ENSMUSG00000031757,protein_coding -31576,Cdyl2,ENSMUSG00000031758,protein_coding -31150,Mt3,ENSMUSG00000031760,protein_coding -31152,Mt2,ENSMUSG00000031762,protein_coding -31153,Mt1,ENSMUSG00000031765,protein_coding -31160,Slc12a3,ENSMUSG00000031766,protein_coding -31558,Nudt7,ENSMUSG00000031767,protein_coding -31163,Herpud1,ENSMUSG00000031770,protein_coding -31547,Cntnap4,ENSMUSG00000031772,protein_coding -31169,Fam192a,ENSMUSG00000031774,protein_coding -31173,Pllp,ENSMUSG00000031775,protein_coding -31172,Arl2bp,ENSMUSG00000031776,protein_coding -31178,Cx3cl1,ENSMUSG00000031778,protein_coding -31176,Ccl22,ENSMUSG00000031779,protein_coding -31179,Ccl17,ENSMUSG00000031780,protein_coding -31180,Ciapin1,ENSMUSG00000031781,protein_coding -31182,Coq9,ENSMUSG00000031782,protein_coding -31183,Polr2c,ENSMUSG00000031783,protein_coding -31188,Adgrg1,ENSMUSG00000031785,protein_coding -31191,Drc7,ENSMUSG00000031786,protein_coding -31192,Katnb1,ENSMUSG00000031787,protein_coding -31194,Kifc3,ENSMUSG00000031788,protein_coding -31198,Cngb1,ENSMUSG00000031789,protein_coding -31202,Mmp15,ENSMUSG00000031790,protein_coding -30722,Tmem38a,ENSMUSG00000031791,protein_coding -31201,Usb1,ENSMUSG00000031792,protein_coding -31203,Cfap20,ENSMUSG00000031796,protein_coding -30696,Tpm4,ENSMUSG00000031799,protein_coding -30671,B3gnt3,ENSMUSG00000031803,protein_coding -30669,Jak3,ENSMUSG00000031805,protein_coding -30664,Pgls,ENSMUSG00000031807,protein_coding -30663,Slc27a1,ENSMUSG00000031808,protein_coding -31670,1700018B08Rik,ENSMUSG00000031809,protein_coding -31675,Map1lc3b,ENSMUSG00000031812,protein_coding -30660,Mvb12a,ENSMUSG00000031813,protein_coding -31662,Mthfsd,ENSMUSG00000031816,protein_coding -31652,Cox4i1,ENSMUSG00000031818,protein_coding -31651,Emc8,ENSMUSG00000031819,protein_coding -30649,Babam1,ENSMUSG00000031820,protein_coding -31644,Gins2,ENSMUSG00000031821,protein_coding -31639,Gse1,ENSMUSG00000031822,protein_coding -31632,Zdhhc7,ENSMUSG00000031823,protein_coding -31636,6430548M08Rik,ENSMUSG00000031824,protein_coding -31630,Crispld2,ENSMUSG00000031825,protein_coding -31628,Usp10,ENSMUSG00000031826,protein_coding -31626,Cotl1,ENSMUSG00000031827,protein_coding -31627,Klhl36,ENSMUSG00000031828,protein_coding -31616,Dnaaf1,ENSMUSG00000031831,protein_coding -31617,Taf1c,ENSMUSG00000031832,protein_coding -30625,Mast3,ENSMUSG00000031833,protein_coding -30623,Pik3r2,ENSMUSG00000031834,protein_coding -31614,Mbtps1,ENSMUSG00000031835,protein_coding -31612,Necab2,ENSMUSG00000031837,protein_coding -31608,Hsbp1,ENSMUSG00000031839,protein_coding -30619,Rab3a,ENSMUSG00000031840,protein_coding -31602,Cdh13,ENSMUSG00000031841,protein_coding -30618,Pde4c,ENSMUSG00000031842,protein_coding -31599,Mphosph6,ENSMUSG00000031843,protein_coding -31596,Hsd17b2,ENSMUSG00000031844,protein_coding -31585,Bco1,ENSMUSG00000031845,protein_coding -31581,1700030J22Rik,ENSMUSG00000031847,protein_coding -30613,Lsm4,ENSMUSG00000031848,protein_coding -30596,Comp,ENSMUSG00000031849,protein_coding -31865,Ntpcr,ENSMUSG00000031851,protein_coding -31868,Map3k21,ENSMUSG00000031853,protein_coding -30575,Mau2,ENSMUSG00000031858,protein_coding -30568,Pbx4,ENSMUSG00000031860,protein_coding -30567,Lpar2,ENSMUSG00000031861,protein_coding -30565,Atp13a1,ENSMUSG00000031862,protein_coding -30536,Ints10,ENSMUSG00000031864,protein_coding -20492,Dctn1,ENSMUSG00000031865,protein_coding -34521,Pgr,ENSMUSG00000031870,protein_coding -31282,Cdh5,ENSMUSG00000031871,protein_coding -31284,Bean1,ENSMUSG00000031872,protein_coding -31298,Cmtm3,ENSMUSG00000031875,protein_coding -31292,Gm45711,ENSMUSG00000031876,protein_coding -31330,Ces2g,ENSMUSG00000031877,protein_coding -31306,Nae1,ENSMUSG00000031878,protein_coding -31313,Ciao2b,ENSMUSG00000031879,protein_coding -31311,Rrad,ENSMUSG00000031880,protein_coding -31310,Cdh16,ENSMUSG00000031881,protein_coding -31307,Car7,ENSMUSG00000031883,protein_coding -31340,Cbfb,ENSMUSG00000031885,protein_coding -31328,Ces2e,ENSMUSG00000031886,protein_coding -31345,Tradd,ENSMUSG00000031887,protein_coding -31343,D230025D16Rik,ENSMUSG00000031889,protein_coding -31366,Hsd11b2,ENSMUSG00000031891,protein_coding -31384,Tsnaxip1,ENSMUSG00000031893,protein_coding -31392,Ctrl,ENSMUSG00000031896,protein_coding -31394,Psmb10,ENSMUSG00000031897,protein_coding -31399,Dpep3,ENSMUSG00000031898,protein_coding -31403,Dus2,ENSMUSG00000031901,protein_coding -31406,Nfatc3,ENSMUSG00000031902,protein_coding -31410,Pla2g15,ENSMUSG00000031903,protein_coding -31411,Slc7a6,ENSMUSG00000031904,protein_coding -31415,Smpd3,ENSMUSG00000031906,protein_coding -31417,Zfp90,ENSMUSG00000031907,protein_coding -31424,Has3,ENSMUSG00000031910,protein_coding -31432,Vps4a,ENSMUSG00000031913,protein_coding -31435,Cog8,ENSMUSG00000031916,protein_coding -31436,Nip7,ENSMUSG00000031917,protein_coding -34562,Mtmr2,ENSMUSG00000031918,protein_coding -31437,Tmed6,ENSMUSG00000031919,protein_coding -31438,Terf2,ENSMUSG00000031921,protein_coding -34563,Cep57,ENSMUSG00000031922,protein_coding -31441,Cyb5b,ENSMUSG00000031924,protein_coding -34555,Maml2,ENSMUSG00000031925,protein_coding -34594,1700012B09Rik,ENSMUSG00000031927,protein_coding -34596,Mre11a,ENSMUSG00000031928,protein_coding -31446,Wwp2,ENSMUSG00000031930,protein_coding -34595,Ankrd49,ENSMUSG00000031931,protein_coding -34600,Gpr83,ENSMUSG00000031932,protein_coding -34601,Izumo1r,ENSMUSG00000031933,protein_coding -34604,Panx1,ENSMUSG00000031934,protein_coding -34608,Med17,ENSMUSG00000031935,protein_coding -34605,Hephl1,ENSMUSG00000031936,protein_coding -34607,Vstm5,ENSMUSG00000031937,protein_coding -34609,4931406C07Rik,ENSMUSG00000031938,protein_coding -34610,Taf1d,ENSMUSG00000031939,protein_coding -31541,Kars,ENSMUSG00000031948,protein_coding -31540,Adat1,ENSMUSG00000031949,protein_coding -31539,Gabarapl2,ENSMUSG00000031950,protein_coding -31538,Tmem231,ENSMUSG00000031951,protein_coding -31537,Chst5,ENSMUSG00000031952,protein_coding -31535,Tmem170,ENSMUSG00000031953,protein_coding -31534,Cfdp1,ENSMUSG00000031954,protein_coding -31533,Bcar1,ENSMUSG00000031955,protein_coding -31531,Ctrb1,ENSMUSG00000031957,protein_coding -31529,Ldhd,ENSMUSG00000031958,protein_coding -31526,Wdr59,ENSMUSG00000031959,protein_coding -31513,Aars,ENSMUSG00000031960,protein_coding -31728,Cdh15,ENSMUSG00000031962,protein_coding -34857,Bmper,ENSMUSG00000031963,protein_coding -34873,Tbx20,ENSMUSG00000031965,protein_coding -34905,Glb1l3,ENSMUSG00000031966,protein_coding -31759,Afg3l1,ENSMUSG00000031967,protein_coding -34908,Acad8,ENSMUSG00000031969,protein_coding -31760,Dbndd1,ENSMUSG00000031970,protein_coding -31822,Ccsap,ENSMUSG00000031971,protein_coding -31824,Acta1,ENSMUSG00000031972,protein_coding -31828,Abcb10,ENSMUSG00000031974,protein_coding -31831,Urb2,ENSMUSG00000031976,protein_coding -31840,Cog2,ENSMUSG00000031979,protein_coding -31841,Agt,ENSMUSG00000031980,protein_coding -31842,Capn9,ENSMUSG00000031981,protein_coding -31845,Arv1,ENSMUSG00000031982,protein_coding -31843,2310022B05Rik,ENSMUSG00000031983,protein_coding -31851,2810004N23Rik,ENSMUSG00000031984,protein_coding -31852,Gnpat,ENSMUSG00000031985,protein_coding -31854,Sprtn,ENSMUSG00000031986,protein_coding -31856,Egln1,ENSMUSG00000031987,protein_coding -34910,Vps26b,ENSMUSG00000031988,protein_coding -34913,Jam3,ENSMUSG00000031990,protein_coding -34919,Spata19,ENSMUSG00000031991,protein_coding -34935,Snx19,ENSMUSG00000031993,protein_coding -34942,Adamts8,ENSMUSG00000031994,protein_coding -34946,St14,ENSMUSG00000031995,protein_coding -34948,Aplp2,ENSMUSG00000031996,protein_coding -34519,Trpc6,ENSMUSG00000031997,protein_coding -34508,Birc3,ENSMUSG00000032000,protein_coding -34488,Dcun1d5,ENSMUSG00000032002,protein_coding -34481,Pdgfd,ENSMUSG00000032006,protein_coding -34573,Sesn3,ENSMUSG00000032009,protein_coding -35354,Usp2,ENSMUSG00000032010,protein_coding -35351,Thy1,ENSMUSG00000032011,protein_coding -35343,Nectin1,ENSMUSG00000032012,protein_coding -35333,Trim29,ENSMUSG00000032013,protein_coding -35331,Oaf,ENSMUSG00000032014,protein_coding -35329,Pou2f3,ENSMUSG00000032015,protein_coding -35322,Grik4,ENSMUSG00000032017,protein_coding -35314,Sc5d,ENSMUSG00000032018,protein_coding -35285,Ubash3b,ENSMUSG00000032020,protein_coding -35284,Crtam,ENSMUSG00000032021,protein_coding -35282,Jhy,ENSMUSG00000032023,protein_coding -35271,Clmp,ENSMUSG00000032024,protein_coding -35515,Rexo2,ENSMUSG00000032026,protein_coding -35512,Nxpe2,ENSMUSG00000032028,protein_coding -35607,Cul5,ENSMUSG00000032030,protein_coding -34962,Barx2,ENSMUSG00000032033,protein_coding -34972,Kcnj5,ENSMUSG00000032034,protein_coding -34984,Ets1,ENSMUSG00000032035,protein_coding -35005,Kirrel3,ENSMUSG00000032036,protein_coding -35010,St3gal4,ENSMUSG00000032038,protein_coding -35012,Dcps,ENSMUSG00000032040,protein_coding -35014,Tirap,ENSMUSG00000032041,protein_coding -35016,Srpr,ENSMUSG00000032042,protein_coding -35019,Rpusd4,ENSMUSG00000032044,protein_coding -6415,Abhd12,ENSMUSG00000032046,protein_coding -35606,Acat1,ENSMUSG00000032047,protein_coding -35584,Rdx,ENSMUSG00000032050,protein_coding -35582,Fdx1,ENSMUSG00000032051,protein_coding -35570,Pou2af1,ENSMUSG00000032053,protein_coding -35565,Btg4,ENSMUSG00000032056,protein_coding -35566,4833427G06Rik,ENSMUSG00000032057,protein_coding -35561,Ppp2r1b,ENSMUSG00000032058,protein_coding -35560,Alg9,ENSMUSG00000032059,protein_coding -35557,Cryab,ENSMUSG00000032060,protein_coding -35555,2310030G06Rik,ENSMUSG00000032062,protein_coding -35554,Dixdc1,ENSMUSG00000032064,protein_coding -35548,Tex12,ENSMUSG00000032065,protein_coding -35546,Bco2,ENSMUSG00000032066,protein_coding -35544,Pts,ENSMUSG00000032067,protein_coding -35543,Plet1,ENSMUSG00000032068,protein_coding -35503,Cadm1,ENSMUSG00000032076,protein_coding -35481,Bud13,ENSMUSG00000032077,protein_coding -35480,Zpr1,ENSMUSG00000032078,protein_coding -35478,Apoa5,ENSMUSG00000032079,protein_coding -35476,Apoa4,ENSMUSG00000032080,protein_coding -35474,Apoc3,ENSMUSG00000032081,protein_coding -35473,Apoa1,ENSMUSG00000032083,protein_coding -35466,Tagln,ENSMUSG00000032085,protein_coding -35460,Bace1,ENSMUSG00000032086,protein_coding -35455,Dscaml1,ENSMUSG00000032087,protein_coding -35445,Il10ra,ENSMUSG00000032089,protein_coding -35442,Tmprss4,ENSMUSG00000032091,protein_coding -35433,Mpzl2,ENSMUSG00000032092,protein_coding -35430,Cd3e,ENSMUSG00000032093,protein_coding -35429,Cd3d,ENSMUSG00000032094,protein_coding -35414,Arcn1,ENSMUSG00000032096,protein_coding -35403,Ddx6,ENSMUSG00000032097,protein_coding -35410,Treh,ENSMUSG00000032098,protein_coding -35034,Pate4,ENSMUSG00000032099,protein_coding -35028,Ddx25,ENSMUSG00000032101,protein_coding -35029,Pus3,ENSMUSG00000032103,protein_coding -35367,Pdzd3,ENSMUSG00000032105,protein_coding -35040,Pate6,ENSMUSG00000032108,protein_coding -35368,Nlrx1,ENSMUSG00000032109,protein_coding -35064,Acrv1,ENSMUSG00000032110,protein_coding -35387,Trappc4,ENSMUSG00000032112,protein_coding -35065,Chek1,ENSMUSG00000032113,protein_coding -35385,Slc37a4,ENSMUSG00000032114,protein_coding -35383,Hyou1,ENSMUSG00000032115,protein_coding -35066,Stt3a,ENSMUSG00000032116,protein_coding -35070,Fez1,ENSMUSG00000032118,protein_coding -35372,Hinfp,ENSMUSG00000032119,protein_coding -35373,C2cd2l,ENSMUSG00000032120,protein_coding -35077,Tmem218,ENSMUSG00000032121,protein_coding -35078,Slc37a2,ENSMUSG00000032122,protein_coding -35374,Dpagt1,ENSMUSG00000032123,protein_coding -35089,Robo4,ENSMUSG00000032125,protein_coding -35378,Hmbs,ENSMUSG00000032126,protein_coding -35379,Vps11,ENSMUSG00000032127,protein_coding -35090,Robo3,ENSMUSG00000032128,protein_coding -35370,Abcg4,ENSMUSG00000032131,protein_coding -35362,Mcam,ENSMUSG00000032135,protein_coding -34745,Pin1,ENSMUSG00000032171,protein_coding -34746,Olfm2,ENSMUSG00000032172,protein_coding -34764,Icam5,ENSMUSG00000032174,protein_coding -34774,Tyk2,ENSMUSG00000032175,protein_coding -34776,Pde4a,ENSMUSG00000032177,protein_coding -34788,Ilf3,ENSMUSG00000032178,protein_coding -36116,Bmp5,ENSMUSG00000032179,protein_coding -34793,Tmed1,ENSMUSG00000032180,protein_coding -36113,Scg3,ENSMUSG00000032181,protein_coding -34797,Yipf2,ENSMUSG00000032182,protein_coding -36112,Lysmd2,ENSMUSG00000032184,protein_coding -34796,Carm1,ENSMUSG00000032185,protein_coding -36110,Tmod2,ENSMUSG00000032186,protein_coding -34801,Smarca4,ENSMUSG00000032187,protein_coding -36101,Bcl2l10,ENSMUSG00000032191,protein_coding -36098,Gnb5,ENSMUSG00000032192,protein_coding -34804,Ldlr,ENSMUSG00000032193,protein_coding -34806,Kank2,ENSMUSG00000032194,protein_coding -34807,Dock6,ENSMUSG00000032198,protein_coding -35995,Polr2m,ENSMUSG00000032199,protein_coding -36066,Rab27a,ENSMUSG00000032202,protein_coding -35990,Aqp9,ENSMUSG00000032204,protein_coding -35986,Lipc,ENSMUSG00000032207,protein_coding -35982,Sltm,ENSMUSG00000032212,protein_coding -36070,Rsl24d1,ENSMUSG00000032215,protein_coding -36045,Nedd4,ENSMUSG00000032216,protein_coding -35977,Rnf111,ENSMUSG00000032217,protein_coding -35976,Ccnb2,ENSMUSG00000032218,protein_coding -35974,Myo1e,ENSMUSG00000032220,protein_coding -36032,Mns1,ENSMUSG00000032221,protein_coding -35971,Fam81a,ENSMUSG00000032224,protein_coding -35968,Gcnt3,ENSMUSG00000032226,protein_coding -36001,Tcf12,ENSMUSG00000032228,protein_coding -35958,Anxa2,ENSMUSG00000032231,protein_coding -35998,Cgnl1,ENSMUSG00000032232,protein_coding -35954,Ice2,ENSMUSG00000032235,protein_coding -35952,Rora,ENSMUSG00000032238,protein_coding -34849,Rp9,ENSMUSG00000032239,protein_coding -35816,Itga11,ENSMUSG00000032243,protein_coding -35818,Fem1b,ENSMUSG00000032244,protein_coding -35820,Cln6,ENSMUSG00000032245,protein_coding -35823,Calml4,ENSMUSG00000032246,protein_coding -35813,Anp32a,ENSMUSG00000032249,protein_coding -36251,Irak1bp1,ENSMUSG00000032251,protein_coding -35806,Glce,ENSMUSG00000032252,protein_coding -36252,Phip,ENSMUSG00000032253,protein_coding -35803,Kif23,ENSMUSG00000032254,protein_coding -35531,Ankk1,ENSMUSG00000032257,protein_coding -36262,Lca5,ENSMUSG00000032258,protein_coding -35530,Drd2,ENSMUSG00000032259,protein_coding -36268,Sh3bgrl2,ENSMUSG00000032261,protein_coding -36272,Elovl4,ENSMUSG00000032262,protein_coding -36275,Bckdhb,ENSMUSG00000032263,protein_coding -35527,Zw10,ENSMUSG00000032264,protein_coding -36294,Tent5a,ENSMUSG00000032265,protein_coding -35524,Usp28,ENSMUSG00000032267,protein_coding -35528,Tmprss5,ENSMUSG00000032268,protein_coding -35522,Htr3a,ENSMUSG00000032269,protein_coding -35519,Nnmt,ENSMUSG00000032271,protein_coding -35620,Cyp19a1,ENSMUSG00000032274,protein_coding -35804,Paqr5,ENSMUSG00000032278,protein_coding -35627,Idh3a,ENSMUSG00000032279,protein_coding -35796,Tle3,ENSMUSG00000032280,protein_coding -35628,Acsbg1,ENSMUSG00000032281,protein_coding -35630,Dnaja4,ENSMUSG00000032285,protein_coding -35683,Imp3,ENSMUSG00000032288,protein_coding -35770,Thsd4,ENSMUSG00000032289,protein_coding -35685,Ptpn9,ENSMUSG00000032290,protein_coding -35633,Crabp1,ENSMUSG00000032291,protein_coding -35767,Nr2e3,ENSMUSG00000032292,protein_coding -35635,Ireb2,ENSMUSG00000032293,protein_coding -35758,Pkm,ENSMUSG00000032294,protein_coding -35690,Man2c1,ENSMUSG00000032295,protein_coding -35756,Celf6,ENSMUSG00000032297,protein_coding -35691,Neil1,ENSMUSG00000032298,protein_coding -35692,Commd4,ENSMUSG00000032299,protein_coding -35695,1700017B05Rik,ENSMUSG00000032300,protein_coding -35638,Psma4,ENSMUSG00000032301,protein_coding -35640,Chrna3,ENSMUSG00000032303,protein_coding -35706,Fam219b,ENSMUSG00000032305,protein_coding -35707,Mpi,ENSMUSG00000032306,protein_coding -35646,Ube2q2,ENSMUSG00000032307,protein_coding -35709,Ulk3,ENSMUSG00000032308,protein_coding -35647,Fbxo22,ENSMUSG00000032309,protein_coding -35713,Cyp1a2,ENSMUSG00000032310,protein_coding -35648,Nrg4,ENSMUSG00000032311,protein_coding -35712,Csk,ENSMUSG00000032312,protein_coding -35650,Tmem266,ENSMUSG00000032313,protein_coding -35651,Etfa,ENSMUSG00000032314,protein_coding -35714,Cyp1a1,ENSMUSG00000032315,protein_coding -35716,Clk3,ENSMUSG00000032316,protein_coding -35653,Isl2,ENSMUSG00000032318,protein_coding -35661,Rcn2,ENSMUSG00000032320,protein_coding -35662,Pstpip1,ENSMUSG00000032322,protein_coding -35722,Cyp11a1,ENSMUSG00000032323,protein_coding -35663,Tspan3,ENSMUSG00000032324,protein_coding -35725,Stra6,ENSMUSG00000032327,protein_coding -36215,Tmem30a,ENSMUSG00000032328,protein_coding -35670,Hmg20a,ENSMUSG00000032329,protein_coding -36214,Cox7a2,ENSMUSG00000032330,protein_coding -36212,Col12a1,ENSMUSG00000032332,protein_coding -35733,Stoml1,ENSMUSG00000032333,protein_coding -35734,Loxl1,ENSMUSG00000032334,protein_coding -35741,Nptn,ENSMUSG00000032336,protein_coding -35744,Hcn4,ENSMUSG00000032338,protein_coding -35745,Neo1,ENSMUSG00000032340,protein_coding -36188,Mto1,ENSMUSG00000032342,protein_coding -36228,Impg1,ENSMUSG00000032343,protein_coding -36186,Cgas,ENSMUSG00000032344,protein_coding -36181,Ooep,ENSMUSG00000032346,protein_coding -36169,Gsta4,ENSMUSG00000032348,protein_coding -36158,Elovl5,ENSMUSG00000032349,protein_coding -36153,Gclc,ENSMUSG00000032350,protein_coding -36145,Lrrc1,ENSMUSG00000032352,protein_coding -36395,Tmed3,ENSMUSG00000032353,protein_coding -36140,Mlip,ENSMUSG00000032355,protein_coding -36401,Rasgrf1,ENSMUSG00000032356,protein_coding -36136,Tinag,ENSMUSG00000032357,protein_coding -36127,Fam83b,ENSMUSG00000032358,protein_coding -36404,Ctsh,ENSMUSG00000032359,protein_coding -36125,Hcrtr2,ENSMUSG00000032360,protein_coding -36409,Adamts7,ENSMUSG00000032363,protein_coding -35929,Tpm1,ENSMUSG00000032366,protein_coding -36431,Zic1,ENSMUSG00000032368,protein_coding -36439,Plscr1,ENSMUSG00000032369,protein_coding -35927,Lactb,ENSMUSG00000032370,protein_coding -36441,Plscr2,ENSMUSG00000032372,protein_coding -35918,Car12,ENSMUSG00000032373,protein_coding -36449,Plod2,ENSMUSG00000032374,protein_coding -35919,Aph1b,ENSMUSG00000032375,protein_coding -35916,Usp3,ENSMUSG00000032376,protein_coding -36445,Plscr4,ENSMUSG00000032377,protein_coding -35911,Dapk2,ENSMUSG00000032380,protein_coding -35910,Ciao2a,ENSMUSG00000032381,protein_coding -35909,Snx1,ENSMUSG00000032382,protein_coding -35907,Ppib,ENSMUSG00000032383,protein_coding -35905,Csnk1g1,ENSMUSG00000032384,protein_coding -35900,Trip4,ENSMUSG00000032386,protein_coding -35897,Rbpms2,ENSMUSG00000032387,protein_coding -35892,Spg21,ENSMUSG00000032388,protein_coding -35875,Parp16,ENSMUSG00000032392,protein_coding -35871,Dpp8,ENSMUSG00000032393,protein_coding -35874,Igdcc3,ENSMUSG00000032394,protein_coding -35861,Dis3l,ENSMUSG00000032396,protein_coding -35859,Tipin,ENSMUSG00000032397,protein_coding -35854,Snapc5,ENSMUSG00000032398,protein_coding -35848,Rpl4,ENSMUSG00000032399,protein_coding -35847,Zwilch,ENSMUSG00000032400,protein_coding -35846,Lctl,ENSMUSG00000032401,protein_coding -35837,Smad3,ENSMUSG00000032402,protein_coding -35831,2300009A05Rik,ENSMUSG00000032403,protein_coding -35824,Pias1,ENSMUSG00000032405,protein_coding -36474,U2surp,ENSMUSG00000032407,protein_coding -36487,Atr,ENSMUSG00000032409,protein_coding -36490,Xrn1,ENSMUSG00000032410,protein_coding -36495,Tfdp2,ENSMUSG00000032411,protein_coding -36498,Atp1b3,ENSMUSG00000032412,protein_coding -36505,Rasa2,ENSMUSG00000032413,protein_coding -36310,Ube2cbp,ENSMUSG00000032415,protein_coding -36315,Rwdd2a,ENSMUSG00000032417,protein_coding -36316,Me1,ENSMUSG00000032418,protein_coding -36335,Tbx18,ENSMUSG00000032419,protein_coding -36347,Nt5e,ENSMUSG00000032420,protein_coding -36348,Snx14,ENSMUSG00000032422,protein_coding -36352,Syncrip,ENSMUSG00000032423,protein_coding -36357,Zfp949,ENSMUSG00000032425,protein_coding -37030,Crtap,ENSMUSG00000032431,protein_coding -37040,Cmtm6,ENSMUSG00000032434,protein_coding -37039,Dync1li1,ENSMUSG00000032435,protein_coding -37041,Cmtm7,ENSMUSG00000032436,protein_coding -37051,Stt3b,ENSMUSG00000032437,protein_coding -37065,Tgfbr2,ENSMUSG00000032440,protein_coding -37087,Eomes,ENSMUSG00000032446,protein_coding -36521,Slc25a36,ENSMUSG00000032449,protein_coding -36528,Trim42,ENSMUSG00000032451,protein_coding -36531,Clstn2,ENSMUSG00000032452,protein_coding -36538,Rbp2,ENSMUSG00000032454,protein_coding -36535,Nmnat3,ENSMUSG00000032456,protein_coding -36541,Copb2,ENSMUSG00000032458,protein_coding -36543,Mrps22,ENSMUSG00000032459,protein_coding -36563,Pik3cb,ENSMUSG00000032462,protein_coding -36561,Faim,ENSMUSG00000032463,protein_coding -36577,Armc8,ENSMUSG00000032468,protein_coding -36578,Dbr1,ENSMUSG00000032469,protein_coding -36575,Mras,ENSMUSG00000032470,protein_coding -36581,Cldn18,ENSMUSG00000032473,protein_coding -36595,Nck1,ENSMUSG00000032475,protein_coding -36933,Cdc25a,ENSMUSG00000032477,protein_coding -36931,Nme6,ENSMUSG00000032478,protein_coding -36936,Map4,ENSMUSG00000032479,protein_coding -36941,Dhx30,ENSMUSG00000032480,protein_coding -36943,Smarcc1,ENSMUSG00000032481,protein_coding -36946,Cspg5,ENSMUSG00000032482,protein_coding -36955,Ngp,ENSMUSG00000032484,protein_coding -36952,Scap,ENSMUSG00000032485,protein_coding -2438,Ptgs2,ENSMUSG00000032487,protein_coding -36957,Kif9,ENSMUSG00000032489,protein_coding -36960,Nradd,ENSMUSG00000032491,protein_coding -36966,Pth1r,ENSMUSG00000032492,protein_coding -36969,Prss44,ENSMUSG00000032493,protein_coding -36979,Tdgf1,ENSMUSG00000032494,protein_coding -36980,Lrrc2,ENSMUSG00000032495,protein_coding -36985,Ltf,ENSMUSG00000032496,protein_coding -36990,Lrrfip2,ENSMUSG00000032497,protein_coding -36991,Mlh1,ENSMUSG00000032498,protein_coding -36996,Dclk3,ENSMUSG00000032500,protein_coding -45975,Trib1,ENSMUSG00000032501,protein_coding -36999,Stac,ENSMUSG00000032502,protein_coding -37002,Arpp21,ENSMUSG00000032503,protein_coding -37019,Pdcd6ip,ENSMUSG00000032504,protein_coding -37023,Fbxl2,ENSMUSG00000032507,protein_coding -37109,Myd88,ENSMUSG00000032508,protein_coding -37116,Scn5a,ENSMUSG00000032511,protein_coding -37120,Wdr48,ENSMUSG00000032512,protein_coding -37122,Gorasp1,ENSMUSG00000032513,protein_coding -37123,Ttc21a,ENSMUSG00000032514,protein_coding -37124,Csrnp1,ENSMUSG00000032515,protein_coding -37138,Mobp,ENSMUSG00000032517,protein_coding -37133,Rpsa,ENSMUSG00000032518,protein_coding -37132,Slc25a38,ENSMUSG00000032519,protein_coding -37192,Hhatl,ENSMUSG00000032523,protein_coding -37187,Nktr,ENSMUSG00000032525,protein_coding -37186,Ss18l2,ENSMUSG00000032526,protein_coding -36604,Pccb,ENSMUSG00000032527,protein_coding -37184,Vipr1,ENSMUSG00000032528,protein_coding -37181,Lyzl4,ENSMUSG00000032530,protein_coding -36648,Amotl2,ENSMUSG00000032531,protein_coding -37178,Cck,ENSMUSG00000032532,protein_coding -36644,Cep63,ENSMUSG00000032534,protein_coding -37175,Trak1,ENSMUSG00000032536,protein_coding -36627,Ephb1,ENSMUSG00000032537,protein_coding -37218,Abhd5,ENSMUSG00000032540,protein_coding -36653,Ryk,ENSMUSG00000032547,protein_coding -36655,Slco2a1,ENSMUSG00000032548,protein_coding -36660,Rab6b,ENSMUSG00000032549,protein_coding -37246,1110059G10Rik,ENSMUSG00000032551,protein_coding -36662,Srprb,ENSMUSG00000032553,protein_coding -36664,Trf,ENSMUSG00000032554,protein_coding -36666,Topbp1,ENSMUSG00000032555,protein_coding -36671,Bfsp2,ENSMUSG00000032556,protein_coding -36685,Uba5,ENSMUSG00000032557,protein_coding -36682,Nphp3,ENSMUSG00000032558,protein_coding -36691,Dnajc13,ENSMUSG00000032560,protein_coding -36694,Acpp,ENSMUSG00000032561,protein_coding -36802,Gnai2,ENSMUSG00000032562,protein_coding -36701,Mrpl3,ENSMUSG00000032563,protein_coding -36699,Cpne4,ENSMUSG00000032564,protein_coding -36706,Nudt16,ENSMUSG00000032565,protein_coding -36707,Nudt16l2,ENSMUSG00000032566,protein_coding -36712,Aste1,ENSMUSG00000032567,protein_coding -36713,Atp2c1,ENSMUSG00000032570,protein_coding -36717,Pik3r4,ENSMUSG00000032571,protein_coding -36722,Col6a4,ENSMUSG00000032572,protein_coding -36763,Manf,ENSMUSG00000032575,protein_coding -36775,Mapkapk3,ENSMUSG00000032577,protein_coding -36777,Cish,ENSMUSG00000032578,protein_coding -36779,Hemk1,ENSMUSG00000032579,protein_coding -36808,Rbm5,ENSMUSG00000032580,protein_coding -36810,Rbm6,ENSMUSG00000032582,protein_coding -36812,Mon1a,ENSMUSG00000032583,protein_coding -36814,Mst1r,ENSMUSG00000032584,protein_coding -36818,Traip,ENSMUSG00000032586,protein_coding -36836,Bsn,ENSMUSG00000032589,protein_coding -36835,Apeh,ENSMUSG00000032590,protein_coding -36833,Mst1,ENSMUSG00000032591,protein_coding -36832,Amigo3,ENSMUSG00000032593,protein_coding -36827,Ip6k1,ENSMUSG00000032594,protein_coding -36824,Cdhr4,ENSMUSG00000032595,protein_coding -36819,Uba7,ENSMUSG00000032596,protein_coding -36884,Nckipsd,ENSMUSG00000032598,protein_coding -36882,Ip6k2,ENSMUSG00000032599,protein_coding -36880,Prkar2a,ENSMUSG00000032601,protein_coding -36879,Slc25a20,ENSMUSG00000032602,protein_coding -36862,Qars,ENSMUSG00000032604,protein_coding -36843,Nicn1,ENSMUSG00000032606,protein_coding -36844,Amt,ENSMUSG00000032607,protein_coding -36857,Klhdc8b,ENSMUSG00000032609,protein_coding -36853,1700102P08Rik,ENSMUSG00000032611,protein_coding -36850,Usp4,ENSMUSG00000032612,protein_coding -38308,Nt5m,ENSMUSG00000032615,protein_coding -42552,Srek1,ENSMUSG00000032621,protein_coding -17982,Oas1d,ENSMUSG00000032623,protein_coding -50909,Eml4,ENSMUSG00000032624,protein_coding -19011,Thsd7a,ENSMUSG00000032625,protein_coding -38304,Flcn,ENSMUSG00000032633,protein_coding -26128,Atxn2l,ENSMUSG00000032637,protein_coding -24607,Chsy1,ENSMUSG00000032640,protein_coding -21739,Gpr19,ENSMUSG00000032641,protein_coding -14653,Fhl3,ENSMUSG00000032643,protein_coding -54289,Pygm,ENSMUSG00000032648,protein_coding -2484,Colgalt2,ENSMUSG00000032649,protein_coding -21737,Crebl2,ENSMUSG00000032652,protein_coding -53503,March3,ENSMUSG00000032656,protein_coding -11166,Fam189b,ENSMUSG00000032657,protein_coding -17972,Oas3,ENSMUSG00000032661,protein_coding -2478,1700025G04Rik,ENSMUSG00000032666,protein_coding -18939,Pon2,ENSMUSG00000032667,protein_coding -5558,A930018P22Rik,ENSMUSG00000032671,protein_coding -37711,Prorsd1,ENSMUSG00000032673,protein_coding -5557,Cd59a,ENSMUSG00000032679,protein_coding -6475,6820408C15Rik,ENSMUSG00000032680,protein_coding -53660,Malt1,ENSMUSG00000032688,protein_coding -17970,Oas2,ENSMUSG00000032690,protein_coding -38294,Nlrp3,ENSMUSG00000032691,protein_coding -5550,Lmo2,ENSMUSG00000032698,protein_coding -54791,Kank1,ENSMUSG00000032702,protein_coding -44076,Exd2,ENSMUSG00000032705,protein_coding -22006,Resf1,ENSMUSG00000032712,protein_coding -28075,Syde1,ENSMUSG00000032714,protein_coding -6469,Trib3,ENSMUSG00000032715,protein_coding -50352,Mdfi,ENSMUSG00000032717,protein_coding -21731,Mansc1,ENSMUSG00000032718,protein_coding -197,Sbspon,ENSMUSG00000032719,protein_coding -5537,Abtb2,ENSMUSG00000032724,protein_coding -25366,Folr2,ENSMUSG00000032725,protein_coding -14620,Bmp8a,ENSMUSG00000032726,protein_coding -42644,Mier3,ENSMUSG00000032727,protein_coding -35680,Snx33,ENSMUSG00000032733,protein_coding -53594,Ablim3,ENSMUSG00000032735,protein_coding -25364,Inppl1,ENSMUSG00000032737,protein_coding -49737,Pram1,ENSMUSG00000032739,protein_coding -37710,Ccdc88a,ENSMUSG00000032740,protein_coding -17959,Tpcn1,ENSMUSG00000032741,protein_coding -26107,D430042O09Rik,ENSMUSG00000032743,protein_coding -14614,Heyl,ENSMUSG00000032744,protein_coding -42637,Gpbp1,ENSMUSG00000032745,protein_coding -8422,Gab3,ENSMUSG00000032750,protein_coding -17958,Slc8b1,ENSMUSG00000032754,protein_coding -18911,Bet1,ENSMUSG00000032757,protein_coding -21717,Kap,ENSMUSG00000032758,protein_coding -28074,Ilvbl,ENSMUSG00000032763,protein_coding -18909,Gng11,ENSMUSG00000032766,protein_coding -185,Trpa1,ENSMUSG00000032769,protein_coding -54367,Chrm1,ENSMUSG00000032773,protein_coding -24714,Mctp2,ENSMUSG00000032776,protein_coding -26106,Gtf3c1,ENSMUSG00000032777,protein_coding -38540,Cntrob,ENSMUSG00000032782,protein_coding -46899,Troap,ENSMUSG00000032783,protein_coding -36736,Alas1,ENSMUSG00000032786,protein_coding -28063,Pdxk,ENSMUSG00000032788,protein_coding -50681,Lama1,ENSMUSG00000032796,protein_coding -6463,Srxn1,ENSMUSG00000032802,protein_coding -36667,Cdv3,ENSMUSG00000032803,protein_coding -8385,Slc10a3,ENSMUSG00000032806,protein_coding -38535,Alox12b,ENSMUSG00000032807,protein_coding -55035,Cyp2c38,ENSMUSG00000032808,protein_coding -25352,Arap1,ENSMUSG00000032812,protein_coding -31751,Fanca,ENSMUSG00000032815,protein_coding -35873,Igdcc4,ENSMUSG00000032816,protein_coding -53852,Loxhd1,ENSMUSG00000032818,protein_coding -12214,Ank2,ENSMUSG00000032826,protein_coding -18932,Ppp1r9a,ENSMUSG00000032827,protein_coding -28047,Pwp2,ENSMUSG00000032834,protein_coding -36484,Trpc1,ENSMUSG00000032839,protein_coding -17915,2410131K14Rik,ENSMUSG00000032840,protein_coding -5508,Prr5l,ENSMUSG00000032841,protein_coding -50293,Abcc10,ENSMUSG00000032842,protein_coding -53652,Alpk2,ENSMUSG00000032845,protein_coding -34351,Abcc4,ENSMUSG00000032849,protein_coding -17913,Rnft2,ENSMUSG00000032850,protein_coding -6454,Rspo4,ENSMUSG00000032852,protein_coding -12197,Ugt8a,ENSMUSG00000032854,protein_coding -49298,Pkd1,ENSMUSG00000032855,protein_coding -25341,P2ry2,ENSMUSG00000032860,protein_coding -5505,Rag2,ENSMUSG00000032864,protein_coding -17909,Fbxw8,ENSMUSG00000032867,protein_coding -6450,Psmf1,ENSMUSG00000032869,protein_coding -14565,Smap2,ENSMUSG00000032870,protein_coding -36327,Cyb5r4,ENSMUSG00000032872,protein_coding -25337,Arhgef17,ENSMUSG00000032875,protein_coding -37693,Ccdc85a,ENSMUSG00000032878,protein_coding -1299,Acsl3,ENSMUSG00000032883,protein_coding -14560,Rims3,ENSMUSG00000032890,protein_coding -38518,Rangrf,ENSMUSG00000032892,protein_coding -8826,1700031F05Rik,ENSMUSG00000032894,protein_coding -14555,Nfyc,ENSMUSG00000032897,protein_coding -17906,Fbxo21,ENSMUSG00000032898,protein_coding -21626,Styk1,ENSMUSG00000032899,protein_coding -53498,Tex43,ENSMUSG00000032900,protein_coding -11798,Slc16a1,ENSMUSG00000032902,protein_coding -53386,Atg12,ENSMUSG00000032905,protein_coding -1289,Sgpp2,ENSMUSG00000032908,protein_coding -35678,Cspg4,ENSMUSG00000032911,protein_coding -11790,Lrig2,ENSMUSG00000032913,protein_coding -50485,Adgre4,ENSMUSG00000032915,protein_coding -38515,Odf4,ENSMUSG00000032921,protein_coding -34428,Itgbl1,ENSMUSG00000032925,protein_coding -48368,Hspa13,ENSMUSG00000032932,protein_coding -36817,Camkv,ENSMUSG00000032936,protein_coding -51025,Fshr,ENSMUSG00000032937,protein_coding -31155,Nup93,ENSMUSG00000032939,protein_coding -48366,Rbm11,ENSMUSG00000032940,protein_coding -25319,Ucp3,ENSMUSG00000032942,protein_coding -54290,Rasgrp2,ENSMUSG00000032946,protein_coding -48365,Lipi,ENSMUSG00000032948,protein_coding -11764,Ap4b1,ENSMUSG00000032952,protein_coding -17890,Pebp1,ENSMUSG00000032959,protein_coding -48115,Ift57,ENSMUSG00000032965,protein_coding -6443,Fkbp1a,ENSMUSG00000032966,protein_coding -1265,Inha,ENSMUSG00000032968,protein_coding -27998,Fam207a,ENSMUSG00000032977,protein_coding -14541,Guca2b,ENSMUSG00000032978,protein_coding -37670,5730522E02Rik,ENSMUSG00000032985,protein_coding -46856,Olfr281,ENSMUSG00000032987,protein_coding -46395,Slc16a8,ENSMUSG00000032988,protein_coding -1262,Chpf,ENSMUSG00000032997,protein_coding -14538,Foxj3,ENSMUSG00000032998,protein_coding -41831,Nlrp4f,ENSMUSG00000032999,protein_coding -34224,Mycbp2,ENSMUSG00000033004,protein_coding -46391,Sox10,ENSMUSG00000033006,protein_coding -1260,Asic4,ENSMUSG00000033007,protein_coding -31146,Ogfod1,ENSMUSG00000033009,protein_coding -11746,Trim33,ENSMUSG00000033014,protein_coding -53914,Nfatc1,ENSMUSG00000033016,protein_coding -46390,Polr2f,ENSMUSG00000033020,protein_coding -1259,Gmppa,ENSMUSG00000033021,protein_coding -53385,Cdo1,ENSMUSG00000033022,protein_coding -21586,Klra9,ENSMUSG00000033024,protein_coding -21559,Klrc3,ENSMUSG00000033027,protein_coding -46389,1700088E04Rik,ENSMUSG00000033029,protein_coding -48108,Cip2a,ENSMUSG00000033031,protein_coding -53593,Afap1l1,ENSMUSG00000033032,protein_coding -55241,Calhm2,ENSMUSG00000033033,protein_coding -16444,Gm7879,ENSMUSG00000033036,protein_coding -46388,Micall1,ENSMUSG00000033039,protein_coding -38493,Dhrs7c,ENSMUSG00000033044,protein_coding -46386,Eif3l,ENSMUSG00000033047,protein_coding -54757,1700028P14Rik,ENSMUSG00000033053,protein_coding -35605,Npat,ENSMUSG00000033054,protein_coding -46384,Ankrd54,ENSMUSG00000033055,protein_coding -6414,Pygb,ENSMUSG00000033059,protein_coding -34209,Lmo7,ENSMUSG00000033060,protein_coding -1252,Resp18,ENSMUSG00000033061,protein_coding -41819,Cntnap3,ENSMUSG00000033063,protein_coding -46839,Pfkm,ENSMUSG00000033065,protein_coding -38488,Gas7,ENSMUSG00000033066,protein_coding -6413,Entpd6,ENSMUSG00000033068,protein_coding -46837,Senp1,ENSMUSG00000033075,protein_coding -6409,Vsx1,ENSMUSG00000033080,protein_coding -21547,Clec1a,ENSMUSG00000033082,protein_coding -34202,Tbc1d4,ENSMUSG00000033083,protein_coding -46374,Triobp,ENSMUSG00000033088,protein_coding -6405,Apmap,ENSMUSG00000033096,protein_coding -46373,Nol12,ENSMUSG00000033099,protein_coding -41796,Cdc14b,ENSMUSG00000033102,protein_coding -27977,Lss,ENSMUSG00000033105,protein_coding -31412,Slc7a6os,ENSMUSG00000033106,protein_coding -52903,Rnf125,ENSMUSG00000033107,protein_coding -32136,3830406C13Rik,ENSMUSG00000033111,protein_coding -41792,Slc35d2,ENSMUSG00000033114,protein_coding -41791,Hsd17b3,ENSMUSG00000033122,protein_coding -1241,Atg9a,ENSMUSG00000033124,protein_coding -27975,Ybey,ENSMUSG00000033126,protein_coding -46366,Gga1,ENSMUSG00000033128,protein_coding -11705,Slc22a15,ENSMUSG00000033147,protein_coding -48073,Phldb2,ENSMUSG00000033149,protein_coding -20703,Podxl2,ENSMUSG00000033152,protein_coding -6381,Cst10,ENSMUSG00000033156,protein_coding -48071,Abhd10,ENSMUSG00000033157,protein_coding -1236,Cnppd1,ENSMUSG00000033159,protein_coding -11699,Atp1a1,ENSMUSG00000033161,protein_coding -34170,Dis3,ENSMUSG00000033166,protein_coding -46361,Card10,ENSMUSG00000033170,protein_coding -20697,Mgll,ENSMUSG00000033174,protein_coding -48069,Tmprss7,ENSMUSG00000033177,protein_coding -20695,Kbtbd12,ENSMUSG00000033182,protein_coding -53382,Tmed7,ENSMUSG00000033184,protein_coding -34168,Mzt1,ENSMUSG00000033186,protein_coding -48067,BC016579,ENSMUSG00000033187,protein_coding -14477,Tie1,ENSMUSG00000033191,protein_coding -31116,Lpcat2,ENSMUSG00000033192,protein_coding -38480,Myh2,ENSMUSG00000033196,protein_coding -49353,Tpsg1,ENSMUSG00000033200,protein_coding -54754,Mamdc2,ENSMUSG00000033207,protein_coding -27968,S100b,ENSMUSG00000033208,protein_coding -17687,Ttc28,ENSMUSG00000033209,protein_coding -48065,Slc9c1,ENSMUSG00000033210,protein_coding -5952,AA467197,ENSMUSG00000033213,protein_coding -34302,Slitrk5,ENSMUSG00000033214,protein_coding -20687,Eefsec,ENSMUSG00000033216,protein_coding -15854,Gm9758,ENSMUSG00000033219,protein_coding -46355,Rac2,ENSMUSG00000033220,protein_coding -11684,Ttf2,ENSMUSG00000033222,protein_coding -1222,Wnt6,ENSMUSG00000033227,protein_coding -46811,Scaf11,ENSMUSG00000033228,protein_coding -11683,Trim45,ENSMUSG00000033233,protein_coding -46809,Arid2,ENSMUSG00000033237,protein_coding -31347,Hsf4,ENSMUSG00000033249,protein_coding -14471,Szt2,ENSMUSG00000033253,protein_coding -27956,Gm5134,ENSMUSG00000033255,protein_coding -5944,Shf,ENSMUSG00000033256,protein_coding -1218,Ttll4,ENSMUSG00000033257,protein_coding -5943,Duox1,ENSMUSG00000033268,protein_coding -53132,Slc35a4,ENSMUSG00000033272,protein_coding -1217,Stk36,ENSMUSG00000033276,protein_coding -50667,Ptprm,ENSMUSG00000033278,protein_coding -31079,Rpgrip1l,ENSMUSG00000033282,protein_coding -11665,Wdr3,ENSMUSG00000033285,protein_coding -46348,Kctd17,ENSMUSG00000033287,protein_coding -17672,Noc4l,ENSMUSG00000033294,protein_coding -14468,Ptprf,ENSMUSG00000033295,protein_coding -47696,Lpp,ENSMUSG00000033306,protein_coding -27947,Mif,ENSMUSG00000033307,protein_coding -12081,Dpyd,ENSMUSG00000033308,protein_coding -31346,Fbxl8,ENSMUSG00000033313,protein_coding -17671,Galnt9,ENSMUSG00000033316,protein_coding -27946,Gstt2,ENSMUSG00000033318,protein_coding -53380,Fem1c,ENSMUSG00000033319,protein_coding -53910,Ctdp1,ENSMUSG00000033323,protein_coding -14466,Kdm4a,ENSMUSG00000033326,protein_coding -49833,Tnxb,ENSMUSG00000033327,protein_coding -34791,Dnm2,ENSMUSG00000033335,protein_coding -12069,Plppr5,ENSMUSG00000033342,protein_coding -8291,Magea4,ENSMUSG00000033343,protein_coding -36470,Chst2,ENSMUSG00000033350,protein_coding -38463,Map2k4,ENSMUSG00000033352,protein_coding -47680,Rtp4,ENSMUSG00000033355,protein_coding -46786,Pus7l,ENSMUSG00000033356,protein_coding -8288,Prrg3,ENSMUSG00000033361,protein_coding -1209,Usp37,ENSMUSG00000033364,protein_coding -14462,Ipo13,ENSMUSG00000033365,protein_coding -5934,Trim69,ENSMUSG00000033368,protein_coding -44009,Fntb,ENSMUSG00000033373,protein_coding -12058,Palmd,ENSMUSG00000033377,protein_coding -14460,Atp6v0b,ENSMUSG00000033379,protein_coding -52901,Trappc8,ENSMUSG00000033382,protein_coding -47676,Rtp1,ENSMUSG00000033383,protein_coding -12057,Frrs1,ENSMUSG00000033386,protein_coding -38455,Arhgap44,ENSMUSG00000033389,protein_coding -37020,Clasp2,ENSMUSG00000033392,protein_coding -5931,Spg11,ENSMUSG00000033396,protein_coding -12052,Agl,ENSMUSG00000033400,protein_coding -33909,Nudt15,ENSMUSG00000033405,protein_coding -31554,Syce1l,ENSMUSG00000033409,protein_coding -5928,Ctdspl2,ENSMUSG00000033411,protein_coding -27926,Gucd1,ENSMUSG00000033416,protein_coding -55424,Cacul1,ENSMUSG00000033417,protein_coding -36323,Snap91,ENSMUSG00000033419,protein_coding -20636,Antxr1,ENSMUSG00000033420,protein_coding -14447,Eri3,ENSMUSG00000033423,protein_coding -27927,Upb1,ENSMUSG00000033427,protein_coding -24581,Mcee,ENSMUSG00000033429,protein_coding -31542,Terf2ip,ENSMUSG00000033430,protein_coding -17646,Gtpbp6,ENSMUSG00000033434,protein_coding -9243,Armcx2,ENSMUSG00000033436,protein_coding -12044,Trmt13,ENSMUSG00000033439,protein_coding -27922,Specc1l,ENSMUSG00000033444,protein_coding -33904,Lpar6,ENSMUSG00000033446,protein_coding -48849,Tagap,ENSMUSG00000033450,protein_coding -34941,Adamts15,ENSMUSG00000033453,protein_coding -43996,Zbtb1,ENSMUSG00000033454,protein_coding -24579,Fan1,ENSMUSG00000033458,protein_coding -9237,Armcx1,ENSMUSG00000033460,protein_coding -17630,Crlf2,ENSMUSG00000033467,protein_coding -33899,Cysltr2,ENSMUSG00000033470,protein_coding -50344,Tomm6,ENSMUSG00000033475,protein_coding -55369,Fam160b1,ENSMUSG00000033478,protein_coding -5907,Catsper2,ENSMUSG00000033486,protein_coding -33892,Fndc3a,ENSMUSG00000033487,protein_coding -2596,Cryzl2,ENSMUSG00000033488,protein_coding -36322,Prss35,ENSMUSG00000033491,protein_coding -5906,Strc,ENSMUSG00000033498,protein_coding -40416,Larp4b,ENSMUSG00000033499,protein_coding -47644,Crygs,ENSMUSG00000033501,protein_coding -12032,Cdc14a,ENSMUSG00000033502,protein_coding -20619,Asprv1,ENSMUSG00000033508,protein_coding -24555,Otud7a,ENSMUSG00000033510,protein_coding -40410,Idi2,ENSMUSG00000033520,protein_coding -5904,Ppip5k1,ENSMUSG00000033526,protein_coding -44514,Ttc7b,ENSMUSG00000033530,protein_coding -25974,Acsm1,ENSMUSG00000033533,protein_coding -34475,Casp4,ENSMUSG00000033538,protein_coding -17601,Idua,ENSMUSG00000033540,protein_coding -19580,Arhgef5,ENSMUSG00000033542,protein_coding -35967,Gtf2a2,ENSMUSG00000033543,protein_coding -2582,Angptl1,ENSMUSG00000033544,protein_coding -31528,Znrf1,ENSMUSG00000033545,protein_coding -12016,Dph5,ENSMUSG00000033554,protein_coding -2577,Fam20b,ENSMUSG00000033557,protein_coding -46295,Rbfox2,ENSMUSG00000033565,protein_coding -338,Adgrb3,ENSMUSG00000033569,protein_coding -46293,Apol6,ENSMUSG00000033576,protein_coding -36226,Myo6,ENSMUSG00000033577,protein_coding -9221,Tmem35a,ENSMUSG00000033578,protein_coding -31524,Fa2h,ENSMUSG00000033579,protein_coding -47625,Igf2bp2,ENSMUSG00000033581,protein_coding -24542,Ndn,ENSMUSG00000033585,protein_coding -33870,Reep4,ENSMUSG00000033589,protein_coding -36097,Myo5c,ENSMUSG00000033590,protein_coding -31746,Spata2l,ENSMUSG00000033594,protein_coding -33869,Lgi3,ENSMUSG00000033595,protein_coding -31521,Rfwd3,ENSMUSG00000033596,protein_coding -49292,Caskin1,ENSMUSG00000033597,protein_coding -54951,Pank1,ENSMUSG00000033610,protein_coding -17595,Cplx1,ENSMUSG00000033615,protein_coding -47615,Map3k13,ENSMUSG00000033618,protein_coding -17593,Pcgf3,ENSMUSG00000033623,protein_coding -31517,Pdpr,ENSMUSG00000033624,protein_coding -52980,Pik3c3,ENSMUSG00000033628,protein_coding -35870,Hacd3,ENSMUSG00000033629,protein_coding -52950,AW554918,ENSMUSG00000033632,protein_coding -31516,Clec18a,ENSMUSG00000033633,protein_coding -20581,Nat8f2,ENSMUSG00000033634,protein_coding -33861,Piwil2,ENSMUSG00000033644,protein_coding -47610,Vps8,ENSMUSG00000033653,protein_coding -31511,Ddx19b,ENSMUSG00000033658,protein_coding -46283,Zfp7,ENSMUSG00000033669,protein_coding -2554,Cep350,ENSMUSG00000033671,protein_coding -24256,Gabrb3,ENSMUSG00000033676,protein_coding -2551,Qsox1,ENSMUSG00000033684,protein_coding -25320,Ucp2,ENSMUSG00000033685,protein_coding -36665,1300017J02Rik,ENSMUSG00000033688,protein_coding -46280,Arhgap39,ENSMUSG00000033697,protein_coding -2548,Acbd6,ENSMUSG00000033701,protein_coding -31507,Fuk,ENSMUSG00000033703,protein_coding -5882,Stard9,ENSMUSG00000033705,protein_coding -20562,Smyd5,ENSMUSG00000033706,protein_coding -46278,Lrrc24,ENSMUSG00000033707,protein_coding -33850,Ccar2,ENSMUSG00000033712,protein_coding -44482,Foxn3,ENSMUSG00000033713,protein_coding -40340,Akr1c14,ENSMUSG00000033715,protein_coding -55329,Adra2a,ENSMUSG00000033717,protein_coding -20558,Sfxn5,ENSMUSG00000033720,protein_coding -11966,Vav3,ENSMUSG00000033721,protein_coding -2543,BC034090,ENSMUSG00000033722,protein_coding -20557,Emx1,ENSMUSG00000033726,protein_coding -46277,Lrrc14,ENSMUSG00000033728,protein_coding -33848,Egr3,ENSMUSG00000033730,protein_coding -31502,Sf3b3,ENSMUSG00000033732,protein_coding -20552,Spr,ENSMUSG00000033735,protein_coding -8940,Fndc3c1,ENSMUSG00000033737,protein_coding -49831,Fkbpl,ENSMUSG00000033739,protein_coding -59,St18,ENSMUSG00000033740,protein_coding -30943,Gadd45gip1,ENSMUSG00000033751,protein_coding -11006,Mnd1,ENSMUSG00000033752,protein_coding -54149,Rbm4b,ENSMUSG00000033760,protein_coding -46276,Recql4,ENSMUSG00000033762,protein_coding -31498,Mtss1l,ENSMUSG00000033763,protein_coding -40331,Calm4,ENSMUSG00000033765,protein_coding -11004,Tmem131l,ENSMUSG00000033767,protein_coding -54292,Nrxn2,ENSMUSG00000033768,protein_coding -20541,Exoc6b,ENSMUSG00000033769,protein_coding -15175,Clcnka,ENSMUSG00000033770,protein_coding -17558,Rpap2,ENSMUSG00000033773,protein_coding -51,Npbwr1,ENSMUSG00000033774,protein_coding -8929,Tlr13,ENSMUSG00000033777,protein_coding -40325,Asb13,ENSMUSG00000033781,protein_coding -20533,Dysf,ENSMUSG00000033788,protein_coding -24230,Tubgcp5,ENSMUSG00000033790,protein_coding -8928,Atp7a,ENSMUSG00000033792,protein_coding -43,Atp6v1h,ENSMUSG00000033793,protein_coding -17552,Lpcat2b,ENSMUSG00000033794,protein_coding -40324,Tasor2,ENSMUSG00000033799,protein_coding -17550,Ephx4,ENSMUSG00000033805,protein_coding -5874,Tmem87a,ENSMUSG00000033808,protein_coding -47578,Alg3,ENSMUSG00000033809,protein_coding -35,Tcea1,ENSMUSG00000033813,protein_coding -46273,Ppp1r16a,ENSMUSG00000033819,protein_coding -49352,Tpsb2,ENSMUSG00000033825,protein_coding -49616,Dnah8,ENSMUSG00000033826,protein_coding -10991,Fgb,ENSMUSG00000033831,protein_coding -41682,Tpbpa,ENSMUSG00000033834,protein_coding -46272,Foxh1,ENSMUSG00000033837,protein_coding -31,Mrpl15,ENSMUSG00000033845,protein_coding -22522,Pla2g4c,ENSMUSG00000033847,protein_coding -2380,B3galt2,ENSMUSG00000033849,protein_coding -5059,Olfr1015,ENSMUSG00000033850,protein_coding -5865,Gm28042,ENSMUSG00000033852,protein_coding -44461,Kcnk10,ENSMUSG00000033854,protein_coding -51019,Ston1,ENSMUSG00000033855,protein_coding -40162,Engase,ENSMUSG00000033857,protein_coding -10989,Fgg,ENSMUSG00000033860,protein_coding -31745,Cdk10,ENSMUSG00000033862,protein_coding -54749,Klf9,ENSMUSG00000033863,protein_coding -53575,Ppargc1b,ENSMUSG00000033871,protein_coding -40157,Lgals3bp,ENSMUSG00000033880,protein_coding -10985,Rbm46,ENSMUSG00000033882,protein_coding -10290,D3Ertd254e,ENSMUSG00000033883,protein_coding -32094,Pxk,ENSMUSG00000033885,protein_coding -2356,Cfhr2,ENSMUSG00000033898,protein_coding -10977,Map9,ENSMUSG00000033900,protein_coding -5861,Mapkbp1,ENSMUSG00000033902,protein_coding -25952,Ccp110,ENSMUSG00000033904,protein_coding -8897,Zdhhc15,ENSMUSG00000033906,protein_coding -40154,Usp36,ENSMUSG00000033909,protein_coding -10975,Gucy1a1,ENSMUSG00000033910,protein_coding -22505,Chmp2a,ENSMUSG00000033916,protein_coding -25950,Gde1,ENSMUSG00000033917,protein_coding -47559,Parl,ENSMUSG00000033918,protein_coding -31883,Rbm34,ENSMUSG00000033931,protein_coding -21060,Vhl,ENSMUSG00000033933,protein_coding -30878,Ndufb7,ENSMUSG00000033938,protein_coding -21057,Brk1,ENSMUSG00000033940,protein_coding -5860,Mga,ENSMUSG00000033943,protein_coding -14412,Zswim5,ENSMUSG00000033948,protein_coding -53369,Trim36,ENSMUSG00000033949,protein_coding -2349,Aspm,ENSMUSG00000033952,protein_coding -37529,Ppp3r1,ENSMUSG00000033953,protein_coding -5019,Tnks1bp1,ENSMUSG00000033955,protein_coding -52689,Jcad,ENSMUSG00000033960,protein_coding -22501,Zfp446,ENSMUSG00000033961,protein_coding -21056,Fancd2os,ENSMUSG00000033963,protein_coding -2348,Zbtb41,ENSMUSG00000033964,protein_coding -8880,Slc16a2,ENSMUSG00000033965,protein_coding -50880,Cdkl4,ENSMUSG00000033966,protein_coding -22496,Rnf225,ENSMUSG00000033967,protein_coding -18879,Rfc3,ENSMUSG00000033970,protein_coding -49178,Zfp944,ENSMUSG00000033972,protein_coding -10957,Gria2,ENSMUSG00000033981,protein_coding -39246,Coil,ENSMUSG00000033983,protein_coding -14403,Tesk2,ENSMUSG00000033985,protein_coding -40149,Dnah17,ENSMUSG00000033987,protein_coding -42149,Ttc37,ENSMUSG00000033991,protein_coding -31869,Kcnk1,ENSMUSG00000033998,protein_coding -1697,Neu4,ENSMUSG00000034000,protein_coding -53905,Pqlc1,ENSMUSG00000034006,protein_coding -35655,Scaper,ENSMUSG00000034007,protein_coding -10944,Rxfp1,ENSMUSG00000034009,protein_coding -18861,Pds5b,ENSMUSG00000034021,protein_coding -46266,Cpsf1,ENSMUSG00000034022,protein_coding -21054,Fancd2,ENSMUSG00000034023,protein_coding -28940,Cct2,ENSMUSG00000034024,protein_coding -54038,Cd226,ENSMUSG00000034028,protein_coding -39232,Ccdc182,ENSMUSG00000034031,protein_coding -5856,Rpap1,ENSMUSG00000034032,protein_coding -14396,Ccdc17,ENSMUSG00000034035,protein_coding -20802,Fgd5,ENSMUSG00000034037,protein_coding -49348,Prss29,ENSMUSG00000034039,protein_coding -18259,Galnt17,ENSMUSG00000034040,protein_coding -30940,Lyl1,ENSMUSG00000034041,protein_coding -14394,Gpbp1l1,ENSMUSG00000034042,protein_coding -8808,Phka1,ENSMUSG00000034055,protein_coding -28931,Myrfl,ENSMUSG00000034057,protein_coding -5004,Ypel4,ENSMUSG00000034059,protein_coding -20800,4930590J08Rik,ENSMUSG00000034063,protein_coding -47980,Poglut1,ENSMUSG00000034064,protein_coding -1680,Farp2,ENSMUSG00000034066,protein_coding -22470,Zfp551,ENSMUSG00000034071,protein_coding -5000,Zdhhc5,ENSMUSG00000034075,protein_coding -20799,Ccdc174,ENSMUSG00000034083,protein_coding -22357,Nlrp4b,ENSMUSG00000034087,protein_coding -1676,Hdlbp,ENSMUSG00000034088,protein_coding -10909,Fstl5,ENSMUSG00000034098,protein_coding -4994,Ctnnd1,ENSMUSG00000034101,protein_coding -31625,Meak7,ENSMUSG00000034105,protein_coding -1675,Ano7,ENSMUSG00000034107,protein_coding -54154,Ccs,ENSMUSG00000034108,protein_coding -10905,Golim4,ENSMUSG00000034109,protein_coding -18245,Kctd7,ENSMUSG00000034110,protein_coding -44264,Tmed8,ENSMUSG00000034111,protein_coding -31623,Atp2c2,ENSMUSG00000034112,protein_coding -37118,Scn11a,ENSMUSG00000034115,protein_coding -50567,Vav1,ENSMUSG00000034116,protein_coding -54479,Ptgdr2,ENSMUSG00000034117,protein_coding -18243,Tpst1,ENSMUSG00000034118,protein_coding -40109,Srsf2,ENSMUSG00000034120,protein_coding -39216,Mks1,ENSMUSG00000034121,protein_coding -44261,Pomt2,ENSMUSG00000034126,protein_coding -28913,Tspan8,ENSMUSG00000034127,protein_coding -35472,Sik3,ENSMUSG00000034135,protein_coding -10895,Serpini2,ENSMUSG00000034139,protein_coding -44256,Tmem63c,ENSMUSG00000034145,protein_coding -10894,Zbbx,ENSMUSG00000034151,protein_coding -42098,Exoc3,ENSMUSG00000034152,protein_coding -5841,Ino80,ENSMUSG00000034154,protein_coding -39212,Tspoap1,ENSMUSG00000034156,protein_coding -44254,Cipc,ENSMUSG00000034157,protein_coding -47960,Lrrc58,ENSMUSG00000034158,protein_coding -1663,Mab21l4,ENSMUSG00000034159,protein_coding -8782,Ogt,ENSMUSG00000034160,protein_coding -46255,Scx,ENSMUSG00000034161,protein_coding -28907,Zfc3h1,ENSMUSG00000034163,protein_coding -37383,Emid1,ENSMUSG00000034164,protein_coding -50338,Ccnd3,ENSMUSG00000034165,protein_coding -44252,Irf2bpl,ENSMUSG00000034168,protein_coding -14375,Faah,ENSMUSG00000034171,protein_coding -18235,Zbed5,ENSMUSG00000034173,protein_coding -37382,Rhbdd3,ENSMUSG00000034175,protein_coding -39205,Rnf43,ENSMUSG00000034177,protein_coding -14373,6430628N08Rik,ENSMUSG00000034185,protein_coding -39798,Nsf,ENSMUSG00000034187,protein_coding -31615,Hsdl1,ENSMUSG00000034189,protein_coding -33841,Chmp7,ENSMUSG00000034190,protein_coding -20788,Lsm3,ENSMUSG00000034192,protein_coding -33840,R3hcc1,ENSMUSG00000034194,protein_coding -37379,Gas2l1,ENSMUSG00000034201,protein_coding -20785,Chchd4,ENSMUSG00000034203,protein_coding -33837,Loxl2,ENSMUSG00000034205,protein_coding -47946,Polq,ENSMUSG00000034206,protein_coding -37380,Rasl10a,ENSMUSG00000034209,protein_coding -14365,Efcab14,ENSMUSG00000034210,protein_coding -18224,Mrps17,ENSMUSG00000034211,protein_coding -1651,Ankmy1,ENSMUSG00000034212,protein_coding -5837,Vps18,ENSMUSG00000034216,protein_coding -35604,Atm,ENSMUSG00000034218,protein_coding -18223,Sept14,ENSMUSG00000034219,protein_coding -1648,Gpc1,ENSMUSG00000034220,protein_coding -31613,Slc38a8,ENSMUSG00000034224,protein_coding -5835,Rhov,ENSMUSG00000034226,protein_coding -40080,Foxj1,ENSMUSG00000034227,protein_coding -32294,Usp54,ENSMUSG00000034235,protein_coding -39789,Gm884,ENSMUSG00000034239,protein_coding -47939,Golgb1,ENSMUSG00000034243,protein_coding -20774,Hdac11,ENSMUSG00000034245,protein_coding -39786,Plekhm1,ENSMUSG00000034247,protein_coding -33817,Slc25a37,ENSMUSG00000034248,protein_coding -36223,Senp6,ENSMUSG00000034252,protein_coding -49825,Agpat1,ENSMUSG00000034254,protein_coding -39782,Arhgap27,ENSMUSG00000034255,protein_coding -44230,Flvcr2,ENSMUSG00000034258,protein_coding -46243,Exosc4,ENSMUSG00000034259,protein_coding -35868,Ints14,ENSMUSG00000034263,protein_coding -48791,Zdhhc14,ENSMUSG00000034265,protein_coding -44226,Batf,ENSMUSG00000034266,protein_coding -21028,Setd5,ENSMUSG00000034269,protein_coding -44224,Jdp2,ENSMUSG00000034271,protein_coding -37373,Thoc5,ENSMUSG00000034274,protein_coding -34917,Igsf9b,ENSMUSG00000034275,protein_coding -5829,Dnajc17,ENSMUSG00000034278,protein_coding -40074,Evpl,ENSMUSG00000034282,protein_coding -37371,Nipsnap1,ENSMUSG00000034285,protein_coding -44215,Nek9,ENSMUSG00000034290,protein_coding -1616,Traf3ip1,ENSMUSG00000034292,protein_coding -52946,Fhod3,ENSMUSG00000034295,protein_coding -39160,Med13,ENSMUSG00000034297,protein_coding -53066,Fam53c,ENSMUSG00000034300,protein_coding -35084,Ccdc15,ENSMUSG00000034303,protein_coding -31593,Sdr42e1,ENSMUSG00000034308,protein_coding -18194,Tmem132d,ENSMUSG00000034310,protein_coding -8752,Kif4,ENSMUSG00000034311,protein_coding -20765,Iqsec1,ENSMUSG00000034312,protein_coding -10840,Trim59,ENSMUSG00000034317,protein_coding -53572,Slc26a2,ENSMUSG00000034320,protein_coding -55082,Exosc1,ENSMUSG00000034321,protein_coding -18187,Tmem132c,ENSMUSG00000034324,protein_coding -33794,Kctd9,ENSMUSG00000034327,protein_coding -39156,Brip1,ENSMUSG00000034329,protein_coding -31591,Plcg2,ENSMUSG00000034330,protein_coding -46680,Zbed4,ENSMUSG00000034333,protein_coding -42316,Fam151b,ENSMUSG00000034334,protein_coding -55234,Ina,ENSMUSG00000034336,protein_coding -40064,Wbp2,ENSMUSG00000034341,protein_coding -35363,Cbl,ENSMUSG00000034342,protein_coding -1601,Ube2f,ENSMUSG00000034343,protein_coding -48800,Gtf2h5,ENSMUSG00000034345,protein_coding -10837,Smc4,ENSMUSG00000034349,protein_coding -1600,Ramp1,ENSMUSG00000034353,protein_coding -37362,Mtmr3,ENSMUSG00000034354,protein_coding -14315,Skint2,ENSMUSG00000034359,protein_coding -31168,Cpne2,ENSMUSG00000034361,protein_coding -47892,Csta1,ENSMUSG00000034362,protein_coding -54463,Tkfc,ENSMUSG00000034371,protein_coding -48801,Tulp4,ENSMUSG00000034377,protein_coding -47889,Wdr5b,ENSMUSG00000034379,protein_coding -50336,AI661453,ENSMUSG00000034382,protein_coding -17524,Barhl2,ENSMUSG00000034384,protein_coding -21008,Ssu2,ENSMUSG00000034387,protein_coding -31588,Cmip,ENSMUSG00000034390,protein_coding -54005,Fbxo15,ENSMUSG00000034391,protein_coding -37357,Lif,ENSMUSG00000034394,protein_coding -14300,Spata6,ENSMUSG00000034401,protein_coding -43976,Kcnh5,ENSMUSG00000034402,protein_coding -8734,Pja1,ENSMUSG00000034403,protein_coding -37353,Tbc1d10a,ENSMUSG00000034412,protein_coding -49427,Neurl1b,ENSMUSG00000034413,protein_coding -31583,Pkd1l2,ENSMUSG00000034416,protein_coding -47881,Parp14,ENSMUSG00000034422,protein_coding -31582,Gcsh,ENSMUSG00000034424,protein_coding -40051,Myo15b,ENSMUSG00000034427,protein_coding -46216,Zfp707,ENSMUSG00000034429,protein_coding -20754,Zxdc,ENSMUSG00000034430,protein_coding -1588,Cops8,ENSMUSG00000034432,protein_coding -43955,Tmem30b,ENSMUSG00000034435,protein_coding -17494,Gbp8,ENSMUSG00000034438,protein_coding -43948,Trmt5,ENSMUSG00000034442,protein_coding -54462,Cyb561a3,ENSMUSG00000034445,protein_coding -39126,Dhrs11,ENSMUSG00000034449,protein_coding -33758,Gulo,ENSMUSG00000034450,protein_coding -35867,Slc24a1,ENSMUSG00000034452,protein_coding -28357,Polr3b,ENSMUSG00000034453,protein_coding -20753,Uroc1,ENSMUSG00000034456,protein_coding -8716,Eda2r,ENSMUSG00000034457,protein_coding -54944,Ifit1,ENSMUSG00000034459,protein_coding -43945,Six4,ENSMUSG00000034460,protein_coding -17484,Pkd2,ENSMUSG00000034462,protein_coding -33755,Scara3,ENSMUSG00000034463,protein_coding -31575,Dynlrb2,ENSMUSG00000034467,protein_coding -40048,Caskin2,ENSMUSG00000034471,protein_coding -30751,Rasd2,ENSMUSG00000034472,protein_coding -47867,Sec22a,ENSMUSG00000034473,protein_coding -9185,Diaph2,ENSMUSG00000034480,protein_coding -49880,Ly6g5c,ENSMUSG00000034482,protein_coding -53454,Snx2,ENSMUSG00000034484,protein_coding -35783,Uaca,ENSMUSG00000034485,protein_coding -1576,Gbx2,ENSMUSG00000034486,protein_coding -35601,Kdelc2,ENSMUSG00000034487,protein_coding -42273,Edil3,ENSMUSG00000034488,protein_coding -37338,4930556J24Rik,ENSMUSG00000034493,protein_coding -43933,Pcnx4,ENSMUSG00000034501,protein_coding -50281,Mad2l1bp,ENSMUSG00000034509,protein_coding -30742,Hmgxb4,ENSMUSG00000034518,protein_coding -39758,Gjc1,ENSMUSG00000034520,protein_coding -33747,Zfp395,ENSMUSG00000034522,protein_coding -42044,Ice1,ENSMUSG00000034525,protein_coding -17466,Hsd17b13,ENSMUSG00000034528,protein_coding -33744,Fbxo16,ENSMUSG00000034532,protein_coding -37117,Scn10a,ENSMUSG00000034533,protein_coding -22247,Zfp418,ENSMUSG00000034538,protein_coding -37328,Morc2a,ENSMUSG00000034543,protein_coding -10800,Rsrc1,ENSMUSG00000034544,protein_coding -8998,Hdx,ENSMUSG00000034551,protein_coding -4979,Zswim2,ENSMUSG00000034552,protein_coding -9003,Tex16,ENSMUSG00000034555,protein_coding -14262,Zfyve9,ENSMUSG00000034557,protein_coding -28334,Washc4,ENSMUSG00000034560,protein_coding -36061,Ccpg1,ENSMUSG00000034563,protein_coding -40023,Atp5h,ENSMUSG00000034566,protein_coding -37315,Inpp5j,ENSMUSG00000034570,protein_coding -17454,Ptpn13,ENSMUSG00000034573,protein_coding -43921,Daam1,ENSMUSG00000034574,protein_coding -42018,Tent4a,ENSMUSG00000034575,protein_coding -37314,Pla2g3,ENSMUSG00000034579,protein_coding -22218,Olfr1347,ENSMUSG00000034583,protein_coding -35600,Exph5,ENSMUSG00000034584,protein_coding -40019,Hid1,ENSMUSG00000034586,protein_coding -28329,Slc41a2,ENSMUSG00000034591,protein_coding -36094,Myo5a,ENSMUSG00000034593,protein_coding -49948,Ppp1r18,ENSMUSG00000034595,protein_coding -43908,2700049A03Rik,ENSMUSG00000034601,protein_coding -29092,Mon2,ENSMUSG00000034602,protein_coding -9014,Pof1b,ENSMUSG00000034607,protein_coding -14249,Tut4,ENSMUSG00000034610,protein_coding -28325,Chst11,ENSMUSG00000034612,protein_coding -29085,Ppm1h,ENSMUSG00000034613,protein_coding -37307,Pik3ip1,ENSMUSG00000034614,protein_coding -54131,Ssh3,ENSMUSG00000034616,protein_coding -42004,Mtrr,ENSMUSG00000034617,protein_coding -29075,Rxylt1,ENSMUSG00000034620,protein_coding -39743,Gpatch8,ENSMUSG00000034621,protein_coding -33719,Prss55,ENSMUSG00000034623,protein_coding -46154,Ly6d,ENSMUSG00000034634,protein_coding -14242,Zyg11b,ENSMUSG00000034636,protein_coding -20972,Setmar,ENSMUSG00000034639,protein_coding -10771,Tiparp,ENSMUSG00000034640,protein_coding -40000,Cd300ld,ENSMUSG00000034641,protein_coding -14241,Zyg11a,ENSMUSG00000034645,protein_coding -50647,Ankrd12,ENSMUSG00000034647,protein_coding -20968,Lrrn1,ENSMUSG00000034648,protein_coding -39995,Cd300a,ENSMUSG00000034652,protein_coding -53354,Ythdc2,ENSMUSG00000034653,protein_coding -30931,Cacna1a,ENSMUSG00000034656,protein_coding -54476,Tmem109,ENSMUSG00000034659,protein_coding -22199,Galp,ENSMUSG00000034660,protein_coding -17345,Bmp2k,ENSMUSG00000034663,protein_coding -39741,Itga2b,ENSMUSG00000034664,protein_coding -29065,Xpot,ENSMUSG00000034667,protein_coding -49821,Pbx2,ENSMUSG00000034673,protein_coding -28313,Tdg,ENSMUSG00000034674,protein_coding -41543,Dbn1,ENSMUSG00000034675,protein_coding -39993,Gpr142,ENSMUSG00000034677,protein_coding -49284,Rnps1,ENSMUSG00000034681,protein_coding -4935,Ppp1r1c,ENSMUSG00000034683,protein_coding -36807,Sema3f,ENSMUSG00000034684,protein_coding -39740,Fam171a2,ENSMUSG00000034685,protein_coding -41542,Prr7,ENSMUSG00000034686,protein_coding -17329,Fras1,ENSMUSG00000034687,protein_coding -34140,4921530L21Rik,ENSMUSG00000034689,protein_coding -22192,Nlrp4c,ENSMUSG00000034690,protein_coding -4932,Neurod1,ENSMUSG00000034701,protein_coding -39990,Dnaic2,ENSMUSG00000034706,protein_coding -29056,Gns,ENSMUSG00000034707,protein_coding -39739,Grn,ENSMUSG00000034708,protein_coding -51017,Ppp1r21,ENSMUSG00000034709,protein_coding -39989,Ttyh2,ENSMUSG00000034714,protein_coding -6205,Tmx4,ENSMUSG00000034723,protein_coding -17326,Cnot6l,ENSMUSG00000034724,protein_coding -50330,Mrps10,ENSMUSG00000034729,protein_coding -46141,Adgrb1,ENSMUSG00000034730,protein_coding -33995,Dgkh,ENSMUSG00000034731,protein_coding -9082,Pabpc5,ENSMUSG00000034732,protein_coding -4729,Nostrin,ENSMUSG00000034738,protein_coding -35356,Mfrp,ENSMUSG00000034739,protein_coding -20523,Nagk,ENSMUSG00000034744,protein_coding -28271,Sirt6,ENSMUSG00000034748,protein_coding -42542,Mast4,ENSMUSG00000034751,protein_coding -9087,Pcdh11x,ENSMUSG00000034755,protein_coding -39731,Tmub2,ENSMUSG00000034757,protein_coding -28268,Tle6,ENSMUSG00000034758,protein_coding -43871,Map4k5,ENSMUSG00000034761,protein_coding -14219,Glis1,ENSMUSG00000034762,protein_coding -55316,Dusp5,ENSMUSG00000034765,protein_coding -39730,Asb16,ENSMUSG00000034768,protein_coding -28267,Tle2,ENSMUSG00000034771,protein_coding -39729,BC030867,ENSMUSG00000034773,protein_coding -52889,Dsg1c,ENSMUSG00000034774,protein_coding -20516,Vax2,ENSMUSG00000034777,protein_coding -4703,B3galt1,ENSMUSG00000034780,protein_coding -28264,Gna11,ENSMUSG00000034781,protein_coding -20511,Cd207,ENSMUSG00000034783,protein_coding -14213,Dio1,ENSMUSG00000034785,protein_coding -49820,Gpsm3,ENSMUSG00000034786,protein_coding -41532,Rab24,ENSMUSG00000034789,protein_coding -28260,Gna15,ENSMUSG00000034792,protein_coding -39726,G6pc3,ENSMUSG00000034793,protein_coding -33971,Ccdc122,ENSMUSG00000034795,protein_coding -31737,Cpne7,ENSMUSG00000034796,protein_coding -30667,Unc13a,ENSMUSG00000034799,protein_coding -6022,Zfp661,ENSMUSG00000034800,protein_coding -43864,Sos2,ENSMUSG00000034801,protein_coding -30666,Colgalt1,ENSMUSG00000034807,protein_coding -4693,Scn7a,ENSMUSG00000034810,protein_coding -29012,Grip1,ENSMUSG00000034813,protein_coding -28256,Celf5,ENSMUSG00000034818,protein_coding -54458,Cpsf7,ENSMUSG00000034820,protein_coding -25810,Nrip3,ENSMUSG00000034825,protein_coding -17248,Nup54,ENSMUSG00000034826,protein_coding -30662,Nxnl1,ENSMUSG00000034829,protein_coding -20499,Tet3,ENSMUSG00000034832,protein_coding -29354,Tespa1,ENSMUSG00000034833,protein_coding -36805,Gnat1,ENSMUSG00000034837,protein_coding -35781,Larp6,ENSMUSG00000034839,protein_coding -17244,Art3,ENSMUSG00000034842,protein_coding -30656,Plvap,ENSMUSG00000034845,protein_coding -4684,Ttc21b,ENSMUSG00000034848,protein_coding -6010,Tmem127,ENSMUSG00000034850,protein_coding -14198,Acot11,ENSMUSG00000034853,protein_coding -28245,Mfsd12,ENSMUSG00000034854,protein_coding -17245,Cxcl10,ENSMUSG00000034855,protein_coding -36091,Fam214a,ENSMUSG00000034858,protein_coding -30654,Ano8,ENSMUSG00000034863,protein_coding -23613,Ankrd27,ENSMUSG00000034867,protein_coding -50722,Myl12b,ENSMUSG00000034868,protein_coding -14197,Fam151a,ENSMUSG00000034871,protein_coding -28243,Gipc3,ENSMUSG00000034872,protein_coding -23610,Nudt19,ENSMUSG00000034875,protein_coding -30652,Mrpl34,ENSMUSG00000034880,protein_coding -28242,Tbxa2r,ENSMUSG00000034881,protein_coding -43842,Lrr1,ENSMUSG00000034883,protein_coding -28241,Cactin,ENSMUSG00000034889,protein_coding -41514,Sncb,ENSMUSG00000034891,protein_coding -43838,Rps29,ENSMUSG00000034892,protein_coding -33945,Cog3,ENSMUSG00000034893,protein_coding -36217,Filip1,ENSMUSG00000034898,protein_coding -28239,Pip5k1c,ENSMUSG00000034902,protein_coding -4668,Cobll1,ENSMUSG00000034903,protein_coding -6005,Ncaph,ENSMUSG00000034906,protein_coding -35468,Sidt2,ENSMUSG00000034908,protein_coding -36055,Pygo1,ENSMUSG00000034910,protein_coding -30648,Ushbp1,ENSMUSG00000034911,protein_coding -43804,Mdga2,ENSMUSG00000034912,protein_coding -33942,Spert,ENSMUSG00000034913,protein_coding -28238,Tjp3,ENSMUSG00000034917,protein_coding -41512,Cdhr2,ENSMUSG00000034918,protein_coding -14193,Ttc22,ENSMUSG00000034919,protein_coding -49878,Ly6g6f,ENSMUSG00000034923,protein_coding -14190,Dhcr24,ENSMUSG00000034926,protein_coding -41511,Rnf44,ENSMUSG00000034928,protein_coding -20489,Rtkn,ENSMUSG00000034930,protein_coding -39704,Dhx8,ENSMUSG00000034931,protein_coding -28235,Mrpl54,ENSMUSG00000034932,protein_coding -39703,Arl4d,ENSMUSG00000034936,protein_coding -39114,Synrg,ENSMUSG00000034940,protein_coding -39694,Tmem106a,ENSMUSG00000034947,protein_coding -28233,Zfr2,ENSMUSG00000034949,protein_coding -26041,Cog7,ENSMUSG00000034951,protein_coding -23595,Cebpa,ENSMUSG00000034957,protein_coding -28232,Atcay,ENSMUSG00000034958,protein_coding -33931,Rubcnl,ENSMUSG00000034959,protein_coding -20479,Lbx2,ENSMUSG00000034968,protein_coding -36312,Dop1a,ENSMUSG00000034973,protein_coding -28229,Dapk3,ENSMUSG00000034974,protein_coding -17214,Parm1,ENSMUSG00000034981,protein_coding -41493,Hrh2,ENSMUSG00000034987,protein_coding -26028,Otoa,ENSMUSG00000034990,protein_coding -39689,Vat1,ENSMUSG00000034993,protein_coding -28226,Eef2,ENSMUSG00000034994,protein_coding -33925,Htr2a,ENSMUSG00000034997,protein_coding -51016,Foxn2,ENSMUSG00000034998,protein_coding -4649,Dpp4,ENSMUSG00000035000,protein_coding -26027,Igsf6,ENSMUSG00000035004,protein_coding -39685,Rundc1,ENSMUSG00000035007,protein_coding -28224,Zbtb7a,ENSMUSG00000035011,protein_coding -17207,Epgn,ENSMUSG00000035020,protein_coding -43635,Baz1a,ENSMUSG00000035021,protein_coding -34912,Ncapd3,ENSMUSG00000035024,protein_coding -28223,Map2k2,ENSMUSG00000035027,protein_coding -14165,C8a,ENSMUSG00000035031,protein_coding -36708,Nek11,ENSMUSG00000035032,protein_coding -4646,Tbr1,ENSMUSG00000035033,protein_coding -28220,Creb3l3,ENSMUSG00000035041,protein_coding -39092,Ccl5,ENSMUSG00000035042,protein_coding -8694,Zc3h12b,ENSMUSG00000035045,protein_coding -34782,Kri1,ENSMUSG00000035047,protein_coding -36645,Anapc13,ENSMUSG00000035048,protein_coding -55079,Rrp12,ENSMUSG00000035049,protein_coding -50874,Dhx57,ENSMUSG00000035051,protein_coding -30870,Mgat4d,ENSMUSG00000035057,protein_coding -8693,Zc4h2,ENSMUSG00000035062,protein_coding -26013,Eef2k,ENSMUSG00000035064,protein_coding -33713,Xkr6,ENSMUSG00000035067,protein_coding -14153,Oma1,ENSMUSG00000035069,protein_coding -33711,Mtmr9,ENSMUSG00000035078,protein_coding -39087,1700020L24Rik,ENSMUSG00000035085,protein_coding -39670,Becn1,ENSMUSG00000035086,protein_coding -5979,Secisbp2l,ENSMUSG00000035093,protein_coding -33707,Fam167a,ENSMUSG00000035095,protein_coding -20451,Eva1a,ENSMUSG00000035104,protein_coding -43605,Egln3,ENSMUSG00000035105,protein_coding -48205,Dcbld2,ENSMUSG00000035107,protein_coding -5977,Shc4,ENSMUSG00000035109,protein_coding -39666,Wnk4,ENSMUSG00000035112,protein_coding -33701,Neil2,ENSMUSG00000035121,protein_coding -20447,Gcfc2,ENSMUSG00000035125,protein_coding -14146,Wdr78,ENSMUSG00000035126,protein_coding -2406,Brinp3,ENSMUSG00000035131,protein_coding -43593,Arhgap5,ENSMUSG00000035133,protein_coding -41458,Secisbp2,ENSMUSG00000035139,protein_coding -43589,Nubpl,ENSMUSG00000035142,protein_coding -43587,Gpr33,ENSMUSG00000035148,protein_coding -8656,Eif2s3x,ENSMUSG00000035150,protein_coding -30869,Elmod2,ENSMUSG00000035151,protein_coding -39083,Ap2b1,ENSMUSG00000035152,protein_coding -20871,Mitf,ENSMUSG00000035158,protein_coding -33681,Ints6,ENSMUSG00000035161,protein_coding -35586,Zc3h12c,ENSMUSG00000035164,protein_coding -25309,Kcne3,ENSMUSG00000035165,protein_coding -4616,Tanc1,ENSMUSG00000035168,protein_coding -54732,1110059E24Rik,ENSMUSG00000035171,protein_coding -39660,Plekhh3,ENSMUSG00000035172,protein_coding -55361,Ccdc186,ENSMUSG00000035173,protein_coding -22169,Nlrp2,ENSMUSG00000035177,protein_coding -54456,Ppp1r32,ENSMUSG00000035179,protein_coding -43583,Heatr5a,ENSMUSG00000035181,protein_coding -5964,Slc24a5,ENSMUSG00000035183,protein_coding -33677,Fam124a,ENSMUSG00000035184,protein_coding -50062,Ubd,ENSMUSG00000035186,protein_coding -17430,Nkx6-1,ENSMUSG00000035187,protein_coding -28477,Ano4,ENSMUSG00000035189,protein_coding -22160,Rfpl4,ENSMUSG00000035191,protein_coding -39657,Tubg1,ENSMUSG00000035198,protein_coding -20862,Arl6ip5,ENSMUSG00000035199,protein_coding -35641,Chrnb4,ENSMUSG00000035200,protein_coding -14129,B020004J07Rik,ENSMUSG00000035201,protein_coding -37262,Lars2,ENSMUSG00000035202,protein_coding -22159,Epn1,ENSMUSG00000035203,protein_coding -28208,Sppl2b,ENSMUSG00000035206,protein_coding -39060,Slfn8,ENSMUSG00000035208,protein_coding -25299,Xrra1,ENSMUSG00000035211,protein_coding -14127,Leprot,ENSMUSG00000035212,protein_coding -28207,Lsm7,ENSMUSG00000035215,protein_coding -6788,Rims4,ENSMUSG00000035226,protein_coding -25298,Spcs2,ENSMUSG00000035227,protein_coding -22151,Ccdc106,ENSMUSG00000035228,protein_coding -8647,Pdk3,ENSMUSG00000035232,protein_coding -17419,Abraxas1,ENSMUSG00000035234,protein_coding -33650,Trim13,ENSMUSG00000035235,protein_coding -4440,Scai,ENSMUSG00000035236,protein_coding -31395,Lcat,ENSMUSG00000035237,protein_coding -6787,Kcnk15,ENSMUSG00000035238,protein_coding -25297,Neu3,ENSMUSG00000035239,protein_coding -28204,Oaz1,ENSMUSG00000035242,protein_coding -20857,Eogt,ENSMUSG00000035245,protein_coding -8646,Pcyt1b,ENSMUSG00000035246,protein_coding -43581,Hectd1,ENSMUSG00000035247,protein_coding -41650,Tut7,ENSMUSG00000035248,protein_coding -48173,Abi3bp,ENSMUSG00000035258,protein_coding -28202,Amh,ENSMUSG00000035262,protein_coding -17416,Helq,ENSMUSG00000035266,protein_coding -6783,Pkig,ENSMUSG00000035268,protein_coding -48171,Impg2,ENSMUSG00000035270,protein_coding -17415,Hpse,ENSMUSG00000035273,protein_coding -36307,Tpbg,ENSMUSG00000035274,protein_coding -14110,Raver2,ENSMUSG00000035275,protein_coding -8641,Arx,ENSMUSG00000035277,protein_coding -28200,Plekhj1,ENSMUSG00000035278,protein_coding -22143,Ssc5d,ENSMUSG00000035279,protein_coding -55358,Adrb1,ENSMUSG00000035283,protein_coding -35943,Vps13c,ENSMUSG00000035284,protein_coding -22142,Nat14,ENSMUSG00000035285,protein_coding -43574,G2e3,ENSMUSG00000035293,protein_coding -4435,Wdr38,ENSMUSG00000035295,protein_coding -33636,Sgcg,ENSMUSG00000035296,protein_coding -17410,Cops4,ENSMUSG00000035297,protein_coding -25278,Klhl35,ENSMUSG00000035298,protein_coding -9863,Mid1,ENSMUSG00000035299,protein_coding -14100,Ror1,ENSMUSG00000035305,protein_coding -17406,Lin54,ENSMUSG00000035310,protein_coding -28458,Gnptab,ENSMUSG00000035311,protein_coding -25277,Gdpd5,ENSMUSG00000035314,protein_coding -17399,Sec31a,ENSMUSG00000035325,protein_coding -43718,Fbxo33,ENSMUSG00000035329,protein_coding -35858,Uchl4,ENSMUSG00000035337,protein_coding -55175,Lzts2,ENSMUSG00000035342,protein_coding -28452,Nup37,ENSMUSG00000035351,protein_coding -39034,Ccl12,ENSMUSG00000035352,protein_coding -25262,Uvrag,ENSMUSG00000035354,protein_coding -39641,Kcnh4,ENSMUSG00000035355,protein_coding -48155,Nfkbiz,ENSMUSG00000035356,protein_coding -20919,Pdzrn3,ENSMUSG00000035357,protein_coding -28449,Parpbp,ENSMUSG00000035365,protein_coding -41611,Rmi1,ENSMUSG00000035367,protein_coding -28189,Gm49322,ENSMUSG00000035370,protein_coding -7406,Ssx9,ENSMUSG00000035371,protein_coding -54078,1810055G02Rik,ENSMUSG00000035372,protein_coding -39032,Ccl7,ENSMUSG00000035373,protein_coding -47863,Hacd2,ENSMUSG00000035376,protein_coding -20905,Shq1,ENSMUSG00000035378,protein_coding -35465,Pcsk7,ENSMUSG00000035382,protein_coding -28448,Pmch,ENSMUSG00000035383,protein_coding -39031,Ccl2,ENSMUSG00000035385,protein_coding -8602,4930415L06Rik,ENSMUSG00000035387,protein_coding -22124,Brsk1,ENSMUSG00000035390,protein_coding -4400,Dennd1a,ENSMUSG00000035392,protein_coding -53802,Cfap53,ENSMUSG00000035394,protein_coding -8595,Pet2,ENSMUSG00000035395,protein_coding -28183,Klf16,ENSMUSG00000035397,protein_coding -6771,Oser1,ENSMUSG00000035399,protein_coding -25254,Emsy,ENSMUSG00000035401,protein_coding -4399,Crb2,ENSMUSG00000035403,protein_coding -14069,Kank4,ENSMUSG00000035407,protein_coding -39017,Tmem98,ENSMUSG00000035413,protein_coding -53432,Fam170a,ENSMUSG00000035420,protein_coding -8560,Mageb4,ENSMUSG00000035427,protein_coding -22114,Ptprh,ENSMUSG00000035429,protein_coding -43702,Sstr1,ENSMUSG00000035431,protein_coding -49279,Abca17,ENSMUSG00000035435,protein_coding -4392,Rabgap1,ENSMUSG00000035437,protein_coding -30643,Haus8,ENSMUSG00000035439,protein_coding -39015,Myo1d,ENSMUSG00000035441,protein_coding -34909,Thyn1,ENSMUSG00000035443,protein_coding -37282,Ccr3,ENSMUSG00000035448,protein_coding -43695,Foxa1,ENSMUSG00000035451,protein_coding -8558,Samt3,ENSMUSG00000035454,protein_coding -37487,Fignl1,ENSMUSG00000035455,protein_coding -17361,Prdm8,ENSMUSG00000035456,protein_coding -22110,Tnni3,ENSMUSG00000035458,protein_coding -28429,Stab2,ENSMUSG00000035459,protein_coding -33602,Rcbtb1,ENSMUSG00000035469,protein_coding -43688,Slc25a21,ENSMUSG00000035472,protein_coding -50869,Galm,ENSMUSG00000035473,protein_coding -8547,Tab3,ENSMUSG00000035476,protein_coding -28175,Mbd3,ENSMUSG00000035478,protein_coding -28169,Plk5,ENSMUSG00000035486,protein_coding -8545,Fthl17a,ENSMUSG00000035491,protein_coding -41581,Tgfbi,ENSMUSG00000035493,protein_coding -13391,Tstd2,ENSMUSG00000035495,protein_coding -37258,Cdcp1,ENSMUSG00000035498,protein_coding -28167,Reep6,ENSMUSG00000035504,protein_coding -17181,Cox18,ENSMUSG00000035505,protein_coding -47847,Slc12a8,ENSMUSG00000035506,protein_coding -41578,Fbxl21,ENSMUSG00000035509,protein_coding -4111,Ntng2,ENSMUSG00000035513,protein_coding -13389,Tdrd7,ENSMUSG00000035517,protein_coding -49340,Gnptg,ENSMUSG00000035521,protein_coding -8539,Tsga8,ENSMUSG00000035522,protein_coding -23012,Vmn1r172,ENSMUSG00000035523,protein_coding -17176,Npffr2,ENSMUSG00000035528,protein_coding -28386,Prdm4,ENSMUSG00000035529,protein_coding -39615,Eif1,ENSMUSG00000035530,protein_coding -13388,Ccdc180,ENSMUSG00000035539,protein_coding -17173,Gc,ENSMUSG00000035540,protein_coding -22088,Leng8,ENSMUSG00000035545,protein_coding -25240,Capn5,ENSMUSG00000035547,protein_coding -13386,Igfbpl1,ENSMUSG00000035551,protein_coding -39611,Krt17,ENSMUSG00000035557,protein_coding -30620,Mpv17l2,ENSMUSG00000035559,protein_coding -43793,Wdr20rt,ENSMUSG00000035560,protein_coding -13385,Aldh1b1,ENSMUSG00000035561,protein_coding -34058,Pcdh17,ENSMUSG00000035566,protein_coding -31730,Ankrd11,ENSMUSG00000035569,protein_coding -13373,Dcaf10,ENSMUSG00000035572,protein_coding -39000,Utp6,ENSMUSG00000035575,protein_coding -6759,L3mbtl1,ENSMUSG00000035576,protein_coding -47837,Iqcg,ENSMUSG00000035578,protein_coding -50434,Kcnh8,ENSMUSG00000035580,protein_coding -25238,Gdpd4,ENSMUSG00000035582,protein_coding -22066,Tsen34,ENSMUSG00000035585,protein_coding -39594,Krt33a,ENSMUSG00000035592,protein_coding -35639,Chrna5,ENSMUSG00000035594,protein_coding -28155,1600002K03Rik,ENSMUSG00000035595,protein_coding -22065,Mboat7,ENSMUSG00000035596,protein_coding -43784,Prpf39,ENSMUSG00000035597,protein_coding -13370,Trmt10b,ENSMUSG00000035601,protein_coding -36638,Ky,ENSMUSG00000035606,protein_coding -43782,Togaram1,ENSMUSG00000035614,protein_coding -13368,Frmpd1,ENSMUSG00000035615,protein_coding -28360,Ric8b,ENSMUSG00000035620,protein_coding -28153,Midn,ENSMUSG00000035621,protein_coding -25228,Rsf1,ENSMUSG00000035623,protein_coding -33168,Olfr1509,ENSMUSG00000035626,protein_coding -47831,Rubcn,ENSMUSG00000035629,protein_coding -22060,Cnot3,ENSMUSG00000035632,protein_coding -13361,Grhpr,ENSMUSG00000035637,protein_coding -47828,Muc20,ENSMUSG00000035638,protein_coding -28151,Cbarp,ENSMUSG00000035640,protein_coding -25227,Aamdc,ENSMUSG00000035642,protein_coding -13356,Zcchc7,ENSMUSG00000035649,protein_coding -8496,4930480E11Rik,ENSMUSG00000035651,protein_coding -43745,Lrfn5,ENSMUSG00000035653,protein_coding -4102,Gtf3c4,ENSMUSG00000035666,protein_coding -30926,Zswim4,ENSMUSG00000035671,protein_coding -28149,Sbno2,ENSMUSG00000035673,protein_coding -22056,Ndufa3,ENSMUSG00000035674,protein_coding -50558,Tnfsf9,ENSMUSG00000035678,protein_coding -28874,Kcnc2,ENSMUSG00000035681,protein_coding -13346,Melk,ENSMUSG00000035683,protein_coding -25223,Thrsp,ENSMUSG00000035686,protein_coding -15622,Isg15,ENSMUSG00000035692,protein_coding -28872,Caps2,ENSMUSG00000035694,protein_coding -13344,Rnf38,ENSMUSG00000035696,protein_coding -28146,Arhgap45,ENSMUSG00000035697,protein_coding -47819,Slc51a,ENSMUSG00000035699,protein_coding -25220,Alg8,ENSMUSG00000035704,protein_coding -41547,Dok3,ENSMUSG00000035711,protein_coding -25218,Usp35,ENSMUSG00000035713,protein_coding -28145,Abca7,ENSMUSG00000035722,protein_coding -8483,Prkx,ENSMUSG00000035725,protein_coding -33149,Supt16,ENSMUSG00000035726,protein_coding -54450,Dagla,ENSMUSG00000035735,protein_coding -28141,Grin3b,ENSMUSG00000035745,protein_coding -28140,Wdr18,ENSMUSG00000035754,protein_coding -46694,Selenoo,ENSMUSG00000035757,protein_coding -28845,Bbs10,ENSMUSG00000035759,protein_coding -42239,Tmem161b,ENSMUSG00000035762,protein_coding -47806,Fbxo45,ENSMUSG00000035764,protein_coding -53823,Dym,ENSMUSG00000035765,protein_coding -37111,Xylb,ENSMUSG00000035769,protein_coding -31301,Dync1li2,ENSMUSG00000035770,protein_coding -4085,Mrps2,ENSMUSG00000035772,protein_coding -28138,Kiss1r,ENSMUSG00000035773,protein_coding -39536,Krt20,ENSMUSG00000035775,protein_coding -8278,Cd99l2,ENSMUSG00000035776,protein_coding -4318,Ggta1,ENSMUSG00000035778,protein_coding -17110,Ugt2a3,ENSMUSG00000035780,protein_coding -28136,R3hdm4,ENSMUSG00000035781,protein_coding -54929,Acta2,ENSMUSG00000035783,protein_coding -31296,Cmtm2b,ENSMUSG00000035785,protein_coding -47802,Cep19,ENSMUSG00000035790,protein_coding -28838,Zdhhc17,ENSMUSG00000035798,protein_coding -43393,Twist1,ENSMUSG00000035799,protein_coding -55294,Ins1,ENSMUSG00000035804,protein_coding -46687,Mlc1,ENSMUSG00000035805,protein_coding -17098,Ugt2b35,ENSMUSG00000035811,protein_coding -55353,Plekhs1,ENSMUSG00000035818,protein_coding -31289,Tk2,ENSMUSG00000035824,protein_coding -46684,Pim3,ENSMUSG00000035828,protein_coding -4083,Ppp1r26,ENSMUSG00000035829,protein_coding -39528,Krt25,ENSMUSG00000035831,protein_coding -42212,Polr3g,ENSMUSG00000035834,protein_coding -28127,Plppr3,ENSMUSG00000035835,protein_coding -17093,Ugt2b1,ENSMUSG00000035836,protein_coding -42211,Lysmd3,ENSMUSG00000035840,protein_coding -50653,Ddx11,ENSMUSG00000035842,protein_coding -46681,Alg12,ENSMUSG00000035845,protein_coding -8249,Ids,ENSMUSG00000035847,protein_coding -39525,Krt222,ENSMUSG00000035849,protein_coding -17089,Ythdc1,ENSMUSG00000035851,protein_coding -28124,Misp,ENSMUSG00000035852,protein_coding -43378,Cdhr3,ENSMUSG00000035860,protein_coding -17083,Tmprss11b,ENSMUSG00000035861,protein_coding -28122,Palm,ENSMUSG00000035863,protein_coding -28814,Syt1,ENSMUSG00000035864,protein_coding -49154,Zfp983,ENSMUSG00000035868,protein_coding -28809,Pawr,ENSMUSG00000035873,protein_coding -4308,AI182371,ENSMUSG00000035875,protein_coding -6732,Zhx3,ENSMUSG00000035877,protein_coding -35636,Hykk,ENSMUSG00000035878,protein_coding -54326,Cox8a,ENSMUSG00000035885,protein_coding -28119,Rnf126,ENSMUSG00000035890,protein_coding -46655,Cerk,ENSMUSG00000035891,protein_coding -33092,Rnase1,ENSMUSG00000035896,protein_coding -17075,Uba6,ENSMUSG00000035898,protein_coding -46653,Gramd4,ENSMUSG00000035900,protein_coding -25813,Dennd5a,ENSMUSG00000035901,protein_coding -40914,Dcdc2a,ENSMUSG00000035910,protein_coding -35739,Cd276,ENSMUSG00000035914,protein_coding -28804,Ptprq,ENSMUSG00000035916,protein_coding -34852,Bbs9,ENSMUSG00000035919,protein_coding -28803,Myf6,ENSMUSG00000035923,protein_coding -49915,H2-Q4,ENSMUSG00000035929,protein_coding -31484,Chst4,ENSMUSG00000035930,protein_coding -33086,Olfr750,ENSMUSG00000035932,protein_coding -43350,Cog5,ENSMUSG00000035933,protein_coding -35071,Pknox2,ENSMUSG00000035934,protein_coding -40909,Aldh5a1,ENSMUSG00000035936,protein_coding -36301,Ibtk,ENSMUSG00000035941,protein_coding -46648,Ttc38,ENSMUSG00000035944,protein_coding -16963,Gsx2,ENSMUSG00000035946,protein_coding -28793,Acss3,ENSMUSG00000035948,protein_coding -4296,Fbxw2,ENSMUSG00000035949,protein_coding -25807,Ascl3,ENSMUSG00000035951,protein_coding -33075,Pip4p1,ENSMUSG00000035953,protein_coding -43481,Dock4,ENSMUSG00000035954,protein_coding -40906,Tdp2,ENSMUSG00000035958,protein_coding -33074,Apex1,ENSMUSG00000035960,protein_coding -28109,Odf3l2,ENSMUSG00000035963,protein_coding -30599,Tmem59l,ENSMUSG00000035964,protein_coding -8080,Ints6l,ENSMUSG00000035967,protein_coding -13297,Rusc2,ENSMUSG00000035969,protein_coding -53056,Nme5,ENSMUSG00000035984,protein_coding -38146,Fnip1,ENSMUSG00000035992,protein_coding -13291,Fam214b,ENSMUSG00000036002,protein_coding -40898,Ripor2,ENSMUSG00000036006,protein_coding -28776,Mettl25,ENSMUSG00000036009,protein_coding -8016,Fam122c,ENSMUSG00000036013,protein_coding -28767,Tmtc2,ENSMUSG00000036019,protein_coding -8015,Fam122b,ENSMUSG00000036022,protein_coding -33068,Parp2,ENSMUSG00000036023,protein_coding -50267,Tmem63b,ENSMUSG00000036026,protein_coding -35574,1810046K07Rik,ENSMUSG00000036027,protein_coding -36051,Prtg,ENSMUSG00000036030,protein_coding -50049,Zfp57,ENSMUSG00000036036,protein_coding -4059,Adamtsl2,ENSMUSG00000036040,protein_coding -46624,5031439G07Rik,ENSMUSG00000036046,protein_coding -13284,Dnajb5,ENSMUSG00000036052,protein_coding -4554,Fmnl2,ENSMUSG00000036053,protein_coding -30589,Sugp2,ENSMUSG00000036054,protein_coding -36954,Ptpn23,ENSMUSG00000036057,protein_coding -47117,Smug1,ENSMUSG00000036061,protein_coding -13283,Phf24,ENSMUSG00000036062,protein_coding -4055,Slc2a6,ENSMUSG00000036067,protein_coding -13232,Galt,ENSMUSG00000036073,protein_coding -13231,Sigmar1,ENSMUSG00000036078,protein_coding -40880,Slc17a3,ENSMUSG00000036083,protein_coding -2038,Zranb3,ENSMUSG00000036086,protein_coding -16905,Slain2,ENSMUSG00000036087,protein_coding -36797,Hyal3,ENSMUSG00000036091,protein_coding -4547,Arl5a,ENSMUSG00000036093,protein_coding -43445,Dgkb,ENSMUSG00000036095,protein_coding -55169,Slf2,ENSMUSG00000036097,protein_coding -54449,Myrf,ENSMUSG00000036098,protein_coding -28563,Vezt,ENSMUSG00000036099,protein_coding -52759,Colec12,ENSMUSG00000036103,protein_coding -2037,Rab3gap1,ENSMUSG00000036104,protein_coding -46616,Prr5,ENSMUSG00000036106,protein_coding -7973,Mbnl3,ENSMUSG00000036109,protein_coding -40879,Slc17a2,ENSMUSG00000036110,protein_coding -25792,Lmo1,ENSMUSG00000036111,protein_coding -28559,Metap2,ENSMUSG00000036112,protein_coding -13228,Rpp25l,ENSMUSG00000036114,protein_coding -38118,Il5,ENSMUSG00000036117,protein_coding -30582,Rfxank,ENSMUSG00000036120,protein_coding -42097,Slc9a3,ENSMUSG00000036123,protein_coding -7970,Frmd7,ENSMUSG00000036131,protein_coding -43329,Fam110c,ENSMUSG00000036136,protein_coding -37110,Acaa1a,ENSMUSG00000036138,protein_coding -47106,Hoxc9,ENSMUSG00000036139,protein_coding -43441,Meox2,ENSMUSG00000036144,protein_coding -30577,Tm6sf2,ENSMUSG00000036151,protein_coding -2024,Mgat5,ENSMUSG00000036155,protein_coding -46778,Prickle1,ENSMUSG00000036158,protein_coding -4042,Surf6,ENSMUSG00000036160,protein_coding -46777,Pphln1,ENSMUSG00000036167,protein_coding -28548,Ccdc38,ENSMUSG00000036168,protein_coding -43427,Sostdc1,ENSMUSG00000036169,protein_coding -48053,Cd200r3,ENSMUSG00000036172,protein_coding -30573,Gatad2a,ENSMUSG00000036180,protein_coding -40864,Hist1h1c,ENSMUSG00000036181,protein_coding -49869,Sapcd1,ENSMUSG00000036185,protein_coding -4034,Dipk1b,ENSMUSG00000036186,protein_coding -43423,Ankmy2,ENSMUSG00000036188,protein_coding -54708,Rorb,ENSMUSG00000036192,protein_coding -49538,Slc26a8,ENSMUSG00000036196,protein_coding -46773,Gxylt1,ENSMUSG00000036197,protein_coding -7952,Arhgap36,ENSMUSG00000036198,protein_coding -30571,Ndufa13,ENSMUSG00000036199,protein_coding -4542,Rif1,ENSMUSG00000036202,protein_coding -1564,Sh3bp4,ENSMUSG00000036206,protein_coding -48044,Nepro,ENSMUSG00000036208,protein_coding -40860,Hist1h1t,ENSMUSG00000036211,protein_coding -50044,Znrd1as,ENSMUSG00000036214,protein_coding -38100,Leap2,ENSMUSG00000036216,protein_coding -46764,Pdzrn4,ENSMUSG00000036218,protein_coding -53798,Ska1,ENSMUSG00000036223,protein_coding -52851,Kctd1,ENSMUSG00000036225,protein_coding -43416,Agr3,ENSMUSG00000036231,protein_coding -13202,Ube2r2,ENSMUSG00000036241,protein_coding -33021,Armh4,ENSMUSG00000036242,protein_coding -35735,Tbc1d21,ENSMUSG00000036244,protein_coding -30566,Gmip,ENSMUSG00000036246,protein_coding -4538,Rbm43,ENSMUSG00000036249,protein_coding -1548,Trpm8,ENSMUSG00000036251,protein_coding -17025,Igfbp7,ENSMUSG00000036256,protein_coding -43514,Pnpla8,ENSMUSG00000036257,protein_coding -38091,Fstl4,ENSMUSG00000036264,protein_coding -31389,Edc4,ENSMUSG00000036270,protein_coding -46756,Lrrk2,ENSMUSG00000036273,protein_coding -38087,9530068E07Rik,ENSMUSG00000036275,protein_coding -54322,Macrod1,ENSMUSG00000036278,protein_coding -4018,Snapc4,ENSMUSG00000036281,protein_coding -33013,Naa30,ENSMUSG00000036282,protein_coding -17022,Noa1,ENSMUSG00000036285,protein_coding -33011,Ap5m1,ENSMUSG00000036291,protein_coding -48033,Gramd1c,ENSMUSG00000036292,protein_coding -43493,Lrrn3,ENSMUSG00000036295,protein_coding -46750,Slc2a13,ENSMUSG00000036298,protein_coding -53822,BC031181,ENSMUSG00000036299,protein_coding -48032,Zdhhc23,ENSMUSG00000036304,protein_coding -30544,Lzts1,ENSMUSG00000036306,protein_coding -38082,Skp1a,ENSMUSG00000036309,protein_coding -50043,Znrd1,ENSMUSG00000036315,protein_coding -17010,Srp72,ENSMUSG00000036323,protein_coding -4012,Qsox2,ENSMUSG00000036327,protein_coding -30541,Slc18a1,ENSMUSG00000036330,protein_coding -43255,Kidins220,ENSMUSG00000036333,protein_coding -10671,Igsf10,ENSMUSG00000036334,protein_coding -32987,Tmem260,ENSMUSG00000036339,protein_coding -4004,Ubac1,ENSMUSG00000036352,protein_coding -10669,P2ry12,ENSMUSG00000036353,protein_coding -30532,Csgalnact1,ENSMUSG00000036356,protein_coding -8100,Gpr101,ENSMUSG00000036357,protein_coding -10668,P2ry13,ENSMUSG00000036362,protein_coding -50855,Rmdn2,ENSMUSG00000036368,protein_coding -20051,Serbp1,ENSMUSG00000036371,protein_coding -54448,Tmem258,ENSMUSG00000036372,protein_coding -40828,Abt1,ENSMUSG00000036376,protein_coding -17004,C530008M17Rik,ENSMUSG00000036377,protein_coding -10666,P2ry14,ENSMUSG00000036381,protein_coding -20045,Gadd45a,ENSMUSG00000036390,protein_coding -38062,Sec24a,ENSMUSG00000036391,protein_coding -34904,Glb1l2,ENSMUSG00000036395,protein_coding -50042,Ppp1r11,ENSMUSG00000036398,protein_coding -3998,Glt6d1,ENSMUSG00000036401,protein_coding -20040,Gng12,ENSMUSG00000036402,protein_coding -17002,Cep135,ENSMUSG00000036403,protein_coding -34850,9530077C05Rik,ENSMUSG00000036411,protein_coding -53561,Arsi,ENSMUSG00000036412,protein_coding -34024,Pcdh8,ENSMUSG00000036422,protein_coding -23564,Gpi1,ENSMUSG00000036427,protein_coding -50322,Tbcc,ENSMUSG00000036430,protein_coding -10654,Siah2,ENSMUSG00000036432,protein_coding -17001,Exoc1,ENSMUSG00000036435,protein_coding -30507,Npy1r,ENSMUSG00000036437,protein_coding -50993,Calm2,ENSMUSG00000036438,protein_coding -31386,Thap11,ENSMUSG00000036442,protein_coding -28647,Lum,ENSMUSG00000036446,protein_coding -3986,Lcn8,ENSMUSG00000036449,protein_coding -55160,Hif1an,ENSMUSG00000036450,protein_coding -53266,Arhgap26,ENSMUSG00000036452,protein_coding -23559,Wtip,ENSMUSG00000036459,protein_coding -34017,Elf1,ENSMUSG00000036461,protein_coding -20013,4930544G11Rik,ENSMUSG00000036463,protein_coding -35862,Megf11,ENSMUSG00000036466,protein_coding -30495,March1,ENSMUSG00000036469,protein_coding -49272,Tbc1d24,ENSMUSG00000036473,protein_coding -28634,Btg1,ENSMUSG00000036478,protein_coding -1498,Prss56,ENSMUSG00000036480,protein_coding -50041,Rnf39,ENSMUSG00000036492,protein_coding -28621,Eea1,ENSMUSG00000036499,protein_coding -1495,Akp3,ENSMUSG00000036500,protein_coding -53053,Fam13b,ENSMUSG00000036501,protein_coding -7836,Tmem255a,ENSMUSG00000036502,protein_coding -10631,Rnf13,ENSMUSG00000036503,protein_coding -3977,Phpt1,ENSMUSG00000036504,protein_coding -31253,Cdh8,ENSMUSG00000036510,protein_coding -10626,Commd2,ENSMUSG00000036513,protein_coding -23435,Scgb2b2,ENSMUSG00000036521,protein_coding -43027,Greb1,ENSMUSG00000036523,protein_coding -18589,Card11,ENSMUSG00000036526,protein_coding -25711,Ppfibp2,ENSMUSG00000036528,protein_coding -46705,Sbf1,ENSMUSG00000036529,protein_coding -50853,Cdc42ep3,ENSMUSG00000036533,protein_coding -31228,Slc38a7,ENSMUSG00000036534,protein_coding -7785,Rnf113a1,ENSMUSG00000036537,protein_coding -38022,Adamts2,ENSMUSG00000036545,protein_coding -31218,Cnot1,ENSMUSG00000036550,protein_coding -7783,Akap14,ENSMUSG00000036551,protein_coding -48989,Ermard,ENSMUSG00000036552,protein_coding -16328,Sh3tc1,ENSMUSG00000036553,protein_coding -18585,Iqce,ENSMUSG00000036555,protein_coding -50992,Stpg4,ENSMUSG00000036557,protein_coding -23424,Lgi4,ENSMUSG00000036560,protein_coding -46703,Ppp6r2,ENSMUSG00000036561,protein_coding -31216,Ndrg4,ENSMUSG00000036564,protein_coding -18584,Ttyh3,ENSMUSG00000036565,protein_coding -50321,Bicral,ENSMUSG00000036568,protein_coding -23423,Fxyd1,ENSMUSG00000036570,protein_coding -7781,Upf3b,ENSMUSG00000036572,protein_coding -1468,Tex44,ENSMUSG00000036574,protein_coding -23422,Fxyd7,ENSMUSG00000036578,protein_coding -10589,Spg20,ENSMUSG00000036580,protein_coding -53264,Fgf1,ENSMUSG00000036585,protein_coding -18581,Grifin,ENSMUSG00000036586,protein_coding -3963,Fut7,ENSMUSG00000036587,protein_coding -3844,Arhgap21,ENSMUSG00000036591,protein_coding -49801,H2-Aa,ENSMUSG00000036594,protein_coding -16321,Cpz,ENSMUSG00000036596,protein_coding -31208,Ccdc113,ENSMUSG00000036598,protein_coding -18578,Chst12,ENSMUSG00000036599,protein_coding -28734,Alx1,ENSMUSG00000036602,protein_coding -46699,Plxnb2,ENSMUSG00000036606,protein_coding -34890,Eepd1,ENSMUSG00000036611,protein_coding -43301,Eipr1,ENSMUSG00000036613,protein_coding -10583,Rfxap,ENSMUSG00000036615,protein_coding -3833,Etl4,ENSMUSG00000036617,protein_coding -38009,Mgat4b,ENSMUSG00000036620,protein_coding -15156,Atp13a2,ENSMUSG00000036622,protein_coding -10581,Alg5,ENSMUSG00000036632,protein_coding -23410,Mag,ENSMUSG00000036634,protein_coding -49335,Clcn7,ENSMUSG00000036636,protein_coding -18571,Nudt1,ENSMUSG00000036639,protein_coding -4605,Ccdc148,ENSMUSG00000036641,protein_coding -38005,Tbc1d9b,ENSMUSG00000036644,protein_coding -3956,Man1b1,ENSMUSG00000036646,protein_coding -25689,Olfr6,ENSMUSG00000036647,protein_coding -43295,Colec11,ENSMUSG00000036655,protein_coding -40681,Olfr11,ENSMUSG00000036658,protein_coding -46129,Dennd3,ENSMUSG00000036661,protein_coding -19546,Tcaf1,ENSMUSG00000036667,protein_coding -31385,Cenpt,ENSMUSG00000036672,protein_coding -28712,Tmtc3,ENSMUSG00000036676,protein_coding -47070,Aaas,ENSMUSG00000036678,protein_coding -30913,Cc2d1a,ENSMUSG00000036686,protein_coding -18557,Tmem184a,ENSMUSG00000036687,protein_coding -16302,Nop14,ENSMUSG00000036693,protein_coding -46120,Ago2,ENSMUSG00000036698,protein_coding -7750,Zcchc12,ENSMUSG00000036699,protein_coding -1440,Cab39,ENSMUSG00000036707,protein_coding -31046,Cyld,ENSMUSG00000036712,protein_coding -18553,Micall2,ENSMUSG00000036718,protein_coding -40660,Zscan12,ENSMUSG00000036721,protein_coding -3942,Cysrt1,ENSMUSG00000036731,protein_coding -23388,Rbm42,ENSMUSG00000036733,protein_coding -37107,Oxsr1,ENSMUSG00000036737,protein_coding -52847,Psma8,ENSMUSG00000036743,protein_coding -25678,Olfr701,ENSMUSG00000036744,protein_coding -12596,Ttll7,ENSMUSG00000036745,protein_coding -55214,Cuedc2,ENSMUSG00000036748,protein_coding -15259,Pramel5,ENSMUSG00000036749,protein_coding -23386,Cox6b1,ENSMUSG00000036751,protein_coding -3939,Tubb4b,ENSMUSG00000036752,protein_coding -46112,Kcnk9,ENSMUSG00000036760,protein_coding -27780,Dnajc12,ENSMUSG00000036764,protein_coding -1395,Dner,ENSMUSG00000036766,protein_coding -37247,Kif15,ENSMUSG00000036768,protein_coding -7623,Wdr44,ENSMUSG00000036769,protein_coding -3937,Stpg3,ENSMUSG00000036770,protein_coding -49407,Decr2,ENSMUSG00000036775,protein_coding -34846,Anln,ENSMUSG00000036777,protein_coding -31038,Tent4b,ENSMUSG00000036779,protein_coding -35926,Rps27l,ENSMUSG00000036781,protein_coding -7620,Klhl13,ENSMUSG00000036782,protein_coding -8190,Slitrk2,ENSMUSG00000036790,protein_coding -4504,Mbd5,ENSMUSG00000036792,protein_coding -46103,Fam135b,ENSMUSG00000036800,protein_coding -3930,Noxa1,ENSMUSG00000036805,protein_coding -31033,Cnep1r1,ENSMUSG00000036810,protein_coding -3929,Entpd8,ENSMUSG00000036813,protein_coding -37266,Slc6a20a,ENSMUSG00000036814,protein_coding -1995,Dpp10,ENSMUSG00000036815,protein_coding -27771,Atoh7,ENSMUSG00000036816,protein_coding -18536,Sun1,ENSMUSG00000036817,protein_coding -38288,Jmjd4,ENSMUSG00000036819,protein_coding -49270,Amdhd2,ENSMUSG00000036820,protein_coding -13172,Topors,ENSMUSG00000036822,protein_coding -12581,Ssx2ip,ENSMUSG00000036825,protein_coding -23381,Igflr1,ENSMUSG00000036826,protein_coding -12576,Lpar3,ENSMUSG00000036832,protein_coding -3921,Pnpla7,ENSMUSG00000036833,protein_coding -10726,Plch1,ENSMUSG00000036834,protein_coding -23378,Psenen,ENSMUSG00000036835,protein_coding -31007,Siah1a,ENSMUSG00000036840,protein_coding -23377,Lin37,ENSMUSG00000036845,protein_coding -3920,Mrpl41,ENSMUSG00000036850,protein_coding -12574,Mcoln3,ENSMUSG00000036853,protein_coding -23375,Hspb6,ENSMUSG00000036854,protein_coding -52748,Gjd4,ENSMUSG00000036855,protein_coding -15054,Wnt4,ENSMUSG00000036856,protein_coding -50318,Ptcra,ENSMUSG00000036858,protein_coding -38278,Mrpl55,ENSMUSG00000036860,protein_coding -25647,Dchs1,ENSMUSG00000036862,protein_coding -12570,Syde2,ENSMUSG00000036863,protein_coding -23373,Proser3,ENSMUSG00000036864,protein_coding -35841,Smad6,ENSMUSG00000036867,protein_coding -31002,Abcc12,ENSMUSG00000036872,protein_coding -12569,2410004B18Rik,ENSMUSG00000036873,protein_coding -27762,Dna2,ENSMUSG00000036875,protein_coding -30997,Phkb,ENSMUSG00000036879,protein_coding -53810,Acaa2,ENSMUSG00000036880,protein_coding -23372,Arhgap33,ENSMUSG00000036882,protein_coding -10714,Arhgef26,ENSMUSG00000036885,protein_coding -15043,C1qa,ENSMUSG00000036887,protein_coding -4474,Gtdc1,ENSMUSG00000036890,protein_coding -23370,Prodh2,ENSMUSG00000036892,protein_coding -3913,Ehmt1,ENSMUSG00000036893,protein_coding -10708,Rap2b,ENSMUSG00000036894,protein_coding -15042,C1qc,ENSMUSG00000036896,protein_coding -18519,Zfp157,ENSMUSG00000036898,protein_coding -19511,Trpv5,ENSMUSG00000036899,protein_coding -30993,Neto2,ENSMUSG00000036902,protein_coding -52747,Fzd8,ENSMUSG00000036904,protein_coding -15041,C1qb,ENSMUSG00000036905,protein_coding -1957,C1ql2,ENSMUSG00000036907,protein_coding -54092,Unc93b1,ENSMUSG00000036908,protein_coding -34590,Piwil4,ENSMUSG00000036912,protein_coding -31849,Trim67,ENSMUSG00000036913,protein_coding -23366,Kirrel2,ENSMUSG00000036915,protein_coding -7940,Zfp280c,ENSMUSG00000036916,protein_coding -50989,Ttc7,ENSMUSG00000036918,protein_coding -15037,Tex46,ENSMUSG00000036921,protein_coding -27747,Stox1,ENSMUSG00000036923,protein_coding -6370,Cst13,ENSMUSG00000036924,protein_coding -47144,Mucl2,ENSMUSG00000036925,protein_coding -18511,Stag3,ENSMUSG00000036928,protein_coding -23363,Nfkbid,ENSMUSG00000036931,protein_coding -7938,Aifm1,ENSMUSG00000036932,protein_coding -30986,4921524J17Rik,ENSMUSG00000036934,protein_coding -19476,Try5,ENSMUSG00000036938,protein_coding -15033,Kdm1a,ENSMUSG00000036940,protein_coding -53792,Elac1,ENSMUSG00000036941,protein_coding -35925,Rab8b,ENSMUSG00000036943,protein_coding -46063,Tmem71,ENSMUSG00000036944,protein_coding -18506,Map11,ENSMUSG00000036948,protein_coding -3750,Slc39a12,ENSMUSG00000036949,protein_coding -10687,C130079G13Rik,ENSMUSG00000036951,protein_coding -27742,Kif1bp,ENSMUSG00000036955,protein_coding -23359,Lrfn3,ENSMUSG00000036957,protein_coding -6366,Cst11,ENSMUSG00000036958,protein_coding -7936,Bcorl1,ENSMUSG00000036959,protein_coding -12557,Clca2,ENSMUSG00000036960,protein_coding -55156,Wnt8b,ENSMUSG00000036961,protein_coding -1950,Cfap221,ENSMUSG00000036962,protein_coding -38266,Trim17,ENSMUSG00000036964,protein_coding -47056,Spryd3,ENSMUSG00000036966,protein_coding -18499,Cnpy4,ENSMUSG00000036968,protein_coding -36432,Zic4,ENSMUSG00000036972,protein_coding -1949,Tmem177,ENSMUSG00000036975,protein_coding -30822,Anapc10,ENSMUSG00000036977,protein_coding -18498,Taf6,ENSMUSG00000036980,protein_coding -48772,Tfb1m,ENSMUSG00000036983,protein_coding -7929,Zdhhc9,ENSMUSG00000036985,protein_coding -35731,Pml,ENSMUSG00000036986,protein_coding -25635,Trim3,ENSMUSG00000036989,protein_coding -30818,Otud4,ENSMUSG00000036990,protein_coding -6362,Nxt1,ENSMUSG00000036992,protein_coding -15024,Asap3,ENSMUSG00000036995,protein_coding -38259,Zfp39,ENSMUSG00000037001,protein_coding -47055,Tns2,ENSMUSG00000037003,protein_coding -7927,Xpnpep2,ENSMUSG00000037005,protein_coding -18491,Zfp113,ENSMUSG00000037007,protein_coding -7926,Apln,ENSMUSG00000037010,protein_coding -27735,Hk1,ENSMUSG00000037012,protein_coding -52845,Ss18,ENSMUSG00000037013,protein_coding -6356,Sstr4,ENSMUSG00000037014,protein_coding -10561,Frem2,ENSMUSG00000037016,protein_coding -18490,Zscan21,ENSMUSG00000037017,protein_coding -23348,Wdr62,ENSMUSG00000037020,protein_coding -30810,Mmaa,ENSMUSG00000037022,protein_coding -6352,Foxa2,ENSMUSG00000037025,protein_coding -14134,Gm12800,ENSMUSG00000037028,protein_coding -23339,Zfp146,ENSMUSG00000037029,protein_coding -27732,Tspan15,ENSMUSG00000037031,protein_coding -25633,Apbb1,ENSMUSG00000037032,protein_coding -12549,Clca3b,ENSMUSG00000037033,protein_coding -6345,Pax1,ENSMUSG00000037034,protein_coding -1932,Inhbb,ENSMUSG00000037035,protein_coding -25632,Smpd1,ENSMUSG00000037049,protein_coding -18482,Azgp1,ENSMUSG00000037053,protein_coding -53095,Paip2,ENSMUSG00000037058,protein_coding -25630,Cavin3,ENSMUSG00000037060,protein_coding -12542,Sh3glb1,ENSMUSG00000037062,protein_coding -30796,Rbmxl1,ENSMUSG00000037070,protein_coding -55153,Scd1,ENSMUSG00000037071,protein_coding -12539,Selenof,ENSMUSG00000037072,protein_coding -45961,Rnf139,ENSMUSG00000037075,protein_coding -45960,Trmt12,ENSMUSG00000037085,protein_coding -7905,Prr32,ENSMUSG00000037086,protein_coding -50260,Slc35b2,ENSMUSG00000037089,protein_coding -50506,Lrg1,ENSMUSG00000037095,protein_coding -49405,Rab11fip3,ENSMUSG00000037098,protein_coding -30793,Ttc29,ENSMUSG00000037101,protein_coding -30911,Dcaf15,ENSMUSG00000037103,protein_coding -50984,Socs5,ENSMUSG00000037104,protein_coding -45954,Fer1l6,ENSMUSG00000037106,protein_coding -18470,Zcwpw1,ENSMUSG00000037108,protein_coding -6326,Ralgapa2,ENSMUSG00000037110,protein_coding -10504,Setd7,ENSMUSG00000037111,protein_coding -35563,Sik2,ENSMUSG00000037112,protein_coding -45953,Fam91a1,ENSMUSG00000037119,protein_coding -38241,Trim58,ENSMUSG00000037124,protein_coding -55212,Psd,ENSMUSG00000037126,protein_coding -35450,Tmprss13,ENSMUSG00000037129,protein_coding -50033,H2-M10.6,ENSMUSG00000037130,protein_coding -30781,Prmt9,ENSMUSG00000037134,protein_coding -567,Aff3,ENSMUSG00000037138,protein_coding -15004,Myom3,ENSMUSG00000037139,protein_coding -19416,Tas2r108,ENSMUSG00000037140,protein_coding -6324,Cfap61,ENSMUSG00000037143,protein_coding -38239,2210407C18Rik,ENSMUSG00000037145,protein_coding -30775,Arhgap10,ENSMUSG00000037148,protein_coding -42980,Ddx1,ENSMUSG00000037149,protein_coding -27712,Lrrc20,ENSMUSG00000037151,protein_coding -10498,Ndufc1,ENSMUSG00000037152,protein_coding -15002,Il22ra1,ENSMUSG00000037157,protein_coding -19413,Wee2,ENSMUSG00000037159,protein_coding -10496,Mgarp,ENSMUSG00000037161,protein_coding -23301,Ppp1r14a,ENSMUSG00000037166,protein_coding -7594,Spaca5,ENSMUSG00000037167,protein_coding -42972,Mycn,ENSMUSG00000037169,protein_coding -27708,Nodal,ENSMUSG00000037171,protein_coding -19412,E330009J07Rik,ENSMUSG00000037172,protein_coding -10490,Elf2,ENSMUSG00000037174,protein_coding -47004,Krt80,ENSMUSG00000037185,protein_coding -14997,Grhl3,ENSMUSG00000037188,protein_coding -36786,Cyb561d2,ENSMUSG00000037190,protein_coding -48890,Pacrg,ENSMUSG00000037196,protein_coding -3703,Rbm17,ENSMUSG00000037197,protein_coding -27703,Prf1,ENSMUSG00000037202,protein_coding -47000,Atg101,ENSMUSG00000037204,protein_coding -35727,Islr,ENSMUSG00000037206,protein_coding -16291,Fam193a,ENSMUSG00000037210,protein_coding -10337,Spry1,ENSMUSG00000037211,protein_coding -29945,Thap1,ENSMUSG00000037214,protein_coding -555,Lipt1,ENSMUSG00000037216,protein_coding -7585,Syn1,ENSMUSG00000037217,protein_coding -18453,Mospd3,ENSMUSG00000037221,protein_coding -16284,Zfyve28,ENSMUSG00000037224,protein_coding -10328,Fgf2,ENSMUSG00000037225,protein_coding -29937,Hook3,ENSMUSG00000037234,protein_coding -16282,Mxd4,ENSMUSG00000037235,protein_coding -53092,Matr3,ENSMUSG00000037236,protein_coding -23292,Spred3,ENSMUSG00000037239,protein_coding -14982,Clic4,ENSMUSG00000037242,protein_coding -38216,Zfp692,ENSMUSG00000037243,protein_coding -50032,H2-M10.5,ENSMUSG00000037246,protein_coding -29935,Pomk,ENSMUSG00000037251,protein_coding -53785,Mex3c,ENSMUSG00000037253,protein_coding -3555,Itih2,ENSMUSG00000037254,protein_coding -35836,Aagab,ENSMUSG00000037257,protein_coding -6302,Dzank1,ENSMUSG00000037259,protein_coding -29934,Hgsnat,ENSMUSG00000037260,protein_coding -3554,Kin,ENSMUSG00000037262,protein_coding -54093,Aldh3b3,ENSMUSG00000037263,protein_coding -14977,Rsrp1,ENSMUSG00000037266,protein_coding -10310,4932438A13Rik,ENSMUSG00000037270,protein_coding -38208,Gemin5,ENSMUSG00000037275,protein_coding -38960,Tmem97,ENSMUSG00000037278,protein_coding -6295,Ovol2,ENSMUSG00000037279,protein_coding -46983,Galnt6,ENSMUSG00000037280,protein_coding -36598,Stag1,ENSMUSG00000037286,protein_coding -35319,Tbcel,ENSMUSG00000037287,protein_coding -14973,Ldlrap1,ENSMUSG00000037295,protein_coding -29930,Lsm1,ENSMUSG00000037296,protein_coding -31844,Ttc13,ENSMUSG00000037300,protein_coding -14971,Man1c1,ENSMUSG00000037306,protein_coding -6285,Banf2,ENSMUSG00000037307,protein_coding -16261,Tacc3,ENSMUSG00000037313,protein_coding -7570,Jade3,ENSMUSG00000037315,protein_coding -29929,Bag4,ENSMUSG00000037316,protein_coding -3403,Traf3ip3,ENSMUSG00000037318,protein_coding -49794,Tap1,ENSMUSG00000037321,protein_coding -10306,Bbs7,ENSMUSG00000037325,protein_coding -49403,Capn15,ENSMUSG00000037326,protein_coding -38204,Larp1,ENSMUSG00000037331,protein_coding -50023,H2-M1,ENSMUSG00000037334,protein_coding -38199,Hand1,ENSMUSG00000037335,protein_coding -42868,Mfsd2b,ENSMUSG00000037336,protein_coding -23282,Map4k1,ENSMUSG00000037337,protein_coding -16256,Fam53a,ENSMUSG00000037339,protein_coding -7564,Slc9a7,ENSMUSG00000037341,protein_coding -45904,Taf2,ENSMUSG00000037343,protein_coding -18438,Slc12a9,ENSMUSG00000037344,protein_coding -52829,Hrh4,ENSMUSG00000037346,protein_coding -7563,Chst7,ENSMUSG00000037347,protein_coding -14967,Paqr7,ENSMUSG00000037348,protein_coding -54318,Nudt22,ENSMUSG00000037349,protein_coding -526,Actr1b,ENSMUSG00000037351,protein_coding -46970,Letmd1,ENSMUSG00000037353,protein_coding -16253,Uvssa,ENSMUSG00000037355,protein_coding -7548,Dipk2b,ENSMUSG00000037358,protein_coding -42865,Sf3b6,ENSMUSG00000037361,protein_coding -45898,Ccn3,ENSMUSG00000037362,protein_coding -29916,Letm2,ENSMUSG00000037363,protein_coding -18434,Srrt,ENSMUSG00000037364,protein_coding -14962,Pafah2,ENSMUSG00000037366,protein_coding -7545,Kdm6a,ENSMUSG00000037369,protein_coding -27098,Enpp1,ENSMUSG00000037370,protein_coding -16249,Ctbp1,ENSMUSG00000037373,protein_coding -3388,Hhat,ENSMUSG00000037375,protein_coding -6187,Trmt6,ENSMUSG00000037376,protein_coding -16248,Spon2,ENSMUSG00000037379,protein_coding -45770,Rims2,ENSMUSG00000037386,protein_coding -18425,Muc3,ENSMUSG00000037390,protein_coding -38182,Nmur2,ENSMUSG00000037393,protein_coding -3384,Rcor3,ENSMUSG00000037395,protein_coding -10276,Atp11b,ENSMUSG00000037400,protein_coding -34761,Icam1,ENSMUSG00000037405,protein_coding -29900,Htra4,ENSMUSG00000037406,protein_coding -512,Cnnm4,ENSMUSG00000037408,protein_coding -36410,Tbc1d2b,ENSMUSG00000037410,protein_coding -18423,Serpine1,ENSMUSG00000037411,protein_coding -31383,Ranbp10,ENSMUSG00000037415,protein_coding -53425,Dmxl1,ENSMUSG00000037416,protein_coding -54439,Best1,ENSMUSG00000037418,protein_coding -34575,Endod1,ENSMUSG00000037419,protein_coding -27089,Taar9,ENSMUSG00000037424,protein_coding -16239,Depdc5,ENSMUSG00000037426,protein_coding -18421,Vgf,ENSMUSG00000037428,protein_coding -510,Fer1l5,ENSMUSG00000037432,protein_coding -3376,Slc30a1,ENSMUSG00000037434,protein_coding -29896,Adam32,ENSMUSG00000037437,protein_coding -27071,Vnn1,ENSMUSG00000037440,protein_coding -14947,Cep85,ENSMUSG00000037443,protein_coding -49521,Tulp1,ENSMUSG00000037446,protein_coding -506,Arid5a,ENSMUSG00000037447,protein_coding -54250,Slc22a20,ENSMUSG00000037451,protein_coding -27069,Slc18b1,ENSMUSG00000037455,protein_coding -45747,Azin1,ENSMUSG00000037458,protein_coding -3367,Ints7,ENSMUSG00000037461,protein_coding -23263,Fbxo27,ENSMUSG00000037463,protein_coding -45742,Klf10,ENSMUSG00000037465,protein_coding -44963,Tedc1,ENSMUSG00000037466,protein_coding -23260,Acp7,ENSMUSG00000037469,protein_coding -503,Uggt1,ENSMUSG00000037470,protein_coding -3366,Dtl,ENSMUSG00000037474,protein_coding -7878,Thoc2,ENSMUSG00000037475,protein_coding -54096,Tbx10,ENSMUSG00000037477,protein_coding -6161,Erv3,ENSMUSG00000037482,protein_coding -42828,Asxl2,ENSMUSG00000037486,protein_coding -45732,Ubr5,ENSMUSG00000037487,protein_coding -27053,Slc2a12,ENSMUSG00000037490,protein_coding -29878,Zmat4,ENSMUSG00000037492,protein_coding -35626,Cib2,ENSMUSG00000037493,protein_coding -3358,Nenf,ENSMUSG00000037499,protein_coding -483,Fam168b,ENSMUSG00000037503,protein_coding -478,Arhgef4,ENSMUSG00000037509,protein_coding -6146,Pank2,ENSMUSG00000037514,protein_coding -26713,Ppfia1,ENSMUSG00000037519,protein_coding -6145,Mavs,ENSMUSG00000037523,protein_coding -46921,Bcdin3d,ENSMUSG00000037525,protein_coding -32964,Atg14,ENSMUSG00000037526,protein_coding -471,Prss40,ENSMUSG00000037529,protein_coding -10218,Mrpl47,ENSMUSG00000037531,protein_coding -38148,Rapgef6,ENSMUSG00000037533,protein_coding -32961,Fbxo34,ENSMUSG00000037536,protein_coding -50018,H2-M11,ENSMUSG00000037537,protein_coding -26707,Shank2,ENSMUSG00000037541,protein_coding -27020,Aldh8a1,ENSMUSG00000037542,protein_coding -32958,Dlgap5,ENSMUSG00000037544,protein_coding -49791,H2-DMb2,ENSMUSG00000037548,protein_coding -23243,Plekhg2,ENSMUSG00000037552,protein_coding -14926,Zdhhc18,ENSMUSG00000037553,protein_coding -23241,Rps16,ENSMUSG00000037563,protein_coding -3340,Vash2,ENSMUSG00000037568,protein_coding -46907,Mcrs1,ENSMUSG00000037570,protein_coding -32948,Wdhd1,ENSMUSG00000037572,protein_coding -39293,Tob1,ENSMUSG00000037573,protein_coding -49674,Ephx3,ENSMUSG00000037577,protein_coding -55144,Pkd2l1,ENSMUSG00000037578,protein_coding -46906,Kcnh3,ENSMUSG00000037579,protein_coding -32943,Gch1,ENSMUSG00000037580,protein_coding -14921,Nr0b2,ENSMUSG00000037583,protein_coding -38942,Rskr,ENSMUSG00000037593,protein_coding -44944,Clba1,ENSMUSG00000037594,protein_coding -14919,Kdf1,ENSMUSG00000037600,protein_coding -39289,Nme1,ENSMUSG00000037601,protein_coding -17044,Adgrl3,ENSMUSG00000037605,protein_coding -26698,Osbpl5,ENSMUSG00000037606,protein_coding -27000,Bclaf1,ENSMUSG00000037608,protein_coding -10203,Kcnmb2,ENSMUSG00000037610,protein_coding -26697,Tnfrsf23,ENSMUSG00000037613,protein_coding -45680,Spag1,ENSMUSG00000037617,protein_coding -20336,Atoh8,ENSMUSG00000037621,protein_coding -14913,Wdtc1,ENSMUSG00000037622,protein_coding -3316,Kcnk2,ENSMUSG00000037624,protein_coding -10198,Cldn11,ENSMUSG00000037625,protein_coding -45674,Rgs22,ENSMUSG00000037627,protein_coding -32927,Cdkn3,ENSMUSG00000037628,protein_coding -7764,Slc25a43,ENSMUSG00000037636,protein_coding -44937,Zbtb42,ENSMUSG00000037638,protein_coding -23213,Zfp60,ENSMUSG00000037640,protein_coding -10195,Prkci,ENSMUSG00000037643,protein_coding -45663,Vps13b,ENSMUSG00000037646,protein_coding -49787,H2-DMa,ENSMUSG00000037649,protein_coding -10192,Phc3,ENSMUSG00000037652,protein_coding -16851,Kctd8,ENSMUSG00000037653,protein_coding -29849,Slc20a2,ENSMUSG00000037656,protein_coding -42896,Gdf7,ENSMUSG00000037660,protein_coding -10191,Gpr160,ENSMUSG00000037661,protein_coding -26684,Cdkn1c,ENSMUSG00000037664,protein_coding -42894,Ldah,ENSMUSG00000037669,protein_coding -36038,Rfx7,ENSMUSG00000037674,protein_coding -44932,Inf2,ENSMUSG00000037679,protein_coding -36572,Esyt3,ENSMUSG00000037681,protein_coding -3816,Armc3,ENSMUSG00000037683,protein_coding -16831,Atp8a1,ENSMUSG00000037685,protein_coding -44920,Aspg,ENSMUSG00000037686,protein_coding -50975,Tmem247,ENSMUSG00000037689,protein_coding -14902,Ahdc1,ENSMUSG00000037692,protein_coding -32897,Ddhd1,ENSMUSG00000037697,protein_coding -6122,Lzts3,ENSMUSG00000037703,protein_coding -35317,Tecta,ENSMUSG00000037705,protein_coding -26667,Cd81,ENSMUSG00000037706,protein_coding -3809,Spag6,ENSMUSG00000037708,protein_coding -19940,Fam13a,ENSMUSG00000037709,protein_coding -27885,Cisd1,ENSMUSG00000037710,protein_coding -32888,Fermt2,ENSMUSG00000037712,protein_coding -35723,Ccdc33,ENSMUSG00000037716,protein_coding -16821,Tmem33,ENSMUSG00000037720,protein_coding -32885,Gnpnat1,ENSMUSG00000037722,protein_coding -29837,Ckap2,ENSMUSG00000037725,protein_coding -6119,Avp,ENSMUSG00000037727,protein_coding -10182,Mynn,ENSMUSG00000037730,protein_coding -14893,Themis2,ENSMUSG00000037731,protein_coding -16810,Limch1,ENSMUSG00000037736,protein_coding -10181,Actrt3,ENSMUSG00000037737,protein_coding -29835,Nek5,ENSMUSG00000037738,protein_coding -6117,Mrps26,ENSMUSG00000037740,protein_coding -36189,Eef1a1,ENSMUSG00000037742,protein_coding -27862,Phyhipl,ENSMUSG00000037747,protein_coding -38926,Fam222b,ENSMUSG00000037750,protein_coding -14890,Xkr8,ENSMUSG00000037752,protein_coding -6711,Ppp1r16b,ENSMUSG00000037754,protein_coding -32872,Ptger2,ENSMUSG00000037759,protein_coding -6709,Actr5,ENSMUSG00000037761,protein_coding -27854,Slc16a9,ENSMUSG00000037762,protein_coding -6707,Slc32a1,ENSMUSG00000037771,protein_coding -26647,Mrpl23,ENSMUSG00000037772,protein_coding -6111,Pced1a,ENSMUSG00000037773,protein_coding -32667,Mbl1,ENSMUSG00000037780,protein_coding -36580,Dzip1l,ENSMUSG00000037784,protein_coding -44906,Apopt1,ENSMUSG00000037787,protein_coding -19900,Vopp1,ENSMUSG00000037788,protein_coding -29722,Defb7,ENSMUSG00000037790,protein_coding -38918,Phf12,ENSMUSG00000037791,protein_coding -16773,N4bp2,ENSMUSG00000037795,protein_coding -12452,Adh4,ENSMUSG00000037797,protein_coding -32664,Mat1a,ENSMUSG00000037798,protein_coding -35833,Iqch,ENSMUSG00000037801,protein_coding -49519,Rpl10a,ENSMUSG00000037805,protein_coding -34564,Fam76b,ENSMUSG00000037808,protein_coding -6686,D630003M21Rik,ENSMUSG00000037813,protein_coding -53078,Ctnna1,ENSMUSG00000037815,protein_coding -41433,Fbxw17,ENSMUSG00000037816,protein_coding -10385,Abhd18,ENSMUSG00000037818,protein_coding -6684,Tgm2,ENSMUSG00000037820,protein_coding -16759,Smim14,ENSMUSG00000037822,protein_coding -32659,Tspan14,ENSMUSG00000037824,protein_coding -19892,Ppm1k,ENSMUSG00000037826,protein_coding -32658,Sh2d4b,ENSMUSG00000037833,protein_coding -6680,Vstm2l,ENSMUSG00000037843,protein_coding -35559,Fdxacb1,ENSMUSG00000037845,protein_coding -27830,Rtkn2,ENSMUSG00000037846,protein_coding -54701,Nmrk1,ENSMUSG00000037847,protein_coding -3002,Ifi206,ENSMUSG00000037849,protein_coding -41403,Iars,ENSMUSG00000037851,protein_coding -30469,Cpe,ENSMUSG00000037852,protein_coding -27828,Zfp365,ENSMUSG00000037855,protein_coding -38910,Nufip2,ENSMUSG00000037857,protein_coding -3001,Aim2,ENSMUSG00000037860,protein_coding -27817,Egr2,ENSMUSG00000037868,protein_coding -2999,Ackr1,ENSMUSG00000037872,protein_coding -27809,Jmjd1c,ENSMUSG00000037876,protein_coding -6087,Stk35,ENSMUSG00000037885,protein_coding -26614,Dusp8,ENSMUSG00000037887,protein_coding -16748,Wdr19,ENSMUSG00000037890,protein_coding -10469,Pcdh18,ENSMUSG00000037892,protein_coding -12428,H2afz,ENSMUSG00000037894,protein_coding -44882,Rcor1,ENSMUSG00000037896,protein_coding -6084,Sirpa,ENSMUSG00000037902,protein_coding -44878,Ankrd9,ENSMUSG00000037904,protein_coding -18164,Bri3bp,ENSMUSG00000037905,protein_coding -38899,Ankrd13b,ENSMUSG00000037907,protein_coding -16745,Tmem156,ENSMUSG00000037913,protein_coding -54102,Ndufv1,ENSMUSG00000037916,protein_coding -30441,Ddx60,ENSMUSG00000037921,protein_coding -12404,Bank1,ENSMUSG00000037922,protein_coding -2987,Olfr16,ENSMUSG00000037924,protein_coding -38895,Ssh2,ENSMUSG00000037926,protein_coding -41394,Bicd2,ENSMUSG00000037933,protein_coding -39524,Smarce1,ENSMUSG00000037935,protein_coding -18157,Scarb1,ENSMUSG00000037936,protein_coding -6063,Chchd5,ENSMUSG00000037938,protein_coding -30849,Inpp4b,ENSMUSG00000037940,protein_coding -2981,Crp,ENSMUSG00000037942,protein_coding -39523,Ccr7,ENSMUSG00000037944,protein_coding -41393,Fgd3,ENSMUSG00000037946,protein_coding -37214,Ano10,ENSMUSG00000037949,protein_coding -36579,A4gnt,ENSMUSG00000037953,protein_coding -44868,Wdr20,ENSMUSG00000037957,protein_coding -38888,Nsrp1,ENSMUSG00000037958,protein_coding -41391,Card19,ENSMUSG00000037960,protein_coding -18152,Rflna,ENSMUSG00000037962,protein_coding -47304,Zc3h7a,ENSMUSG00000037965,protein_coding -41390,Ninj1,ENSMUSG00000037966,protein_coding -35558,1110032A03Rik,ENSMUSG00000037971,protein_coding -47302,Snn,ENSMUSG00000037972,protein_coding -19854,Itprid1,ENSMUSG00000037973,protein_coding -26605,Muc5ac,ENSMUSG00000037974,protein_coding -36780,6430571L13Rik,ENSMUSG00000037977,protein_coding -18150,Ccdc92,ENSMUSG00000037979,protein_coding -19852,Neurod6,ENSMUSG00000037984,protein_coding -41389,Wnk2,ENSMUSG00000037989,protein_coding -27659,Sh3rf3,ENSMUSG00000037990,protein_coding -47292,Rmi2,ENSMUSG00000037991,protein_coding -39515,Rara,ENSMUSG00000037992,protein_coding -31466,Dhx38,ENSMUSG00000037993,protein_coding -12383,Slc9b2,ENSMUSG00000037994,protein_coding -2970,Igsf9,ENSMUSG00000037995,protein_coding -13886,Slc24a2,ENSMUSG00000037996,protein_coding -21453,Parp11,ENSMUSG00000037997,protein_coding -16701,Arap2,ENSMUSG00000037999,protein_coding -31378,Acd,ENSMUSG00000038000,protein_coding -49330,Cramp1l,ENSMUSG00000038002,protein_coding -30423,Hpf1,ENSMUSG00000038005,protein_coding -13885,Acer2,ENSMUSG00000038007,protein_coding -46902,Dnajc22,ENSMUSG00000038009,protein_coding -27651,Ccdc138,ENSMUSG00000038010,protein_coding -18148,Dnah10,ENSMUSG00000038011,protein_coding -39512,Wipf2,ENSMUSG00000038013,protein_coding -41387,Fam120a,ENSMUSG00000038014,protein_coding -47286,Prm2,ENSMUSG00000038015,protein_coding -39511,Rapgefl1,ENSMUSG00000038020,protein_coding -19844,Mindy4,ENSMUSG00000038022,protein_coding -18145,Atp6v0a2,ENSMUSG00000038023,protein_coding -13882,Dennd4c,ENSMUSG00000038024,protein_coding -41385,Phf2,ENSMUSG00000038025,protein_coding -2963,Kcnj9,ENSMUSG00000038026,protein_coding -21438,Tigar,ENSMUSG00000038028,protein_coding -2961,Igsf8,ENSMUSG00000038034,protein_coding -47283,Socs1,ENSMUSG00000038037,protein_coding -27647,Gcc2,ENSMUSG00000038039,protein_coding -41381,Ptpdc1,ENSMUSG00000038042,protein_coding -16050,Cct8l1,ENSMUSG00000038044,protein_coding -50844,Sult6b1,ENSMUSG00000038045,protein_coding -38872,Mrm3,ENSMUSG00000038046,protein_coding -13878,Haus6,ENSMUSG00000038047,protein_coding -50575,Cntnap5c,ENSMUSG00000038048,protein_coding -47280,Dexi,ENSMUSG00000038055,protein_coding -16043,Kmt2c,ENSMUSG00000038056,protein_coding -38871,Dbil5,ENSMUSG00000038057,protein_coding -19837,Nod1,ENSMUSG00000038058,protein_coding -53550,Smim3,ENSMUSG00000038059,protein_coding -37100,Dlec1,ENSMUSG00000038060,protein_coding -30290,Cldn22,ENSMUSG00000038064,protein_coding -19833,Mturn,ENSMUSG00000038065,protein_coding -39503,Csf3,ENSMUSG00000038067,protein_coding -41356,Rnf144b,ENSMUSG00000038068,protein_coding -30281,Cdkn2aip,ENSMUSG00000038069,protein_coding -13864,Cntln,ENSMUSG00000038070,protein_coding -53346,Npy6r,ENSMUSG00000038071,protein_coding -16041,Galnt11,ENSMUSG00000038072,protein_coding -19830,Fkbp14,ENSMUSG00000038074,protein_coding -21424,Kcna6,ENSMUSG00000038077,protein_coding -910,Tmem237,ENSMUSG00000038079,protein_coding -41353,Kdm1b,ENSMUSG00000038080,protein_coding -47732,Opa1,ENSMUSG00000038084,protein_coding -6621,Cnbd2,ENSMUSG00000038085,protein_coding -35556,Hspb2,ENSMUSG00000038086,protein_coding -11632,Hsd3b5,ENSMUSG00000038092,protein_coding -47731,Atp13a4,ENSMUSG00000038094,protein_coding -18131,Sbno1,ENSMUSG00000038095,protein_coding -30273,Trappc11,ENSMUSG00000038102,protein_coding -35219,AW551984,ENSMUSG00000038112,protein_coding -21413,Ano2,ENSMUSG00000038115,protein_coding -6619,Phf20,ENSMUSG00000038116,protein_coding -35024,Cdon,ENSMUSG00000038119,protein_coding -53740,Fam210a,ENSMUSG00000038121,protein_coding -27616,Tbc1d32,ENSMUSG00000038122,protein_coding -18125,Mphosph9,ENSMUSG00000038126,protein_coding -47720,Ccdc50,ENSMUSG00000038127,protein_coding -53032,Camk4,ENSMUSG00000038128,protein_coding -41335,Rbm24,ENSMUSG00000038132,protein_coding -16029,Crygn,ENSMUSG00000038135,protein_coding -48807,Tmem181a,ENSMUSG00000038141,protein_coding -30270,Stox2,ENSMUSG00000038143,protein_coding -37210,Snrk,ENSMUSG00000038145,protein_coding -49672,Notch3,ENSMUSG00000038146,protein_coding -2943,Cd84,ENSMUSG00000038147,protein_coding -47711,Cldn16,ENSMUSG00000038148,protein_coding -39495,Ormdl3,ENSMUSG00000038150,protein_coding -27444,Prdm1,ENSMUSG00000038151,protein_coding -54104,Gstp2,ENSMUSG00000038155,protein_coding -25882,Spon1,ENSMUSG00000038156,protein_coding -27441,Atg5,ENSMUSG00000038160,protein_coding -21408,Plekhg6,ENSMUSG00000038167,protein_coding -47708,P3h2,ENSMUSG00000038168,protein_coding -11607,Pde4dip,ENSMUSG00000038170,protein_coding -13843,Ttc39b,ENSMUSG00000038172,protein_coding -30266,Enpp6,ENSMUSG00000038173,protein_coding -891,Fam126b,ENSMUSG00000038174,protein_coding -41324,Mylip,ENSMUSG00000038175,protein_coding -38850,Slc43a2,ENSMUSG00000038178,protein_coding -2930,Slamf7,ENSMUSG00000038179,protein_coding -6611,Spag4,ENSMUSG00000038180,protein_coding -16022,Chpf2,ENSMUSG00000038181,protein_coding -25871,Btbd10,ENSMUSG00000038187,protein_coding -38848,Scarf1,ENSMUSG00000038188,protein_coding -13838,Cer1,ENSMUSG00000038192,protein_coding -30377,Hand2,ENSMUSG00000038193,protein_coding -38847,Rilp,ENSMUSG00000038195,protein_coding -16019,Iqca1l,ENSMUSG00000038199,protein_coding -24003,Kcna7,ENSMUSG00000038201,protein_coding -19785,Hoxa13,ENSMUSG00000038203,protein_coding -16018,Asb10,ENSMUSG00000038204,protein_coding -11605,Prkab2,ENSMUSG00000038205,protein_coding -30369,Fbxo8,ENSMUSG00000038206,protein_coding -39486,Pgap3,ENSMUSG00000038208,protein_coding -2926,Itln1,ENSMUSG00000038209,protein_coding -19776,Hoxa11,ENSMUSG00000038210,protein_coding -41826,Mfsd14b,ENSMUSG00000038212,protein_coding -21398,Tapbpl,ENSMUSG00000038213,protein_coding -27420,Bend3,ENSMUSG00000038214,protein_coding -30368,Cep44,ENSMUSG00000038215,protein_coding -39485,Pnmt,ENSMUSG00000038216,protein_coding -38844,Tlcd2,ENSMUSG00000038217,protein_coding -38841,Serpinf2,ENSMUSG00000038224,protein_coding -30257,Primpol,ENSMUSG00000038225,protein_coding -19773,Hoxa9,ENSMUSG00000038227,protein_coding -37204,Gask1a,ENSMUSG00000038233,protein_coding -2921,F11r,ENSMUSG00000038235,protein_coding -19772,Hoxa7,ENSMUSG00000038236,protein_coding -23996,Hrc,ENSMUSG00000038239,protein_coding -27414,Pdss2,ENSMUSG00000038240,protein_coding -6606,Cep250,ENSMUSG00000038241,protein_coding -880,Aox4,ENSMUSG00000038242,protein_coding -25856,Mical2,ENSMUSG00000038244,protein_coding -41096,Fam50b,ENSMUSG00000038246,protein_coding -27409,Sobp,ENSMUSG00000038248,protein_coding -30843,Usp38,ENSMUSG00000038250,protein_coding -21391,Ncapd2,ENSMUSG00000038252,protein_coding -19770,Hoxa5,ENSMUSG00000038253,protein_coding -39480,Neurod2,ENSMUSG00000038255,protein_coding -11598,Bcl9,ENSMUSG00000038256,protein_coding -30360,Glra3,ENSMUSG00000038257,protein_coding -6605,Gdf5,ENSMUSG00000038259,protein_coding -23994,Trpm4,ENSMUSG00000038260,protein_coding -35720,Sema7a,ENSMUSG00000038264,protein_coding -41082,Slc22a23,ENSMUSG00000038267,protein_coding -38832,Ovca2,ENSMUSG00000038268,protein_coding -21389,Iffo1,ENSMUSG00000038271,protein_coding -54258,Fau,ENSMUSG00000038274,protein_coding -16008,Asic3,ENSMUSG00000038276,protein_coding -21388,Nop2,ENSMUSG00000038279,protein_coding -27399,Ostm1,ENSMUSG00000038280,protein_coding -41074,Bphl,ENSMUSG00000038286,protein_coding -38822,Smg6,ENSMUSG00000038290,protein_coding -30237,Snx25,ENSMUSG00000038291,protein_coding -23987,Ccdc155,ENSMUSG00000038292,protein_coding -16006,Atg9b,ENSMUSG00000038295,protein_coding -25850,Galnt18,ENSMUSG00000038296,protein_coding -11588,Pdzk1,ENSMUSG00000038298,protein_coding -53029,Wdr36,ENSMUSG00000038299,protein_coding -23986,Pth2,ENSMUSG00000038300,protein_coding -19747,Snx10,ENSMUSG00000038301,protein_coding -27393,Afg1l,ENSMUSG00000038302,protein_coding -11587,Cd160,ENSMUSG00000038304,protein_coding -873,Spats2l,ENSMUSG00000038305,protein_coding -6595,Edem2,ENSMUSG00000038312,protein_coding -16002,Kcnh2,ENSMUSG00000038319,protein_coding -865,1700066M21Rik,ENSMUSG00000038323,protein_coding -6593,Trpc4ap,ENSMUSG00000038324,protein_coding -41048,Serpinb9f,ENSMUSG00000038327,protein_coding -13905,C87499,ENSMUSG00000038330,protein_coding -857,Satb2,ENSMUSG00000038331,protein_coding -27386,Sesn1,ENSMUSG00000038332,protein_coding -38818,Tsr1,ENSMUSG00000038335,protein_coding -18084,Mlxip,ENSMUSG00000038342,protein_coding -9773,Txlng,ENSMUSG00000038344,protein_coding -21378,Zfp384,ENSMUSG00000038346,protein_coding -48961,Tcte2,ENSMUSG00000038347,protein_coding -847,Plcl1,ENSMUSG00000038349,protein_coding -38816,Sgsm2,ENSMUSG00000038351,protein_coding -39464,Arl5c,ENSMUSG00000038352,protein_coding -11579,Ankrd35,ENSMUSG00000038354,protein_coding -36932,Camp,ENSMUSG00000038357,protein_coding -29639,Fbxo25,ENSMUSG00000038365,protein_coding -39457,Lasp1,ENSMUSG00000038366,protein_coding -13893,Focad,ENSMUSG00000038368,protein_coding -6579,Ncoa6,ENSMUSG00000038369,protein_coding -2896,Pcp4l1,ENSMUSG00000038370,protein_coding -25828,Sbf2,ENSMUSG00000038371,protein_coding -41019,Gmds,ENSMUSG00000038372,protein_coding -11574,Rbm8a,ENSMUSG00000038374,protein_coding -6578,Trp53inp2,ENSMUSG00000038375,protein_coding -36273,Ttk,ENSMUSG00000038379,protein_coding -6576,Pigu,ENSMUSG00000038383,protein_coding -18072,Setd1b,ENSMUSG00000038384,protein_coding -23962,Rras,ENSMUSG00000038387,protein_coding -19718,Mpp6,ENSMUSG00000038388,protein_coding -21368,Gpr162,ENSMUSG00000038390,protein_coding -11568,Txnip,ENSMUSG00000038393,protein_coding -29632,Upf3a,ENSMUSG00000038398,protein_coding -7021,Pmepa1,ENSMUSG00000038400,protein_coding -41014,Foxf2,ENSMUSG00000038402,protein_coding -11566,Hjv,ENSMUSG00000038403,protein_coding -23960,Scaf1,ENSMUSG00000038406,protein_coding -37196,Higd1a,ENSMUSG00000038412,protein_coding -41010,Foxq1,ENSMUSG00000038415,protein_coding -29631,Cdc16,ENSMUSG00000038416,protein_coding -27366,Fig4,ENSMUSG00000038417,protein_coding -53070,Egr1,ENSMUSG00000038418,protein_coding -2881,Fcrla,ENSMUSG00000038421,protein_coding -13674,Hdhd3,ENSMUSG00000038422,protein_coding -53771,Poli,ENSMUSG00000038425,protein_coding -21364,Usp5,ENSMUSG00000038429,protein_coding -39443,Mllt6,ENSMUSG00000038437,protein_coding -27358,Cdc40,ENSMUSG00000038446,protein_coding -21362,Spsb2,ENSMUSG00000038451,protein_coding -39437,Srcin1,ENSMUSG00000038453,protein_coding -19393,Dennd2a,ENSMUSG00000038456,protein_coding -29624,Tmem255b,ENSMUSG00000038457,protein_coding -24983,Abhd17c,ENSMUSG00000038459,protein_coding -40991,Uqcrfs1,ENSMUSG00000038462,protein_coding -2873,Olfml2b,ENSMUSG00000038463,protein_coding -6560,Chmp4b,ENSMUSG00000038467,protein_coding -2870,Nos1ap,ENSMUSG00000038473,protein_coding -27351,Cdk19,ENSMUSG00000038481,protein_coding -29620,Tfdp1,ENSMUSG00000038482,protein_coding -39434,Socs7,ENSMUSG00000038485,protein_coding -11519,Sv2a,ENSMUSG00000038486,protein_coding -26596,Polr2l,ENSMUSG00000038489,protein_coding -11514,Otud7b,ENSMUSG00000038495,protein_coding -1372,Slc19a3,ENSMUSG00000038496,protein_coding -29619,Tmco3,ENSMUSG00000038497,protein_coding -54190,Catsper1,ENSMUSG00000038498,protein_coding -49961,Prr3,ENSMUSG00000038500,protein_coding -23948,Ptov1,ENSMUSG00000038502,protein_coding -24980,Mesd,ENSMUSG00000038503,protein_coding -29615,Dcun1d2,ENSMUSG00000038506,protein_coding -19381,Parp12,ENSMUSG00000038507,protein_coding -30611,Gdf15,ENSMUSG00000038508,protein_coding -27343,Rpf2,ENSMUSG00000038510,protein_coding -29611,Grtp1,ENSMUSG00000038515,protein_coding -39425,Tbkbp1,ENSMUSG00000038517,protein_coding -41313,Jarid2,ENSMUSG00000038518,protein_coding -23944,Tbc1d17,ENSMUSG00000038520,protein_coding -21341,C1s1,ENSMUSG00000038521,protein_coding -27335,Mfsd4b1,ENSMUSG00000038522,protein_coding -6553,1700003F12Rik,ENSMUSG00000038523,protein_coding -53236,Fchsd1,ENSMUSG00000038524,protein_coding -15933,Armc10,ENSMUSG00000038525,protein_coding -11507,Car14,ENSMUSG00000038526,protein_coding -21339,C1rl,ENSMUSG00000038527,protein_coding -27334,Mfsd4b5,ENSMUSG00000038528,protein_coding -2853,Rgs4,ENSMUSG00000038530,protein_coding -6551,Cbfa2t2,ENSMUSG00000038533,protein_coding -39420,Osbpl7,ENSMUSG00000038534,protein_coding -36021,Zfp280d,ENSMUSG00000038535,protein_coding -6997,Mc3r,ENSMUSG00000038537,protein_coding -19368,Ubn2,ENSMUSG00000038538,protein_coding -23941,Atf5,ENSMUSG00000038539,protein_coding -24965,Tmc3,ENSMUSG00000038540,protein_coding -50781,Srd5a2,ENSMUSG00000038541,protein_coding -29606,Pcid2,ENSMUSG00000038542,protein_coding -11505,BC028528,ENSMUSG00000038543,protein_coding -13605,Inip,ENSMUSG00000038544,protein_coding -50310,Cul7,ENSMUSG00000038545,protein_coding -41283,Ranbp9,ENSMUSG00000038546,protein_coding -11504,Ciart,ENSMUSG00000038550,protein_coding -16187,Fndc4,ENSMUSG00000038552,protein_coding -53069,Reep2,ENSMUSG00000038555,protein_coding -39413,Sp6,ENSMUSG00000038560,protein_coding -24945,Efl1,ENSMUSG00000038563,protein_coding -16186,Ift172,ENSMUSG00000038564,protein_coding -6978,Cyp24a1,ENSMUSG00000038567,protein_coding -18031,Rad9b,ENSMUSG00000038569,protein_coding -24944,Saxo2,ENSMUSG00000038570,protein_coding -6545,Bpifb5,ENSMUSG00000038572,protein_coding -3215,Susd4,ENSMUSG00000038576,protein_coding -13598,Susd1,ENSMUSG00000038578,protein_coding -26577,Sct,ENSMUSG00000038580,protein_coding -18029,Pptc7,ENSMUSG00000038582,protein_coding -27590,Pln,ENSMUSG00000038583,protein_coding -26757,Akap12,ENSMUSG00000038587,protein_coding -45894,Colec10,ENSMUSG00000038591,protein_coding -18027,Tctn1,ENSMUSG00000038593,protein_coding -27587,Cep85l,ENSMUSG00000038594,protein_coding -13592,Shoc1,ENSMUSG00000038598,protein_coding -3211,Capn8,ENSMUSG00000038599,protein_coding -19357,Atp6v0a4,ENSMUSG00000038600,protein_coding -27578,Slc35f1,ENSMUSG00000038602,protein_coding -31371,Ripor1,ENSMUSG00000038604,protein_coding -7237,Samd10,ENSMUSG00000038605,protein_coding -13591,Gng10,ENSMUSG00000038607,protein_coding -1331,Dock10,ENSMUSG00000038608,protein_coding -26574,Phrf1,ENSMUSG00000038611,protein_coding -11491,Mcl1,ENSMUSG00000038612,protein_coding -39402,Nfe2l1,ENSMUSG00000038615,protein_coding -26572,Rassf7,ENSMUSG00000038618,protein_coding -11489,Ensa,ENSMUSG00000038619,protein_coding -45881,Med30,ENSMUSG00000038622,protein_coding -24928,Tm6sf1,ENSMUSG00000038623,protein_coding -27568,Nepn,ENSMUSG00000038624,protein_coding -7248,Polr3k,ENSMUSG00000038628,protein_coding -13587,Zkscan16,ENSMUSG00000038630,protein_coding -3201,Degs1,ENSMUSG00000038633,protein_coding -26570,Lrrc56,ENSMUSG00000038637,protein_coding -19350,Akr1d1,ENSMUSG00000038641,protein_coding -11483,Ctss,ENSMUSG00000038642,protein_coding -23926,Pold1,ENSMUSG00000038644,protein_coding -24922,Ramac,ENSMUSG00000038646,protein_coding -19349,Creb3l2,ENSMUSG00000038648,protein_coding -26566,Rnh1,ENSMUSG00000038650,protein_coding -41243,Sycp2l,ENSMUSG00000038651,protein_coding -18705,Cyp3a16,ENSMUSG00000038656,protein_coding -54858,Ric1,ENSMUSG00000038658,protein_coding -24915,Fsd2,ENSMUSG00000038663,protein_coding -35912,Herc1,ENSMUSG00000038664,protein_coding -19346,Dgki,ENSMUSG00000038665,protein_coding -13578,Lpar1,ENSMUSG00000038668,protein_coding -23924,Mybpc2,ENSMUSG00000038670,protein_coding -7222,Arfrp1,ENSMUSG00000038671,protein_coding -16174,Ucn,ENSMUSG00000038676,protein_coding -49510,Scube3,ENSMUSG00000038677,protein_coding -45860,Trps1,ENSMUSG00000038679,protein_coding -41238,Pak1ip1,ENSMUSG00000038683,protein_coding -7221,Rtel1,ENSMUSG00000038685,protein_coding -18695,Atp5j2,ENSMUSG00000038690,protein_coding -34660,Mbd3l1,ENSMUSG00000038691,protein_coding -39388,Hoxb4,ENSMUSG00000038692,protein_coding -23918,Josd2,ENSMUSG00000038695,protein_coding -4288,Mapkap1,ENSMUSG00000038696,protein_coding -31829,Taf5l,ENSMUSG00000038697,protein_coding -39386,Hoxb5,ENSMUSG00000038700,protein_coding -1870,Dsel,ENSMUSG00000038702,protein_coding -23917,Aspdh,ENSMUSG00000038704,protein_coding -7218,Gmeb2,ENSMUSG00000038705,protein_coding -37089,Golga4,ENSMUSG00000038708,protein_coding -13574,Txndc8,ENSMUSG00000038709,protein_coding -11469,Mindy1,ENSMUSG00000038712,protein_coding -35424,Atp5l,ENSMUSG00000038717,protein_coding -4286,Pbx3,ENSMUSG00000038718,protein_coding -39383,Hoxb7,ENSMUSG00000038721,protein_coding -18692,Bud31,ENSMUSG00000038722,protein_coding -45826,Pkhd1l1,ENSMUSG00000038725,protein_coding -13568,Akap2,ENSMUSG00000038729,protein_coding -40985,Mboat1,ENSMUSG00000038732,protein_coding -3177,Wdr26,ENSMUSG00000038733,protein_coding -45823,Nudcd1,ENSMUSG00000038736,protein_coding -23910,Shank1,ENSMUSG00000038738,protein_coding -4279,Mvb12b,ENSMUSG00000038740,protein_coding -34751,Angptl6,ENSMUSG00000038742,protein_coding -26549,Nlrp6,ENSMUSG00000038745,protein_coding -36178,Omt2b,ENSMUSG00000038750,protein_coding -7213,Ptk6,ENSMUSG00000038751,protein_coding -55205,Elovl3,ENSMUSG00000038754,protein_coding -39373,Ttll6,ENSMUSG00000038756,protein_coding -19327,Nup205,ENSMUSG00000038759,protein_coding -45818,Trhr,ENSMUSG00000038760,protein_coding -49959,Abcf1,ENSMUSG00000038762,protein_coding -24898,Alpk3,ENSMUSG00000038763,protein_coding -13560,Ptpn3,ENSMUSG00000038764,protein_coding -4274,Lmx1b,ENSMUSG00000038765,protein_coding -11462,Gabpb2,ENSMUSG00000038766,protein_coding -3170,9130409I23Rik,ENSMUSG00000038768,protein_coding -18682,Kpna7,ENSMUSG00000038770,protein_coding -53067,Kdm3b,ENSMUSG00000038773,protein_coding -27529,Ascc3,ENSMUSG00000038774,protein_coding -37098,Vill,ENSMUSG00000038775,protein_coding -3167,Ephx1,ENSMUSG00000038776,protein_coding -11461,Sema6c,ENSMUSG00000038777,protein_coding -18680,Smurf1,ENSMUSG00000038780,protein_coding -50497,Stap2,ENSMUSG00000038781,protein_coding -23895,1700028J19Rik,ENSMUSG00000038782,protein_coding -19326,Cnot4,ENSMUSG00000038784,protein_coding -53331,Scgb3a2,ENSMUSG00000038791,protein_coding -3163,Lefty1,ENSMUSG00000038793,protein_coding -24888,Zscan2,ENSMUSG00000038797,protein_coding -26540,Scgb1c1,ENSMUSG00000038801,protein_coding -16159,Ost4,ENSMUSG00000038803,protein_coding -50954,Six3,ENSMUSG00000038805,protein_coding -3158,Sde2,ENSMUSG00000038806,protein_coding -38807,Rap1gap2,ENSMUSG00000038807,protein_coding -39356,Gngt2,ENSMUSG00000038811,protein_coding -54306,Trmt112,ENSMUSG00000038812,protein_coding -13551,Ctnnal1,ENSMUSG00000038816,protein_coding -27473,Hace1,ENSMUSG00000038822,protein_coding -13550,Abitram,ENSMUSG00000038827,protein_coding -16155,Tmem214,ENSMUSG00000038828,protein_coding -4264,Ralgps1,ENSMUSG00000038831,protein_coding -19316,Agbl3,ENSMUSG00000038836,protein_coding -49934,Vars2,ENSMUSG00000038838,protein_coding -7202,Birc7,ENSMUSG00000038840,protein_coding -54687,Gcnt1,ENSMUSG00000038843,protein_coding -6267,Kif16b,ENSMUSG00000038844,protein_coding -39348,Phb,ENSMUSG00000038845,protein_coding -7201,Ythdf1,ENSMUSG00000038848,protein_coding -3139,Itpkb,ENSMUSG00000038855,protein_coding -18671,Baiap2l1,ENSMUSG00000038859,protein_coding -4262,Garnl3,ENSMUSG00000038860,protein_coding -11444,Pi4kb,ENSMUSG00000038861,protein_coding -1810,Zcchc2,ENSMUSG00000038866,protein_coding -19310,Bpgm,ENSMUSG00000038871,protein_coding -31455,Zfhx3,ENSMUSG00000038872,protein_coding -27173,Rnf146,ENSMUSG00000038876,protein_coding -45654,Nipal2,ENSMUSG00000038879,protein_coding -49327,Mrps34,ENSMUSG00000038880,protein_coding -40938,Prl3a1,ENSMUSG00000038883,protein_coding -34750,A230050P20Rik,ENSMUSG00000038884,protein_coding -24876,Man2a2,ENSMUSG00000038886,protein_coding -23835,Ctu1,ENSMUSG00000038888,protein_coding -40937,Prl3b1,ENSMUSG00000038891,protein_coding -39340,Fam117a,ENSMUSG00000038893,protein_coding -29543,Irs2,ENSMUSG00000038894,protein_coding -34822,Zfp653,ENSMUSG00000038895,protein_coding -4259,Rpl12,ENSMUSG00000038900,protein_coding -11438,Pogz,ENSMUSG00000038902,protein_coding -53762,Ccdc68,ENSMUSG00000038903,protein_coding -39337,Kat7,ENSMUSG00000038909,protein_coding -50409,Plcl2,ENSMUSG00000038910,protein_coding -7188,Dido1,ENSMUSG00000038914,protein_coding -27168,Soga3,ENSMUSG00000038916,protein_coding -32349,E330034G19Rik,ENSMUSG00000038925,protein_coding -24870,Rccd1,ENSMUSG00000038930,protein_coding -7187,Tcfl5,ENSMUSG00000038932,protein_coding -3126,Sccpdh,ENSMUSG00000038936,protein_coding -24871,Prc1,ENSMUSG00000038943,protein_coding -3125,Cnst,ENSMUSG00000038949,protein_coding -50247,Supt3,ENSMUSG00000038954,protein_coding -35715,Edc3,ENSMUSG00000038957,protein_coding -7182,Slco4a1,ENSMUSG00000038963,protein_coding -47430,Ube2l3,ENSMUSG00000038965,protein_coding -39328,Pdk2,ENSMUSG00000038967,protein_coding -23884,Klk1b16,ENSMUSG00000038968,protein_coding -18664,Lmtk2,ENSMUSG00000038970,protein_coding -23817,Cldnd2,ENSMUSG00000038973,protein_coding -12680,Rabggtb,ENSMUSG00000038975,protein_coding -39326,Ppp1r9b,ENSMUSG00000038976,protein_coding -7176,Rbbp8nl,ENSMUSG00000038980,protein_coding -41192,Bloc1s5,ENSMUSG00000038982,protein_coding -45631,Tspyl5,ENSMUSG00000038984,protein_coding -4252,Cfap157,ENSMUSG00000038987,protein_coding -7175,Cables2,ENSMUSG00000038990,protein_coding -41187,Txndc5,ENSMUSG00000038991,protein_coding -39325,Hils1,ENSMUSG00000038994,protein_coding -12677,Asb17,ENSMUSG00000038997,protein_coding -16115,Ube3c,ENSMUSG00000039000,protein_coding -7173,Rps21,ENSMUSG00000039001,protein_coding -41185,Bmp6,ENSMUSG00000039004,protein_coding -13723,Tlr4,ENSMUSG00000039005,protein_coding -45627,Cpq,ENSMUSG00000039007,protein_coding -23811,Siglecf,ENSMUSG00000039013,protein_coding -35550,Timm8b,ENSMUSG00000039016,protein_coding -26502,Mtg1,ENSMUSG00000039018,protein_coding -4249,Ttc16,ENSMUSG00000039021,protein_coding -27140,Arhgap18,ENSMUSG00000039031,protein_coding -19258,Tsga13,ENSMUSG00000039032,protein_coding -6247,Tasp1,ENSMUSG00000039033,protein_coding -12658,St6galnac5,ENSMUSG00000039037,protein_coding -7170,Adrm1,ENSMUSG00000039041,protein_coding -24853,Arpin,ENSMUSG00000039043,protein_coding -3519,Usp6nl,ENSMUSG00000039046,protein_coding -12656,Pigk,ENSMUSG00000039047,protein_coding -35017,Foxred1,ENSMUSG00000039048,protein_coding -7169,Osbpl2,ENSMUSG00000039050,protein_coding -39308,Eme1,ENSMUSG00000039055,protein_coding -29526,Myo16,ENSMUSG00000039057,protein_coding -12654,Ak5,ENSMUSG00000039058,protein_coding -7167,Hrh3,ENSMUSG00000039059,protein_coding -24847,Anpep,ENSMUSG00000039062,protein_coding -3516,Echdc3,ENSMUSG00000039063,protein_coding -45612,Atpsckmt,ENSMUSG00000039065,protein_coding -31450,Psmd7,ENSMUSG00000039067,protein_coding -12653,Zzz3,ENSMUSG00000039068,protein_coding -7166,Mtg2,ENSMUSG00000039069,protein_coding -19244,Cpa4,ENSMUSG00000039070,protein_coding -31698,Trhr2,ENSMUSG00000039079,protein_coding -32327,Zfp503,ENSMUSG00000039081,protein_coding -39305,Chad,ENSMUSG00000039084,protein_coding -7165,Ss18l1,ENSMUSG00000039086,protein_coding -41173,Rreb1,ENSMUSG00000039087,protein_coding -27130,L3mbtl3,ENSMUSG00000039089,protein_coding -6244,Sptlc3,ENSMUSG00000039092,protein_coding -16096,En2,ENSMUSG00000039095,protein_coding -39303,Rsad1,ENSMUSG00000039096,protein_coding -54852,Rln1,ENSMUSG00000039097,protein_coding -24843,Wdr93,ENSMUSG00000039099,protein_coding -45606,March6,ENSMUSG00000039100,protein_coding -12645,Nexn,ENSMUSG00000039103,protein_coding -13698,Atp6v1g1,ENSMUSG00000039105,protein_coding -16089,Htr5a,ENSMUSG00000039106,protein_coding -7163,Lsm14b,ENSMUSG00000039108,protein_coding -41146,F13a1,ENSMUSG00000039109,protein_coding -39302,Mycbpap,ENSMUSG00000039110,protein_coding -41142,Nrn1,ENSMUSG00000039114,protein_coding -37092,Itga9,ENSMUSG00000039115,protein_coding -26913,Adgrg6,ENSMUSG00000039116,protein_coding -7160,Taf4,ENSMUSG00000039117,protein_coding -54681,Prune2,ENSMUSG00000039126,protein_coding -3506,Cdc123,ENSMUSG00000039128,protein_coding -19237,Zc3hc1,ENSMUSG00000039130,protein_coding -12639,Gipc2,ENSMUSG00000039131,protein_coding -13697,Whrn,ENSMUSG00000039137,protein_coding -3504,Camk1d,ENSMUSG00000039145,protein_coding -12630,Ifi44l,ENSMUSG00000039146,protein_coding -54194,Sart1,ENSMUSG00000039148,protein_coding -50242,Runx2,ENSMUSG00000039153,protein_coding -50495,Shd,ENSMUSG00000039154,protein_coding -7152,Cdh26,ENSMUSG00000039155,protein_coding -16621,Stim2,ENSMUSG00000039156,protein_coding -4230,Fam102a,ENSMUSG00000039157,protein_coding -13695,Akna,ENSMUSG00000039158,protein_coding -19234,Ube2h,ENSMUSG00000039159,protein_coding -37080,Cmc1,ENSMUSG00000039163,protein_coding -4227,Naif1,ENSMUSG00000039164,protein_coding -27108,Akap7,ENSMUSG00000039166,protein_coding -12627,Adgrl4,ENSMUSG00000039167,protein_coding -45598,Dap,ENSMUSG00000039168,protein_coding -12190,1700003H04Rik,ENSMUSG00000039174,protein_coding -24825,Polg,ENSMUSG00000039176,protein_coding -16618,Tbc1d19,ENSMUSG00000039178,protein_coding -47276,Tekt5,ENSMUSG00000039179,protein_coding -40539,AW209491,ENSMUSG00000039182,protein_coding -49323,Nubp2,ENSMUSG00000039183,protein_coding -24823,Fanci,ENSMUSG00000039187,protein_coding -16614,Rbpj,ENSMUSG00000039191,protein_coding -50795,Nlrc4,ENSMUSG00000039193,protein_coding -24822,Rlbp1,ENSMUSG00000039194,protein_coding -4222,1110008P14Rik,ENSMUSG00000039195,protein_coding -13691,Orm1,ENSMUSG00000039196,protein_coding -32312,Adk,ENSMUSG00000039197,protein_coding -40301,Ptchd3,ENSMUSG00000039198,protein_coding -31364,Zdhhc1,ENSMUSG00000039199,protein_coding -47270,Atf7ip2,ENSMUSG00000039200,protein_coding -7389,Tbc1d25,ENSMUSG00000039201,protein_coding -24818,Abhd2,ENSMUSG00000039202,protein_coding -4221,Ciz1,ENSMUSG00000039205,protein_coding -18644,Daglb,ENSMUSG00000039206,protein_coding -40297,Metrnl,ENSMUSG00000039208,protein_coding -47268,Rpl39l,ENSMUSG00000039209,protein_coding -3300,Gpatch2,ENSMUSG00000039210,protein_coding -19698,Svs1,ENSMUSG00000039215,protein_coding -35547,Il18,ENSMUSG00000039217,protein_coding -49241,Srrm2,ENSMUSG00000039218,protein_coding -40526,Arid4b,ENSMUSG00000039219,protein_coding -49955,Ppp1r10,ENSMUSG00000039220,protein_coding -10155,Rpl22l1,ENSMUSG00000039221,protein_coding -3292,D1Pas1,ENSMUSG00000039224,protein_coding -40294,Tbcd,ENSMUSG00000039230,protein_coding -7381,Suv39h1,ENSMUSG00000039231,protein_coding -26884,Stx11,ENSMUSG00000039232,protein_coding -40523,Tbce,ENSMUSG00000039233,protein_coding -12166,Sec24d,ENSMUSG00000039234,protein_coding -24811,Isg20,ENSMUSG00000039236,protein_coding -40295,Zfp750,ENSMUSG00000039238,protein_coding -3283,Tgfb2,ENSMUSG00000039239,protein_coding -40521,B3galnt2,ENSMUSG00000039242,protein_coding -18631,E130309D02Rik,ENSMUSG00000039244,protein_coding -3276,Lyplal1,ENSMUSG00000039246,protein_coding -16592,Lgi2,ENSMUSG00000039252,protein_coding -40292,Fn3krp,ENSMUSG00000039253,protein_coding -4213,Pomt1,ENSMUSG00000039254,protein_coding -23720,Vstm2b,ENSMUSG00000039257,protein_coding -4208,Prrc2b,ENSMUSG00000039262,protein_coding -7037,Npepl1,ENSMUSG00000039263,protein_coding -19682,Gimap3,ENSMUSG00000039264,protein_coding -49929,2300002M23Rik,ENSMUSG00000039269,protein_coding -13743,Megf9,ENSMUSG00000039270,protein_coding -40287,Foxk2,ENSMUSG00000039275,protein_coding -7370,Pcsk1n,ENSMUSG00000039278,protein_coding -37079,Azi2,ENSMUSG00000039285,protein_coding -10139,Fndc3b,ENSMUSG00000039286,protein_coding -40285,Cybc1,ENSMUSG00000039294,protein_coding -18625,Spdye4a,ENSMUSG00000039296,protein_coding -13740,Cdk5rap2,ENSMUSG00000039298,protein_coding -10137,Tnfsf10,ENSMUSG00000039304,protein_coding -40284,Hexdc,ENSMUSG00000039307,protein_coding -32305,Ndst2,ENSMUSG00000039308,protein_coding -36392,Minar1,ENSMUSG00000039313,protein_coding -16389,Clnk,ENSMUSG00000039315,protein_coding -50400,Rftn1,ENSMUSG00000039316,protein_coding -3258,Rab3gap2,ENSMUSG00000039318,protein_coding -40281,Uts2r,ENSMUSG00000039321,protein_coding -1172,Igfbp2,ENSMUSG00000039323,protein_coding -30014,Rnf122,ENSMUSG00000039328,protein_coding -40280,Tex19.1,ENSMUSG00000039329,protein_coding -54196,Tsga10ip,ENSMUSG00000039330,protein_coding -10127,Spata16,ENSMUSG00000039335,protein_coding -40279,Tex19.2,ENSMUSG00000039337,protein_coding -27331,Mfsd4b2-ps,ENSMUSG00000039339,protein_coding -1168,Ankar,ENSMUSG00000039342,protein_coding -47244,Mettl22,ENSMUSG00000039345,protein_coding -19660,Atp6v0e2,ENSMUSG00000039347,protein_coding -3252,C130074G19Rik,ENSMUSG00000039349,protein_coding -1166,Smarcal1,ENSMUSG00000039354,protein_coding -4192,Exosc2,ENSMUSG00000039356,protein_coding -32301,Fut11,ENSMUSG00000039357,protein_coding -16380,Drd5,ENSMUSG00000039358,protein_coding -25122,Picalm,ENSMUSG00000039361,protein_coding -40274,Sectm1b,ENSMUSG00000039364,protein_coding -32298,Sec24c,ENSMUSG00000039367,protein_coding -1164,March4,ENSMUSG00000039372,protein_coding -30345,Wdr17,ENSMUSG00000039375,protein_coding -32297,Synpo2l,ENSMUSG00000039376,protein_coding -3246,Hlx,ENSMUSG00000039377,protein_coding -7354,Wdr45,ENSMUSG00000039382,protein_coding -3235,Dusp10,ENSMUSG00000039384,protein_coding -45446,Cdh6,ENSMUSG00000039385,protein_coding -25113,Ccdc81,ENSMUSG00000039391,protein_coding -1155,Mreg,ENSMUSG00000039395,protein_coding -30337,Neil3,ENSMUSG00000039396,protein_coding -25105,Prss23,ENSMUSG00000039405,protein_coding -15542,Prdm16,ENSMUSG00000039410,protein_coding -50838,Heatr5b,ENSMUSG00000039414,protein_coding -19593,Cntnap2,ENSMUSG00000039419,protein_coding -47229,Alg1,ENSMUSG00000039427,protein_coding -25097,Tmem135,ENSMUSG00000039428,protein_coding -30151,Mtmr7,ENSMUSG00000039431,protein_coding -35419,Ttc36,ENSMUSG00000039438,protein_coding -3486,Prpf18,ENSMUSG00000039449,protein_coding -40257,Dcxr,ENSMUSG00000039450,protein_coding -35908,Snx22,ENSMUSG00000039452,protein_coding -48674,Morc3,ENSMUSG00000039456,protein_coding -47222,Ppl,ENSMUSG00000039457,protein_coding -45429,Mtmr12,ENSMUSG00000039458,protein_coding -36845,Tcta,ENSMUSG00000039461,protein_coding -27274,Col10a1,ENSMUSG00000039462,protein_coding -6914,Slc9a8,ENSMUSG00000039463,protein_coding -30148,Zdhhc2,ENSMUSG00000039470,protein_coding -47220,Ubn1,ENSMUSG00000039473,protein_coding -16354,Wfs1,ENSMUSG00000039474,protein_coding -4171,Prrx2,ENSMUSG00000039476,protein_coding -18610,Tnrc18,ENSMUSG00000039477,protein_coding -30146,Micu3,ENSMUSG00000039478,protein_coding -27270,Nt5dc1,ENSMUSG00000039480,protein_coding -50535,Nrtn,ENSMUSG00000039481,protein_coding -4170,Asb6,ENSMUSG00000039483,protein_coding -27273,Tspyl4,ENSMUSG00000039485,protein_coding -34529,Cntn5,ENSMUSG00000039488,protein_coding -15531,Ccdc27,ENSMUSG00000039492,protein_coding -3462,Cdnf,ENSMUSG00000039496,protein_coding -27264,Dse,ENSMUSG00000039497,protein_coding -6900,Znfx1,ENSMUSG00000039501,protein_coding -27261,Calhm4,ENSMUSG00000039508,protein_coding -31826,Nup133,ENSMUSG00000039509,protein_coding -49498,Uhrf1bp1,ENSMUSG00000039512,protein_coding -4159,Ptpa,ENSMUSG00000039515,protein_coding -49927,Cdsn,ENSMUSG00000039518,protein_coding -10046,Cyp7b1,ENSMUSG00000039519,protein_coding -7344,Foxp3,ENSMUSG00000039521,protein_coding -15528,Cep104,ENSMUSG00000039523,protein_coding -53638,Atp8b1,ENSMUSG00000039529,protein_coding -30134,Tusc3,ENSMUSG00000039530,protein_coding -27253,Zup1,ENSMUSG00000039531,protein_coding -18606,Mmd2,ENSMUSG00000039533,protein_coding -6897,Stau1,ENSMUSG00000039536,protein_coding -30127,Sgcz,ENSMUSG00000039539,protein_coding -52716,4921524L21Rik,ENSMUSG00000039540,protein_coding -35533,Ncam1,ENSMUSG00000039542,protein_coding -32288,Cfap70,ENSMUSG00000039543,protein_coding -15522,Ajap1,ENSMUSG00000039546,protein_coding -27252,Rsph4a,ENSMUSG00000039552,protein_coding -13466,Cylc2,ENSMUSG00000039555,protein_coding -7341,Ppp1r3f,ENSMUSG00000039556,protein_coding -47209,Ubald1,ENSMUSG00000039568,protein_coding -15516,Nphp4,ENSMUSG00000039577,protein_coding -19968,Ccser1,ENSMUSG00000039578,protein_coding -13460,Grin3a,ENSMUSG00000039579,protein_coding -35762,Myo9a,ENSMUSG00000039585,protein_coding -32284,Fam149b,ENSMUSG00000039599,protein_coding -50236,Rcan2,ENSMUSG00000039601,protein_coding -37070,Rbms3,ENSMUSG00000039607,protein_coding -25057,Olfr303,ENSMUSG00000039608,protein_coding -13458,Tmem246,ENSMUSG00000039611,protein_coding -49387,Stub1,ENSMUSG00000039615,protein_coding -52944,Mocos,ENSMUSG00000039616,protein_coding -30111,Trmt9b,ENSMUSG00000039620,protein_coding -6889,Prex1,ENSMUSG00000039621,protein_coding -18602,Ap5z1,ENSMUSG00000039623,protein_coding -49317,Hs3st6,ENSMUSG00000039628,protein_coding -19222,Strip2,ENSMUSG00000039629,protein_coding -3112,Hnrnpu,ENSMUSG00000039630,protein_coding -34818,Ccdc151,ENSMUSG00000039632,protein_coding -30107,Lonrf1,ENSMUSG00000039633,protein_coding -13456,Zfp189,ENSMUSG00000039634,protein_coding -47200,Coro7,ENSMUSG00000039637,protein_coding -48647,Kcne1,ENSMUSG00000039639,protein_coding -40228,Mrpl12,ENSMUSG00000039640,protein_coding -47201,Vasn,ENSMUSG00000039646,protein_coding -4144,Kyat1,ENSMUSG00000039648,protein_coding -54983,Cpeb3,ENSMUSG00000039652,protein_coding -13454,Baat,ENSMUSG00000039653,protein_coding -49779,Rxrb,ENSMUSG00000039656,protein_coding -4143,Spout1,ENSMUSG00000039660,protein_coding -30013,Dusp26,ENSMUSG00000039661,protein_coding -15509,Icmt,ENSMUSG00000039662,protein_coding -40224,Oxld1,ENSMUSG00000039670,protein_coding -6872,Zmynd8,ENSMUSG00000039671,protein_coding -48642,Kcne2,ENSMUSG00000039672,protein_coding -45386,Capsl,ENSMUSG00000039676,protein_coding -4140,Tbc1d13,ENSMUSG00000039678,protein_coding -48634,Mrps6,ENSMUSG00000039680,protein_coding -16487,Lap3,ENSMUSG00000039682,protein_coding -18592,Sdk1,ENSMUSG00000039683,protein_coding -4139,Zer1,ENSMUSG00000039686,protein_coding -40222,Tspan10,ENSMUSG00000039691,protein_coding -13436,Msantd3,ENSMUSG00000039693,protein_coding -27198,Ncoa7,ENSMUSG00000039697,protein_coding -54271,Batf2,ENSMUSG00000039699,protein_coding -12156,Usp53,ENSMUSG00000039701,protein_coding -40221,Nploc4,ENSMUSG00000039703,protein_coding -45381,Lmbrd2,ENSMUSG00000039704,protein_coding -16466,Ldb2,ENSMUSG00000039706,protein_coding -10003,Slc7a12,ENSMUSG00000039710,protein_coding -15499,Plekhg5,ENSMUSG00000039713,protein_coding -35710,Cplx3,ENSMUSG00000039714,protein_coding -4135,Wdr34,ENSMUSG00000039715,protein_coding -36767,Dock3,ENSMUSG00000039716,protein_coding -9991,Ralyl,ENSMUSG00000039717,protein_coding -29978,Got1l1,ENSMUSG00000039720,protein_coding -6867,Trp53rka,ENSMUSG00000039725,protein_coding -24179,Slc6a5,ENSMUSG00000039728,protein_coding -12142,Fnbp1l,ENSMUSG00000039735,protein_coding -18400,Prkrip1,ENSMUSG00000039737,protein_coding -47184,Slx4,ENSMUSG00000039738,protein_coding -13422,Alg2,ENSMUSG00000039740,protein_coding -40212,Bahcc1,ENSMUSG00000039741,protein_coding -19201,Fam71f1,ENSMUSG00000039742,protein_coding -24175,Htatip2,ENSMUSG00000039745,protein_coding -18399,Orai2,ENSMUSG00000039747,protein_coding -3055,Exo1,ENSMUSG00000039748,protein_coding -16435,Fbxl5,ENSMUSG00000039753,protein_coding -18398,Alkbh4,ENSMUSG00000039754,protein_coding -12135,Dnttip2,ENSMUSG00000039756,protein_coding -15492,Thap3,ENSMUSG00000039759,protein_coding -26984,Il22ra2,ENSMUSG00000039760,protein_coding -48619,Dnajc28,ENSMUSG00000039763,protein_coding -16434,Cc2d2a,ENSMUSG00000039765,protein_coding -15491,Dnajc11,ENSMUSG00000039768,protein_coding -50760,Ypel5,ENSMUSG00000039770,protein_coding -18395,Polr2j,ENSMUSG00000039771,protein_coding -13415,Galnt12,ENSMUSG00000039774,protein_coding -29715,Defb3,ENSMUSG00000039775,protein_coding -40203,Cep131,ENSMUSG00000039781,protein_coding -16424,Cpeb2,ENSMUSG00000039782,protein_coding -3050,Kmo,ENSMUSG00000039783,protein_coding -29713,Defb5,ENSMUSG00000039785,protein_coding -4129,Cercam,ENSMUSG00000039787,protein_coding -47172,Zfp597,ENSMUSG00000039789,protein_coding -9971,Zfand1,ENSMUSG00000039795,protein_coding -45365,Cplane1,ENSMUSG00000039801,protein_coding -6854,Ncoa5,ENSMUSG00000039804,protein_coding -13410,Gabbr2,ENSMUSG00000039809,protein_coding -29241,Zc3h10,ENSMUSG00000039810,protein_coding -13409,Tbc1d2,ENSMUSG00000039813,protein_coding -29695,Xkr5,ENSMUSG00000039814,protein_coding -29236,Myl6b,ENSMUSG00000039824,protein_coding -4122,Trub2,ENSMUSG00000039826,protein_coding -45361,Wdr70,ENSMUSG00000039828,protein_coding -48600,Olig2,ENSMUSG00000039830,protein_coding -12124,Arhgap29,ENSMUSG00000039831,protein_coding -6850,Zfp335,ENSMUSG00000039834,protein_coding -26962,Nhsl1,ENSMUSG00000039835,protein_coding -15475,Slc45a1,ENSMUSG00000039838,protein_coding -53864,Epg5,ENSMUSG00000039840,protein_coding -19178,Zfp800,ENSMUSG00000039841,protein_coding -29686,Mcph1,ENSMUSG00000039842,protein_coding -4118,Rapgef1,ENSMUSG00000039844,protein_coding -6849,Pcif1,ENSMUSG00000039849,protein_coding -40188,Endov,ENSMUSG00000039850,protein_coding -48593,4932438H23Rik,ENSMUSG00000039851,protein_coding -15471,Rere,ENSMUSG00000039852,protein_coding -13405,Trim14,ENSMUSG00000039853,protein_coding -18379,Srrm3,ENSMUSG00000039860,protein_coding -12110,Slc44a3,ENSMUSG00000039865,protein_coding -6846,Neurl2,ENSMUSG00000039873,protein_coding -29228,Slc39a5,ENSMUSG00000039878,protein_coding -26954,Heca,ENSMUSG00000039879,protein_coding -15930,Lrrc17,ENSMUSG00000039883,protein_coding -18375,Tmem120a,ENSMUSG00000039886,protein_coding -12104,Alg14,ENSMUSG00000039887,protein_coding -26952,Txlnb,ENSMUSG00000039891,protein_coding -15927,Fgl2,ENSMUSG00000039899,protein_coding -55196,Armh3,ENSMUSG00000039901,protein_coding -48581,Eva1c,ENSMUSG00000039903,protein_coding -19164,Gpr37,ENSMUSG00000039904,protein_coding -40184,Slc26a11,ENSMUSG00000039908,protein_coding -26950,Cited2,ENSMUSG00000039910,protein_coding -15458,Spsb1,ENSMUSG00000039911,protein_coding -6219,Pak7,ENSMUSG00000039913,protein_coding -29222,Coq10a,ENSMUSG00000039914,protein_coding -18369,Rhbdd2,ENSMUSG00000039917,protein_coding -48580,Urb1,ENSMUSG00000039929,protein_coding -15923,Gsap,ENSMUSG00000039934,protein_coding -15447,Pik3cd,ENSMUSG00000039936,protein_coding -45328,Ptger4,ENSMUSG00000039942,protein_coding -6213,Plcb4,ENSMUSG00000039943,protein_coding -36842,Dag1,ENSMUSG00000039952,protein_coding -15446,Clstn1,ENSMUSG00000039953,protein_coding -53322,Stk32a,ENSMUSG00000039954,protein_coding -48579,Mrap,ENSMUSG00000039956,protein_coding -22002,Etfbkmt,ENSMUSG00000039958,protein_coding -18364,Hip1,ENSMUSG00000039959,protein_coding -31814,Rhou,ENSMUSG00000039960,protein_coding -35146,Olfr906,ENSMUSG00000039962,protein_coding -40179,Ccdc40,ENSMUSG00000039963,protein_coding -13125,Zfp292,ENSMUSG00000039967,protein_coding -15915,Rsbn1l,ENSMUSG00000039968,protein_coding -40174,Tbc1d16,ENSMUSG00000039976,protein_coding -34631,Deup1,ENSMUSG00000039977,protein_coding -26801,Zc3h12d,ENSMUSG00000039981,protein_coding -54566,Dtx4,ENSMUSG00000039982,protein_coding -5823,Ccdc32,ENSMUSG00000039983,protein_coding -21990,Sinhcaf,ENSMUSG00000039985,protein_coding -15912,Phtf2,ENSMUSG00000039987,protein_coding -12741,Ankrd13c,ENSMUSG00000039988,protein_coding -40170,Cbx4,ENSMUSG00000039989,protein_coding -26394,Edrf1,ENSMUSG00000039990,protein_coding -29212,Timeless,ENSMUSG00000039994,protein_coding -3018,Ifi203,ENSMUSG00000039997,protein_coding -15902,Magi2,ENSMUSG00000040003,protein_coding -26797,Ginm1,ENSMUSG00000040006,protein_coding -5819,Bahd1,ENSMUSG00000040007,protein_coding -27918,Gnaz,ENSMUSG00000040009,protein_coding -31687,Slc7a5,ENSMUSG00000040010,protein_coding -18359,Fkbp6,ENSMUSG00000040013,protein_coding -12734,Ptger3,ENSMUSG00000040016,protein_coding -24081,Saa4,ENSMUSG00000040017,protein_coding -55130,Cox15,ENSMUSG00000040018,protein_coding -26794,Lats1,ENSMUSG00000040021,protein_coding -55415,Rab11fip2,ENSMUSG00000040022,protein_coding -14856,Ythdf2,ENSMUSG00000040025,protein_coding -24080,Saa3,ENSMUSG00000040026,protein_coding -29429,Elavl1,ENSMUSG00000040028,protein_coding -21984,Ipo8,ENSMUSG00000040029,protein_coding -29215,Stat2,ENSMUSG00000040033,protein_coding -26793,Nup43,ENSMUSG00000040034,protein_coding -5815,Disp2,ENSMUSG00000040035,protein_coding -12716,Negr1,ENSMUSG00000040037,protein_coding -33569,Ift88,ENSMUSG00000040040,protein_coding -29206,Rbms2,ENSMUSG00000040043,protein_coding -13118,Orc3,ENSMUSG00000040044,protein_coding -24077,Tph1,ENSMUSG00000040046,protein_coding -49314,Ndufb10,ENSMUSG00000040048,protein_coding -29205,Baz2a,ENSMUSG00000040054,protein_coding -33562,Gjb6,ENSMUSG00000040055,protein_coding -5811,Plcb2,ENSMUSG00000040061,protein_coding -54564,Pfpl,ENSMUSG00000040065,protein_coding -5808,Bub1b,ENSMUSG00000040084,protein_coding -12697,Tnni3k,ENSMUSG00000040086,protein_coding -5806,Bmf,ENSMUSG00000040093,protein_coding -49237,Flywch1,ENSMUSG00000040097,protein_coding -21956,Klhl42,ENSMUSG00000040102,protein_coding -54839,Plpp6,ENSMUSG00000040105,protein_coding -35258,Gramd1b,ENSMUSG00000040111,protein_coding -21954,Mrps35,ENSMUSG00000040112,protein_coding -2730,Mettl11b,ENSMUSG00000040113,protein_coding -15874,Cacna2d1,ENSMUSG00000040118,protein_coding -21953,Rep15,ENSMUSG00000040121,protein_coding -33550,Zmym5,ENSMUSG00000040123,protein_coding -2726,Gorab,ENSMUSG00000040124,protein_coding -26361,Gpr26,ENSMUSG00000040125,protein_coding -29190,Sdr9c7,ENSMUSG00000040127,protein_coding -13099,Pnrc1,ENSMUSG00000040128,protein_coding -6801,Svs2,ENSMUSG00000040132,protein_coding -5800,Gpr176,ENSMUSG00000040133,protein_coding -29189,Rdh7,ENSMUSG00000040134,protein_coding -24063,Abcc8,ENSMUSG00000040136,protein_coding -7535,Ndp,ENSMUSG00000040138,protein_coding -26448,9430038I01Rik,ENSMUSG00000040139,protein_coding -50232,Tdrd6,ENSMUSG00000040140,protein_coding -34817,Rgl3,ENSMUSG00000040146,protein_coding -7534,Maob,ENSMUSG00000040147,protein_coding -26353,Hmx3,ENSMUSG00000040148,protein_coding -12536,Hs2st1,ENSMUSG00000040151,protein_coding -5794,Thbs1,ENSMUSG00000040152,protein_coding -6796,Wfdc5,ENSMUSG00000040154,protein_coding -38739,Tax1bp3,ENSMUSG00000040158,protein_coding -21950,1700034J05Rik,ENSMUSG00000040163,protein_coding -6795,Kcns1,ENSMUSG00000040164,protein_coding -29407,Cd209c,ENSMUSG00000040165,protein_coding -26345,Ikzf5,ENSMUSG00000040167,protein_coding -2714,Fmo2,ENSMUSG00000040170,protein_coding -5461,Alkbh3,ENSMUSG00000040174,protein_coding -26342,2310057M21Rik,ENSMUSG00000040177,protein_coding -2713,Fmo1,ENSMUSG00000040181,protein_coding -13086,Ankrd6,ENSMUSG00000040183,protein_coding -21946,Arntl2,ENSMUSG00000040187,protein_coding -35708,Scamp2,ENSMUSG00000040188,protein_coding -24056,Ccdc114,ENSMUSG00000040189,protein_coding -29176,Nemp1,ENSMUSG00000040195,protein_coding -29404,Cd209e,ENSMUSG00000040197,protein_coding -35903,Pclaf,ENSMUSG00000040204,protein_coding -26339,Cuzd1,ENSMUSG00000040205,protein_coding -9946,Zfp704,ENSMUSG00000040209,protein_coding -24054,Emp3,ENSMUSG00000040212,protein_coding -12502,Kyat3,ENSMUSG00000040213,protein_coding -35532,Ttc12,ENSMUSG00000040219,protein_coding -31761,Gas8,ENSMUSG00000040220,protein_coding -2710,Prrc2c,ENSMUSG00000040225,protein_coding -7511,Gpr34,ENSMUSG00000040229,protein_coding -24052,Syngr4,ENSMUSG00000040231,protein_coding -21939,Tm7sf3,ENSMUSG00000040234,protein_coding -29395,Trappc5,ENSMUSG00000040236,protein_coding -21938,Fgfr1op2,ENSMUSG00000040242,protein_coding -54121,Tbc1d10c,ENSMUSG00000040247,protein_coding -29170,Lrp1,ENSMUSG00000040249,protein_coding -21937,Ints13,ENSMUSG00000040250,protein_coding -12494,Gbp7,ENSMUSG00000040253,protein_coding -15815,Sema3d,ENSMUSG00000040254,protein_coding -29169,Nxph4,ENSMUSG00000040258,protein_coding -50394,Daam2,ENSMUSG00000040260,protein_coding -31681,Klhdc4,ENSMUSG00000040263,protein_coding -12497,Gbp2b,ENSMUSG00000040264,protein_coding -2697,Dnm3,ENSMUSG00000040265,protein_coding -26332,Plekha1,ENSMUSG00000040268,protein_coding -9936,Mrps28,ENSMUSG00000040269,protein_coding -13076,Bach2,ENSMUSG00000040270,protein_coding -5455,Accs,ENSMUSG00000040272,protein_coding -15644,Cdk6,ENSMUSG00000040274,protein_coding -49492,Pacsin1,ENSMUSG00000040276,protein_coding -29167,Ndufa4l2,ENSMUSG00000040280,protein_coding -5767,BC052040,ENSMUSG00000040282,protein_coding -37970,Btnl9,ENSMUSG00000040283,protein_coding -33525,Gzmg,ENSMUSG00000040284,protein_coding -29166,Stac3,ENSMUSG00000040287,protein_coding -9931,Hey1,ENSMUSG00000040289,protein_coding -13171,Ddx58,ENSMUSG00000040296,protein_coding -2691,Suco,ENSMUSG00000040297,protein_coding -26330,Btbd16,ENSMUSG00000040298,protein_coding -15651,Rbm48,ENSMUSG00000040302,protein_coding -5452,Alx4,ENSMUSG00000040310,protein_coding -49925,Cchcr1,ENSMUSG00000040312,protein_coding -33522,Ctsg,ENSMUSG00000040314,protein_coding -5752,Zfp770,ENSMUSG00000040321,protein_coding -11964,Slc25a24,ENSMUSG00000040322,protein_coding -36762,Dcaf1,ENSMUSG00000040325,protein_coding -50304,Cul9,ENSMUSG00000040327,protein_coding -37959,Olfr56,ENSMUSG00000040328,protein_coding -9920,Il7,ENSMUSG00000040329,protein_coding -26325,Nsmce4a,ENSMUSG00000040331,protein_coding -11958,Fam102b,ENSMUSG00000040339,protein_coding -29377,Tex45,ENSMUSG00000040340,protein_coding -29159,Arhgap9,ENSMUSG00000040345,protein_coding -37952,Trim7,ENSMUSG00000040350,protein_coding -15659,Ankib1,ENSMUSG00000040351,protein_coding -29157,Mars,ENSMUSG00000040354,protein_coding -49845,Skiv2l,ENSMUSG00000040356,protein_coding -13022,Ufl1,ENSMUSG00000040359,protein_coding -7480,Bcor,ENSMUSG00000040363,protein_coding -24033,Sec1,ENSMUSG00000040364,protein_coding -37950,Trim41,ENSMUSG00000040365,protein_coding -15663,Lrrd1,ENSMUSG00000040367,protein_coding -21910,Etfrf1,ENSMUSG00000040370,protein_coding -13019,Gpr63,ENSMUSG00000040372,protein_coding -39909,Cacng5,ENSMUSG00000040373,protein_coding -9899,Pex2,ENSMUSG00000040374,protein_coding -33506,Cbln3,ENSMUSG00000040380,protein_coding -5750,Aqr,ENSMUSG00000040383,protein_coding -54122,Ppp1ca,ENSMUSG00000040385,protein_coding -13015,Klhl32,ENSMUSG00000040387,protein_coding -11946,Wdr47,ENSMUSG00000040389,protein_coding -23210,Map3k10,ENSMUSG00000040390,protein_coding -29522,Abhd13,ENSMUSG00000040396,protein_coding -37933,Havcr1,ENSMUSG00000040405,protein_coding -15666,Akap9,ENSMUSG00000040407,protein_coding -12995,Fbxl4,ENSMUSG00000040410,protein_coding -11937,5330417C22Rik,ENSMUSG00000040412,protein_coding -37931,Timd2,ENSMUSG00000040413,protein_coding -55127,Slc25a28,ENSMUSG00000040414,protein_coding -29147,Dtx3,ENSMUSG00000040415,protein_coding -45511,Cdh18,ENSMUSG00000040420,protein_coding -2654,Rc3h1,ENSMUSG00000040423,protein_coding -23204,Hipk4,ENSMUSG00000040424,protein_coding -24019,Plekha4,ENSMUSG00000040428,protein_coding -15665,Mterf1a,ENSMUSG00000040429,protein_coding -39891,Pitpnc1,ENSMUSG00000040430,protein_coding -33499,Ltb4r2,ENSMUSG00000040432,protein_coding -36508,Zbtb38,ENSMUSG00000040433,protein_coding -5424,Large2,ENSMUSG00000040434,protein_coding -24018,Ppp1r15a,ENSMUSG00000040435,protein_coding -29145,Slc26a10,ENSMUSG00000040441,protein_coding -52940,Rprd1a,ENSMUSG00000040446,protein_coding -38717,Spns2,ENSMUSG00000040447,protein_coding -54886,Sgms1,ENSMUSG00000040451,protein_coding -45500,Cdh12,ENSMUSG00000040452,protein_coding -12988,Usp45,ENSMUSG00000040455,protein_coding -7445,Hypm,ENSMUSG00000040456,protein_coding -29493,Arglu1,ENSMUSG00000040459,protein_coding -29141,Os9,ENSMUSG00000040462,protein_coding -38716,Mybbp1a,ENSMUSG00000040463,protein_coding -15689,Gtpbp10,ENSMUSG00000040464,protein_coding -23198,Blvrb,ENSMUSG00000040466,protein_coding -38715,Ggt6,ENSMUSG00000040471,protein_coding -33495,Rabggta,ENSMUSG00000040472,protein_coding -15692,Cfap69,ENSMUSG00000040473,protein_coding -12985,Prdm13,ENSMUSG00000040478,protein_coding -5414,Dgkz,ENSMUSG00000040479,protein_coding -39886,Bptf,ENSMUSG00000040481,protein_coding -49844,Dxo,ENSMUSG00000040482,protein_coding -38709,Xaf1,ENSMUSG00000040483,protein_coding -2837,Lrrc52,ENSMUSG00000040485,protein_coding -23193,Ltbp4,ENSMUSG00000040488,protein_coding -37904,Sox30,ENSMUSG00000040489,protein_coding -50385,Lrfn2,ENSMUSG00000040490,protein_coding -5412,Chrm4,ENSMUSG00000040495,protein_coding -22848,Igsf23,ENSMUSG00000040498,protein_coding -29136,March9,ENSMUSG00000040502,protein_coding -50936,Abcg5,ENSMUSG00000040505,protein_coding -5410,Ambra1,ENSMUSG00000040506,protein_coding -22845,Pvr,ENSMUSG00000040511,protein_coding -15713,Tex47,ENSMUSG00000040514,protein_coding -13036,Manea,ENSMUSG00000040520,protein_coding -29132,Tsfm,ENSMUSG00000040521,protein_coding -9839,Tlr8,ENSMUSG00000040522,protein_coding -35899,Zfp609,ENSMUSG00000040524,protein_coding -22835,Cblc,ENSMUSG00000040525,protein_coding -39872,Milr1,ENSMUSG00000040528,protein_coding -18344,Abhd11,ENSMUSG00000040532,protein_coding -14833,Matn1,ENSMUSG00000040533,protein_coding -12916,Necab1,ENSMUSG00000040536,protein_coding -15723,Adam22,ENSMUSG00000040537,protein_coding -35253,Tmem225,ENSMUSG00000040541,protein_coding -38700,Pitpnm3,ENSMUSG00000040543,protein_coding -39870,Tex2,ENSMUSG00000040548,protein_coding -5401,Ckap5,ENSMUSG00000040549,protein_coding -12913,Otud6b,ENSMUSG00000040550,protein_coding -21284,C3ar1,ENSMUSG00000040552,protein_coding -38698,Aipl1,ENSMUSG00000040554,protein_coding -18338,Mettl27,ENSMUSG00000040557,protein_coding -53621,Wdr7,ENSMUSG00000040560,protein_coding -11904,Gstm2,ENSMUSG00000040562,protein_coding -34814,Plppr2,ENSMUSG00000040563,protein_coding -22827,Apoc1,ENSMUSG00000040564,protein_coding -54982,Btaf1,ENSMUSG00000040565,protein_coding -12910,Slc26a7,ENSMUSG00000040569,protein_coding -15730,Rundc3b,ENSMUSG00000040570,protein_coding -18332,Tmem270,ENSMUSG00000040576,protein_coding -23147,Cyp2b13,ENSMUSG00000040583,protein_coding -15732,Abcb1a,ENSMUSG00000040584,protein_coding -9820,Ofd1,ENSMUSG00000040586,protein_coding -5396,1110051M20Rik,ENSMUSG00000040591,protein_coding -39862,Cd79b,ENSMUSG00000040592,protein_coding -37788,Ranbp17,ENSMUSG00000040594,protein_coding -2812,Pogk,ENSMUSG00000040596,protein_coding -38678,Mis12,ENSMUSG00000040599,protein_coding -11893,Eps8l3,ENSMUSG00000040600,protein_coding -23159,Nlrp4a,ENSMUSG00000040601,protein_coding -48736,Bace2,ENSMUSG00000040605,protein_coding -15206,Kazn,ENSMUSG00000040606,protein_coding -37786,Tlx3,ENSMUSG00000040610,protein_coding -2808,Ildr2,ENSMUSG00000040612,protein_coding -21271,Apobec1,ENSMUSG00000040613,protein_coding -23158,Nlrp9c,ENSMUSG00000040614,protein_coding -15203,Tmem51,ENSMUSG00000040616,protein_coding -33471,Pck2,ENSMUSG00000040618,protein_coding -38675,Dhx33,ENSMUSG00000040620,protein_coding -9817,Gemin8,ENSMUSG00000040621,protein_coding -26748,Plekhg1,ENSMUSG00000040624,protein_coding -21267,Aicda,ENSMUSG00000040627,protein_coding -2807,Mael,ENSMUSG00000040629,protein_coding -31184,Dok4,ENSMUSG00000040631,protein_coding -33468,Nrl,ENSMUSG00000040632,protein_coding -32430,Erc2,ENSMUSG00000040640,protein_coding -1733,Ppip5k2,ENSMUSG00000040648,protein_coding -21264,Rimklb,ENSMUSG00000040649,protein_coding -23163,Cyp2b23,ENSMUSG00000040650,protein_coding -32425,Tasor,ENSMUSG00000040651,protein_coding -35898,Oaz2,ENSMUSG00000040652,protein_coding -26745,Ppp1r14c,ENSMUSG00000040653,protein_coding -50303,Dnph1,ENSMUSG00000040658,protein_coding -15196,Efhd2,ENSMUSG00000040659,protein_coding -23151,Cyp2b9,ENSMUSG00000040660,protein_coding -36760,Rad54l2,ENSMUSG00000040661,protein_coding -54126,Clcf1,ENSMUSG00000040663,protein_coding -48725,Sh3bgr,ENSMUSG00000040666,protein_coding -38672,Nup88,ENSMUSG00000040667,protein_coding -21260,Phc1,ENSMUSG00000040669,protein_coding -26752,Mthfd1l,ENSMUSG00000040675,protein_coding -49235,Kremen2,ENSMUSG00000040680,protein_coding -48721,Hmgn1,ENSMUSG00000040681,protein_coding -5386,Madd,ENSMUSG00000040687,protein_coding -49308,Tbl3,ENSMUSG00000040688,protein_coding -14810,Col16a1,ENSMUSG00000040690,protein_coding -1722,Slco4c1,ENSMUSG00000040693,protein_coding -50378,Apobec2,ENSMUSG00000040694,protein_coding -15191,Dnajc16,ENSMUSG00000040697,protein_coding -39850,Limd2,ENSMUSG00000040699,protein_coding -33454,Ap1g2,ENSMUSG00000040701,protein_coding -23133,Cyp2s1,ENSMUSG00000040703,protein_coding -15190,Agmat,ENSMUSG00000040706,protein_coding -1708,St8sia4,ENSMUSG00000040710,protein_coding -37769,Sh3pxd2b,ENSMUSG00000040711,protein_coding -38659,Camta2,ENSMUSG00000040712,protein_coding -2791,Creg1,ENSMUSG00000040713,protein_coding -22807,Klc3,ENSMUSG00000040714,protein_coding -15189,Rsc1a1,ENSMUSG00000040715,protein_coding -32420,Il17rd,ENSMUSG00000040717,protein_coding -12870,Virma,ENSMUSG00000040720,protein_coding -33452,Zfhx2,ENSMUSG00000040721,protein_coding -35699,Scamp5,ENSMUSG00000040722,protein_coding -2787,Rcsd1,ENSMUSG00000040723,protein_coding -11871,Kcna2,ENSMUSG00000040724,protein_coding -23130,Hnrnpul1,ENSMUSG00000040725,protein_coding -32419,Hesx1,ENSMUSG00000040726,protein_coding -12867,Esrp1,ENSMUSG00000040728,protein_coding -34513,Cep126,ENSMUSG00000040729,protein_coding -18327,Eif4h,ENSMUSG00000040731,protein_coding -48708,Erg,ENSMUSG00000040732,protein_coding -22803,Ppp1r13l,ENSMUSG00000040734,protein_coding -12863,Ints8,ENSMUSG00000040738,protein_coding -15186,Slc25a34,ENSMUSG00000040740,protein_coding -38654,Rnf167,ENSMUSG00000040746,protein_coding -11864,Cd53,ENSMUSG00000040747,protein_coding -9795,Siah1b,ENSMUSG00000040749,protein_coding -18326,Lat2,ENSMUSG00000040751,protein_coding -33440,Myh6,ENSMUSG00000040752,protein_coding -33438,Cmtm5,ENSMUSG00000040759,protein_coding -32417,Appl1,ENSMUSG00000040760,protein_coding -15181,Spen,ENSMUSG00000040761,protein_coding -37760,Snrnp25,ENSMUSG00000040767,protein_coding -33437,Il25,ENSMUSG00000040770,protein_coding -50376,Oard1,ENSMUSG00000040771,protein_coding -11857,Cept1,ENSMUSG00000040774,protein_coding -2616,Cop1,ENSMUSG00000040782,protein_coding -48692,Ttc3,ENSMUSG00000040785,protein_coding -5372,C1qtnf4,ENSMUSG00000040794,protein_coding -14792,Iqcc,ENSMUSG00000040795,protein_coding -21239,Iqsec3,ENSMUSG00000040797,protein_coding -9781,S100g,ENSMUSG00000040808,protein_coding -11848,Chil3,ENSMUSG00000040809,protein_coding -22788,Eml2,ENSMUSG00000040811,protein_coding -5369,Agbl2,ENSMUSG00000040812,protein_coding -36759,Tex264,ENSMUSG00000040813,protein_coding -32409,Dennd6a,ENSMUSG00000040818,protein_coding -48683,Hlcs,ENSMUSG00000040820,protein_coding -33423,1700123O20Rik,ENSMUSG00000040822,protein_coding -22786,Snrpd2,ENSMUSG00000040824,protein_coding -50530,Catsperd,ENSMUSG00000040828,protein_coding -38638,Zmynd15,ENSMUSG00000040829,protein_coding -2771,Gpr161,ENSMUSG00000040836,protein_coding -39818,Gm11639,ENSMUSG00000040838,protein_coding -22782,Six5,ENSMUSG00000040841,protein_coding -15162,Szrd1,ENSMUSG00000040842,protein_coding -2769,Tiprl,ENSMUSG00000040843,protein_coding -2768,Sft2d2,ENSMUSG00000040848,protein_coding -37738,Psme4,ENSMUSG00000040850,protein_coding -50931,Plekhh2,ENSMUSG00000040852,protein_coding -9762,Reps2,ENSMUSG00000040855,protein_coding -44737,Dlk1,ENSMUSG00000040856,protein_coding -23103,Erf,ENSMUSG00000040857,protein_coding -14780,Bsdc1,ENSMUSG00000040859,protein_coding -15158,Crocc,ENSMUSG00000040860,protein_coding -998,Ino80d,ENSMUSG00000040865,protein_coding -22778,Rsph6a,ENSMUSG00000040866,protein_coding -44733,Begain,ENSMUSG00000040867,protein_coding -37046,Osbpl10,ENSMUSG00000040875,protein_coding -44730,Wdr25,ENSMUSG00000040877,protein_coding -34812,Tmem205,ENSMUSG00000040883,protein_coding -49306,Gfer,ENSMUSG00000040888,protein_coding -22776,Foxa3,ENSMUSG00000040891,protein_coding -11822,Kcnd3,ENSMUSG00000040896,protein_coding -48856,Ccr6,ENSMUSG00000040899,protein_coding -55401,Kcnk18,ENSMUSG00000040901,protein_coding -38624,Gm21988,ENSMUSG00000040904,protein_coding -23090,Atp1a3,ENSMUSG00000040907,protein_coding -55190,Fbxw4,ENSMUSG00000040913,protein_coding -2744,Slc19a2,ENSMUSG00000040918,protein_coding -37730,4930505A04Rik,ENSMUSG00000040919,protein_coding -14767,S100pbp,ENSMUSG00000040928,protein_coding -54824,Rfx3,ENSMUSG00000040929,protein_coding -15146,Padi6,ENSMUSG00000040935,protein_coding -37171,Ulk4,ENSMUSG00000040936,protein_coding -38618,Slc16a11,ENSMUSG00000040938,protein_coding -23085,Arhgef1,ENSMUSG00000040940,protein_coding -12353,Tet2,ENSMUSG00000040943,protein_coding -15144,Rcc2,ENSMUSG00000040945,protein_coding -38616,Mgl2,ENSMUSG00000040950,protein_coding -23083,Rps19,ENSMUSG00000040952,protein_coding -52802,Cables1,ENSMUSG00000040957,protein_coding -38614,Asgr2,ENSMUSG00000040963,protein_coding -15141,Arhgef10l,ENSMUSG00000040964,protein_coding -48912,Slc22a2,ENSMUSG00000040966,protein_coding -12349,Arhgef38,ENSMUSG00000040969,protein_coding -15132,Igsf21,ENSMUSG00000040972,protein_coding -37467,Gm11992,ENSMUSG00000040978,protein_coding -37466,Sun3,ENSMUSG00000040985,protein_coding -22765,Mill2,ENSMUSG00000040987,protein_coding -9730,Sh3kbp1,ENSMUSG00000040990,protein_coding -33395,Abhd4,ENSMUSG00000040997,protein_coding -12342,Npnt,ENSMUSG00000040998,protein_coding -14757,Trim62,ENSMUSG00000041000,protein_coding -36754,Iqcf4,ENSMUSG00000041009,protein_coding -37043,Cmtm8,ENSMUSG00000041012,protein_coding -32641,Nrg3,ENSMUSG00000041014,protein_coding -9725,Map7d2,ENSMUSG00000041020,protein_coding -15120,Iffo2,ENSMUSG00000041025,protein_coding -32630,Ghitm,ENSMUSG00000041028,protein_coding -55189,Gm17018,ENSMUSG00000041035,protein_coding -23060,Irgq,ENSMUSG00000041037,protein_coding -936,Fam117b,ENSMUSG00000041040,protein_coding -32626,Lrit1,ENSMUSG00000041044,protein_coding -37442,Ramp3,ENSMUSG00000041046,protein_coding -12971,Slc7a13,ENSMUSG00000041052,protein_coding -50745,Wdr43,ENSMUSG00000041057,protein_coding -12969,Wwp1,ENSMUSG00000041058,protein_coding -49372,Mslnl,ENSMUSG00000041062,protein_coding -35896,Pif1,ENSMUSG00000041064,protein_coding -32611,4930596D02Rik,ENSMUSG00000041068,protein_coding -37436,Nacad,ENSMUSG00000041073,protein_coding -919,Fzd7,ENSMUSG00000041075,protein_coding -32606,Grid1,ENSMUSG00000041078,protein_coding -48495,Rwdd2b,ENSMUSG00000041079,protein_coding -12299,Ostc,ENSMUSG00000041084,protein_coding -9602,Tspyl2,ENSMUSG00000041096,protein_coding -40639,Elmo1,ENSMUSG00000041112,protein_coding -9598,Iqsec2,ENSMUSG00000041115,protein_coding -22698,Ccdc8,ENSMUSG00000041117,protein_coding -49640,Pde9a,ENSMUSG00000041119,protein_coding -15105,Nbl1,ENSMUSG00000041120,protein_coding -34469,Msantd4,ENSMUSG00000041124,protein_coding -37423,H2afv,ENSMUSG00000041126,protein_coding -49304,Zfp598,ENSMUSG00000041130,protein_coding -18857,N4bp2l1,ENSMUSG00000041132,protein_coding -9595,Smc1a,ENSMUSG00000041133,protein_coding -48477,Cyyr1,ENSMUSG00000041134,protein_coding -12936,Ripk2,ENSMUSG00000041135,protein_coding -40633,Nme8,ENSMUSG00000041138,protein_coding -22696,Pnmal1,ENSMUSG00000041141,protein_coding -15102,Tmco4,ENSMUSG00000041143,protein_coding -711,Dnah7b,ENSMUSG00000041144,protein_coding -18851,Brca2,ENSMUSG00000041147,protein_coding -12933,Osgin2,ENSMUSG00000041153,protein_coding -15100,Otud3,ENSMUSG00000041161,protein_coding -37420,Zmiz2,ENSMUSG00000041164,protein_coding -38587,Spem1,ENSMUSG00000041165,protein_coding -50529,Lonp1,ENSMUSG00000041168,protein_coding -54976,Hectd2,ENSMUSG00000041180,protein_coding -22687,Prkd2,ENSMUSG00000041187,protein_coding -38582,Chrnb1,ENSMUSG00000041189,protein_coding -15095,Pla2g5,ENSMUSG00000041193,protein_coding -49371,Rpusd1,ENSMUSG00000041199,protein_coding -15094,Pla2g2d,ENSMUSG00000041202,protein_coding -30963,Trir,ENSMUSG00000041203,protein_coding -47557,Map6d1,ENSMUSG00000041205,protein_coding -47555,Yeats2,ENSMUSG00000041215,protein_coding -12833,Clvs1,ENSMUSG00000041216,protein_coding -5743,Arhgap11a,ENSMUSG00000041219,protein_coding -12275,Elovl6,ENSMUSG00000041220,protein_coding -52705,Arhgap12,ENSMUSG00000041225,protein_coding -9580,Phf8,ENSMUSG00000041229,protein_coding -37882,Ublcp1,ENSMUSG00000041231,protein_coding -12829,Chd7,ENSMUSG00000041235,protein_coding -40602,Vps41,ENSMUSG00000041236,protein_coding -11161,Pklr,ENSMUSG00000041237,protein_coding -52798,Rbbp8,ENSMUSG00000041238,protein_coding -15087,Mul1,ENSMUSG00000041241,protein_coding -9572,Wnk3,ENSMUSG00000041245,protein_coding -47546,Lamp3,ENSMUSG00000041247,protein_coding -34974,Kcnj1,ENSMUSG00000041248,protein_coding -5731,Tmco5b,ENSMUSG00000041255,protein_coding -53951,Zfp236,ENSMUSG00000041258,protein_coding -12822,Car8,ENSMUSG00000041261,protein_coding -11157,Rusc1,ENSMUSG00000041263,protein_coding -18812,Uspl1,ENSMUSG00000041264,protein_coding -35623,Dmxl2,ENSMUSG00000041268,protein_coding -12814,Tox,ENSMUSG00000041272,protein_coding -37876,Ttc1,ENSMUSG00000041278,protein_coding -38565,Sox15,ENSMUSG00000041287,protein_coding -50225,Adgrf1,ENSMUSG00000041293,protein_coding -40580,Cdk13,ENSMUSG00000041297,protein_coding -18794,Katnal1,ENSMUSG00000041298,protein_coding -19082,Cftr,ENSMUSG00000041301,protein_coding -820,Gtf3c3,ENSMUSG00000041303,protein_coding -31429,Sntb2,ENSMUSG00000041308,protein_coding -26477,Nkx6-2,ENSMUSG00000041309,protein_coding -18784,Slc7a1,ENSMUSG00000041313,protein_coding -49227,Thoc6,ENSMUSG00000041319,protein_coding -44674,Ak7,ENSMUSG00000041323,protein_coding -40556,Inhba,ENSMUSG00000041324,protein_coding -25171,Pcf11,ENSMUSG00000041328,protein_coding -38558,Atp1b2,ENSMUSG00000041329,protein_coding -13610,Mup4,ENSMUSG00000041333,protein_coding -44671,Atg2b,ENSMUSG00000041341,protein_coding -25167,Ankrd42,ENSMUSG00000041343,protein_coding -38556,Wrap53,ENSMUSG00000041346,protein_coding -44670,Bdkrb1,ENSMUSG00000041347,protein_coding -15067,Rap1gap,ENSMUSG00000041351,protein_coding -9550,Tmem29,ENSMUSG00000041353,protein_coding -49759,Rgl2,ENSMUSG00000041354,protein_coding -11131,Ssr2,ENSMUSG00000041355,protein_coding -5717,Nutm1,ENSMUSG00000041358,protein_coding -44662,Tcl1,ENSMUSG00000041359,protein_coding -54821,Pum3,ENSMUSG00000041360,protein_coding -35996,Myzap,ENSMUSG00000041361,protein_coding -55397,Shtn1,ENSMUSG00000041362,protein_coding -21205,B4galnt3,ENSMUSG00000041372,protein_coding -22660,Ccdc9,ENSMUSG00000041375,protein_coding -21203,Ninj2,ENSMUSG00000041377,protein_coding -47506,Cldn5,ENSMUSG00000041378,protein_coding -9484,Htr2c,ENSMUSG00000041380,protein_coding -19040,Mdfic,ENSMUSG00000041390,protein_coding -2735,Mettl18,ENSMUSG00000041396,protein_coding -15062,1700013G24Rik,ENSMUSG00000041399,protein_coding -2734,BC055324,ENSMUSG00000041406,protein_coding -32603,Wapl,ENSMUSG00000041408,protein_coding -44645,Dicer1,ENSMUSG00000041415,protein_coding -42530,Pik3r1,ENSMUSG00000041417,protein_coding -22653,Meis3,ENSMUSG00000041420,protein_coding -11112,Paqr6,ENSMUSG00000041423,protein_coding -792,Hibch,ENSMUSG00000041426,protein_coding -49301,Nthl1,ENSMUSG00000041429,protein_coding -42514,Ccnb1,ENSMUSG00000041431,protein_coding -31427,Utp4,ENSMUSG00000041438,protein_coding -788,Mfsd6,ENSMUSG00000041439,protein_coding -36494,Gk5,ENSMUSG00000041440,protein_coding -34970,Arhgap32,ENSMUSG00000041444,protein_coding -32592,Mmrn2,ENSMUSG00000041445,protein_coding -18747,Rpl21,ENSMUSG00000041453,protein_coding -15417,Tardbp,ENSMUSG00000041459,protein_coding -21190,Cacna2d4,ENSMUSG00000041460,protein_coding -18742,Gpr12,ENSMUSG00000041468,protein_coding -32584,Shld2,ENSMUSG00000041471,protein_coding -9708,Smpx,ENSMUSG00000041476,protein_coding -21189,Dcp1b,ENSMUSG00000041477,protein_coding -32582,Syt15,ENSMUSG00000041479,protein_coding -44633,Serpina3g,ENSMUSG00000041481,protein_coding -53611,Piezo2,ENSMUSG00000041482,protein_coding -2284,Zfp281,ENSMUSG00000041483,protein_coding -54524,Stx3,ENSMUSG00000041488,protein_coding -54663,Cep78,ENSMUSG00000041491,protein_coding -2277,Kif14,ENSMUSG00000041498,protein_coding -18737,Gm3402,ENSMUSG00000041505,protein_coding -36749,Rrp9,ENSMUSG00000041506,protein_coding -31656,Irf8,ENSMUSG00000041515,protein_coding -35392,Upk2,ENSMUSG00000041523,protein_coding -36830,Rnf123,ENSMUSG00000041528,protein_coding -14702,Ago1,ENSMUSG00000041530,protein_coding -32566,Rbp3,ENSMUSG00000041534,protein_coding -44626,Serpina3a,ENSMUSG00000041536,protein_coding -49799,H2-Ob,ENSMUSG00000041538,protein_coding -21893,Sox5,ENSMUSG00000041540,protein_coding -15403,Disp3,ENSMUSG00000041544,protein_coding -17874,Hspb8,ENSMUSG00000041548,protein_coding -44624,Serpina5,ENSMUSG00000041550,protein_coding -9681,Ptchd1,ENSMUSG00000041552,protein_coding -15402,Fbxo2,ENSMUSG00000041556,protein_coding -2196,Fmod,ENSMUSG00000041559,protein_coding -22643,Nop53,ENSMUSG00000041560,protein_coding -50687,L3mbtl4,ENSMUSG00000041565,protein_coding -47466,Tssk1,ENSMUSG00000041566,protein_coding -44622,Serpina12,ENSMUSG00000041567,protein_coding -2274,Camsap2,ENSMUSG00000041570,protein_coding -22642,Selenow,ENSMUSG00000041571,protein_coding -2193,Prelp,ENSMUSG00000041577,protein_coding -22639,Crx,ENSMUSG00000041578,protein_coding -22638,Obox6,ENSMUSG00000041583,protein_coding -39979,Sdk2,ENSMUSG00000041592,protein_coding -34422,Tmtc4,ENSMUSG00000041594,protein_coding -39977,Cdc42ep4,ENSMUSG00000041598,protein_coding -2268,Inava,ENSMUSG00000041605,protein_coding -53949,Mbp,ENSMUSG00000041607,protein_coding -37149,Entpd3,ENSMUSG00000041608,protein_coding -17855,Bicdl1,ENSMUSG00000041609,protein_coding -15389,Nppa,ENSMUSG00000041616,protein_coding -47451,Ccdc74a,ENSMUSG00000041617,protein_coding -34492,Mmp1b,ENSMUSG00000041620,protein_coding -39975,D11Wsu47e,ENSMUSG00000041623,protein_coding -34462,Gucy1a2,ENSMUSG00000041624,protein_coding -34420,Ggact,ENSMUSG00000041625,protein_coding -39973,Fam104a,ENSMUSG00000041629,protein_coding -42476,Mrps27,ENSMUSG00000041632,protein_coding -9631,Kctd12b,ENSMUSG00000041633,protein_coding -17850,Gcn1l1,ENSMUSG00000041638,protein_coding -2266,Kif21b,ENSMUSG00000041642,protein_coding -5654,Slc5a12,ENSMUSG00000041644,protein_coding -44592,Ddx24,ENSMUSG00000041645,protein_coding -9624,Klf8,ENSMUSG00000041649,protein_coding -34417,Pcca,ENSMUSG00000041650,protein_coding -46604,Pnpla3,ENSMUSG00000041653,protein_coding -39969,Slc39a11,ENSMUSG00000041654,protein_coding -9622,Rragb,ENSMUSG00000041658,protein_coding -5650,Bbox1,ENSMUSG00000041660,protein_coding -44584,Prima1,ENSMUSG00000041669,protein_coding -300,Rims1,ENSMUSG00000041670,protein_coding -21867,Pyroxd1,ENSMUSG00000041671,protein_coding -32549,Lrrc18,ENSMUSG00000041673,protein_coding -31356,Lrrc29,ENSMUSG00000041679,protein_coding -21866,Iapp,ENSMUSG00000041681,protein_coding -673,Bivm,ENSMUSG00000041684,protein_coding -42458,Fcho2,ENSMUSG00000041685,protein_coding -9466,Amot,ENSMUSG00000041688,protein_coding -39956,Kcnj2,ENSMUSG00000041695,protein_coding -35888,Rasl12,ENSMUSG00000041696,protein_coding -17834,Cox6a1,ENSMUSG00000041697,protein_coding -21857,Slco1a1,ENSMUSG00000041698,protein_coding -9465,Lhfpl1,ENSMUSG00000041700,protein_coding -44575,Btbd7,ENSMUSG00000041702,protein_coding -34411,Zic5,ENSMUSG00000041703,protein_coding -32544,Tmem273,ENSMUSG00000041707,protein_coding -46597,Mpped1,ENSMUSG00000041708,protein_coding -9454,Trpc5,ENSMUSG00000041710,protein_coding -44573,Ubr7,ENSMUSG00000041712,protein_coding -44569,Gm20604,ENSMUSG00000041716,protein_coding -9452,Alg13,ENSMUSG00000041718,protein_coding -47437,Pi4ka,ENSMUSG00000041720,protein_coding -288,Khdc1c,ENSMUSG00000041722,protein_coding -35814,Coro2b,ENSMUSG00000041729,protein_coding -32541,Prrxl1,ENSMUSG00000041730,protein_coding -54781,Pgm5,ENSMUSG00000041731,protein_coding -17827,Coq5,ENSMUSG00000041733,protein_coding -11064,Kirrel,ENSMUSG00000041734,protein_coding -15279,Gm13178,ENSMUSG00000041735,protein_coding -46594,Tspo,ENSMUSG00000041736,protein_coding -34953,Tmem45b,ENSMUSG00000041737,protein_coding -17825,Rnf10,ENSMUSG00000041740,protein_coding -21848,Pde3a,ENSMUSG00000041741,protein_coding -42440,Utp15,ENSMUSG00000041747,protein_coding -50369,Trem3,ENSMUSG00000041754,protein_coding -2168,Plekha6,ENSMUSG00000041757,protein_coding -4817,Gpr155,ENSMUSG00000041762,protein_coding -666,Tpp2,ENSMUSG00000041763,protein_coding -34397,Ubac2,ENSMUSG00000041765,protein_coding -26461,Ppp2r2d,ENSMUSG00000041769,protein_coding -44554,Slc24a4,ENSMUSG00000041771,protein_coding -42423,Enc1,ENSMUSG00000041773,protein_coding -47429,Ydjc,ENSMUSG00000041774,protein_coding -26460,Mapk1ip1,ENSMUSG00000041775,protein_coding -4815,Cir1,ENSMUSG00000041777,protein_coding -275,Tram2,ENSMUSG00000041779,protein_coding -44552,Cpsf2,ENSMUSG00000041781,protein_coding -2254,Lad1,ENSMUSG00000041782,protein_coding -21827,Capza3,ENSMUSG00000041791,protein_coding -37143,Myrip,ENSMUSG00000041794,protein_coding -39950,Abca9,ENSMUSG00000041797,protein_coding -37406,Gck,ENSMUSG00000041798,protein_coding -2252,Phlda3,ENSMUSG00000041801,protein_coding -15221,Pramel1,ENSMUSG00000041805,protein_coding -274,Efhc1,ENSMUSG00000041809,protein_coding -46578,Poldip3,ENSMUSG00000041815,protein_coding -42417,Fam169a,ENSMUSG00000041817,protein_coding -17808,Oasl1,ENSMUSG00000041827,protein_coding -39949,Abca8a,ENSMUSG00000041828,protein_coding -48822,Sytl3,ENSMUSG00000041831,protein_coding -26420,Ptpre,ENSMUSG00000041836,protein_coding -35884,Pdcd7,ENSMUSG00000041837,protein_coding -53859,Haus1,ENSMUSG00000041840,protein_coding -45322,Rpl37,ENSMUSG00000041841,protein_coding -11010,Fhdc1,ENSMUSG00000041842,protein_coding -54137,Rhod,ENSMUSG00000041845,protein_coding -44533,Ppp4r3a,ENSMUSG00000041846,protein_coding -45321,Card6,ENSMUSG00000041849,protein_coding -46569,Tcf20,ENSMUSG00000041852,protein_coding -54517,Oosp1,ENSMUSG00000041857,protein_coding -266,Mcm3,ENSMUSG00000041859,protein_coding -17798,Ankrd13a,ENSMUSG00000041870,protein_coding -265,Il17f,ENSMUSG00000041872,protein_coding -2244,Ipo9,ENSMUSG00000041879,protein_coding -49747,Ndufa7,ENSMUSG00000041881,protein_coding -25607,Olfr680-ps1,ENSMUSG00000041885,protein_coding -45282,Macc1,ENSMUSG00000041886,protein_coding -2243,Shisa4,ENSMUSG00000041889,protein_coding -17796,Git2,ENSMUSG00000041890,protein_coding -53684,Lman1,ENSMUSG00000041891,protein_coding -39939,Wipi1,ENSMUSG00000041895,protein_coding -642,Gpr45,ENSMUSG00000041907,protein_coding -4779,Dlx1,ENSMUSG00000041911,protein_coding -11415,Tdrkh,ENSMUSG00000041912,protein_coding -52998,Ammecr1l,ENSMUSG00000041915,protein_coding -39935,Slc16a6,ENSMUSG00000041920,protein_coding -4776,Metap1d,ENSMUSG00000041921,protein_coding -52918,Nol4,ENSMUSG00000041923,protein_coding -2239,Rnpep,ENSMUSG00000041926,protein_coding -17790,Fam222a,ENSMUSG00000041930,protein_coding -45305,AW549877,ENSMUSG00000041935,protein_coding -15621,Agrn,ENSMUSG00000041936,protein_coding -17788,Mvk,ENSMUSG00000041939,protein_coding -621,Mfsd9,ENSMUSG00000041945,protein_coding -31423,Tango6,ENSMUSG00000041949,protein_coding -15613,Tnfrsf18,ENSMUSG00000041954,protein_coding -47393,Pkp2,ENSMUSG00000041957,protein_coding -38946,Pigs,ENSMUSG00000041958,protein_coding -11362,S100a10,ENSMUSG00000041959,protein_coding -37387,Znrf3,ENSMUSG00000041961,protein_coding -4768,Dcaf17,ENSMUSG00000041966,protein_coding -47390,Spidr,ENSMUSG00000041974,protein_coding -4767,Mettl8,ENSMUSG00000041975,protein_coding -11075,Arhgef11,ENSMUSG00000041977,protein_coding -11353,Rptn,ENSMUSG00000041984,protein_coding -35616,Elmod1,ENSMUSG00000041986,protein_coding -11350,Hrnr,ENSMUSG00000041991,protein_coding -45261,Rapgef5,ENSMUSG00000041992,protein_coding -42374,Zbed3,ENSMUSG00000041995,protein_coding -4764,Tlk1,ENSMUSG00000041997,protein_coding -17782,Foxn4,ENSMUSG00000042002,protein_coding -17780,Acacb,ENSMUSG00000042010,protein_coding -42368,Wdr41,ENSMUSG00000042015,protein_coding -45251,Ncapg2,ENSMUSG00000042029,protein_coding -11328,Lce3b,ENSMUSG00000042031,protein_coding -37840,Mat2b,ENSMUSG00000042032,protein_coding -11695,Igsf3,ENSMUSG00000042035,protein_coding -54140,2010003K11Rik,ENSMUSG00000042041,protein_coding -21175,Csgalnact2,ENSMUSG00000042042,protein_coding -42366,Tbca,ENSMUSG00000042043,protein_coding -35614,Sln,ENSMUSG00000042045,protein_coding -2151,Dstyk,ENSMUSG00000042046,protein_coding -45245,Wdr60,ENSMUSG00000042050,protein_coding -26312,Wdr11,ENSMUSG00000042055,protein_coding -45238,Zfp386,ENSMUSG00000042063,protein_coding -4753,Myo3b,ENSMUSG00000042064,protein_coding -2149,Tmcc2,ENSMUSG00000042066,protein_coding -36744,Abhd14b,ENSMUSG00000042073,protein_coding -17774,Svop,ENSMUSG00000042078,protein_coding -21167,Hnrnpf,ENSMUSG00000042079,protein_coding -42344,Arsb,ENSMUSG00000042082,protein_coding -11312,Lce1c,ENSMUSG00000042092,protein_coding -17773,Dao,ENSMUSG00000042096,protein_coding -21165,Zfp239,ENSMUSG00000042097,protein_coding -49745,Kank3,ENSMUSG00000042099,protein_coding -42340,Dmgdh,ENSMUSG00000042102,protein_coding -34363,Uggt2,ENSMUSG00000042104,protein_coding -26296,Inpp5f,ENSMUSG00000042105,protein_coding -36821,Inka1,ENSMUSG00000042106,protein_coding -46500,Csdc2,ENSMUSG00000042109,protein_coding -461,Ccdc115,ENSMUSG00000042111,protein_coding -2146,Klhdc8a,ENSMUSG00000042115,protein_coding -15588,Vwa1,ENSMUSG00000042116,protein_coding -42339,Bhmt2,ENSMUSG00000042118,protein_coding -17772,Ssh1,ENSMUSG00000042121,protein_coding -11316,Lce1f,ENSMUSG00000042124,protein_coding -21145,Rassf4,ENSMUSG00000042129,protein_coding -4740,Ppig,ENSMUSG00000042133,protein_coding -35092,Msantd2,ENSMUSG00000042138,protein_coding -38445,Cox10,ENSMUSG00000042148,protein_coding -4746,Klhl23,ENSMUSG00000042155,protein_coding -34359,Dzip1,ENSMUSG00000042156,protein_coding -11294,Sprr2i,ENSMUSG00000042157,protein_coding -11296,Gm9774,ENSMUSG00000042165,protein_coding -42327,Tent2,ENSMUSG00000042167,protein_coding -26279,Armc5,ENSMUSG00000042178,protein_coding -55389,Pnliprp1,ENSMUSG00000042179,protein_coding -445,Bend6,ENSMUSG00000042182,protein_coding -17758,1700069L16Rik,ENSMUSG00000042184,protein_coding -34952,Nfrkb,ENSMUSG00000042185,protein_coding -38435,Tekt3,ENSMUSG00000042189,protein_coding -17756,Cmklr1,ENSMUSG00000042190,protein_coding -35613,Slc35f2,ENSMUSG00000042195,protein_coding -443,Zfp451,ENSMUSG00000042197,protein_coding -12786,Chchd7,ENSMUSG00000042198,protein_coding -38433,Cdrt4,ENSMUSG00000042200,protein_coding -15574,Slc35e2,ENSMUSG00000042202,protein_coding -49583,Tbc1d22b,ENSMUSG00000042203,protein_coding -2219,Kdm5b,ENSMUSG00000042207,protein_coding -37643,0610010F05Rik,ENSMUSG00000042208,protein_coding -36743,Abhd14a,ENSMUSG00000042210,protein_coding -53601,Fbxo38,ENSMUSG00000042211,protein_coding -11289,Sprr2d,ENSMUSG00000042212,protein_coding -21129,Zfand4,ENSMUSG00000042213,protein_coding -441,Bag2,ENSMUSG00000042215,protein_coding -17749,Sgsm1,ENSMUSG00000042216,protein_coding -25517,Olfr631,ENSMUSG00000042219,protein_coding -9435,Ammecr1,ENSMUSG00000042225,protein_coding -12776,Lyn,ENSMUSG00000042228,protein_coding -2214,Rabif,ENSMUSG00000042229,protein_coding -17739,Crybb2,ENSMUSG00000042240,protein_coding -41672,BC051665,ENSMUSG00000042243,protein_coding -11269,Pglyrp3,ENSMUSG00000042244,protein_coding -25947,Tmc7,ENSMUSG00000042246,protein_coding -55042,Cyp2c37,ENSMUSG00000042248,protein_coding -17737,Grk3,ENSMUSG00000042249,protein_coding -11260,Pglyrp4,ENSMUSG00000042250,protein_coding -2123,Pm20d1,ENSMUSG00000042251,protein_coding -35878,Cilp,ENSMUSG00000042254,protein_coding -50217,Ptchd4,ENSMUSG00000042256,protein_coding -42736,Isl1,ENSMUSG00000042258,protein_coding -37130,Ccr8,ENSMUSG00000042262,protein_coding -50367,Trem1,ENSMUSG00000042265,protein_coding -2122,Slc26a9,ENSMUSG00000042268,protein_coding -31637,Fam92b,ENSMUSG00000042269,protein_coding -9421,Nxt2,ENSMUSG00000042271,protein_coding -4905,Sestd1,ENSMUSG00000042272,protein_coding -42726,Pelo,ENSMUSG00000042275,protein_coding -21120,H1foo,ENSMUSG00000042279,protein_coding -9418,Gucy2f,ENSMUSG00000042282,protein_coding -42724,Itga1,ENSMUSG00000042284,protein_coding -32491,Stab1,ENSMUSG00000042286,protein_coding -26244,Hsd3b7,ENSMUSG00000042289,protein_coding -46467,Mrtfa,ENSMUSG00000042292,protein_coding -35517,Gm5617,ENSMUSG00000042293,protein_coding -38400,Ttc19,ENSMUSG00000042298,protein_coding -37609,Ehbp1,ENSMUSG00000042302,protein_coding -46465,Sgsm3,ENSMUSG00000042303,protein_coding -2207,Tmem183a,ENSMUSG00000042305,protein_coding -11244,S100a14,ENSMUSG00000042306,protein_coding -26241,Setd1a,ENSMUSG00000042308,protein_coding -11243,S100a13,ENSMUSG00000042312,protein_coding -44203,Prox2,ENSMUSG00000042320,protein_coding -32486,Pbrm1,ENSMUSG00000042323,protein_coding -17722,Hps4,ENSMUSG00000042328,protein_coding -38396,Specc1,ENSMUSG00000042331,protein_coding -15554,Tnfrsf14,ENSMUSG00000042333,protein_coding -26237,Ctf1,ENSMUSG00000042340,protein_coding -49635,Ubash3a,ENSMUSG00000042345,protein_coding -42707,Arl15,ENSMUSG00000042348,protein_coding -2108,Ikbke,ENSMUSG00000042349,protein_coding -44198,Arel1,ENSMUSG00000042350,protein_coding -46455,Grap2,ENSMUSG00000042351,protein_coding -30835,Frem3,ENSMUSG00000042353,protein_coding -32482,Gnl3,ENSMUSG00000042354,protein_coding -14738,Gjb5,ENSMUSG00000042357,protein_coding -4895,Osbpl6,ENSMUSG00000042359,protein_coding -37581,Lgalsl,ENSMUSG00000042363,protein_coding -42700,Snx18,ENSMUSG00000042364,protein_coding -14736,Gjb3,ENSMUSG00000042367,protein_coding -4894,Rbm45,ENSMUSG00000042369,protein_coding -38387,Slc5a10,ENSMUSG00000042371,protein_coding -54796,Dmrt3,ENSMUSG00000042372,protein_coding -38388,Fam83g,ENSMUSG00000042377,protein_coding -42692,Esm1,ENSMUSG00000042379,protein_coding -14732,Smim12,ENSMUSG00000042380,protein_coding -42691,Gzmk,ENSMUSG00000042385,protein_coding -9397,Tex13b,ENSMUSG00000042386,protein_coding -14731,Dlgap3,ENSMUSG00000042388,protein_coding -21099,Tsen2,ENSMUSG00000042389,protein_coding -11231,Gatad2b,ENSMUSG00000042390,protein_coding -35516,Rbm7,ENSMUSG00000042396,protein_coding -55098,Crtac1,ENSMUSG00000042401,protein_coding -11228,Dennd4b,ENSMUSG00000042404,protein_coding -46448,Atf4,ENSMUSG00000042406,protein_coding -14727,Zmym6,ENSMUSG00000042408,protein_coding -4887,Agps,ENSMUSG00000042410,protein_coding -156,Prdm14,ENSMUSG00000042414,protein_coding -42678,Ccno,ENSMUSG00000042417,protein_coding -49899,Nfkbil1,ENSMUSG00000042419,protein_coding -26218,Fbrs,ENSMUSG00000042423,protein_coding -9387,Frmpd3,ENSMUSG00000042425,protein_coding -42676,Dhx29,ENSMUSG00000042426,protein_coding -46443,Mgat3,ENSMUSG00000042428,protein_coding -2203,Adora1,ENSMUSG00000042429,protein_coding -9383,Pih1h3b,ENSMUSG00000042433,protein_coding -38380,Mfap4,ENSMUSG00000042436,protein_coding -53665,Zfp532,ENSMUSG00000042439,protein_coding -35983,Mindy2,ENSMUSG00000042444,protein_coding -14720,Zmym4,ENSMUSG00000042446,protein_coding -18983,Mios,ENSMUSG00000042447,protein_coding -4863,Hoxd1,ENSMUSG00000042448,protein_coding -2202,Mybph,ENSMUSG00000042451,protein_coding -15941,Reln,ENSMUSG00000042453,protein_coding -6538,Bpifa2,ENSMUSG00000042459,protein_coding -18977,C1galt1,ENSMUSG00000042460,protein_coding -26199,Dctpp1,ENSMUSG00000042462,protein_coding -44179,Zfp410,ENSMUSG00000042472,protein_coding -9374,Tbc1d8b,ENSMUSG00000042473,protein_coding -2095,Fcmr,ENSMUSG00000042474,protein_coding -15738,Abcb4,ENSMUSG00000042476,protein_coding -14714,Tfap2e,ENSMUSG00000042477,protein_coding -32475,Mustn1,ENSMUSG00000042485,protein_coding -36106,Leo1,ENSMUSG00000042487,protein_coding -14708,Clspn,ENSMUSG00000042489,protein_coding -26194,Tbc1d10b,ENSMUSG00000042492,protein_coding -34951,Prdm10,ENSMUSG00000042496,protein_coding -9370,Radx,ENSMUSG00000042498,protein_coding -4847,Hoxd11,ENSMUSG00000042499,protein_coding -14705,Ago4,ENSMUSG00000042500,protein_coding -127,Cpa6,ENSMUSG00000042501,protein_coding -26193,Cd2bp2,ENSMUSG00000042502,protein_coding -18966,Sdhaf3,ENSMUSG00000042505,protein_coding -38370,Usp22,ENSMUSG00000042506,protein_coding -44172,Elmsan1,ENSMUSG00000042507,protein_coding -15747,Dmtf1,ENSMUSG00000042508,protein_coding -2089,AA986860,ENSMUSG00000042510,protein_coding -52914,Klhl14,ENSMUSG00000042514,protein_coding -9365,Pwwp3b,ENSMUSG00000042515,protein_coding -11211,Ubap2l,ENSMUSG00000042520,protein_coding -44170,Dnal1,ENSMUSG00000042523,protein_coding -46421,Sun2,ENSMUSG00000042524,protein_coding -9363,4933428M09Rik,ENSMUSG00000042525,protein_coding -38367,Kcnj12,ENSMUSG00000042529,protein_coding -55097,Golga7b,ENSMUSG00000042532,protein_coding -46419,Gtpbp1,ENSMUSG00000042535,protein_coding -44167,Acot5,ENSMUSG00000042540,protein_coding -18952,Sem1,ENSMUSG00000042541,protein_coding -6521,Asxl1,ENSMUSG00000042548,protein_coding -2081,Zp3r,ENSMUSG00000042554,protein_coding -35687,Sin3a,ENSMUSG00000042557,protein_coding -14698,Adprhl2,ENSMUSG00000042558,protein_coding -46413,Fam227a,ENSMUSG00000042564,protein_coding -32183,Nek10,ENSMUSG00000042567,protein_coding -38361,Dhrs7b,ENSMUSG00000042569,protein_coding -28104,Mier2,ENSMUSG00000042570,protein_coding -11201,Ube2q1,ENSMUSG00000042572,protein_coding -2063,Thsd7b,ENSMUSG00000042581,protein_coding -18019,Cux2,ENSMUSG00000042589,protein_coding -42585,Ipo11,ENSMUSG00000042590,protein_coding -18014,Sh2b3,ENSMUSG00000042594,protein_coding -9336,Fam199x,ENSMUSG00000042595,protein_coding -248,Tfap2d,ENSMUSG00000042596,protein_coding -19384,Kdm7a,ENSMUSG00000042599,protein_coding -5621,Kcna4,ENSMUSG00000042604,protein_coding -18010,Atxn2,ENSMUSG00000042605,protein_coding -26162,Hirip3,ENSMUSG00000042606,protein_coding -18941,Asb4,ENSMUSG00000042607,protein_coding -14689,Stk40,ENSMUSG00000042608,protein_coding -11195,Pbxip1,ENSMUSG00000042613,protein_coding -14686,Oscp1,ENSMUSG00000042616,protein_coding -46400,Maff,ENSMUSG00000042622,protein_coding -50525,Safb2,ENSMUSG00000042625,protein_coding -11193,Shc1,ENSMUSG00000042626,protein_coding -44143,Zfyve1,ENSMUSG00000042628,protein_coding -6511,Xkr7,ENSMUSG00000042631,protein_coding -46398,Pla2g6,ENSMUSG00000042632,protein_coding -21782,Gucy2c,ENSMUSG00000042638,protein_coding -2518,Rgsl1,ENSMUSG00000042641,protein_coding -11191,Flad1,ENSMUSG00000042642,protein_coding -49458,Itpr3,ENSMUSG00000042644,protein_coding -18007,Acad12,ENSMUSG00000042647,protein_coding -38332,Alkbh5,ENSMUSG00000042650,protein_coding -42566,Shisal2b,ENSMUSG00000042655,protein_coding -24666,Arrdc4,ENSMUSG00000042659,protein_coding -53138,Wdr55,ENSMUSG00000042660,protein_coding -6507,Dusp15,ENSMUSG00000042662,protein_coding -5599,Immp1l,ENSMUSG00000042670,protein_coding -2510,Rgs8,ENSMUSG00000042671,protein_coding -11185,Dcst1,ENSMUSG00000042672,protein_coding -26151,Ypel3,ENSMUSG00000042675,protein_coding -14678,Zc3h12a,ENSMUSG00000042677,protein_coding -38331,Myo15,ENSMUSG00000042678,protein_coding -52907,Garem1,ENSMUSG00000042680,protein_coding -32452,Selenok,ENSMUSG00000042682,protein_coding -2508,Npl,ENSMUSG00000042684,protein_coding -218,Jph1,ENSMUSG00000042686,protein_coding -36102,Mapk6,ENSMUSG00000042688,protein_coding -55251,Stn1,ENSMUSG00000042694,protein_coding -2507,Dhx9,ENSMUSG00000042699,protein_coding -44128,Sipa1l1,ENSMUSG00000042700,protein_coding -53397,Commd10,ENSMUSG00000042705,protein_coding -14674,Dnali1,ENSMUSG00000042707,protein_coding -2504,Shcbp1l,ENSMUSG00000042708,protein_coding -38326,Atpaf2,ENSMUSG00000042709,protein_coding -9294,Tceal9,ENSMUSG00000042712,protein_coding -19036,Ppp1r3a,ENSMUSG00000042717,protein_coding -17994,Naa25,ENSMUSG00000042719,protein_coding -44121,Map3k9,ENSMUSG00000042724,protein_coding -17991,Trafd1,ENSMUSG00000042726,protein_coding -54379,Wdr74,ENSMUSG00000042729,protein_coding -44119,Ttc9,ENSMUSG00000042734,protein_coding -11176,Dpm3,ENSMUSG00000042737,protein_coding -19025,Bmt2,ENSMUSG00000042742,protein_coding -42557,Sgtb,ENSMUSG00000042743,protein_coding -17989,Hectd4,ENSMUSG00000042744,protein_coding -6498,Id1,ENSMUSG00000042745,protein_coding -11175,Krtcap2,ENSMUSG00000042747,protein_coding -9285,Bex2,ENSMUSG00000042750,protein_coding -2497,Nmnat2,ENSMUSG00000042751,protein_coding -36673,Tmem108,ENSMUSG00000042757,protein_coding -26134,Apobr,ENSMUSG00000042759,protein_coding -36329,Mrap2,ENSMUSG00000042761,protein_coding -14665,Maneal,ENSMUSG00000042763,protein_coding -11174,Trim46,ENSMUSG00000042766,protein_coding -21750,Hebp1,ENSMUSG00000042770,protein_coding -2493,Smg7,ENSMUSG00000042772,protein_coding -28091,Olfr1353,ENSMUSG00000042774,protein_coding -11173,Muc1,ENSMUSG00000042784,protein_coding -37115,Exog,ENSMUSG00000042787,protein_coding -13298,Fam166b,ENSMUSG00000042788,protein_coding -35463,Rnf214,ENSMUSG00000042790,protein_coding -2228,Lgr6,ENSMUSG00000042793,protein_coding -5079,Olfr1032,ENSMUSG00000042796,protein_coding -25235,Aqp11,ENSMUSG00000042797,protein_coding -2871,Spata46,ENSMUSG00000042800,protein_coding -29282,Olfr769,ENSMUSG00000042801,protein_coding -15507,Gpr153,ENSMUSG00000042804,protein_coding -814,Hecw2,ENSMUSG00000042807,protein_coding -44010,Gpx2,ENSMUSG00000042808,protein_coding -19652,Krba1,ENSMUSG00000042810,protein_coding -31660,Foxf1,ENSMUSG00000042812,protein_coding -6496,Mcts2,ENSMUSG00000042814,protein_coding -53313,Gpr151,ENSMUSG00000042816,protein_coding -18765,Flt3,ENSMUSG00000042817,protein_coding -6918,Snai1,ENSMUSG00000042821,protein_coding -38583,Fgf11,ENSMUSG00000042826,protein_coding -26263,Trim72,ENSMUSG00000042828,protein_coding -23352,Alkbh6,ENSMUSG00000042831,protein_coding -53036,Nrep,ENSMUSG00000042834,protein_coding -41035,Serpinb6b,ENSMUSG00000042842,protein_coding -6798,Wfdc12,ENSMUSG00000042845,protein_coding -27785,Lrrtm3,ENSMUSG00000042846,protein_coding -49109,Vmn1r226,ENSMUSG00000042848,protein_coding -1633,Olfr1414,ENSMUSG00000042849,protein_coding -6057,Zc3h6,ENSMUSG00000042851,protein_coding -6893,Trp53rkb,ENSMUSG00000042854,protein_coding -11872,Kcna10,ENSMUSG00000042861,protein_coding -5073,Olfr1026,ENSMUSG00000042863,protein_coding -40650,Olfr1370,ENSMUSG00000042869,protein_coding -30744,Tom1,ENSMUSG00000042870,protein_coding -21029,Lhfpl4,ENSMUSG00000042873,protein_coding -34199,Prr30,ENSMUSG00000042888,protein_coding -5340,Olfr1260,ENSMUSG00000042894,protein_coding -45795,Abra,ENSMUSG00000042895,protein_coding -3223,Aida,ENSMUSG00000042901,protein_coding -8768,Foxo4,ENSMUSG00000042903,protein_coding -25541,Olfr648,ENSMUSG00000042909,protein_coding -24031,Mamstr,ENSMUSG00000042918,protein_coding -52779,Greb1l,ENSMUSG00000042942,protein_coding -45353,Egflam,ENSMUSG00000042961,protein_coding -26115,Sbk1,ENSMUSG00000042978,protein_coding -18389,Upk3b,ENSMUSG00000042985,protein_coding -40250,Notum,ENSMUSG00000042988,protein_coding -21733,Borcs5,ENSMUSG00000042992,protein_coding -13133,Ifnk,ENSMUSG00000042993,protein_coding -10555,Nhlrc3,ENSMUSG00000042997,protein_coding -13771,Rasef,ENSMUSG00000043003,protein_coding -32273,Gng2,ENSMUSG00000043004,protein_coding -47553,Klhl6,ENSMUSG00000043008,protein_coding -36090,Onecut1,ENSMUSG00000043013,protein_coding -786,Nemp2,ENSMUSG00000043015,protein_coding -22692,Ptgir,ENSMUSG00000043017,protein_coding -2477,Edem3,ENSMUSG00000043019,protein_coding -12572,Wdr63,ENSMUSG00000043020,protein_coding -38744,Trpv3,ENSMUSG00000043029,protein_coding -18023,Ccdc63,ENSMUSG00000043036,protein_coding -47284,Tnp2,ENSMUSG00000043050,protein_coding -31859,Disc1,ENSMUSG00000043051,protein_coding -16180,Zfp513,ENSMUSG00000043059,protein_coding -43775,Fscb,ENSMUSG00000043060,protein_coding -43322,Tmem18,ENSMUSG00000043061,protein_coding -48040,Spice1,ENSMUSG00000043065,protein_coding -22337,Vmn1r66,ENSMUSG00000043066,protein_coding -34869,Dpy19l1,ENSMUSG00000043067,protein_coding -31846,Fam89a,ENSMUSG00000043068,protein_coding -25580,Usp17le,ENSMUSG00000043073,protein_coding -53554,Synpo,ENSMUSG00000043079,protein_coding -15184,Tmem82,ENSMUSG00000043085,protein_coding -34694,Olfr855,ENSMUSG00000043087,protein_coding -21048,Il17re,ENSMUSG00000043088,protein_coding -30564,Zfp866,ENSMUSG00000043090,protein_coding -46896,Tuba1c,ENSMUSG00000043091,protein_coding -38828,Hic1,ENSMUSG00000043099,protein_coding -4195,Qrfp,ENSMUSG00000043102,protein_coding -6191,Lrrn4,ENSMUSG00000043110,protein_coding -19559,Olfr448,ENSMUSG00000043119,protein_coding -44930,A530016L24Rik,ENSMUSG00000043122,protein_coding -20497,Mob1a,ENSMUSG00000043131,protein_coding -47250,Tmem186,ENSMUSG00000043140,protein_coding -46927,Aqp6,ENSMUSG00000043144,protein_coding -43431,Crppa,ENSMUSG00000043153,protein_coding -36608,Ppp2r3a,ENSMUSG00000043154,protein_coding -14407,Hpdl,ENSMUSG00000043155,protein_coding -33639,Arl11,ENSMUSG00000043157,protein_coding -19897,Pyurf,ENSMUSG00000043162,protein_coding -10142,Tmem212,ENSMUSG00000043164,protein_coding -11272,Lor,ENSMUSG00000043165,protein_coding -41503,Simc1,ENSMUSG00000043183,protein_coding -42145,Rfesd,ENSMUSG00000043190,protein_coding -14568,Zmpste24,ENSMUSG00000043207,protein_coding -19771,Hoxa6,ENSMUSG00000043219,protein_coding -5053,Olfr1009,ENSMUSG00000043226,protein_coding -1321,Fam124b,ENSMUSG00000043230,protein_coding -3512,Upf2,ENSMUSG00000043241,protein_coding -30665,Fam129c,ENSMUSG00000043243,protein_coding -31351,Exoc3l,ENSMUSG00000043251,protein_coding -12919,Tmem64,ENSMUSG00000043252,protein_coding -14929,Pigv,ENSMUSG00000043257,protein_coding -27859,Fam13c,ENSMUSG00000043259,protein_coding -24094,Uevld,ENSMUSG00000043262,protein_coding -3006,Ifi209,ENSMUSG00000043263,protein_coding -5078,Olfr1031,ENSMUSG00000043267,protein_coding -5188,Olfr1123,ENSMUSG00000043274,protein_coding -18424,Trim56,ENSMUSG00000043279,protein_coding -2520,Teddm1b,ENSMUSG00000043282,protein_coding -38362,Tmem11,ENSMUSG00000043284,protein_coding -49546,Pnpla1,ENSMUSG00000043286,protein_coding -36241,Mei4,ENSMUSG00000043289,protein_coding -22153,Zfp784,ENSMUSG00000043290,protein_coding -21789,Smco3,ENSMUSG00000043298,protein_coding -10851,B3galnt1,ENSMUSG00000043300,protein_coding -48700,Kcnj6,ENSMUSG00000043301,protein_coding -22428,Vmn1r75,ENSMUSG00000043308,protein_coding -25434,Olfr571,ENSMUSG00000043310,protein_coding -49885,D17H6S53E,ENSMUSG00000043311,protein_coding -50124,Olfr131,ENSMUSG00000043312,protein_coding -53193,Pcdhb19,ENSMUSG00000043313,protein_coding -38226,Olfr30,ENSMUSG00000043314,protein_coding -44579,Cox8c,ENSMUSG00000043319,protein_coding -17666,Fbrsl1,ENSMUSG00000043323,protein_coding -35240,Olfr975,ENSMUSG00000043331,protein_coding -14631,Rhbdl2,ENSMUSG00000043333,protein_coding -48193,Filip1l,ENSMUSG00000043336,protein_coding -4852,Hoxd9,ENSMUSG00000043342,protein_coding -25440,Olfr577,ENSMUSG00000043354,protein_coding -48228,Olfr187,ENSMUSG00000043357,protein_coding -25421,Olfr78,ENSMUSG00000043366,protein_coding -39775,Hexim2,ENSMUSG00000043372,protein_coding -14487,Olfr1342,ENSMUSG00000043383,protein_coding -9277,Gprasp1,ENSMUSG00000043384,protein_coding -13584,Olfr267,ENSMUSG00000043385,protein_coding -18677,Tmem130,ENSMUSG00000043388,protein_coding -47611,2510009E07Rik,ENSMUSG00000043391,protein_coding -43924,Gpr135,ENSMUSG00000043398,protein_coding -17535,Hfm1,ENSMUSG00000043410,protein_coding -15066,Usp48,ENSMUSG00000043411,protein_coding -3828,Otud1,ENSMUSG00000043415,protein_coding -32627,Lrit2,ENSMUSG00000043418,protein_coding -38544,Rnf227,ENSMUSG00000043419,protein_coding -19199,Hilpda,ENSMUSG00000043421,protein_coding -53325,Eif3j2,ENSMUSG00000043424,protein_coding -3214,Ccdc185,ENSMUSG00000043429,protein_coding -16334,Psapl1,ENSMUSG00000043430,protein_coding -22089,Leng9,ENSMUSG00000043432,protein_coding -39440,Epop,ENSMUSG00000043439,protein_coding -10716,Gpr149,ENSMUSG00000043441,protein_coding -49288,Pgp,ENSMUSG00000043445,protein_coding -38275,Gjc2,ENSMUSG00000043448,protein_coding -8296,Magea10,ENSMUSG00000043453,protein_coding -23640,Zfp536,ENSMUSG00000043456,protein_coding -53186,Pcdhb12,ENSMUSG00000043458,protein_coding -46358,Elfn2,ENSMUSG00000043460,protein_coding -10856,Sptssb,ENSMUSG00000043461,protein_coding -9325,Rab9b,ENSMUSG00000043463,protein_coding -2661,Zbtb37,ENSMUSG00000043467,protein_coding -11616,Adam30,ENSMUSG00000043468,protein_coding -11332,Lce3d,ENSMUSG00000043472,protein_coding -39596,Krt34,ENSMUSG00000043485,protein_coding -44169,Acot6,ENSMUSG00000043487,protein_coding -19815,Tril,ENSMUSG00000043496,protein_coding -46364,Lgals2,ENSMUSG00000043501,protein_coding -19679,Gimap5,ENSMUSG00000043505,protein_coding -17684,Hscb,ENSMUSG00000043510,protein_coding -9753,Rai2,ENSMUSG00000043518,protein_coding -11865,Olfr266,ENSMUSG00000043529,protein_coding -55281,Sorcs1,ENSMUSG00000043531,protein_coding -4110,Setx,ENSMUSG00000043535,protein_coding -49103,Vmn1r225,ENSMUSG00000043537,protein_coding -21908,Casc1,ENSMUSG00000043541,protein_coding -9919,Zc2hc1a,ENSMUSG00000043542,protein_coding -8662,Fam90a1b,ENSMUSG00000043549,protein_coding -45552,Fbxl7,ENSMUSG00000043556,protein_coding -49595,Mdga1,ENSMUSG00000043557,protein_coding -9170,Cldn34c4,ENSMUSG00000043569,protein_coding -14194,Pars2,ENSMUSG00000043572,protein_coding -6982,4930470P17Rik,ENSMUSG00000043583,protein_coding -36513,Pxylp1,ENSMUSG00000043587,protein_coding -50380,Unc5cl,ENSMUSG00000043592,protein_coding -38666,Zfp3,ENSMUSG00000043602,protein_coding -19573,Olfr13,ENSMUSG00000043605,protein_coding -34493,Mmp3,ENSMUSG00000043613,protein_coding -18350,Vps37d,ENSMUSG00000043614,protein_coding -15091,Ubxn10,ENSMUSG00000043621,protein_coding -794,1700019D03Rik,ENSMUSG00000043629,protein_coding -41398,Ecm2,ENSMUSG00000043631,protein_coding -13320,Fam221b,ENSMUSG00000043633,protein_coding -17177,Adamts3,ENSMUSG00000043635,protein_coding -55320,Rbm20,ENSMUSG00000043639,protein_coding -38303,Pld6,ENSMUSG00000043648,protein_coding -34864,Npsr1,ENSMUSG00000043659,protein_coding -30661,Tmem221,ENSMUSG00000043664,protein_coding -31057,Tox3,ENSMUSG00000043668,protein_coding -28215,Diras1,ENSMUSG00000043670,protein_coding -23615,Dpy19l3,ENSMUSG00000043671,protein_coding -42938,Kcns3,ENSMUSG00000043673,protein_coding -32590,Fam25c,ENSMUSG00000043681,protein_coding -50515,Fem1a,ENSMUSG00000043683,protein_coding -31648,1190005I06Rik,ENSMUSG00000043687,protein_coding -38787,Olfr399,ENSMUSG00000043692,protein_coding -14485,Olfr62,ENSMUSG00000043698,protein_coding -32412,Pde12,ENSMUSG00000043702,protein_coding -50768,Capn13,ENSMUSG00000043705,protein_coding -8396,Olfr1326-ps1,ENSMUSG00000043715,protein_coding -201,Rpl7,ENSMUSG00000043716,protein_coding -36719,Col6a6,ENSMUSG00000043719,protein_coding -6081,F830045P16Rik,ENSMUSG00000043727,protein_coding -17985,Ptpn11,ENSMUSG00000043733,protein_coding -50372,B430306N03Rik,ENSMUSG00000043740,protein_coding -49232,1520401A03Rik,ENSMUSG00000043747,protein_coding -13963,Dmrta1,ENSMUSG00000043753,protein_coding -256,Pkhd1,ENSMUSG00000043760,protein_coding -49226,Bicdl2,ENSMUSG00000043782,protein_coding -29702,Defb12,ENSMUSG00000043787,protein_coding -54465,Vwce,ENSMUSG00000043789,protein_coding -26645,Prr33,ENSMUSG00000043795,protein_coding -49881,Ly6g5b,ENSMUSG00000043807,protein_coding -47476,Rtn4r,ENSMUSG00000043811,protein_coding -28168,Adamtsl5,ENSMUSG00000043822,protein_coding -50063,Olfr94,ENSMUSG00000043827,protein_coding -24633,Lysmd4,ENSMUSG00000043831,protein_coding -21288,Clec4a3,ENSMUSG00000043832,protein_coding -23107,Tmem145,ENSMUSG00000043843,protein_coding -10658,Clrn1,ENSMUSG00000043850,protein_coding -25731,Olfr479,ENSMUSG00000043855,protein_coding -40111,Mgat5b,ENSMUSG00000043857,protein_coding -19143,Tas2r118,ENSMUSG00000043865,protein_coding -25645,Taf10,ENSMUSG00000043866,protein_coding -14725,Zmym1,ENSMUSG00000043872,protein_coding -11843,Chil5,ENSMUSG00000043873,protein_coding -38240,Olfr323,ENSMUSG00000043880,protein_coding -34014,Kbtbd7,ENSMUSG00000043881,protein_coding -34635,Slc36a4,ENSMUSG00000043885,protein_coding -5063,Olfr1018,ENSMUSG00000043892,protein_coding -34759,S1pr2,ENSMUSG00000043895,protein_coding -10738,Vmn2r2,ENSMUSG00000043897,protein_coding -31695,Zfp469,ENSMUSG00000043903,protein_coding -5901,Trp53bp1,ENSMUSG00000043909,protein_coding -35169,Olfr922,ENSMUSG00000043911,protein_coding -17866,Ccdc60,ENSMUSG00000043913,protein_coding -35389,Ccdc84,ENSMUSG00000043923,protein_coding -14987,Ncmap,ENSMUSG00000043924,protein_coding -25395,Olfr544,ENSMUSG00000043925,protein_coding -8657,Klhl15,ENSMUSG00000043929,protein_coding -19676,Gimap7,ENSMUSG00000043931,protein_coding -21566,Klri2,ENSMUSG00000043932,protein_coding -50366,A530064D06Rik,ENSMUSG00000043939,protein_coding -17436,Wdfy3,ENSMUSG00000043940,protein_coding -34653,Naalad2,ENSMUSG00000043943,protein_coding -45012,Adam6a,ENSMUSG00000043945,protein_coding -25622,Olfr691,ENSMUSG00000043948,protein_coding -36987,Ccrl2,ENSMUSG00000043953,protein_coding -14693,Thrap3,ENSMUSG00000043962,protein_coding -26240,Orai3,ENSMUSG00000043964,protein_coding -55409,Emx2,ENSMUSG00000043969,protein_coding -50218,Opn5,ENSMUSG00000043972,protein_coding -48532,Krtap19-4,ENSMUSG00000043982,protein_coding -41643,Spata31d1d,ENSMUSG00000043986,protein_coding -35457,Cep164,ENSMUSG00000043987,protein_coding -53119,Pura,ENSMUSG00000043991,protein_coding -43845,Mgat2,ENSMUSG00000043998,protein_coding -37740,Gpr75,ENSMUSG00000043999,protein_coding -29208,Gls2,ENSMUSG00000044005,protein_coding -30569,Cilp2,ENSMUSG00000044006,protein_coding -30506,Npy5r,ENSMUSG00000044014,protein_coding -18214,Adgrd1,ENSMUSG00000044017,protein_coding -13455,Mrpl50,ENSMUSG00000044018,protein_coding -46759,Muc19,ENSMUSG00000044021,protein_coding -53195,Pcdhb21,ENSMUSG00000044022,protein_coding -53235,Rell2,ENSMUSG00000044024,protein_coding -29305,Olfr790,ENSMUSG00000044025,protein_coding -55018,Slc35g1,ENSMUSG00000044026,protein_coding -48220,Olfr178,ENSMUSG00000044029,protein_coding -22775,Irf2bp1,ENSMUSG00000044030,protein_coding -4903,Ccdc141,ENSMUSG00000044033,protein_coding -40241,Npb,ENSMUSG00000044034,protein_coding -36975,Als2cl,ENSMUSG00000044037,protein_coding -5676,Olfr1288,ENSMUSG00000044039,protein_coding -54645,Olfr1497,ENSMUSG00000044040,protein_coding -39603,Krt13,ENSMUSG00000044041,protein_coding -5733,Fmn1,ENSMUSG00000044042,protein_coding -53188,Pcdhb14,ENSMUSG00000044043,protein_coding -39662,Ccr10,ENSMUSG00000044052,protein_coding -1644,Otos,ENSMUSG00000044055,protein_coding -37771,Efcab9,ENSMUSG00000044056,protein_coding -37572,Cep68,ENSMUSG00000044066,protein_coding -43351,Gpr22,ENSMUSG00000044067,protein_coding -37628,Zrsr1,ENSMUSG00000044068,protein_coding -29097,Tafa2,ENSMUSG00000044071,protein_coding -37722,Eml6,ENSMUSG00000044072,protein_coding -11242,S100a1,ENSMUSG00000044080,protein_coding -6530,Efcab8,ENSMUSG00000044083,protein_coding -38586,Spem2,ENSMUSG00000044084,protein_coding -20863,Lmod3,ENSMUSG00000044086,protein_coding -18546,C130050O18Rik,ENSMUSG00000044092,protein_coding -11771,Rsbn1,ENSMUSG00000044098,protein_coding -3894,Il1f9,ENSMUSG00000044103,protein_coding -34716,Olfr868,ENSMUSG00000044106,protein_coding -47353,2900011O08Rik,ENSMUSG00000044117,protein_coding -25612,Olfr683,ENSMUSG00000044120,protein_coding -8487,5430402E10Rik,ENSMUSG00000044121,protein_coding -38937,Proca1,ENSMUSG00000044122,protein_coding -18018,Pheta1,ENSMUSG00000044134,protein_coding -26250,Prss53,ENSMUSG00000044139,protein_coding -6007,1810024B03Rik,ENSMUSG00000044145,protein_coding -43860,Arf6,ENSMUSG00000044147,protein_coding -7487,1810030O07Rik,ENSMUSG00000044148,protein_coding -7772,Nkrf,ENSMUSG00000044149,protein_coding -9727,Bclaf3,ENSMUSG00000044150,protein_coding -19094,Lsm8,ENSMUSG00000044155,protein_coding -18900,Hepacam2,ENSMUSG00000044156,protein_coding -20006,Tnip3,ENSMUSG00000044162,protein_coding -41290,Rnf182,ENSMUSG00000044164,protein_coding -11766,Bcl2l15,ENSMUSG00000044165,protein_coding -10533,Foxo1,ENSMUSG00000044167,protein_coding -37984,Olfr1384,ENSMUSG00000044170,protein_coding -49334,Ptx4,ENSMUSG00000044172,protein_coding -53602,Spink10,ENSMUSG00000044176,protein_coding -39294,Wfikkn2,ENSMUSG00000044177,protein_coding -33814,Nkx2-6,ENSMUSG00000044186,protein_coding -18545,Gpr146,ENSMUSG00000044197,protein_coding -28259,S1pr4,ENSMUSG00000044199,protein_coding -53063,Cdc25c,ENSMUSG00000044201,protein_coding -35250,Olfr983,ENSMUSG00000044205,protein_coding -8703,Vsig4,ENSMUSG00000044206,protein_coding -5146,Olfr1094,ENSMUSG00000044213,protein_coding -46407,Kcnj4,ENSMUSG00000044216,protein_coding -46926,Aqp5,ENSMUSG00000044217,protein_coding -55124,Nkx2-3,ENSMUSG00000044220,protein_coding -17165,Grsf1,ENSMUSG00000044221,protein_coding -29830,Defb13,ENSMUSG00000044222,protein_coding -45394,Dnajc21,ENSMUSG00000044224,protein_coding -48547,Gm9789,ENSMUSG00000044227,protein_coding -35511,Nxpe4,ENSMUSG00000044229,protein_coding -41350,Nhlrc1,ENSMUSG00000044231,protein_coding -38879,Bhlha9,ENSMUSG00000044243,protein_coding -36594,Il20rb,ENSMUSG00000044244,protein_coding -20732,Vmn1r45,ENSMUSG00000044248,protein_coding -6484,Defb29,ENSMUSG00000044249,protein_coding -46823,Pced1b,ENSMUSG00000044250,protein_coding -52824,Osbpl1a,ENSMUSG00000044252,protein_coding -14186,Pcsk9,ENSMUSG00000044254,protein_coding -41681,Ctla2a,ENSMUSG00000044258,protein_coding -25539,Olfm5,ENSMUSG00000044265,protein_coding -50553,Crb3,ENSMUSG00000044279,protein_coding -33143,Olfr221,ENSMUSG00000044286,protein_coding -31390,Nrn1l,ENSMUSG00000044287,protein_coding -13106,Cnr1,ENSMUSG00000044288,protein_coding -35243,Olfr978,ENSMUSG00000044292,protein_coding -29309,Olfr794,ENSMUSG00000044293,protein_coding -47018,Krt84,ENSMUSG00000044294,protein_coding -38027,Zfp879,ENSMUSG00000044296,protein_coding -13957,Cdkn2a,ENSMUSG00000044303,protein_coding -4751,Ubr3,ENSMUSG00000044308,protein_coding -46311,Apol7c,ENSMUSG00000044309,protein_coding -27731,Neurog3,ENSMUSG00000044312,protein_coding -11704,Mab21l3,ENSMUSG00000044313,protein_coding -22790,Gpr4,ENSMUSG00000044317,protein_coding -4167,1700001O22Rik,ENSMUSG00000044320,protein_coding -52888,Dsc1,ENSMUSG00000044322,protein_coding -38902,Trp53i13,ENSMUSG00000044328,protein_coding -1581,Ackr3,ENSMUSG00000044337,protein_coding -5021,Aplnr,ENSMUSG00000044338,protein_coding -17778,Alkbh2,ENSMUSG00000044339,protein_coding -1814,Phlpp1,ENSMUSG00000044340,protein_coding -55093,Marveld1,ENSMUSG00000044345,protein_coding -9333,Slc25a53,ENSMUSG00000044348,protein_coding -6696,Snhg11,ENSMUSG00000044349,protein_coding -33970,Lacc1,ENSMUSG00000044350,protein_coding -38107,Sowaha,ENSMUSG00000044352,protein_coding -8749,P2ry4,ENSMUSG00000044359,protein_coding -46229,BC024139,ENSMUSG00000044361,protein_coding -25130,Ccdc89,ENSMUSG00000044362,protein_coding -6449,Tmem74b,ENSMUSG00000044364,protein_coding -12366,Cxxc4,ENSMUSG00000044365,protein_coding -38619,Slc16a13,ENSMUSG00000044367,protein_coding -50751,Pcare,ENSMUSG00000044375,protein_coding -21806,Slc15a5,ENSMUSG00000044378,protein_coding -54245,Tigd3,ENSMUSG00000044390,protein_coding -52896,Dsg2,ENSMUSG00000044393,protein_coding -7776,Sowahd,ENSMUSG00000044400,protein_coding -6704,Adig,ENSMUSG00000044405,protein_coding -43616,Sptssa,ENSMUSG00000044408,protein_coding -1060,Cryga,ENSMUSG00000044429,protein_coding -23841,Klk12,ENSMUSG00000044430,protein_coding -29383,Camsap3,ENSMUSG00000044433,protein_coding -54576,Olfr1442,ENSMUSG00000044441,protein_coding -48492,N6amt1,ENSMUSG00000044442,protein_coding -41538,Pfn3,ENSMUSG00000044444,protein_coding -33796,Dock5,ENSMUSG00000044447,protein_coding -23616,Zfp507,ENSMUSG00000044452,protein_coding -23406,Ffar1,ENSMUSG00000044453,protein_coding -34715,Olfr867,ENSMUSG00000044454,protein_coding -44557,Rin3,ENSMUSG00000044456,protein_coding -33613,Shisa2,ENSMUSG00000044461,protein_coding -25624,Fam160a2,ENSMUSG00000044465,protein_coding -11671,Tent5c,ENSMUSG00000044468,protein_coding -50508,Tnfaip8l1,ENSMUSG00000044469,protein_coding -27679,Ascc1,ENSMUSG00000044475,protein_coding -49601,Zfand3,ENSMUSG00000044477,protein_coding -23864,Klk1b11,ENSMUSG00000044485,protein_coding -5168,Olfr1112,ENSMUSG00000044487,protein_coding -15387,2510039O18Rik,ENSMUSG00000044496,protein_coding -27287,Hs3st5,ENSMUSG00000044499,protein_coding -49179,Zfp758,ENSMUSG00000044501,protein_coding -37750,Bod1,ENSMUSG00000044502,protein_coding -11413,Lingo4,ENSMUSG00000044505,protein_coding -14337,Foxe3,ENSMUSG00000044518,protein_coding -32567,Zfp488,ENSMUSG00000044519,protein_coding -50523,Znrf4,ENSMUSG00000044526,protein_coding -12183,Tram1l1,ENSMUSG00000044528,protein_coding -49310,Rps2,ENSMUSG00000044533,protein_coding -37199,Ackr2,ENSMUSG00000044534,protein_coding -38034,Prop1,ENSMUSG00000044542,protein_coding -43911,Dact1,ENSMUSG00000044548,protein_coding -9316,Tceal3,ENSMUSG00000044550,protein_coding -33851,9930012K11Rik,ENSMUSG00000044551,protein_coding -14366,Tex38,ENSMUSG00000044556,protein_coding -5694,Olfr1302,ENSMUSG00000044560,protein_coding -24028,Rasip1,ENSMUSG00000044562,protein_coding -41176,Cage1,ENSMUSG00000044566,protein_coding -43324,Acp1,ENSMUSG00000044573,protein_coding -16131,Garem2,ENSMUSG00000044576,protein_coding -28305,4932415D10Rik,ENSMUSG00000044581,protein_coding -9840,Tlr7,ENSMUSG00000044583,protein_coding -1829,Serpinb3a,ENSMUSG00000044594,protein_coding -53139,Dnd1,ENSMUSG00000044595,protein_coding -7305,Mycs,ENSMUSG00000044597,protein_coding -30721,Smim7,ENSMUSG00000044600,protein_coding -29180,Zbtb39,ENSMUSG00000044617,protein_coding -26968,Gm4922,ENSMUSG00000044624,protein_coding -47622,Liph,ENSMUSG00000044626,protein_coding -4216,Swi5,ENSMUSG00000044627,protein_coding -3943,Rnf208,ENSMUSG00000044628,protein_coding -37527,Cnrip1,ENSMUSG00000044629,protein_coding -46971,Csrnp2,ENSMUSG00000044636,protein_coding -6936,Pard6b,ENSMUSG00000044641,protein_coding -53833,Zbtb7c,ENSMUSG00000044646,protein_coding -4678,Csrnp3,ENSMUSG00000044647,protein_coding -39553,Krtap4-2,ENSMUSG00000044649,protein_coding -36968,Prss42,ENSMUSG00000044664,protein_coding -12067,Plppr4,ENSMUSG00000044667,protein_coding -15671,Fzd1,ENSMUSG00000044674,protein_coding -31486,Zfp612,ENSMUSG00000044676,protein_coding -46157,Ly6k,ENSMUSG00000044678,protein_coding -16098,Cnpy1,ENSMUSG00000044681,protein_coding -15449,Tmem201,ENSMUSG00000044700,protein_coding -26135,Il27,ENSMUSG00000044701,protein_coding -26048,Palb2,ENSMUSG00000044702,protein_coding -33604,Phf11a,ENSMUSG00000044703,protein_coding -25594,Olfr670,ENSMUSG00000044705,protein_coding -37869,Ccnjl,ENSMUSG00000044707,protein_coding -2965,Kcnj10,ENSMUSG00000044708,protein_coding -22818,Gemin7,ENSMUSG00000044709,protein_coding -43949,Slc38a6,ENSMUSG00000044712,protein_coding -44673,Gskip,ENSMUSG00000044715,protein_coding -16313,Dok7,ENSMUSG00000044716,protein_coding -53133,E230025N22Rik,ENSMUSG00000044719,protein_coding -54114,Gpr152,ENSMUSG00000044724,protein_coding -45648,Erich5,ENSMUSG00000044726,protein_coding -14669,9930104L06Rik,ENSMUSG00000044730,protein_coding -41031,Serpinb1a,ENSMUSG00000044734,protein_coding -23836,Klk14,ENSMUSG00000044737,protein_coding -29823,Defb10,ENSMUSG00000044743,protein_coding -29819,Defb1,ENSMUSG00000044748,protein_coding -39951,Abca6,ENSMUSG00000044749,protein_coding -48165,Trmt10c,ENSMUSG00000044763,protein_coding -1732,D1Ertd622e,ENSMUSG00000044768,protein_coding -27405,Scml4,ENSMUSG00000044770,protein_coding -32153,Sntn,ENSMUSG00000044772,protein_coding -1547,Hjurp,ENSMUSG00000044783,protein_coding -23244,Zfp36,ENSMUSG00000044786,protein_coding -39779,Spata32,ENSMUSG00000044787,protein_coding -40015,Fads6,ENSMUSG00000044788,protein_coding -36958,Setd2,ENSMUSG00000044791,protein_coding -41647,Isca1,ENSMUSG00000044792,protein_coding -38547,Cyb5d1,ENSMUSG00000044795,protein_coding -35170,Olfr923,ENSMUSG00000044798,protein_coding -13329,Olfr159,ENSMUSG00000044801,protein_coding -38026,Zfp354c,ENSMUSG00000044807,protein_coding -40001,Cd300c2,ENSMUSG00000044811,protein_coding -13376,Shb,ENSMUSG00000044813,protein_coding -25394,Olfr543,ENSMUSG00000044814,protein_coding -1062,D630023F18Rik,ENSMUSG00000044816,protein_coding -34371,Oxgr1,ENSMUSG00000044819,protein_coding -35637,AY074887,ENSMUSG00000044820,protein_coding -25396,Olfr545,ENSMUSG00000044824,protein_coding -16740,Tlr1,ENSMUSG00000044827,protein_coding -2678,Ankrd45,ENSMUSG00000044835,protein_coding -37902,Lsm11,ENSMUSG00000044847,protein_coding -3236,1700056E22Rik,ENSMUSG00000044854,protein_coding -49464,Lemd2,ENSMUSG00000044857,protein_coding -36562,Gm1123,ENSMUSG00000044860,protein_coding -6490,Defb36,ENSMUSG00000044863,protein_coding -10360,Ankrd50,ENSMUSG00000044864,protein_coding -22197,Zfp444,ENSMUSG00000044876,protein_coding -25323,Coa4,ENSMUSG00000044881,protein_coding -38101,Uqcrq,ENSMUSG00000044894,protein_coding -29342,Olfr821,ENSMUSG00000044897,protein_coding -25542,Olfr649,ENSMUSG00000044899,protein_coding -22754,Psg22,ENSMUSG00000044903,protein_coding -53769,4930503L19Rik,ENSMUSG00000044906,protein_coding -43965,Syt16,ENSMUSG00000044912,protein_coding -5426,1700029I15Rik,ENSMUSG00000044916,protein_coding -28730,Rassf9,ENSMUSG00000044921,protein_coding -5077,Olfr1030,ENSMUSG00000044923,protein_coding -20673,H1fx,ENSMUSG00000044927,protein_coding -46353,Sstr3,ENSMUSG00000044933,protein_coding -41793,Zfp367,ENSMUSG00000044934,protein_coding -28424,Ttc41,ENSMUSG00000044937,protein_coding -36149,Klhl31,ENSMUSG00000044938,protein_coding -55262,Cfap43,ENSMUSG00000044948,protein_coding -37770,Ubtd2,ENSMUSG00000044949,protein_coding -37875,Pwwp2a,ENSMUSG00000044950,protein_coding -41027,Mylk4,ENSMUSG00000044951,protein_coding -25219,Kctd21,ENSMUSG00000044952,protein_coding -50444,Pp2d1,ENSMUSG00000044957,protein_coding -37524,Fbxo48,ENSMUSG00000044966,protein_coding -15934,Napepld,ENSMUSG00000044968,protein_coding -36080,Wdr72,ENSMUSG00000044976,protein_coding -53004,Sft2d3,ENSMUSG00000044982,protein_coding -50107,Olfr124,ENSMUSG00000044985,protein_coding -46345,Tst,ENSMUSG00000044986,protein_coding -40336,Ucn3,ENSMUSG00000044988,protein_coding -6183,Shld1,ENSMUSG00000044991,protein_coding -54543,Olfr1426,ENSMUSG00000044994,protein_coding -15161,Spata21,ENSMUSG00000045004,protein_coding -1047,Fzd5,ENSMUSG00000045005,protein_coding -39659,Tubg2,ENSMUSG00000045007,protein_coding -21051,Prrt3,ENSMUSG00000045009,protein_coding -8789,Gm4779,ENSMUSG00000045010,protein_coding -25690,Olfr711,ENSMUSG00000045013,protein_coding -50542,Acer1,ENSMUSG00000045019,protein_coding -42467,1700024P04Rik,ENSMUSG00000045022,protein_coding -49260,Prss22,ENSMUSG00000045027,protein_coding -54577,Olfr1443,ENSMUSG00000045030,protein_coding -10322,Cetn4,ENSMUSG00000045031,protein_coding -42315,Ankrd34b,ENSMUSG00000045034,protein_coding -50630,Tmem232,ENSMUSG00000045036,protein_coding -50966,Prkce,ENSMUSG00000045038,protein_coding -23108,Megf8,ENSMUSG00000045039,protein_coding -54142,Lrfn4,ENSMUSG00000045045,protein_coding -55423,Prlhr,ENSMUSG00000045052,protein_coding -50911,Kcng3,ENSMUSG00000045053,protein_coding -53179,Pcdhb7,ENSMUSG00000045062,protein_coding -44214,Zc2hc1c,ENSMUSG00000045064,protein_coding -39932,9930022D16Rik,ENSMUSG00000045065,protein_coding -13604,E130308A19Rik,ENSMUSG00000045071,protein_coding -18616,Rnf216,ENSMUSG00000045078,protein_coding -13139,Lingo2,ENSMUSG00000045083,protein_coding -34779,S1pr5,ENSMUSG00000045087,protein_coding -1659,Aqp12,ENSMUSG00000045091,protein_coding -12013,S1pr1,ENSMUSG00000045092,protein_coding -53582,Arhgef37,ENSMUSG00000045094,protein_coding -20826,Magi1,ENSMUSG00000045095,protein_coding -54083,Kmt5b,ENSMUSG00000045098,protein_coding -20833,Slc25a26,ENSMUSG00000045100,protein_coding -16276,Poln,ENSMUSG00000045102,protein_coding -8537,Dmd,ENSMUSG00000045103,protein_coding -5578,Ccdc73,ENSMUSG00000045106,protein_coding -32275,Saysd1,ENSMUSG00000045107,protein_coding -39554,Krtap4-7,ENSMUSG00000045109,protein_coding -27077,Taar6,ENSMUSG00000045111,protein_coding -26178,Prrt2,ENSMUSG00000045114,protein_coding -54586,Olfr1445,ENSMUSG00000045126,protein_coding -30633,Rpl18a,ENSMUSG00000045128,protein_coding -25490,Olfr620,ENSMUSG00000045132,protein_coding -41079,Tubb2b,ENSMUSG00000045136,protein_coding -39129,Pigw,ENSMUSG00000045140,protein_coding -5334,Olfr1255,ENSMUSG00000045148,protein_coding -5237,Olfr1161,ENSMUSG00000045150,protein_coding -20498,Bola3,ENSMUSG00000045160,protein_coding -26187,AI467606,ENSMUSG00000045165,protein_coding -473,Amer3,ENSMUSG00000045174,protein_coding -38525,Borcs6,ENSMUSG00000045176,protein_coding -8141,Sox3,ENSMUSG00000045179,protein_coding -9610,Shroom2,ENSMUSG00000045180,protein_coding -28154,Cirbp,ENSMUSG00000045193,protein_coding -32193,Lrrc3b,ENSMUSG00000045201,protein_coding -50106,Olfr123,ENSMUSG00000045202,protein_coding -34673,Olfr835,ENSMUSG00000045204,protein_coding -12864,Dpy19l4,ENSMUSG00000045205,protein_coding -108,Vcpip1,ENSMUSG00000045210,protein_coding -33872,Nudt18,ENSMUSG00000045211,protein_coding -52917,Asxl3,ENSMUSG00000045215,protein_coding -500,Hs6st1,ENSMUSG00000045216,protein_coding -5226,Olfr1152,ENSMUSG00000045225,protein_coding -30906,Rln3,ENSMUSG00000045232,protein_coding -26636,Krtap5-4,ENSMUSG00000045236,protein_coding -8250,1110012L19Rik,ENSMUSG00000045237,protein_coding -31620,Kcng4,ENSMUSG00000045246,protein_coding -30717,Med26,ENSMUSG00000045248,protein_coding -26212,Zfp688,ENSMUSG00000045251,protein_coding -23093,Zfp574,ENSMUSG00000045252,protein_coding -50876,Morn2,ENSMUSG00000045257,protein_coding -2914,Klhdc9,ENSMUSG00000045259,protein_coding -45617,Tas2r119,ENSMUSG00000045267,protein_coding -14514,Zfp691,ENSMUSG00000045268,protein_coding -42512,Cenph,ENSMUSG00000045273,protein_coding -48724,Lca5l,ENSMUSG00000045275,protein_coding -46132,Gpr20,ENSMUSG00000045281,protein_coding -22119,Tmem86b,ENSMUSG00000045282,protein_coding -7903,Dcaf12l1,ENSMUSG00000045284,protein_coding -38834,Rtn4rl1,ENSMUSG00000045287,protein_coding -40017,Ush1g,ENSMUSG00000045288,protein_coding -21772,E330021D16Rik,ENSMUSG00000045291,protein_coding -16095,Insig1,ENSMUSG00000045294,protein_coding -16164,Preb,ENSMUSG00000045302,protein_coding -33042,Olfr734,ENSMUSG00000045306,protein_coding -42351,Lhfpl2,ENSMUSG00000045312,protein_coding -17261,Sowahb,ENSMUSG00000045314,protein_coding -49321,Fahd1,ENSMUSG00000045316,protein_coding -16315,Adra2c,ENSMUSG00000045318,protein_coding -3513,Proser2,ENSMUSG00000045319,protein_coding -36735,Tlr9,ENSMUSG00000045322,protein_coding -11953,Fndc7,ENSMUSG00000045326,protein_coding -12381,Cenpe,ENSMUSG00000045328,protein_coding -8162,4933402E13Rik,ENSMUSG00000045330,protein_coding -48515,2310079G19Rik,ENSMUSG00000045331,protein_coding -31031,Zfp423,ENSMUSG00000045333,protein_coding -856,Hsfy2,ENSMUSG00000045336,protein_coding -29825,Defb11,ENSMUSG00000045337,protein_coding -22353,Vmn1r70,ENSMUSG00000045340,protein_coding -47540,Olfr167,ENSMUSG00000045341,protein_coding -18466,Nyap1,ENSMUSG00000045348,protein_coding -15077,Sh2d5,ENSMUSG00000045349,protein_coding -46949,Fam186a,ENSMUSG00000045350,protein_coding -26694,Tnfrsf26,ENSMUSG00000045362,protein_coding -13946,Ifne,ENSMUSG00000045364,protein_coding -38842,Wdr81,ENSMUSG00000045374,protein_coding -38549,Tmem88,ENSMUSG00000045377,protein_coding -49550,Pxt1,ENSMUSG00000045378,protein_coding -3022,Olfr433,ENSMUSG00000045381,protein_coding -2059,Cxcr4,ENSMUSG00000045382,protein_coding -5080,Olfr1033,ENSMUSG00000045392,protein_coding -51000,Epcam,ENSMUSG00000045394,protein_coding -54647,Olfr1499,ENSMUSG00000045395,protein_coding -44502,Kcnk13,ENSMUSG00000045404,protein_coding -50004,Trim39,ENSMUSG00000045409,protein_coding -40356,Akr1e1,ENSMUSG00000045410,protein_coding -23898,2410002F23Rik,ENSMUSG00000045411,protein_coding -36462,Dipk2a,ENSMUSG00000045414,protein_coding -49113,Vmn1r230,ENSMUSG00000045417,protein_coding -37977,Olfr1390,ENSMUSG00000045421,protein_coding -9232,Hnrnph2,ENSMUSG00000045427,protein_coding -15914,Tmem60,ENSMUSG00000045435,protein_coding -18541,Cox19,ENSMUSG00000045438,protein_coding -43659,Insm2,ENSMUSG00000045440,protein_coding -19948,Gprin3,ENSMUSG00000045441,protein_coding -19642,Zfp956,ENSMUSG00000045466,protein_coding -24867,Ttll13,ENSMUSG00000045467,protein_coding -39642,Hcrt,ENSMUSG00000045471,protein_coding -40653,Olfr1368,ENSMUSG00000045474,protein_coding -11330,Lce3c,ENSMUSG00000045475,protein_coding -19515,Olfr459,ENSMUSG00000045479,protein_coding -18678,Trrap,ENSMUSG00000045482,protein_coding -7193,Bhlhe23,ENSMUSG00000045493,protein_coding -53174,Pcdhb3,ENSMUSG00000045498,protein_coding -18106,Hcar2,ENSMUSG00000045502,protein_coding -6812,Sys1,ENSMUSG00000045503,protein_coding -50618,A930002H24Rik,ENSMUSG00000045506,protein_coding -40659,Olfr1367,ENSMUSG00000045508,protein_coding -42147,Gpr150,ENSMUSG00000045509,protein_coding -19420,Olfr460,ENSMUSG00000045514,protein_coding -637,Pou3f3,ENSMUSG00000045515,protein_coding -28179,Onecut3,ENSMUSG00000045518,protein_coding -34728,Zfp560,ENSMUSG00000045519,protein_coding -47467,Tssk2,ENSMUSG00000045521,protein_coding -35127,Olfr891,ENSMUSG00000045528,protein_coding -39767,C1ql1,ENSMUSG00000045532,protein_coding -21420,Kcna5,ENSMUSG00000045534,protein_coding -31405,Ddx28,ENSMUSG00000045538,protein_coding -11299,Sprr3,ENSMUSG00000045539,protein_coding -25469,Olfr600,ENSMUSG00000045540,protein_coding -39607,Krt14,ENSMUSG00000045545,protein_coding -49047,Fpr1,ENSMUSG00000045551,protein_coding -27357,Mettl24,ENSMUSG00000045555,protein_coding -29352,Olfr827,ENSMUSG00000045559,protein_coding -11302,Sprr4,ENSMUSG00000045566,protein_coding -53744,Mc2r,ENSMUSG00000045569,protein_coding -12791,Penk,ENSMUSG00000045573,protein_coding -49120,Vmn1r233,ENSMUSG00000045575,protein_coding -11814,St7l,ENSMUSG00000045576,protein_coding -25687,Olfr710,ENSMUSG00000045581,protein_coding -25480,Olfr610,ENSMUSG00000045584,protein_coding -23073,Lypd10,ENSMUSG00000045587,protein_coding -13557,Frrs1l,ENSMUSG00000045589,protein_coding -26980,Olig3,ENSMUSG00000045591,protein_coding -37031,Glb1,ENSMUSG00000045594,protein_coding -26197,Zfp553,ENSMUSG00000045598,protein_coding -46795,Dbx2,ENSMUSG00000045608,protein_coding -19340,Chrm2,ENSMUSG00000045613,protein_coding -35677,Odf3l1,ENSMUSG00000045620,protein_coding -6251,Esf1,ENSMUSG00000045624,protein_coding -47790,Pigz,ENSMUSG00000045625,protein_coding -53596,Sh3tc2,ENSMUSG00000045629,protein_coding -46959,Tmprss12,ENSMUSG00000045631,protein_coding -30165,Mtus1,ENSMUSG00000045636,protein_coding -26232,Zfp629,ENSMUSG00000045639,protein_coding -1136,Vwc2l,ENSMUSG00000045648,protein_coding -33987,Fam216b,ENSMUSG00000045655,protein_coding -53182,Pcdhb10,ENSMUSG00000045657,protein_coding -1391,Pid1,ENSMUSG00000045658,protein_coding -25911,Plekha7,ENSMUSG00000045659,protein_coding -11957,Henmt1,ENSMUSG00000045662,protein_coding -54248,Cdc42ep2,ENSMUSG00000045664,protein_coding -47064,Mfsd5,ENSMUSG00000045665,protein_coding -38714,Smtnl2,ENSMUSG00000045667,protein_coding -37566,Spred2,ENSMUSG00000045671,protein_coding -13689,Col27a1,ENSMUSG00000045672,protein_coding -54636,Olfr1489,ENSMUSG00000045678,protein_coding -43036,Pqlc3,ENSMUSG00000045679,protein_coding -27059,Tcf21,ENSMUSG00000045680,protein_coding -3988,Lcn6,ENSMUSG00000045684,protein_coding -53176,Pcdhb4,ENSMUSG00000045689,protein_coding -43982,Wdr89,ENSMUSG00000045690,protein_coding -33453,Thtpa,ENSMUSG00000045691,protein_coding -22998,Nlrp4e,ENSMUSG00000045693,protein_coding -15340,Gm21411,ENSMUSG00000045699,protein_coding -19560,Olfr447,ENSMUSG00000045708,protein_coding -19826,Prr15,ENSMUSG00000045725,protein_coding -53598,Adrb2,ENSMUSG00000045730,protein_coding -33748,Pnoc,ENSMUSG00000045731,protein_coding -26503,Sprn,ENSMUSG00000045733,protein_coding -49290,Bricd5,ENSMUSG00000045744,protein_coding -13014,Mms22l,ENSMUSG00000045751,protein_coding -26669,Tssc4,ENSMUSG00000045752,protein_coding -26210,Zfp764,ENSMUSG00000045757,protein_coding -50749,Togaram2,ENSMUSG00000045761,protein_coding -45538,Basp1,ENSMUSG00000045763,protein_coding -41556,B230219D22Rik,ENSMUSG00000045767,protein_coding -40028,Slc16a5,ENSMUSG00000045775,protein_coding -32441,Lrtm1,ENSMUSG00000045776,protein_coding -26638,Ifitm10,ENSMUSG00000045777,protein_coding -25494,Olfr624,ENSMUSG00000045780,protein_coding -16590,Ccdc149,ENSMUSG00000045790,protein_coding -25441,Olfr578,ENSMUSG00000045792,protein_coding -7243,Lkaaear1,ENSMUSG00000045794,protein_coding -24916,Whamm,ENSMUSG00000045795,protein_coding -7431,4930402K13Rik,ENSMUSG00000045797,protein_coding -8704,Hsf3,ENSMUSG00000045802,protein_coding -35251,Olfr984,ENSMUSG00000045812,protein_coding -50926,Zfp36l2,ENSMUSG00000045817,protein_coding -6843,Zswim3,ENSMUSG00000045822,protein_coding -25437,Olfr574,ENSMUSG00000045824,protein_coding -54116,Ptprcap,ENSMUSG00000045826,protein_coding -41037,Serpinb9,ENSMUSG00000045827,protein_coding -40927,Hdgfl1,ENSMUSG00000045835,protein_coding -5813,Ccdc9b,ENSMUSG00000045838,protein_coding -13085,Lyrm2,ENSMUSG00000045854,protein_coding -28593,Cradd,ENSMUSG00000045867,protein_coding -25660,Gvin1,ENSMUSG00000045868,protein_coding -34294,Slitrk6,ENSMUSG00000045871,protein_coding -33769,Adra1a,ENSMUSG00000045875,protein_coding -53180,Pcdhb8,ENSMUSG00000045876,protein_coding -54603,Olfr1461,ENSMUSG00000045883,protein_coding -27422,Gm9803,ENSMUSG00000045886,protein_coding -20524,Paip2b,ENSMUSG00000045896,protein_coding -54164,Npas4,ENSMUSG00000045903,protein_coding -28106,C2cd4c,ENSMUSG00000045912,protein_coding -38509,Ccdc42,ENSMUSG00000045915,protein_coding -13699,Tmem268,ENSMUSG00000045917,protein_coding -22212,Gm20715,ENSMUSG00000045929,protein_coding -43703,Clec14a,ENSMUSG00000045930,protein_coding -54938,Ifit2,ENSMUSG00000045932,protein_coding -11515,Mtmr11,ENSMUSG00000045934,protein_coding -38051,BC049762,ENSMUSG00000045942,protein_coding -23265,Mrps12,ENSMUSG00000045948,protein_coding -758,Cavin2,ENSMUSG00000045954,protein_coding -21200,Wnk1,ENSMUSG00000045962,protein_coding -3855,Gpr158,ENSMUSG00000045967,protein_coding -2519,Teddm2,ENSMUSG00000045968,protein_coding -29558,Ing1,ENSMUSG00000045969,protein_coding -13374,Slc25a51,ENSMUSG00000045973,protein_coding -48748,C2cd2,ENSMUSG00000045975,protein_coding -40011,Tmem104,ENSMUSG00000045980,protein_coding -47585,Eif4g1,ENSMUSG00000045983,protein_coding -26158,4930451I11Rik,ENSMUSG00000045989,protein_coding -53633,Onecut2,ENSMUSG00000045991,protein_coding -34903,B3gat1,ENSMUSG00000045994,protein_coding -45679,Polr2k,ENSMUSG00000045996,protein_coding -17352,Naa11,ENSMUSG00000046000,protein_coding -42622,Gapt,ENSMUSG00000046006,protein_coding -55386,Pnlip,ENSMUSG00000046008,protein_coding -39045,Zfp830,ENSMUSG00000046010,protein_coding -40679,Olfr1364,ENSMUSG00000046016,protein_coding -6518,Pofut1,ENSMUSG00000046020,protein_coding -24967,Stard5,ENSMUSG00000046027,protein_coding -27263,Calhm6,ENSMUSG00000046031,protein_coding -8764,Snx12,ENSMUSG00000046032,protein_coding -45566,Otulin,ENSMUSG00000046034,protein_coding -29319,Olfr803,ENSMUSG00000046041,protein_coding -33718,Rp1l1,ENSMUSG00000046049,protein_coding -23401,Sbsn,ENSMUSG00000046056,protein_coding -23234,Eid2,ENSMUSG00000046058,protein_coding -2167,Ppp1r15b,ENSMUSG00000046062,protein_coding -49322,Igfals,ENSMUSG00000046070,protein_coding -17507,Lrrc8d,ENSMUSG00000046079,protein_coding -21545,Clec9a,ENSMUSG00000046080,protein_coding -42455,Tmem174,ENSMUSG00000046082,protein_coding -5551,4931422A03Rik,ENSMUSG00000046085,protein_coding -14612,Hpcal4,ENSMUSG00000046093,protein_coding -39599,Krt32,ENSMUSG00000046095,protein_coding -26009,Mosmo,ENSMUSG00000046096,protein_coding -113,Mcmdc2,ENSMUSG00000046101,protein_coding -31701,Il17c,ENSMUSG00000046108,protein_coding -5912,Serinc4,ENSMUSG00000046110,protein_coding -34621,Cep295,ENSMUSG00000046111,protein_coding -23154,Vmn1r184,ENSMUSG00000046130,protein_coding -14132,C130073F10Rik,ENSMUSG00000046133,protein_coding -54861,9930021J03Rik,ENSMUSG00000046138,protein_coding -54531,Patl1,ENSMUSG00000046139,protein_coding -35161,Olfr918,ENSMUSG00000046150,protein_coding -30018,Fut10,ENSMUSG00000046152,protein_coding -44043,Tmem229b,ENSMUSG00000046157,protein_coding -40439,Chrm3,ENSMUSG00000046159,protein_coding -48602,Olig1,ENSMUSG00000046160,protein_coding -35622,Gldn,ENSMUSG00000046167,protein_coding -33652,Kcnrg,ENSMUSG00000046168,protein_coding -42562,Adamts6,ENSMUSG00000046169,protein_coding -48881,Pabpc6,ENSMUSG00000046173,protein_coding -18996,Nxph1,ENSMUSG00000046178,protein_coding -24163,E2f8,ENSMUSG00000046179,protein_coding -8117,4930550L24Rik,ENSMUSG00000046180,protein_coding -26108,Gsg1l,ENSMUSG00000046182,protein_coding -23313,Zfp84,ENSMUSG00000046185,protein_coding -36193,Cd109,ENSMUSG00000046186,protein_coding -53194,Pcdhb20,ENSMUSG00000046191,protein_coding -19147,Iqub,ENSMUSG00000046192,protein_coding -50872,Ttc39d,ENSMUSG00000046196,protein_coding -48763,Scaf8,ENSMUSG00000046201,protein_coding -33774,Pnma2,ENSMUSG00000046204,protein_coding -38506,Pik3r6,ENSMUSG00000046207,protein_coding -33043,Olfr735,ENSMUSG00000046210,protein_coding -11873,Cym,ENSMUSG00000046213,protein_coding -39792,Rprml,ENSMUSG00000046215,protein_coding -23056,Plaur,ENSMUSG00000046223,protein_coding -6620,Scand1,ENSMUSG00000046229,protein_coding -54676,Vps13a,ENSMUSG00000046230,protein_coding -35088,Hepacam,ENSMUSG00000046240,protein_coding -36576,Nme9,ENSMUSG00000046242,protein_coding -18471,Pilra,ENSMUSG00000046245,protein_coding -26625,Krtap5-3,ENSMUSG00000046248,protein_coding -30359,Adam29,ENSMUSG00000046258,protein_coding -11293,Sprr2h,ENSMUSG00000046259,protein_coding -15257,C87977,ENSMUSG00000046262,protein_coding -7334,Usp27x,ENSMUSG00000046269,protein_coding -54585,Olfr1444,ENSMUSG00000046272,protein_coding -38880,Trarg1,ENSMUSG00000046275,protein_coding -11203,She,ENSMUSG00000046280,protein_coding -30159,Adam20,ENSMUSG00000046282,protein_coding -8312,Pnma3,ENSMUSG00000046287,protein_coding -30650,Ankle1,ENSMUSG00000046295,protein_coding -1637,Olfr1412,ENSMUSG00000046300,protein_coding -37971,Zfp62,ENSMUSG00000046311,protein_coding -13217,Myorg,ENSMUSG00000046312,protein_coding -43520,Stxbp6,ENSMUSG00000046314,protein_coding -11557,BC107364,ENSMUSG00000046317,protein_coding -53686,Ccbe1,ENSMUSG00000046318,protein_coding -26033,Hs3st2,ENSMUSG00000046321,protein_coding -21274,Dppa3,ENSMUSG00000046323,protein_coding -54859,Ermp1,ENSMUSG00000046324,protein_coding -50552,Slc25a23,ENSMUSG00000046329,protein_coding -1171,Rpl37a,ENSMUSG00000046330,protein_coding -522,Fam178b,ENSMUSG00000046337,protein_coding -6016,Gpat2,ENSMUSG00000046338,protein_coding -47810,Smco1,ENSMUSG00000046345,protein_coding -40826,Zfp322a,ENSMUSG00000046351,protein_coding -33560,Gjb2,ENSMUSG00000046352,protein_coding -29708,Defb14,ENSMUSG00000046354,protein_coding -25799,Rpl27a,ENSMUSG00000046364,protein_coding -2218,Mgat4e,ENSMUSG00000046367,protein_coding -26170,Asphd1,ENSMUSG00000046378,protein_coding -46145,Jrk,ENSMUSG00000046380,protein_coding -53191,Pcdhb17,ENSMUSG00000046387,protein_coding -25479,Olfr609,ENSMUSG00000046396,protein_coding -36537,Rbp1,ENSMUSG00000046402,protein_coding -2087,Yod1,ENSMUSG00000046404,protein_coding -30900,1700067K01Rik,ENSMUSG00000046408,protein_coding -23297,Kcnk6,ENSMUSG00000046410,protein_coding -38416,Lrrc75a,ENSMUSG00000046417,protein_coding -25784,Olfr518,ENSMUSG00000046431,protein_coding -9295,Bex3,ENSMUSG00000046432,protein_coding -47119,Hnrnpa1,ENSMUSG00000046434,protein_coding -15239,Gm13078,ENSMUSG00000046435,protein_coding -23538,Scgb2b24,ENSMUSG00000046438,protein_coding -31490,Cmtr2,ENSMUSG00000046441,protein_coding -39184,Ppm1e,ENSMUSG00000046442,protein_coding -15088,Camk2n1,ENSMUSG00000046447,protein_coding -8891,Nexmif,ENSMUSG00000046449,protein_coding -13325,Olfr71,ENSMUSG00000046450,protein_coding -22125,Tmem150b,ENSMUSG00000046456,protein_coding -35624,Sh2d7,ENSMUSG00000046460,protein_coding -7240,Sox18,ENSMUSG00000046470,protein_coding -39576,Krtap4-16,ENSMUSG00000046474,protein_coding -35440,Scn4b,ENSMUSG00000046480,protein_coding -3030,Olfr231,ENSMUSG00000046486,protein_coding -38512,Rnf222,ENSMUSG00000046490,protein_coding -37868,C1qtnf2,ENSMUSG00000046491,protein_coding -28093,Olfr1352,ENSMUSG00000046493,protein_coding -20856,Tafa4,ENSMUSG00000046500,protein_coding -47971,Cox17,ENSMUSG00000046516,protein_coding -43392,Ferd3l,ENSMUSG00000046518,protein_coding -11486,Golph3l,ENSMUSG00000046519,protein_coding -33953,Kctd4,ENSMUSG00000046523,protein_coding -8719,Ar,ENSMUSG00000046532,protein_coding -23100,Zfp526,ENSMUSG00000046541,protein_coding -47754,Fam43a,ENSMUSG00000046546,protein_coding -9635,Spin2c,ENSMUSG00000046550,protein_coding -31200,Zfp319,ENSMUSG00000046556,protein_coding -12201,Arsj,ENSMUSG00000046561,protein_coding -17820,Unc119b,ENSMUSG00000046562,protein_coding -28714,4930430F08Rik,ENSMUSG00000046567,protein_coding -16387,Zfp518b,ENSMUSG00000046572,protein_coding -41128,Lyrm4,ENSMUSG00000046573,protein_coding -23963,Prr12,ENSMUSG00000046574,protein_coding -55268,Cfap58,ENSMUSG00000046585,protein_coding -29421,Lrrc8e,ENSMUSG00000046589,protein_coding -24837,Ticrr,ENSMUSG00000046591,protein_coding -13177,Tmem215,ENSMUSG00000046593,protein_coding -47776,Bdh1,ENSMUSG00000046598,protein_coding -37234,Tcaim,ENSMUSG00000046603,protein_coding -40296,B3gntl1,ENSMUSG00000046605,protein_coding -17912,Hrk,ENSMUSG00000046607,protein_coding -53669,Oacyl,ENSMUSG00000046610,protein_coding -47575,Vwa5b2,ENSMUSG00000046613,protein_coding -7913,Actrt1,ENSMUSG00000046615,protein_coding -4431,Olfml2a,ENSMUSG00000046618,protein_coding -14737,Gjb4,ENSMUSG00000046623,protein_coding -37463,Pkd1l1,ENSMUSG00000046634,protein_coding -15550,Ttc34,ENSMUSG00000046637,protein_coding -2994,Olfr218,ENSMUSG00000046643,protein_coding -54562,Olfr1440,ENSMUSG00000046650,protein_coding -19535,Tas2r143,ENSMUSG00000046652,protein_coding -18628,Zfp316,ENSMUSG00000046658,protein_coding -12890,Rbm12b1,ENSMUSG00000046667,protein_coding -53108,Cxxc5,ENSMUSG00000046668,protein_coding -14969,Mtfr1l,ENSMUSG00000046671,protein_coding -44571,Tmem251,ENSMUSG00000046675,protein_coding -11325,Lce1l,ENSMUSG00000046676,protein_coding -35246,Olfr981,ENSMUSG00000046678,protein_coding -20608,C87436,ENSMUSG00000046679,protein_coding -12247,Tifa,ENSMUSG00000046688,protein_coding -31425,Chtf8,ENSMUSG00000046691,protein_coding -14917,Tent5b,ENSMUSG00000046694,protein_coding -40167,Enpp7,ENSMUSG00000046697,protein_coding -8176,Slitrk4,ENSMUSG00000046699,protein_coding -31204,Csnk2a2,ENSMUSG00000046707,protein_coding -49484,Hmga1,ENSMUSG00000046711,protein_coding -31663,Foxc2,ENSMUSG00000046714,protein_coding -22345,Vmn1r67,ENSMUSG00000046716,protein_coding -21813,Igbp1b,ENSMUSG00000046717,protein_coding -30659,Bst2,ENSMUSG00000046718,protein_coding -39345,Nxph3,ENSMUSG00000046719,protein_coding -11465,Cdc42se1,ENSMUSG00000046722,protein_coding -30152,Adam24,ENSMUSG00000046723,protein_coding -53121,Cystm1,ENSMUSG00000046727,protein_coding -38593,Kctd11,ENSMUSG00000046731,protein_coding -21747,Gprc5a,ENSMUSG00000046733,protein_coding -10365,Fat4,ENSMUSG00000046743,protein_coding -48182,Tmem45a2,ENSMUSG00000046748,protein_coding -23236,Selenov,ENSMUSG00000046750,protein_coding -32426,Ccdc66,ENSMUSG00000046753,protein_coding -39275,Kif2b,ENSMUSG00000046755,protein_coding -40037,Mrps7,ENSMUSG00000046756,protein_coding -46219,Fam83h,ENSMUSG00000046761,protein_coding -43977,Rhoj,ENSMUSG00000046768,protein_coding -8790,8030474K03Rik,ENSMUSG00000046774,protein_coding -43696,Ttc6,ENSMUSG00000046782,protein_coding -36993,Epm2aip1,ENSMUSG00000046785,protein_coding -14488,Olfr1341,ENSMUSG00000046790,protein_coding -44158,Riox1,ENSMUSG00000046791,protein_coding -22193,Zfp787,ENSMUSG00000046792,protein_coding -11916,Gpr61,ENSMUSG00000046793,protein_coding -30086,Ppp1r3b,ENSMUSG00000046794,protein_coding -15688,Cldn12,ENSMUSG00000046798,protein_coding -5814,Phgr1,ENSMUSG00000046804,protein_coding -54565,Mpeg1,ENSMUSG00000046805,protein_coding -19322,Cyren,ENSMUSG00000046806,protein_coding -27932,Lrrc75b,ENSMUSG00000046807,protein_coding -38642,Gltpd2,ENSMUSG00000046811,protein_coding -5828,Gchfr,ENSMUSG00000046814,protein_coding -12420,Ddit4l,ENSMUSG00000046818,protein_coding -28217,Slc39a3,ENSMUSG00000046822,protein_coding -23419,Fam187b,ENSMUSG00000046826,protein_coding -675,Mettl21e,ENSMUSG00000046828,protein_coding -47043,Krt1,ENSMUSG00000046834,protein_coding -3222,Brox,ENSMUSG00000046836,protein_coding -28352,Ckap4,ENSMUSG00000046841,protein_coding -31559,Vat1l,ENSMUSG00000046844,protein_coding -3899,Il1f10,ENSMUSG00000046845,protein_coding -35811,Spesp1,ENSMUSG00000046846,protein_coding -4233,Pip5kl1,ENSMUSG00000046854,protein_coding -1012,Gpr1,ENSMUSG00000046856,protein_coding -14418,Hectd3,ENSMUSG00000046861,protein_coding -15223,Pramef8,ENSMUSG00000046862,protein_coding -23230,Fbl,ENSMUSG00000046865,protein_coding -9698,Mbtps2,ENSMUSG00000046873,protein_coding -41328,Atxn1,ENSMUSG00000046876,protein_coding -37954,Irgm1,ENSMUSG00000046879,protein_coding -30694,Olfr374,ENSMUSG00000046881,protein_coding -53448,Zfp474,ENSMUSG00000046886,protein_coding -47060,Zfp740,ENSMUSG00000046897,protein_coding -40952,Prl7a2,ENSMUSG00000046899,protein_coding -33500,Ltb4r1,ENSMUSG00000046908,protein_coding -39005,Tefm,ENSMUSG00000046909,protein_coding -54593,Olfr1451,ENSMUSG00000046913,protein_coding -26772,Myct1,ENSMUSG00000046916,protein_coding -27363,Gpr6,ENSMUSG00000046922,protein_coding -23023,Vmn1r179,ENSMUSG00000046924,protein_coding -40748,Vmn1r193,ENSMUSG00000046932,protein_coding -28683,Csl,ENSMUSG00000046934,protein_coding -8513,Mageb16,ENSMUSG00000046942,protein_coding -19395,Adck2,ENSMUSG00000046947,protein_coding -41070,Nqo2,ENSMUSG00000046949,protein_coding -42318,Spz1,ENSMUSG00000046957,protein_coding -17602,Slc26a1,ENSMUSG00000046959,protein_coding -47962,Gpr156,ENSMUSG00000046961,protein_coding -48750,Zbtb21,ENSMUSG00000046962,protein_coding -5872,Pla2g4f,ENSMUSG00000046971,protein_coding -37927,BC053393,ENSMUSG00000046974,protein_coding -5065,Olfr1020,ENSMUSG00000046975,protein_coding -53984,Tshz1,ENSMUSG00000046982,protein_coding -16457,Tapt1,ENSMUSG00000046985,protein_coding -48980,Wdr27,ENSMUSG00000046991,protein_coding -842,Mars2,ENSMUSG00000046994,protein_coding -36516,Spsb4,ENSMUSG00000046997,protein_coding -10829,1110032F04Rik,ENSMUSG00000046999,protein_coding -42941,Msgn1,ENSMUSG00000047002,protein_coding -46197,Zfp41,ENSMUSG00000047003,protein_coding -20565,Fbxo41,ENSMUSG00000047013,protein_coding -44541,Catsperb,ENSMUSG00000047014,protein_coding -1230,Cfap65,ENSMUSG00000047021,protein_coding -43690,Mipol1,ENSMUSG00000047022,protein_coding -28652,Ccer1,ENSMUSG00000047025,protein_coding -25977,Acsm4,ENSMUSG00000047026,protein_coding -6915,Spata2,ENSMUSG00000047030,protein_coding -22349,Vmn1r68,ENSMUSG00000047031,protein_coding -53189,Pcdhb15,ENSMUSG00000047033,protein_coding -46991,Ankrd33,ENSMUSG00000047034,protein_coding -37237,Zfp445,ENSMUSG00000047036,protein_coding -24237,Nipa1,ENSMUSG00000047037,protein_coding -5225,Olfr1151,ENSMUSG00000047039,protein_coding -39410,Prr15l,ENSMUSG00000047040,protein_coding -54703,D030056L22Rik,ENSMUSG00000047044,protein_coding -9432,Tmem164,ENSMUSG00000047045,protein_coding -3023,Olfr432,ENSMUSG00000047048,protein_coding -35154,Olfr914,ENSMUSG00000047050,protein_coding -2522,Teddm1a,ENSMUSG00000047053,protein_coding -1652,Dusp28,ENSMUSG00000047067,protein_coding -9041,Ube2dnl2,ENSMUSG00000047079,protein_coding -24868,Ngrn,ENSMUSG00000047084,protein_coding -23916,Lrrc4b,ENSMUSG00000047085,protein_coding -29263,Tmem198b,ENSMUSG00000047090,protein_coding -41217,Ofcc1,ENSMUSG00000047094,protein_coding -33479,Rnf31,ENSMUSG00000047098,protein_coding -19522,Tas2r139,ENSMUSG00000047102,protein_coding -21757,Pbp2,ENSMUSG00000047104,protein_coding -46477,Dnajb7,ENSMUSG00000047108,protein_coding -48677,Cldn14,ENSMUSG00000047109,protein_coding -19710,Fam221a,ENSMUSG00000047115,protein_coding -42399,Ankdd1b,ENSMUSG00000047117,protein_coding -50516,Ticam1,ENSMUSG00000047123,protein_coding -39171,Cltc,ENSMUSG00000047126,protein_coding -28434,1700113H08Rik,ENSMUSG00000047129,protein_coding -27424,Cd24a,ENSMUSG00000047139,protein_coding -48287,Zfp654,ENSMUSG00000047141,protein_coding -14291,Dmrta2,ENSMUSG00000047143,protein_coding -27755,Tet1,ENSMUSG00000047146,protein_coding -5101,Olfr1052,ENSMUSG00000047149,protein_coding -50335,1700001C19Rik,ENSMUSG00000047150,protein_coding -33507,Khnyn,ENSMUSG00000047153,protein_coding -14343,Cyp4x1,ENSMUSG00000047155,protein_coding -52860,Chst9,ENSMUSG00000047161,protein_coding -30248,Helt,ENSMUSG00000047171,protein_coding -505,Neurl3,ENSMUSG00000047180,protein_coding -39327,Samd14,ENSMUSG00000047181,protein_coding -18462,Irs3,ENSMUSG00000047182,protein_coding -12827,Rab2a,ENSMUSG00000047187,protein_coding -34487,Dync2h1,ENSMUSG00000047193,protein_coding -39517,Gjd3,ENSMUSG00000047197,protein_coding -20749,Vmn1r54,ENSMUSG00000047203,protein_coding -37335,Dusp18,ENSMUSG00000047205,protein_coding -54643,Olfr1495,ENSMUSG00000047207,protein_coding -10030,Ythdf3,ENSMUSG00000047213,protein_coding -16752,Rpl9,ENSMUSG00000047215,protein_coding -1863,Cdh19,ENSMUSG00000047216,protein_coding -36854,Ccdc36,ENSMUSG00000047220,protein_coding -15928,Fam185a,ENSMUSG00000047221,protein_coding -33097,Rnase2a,ENSMUSG00000047222,protein_coding -25614,Olfr684,ENSMUSG00000047225,protein_coding -43780,Gm527,ENSMUSG00000047227,protein_coding -21499,A2ml1,ENSMUSG00000047228,protein_coding -9378,Cldn2,ENSMUSG00000047230,protein_coding -36905,Fbxw21,ENSMUSG00000047237,protein_coding -9617,Mageh1,ENSMUSG00000047238,protein_coding -8932,Taf9b,ENSMUSG00000047242,protein_coding -40852,Hist1h2be,ENSMUSG00000047246,protein_coding -25315,C2cd3,ENSMUSG00000047248,protein_coding -4339,Ptgs1,ENSMUSG00000047250,protein_coding -39544,Krtap1-5,ENSMUSG00000047253,protein_coding -36971,Prss45,ENSMUSG00000047257,protein_coding -53708,Mc4r,ENSMUSG00000047259,protein_coding -38738,Emc6,ENSMUSG00000047260,protein_coding -48009,Gap43,ENSMUSG00000047261,protein_coding -29378,Zfp358,ENSMUSG00000047264,protein_coding -14925,Sfn,ENSMUSG00000047281,protein_coding -38597,Neurl4,ENSMUSG00000047284,protein_coding -30876,Olfr370,ENSMUSG00000047286,protein_coding -48212,Gpr15,ENSMUSG00000047293,protein_coding -46758,Smgc,ENSMUSG00000047295,protein_coding -54818,Kcnv2,ENSMUSG00000047298,protein_coding -53187,Pcdhb13,ENSMUSG00000047307,protein_coding -1303,Kcne4,ENSMUSG00000047330,protein_coding -38424,Zfp286,ENSMUSG00000047342,protein_coding -667,Mettl21c,ENSMUSG00000047343,protein_coding -7433,Lancl3,ENSMUSG00000047344,protein_coding -35241,Olfr976,ENSMUSG00000047352,protein_coding -3989,Lcn10,ENSMUSG00000047356,protein_coding -921,Gm973,ENSMUSG00000047361,protein_coding -4162,Cstad,ENSMUSG00000047363,protein_coding -54733,Abhd17b,ENSMUSG00000047368,protein_coding -3186,Dnah14,ENSMUSG00000047369,protein_coding -26205,Zfp768,ENSMUSG00000047371,protein_coding -54168,B4gat1,ENSMUSG00000047379,protein_coding -31580,Atmin,ENSMUSG00000047388,protein_coding -29824,Defb9,ENSMUSG00000047390,protein_coding -46713,Odf3b,ENSMUSG00000047394,protein_coding -50712,Tgif1,ENSMUSG00000047407,protein_coding -37096,Ctdspl,ENSMUSG00000047409,protein_coding -34944,Zbtb44,ENSMUSG00000047412,protein_coding -44436,Flrt2,ENSMUSG00000047414,protein_coding -44527,Gpr68,ENSMUSG00000047415,protein_coding -28182,Rexo1,ENSMUSG00000047417,protein_coding -42324,Cmya5,ENSMUSG00000047419,protein_coding -19331,Fam180a,ENSMUSG00000047420,protein_coding -54200,AI837181,ENSMUSG00000047423,protein_coding -50292,Dlk2,ENSMUSG00000047428,protein_coding -47762,Xxylt1,ENSMUSG00000047434,protein_coding -32571,Antxrl,ENSMUSG00000047441,protein_coding -1608,Erfe,ENSMUSG00000047443,protein_coding -38786,Olfr139,ENSMUSG00000047444,protein_coding -43470,Arl4a,ENSMUSG00000047446,protein_coding -44031,Gphn,ENSMUSG00000047454,protein_coding -6574,Dynlrb1,ENSMUSG00000047459,protein_coding -40635,Gpr141b,ENSMUSG00000047462,protein_coding -53855,8030462N17Rik,ENSMUSG00000047466,protein_coding -23315,Zfp30,ENSMUSG00000047473,protein_coding -9710,Klhl34,ENSMUSG00000047485,protein_coding -29162,Inhbe,ENSMUSG00000047492,protein_coding -29645,Dlgap2,ENSMUSG00000047495,protein_coding -1792,Rnf152,ENSMUSG00000047496,protein_coding -45410,Adamts12,ENSMUSG00000047497,protein_coding -18339,Cldn4,ENSMUSG00000047501,protein_coding -14196,Mroh7,ENSMUSG00000047502,protein_coding -49342,Baiap3,ENSMUSG00000047507,protein_coding -34657,Mbd3l2,ENSMUSG00000047508,protein_coding -37967,Olfr1396,ENSMUSG00000047511,protein_coding -27269,Tspyl1,ENSMUSG00000047514,protein_coding -21788,BC049715,ENSMUSG00000047515,protein_coding -26335,Dmbt1,ENSMUSG00000047517,protein_coding -14548,Slfnl1,ENSMUSG00000047518,protein_coding -896,Als2cr12,ENSMUSG00000047528,protein_coding -47685,Rtp2,ENSMUSG00000047531,protein_coding -43790,Mis18bp1,ENSMUSG00000047534,protein_coding -25504,Olfr67,ENSMUSG00000047535,protein_coding -3203,Fbxo28,ENSMUSG00000047539,protein_coding -25485,Olfr616,ENSMUSG00000047544,protein_coding -25500,Olfr629,ENSMUSG00000047545,protein_coding -41509,Cltb,ENSMUSG00000047547,protein_coding -25814,Tmem41b,ENSMUSG00000047554,protein_coding -10805,Lxn,ENSMUSG00000047557,protein_coding -34495,Mmp10,ENSMUSG00000047562,protein_coding -39543,Krtap3-1,ENSMUSG00000047564,protein_coding -45502,Acot10,ENSMUSG00000047565,protein_coding -12692,Tyw3,ENSMUSG00000047583,protein_coding -23257,Nccrp1,ENSMUSG00000047586,protein_coding -46203,Mafa,ENSMUSG00000047591,protein_coding -18504,Nxpe5,ENSMUSG00000047592,protein_coding -5186,Olfr1122,ENSMUSG00000047594,protein_coding -23036,Zfp235,ENSMUSG00000047603,protein_coding -55078,Frat2,ENSMUSG00000047604,protein_coding -36396,Ankrd34c,ENSMUSG00000047606,protein_coding -15526,A430005L14Rik,ENSMUSG00000047613,protein_coding -3966,Paxx,ENSMUSG00000047617,protein_coding -34482,Ddi1,ENSMUSG00000047619,protein_coding -29306,Olfr791,ENSMUSG00000047626,protein_coding -29214,Apof,ENSMUSG00000047631,protein_coding -54981,Fgfbp3,ENSMUSG00000047632,protein_coding -18129,2810006K23Rik,ENSMUSG00000047635,protein_coding -14205,Cdcp2,ENSMUSG00000047636,protein_coding -28479,Nr1h4,ENSMUSG00000047638,protein_coding -47009,Krt87,ENSMUSG00000047641,protein_coding -29067,D930020B18Rik,ENSMUSG00000047642,protein_coding -26860,Fbxo30,ENSMUSG00000047648,protein_coding -22802,Cd3eap,ENSMUSG00000047649,protein_coding -30572,Tssk6,ENSMUSG00000047654,protein_coding -22424,Vmn1r74,ENSMUSG00000047655,protein_coding -54319,Trpt1,ENSMUSG00000047656,protein_coding -54186,Gal3st3,ENSMUSG00000047658,protein_coding -35172,Olfr26,ENSMUSG00000047667,protein_coding -27618,Msl3l2,ENSMUSG00000047669,protein_coding -14425,Tctex1d4,ENSMUSG00000047671,protein_coding -12485,Pdha2,ENSMUSG00000047674,protein_coding -14429,Rps8,ENSMUSG00000047675,protein_coding -7513,Gpr82,ENSMUSG00000047678,protein_coding -8954,Rtl3,ENSMUSG00000047686,protein_coding -8726,Yipf6,ENSMUSG00000047694,protein_coding -10286,Ccdc144b,ENSMUSG00000047696,protein_coding -37980,Olfr1388,ENSMUSG00000047702,protein_coding -29634,Champ1,ENSMUSG00000047710,protein_coding -26807,Ust,ENSMUSG00000047712,protein_coding -47767,Ppp1r2,ENSMUSG00000047714,protein_coding -33045,Olfr736,ENSMUSG00000047716,protein_coding -15406,Ubiad1,ENSMUSG00000047719,protein_coding -21541,4922502D21Rik,ENSMUSG00000047720,protein_coding -26142,Bola2,ENSMUSG00000047721,protein_coding -46180,Ly6g2,ENSMUSG00000047728,protein_coding -23226,Fcgbp,ENSMUSG00000047730,protein_coding -55225,Wbp1l,ENSMUSG00000047731,protein_coding -54263,Tmem262,ENSMUSG00000047733,protein_coding -18899,Samd9l,ENSMUSG00000047735,protein_coding -47944,Fbxo40,ENSMUSG00000047746,protein_coding -30862,Rnf150,ENSMUSG00000047747,protein_coding -19362,Zc3hav1l,ENSMUSG00000047749,protein_coding -26486,Utf1,ENSMUSG00000047751,protein_coding -9810,Fancb,ENSMUSG00000047757,protein_coding -38450,Hs3st3a1,ENSMUSG00000047759,protein_coding -35779,Lrrc49,ENSMUSG00000047766,protein_coding -25347,Atg16l2,ENSMUSG00000047767,protein_coding -39258,Ankfn1,ENSMUSG00000047773,protein_coding -15493,Phf13,ENSMUSG00000047777,protein_coding -49033,Lix1,ENSMUSG00000047786,protein_coding -54324,Flrt1,ENSMUSG00000047787,protein_coding -42669,Slc38a9,ENSMUSG00000047789,protein_coding -1665,Sned1,ENSMUSG00000047793,protein_coding -25615,Olfr685,ENSMUSG00000047794,protein_coding -8775,Gjb1,ENSMUSG00000047797,protein_coding -40008,Cd300lf,ENSMUSG00000047798,protein_coding -15224,Oog4,ENSMUSG00000047799,protein_coding -38393,Akap10,ENSMUSG00000047804,protein_coding -54304,Ccdc88b,ENSMUSG00000047810,protein_coding -11015,Tigd4,ENSMUSG00000047819,protein_coding -38428,Trim16,ENSMUSG00000047821,protein_coding -34809,Angptl8,ENSMUSG00000047822,protein_coding -11194,Pygo2,ENSMUSG00000047824,protein_coding -44945,Cdca4,ENSMUSG00000047832,protein_coding -7216,Fndc11,ENSMUSG00000047841,protein_coding -41467,Diras2,ENSMUSG00000047842,protein_coding -18670,Bri3,ENSMUSG00000047843,protein_coding -9288,Bex4,ENSMUSG00000047844,protein_coding -48276,Stx19,ENSMUSG00000047854,protein_coding -37801,Foxi1,ENSMUSG00000047861,protein_coding -31004,Lonp2,ENSMUSG00000047866,protein_coding -19674,Gimap6,ENSMUSG00000047867,protein_coding -29283,Olfr770,ENSMUSG00000047868,protein_coding -15464,Gpr157,ENSMUSG00000047875,protein_coding -46583,A4galt,ENSMUSG00000047878,protein_coding -52770,Usp14,ENSMUSG00000047879,protein_coding -35399,Cxcr5,ENSMUSG00000047880,protein_coding -16709,Rell1,ENSMUSG00000047881,protein_coding -23844,Klk9,ENSMUSG00000047884,protein_coding -46460,Tnrc6b,ENSMUSG00000047888,protein_coding -41059,Serpinb6d,ENSMUSG00000047889,protein_coding -33095,Ang2,ENSMUSG00000047894,protein_coding -36326,Ripply2,ENSMUSG00000047897,protein_coding -37033,Ccr4,ENSMUSG00000047898,protein_coding -39971,Sstr2,ENSMUSG00000047904,protein_coding -6967,Tshz2,ENSMUSG00000047907,protein_coding -3710,Ankrd16,ENSMUSG00000047909,protein_coding -53190,Pcdhb16,ENSMUSG00000047910,protein_coding -33876,Npm2,ENSMUSG00000047911,protein_coding -46114,Trappc9,ENSMUSG00000047921,protein_coding -12469,Stpg2,ENSMUSG00000047940,protein_coding -14784,Marcksl1,ENSMUSG00000047945,protein_coding -47749,Gp5,ENSMUSG00000047953,protein_coding -11868,Kcna3,ENSMUSG00000047959,protein_coding -48227,Olfr186,ENSMUSG00000047960,protein_coding -17253,Stbd1,ENSMUSG00000047963,protein_coding -5144,Olfr1093,ENSMUSG00000047969,protein_coding -21423,Kcna1,ENSMUSG00000047976,protein_coding -33822,Synb,ENSMUSG00000047977,protein_coding -35042,Pate5,ENSMUSG00000047980,protein_coding -30904,Palm3,ENSMUSG00000047986,protein_coding -39436,4933428G20Rik,ENSMUSG00000047988,protein_coding -52934,Ino80c,ENSMUSG00000047989,protein_coding -35942,C2cd4a,ENSMUSG00000047990,protein_coding -53997,Dipk1c,ENSMUSG00000047992,protein_coding -34872,Cypt4,ENSMUSG00000047995,protein_coding -8501,Prrg1,ENSMUSG00000047996,protein_coding -1505,Gigyf2,ENSMUSG00000048000,protein_coding -15556,Hes5,ENSMUSG00000048001,protein_coding -14951,Catsper4,ENSMUSG00000048003,protein_coding -45290,Tmem196,ENSMUSG00000048004,protein_coding -9227,Timm8a1,ENSMUSG00000048007,protein_coding -23938,Zfp473,ENSMUSG00000048012,protein_coding -39600,Krt35,ENSMUSG00000048013,protein_coding -29353,Neurod4,ENSMUSG00000048015,protein_coding -19160,Tmem229a,ENSMUSG00000048022,protein_coding -49010,Rgmb,ENSMUSG00000048027,protein_coding -55396,Eno4,ENSMUSG00000048029,protein_coding -11070,Fcrl5,ENSMUSG00000048031,protein_coding -4013,Ccdc187,ENSMUSG00000048038,protein_coding -11085,Isg20l2,ENSMUSG00000048039,protein_coding -9283,Arxes2,ENSMUSG00000048040,protein_coding -7835,Zbtb33,ENSMUSG00000048047,protein_coding -5511,Ldlrad3,ENSMUSG00000048058,protein_coding -49055,Fpr-rs4,ENSMUSG00000048062,protein_coding -25713,Cyb5r2,ENSMUSG00000048065,protein_coding -22221,Olfr1349,ENSMUSG00000048067,protein_coding -38471,Pirt,ENSMUSG00000048070,protein_coding -38281,Arf1,ENSMUSG00000048076,protein_coding -46847,H1fnt,ENSMUSG00000048077,protein_coding -25203,Tenm4,ENSMUSG00000048078,protein_coding -33039,Olfr731,ENSMUSG00000048080,protein_coding -48080,Gm4737,ENSMUSG00000048087,protein_coding -2241,Lmod1,ENSMUSG00000048096,protein_coding -11945,Taf13,ENSMUSG00000048100,protein_coding -47402,Olfr19,ENSMUSG00000048101,protein_coding -21148,Tmem72,ENSMUSG00000048108,protein_coding -11878,Rbm15,ENSMUSG00000048109,protein_coding -43905,Arid4a,ENSMUSG00000048118,protein_coding -55056,Entpd1,ENSMUSG00000048120,protein_coding -1590,Col6a3,ENSMUSG00000048126,protein_coding -54798,Dmrt2,ENSMUSG00000048138,protein_coding -16275,Nat8l,ENSMUSG00000048142,protein_coding -30723,Nwd1,ENSMUSG00000048148,protein_coding -33396,Olfr49,ENSMUSG00000048153,protein_coding -46882,Kmt2d,ENSMUSG00000048154,protein_coding -9328,H2bfm,ENSMUSG00000048155,protein_coding -17765,Selplg,ENSMUSG00000048163,protein_coding -26299,Mcmbp,ENSMUSG00000048170,protein_coding -7966,Olfr1324,ENSMUSG00000048173,protein_coding -2154,Tmem81,ENSMUSG00000048174,protein_coding -46841,Asb8,ENSMUSG00000048175,protein_coding -27782,Gm7075,ENSMUSG00000048185,protein_coding -3488,Bend7,ENSMUSG00000048186,protein_coding -26603,Muc6,ENSMUSG00000048191,protein_coding -5228,Olfr1153,ENSMUSG00000048197,protein_coding -26593,Cracr2b,ENSMUSG00000048200,protein_coding -20685,Dnajb8,ENSMUSG00000048206,protein_coding -19026,Gpr85,ENSMUSG00000048216,protein_coding -39722,Nags,ENSMUSG00000048217,protein_coding -46822,Amigo2,ENSMUSG00000048218,protein_coding -5916,Mfap1b,ENSMUSG00000048222,protein_coding -5287,Olfr1212,ENSMUSG00000048226,protein_coding -45677,Fbxo43,ENSMUSG00000048230,protein_coding -50013,H2-M10.4,ENSMUSG00000048231,protein_coding -13365,Fbxo10,ENSMUSG00000048232,protein_coding -595,Rnf149,ENSMUSG00000048234,protein_coding -25715,Ovch2,ENSMUSG00000048236,protein_coding -28213,Gng7,ENSMUSG00000048240,protein_coding -49438,Crebrf,ENSMUSG00000048249,protein_coding -44705,Bcl11b,ENSMUSG00000048251,protein_coding -40422,Dip2c,ENSMUSG00000048264,protein_coding -16099,Rbm33,ENSMUSG00000048271,protein_coding -40138,Syngr2,ENSMUSG00000048277,protein_coding -33635,Sacs,ENSMUSG00000048279,protein_coding -41982,Zfp738,ENSMUSG00000048280,protein_coding -33669,Dleu7,ENSMUSG00000048281,protein_coding -19537,Tas2r126,ENSMUSG00000048284,protein_coding -43898,Frmd6,ENSMUSG00000048285,protein_coding -54525,Olfr1417,ENSMUSG00000048292,protein_coding -39572,Krtap4-13,ENSMUSG00000048294,protein_coding -35220,Olfr148,ENSMUSG00000048299,protein_coding -10880,Slitrk3,ENSMUSG00000048304,protein_coding -45691,Ankrd46,ENSMUSG00000048307,protein_coding -31391,Pskh1,ENSMUSG00000048310,protein_coding -23725,Gm4884,ENSMUSG00000048312,protein_coding -6073,Ckap2l,ENSMUSG00000048327,protein_coding -38507,Mfsd6l,ENSMUSG00000048329,protein_coding -25790,Ric3,ENSMUSG00000048330,protein_coding -10546,Lhfp,ENSMUSG00000048332,protein_coding -32577,Npy4r,ENSMUSG00000048337,protein_coding -53192,Pcdhb18,ENSMUSG00000048347,protein_coding -34236,Pou4f1,ENSMUSG00000048349,protein_coding -14245,Coa7,ENSMUSG00000048351,protein_coding -9284,Arxes1,ENSMUSG00000048355,protein_coding -54644,Olfr1496,ENSMUSG00000048356,protein_coding -41400,Omd,ENSMUSG00000048368,protein_coding -31309,Pdp2,ENSMUSG00000048371,protein_coding -16449,Fgfbp1,ENSMUSG00000048373,protein_coding -42384,F2r,ENSMUSG00000048376,protein_coding -26417,Foxi2,ENSMUSG00000048377,protein_coding -37969,Olfr1394,ENSMUSG00000048378,protein_coding -32952,Socs4,ENSMUSG00000048379,protein_coding -46258,Scrt1,ENSMUSG00000048385,protein_coding -42920,Osr1,ENSMUSG00000048387,protein_coding -4978,Fam171b,ENSMUSG00000048388,protein_coding -34680,Olfr843,ENSMUSG00000048391,protein_coding -22171,Gm5065,ENSMUSG00000048398,protein_coding -47702,Tprg,ENSMUSG00000048399,protein_coding -31210,Prss54,ENSMUSG00000048400,protein_coding -1925,Gli2,ENSMUSG00000048402,protein_coding -53988,Zfp407,ENSMUSG00000048410,protein_coding -374,Gm597,ENSMUSG00000048411,protein_coding -10803,Mlf1,ENSMUSG00000048416,protein_coding -45378,Ranbp3l,ENSMUSG00000048424,protein_coding -25616,Olfr686,ENSMUSG00000048425,protein_coding -34798,Timm29,ENSMUSG00000048429,protein_coding -15997,Nupl2,ENSMUSG00000048439,protein_coding -49688,Cyp4f16,ENSMUSG00000048440,protein_coding -40053,Smim5,ENSMUSG00000048442,protein_coding -40265,Ccdc57,ENSMUSG00000048445,protein_coding -16368,Msx1,ENSMUSG00000048450,protein_coding -11298,Sprr1b,ENSMUSG00000048455,protein_coding -54590,Olfr1448,ENSMUSG00000048456,protein_coding -11825,Inka2,ENSMUSG00000048458,protein_coding -25426,Olfr564,ENSMUSG00000048469,protein_coding -21877,Sult6b2,ENSMUSG00000048473,protein_coding -31744,Spata33,ENSMUSG00000048478,protein_coding -1192,Cxcr1,ENSMUSG00000048480,protein_coding -22773,Mypop,ENSMUSG00000048481,protein_coding -5640,Bdnf,ENSMUSG00000048482,protein_coding -44255,Zdhhc22,ENSMUSG00000048483,protein_coding -14778,Zbtb8b,ENSMUSG00000048485,protein_coding -6774,Fitm2,ENSMUSG00000048486,protein_coding -21147,Depp1,ENSMUSG00000048489,protein_coding -48377,Nrip1,ENSMUSG00000048490,protein_coding -866,Tyw5,ENSMUSG00000048495,protein_coding -38419,Mmgt2,ENSMUSG00000048497,protein_coding -40006,Cd300e,ENSMUSG00000048498,protein_coding -29827,Defb15,ENSMUSG00000048500,protein_coding -35191,Olfr938,ENSMUSG00000048501,protein_coding -32386,Duxbl1,ENSMUSG00000048502,protein_coding -35328,Tmem136,ENSMUSG00000048503,protein_coding -30191,Adam26a,ENSMUSG00000048516,protein_coding -15929,Fbxl13,ENSMUSG00000048520,protein_coding -37277,Cxcr6,ENSMUSG00000048521,protein_coding -26374,Nkx1-2,ENSMUSG00000048528,protein_coding -35436,Jaml,ENSMUSG00000048534,protein_coding -35411,Phldb1,ENSMUSG00000048537,protein_coding -11706,Nhlh2,ENSMUSG00000048540,protein_coding -46495,Tob2,ENSMUSG00000048546,protein_coding -3852,Thnsl1,ENSMUSG00000048550,protein_coding -45277,Sp8,ENSMUSG00000048562,protein_coding -54780,Tmem252,ENSMUSG00000048572,protein_coding -9628,Cypt3,ENSMUSG00000048573,protein_coding -17821,Mlec,ENSMUSG00000048578,protein_coding -10731,E130311K13Rik,ENSMUSG00000048581,protein_coding -33559,Gja3,ENSMUSG00000048582,protein_coding -26654,Igf2,ENSMUSG00000048583,protein_coding -49721,Morc2b,ENSMUSG00000048602,protein_coding -55004,Myof,ENSMUSG00000048612,protein_coding -39256,Nog,ENSMUSG00000048616,protein_coding -30955,Rtbdn,ENSMUSG00000048617,protein_coding -22215,Olfr1336,ENSMUSG00000048620,protein_coding -8985,Gm6377,ENSMUSG00000048621,protein_coding -14453,Klf17,ENSMUSG00000048626,protein_coding -20815,A730049H05Rik,ENSMUSG00000048636,protein_coding -29426,Ctxn1,ENSMUSG00000048644,protein_coding -5843,Exd1,ENSMUSG00000048647,protein_coding -12591,Samd13,ENSMUSG00000048652,protein_coding -10590,Ccdc169,ENSMUSG00000048655,protein_coding -29043,Lemd3,ENSMUSG00000048661,protein_coding -21483,Rhno1,ENSMUSG00000048668,protein_coding -26731,Tpcn2,ENSMUSG00000048677,protein_coding -14747,Hmgb4,ENSMUSG00000048686,protein_coding -19575,Olfr435,ENSMUSG00000048693,protein_coding -28173,Mex3d,ENSMUSG00000048696,protein_coding -19911,Vmn1r26,ENSMUSG00000048697,protein_coding -47020,Krt90,ENSMUSG00000048699,protein_coding -27852,Ccdc6,ENSMUSG00000048701,protein_coding -16084,Speer4b,ENSMUSG00000048703,protein_coding -13819,Lurap1l,ENSMUSG00000048706,protein_coding -3948,Tprn,ENSMUSG00000048707,protein_coding -55024,Tbc1d12,ENSMUSG00000048720,protein_coding -37914,Fndc9,ENSMUSG00000048721,protein_coding -38030,Zfp454,ENSMUSG00000048728,protein_coding -49455,Ggnbp1,ENSMUSG00000048731,protein_coding -39627,Klhl11,ENSMUSG00000048732,protein_coding -29341,Olfr820,ENSMUSG00000048745,protein_coding -14052,E130114P18Rik,ENSMUSG00000048747,protein_coding -36973,Prss50,ENSMUSG00000048752,protein_coding -46593,Mcat,ENSMUSG00000048755,protein_coding -27391,Foxo3,ENSMUSG00000048756,protein_coding -36741,Rpl29,ENSMUSG00000048758,protein_coding -39389,Hoxb3,ENSMUSG00000048763,protein_coding -17082,Tmprss11f,ENSMUSG00000048764,protein_coding -14319,Skint10,ENSMUSG00000048766,protein_coding -14441,Tmem53,ENSMUSG00000048772,protein_coding -1827,Serpinb13,ENSMUSG00000048775,protein_coding -21960,Pthlh,ENSMUSG00000048776,protein_coding -25339,P2ry6,ENSMUSG00000048779,protein_coding -25895,Insc,ENSMUSG00000048782,protein_coding -25986,Dcun1d3,ENSMUSG00000048787,protein_coding -20756,Cfap100,ENSMUSG00000048794,protein_coding -11919,Cyb561d1,ENSMUSG00000048796,protein_coding -53460,Cep120,ENSMUSG00000048799,protein_coding -13897,Ifnb1,ENSMUSG00000048806,protein_coding -37336,Slc35e4,ENSMUSG00000048807,protein_coding -48243,Olfr202,ENSMUSG00000048810,protein_coding -574,Lonrf2,ENSMUSG00000048814,protein_coding -48970,Dact2,ENSMUSG00000048826,protein_coding -31470,Pkd1l3,ENSMUSG00000048827,protein_coding -48523,2310057N15Rik,ENSMUSG00000048830,protein_coding -54469,Vps37c,ENSMUSG00000048832,protein_coding -44086,Slc39a9,ENSMUSG00000048833,protein_coding -37513,Vstm2a,ENSMUSG00000048834,protein_coding -37956,Gm12185,ENSMUSG00000048852,protein_coding -44725,Slc25a47,ENSMUSG00000048856,protein_coding -2917,Arhgap30,ENSMUSG00000048865,protein_coding -389,Phf3,ENSMUSG00000048874,protein_coding -53433,Pudp,ENSMUSG00000048875,protein_coding -39774,Hexim1,ENSMUSG00000048878,protein_coding -39014,Cdk5r1,ENSMUSG00000048895,protein_coding -24855,Zfp710,ENSMUSG00000048897,protein_coding -14531,Rimkla,ENSMUSG00000048899,protein_coding -41570,Neurog1,ENSMUSG00000048904,protein_coding -49547,4930539E08Rik,ENSMUSG00000048905,protein_coding -6148,Rnf24,ENSMUSG00000048911,protein_coding -50606,Efna5,ENSMUSG00000048915,protein_coding -38297,Olfr223,ENSMUSG00000048919,protein_coding -22685,Fkrp,ENSMUSG00000048920,protein_coding -26214,Zfp689,ENSMUSG00000048921,protein_coding -33793,Cdca2,ENSMUSG00000048922,protein_coding -42509,Ccdc125,ENSMUSG00000048924,protein_coding -21039,Tada3,ENSMUSG00000048930,protein_coding -33028,Olfr722,ENSMUSG00000048933,protein_coding -11732,Nr1h5,ENSMUSG00000048938,protein_coding -47729,Atp13a5,ENSMUSG00000048939,protein_coding -136,Prex2,ENSMUSG00000048960,protein_coding -26701,Mrgpre,ENSMUSG00000048965,protein_coding -30570,Yjefn3,ENSMUSG00000048967,protein_coding -7846,C1galt1c1,ENSMUSG00000048970,protein_coding -40916,Nrsn1,ENSMUSG00000048978,protein_coding -39597,Krt31,ENSMUSG00000048981,protein_coding -43978,Gphb5,ENSMUSG00000048982,protein_coding -18562,Elfn1,ENSMUSG00000048988,protein_coding -49247,Prss32,ENSMUSG00000048992,protein_coding -7446,H2al3,ENSMUSG00000048994,protein_coding -40677,Olfr1366,ENSMUSG00000048996,protein_coding -11920,Atxn7l2,ENSMUSG00000048997,protein_coding -20007,Ndnf,ENSMUSG00000049001,protein_coding -29656,BB014433,ENSMUSG00000049008,protein_coding -35249,Olfr982,ENSMUSG00000049010,protein_coding -33037,Olfr729,ENSMUSG00000049011,protein_coding -11038,Prss48,ENSMUSG00000049013,protein_coding -54610,Olfr1467,ENSMUSG00000049015,protein_coding -4386,Olfr368,ENSMUSG00000049018,protein_coding -34725,Olfr873,ENSMUSG00000049028,protein_coding -44965,Tmem121,ENSMUSG00000049036,protein_coding -21287,Clec4a1,ENSMUSG00000049037,protein_coding -28363,Mterf2,ENSMUSG00000049038,protein_coding -38785,Olfr398,ENSMUSG00000049041,protein_coding -4790,Rapgef4,ENSMUSG00000049044,protein_coding -9241,Armcx3,ENSMUSG00000049047,protein_coding -29330,Olfr812,ENSMUSG00000049052,protein_coding -5337,Olfr1257,ENSMUSG00000049057,protein_coding -35252,Olfr985,ENSMUSG00000049073,protein_coding -47764,Acap2,ENSMUSG00000049076,protein_coding -3992,Bmyc,ENSMUSG00000049086,protein_coding -53985,Zadh2,ENSMUSG00000049090,protein_coding -26200,Sephs2,ENSMUSG00000049091,protein_coding -32880,Gpr137c,ENSMUSG00000049092,protein_coding -20058,Il23r,ENSMUSG00000049093,protein_coding -11571,Ankrd34a,ENSMUSG00000049097,protein_coding -35140,Olfr147,ENSMUSG00000049098,protein_coding -10432,Pcdh10,ENSMUSG00000049100,protein_coding -37283,Ccr2,ENSMUSG00000049103,protein_coding -44071,Dcaf5,ENSMUSG00000049106,protein_coding -21416,Ntf3,ENSMUSG00000049107,protein_coding -27158,Themis,ENSMUSG00000049109,protein_coding -21011,Oxtr,ENSMUSG00000049112,protein_coding -40988,Agtr1a,ENSMUSG00000049115,protein_coding -12800,Fam110b,ENSMUSG00000049119,protein_coding -13779,Frmd3,ENSMUSG00000049122,protein_coding -23310,Catsperg2,ENSMUSG00000049123,protein_coding -11304,Ivl,ENSMUSG00000049128,protein_coding -22658,C5ar1,ENSMUSG00000049130,protein_coding -11343,Flg2,ENSMUSG00000049133,protein_coding -55350,Nrap,ENSMUSG00000049134,protein_coding -45312,Plcxd3,ENSMUSG00000049148,protein_coding -5338,Olfr1258,ENSMUSG00000049149,protein_coding -45384,Ugt3a2,ENSMUSG00000049152,protein_coding -38252,Fam183b,ENSMUSG00000049154,protein_coding -2679,Tex50,ENSMUSG00000049160,protein_coding -55064,Zfp518a,ENSMUSG00000049164,protein_coding -19558,Olfr449,ENSMUSG00000049168,protein_coding -53553,Myoz3,ENSMUSG00000049173,protein_coding -9845,Frmpd4,ENSMUSG00000049176,protein_coding -30035,Purg,ENSMUSG00000049184,protein_coding -8796,Rtl5,ENSMUSG00000049191,protein_coding -14305,Skint7,ENSMUSG00000049214,protein_coding -29303,Olfr788,ENSMUSG00000049217,protein_coding -12880,Pdp1,ENSMUSG00000049225,protein_coding -34681,Olfr844,ENSMUSG00000049229,protein_coding -9956,Gm9833,ENSMUSG00000049230,protein_coding -19947,Tigd2,ENSMUSG00000049232,protein_coding -32783,Gm7324,ENSMUSG00000049235,protein_coding -18107,Hcar1,ENSMUSG00000049241,protein_coding -4460,Lrp1b,ENSMUSG00000049252,protein_coding -16146,Kcnk3,ENSMUSG00000049265,protein_coding -25773,Olfr509,ENSMUSG00000049280,protein_coding -35256,Scn3b,ENSMUSG00000049281,protein_coding -18500,Mblac1,ENSMUSG00000049285,protein_coding -38274,Iba57,ENSMUSG00000049287,protein_coding -11572,Lix1l,ENSMUSG00000049288,protein_coding -38285,Prss38,ENSMUSG00000049291,protein_coding -33139,Zfp219,ENSMUSG00000049295,protein_coding -38541,Trappc1,ENSMUSG00000049299,protein_coding -11971,Prmt6,ENSMUSG00000049300,protein_coding -54139,Syt12,ENSMUSG00000049303,protein_coding -36858,Ccdc71,ENSMUSG00000049305,protein_coding -34593,Fut4,ENSMUSG00000049307,protein_coding -35310,Sorl1,ENSMUSG00000049313,protein_coding -36906,Fbxw13,ENSMUSG00000049314,protein_coding -4358,Olfr348,ENSMUSG00000049315,protein_coding -38031,Zfp2,ENSMUSG00000049321,protein_coding -38356,Smcr8,ENSMUSG00000049323,protein_coding -18134,Kmt5a,ENSMUSG00000049327,protein_coding -35142,Olfr902,ENSMUSG00000049334,protein_coding -37821,Tenm2,ENSMUSG00000049336,protein_coding -1237,Retreg2,ENSMUSG00000049339,protein_coding -12438,Gm5105,ENSMUSG00000049349,protein_coding -26184,Zg16,ENSMUSG00000049350,protein_coding -3377,Rd3,ENSMUSG00000049353,protein_coding -39844,Dcaf7,ENSMUSG00000049354,protein_coding -53057,4933408B17Rik,ENSMUSG00000049357,protein_coding -48217,Olfr173,ENSMUSG00000049362,protein_coding -5260,Olfr1183,ENSMUSG00000049372,protein_coding -47051,Krt8,ENSMUSG00000049382,protein_coding -16876,Cox7b2,ENSMUSG00000049387,protein_coding -38870,Gemin4,ENSMUSG00000049396,protein_coding -7185,Ogfr,ENSMUSG00000049401,protein_coding -10807,Rarres1,ENSMUSG00000049404,protein_coding -20650,Prokr1,ENSMUSG00000049409,protein_coding -14942,Zfp683,ENSMUSG00000049410,protein_coding -52805,Tmem241,ENSMUSG00000049411,protein_coding -27126,Tmem200a,ENSMUSG00000049420,protein_coding -23335,Zfp260,ENSMUSG00000049421,protein_coding -27952,Chchd10,ENSMUSG00000049422,protein_coding -47987,Upk1b,ENSMUSG00000049436,protein_coding -945,Cyp20a1,ENSMUSG00000049439,protein_coding -2995,Olfr1404,ENSMUSG00000049456,protein_coding -38097,Aff4,ENSMUSG00000049470,protein_coding -31708,Ctu2,ENSMUSG00000049482,protein_coding -12885,Tmem67,ENSMUSG00000049488,protein_coding -38967,Ccnq,ENSMUSG00000049489,protein_coding -38165,Slc36a3,ENSMUSG00000049491,protein_coding -36485,Pls1,ENSMUSG00000049493,protein_coding -54591,Olfr1449,ENSMUSG00000049498,protein_coding -47885,Dtx3l,ENSMUSG00000049502,protein_coding -10557,Proser1,ENSMUSG00000049504,protein_coding -39802,Sppl2c,ENSMUSG00000049506,protein_coding -36237,Htr1b,ENSMUSG00000049511,protein_coding -1606,Espnl,ENSMUSG00000049515,protein_coding -24100,Spty2d1,ENSMUSG00000049516,protein_coding -42294,Rps23,ENSMUSG00000049517,protein_coding -46363,Cdc42ep1,ENSMUSG00000049521,protein_coding -35754,Tmem202,ENSMUSG00000049526,protein_coding -3026,Olfr429,ENSMUSG00000049528,protein_coding -16486,Clrn2,ENSMUSG00000049530,protein_coding -33158,Sall2,ENSMUSG00000049532,protein_coding -9319,Tceal1,ENSMUSG00000049536,protein_coding -17056,Tecrl,ENSMUSG00000049537,protein_coding -42050,Adamts16,ENSMUSG00000049538,protein_coding -40876,Hist1h1a,ENSMUSG00000049539,protein_coding -47019,Krt82,ENSMUSG00000049548,protein_coding -18099,Clip1,ENSMUSG00000049550,protein_coding -18357,Fzd9,ENSMUSG00000049551,protein_coding -20326,Polr1a,ENSMUSG00000049553,protein_coding -36974,Tmie,ENSMUSG00000049555,protein_coding -35675,Lingo1,ENSMUSG00000049556,protein_coding -6480,Defb20,ENSMUSG00000049560,protein_coding -50064,Olfr95,ENSMUSG00000049561,protein_coding -54217,Ap5b1,ENSMUSG00000049562,protein_coding -11951,Aknad1,ENSMUSG00000049565,protein_coding -26478,Cfap46,ENSMUSG00000049571,protein_coding -29295,Olfr780,ENSMUSG00000049573,protein_coding -31696,Zfpm1,ENSMUSG00000049577,protein_coding -25245,Tsku,ENSMUSG00000049580,protein_coding -25080,Grm5,ENSMUSG00000049583,protein_coding -38161,Ccdc69,ENSMUSG00000049588,protein_coding -11319,Lce1h,ENSMUSG00000049593,protein_coding -2975,Vsig8,ENSMUSG00000049598,protein_coding -22504,Zbtb45,ENSMUSG00000049600,protein_coding -39375,Hoxb13,ENSMUSG00000049604,protein_coding -2997,Olfr418,ENSMUSG00000049605,protein_coding -17531,Zfp644,ENSMUSG00000049606,protein_coding -1444,Gpr55,ENSMUSG00000049608,protein_coding -38983,Omg,ENSMUSG00000049612,protein_coding -50077,Olfr103,ENSMUSG00000049618,protein_coding -49245,Prss33,ENSMUSG00000049620,protein_coding -36192,Slc17a5,ENSMUSG00000049624,protein_coding -41567,Tifab,ENSMUSG00000049625,protein_coding -3723,C1ql3,ENSMUSG00000049630,protein_coding -27557,Vgll2,ENSMUSG00000049641,protein_coding -23206,2310022A10Rik,ENSMUSG00000049643,protein_coding -13486,Olfr273,ENSMUSG00000049648,protein_coding -14907,Gpr3,ENSMUSG00000049649,protein_coding -46239,Spatc1,ENSMUSG00000049653,protein_coding -13362,Zbtb5,ENSMUSG00000049657,protein_coding -42486,Bdp1,ENSMUSG00000049658,protein_coding -37579,Aftph,ENSMUSG00000049659,protein_coding -55090,Morn4,ENSMUSG00000049670,protein_coding -50697,Zbtb14,ENSMUSG00000049672,protein_coding -25695,Olfr714,ENSMUSG00000049674,protein_coding -23295,Catsperg1,ENSMUSG00000049676,protein_coding -37397,Urgcp,ENSMUSG00000049680,protein_coding -23166,Cyp2g1,ENSMUSG00000049685,protein_coding -18061,Orai1,ENSMUSG00000049686,protein_coding -46525,Pheta2,ENSMUSG00000049687,protein_coding -2018,Nckap5,ENSMUSG00000049690,protein_coding -16411,Nkx3-2,ENSMUSG00000049691,protein_coding -6110,Tmem239,ENSMUSG00000049692,protein_coding -20751,BC048671,ENSMUSG00000049694,protein_coding -36895,Ucn2,ENSMUSG00000049699,protein_coding -35195,Olfr27,ENSMUSG00000049708,protein_coding -25786,Nlrp10,ENSMUSG00000049709,protein_coding -29521,Lig4,ENSMUSG00000049717,protein_coding -36972,Prss46,ENSMUSG00000049719,protein_coding -37341,Gal3st1,ENSMUSG00000049721,protein_coding -34491,Mmp12,ENSMUSG00000049723,protein_coding -26248,Zfp668,ENSMUSG00000049728,protein_coding -36900,Trex1,ENSMUSG00000049734,protein_coding -40682,Olfr1361,ENSMUSG00000049737,protein_coding -26249,Zfp646,ENSMUSG00000049739,protein_coding -11135,Rxfp4,ENSMUSG00000049741,protein_coding -4471,Arhgap15,ENSMUSG00000049744,protein_coding -43843,Rpl36al,ENSMUSG00000049751,protein_coding -38217,Zfp672,ENSMUSG00000049755,protein_coding -5714,Olfr1318,ENSMUSG00000049758,protein_coding -50527,Micos13,ENSMUSG00000049760,protein_coding -23392,Pmis2,ENSMUSG00000049761,protein_coding -27960,Zfp280b,ENSMUSG00000049764,protein_coding -9838,Tmsb4x,ENSMUSG00000049775,protein_coding -25103,Fzd4,ENSMUSG00000049791,protein_coding -44905,Bag5,ENSMUSG00000049792,protein_coding -10068,Crh,ENSMUSG00000049796,protein_coding -25531,Olfr642,ENSMUSG00000049797,protein_coding -14010,Lrrc19,ENSMUSG00000049799,protein_coding -37577,Sertad2,ENSMUSG00000049800,protein_coding -9236,Armcx4,ENSMUSG00000049804,protein_coding -41829,Olfr466,ENSMUSG00000049806,protein_coding -39435,Arhgap23,ENSMUSG00000049807,protein_coding -39547,Krtap9-3,ENSMUSG00000049809,protein_coding -37630,Fam161a,ENSMUSG00000049811,protein_coding -9167,4921511C20Rik,ENSMUSG00000049815,protein_coding -49853,Zbtb12,ENSMUSG00000049823,protein_coding -5155,Olfr1102,ENSMUSG00000049843,protein_coding -22843,Ceacam19,ENSMUSG00000049848,protein_coding -29253,Suox,ENSMUSG00000049858,protein_coding -35138,Olfr250,ENSMUSG00000049864,protein_coding -1557,Arl4c,ENSMUSG00000049866,protein_coding -47183,Nlrc3,ENSMUSG00000049871,protein_coding -27262,Calhm5,ENSMUSG00000049872,protein_coding -14576,Rlf,ENSMUSG00000049878,protein_coding -43863,Vcpkmt,ENSMUSG00000049882,protein_coding -38313,Rasd1,ENSMUSG00000049892,protein_coding -29326,Olfr808,ENSMUSG00000049894,protein_coding -4051,Stkld1,ENSMUSG00000049897,protein_coding -41639,4921517D22Rik,ENSMUSG00000049902,protein_coding -37613,Tmem17,ENSMUSG00000049904,protein_coding -16944,Rasl11b,ENSMUSG00000049907,protein_coding -11592,Gja8,ENSMUSG00000049908,protein_coding -47423,2610318N02Rik,ENSMUSG00000049916,protein_coding -5431,Slc35c1,ENSMUSG00000049922,protein_coding -35167,Olfr921,ENSMUSG00000049926,protein_coding -38490,Glp2r,ENSMUSG00000049928,protein_coding -8955,Lpar4,ENSMUSG00000049929,protein_coding -35376,H2afx,ENSMUSG00000049932,protein_coding -19188,Lrrc4,ENSMUSG00000049939,protein_coding -10395,Pgrmc2,ENSMUSG00000049940,protein_coding -30406,BC030500,ENSMUSG00000049946,protein_coding -3452,Rpp38,ENSMUSG00000049950,protein_coding -40225,Ccdc137,ENSMUSG00000049957,protein_coding -32287,Mrps16,ENSMUSG00000049960,protein_coding -12855,Plekhf2,ENSMUSG00000049969,protein_coding -18193,Glt1d1,ENSMUSG00000049971,protein_coding -14312,Skint9,ENSMUSG00000049972,protein_coding -42659,Ankrd55,ENSMUSG00000049985,protein_coding -30610,Lrrc25,ENSMUSG00000049988,protein_coding -7150,Ppp1r3d,ENSMUSG00000049999,protein_coding -41598,Idnk,ENSMUSG00000050002,protein_coding -16830,Shisa3,ENSMUSG00000050010,protein_coding -46313,Apol10b,ENSMUSG00000050014,protein_coding -4363,Olfr350,ENSMUSG00000050015,protein_coding -17698,Pitpnb,ENSMUSG00000050017,protein_coding -18587,Amz1,ENSMUSG00000050022,protein_coding -5253,Olfr1176,ENSMUSG00000050023,protein_coding -33055,Olfr745,ENSMUSG00000050028,protein_coding -7971,Rap2c,ENSMUSG00000050029,protein_coding -33036,Olfr728,ENSMUSG00000050030,protein_coding -28361,Fhl4,ENSMUSG00000050035,protein_coding -4998,Tmx2,ENSMUSG00000050043,protein_coding -17254,Ccdc158,ENSMUSG00000050050,protein_coding -29640,Tdrp,ENSMUSG00000050052,protein_coding -47285,Prm3,ENSMUSG00000050058,protein_coding -23847,Klk6,ENSMUSG00000050063,protein_coding -11623,Zfp697,ENSMUSG00000050064,protein_coding -3045,Grem2,ENSMUSG00000050069,protein_coding -9292,Bex1,ENSMUSG00000050071,protein_coding -36929,Spink8,ENSMUSG00000050074,protein_coding -10665,Gpr171,ENSMUSG00000050075,protein_coding -31170,Rspry1,ENSMUSG00000050079,protein_coding -25492,Olfr622,ENSMUSG00000050085,protein_coding -38016,Cby3,ENSMUSG00000050087,protein_coding -48982,1600012H06Rik,ENSMUSG00000050088,protein_coding -7325,Akap4,ENSMUSG00000050089,protein_coding -11286,Sprr2b,ENSMUSG00000050092,protein_coding -31323,Ces2b,ENSMUSG00000050097,protein_coding -26354,Hmx2,ENSMUSG00000050100,protein_coding -49133,Vmn1r235,ENSMUSG00000050102,protein_coding -43442,Agmo,ENSMUSG00000050103,protein_coding -14956,Grrp1,ENSMUSG00000050105,protein_coding -40133,Tmc8,ENSMUSG00000050106,protein_coding -38736,Haspin,ENSMUSG00000050107,protein_coding -28390,Bpifc,ENSMUSG00000050108,protein_coding -4938,Prdx6b,ENSMUSG00000050114,protein_coding -55067,Opalin,ENSMUSG00000050121,protein_coding -537,Vwa3b,ENSMUSG00000050122,protein_coding -5069,Olfr1023,ENSMUSG00000050128,protein_coding -38953,Sarm1,ENSMUSG00000050132,protein_coding -3025,Olfr430,ENSMUSG00000050134,protein_coding -51002,Kcnk12,ENSMUSG00000050138,protein_coding -13282,Fam205c,ENSMUSG00000050141,protein_coding -11119,Slc25a44,ENSMUSG00000050144,protein_coding -30726,F2rl3,ENSMUSG00000050147,protein_coding -9626,Ubqln2,ENSMUSG00000050148,protein_coding -12384,Slc9b1,ENSMUSG00000050150,protein_coding -27953,Gm867,ENSMUSG00000050157,protein_coding -47537,Olfr165,ENSMUSG00000050158,protein_coding -46472,Mchr1,ENSMUSG00000050164,protein_coding -10330,Nudt6,ENSMUSG00000050174,protein_coding -14688,Lsm10,ENSMUSG00000050188,protein_coding -30192,Gm5346,ENSMUSG00000050190,protein_coding -10153,Eif5a2,ENSMUSG00000050192,protein_coding -55152,Scd4,ENSMUSG00000050195,protein_coding -7833,Rhox13,ENSMUSG00000050197,protein_coding -29281,Olfr768,ENSMUSG00000050198,protein_coding -5644,Lgr4,ENSMUSG00000050199,protein_coding -40016,Otop2,ENSMUSG00000050201,protein_coding -5869,Pla2g4e,ENSMUSG00000050211,protein_coding -14691,Eva1b,ENSMUSG00000050212,protein_coding -14675,Snip1,ENSMUSG00000050213,protein_coding -13324,Olfr70,ENSMUSG00000050215,protein_coding -401,Lgsn,ENSMUSG00000050217,protein_coding -33572,Il17d,ENSMUSG00000050222,protein_coding -48521,Krtap13,ENSMUSG00000050224,protein_coding -2966,Pigm,ENSMUSG00000050229,protein_coding -8786,Cxcr3,ENSMUSG00000050232,protein_coding -14735,Gja4,ENSMUSG00000050234,protein_coding -48513,Krtap24-1,ENSMUSG00000050239,protein_coding -47433,Hic2,ENSMUSG00000050240,protein_coding -21556,Klre1,ENSMUSG00000050241,protein_coding -40465,Heatr1,ENSMUSG00000050244,protein_coding -16363,Evc2,ENSMUSG00000050248,protein_coding -29327,Olfr809,ENSMUSG00000050251,protein_coding -25621,Olfr690,ENSMUSG00000050266,protein_coding -38474,Tmem220,ENSMUSG00000050270,protein_coding -30102,Prag1,ENSMUSG00000050271,protein_coding -48732,Dscam,ENSMUSG00000050272,protein_coding -26699,Mrgprg,ENSMUSG00000050276,protein_coding -25501,Olfr630,ENSMUSG00000050281,protein_coding -39748,Fzd2,ENSMUSG00000050288,protein_coding -41018,Foxc1,ENSMUSG00000050295,protein_coding -1140,Abca12,ENSMUSG00000050296,protein_coding -53198,Slc25a2,ENSMUSG00000050304,protein_coding -45349,Rictor,ENSMUSG00000050310,protein_coding -48273,Nsun3,ENSMUSG00000050312,protein_coding -12161,Synpo2,ENSMUSG00000050315,protein_coding -54014,Neto1,ENSMUSG00000050321,protein_coding -12856,Ndufaf6,ENSMUSG00000050323,protein_coding -47096,Hoxc12,ENSMUSG00000050328,protein_coding -8689,Amer1,ENSMUSG00000050332,protein_coding -32957,Lgals3,ENSMUSG00000050335,protein_coding -38036,Olfr1378,ENSMUSG00000050343,protein_coding -41674,4930486L24Rik,ENSMUSG00000050345,protein_coding -34398,Gpr18,ENSMUSG00000050350,protein_coding -31377,Carmil2,ENSMUSG00000050357,protein_coding -11301,Sprr1a,ENSMUSG00000050359,protein_coding -26506,Olfr524,ENSMUSG00000050366,protein_coding -4849,Hoxd10,ENSMUSG00000050368,protein_coding -54934,Ch25h,ENSMUSG00000050370,protein_coding -6841,Snx21,ENSMUSG00000050373,protein_coding -42666,Il31ra,ENSMUSG00000050377,protein_coding -7774,Sept6,ENSMUSG00000050379,protein_coding -24838,Kif7,ENSMUSG00000050382,protein_coding -6802,Svs3b,ENSMUSG00000050383,protein_coding -14769,C77080,ENSMUSG00000050390,protein_coding -9240,Armcx6,ENSMUSG00000050394,protein_coding -13707,Tnfsf15,ENSMUSG00000050395,protein_coding -36560,Foxl2,ENSMUSG00000050397,protein_coding -49924,Tcf19,ENSMUSG00000050410,protein_coding -41127,Ppp1r3g,ENSMUSG00000050423,protein_coding -8310,Pnma5,ENSMUSG00000050424,protein_coding -24154,Mrgprb2,ENSMUSG00000050425,protein_coding -22784,Fbxo46,ENSMUSG00000050428,protein_coding -9040,Ube2dnl1,ENSMUSG00000050435,protein_coding -46452,Enthd1,ENSMUSG00000050439,protein_coding -23414,Hamp,ENSMUSG00000050440,protein_coding -37200,Cyp8b1,ENSMUSG00000050445,protein_coding -4515,Lypd6,ENSMUSG00000050447,protein_coding -47050,Krt78,ENSMUSG00000050463,protein_coding -6014,Astl,ENSMUSG00000050468,protein_coding -35018,Fam118b,ENSMUSG00000050471,protein_coding -26989,Slc35d3,ENSMUSG00000050473,protein_coding -29325,Olfr807,ENSMUSG00000050478,protein_coding -14788,Fam167b,ENSMUSG00000050493,protein_coding -35915,Fbxl22,ENSMUSG00000050503,protein_coding -7961,Olfr1323,ENSMUSG00000050504,protein_coding -34096,Pcdh20,ENSMUSG00000050505,protein_coding -14854,Oprd1,ENSMUSG00000050511,protein_coding -48511,Cldn8,ENSMUSG00000050520,protein_coding -2208,4933406M09Rik,ENSMUSG00000050526,protein_coding -3449,Fam171a1,ENSMUSG00000050530,protein_coding -1977,Htr5b,ENSMUSG00000050534,protein_coding -39458,B230217C12Rik,ENSMUSG00000050538,protein_coding -37877,Adra1b,ENSMUSG00000050541,protein_coding -42860,Fam228b,ENSMUSG00000050545,protein_coding -12253,Fam241a,ENSMUSG00000050549,protein_coding -18505,Lamtor4,ENSMUSG00000050552,protein_coding -17354,Gk2,ENSMUSG00000050553,protein_coding -35030,Hyls1,ENSMUSG00000050555,protein_coding -6908,Kcnb1,ENSMUSG00000050556,protein_coding -6174,Prokr2,ENSMUSG00000050558,protein_coding -2562,Tor1aip2,ENSMUSG00000050565,protein_coding -38013,Maml1,ENSMUSG00000050567,protein_coding -34490,Mmp13,ENSMUSG00000050578,protein_coding -5483,Lrrc4c,ENSMUSG00000050587,protein_coding -4204,Fam78a,ENSMUSG00000050592,protein_coding -7056,Zfp831,ENSMUSG00000050600,protein_coding -5052,Olfr1008,ENSMUSG00000050603,protein_coding -23045,Zfp61,ENSMUSG00000050605,protein_coding -15106,Micos10,ENSMUSG00000050608,protein_coding -50638,Txndc2,ENSMUSG00000050612,protein_coding -50108,Olfr125,ENSMUSG00000050613,protein_coding -5899,Zscan29,ENSMUSG00000050619,protein_coding -37047,Rps27rt,ENSMUSG00000050621,protein_coding -54309,Catsperz,ENSMUSG00000050623,protein_coding -3185,Ccdc121,ENSMUSG00000050625,protein_coding -37045,Gpd1l,ENSMUSG00000050627,protein_coding -40083,Ubald2,ENSMUSG00000050628,protein_coding -11291,Sprr2f,ENSMUSG00000050635,protein_coding -17394,Tmem150c,ENSMUSG00000050640,protein_coding -36856,BC048562,ENSMUSG00000050641,protein_coding -6488,Defb19,ENSMUSG00000050645,protein_coding -24112,Mrgpra1,ENSMUSG00000050650,protein_coding -21141,Olfr215,ENSMUSG00000050654,protein_coding -28892,Trhde,ENSMUSG00000050663,protein_coding -32546,Vstm4,ENSMUSG00000050666,protein_coding -50839,Gpatch11,ENSMUSG00000050668,protein_coding -44270,Ism2,ENSMUSG00000050671,protein_coding -38652,Gp1ba,ENSMUSG00000050675,protein_coding -16339,Ccdc96,ENSMUSG00000050677,protein_coding -48121,Ccdc54,ENSMUSG00000050685,protein_coding -45325,Prkaa1,ENSMUSG00000050697,protein_coding -6736,Emilin3,ENSMUSG00000050700,protein_coding -35658,4930563M21Rik,ENSMUSG00000050702,protein_coding -48519,2310061N02Rik,ENSMUSG00000050704,protein_coding -49951,2310061I04Rik,ENSMUSG00000050705,protein_coding -24009,Ftl1,ENSMUSG00000050708,protein_coding -1306,Scg2,ENSMUSG00000050711,protein_coding -4391,Zbtb26,ENSMUSG00000050714,protein_coding -35895,Plekho2,ENSMUSG00000050721,protein_coding -34523,Arhgap42,ENSMUSG00000050730,protein_coding -20344,Vamp8,ENSMUSG00000050732,protein_coding -4172,Ptges,ENSMUSG00000050737,protein_coding -47534,Olfr164,ENSMUSG00000050742,protein_coding -50036,Trim15,ENSMUSG00000050747,protein_coding -31839,Pgbd5,ENSMUSG00000050751,protein_coding -29711,Defb6,ENSMUSG00000050756,protein_coding -47502,Gp1bb,ENSMUSG00000050761,protein_coding -49265,Prss27,ENSMUSG00000050762,protein_coding -37968,Olfr1395,ENSMUSG00000050763,protein_coding -33096,Ear14,ENSMUSG00000050766,protein_coding -5189,Olfr1124,ENSMUSG00000050772,protein_coding -5713,Olfr1317,ENSMUSG00000050776,protein_coding -1953,Tmem37,ENSMUSG00000050777,protein_coding -48292,Htr1f,ENSMUSG00000050783,protein_coding -19709,Ccdc126,ENSMUSG00000050786,protein_coding -3037,Olfr419,ENSMUSG00000050788,protein_coding -15607,B3galt6,ENSMUSG00000050796,protein_coding -40884,Hist1h2ba,ENSMUSG00000050799,protein_coding -34712,Olfr866,ENSMUSG00000050803,protein_coding -5656,Muc15,ENSMUSG00000050808,protein_coding -15255,Oog3,ENSMUSG00000050810,protein_coding -13585,Ecpas,ENSMUSG00000050812,protein_coding -38228,Olfr332,ENSMUSG00000050813,protein_coding -54563,Olfr1441,ENSMUSG00000050815,protein_coding -38231,Olfr330,ENSMUSG00000050818,protein_coding -47587,Fam131a,ENSMUSG00000050821,protein_coding -18609,Slc29a4,ENSMUSG00000050822,protein_coding -49356,Sstr5,ENSMUSG00000050824,protein_coding -37475,Vwc2,ENSMUSG00000050830,protein_coding -1785,Cdh20,ENSMUSG00000050840,protein_coding -27025,1700020N01Rik,ENSMUSG00000050844,protein_coding -46214,Zfp623,ENSMUSG00000050846,protein_coding -35217,Olfr958,ENSMUSG00000050853,protein_coding -14481,Tmem125,ENSMUSG00000050854,protein_coding -23318,Zfp940,ENSMUSG00000050855,protein_coding -17591,Atp5k,ENSMUSG00000050856,protein_coding -39354,Phospho1,ENSMUSG00000050860,protein_coding -54642,Olfr1494,ENSMUSG00000050865,protein_coding -26419,Clrn3,ENSMUSG00000050866,protein_coding -24151,Mrgprb8,ENSMUSG00000050870,protein_coding -53532,Minar2,ENSMUSG00000050875,protein_coding -41641,Spata31d1a,ENSMUSG00000050876,protein_coding -14957,Pdik1l,ENSMUSG00000050890,protein_coding -45963,Tatdn1,ENSMUSG00000050891,protein_coding -5012,Rtn4rl2,ENSMUSG00000050896,protein_coding -34637,Mtnr1b,ENSMUSG00000050901,protein_coding -47278,Tvp23a,ENSMUSG00000050908,protein_coding -40020,Cdr2l,ENSMUSG00000050910,protein_coding -34505,Tmem123,ENSMUSG00000050912,protein_coding -30235,Ankrd37,ENSMUSG00000050914,protein_coding -26723,Fgf4,ENSMUSG00000050917,protein_coding -42474,Zfp366,ENSMUSG00000050919,protein_coding -8956,P2ry10,ENSMUSG00000050921,protein_coding -7900,Dcaf12l2,ENSMUSG00000050926,protein_coding -31864,Map10,ENSMUSG00000050930,protein_coding -12322,Sgms2,ENSMUSG00000050931,protein_coding -49114,Vmn1r231,ENSMUSG00000050933,protein_coding -38891,Efcab5,ENSMUSG00000050944,protein_coding -52694,Zfp438,ENSMUSG00000050945,protein_coding -11918,Amigo1,ENSMUSG00000050947,protein_coding -27620,Gja1,ENSMUSG00000050953,protein_coding -41372,Zfp169,ENSMUSG00000050954,protein_coding -54851,Insl6,ENSMUSG00000050957,protein_coding -33126,AY358078,ENSMUSG00000050961,protein_coding -45657,Kcns2,ENSMUSG00000050963,protein_coding -39910,Prkca,ENSMUSG00000050965,protein_coding -14940,Lin28a,ENSMUSG00000050966,protein_coding -598,Creg2,ENSMUSG00000050967,protein_coding -24865,Gdpgp1,ENSMUSG00000050973,protein_coding -46309,Apol10a,ENSMUSG00000050982,protein_coding -14970,Selenon,ENSMUSG00000050989,protein_coding -26846,Adgb,ENSMUSG00000050994,protein_coding -52757,Cetn1,ENSMUSG00000050996,protein_coding -11028,Fam160a1,ENSMUSG00000051000,protein_coding -47162,Olfr161,ENSMUSG00000051003,protein_coding -26586,Gatd1,ENSMUSG00000051007,protein_coding -16402,Hs3st1,ENSMUSG00000051022,protein_coding -41040,Serpinb1b,ENSMUSG00000051029,protein_coding -18222,Zfp11,ENSMUSG00000051034,protein_coding -11094,Ttc24,ENSMUSG00000051036,protein_coding -41953,Zfp455,ENSMUSG00000051037,protein_coding -7830,Rhox11,ENSMUSG00000051038,protein_coding -25709,Olfml1,ENSMUSG00000051041,protein_coding -39994,Gprc5c,ENSMUSG00000051043,protein_coding -21140,Olfr214,ENSMUSG00000051046,protein_coding -25313,P4ha3,ENSMUSG00000051048,protein_coding -53337,Spink14,ENSMUSG00000051050,protein_coding -26505,Olfr523,ENSMUSG00000051051,protein_coding -41646,1700014D04Rik,ENSMUSG00000051054,protein_coding -13080,Gja10,ENSMUSG00000051056,protein_coding -37817,Fbll1,ENSMUSG00000051062,protein_coding -47726,Mb21d2,ENSMUSG00000051065,protein_coding -28206,Lingo3,ENSMUSG00000051067,protein_coding -11682,Vtcn1,ENSMUSG00000051076,protein_coding -2388,Rgs13,ENSMUSG00000051079,protein_coding -2817,Gm4847,ENSMUSG00000051081,protein_coding -35254,Olfr986,ENSMUSG00000051095,protein_coding -42213,Mblac2,ENSMUSG00000051098,protein_coding -42391,Sv2c,ENSMUSG00000051111,protein_coding -23922,Fam71e1,ENSMUSG00000051113,protein_coding -34707,Olfr77,ENSMUSG00000051118,protein_coding -19672,Gimap9,ENSMUSG00000051124,protein_coding -10138,Ghsr,ENSMUSG00000051136,protein_coding -47581,Camk2n2,ENSMUSG00000051146,protein_coding -30520,Nat2,ENSMUSG00000051147,protein_coding -6941,Adnp,ENSMUSG00000051149,protein_coding -21640,Tas2r105,ENSMUSG00000051153,protein_coding -3807,Commd3,ENSMUSG00000051154,protein_coding -54639,Olfr1491,ENSMUSG00000051156,protein_coding -8804,Cited1,ENSMUSG00000051159,protein_coding -34692,Olfr853,ENSMUSG00000051160,protein_coding -44473,Eml5,ENSMUSG00000051166,protein_coding -21042,Rpusd3,ENSMUSG00000051169,protein_coding -25596,Olfr672,ENSMUSG00000051172,protein_coding -30188,Zfp42,ENSMUSG00000051176,protein_coding -6208,Plcb1,ENSMUSG00000051177,protein_coding -26504,Olfr522,ENSMUSG00000051180,protein_coding -25568,Olfr655,ENSMUSG00000051182,protein_coding -22148,Zfp524,ENSMUSG00000051184,protein_coding -1705,Fam174a,ENSMUSG00000051185,protein_coding -28087,Olfr1356,ENSMUSG00000051190,protein_coding -25777,Olfr513,ENSMUSG00000051200,protein_coding -26734,Mrgprd,ENSMUSG00000051207,protein_coding -7943,Gpr119,ENSMUSG00000051209,protein_coding -34399,Gpr183,ENSMUSG00000051212,protein_coding -8800,Ercc6l,ENSMUSG00000051220,protein_coding -884,Bzw1,ENSMUSG00000051223,protein_coding -9825,Tceanc,ENSMUSG00000051224,protein_coding -45939,Fam83a,ENSMUSG00000051225,protein_coding -7508,Nyx,ENSMUSG00000051228,protein_coding -38956,Tmem199,ENSMUSG00000051232,protein_coding -36501,Rnf7,ENSMUSG00000051234,protein_coding -42943,Gen1,ENSMUSG00000051235,protein_coding -29039,Msrb3,ENSMUSG00000051236,protein_coding -34815,Swsap1,ENSMUSG00000051238,protein_coding -53181,Pcdhb9,ENSMUSG00000051242,protein_coding -35729,Islr2,ENSMUSG00000051243,protein_coding -16308,Msantd1,ENSMUSG00000051246,protein_coding -2948,Nhlh1,ENSMUSG00000051251,protein_coding -21047,Jagn1,ENSMUSG00000051256,protein_coding -9368,Trap1a,ENSMUSG00000051257,protein_coding -40680,Olfr1362,ENSMUSG00000051258,protein_coding -20573,Nat8f3,ENSMUSG00000051262,protein_coding -15549,Actrt2,ENSMUSG00000051276,protein_coding -12239,Zgrf1,ENSMUSG00000051278,protein_coding -12840,Gdf6,ENSMUSG00000051279,protein_coding -67,Pcmtd1,ENSMUSG00000051285,protein_coding -18650,Usp42,ENSMUSG00000051306,protein_coding -5342,Olfr1262,ENSMUSG00000051313,protein_coding -23404,Ffar2,ENSMUSG00000051314,protein_coding -53199,Taf7,ENSMUSG00000051316,protein_coding -6030,Mtln,ENSMUSG00000051319,protein_coding -9207,Pcdh19,ENSMUSG00000051323,protein_coding -5366,Nup160,ENSMUSG00000051329,protein_coding -21186,Cacna1c,ENSMUSG00000051331,protein_coding -41280,Gfod1,ENSMUSG00000051335,protein_coding -17742,2900026A02Rik,ENSMUSG00000051339,protein_coding -25534,Olfr645,ENSMUSG00000051340,protein_coding -49149,Zfp52,ENSMUSG00000051341,protein_coding -20559,Rab11fip5,ENSMUSG00000051343,protein_coding -1049,Plekhm3,ENSMUSG00000051344,protein_coding -29209,Spryd4,ENSMUSG00000051346,protein_coding -15026,Zfp46,ENSMUSG00000051351,protein_coding -27129,Samd3,ENSMUSG00000051354,protein_coding -37627,Commd1,ENSMUSG00000051355,protein_coding -45715,Ncald,ENSMUSG00000051359,protein_coding -7851,6030498E09Rik,ENSMUSG00000051361,protein_coding -25454,Olfr589,ENSMUSG00000051362,protein_coding -43944,Six1,ENSMUSG00000051367,protein_coding -4207,Plpp7,ENSMUSG00000051373,protein_coding -53241,Pcdh1,ENSMUSG00000051375,protein_coding -39766,Kif18b,ENSMUSG00000051378,protein_coding -6257,Flrt3,ENSMUSG00000051379,protein_coding -49757,Zbtb22,ENSMUSG00000051390,protein_coding -18385,Ywhag,ENSMUSG00000051391,protein_coding -11601,Olfr1402,ENSMUSG00000051392,protein_coding -3461,Gm45902,ENSMUSG00000051396,protein_coding -20060,Tacstd2,ENSMUSG00000051397,protein_coding -53281,Kctd16,ENSMUSG00000051401,protein_coding -22817,Ppp1r37,ENSMUSG00000051403,protein_coding -55499,Vamp7,ENSMUSG00000051412,protein_coding -6517,Plagl2,ENSMUSG00000051413,protein_coding -34666,Olfr829,ENSMUSG00000051414,protein_coding -5261,Olfr1184,ENSMUSG00000051424,protein_coding -37351,Ccdc157,ENSMUSG00000051427,protein_coding -10667,Gpr87,ENSMUSG00000051431,protein_coding -15199,Fhad1,ENSMUSG00000051435,protein_coding -25538,Ubqlnl,ENSMUSG00000051437,protein_coding -53134,Cd14,ENSMUSG00000051439,protein_coding -10324,Bbs12,ENSMUSG00000051444,protein_coding -25131,Crebzf,ENSMUSG00000051451,protein_coding -39118,Gm11437,ENSMUSG00000051452,protein_coding -39753,Meioc,ENSMUSG00000051455,protein_coding -42701,Hspb3,ENSMUSG00000051456,protein_coding -26189,Spn,ENSMUSG00000051457,protein_coding -52932,Zfp24,ENSMUSG00000051469,protein_coding -39586,Krtap31-2,ENSMUSG00000051481,protein_coding -48666,Cbr1,ENSMUSG00000051483,protein_coding -53183,Pcdhb11,ENSMUSG00000051486,protein_coding -54785,Foxd4,ENSMUSG00000051490,protein_coding -35239,Olfr974,ENSMUSG00000051493,protein_coding -31877,Irf2bp2,ENSMUSG00000051495,protein_coding -39955,Kcnj16,ENSMUSG00000051497,protein_coding -16741,Tlr6,ENSMUSG00000051498,protein_coding -19636,Zfp786,ENSMUSG00000051499,protein_coding -18433,Ufsp1,ENSMUSG00000051502,protein_coding -17723,Gm6583,ENSMUSG00000051503,protein_coding -24229,Siglech,ENSMUSG00000051504,protein_coding -32548,Wdfy4,ENSMUSG00000051506,protein_coding -3042,Olfr414,ENSMUSG00000051509,protein_coding -40245,Mafg,ENSMUSG00000051510,protein_coding -25183,Fam181b,ENSMUSG00000051515,protein_coding -13305,Arhgef39,ENSMUSG00000051517,protein_coding -46449,Rps19bp1,ENSMUSG00000051518,protein_coding -22227,Usp29,ENSMUSG00000051527,protein_coding -3031,Olfr424,ENSMUSG00000051528,protein_coding -22146,Zfp579,ENSMUSG00000051550,protein_coding -15602,Pusl1,ENSMUSG00000051557,protein_coding -9289,Tceal8,ENSMUSG00000051579,protein_coding -8744,Otud6a,ENSMUSG00000051582,protein_coding -21225,Mical3,ENSMUSG00000051586,protein_coding -2036,Map3k19,ENSMUSG00000051590,protein_coding -25673,Olfr697,ENSMUSG00000051591,protein_coding -7324,Ccnb3,ENSMUSG00000051592,protein_coding -13489,Olfr272,ENSMUSG00000051593,protein_coding -16378,Otop1,ENSMUSG00000051596,protein_coding -53173,Pcdhb2,ENSMUSG00000051599,protein_coding -50092,Olfr112,ENSMUSG00000051611,protein_coding -34377,Rap2a,ENSMUSG00000051615,protein_coding -39606,Krt9,ENSMUSG00000051617,protein_coding -25537,Ubqln3,ENSMUSG00000051618,protein_coding -40853,Hist1h1e,ENSMUSG00000051627,protein_coding -31361,Kctd19,ENSMUSG00000051648,protein_coding -37620,B3gnt2,ENSMUSG00000051650,protein_coding -28036,Lrrc3,ENSMUSG00000051652,protein_coding -53172,Pcdhb1,ENSMUSG00000051663,protein_coding -47225,AU021092,ENSMUSG00000051669,protein_coding -31873,Coa6,ENSMUSG00000051671,protein_coding -16928,Dcun1d4,ENSMUSG00000051674,protein_coding -13719,Trim32,ENSMUSG00000051675,protein_coding -53178,Pcdhb6,ENSMUSG00000051678,protein_coding -25668,Olfr693,ENSMUSG00000051680,protein_coding -50370,Treml4,ENSMUSG00000051682,protein_coding -22421,Vmn1r73,ENSMUSG00000051687,protein_coding -20615,Pcbp1,ENSMUSG00000051695,protein_coding -1264,Tmem198,ENSMUSG00000051703,protein_coding -35761,Senp8,ENSMUSG00000051705,protein_coding -8397,Olfr1325,ENSMUSG00000051706,protein_coding -29213,Apon,ENSMUSG00000051716,protein_coding -42867,Wdcp,ENSMUSG00000051721,protein_coding -43039,Kcnf1,ENSMUSG00000051726,protein_coding -25224,Kctd14,ENSMUSG00000051727,protein_coding -48645,Fam243,ENSMUSG00000051728,protein_coding -4748,Mettl5,ENSMUSG00000051730,protein_coding -53275,Pabpc2,ENSMUSG00000051732,protein_coding -23270,Rinl,ENSMUSG00000051735,protein_coding -27309,Fam229b,ENSMUSG00000051736,protein_coding -4901,Ttn,ENSMUSG00000051747,protein_coding -39106,Wfdc21,ENSMUSG00000051748,protein_coding -23062,Xrcc1,ENSMUSG00000051768,protein_coding -6799,Wfdc15a,ENSMUSG00000051769,protein_coding -10816,Iqcj,ENSMUSG00000051777,protein_coding -46695,Tubgcp6,ENSMUSG00000051786,protein_coding -11820,4930564D02Rik,ENSMUSG00000051788,protein_coding -38588,Nlgn2,ENSMUSG00000051790,protein_coding -46850,Olfr284,ENSMUSG00000051793,protein_coding -48533,Krtap19-5,ENSMUSG00000051802,protein_coding -45008,Adam6b,ENSMUSG00000051804,protein_coding -22128,Cox6b2,ENSMUSG00000051811,protein_coding -6473,Sox12,ENSMUSG00000051817,protein_coding -7788,Rhox2a,ENSMUSG00000051827,protein_coding -30833,Gypa,ENSMUSG00000051839,protein_coding -8023,Rtl8c,ENSMUSG00000051851,protein_coding -46876,Arf3,ENSMUSG00000051853,protein_coding -19251,Mest,ENSMUSG00000051855,protein_coding -10187,Samd7,ENSMUSG00000051860,protein_coding -46659,Tbc1d22a,ENSMUSG00000051864,protein_coding -25029,Vmn2r72,ENSMUSG00000051877,protein_coding -47038,Krt71,ENSMUSG00000051879,protein_coding -43851,Klhdc1,ENSMUSG00000051890,protein_coding -20286,Tex37,ENSMUSG00000051896,protein_coding -25998,Abca16,ENSMUSG00000051900,protein_coding -29415,Cd209f,ENSMUSG00000051906,protein_coding -25905,Sox6,ENSMUSG00000051910,protein_coding -19523,Tas2r144,ENSMUSG00000051917,protein_coding -45809,Rspo2,ENSMUSG00000051920,protein_coding -46903,Spats2,ENSMUSG00000051934,protein_coding -19428,Prss58,ENSMUSG00000051936,protein_coding -16072,5031410I06Rik,ENSMUSG00000051940,protein_coding -18834,B3glct,ENSMUSG00000051950,protein_coding -2,Xkr4,ENSMUSG00000051951,protein_coding -30980,Olfr371,ENSMUSG00000051952,protein_coding -19141,Rnf133,ENSMUSG00000051956,protein_coding -22770,Nanos2,ENSMUSG00000051965,protein_coding -33044,Tlr11,ENSMUSG00000051969,protein_coding -49003,Prdm9,ENSMUSG00000051977,protein_coding -29642,Erich1,ENSMUSG00000051978,protein_coding -47925,Casr,ENSMUSG00000051980,protein_coding -55157,Sec31b,ENSMUSG00000051984,protein_coding -2259,Igfn1,ENSMUSG00000051985,protein_coding -48643,Smim11,ENSMUSG00000051989,protein_coding -2185,Lax1,ENSMUSG00000051998,protein_coding -29312,Olfr796,ENSMUSG00000052012,protein_coding -48058,Btla,ENSMUSG00000052013,protein_coding -18255,A330070K13Rik,ENSMUSG00000052014,protein_coding -53565,Slc6a7,ENSMUSG00000052026,protein_coding -48831,Tagap1,ENSMUSG00000052031,protein_coding -6979,Pfdn4,ENSMUSG00000052033,protein_coding -24562,Klf13,ENSMUSG00000052040,protein_coding -6971,Zfp217,ENSMUSG00000052056,protein_coding -35141,Olfr901,ENSMUSG00000052058,protein_coding -980,Pard3b,ENSMUSG00000052062,protein_coding -42416,1700029F12Rik,ENSMUSG00000052075,protein_coding -54789,Dock8,ENSMUSG00000052085,protein_coding -41536,Rgs14,ENSMUSG00000052087,protein_coding -33720,Prss51,ENSMUSG00000052099,protein_coding -53249,Gnpda1,ENSMUSG00000052102,protein_coding -50660,Mtcl1,ENSMUSG00000052105,protein_coding -13572,D630039A03Rik,ENSMUSG00000052117,protein_coding -19308,Akr1b7,ENSMUSG00000052131,protein_coding -47874,Sema5b,ENSMUSG00000052133,protein_coding -14545,Foxo6,ENSMUSG00000052135,protein_coding -12886,Rbm12b2,ENSMUSG00000052137,protein_coding -16206,Babam2,ENSMUSG00000052139,protein_coding -49683,Rasal3,ENSMUSG00000052142,protein_coding -20912,Ppp4r2,ENSMUSG00000052144,protein_coding -49490,Rps10,ENSMUSG00000052146,protein_coding -28102,Plpp2,ENSMUSG00000052151,protein_coding -4502,Acvr2a,ENSMUSG00000052155,protein_coding -44942,Pld4,ENSMUSG00000052160,protein_coding -41067,Serpinb6c,ENSMUSG00000052180,protein_coding -34688,Olfr849,ENSMUSG00000052182,protein_coding -25512,Hbb-y,ENSMUSG00000052187,protein_coding -23076,Cd177,ENSMUSG00000052212,protein_coding -22791,Opa3,ENSMUSG00000052214,protein_coding -25510,Hbb-bh1,ENSMUSG00000052217,protein_coding -43999,Ppp1r36,ENSMUSG00000052221,protein_coding -53006,Gpr17,ENSMUSG00000052229,protein_coding -39217,Epx,ENSMUSG00000052234,protein_coding -45549,Zfp622,ENSMUSG00000052253,protein_coding -49048,Fpr2,ENSMUSG00000052270,protein_coding -18666,Bhlha15,ENSMUSG00000052271,protein_coding -25988,Dnah3,ENSMUSG00000052273,protein_coding -47716,Ostn,ENSMUSG00000052276,protein_coding -42508,Taf9,ENSMUSG00000052293,protein_coding -22120,Ppp6r1,ENSMUSG00000052296,protein_coding -38150,Cdc42se2,ENSMUSG00000052298,protein_coding -48493,Ltn1,ENSMUSG00000052299,protein_coding -26160,Doc2a,ENSMUSG00000052301,protein_coding -29053,Tbc1d30,ENSMUSG00000052302,protein_coding -24109,Mrgpra6,ENSMUSG00000052303,protein_coding -25506,Hbb-bs,ENSMUSG00000052305,protein_coding -11226,Slc39a1,ENSMUSG00000052310,protein_coding -47748,Lrrc15,ENSMUSG00000052316,protein_coding -825,Ankrd44,ENSMUSG00000052331,protein_coding -32697,1700024B05Rik,ENSMUSG00000052334,protein_coding -37121,Cx3cr1,ENSMUSG00000052336,protein_coding -20322,Immt,ENSMUSG00000052337,protein_coding -24982,Cemip,ENSMUSG00000052353,protein_coding -47820,Zdhhc19,ENSMUSG00000052363,protein_coding -7411,B630019K06Rik,ENSMUSG00000052364,protein_coding -46835,Tmem106c,ENSMUSG00000052369,protein_coding -8569,Il1rapl1,ENSMUSG00000052372,protein_coding -39714,Mpp3,ENSMUSG00000052373,protein_coding -40463,Actn2,ENSMUSG00000052374,protein_coding -33083,Rnase9,ENSMUSG00000052382,protein_coding -47804,Nrros,ENSMUSG00000052384,protein_coding -54741,Trpm3,ENSMUSG00000052387,protein_coding -44163,Acot4,ENSMUSG00000052392,protein_coding -32470,Rft1,ENSMUSG00000052395,protein_coding -25271,Mogat2,ENSMUSG00000052396,protein_coding -48823,Ezr,ENSMUSG00000052397,protein_coding -4052,Rexo4,ENSMUSG00000052406,protein_coding -13851,Ccdc171,ENSMUSG00000052407,protein_coding -47085,Gm28047,ENSMUSG00000052414,protein_coding -11357,Tchh,ENSMUSG00000052415,protein_coding -32164,Olfr720,ENSMUSG00000052417,protein_coding -19027,2610001J05Rik,ENSMUSG00000052419,protein_coding -2903,B4galt3,ENSMUSG00000052423,protein_coding -2832,Tmco1,ENSMUSG00000052428,protein_coding -12490,Bmpr1b,ENSMUSG00000052430,protein_coding -33425,Cebpe,ENSMUSG00000052435,protein_coding -30683,Zfp961,ENSMUSG00000052446,protein_coding -30962,Asna1,ENSMUSG00000052456,protein_coding -48035,Atp6v1a,ENSMUSG00000052459,protein_coding -9958,Pmp2,ENSMUSG00000052468,protein_coding -48947,Tcp10c,ENSMUSG00000052469,protein_coding -1406,C130026I21Rik,ENSMUSG00000052477,protein_coding -42456,Tmem171,ENSMUSG00000052485,protein_coding -30713,Cherp,ENSMUSG00000052488,protein_coding -46647,Pkdrej,ENSMUSG00000052496,protein_coding -48282,Epha3,ENSMUSG00000052504,protein_coding -26522,Olfr536,ENSMUSG00000052508,protein_coding -24166,Nav2,ENSMUSG00000052512,protein_coding -48349,Robo2,ENSMUSG00000052516,protein_coding -14046,Cyp2j5,ENSMUSG00000052520,protein_coding -50741,Spdya,ENSMUSG00000052525,protein_coding -4151,Nup188,ENSMUSG00000052533,protein_coding -2841,Pbx1,ENSMUSG00000052534,protein_coding -48239,Olfr198,ENSMUSG00000052537,protein_coding -11774,Magi3,ENSMUSG00000052539,protein_coding -12664,St6galnac3,ENSMUSG00000052544,protein_coding -9219,Arl13a,ENSMUSG00000052549,protein_coding -40393,Adarb2,ENSMUSG00000052551,protein_coding -29703,Defb34,ENSMUSG00000052554,protein_coding -31587,Gan,ENSMUSG00000052557,protein_coding -46736,Cpne8,ENSMUSG00000052560,protein_coding -54361,Slc22a30,ENSMUSG00000052562,protein_coding -38060,D930048N14Rik,ENSMUSG00000052563,protein_coding -40842,Hist1h1d,ENSMUSG00000052565,protein_coding -30960,Hook2,ENSMUSG00000052566,protein_coding -25135,Dlg2,ENSMUSG00000052572,protein_coding -20427,Lrrtm4,ENSMUSG00000052581,protein_coding -33962,Serp2,ENSMUSG00000052584,protein_coding -43163,Adam17,ENSMUSG00000052593,protein_coding -54882,A1cf,ENSMUSG00000052595,protein_coding -22136,Isoc2b,ENSMUSG00000052605,protein_coding -44003,Plekhg3,ENSMUSG00000052609,protein_coding -27907,Pcdh15,ENSMUSG00000052613,protein_coding -31304,Terb1,ENSMUSG00000052616,protein_coding -34690,Olfr851,ENSMUSG00000052625,protein_coding -20348,Sh2d6,ENSMUSG00000052631,protein_coding -43154,Asap2,ENSMUSG00000052632,protein_coding -38225,Lypd9,ENSMUSG00000052642,protein_coding -20309,Rnf103,ENSMUSG00000052656,protein_coding -23034,Zfp112,ENSMUSG00000052675,protein_coding -9247,Zmat1,ENSMUSG00000052676,protein_coding -28965,Rap1b,ENSMUSG00000052681,protein_coding -14019,Jun,ENSMUSG00000052684,protein_coding -2121,Rab7b,ENSMUSG00000052688,protein_coding -35933,Tln2,ENSMUSG00000052698,protein_coding -26076,Tnrc6a,ENSMUSG00000052707,protein_coding -49571,BC004004,ENSMUSG00000052712,protein_coding -53472,Zfp608,ENSMUSG00000052713,protein_coding -2364,Kcnt2,ENSMUSG00000052726,protein_coding -42478,Map1b,ENSMUSG00000052727,protein_coding -21560,Klrc2,ENSMUSG00000052736,protein_coding -20371,Suclg1,ENSMUSG00000052738,protein_coding -2466,Swt1,ENSMUSG00000052748,protein_coding -25555,Trim30b,ENSMUSG00000052749,protein_coding -19665,Repin1,ENSMUSG00000052751,protein_coding -49293,Traf7,ENSMUSG00000052752,protein_coding -2273,Gpr25,ENSMUSG00000052759,protein_coding -1435,A630001G21Rik,ENSMUSG00000052760,protein_coding -19640,Zfp212,ENSMUSG00000052763,protein_coding -17981,Oas1a,ENSMUSG00000052776,protein_coding -16304,Grk4,ENSMUSG00000052783,protein_coding -25436,Olfr573-ps1,ENSMUSG00000052785,protein_coding -30712,1700030K09Rik,ENSMUSG00000052794,protein_coding -28963,Nup107,ENSMUSG00000052798,protein_coding -42870,Atad2b,ENSMUSG00000052812,protein_coding -29331,Olfr813,ENSMUSG00000052818,protein_coding -30961,Best2,ENSMUSG00000052819,protein_coding -8942,Cysltr1,ENSMUSG00000052821,protein_coding -22662,Sae1,ENSMUSG00000052833,protein_coding -30959,Junb,ENSMUSG00000052837,protein_coding -19415,Tas2r137,ENSMUSG00000052850,protein_coding -20317,Reep1,ENSMUSG00000052852,protein_coding -9360,Nrk,ENSMUSG00000052854,protein_coding -20368,Dnah6,ENSMUSG00000052861,protein_coding -26058,Prkcb,ENSMUSG00000052889,protein_coding -30039,Ubxn8,ENSMUSG00000052906,protein_coding -36860,Lamb2,ENSMUSG00000052911,protein_coding -14044,Cyp2j6,ENSMUSG00000052914,protein_coding -39508,Msl1,ENSMUSG00000052915,protein_coding -48167,Senp7,ENSMUSG00000052917,protein_coding -54878,Prkg1,ENSMUSG00000052920,protein_coding -38516,Arhgef15,ENSMUSG00000052921,protein_coding -6689,Bpi,ENSMUSG00000052922,protein_coding -30956,Rnaseh2a,ENSMUSG00000052926,protein_coding -53829,Ctif,ENSMUSG00000052928,protein_coding -31673,Fbxo31,ENSMUSG00000052934,protein_coding -54830,Glis3,ENSMUSG00000052942,protein_coding -40081,Rnf157,ENSMUSG00000052949,protein_coding -19819,Cpvl,ENSMUSG00000052955,protein_coding -41659,Gas1,ENSMUSG00000052957,protein_coding -20320,Mrpl35,ENSMUSG00000052962,protein_coding -23175,Cyp2f2,ENSMUSG00000052974,protein_coding -42030,Ube2ql1,ENSMUSG00000052981,protein_coding -23560,Uba2,ENSMUSG00000052997,protein_coding -21082,Hrh1,ENSMUSG00000053004,protein_coding -19811,Creb5,ENSMUSG00000053007,protein_coding -20296,Krcc1,ENSMUSG00000053012,protein_coding -2155,Cntn2,ENSMUSG00000053024,protein_coding -24772,Sv2b,ENSMUSG00000053025,protein_coding -17018,Spink2,ENSMUSG00000053030,protein_coding -35923,Aph1c,ENSMUSG00000053040,protein_coding -20299,Cd8b1,ENSMUSG00000053044,protein_coding -26609,Brsk2,ENSMUSG00000053046,protein_coding -12448,Adh6a,ENSMUSG00000053054,protein_coding -48466,Jam2,ENSMUSG00000053062,protein_coding -21542,Clec12a,ENSMUSG00000053063,protein_coding -34512,Cfap300,ENSMUSG00000053070,protein_coding -54338,2700081O15Rik,ENSMUSG00000053080,protein_coding -24623,Lins1,ENSMUSG00000053091,protein_coding -33443,Myh7,ENSMUSG00000053093,protein_coding -18249,Tmem248,ENSMUSG00000053094,protein_coding -40636,Gpr141,ENSMUSG00000053101,protein_coding -34509,Yap1,ENSMUSG00000053110,protein_coding -26401,Fank1,ENSMUSG00000053111,protein_coding -40146,Socs3,ENSMUSG00000053113,protein_coding -20312,Chmp3,ENSMUSG00000053119,protein_coding -35355,Rnf26,ENSMUSG00000053128,protein_coding -18756,Gsx1,ENSMUSG00000053129,protein_coding -16197,Supt7l,ENSMUSG00000053134,protein_coding -46698,Mapk11,ENSMUSG00000053137,protein_coding -6748,Ptprt,ENSMUSG00000053141,protein_coding -4365,Olfr352,ENSMUSG00000053146,protein_coding -1129,Spag16,ENSMUSG00000053153,protein_coding -24877,Fes,ENSMUSG00000053158,protein_coding -1381,Daw1,ENSMUSG00000053161,protein_coding -4395,Gpr21,ENSMUSG00000053164,protein_coding -6857,Cdh22,ENSMUSG00000053166,protein_coding -22836,Bcl3,ENSMUSG00000053175,protein_coding -15670,Mterf1b,ENSMUSG00000053178,protein_coding -41373,A830005F24Rik,ENSMUSG00000053181,protein_coding -48061,Gm609,ENSMUSG00000053182,protein_coding -39020,Spaca3,ENSMUSG00000053184,protein_coding -11464,Mllt11,ENSMUSG00000053192,protein_coding -16142,Cib4,ENSMUSG00000053194,protein_coding -23202,Prx,ENSMUSG00000053198,protein_coding -35578,Arhgap20,ENSMUSG00000053199,protein_coding -32884,Styx,ENSMUSG00000053205,protein_coding -51090,Zfy1,ENSMUSG00000053211,protein_coding -40832,Btn2a2,ENSMUSG00000053216,protein_coding -21675,Tas2r136,ENSMUSG00000053217,protein_coding -27040,Raet1e,ENSMUSG00000053219,protein_coding -30942,Dand5,ENSMUSG00000053226,protein_coding -22705,Ceacam3,ENSMUSG00000053228,protein_coding -21137,Olfr212,ENSMUSG00000053251,protein_coding -34249,Ndfip2,ENSMUSG00000053253,protein_coding -17476,Dspp,ENSMUSG00000053268,protein_coding -54719,Aldh1a1,ENSMUSG00000053279,protein_coding -2467,Trmt1l,ENSMUSG00000053286,protein_coding -5056,Olfr1013,ENSMUSG00000053287,protein_coding -35597,Ddx10,ENSMUSG00000053289,protein_coding -23180,Rab4b,ENSMUSG00000053291,protein_coding -18362,Pom121,ENSMUSG00000053293,protein_coding -19669,AI854703,ENSMUSG00000053297,protein_coding -54350,Slc22a26,ENSMUSG00000053303,protein_coding -35096,Nrgn,ENSMUSG00000053310,protein_coding -13423,Sec61b,ENSMUSG00000053317,protein_coding -2976,Slamf8,ENSMUSG00000053318,protein_coding -28046,Gatd3a,ENSMUSG00000053329,protein_coding -1477,Dis3l2,ENSMUSG00000053333,protein_coding -17759,Ficd,ENSMUSG00000053334,protein_coding -22050,Tarm1,ENSMUSG00000053338,protein_coding -49166,Zfp943,ENSMUSG00000053347,protein_coding -22201,Epp13,ENSMUSG00000053367,protein_coding -18841,Rxfp2,ENSMUSG00000053368,protein_coding -50977,Atp6v1e2,ENSMUSG00000053375,protein_coding -18360,Trim50,ENSMUSG00000053388,protein_coding -21637,Tas2r107,ENSMUSG00000053389,protein_coding -49717,Zfp952,ENSMUSG00000053390,protein_coding -21136,Olfr211,ENSMUSG00000053391,protein_coding -22044,Cacng8,ENSMUSG00000053395,protein_coding -11622,Phgdh,ENSMUSG00000053398,protein_coding -31557,Adamts18,ENSMUSG00000053399,protein_coding -46432,Cbx7,ENSMUSG00000053411,protein_coding -48570,Hunk,ENSMUSG00000053414,protein_coding -28573,Gm4792,ENSMUSG00000053420,protein_coding -49539,Mapk14,ENSMUSG00000053436,protein_coding -53531,Adamts19,ENSMUSG00000053441,protein_coding -32160,Thoc7,ENSMUSG00000053453,protein_coding -20345,Ggcx,ENSMUSG00000053460,protein_coding -3228,Hhipl2,ENSMUSG00000053461,protein_coding -34365,Hs6st3,ENSMUSG00000053465,protein_coding -46065,Tg,ENSMUSG00000053469,protein_coding -20313,Kdm3a,ENSMUSG00000053470,protein_coding -4541,Tnfaip6,ENSMUSG00000053475,protein_coding -53758,Tcf4,ENSMUSG00000053477,protein_coding -2905,Usp21,ENSMUSG00000053483,protein_coding -30481,Trim60,ENSMUSG00000053490,protein_coding -47130,Gtsf2,ENSMUSG00000053508,protein_coding -14272,Nrd1,ENSMUSG00000053510,protein_coding -37794,Kcnip1,ENSMUSG00000053519,protein_coding -23276,Lgals7,ENSMUSG00000053522,protein_coding -54880,Cstf2t,ENSMUSG00000053536,protein_coding -22135,Shisa7,ENSMUSG00000053550,protein_coding -6104,Ebf4,ENSMUSG00000053552,protein_coding -18543,3110082I17Rik,ENSMUSG00000053553,protein_coding -46979,Smagp,ENSMUSG00000053559,protein_coding -30934,Ier2,ENSMUSG00000053560,protein_coding -23281,Eif3k,ENSMUSG00000053565,protein_coding -39834,Tanc2,ENSMUSG00000053580,protein_coding -18549,Zfand2a,ENSMUSG00000053581,protein_coding -8289,Fate1,ENSMUSG00000053593,protein_coding -49716,Zfp472,ENSMUSG00000053600,protein_coding -20282,Rpia,ENSMUSG00000053604,protein_coding -55249,Sh3pxd2a,ENSMUSG00000053617,protein_coding -53450,Gykl1,ENSMUSG00000053624,protein_coding -30465,Tll1,ENSMUSG00000053626,protein_coding -35865,Dennd4a,ENSMUSG00000053641,protein_coding -53494,Aldh7a1,ENSMUSG00000053644,protein_coding -36904,Plxnb1,ENSMUSG00000053646,protein_coding -18547,Gper1,ENSMUSG00000053647,protein_coding -39612,Krt42,ENSMUSG00000053654,protein_coding -5893,Tgm5,ENSMUSG00000053675,protein_coding -29697,Defb40,ENSMUSG00000053678,protein_coding -29069,BC048403,ENSMUSG00000053684,protein_coding -31400,Dpep2,ENSMUSG00000053687,protein_coding -30953,Mast1,ENSMUSG00000053693,protein_coding -29698,Defb37,ENSMUSG00000053695,protein_coding -3786,Nebl,ENSMUSG00000053702,protein_coding -10709,B430305J03Rik,ENSMUSG00000053706,protein_coding -36740,Dusp7,ENSMUSG00000053716,protein_coding -23867,Klk1b26,ENSMUSG00000053719,protein_coding -22283,Vmn2r43,ENSMUSG00000053720,protein_coding -53343,Spinkl,ENSMUSG00000053729,protein_coding -14796,Tmem39b,ENSMUSG00000053730,protein_coding -23690,Gm5114,ENSMUSG00000053742,protein_coding -4251,Ptrh1,ENSMUSG00000053746,protein_coding -36585,Sox14,ENSMUSG00000053747,protein_coding -33151,Chd8,ENSMUSG00000053754,protein_coding -17977,Oas1f,ENSMUSG00000053765,protein_coding -19288,Chchd3,ENSMUSG00000053768,protein_coding -11457,Lysmd1,ENSMUSG00000053769,protein_coding -34749,Rdh8,ENSMUSG00000053773,protein_coding -47813,Ubxn7,ENSMUSG00000053774,protein_coding -38864,1700016K19Rik,ENSMUSG00000053783,protein_coding -29699,Defb38,ENSMUSG00000053790,protein_coding -39610,Krt16,ENSMUSG00000053797,protein_coding -54998,Exoc6,ENSMUSG00000053799,protein_coding -24047,Grwd1,ENSMUSG00000053801,protein_coding -33054,Olfr744,ENSMUSG00000053815,protein_coding -12205,Camk2d,ENSMUSG00000053819,protein_coding -37028,Bcl2a1c,ENSMUSG00000053820,protein_coding -28790,Ppfia2,ENSMUSG00000053825,protein_coding -49965,H2-T24,ENSMUSG00000053835,protein_coding -37410,Nudcd3,ENSMUSG00000053838,protein_coding -14794,Txlna,ENSMUSG00000053841,protein_coding -53815,Lipg,ENSMUSG00000053846,protein_coding -8090,Adgrg4,ENSMUSG00000053852,protein_coding -16171,Dnajc5g,ENSMUSG00000053856,protein_coding -53797,Gm9925,ENSMUSG00000053861,protein_coding -35889,Slc51b,ENSMUSG00000053862,protein_coding -17481,Mepe,ENSMUSG00000053863,protein_coding -33601,Gm5142,ENSMUSG00000053868,protein_coding -12700,Fpgt,ENSMUSG00000053870,protein_coding -17754,Aym1,ENSMUSG00000053873,protein_coding -26222,Srcap,ENSMUSG00000053877,protein_coding -30529,Sh2d4a,ENSMUSG00000053886,protein_coding -4718,4933409G03Rik,ENSMUSG00000053896,protein_coding -12396,Slc39a8,ENSMUSG00000053897,protein_coding -23273,Ech1,ENSMUSG00000053898,protein_coding -20346,Mat2a,ENSMUSG00000053907,protein_coding -7829,Rhox10,ENSMUSG00000053909,protein_coding -34581,Kdm4d,ENSMUSG00000053914,protein_coding -6422,Nanp,ENSMUSG00000053916,protein_coding -46270,Cyhr1,ENSMUSG00000053929,protein_coding -38468,Shisa6,ENSMUSG00000053930,protein_coding -12108,Cnn3,ENSMUSG00000053931,protein_coding -53896,Adnp2,ENSMUSG00000053950,protein_coding -32806,Ang5,ENSMUSG00000053961,protein_coding -3143,Stum,ENSMUSG00000053963,protein_coding -23274,Lgals4,ENSMUSG00000053964,protein_coding -12148,Pde5a,ENSMUSG00000053965,protein_coding -20304,Cd8a,ENSMUSG00000053977,protein_coding -23330,Zfp14,ENSMUSG00000053985,protein_coding -13991,Tusc1,ENSMUSG00000054000,protein_coding -44918,Tdrd9,ENSMUSG00000054003,protein_coding -22729,Mill1,ENSMUSG00000054005,protein_coding -53555,Ndst1,ENSMUSG00000054008,protein_coding -44931,Tmem179,ENSMUSG00000054013,protein_coding -41281,Sirt5,ENSMUSG00000054021,protein_coding -28427,Nt5dc3,ENSMUSG00000054027,protein_coding -30160,Adam39,ENSMUSG00000054033,protein_coding -9291,Tceal5,ENSMUSG00000054034,protein_coding -46859,Olfr279,ENSMUSG00000054036,protein_coding -23839,Klk13,ENSMUSG00000054046,protein_coding -32539,Ercc6,ENSMUSG00000054051,protein_coding -29187,Rdh19,ENSMUSG00000054052,protein_coding -25051,Olfr309,ENSMUSG00000054054,protein_coding -3792,A930004D18Rik,ENSMUSG00000054057,protein_coding -26561,Pkp3,ENSMUSG00000054065,protein_coding -53547,Iigp1,ENSMUSG00000054072,protein_coding -3794,Skida1,ENSMUSG00000054074,protein_coding -39285,Utp18,ENSMUSG00000054079,protein_coding -23277,Capn12,ENSMUSG00000054083,protein_coding -36910,Fbxw28,ENSMUSG00000054087,protein_coding -12155,1810037I17Rik,ENSMUSG00000054091,protein_coding -15729,Slc25a40,ENSMUSG00000054099,protein_coding -23161,Nlrp9a,ENSMUSG00000054102,protein_coding -19474,Try4,ENSMUSG00000054106,protein_coding -45380,Skp2,ENSMUSG00000054115,protein_coding -16042,E130116L18Rik,ENSMUSG00000054116,protein_coding -46678,Zdhhc25,ENSMUSG00000054117,protein_coding -49988,H2-T3,ENSMUSG00000054128,protein_coding -49625,Umodl1,ENSMUSG00000054134,protein_coding -46707,Adm2,ENSMUSG00000054136,protein_coding -34664,Olfr24,ENSMUSG00000054141,protein_coding -49135,Vmn1r236,ENSMUSG00000054142,protein_coding -39604,Krt15,ENSMUSG00000054146,protein_coding -44649,Syne3,ENSMUSG00000054150,protein_coding -35529,Gm4894,ENSMUSG00000054156,protein_coding -6334,Nkx2-4,ENSMUSG00000054160,protein_coding -24039,Fam83e,ENSMUSG00000054161,protein_coding -30451,Spock3,ENSMUSG00000054162,protein_coding -23077,Ceacam10,ENSMUSG00000054169,protein_coding -30951,Klf1,ENSMUSG00000054191,protein_coding -45765,Cthrc1,ENSMUSG00000054196,protein_coding -11147,Gon4l,ENSMUSG00000054199,protein_coding -55008,Ffar4,ENSMUSG00000054200,protein_coding -3021,Ifi205,ENSMUSG00000054203,protein_coding -43323,Alkal2,ENSMUSG00000054204,protein_coding -28113,Gzmm,ENSMUSG00000054206,protein_coding -11297,Sprr2k,ENSMUSG00000054215,protein_coding -20585,Tprkb,ENSMUSG00000054226,protein_coding -25733,Olfr481,ENSMUSG00000054236,protein_coding -55011,Fra10ac1,ENSMUSG00000054237,protein_coding -16264,Fgfr3,ENSMUSG00000054252,protein_coding -17840,Msi1,ENSMUSG00000054256,protein_coding -45352,Lifr,ENSMUSG00000054263,protein_coding -41044,Serpinb9d,ENSMUSG00000054266,protein_coding -22374,Zscan4c,ENSMUSG00000054272,protein_coding -46585,Arfgap3,ENSMUSG00000054277,protein_coding -16236,Prr14l,ENSMUSG00000054280,protein_coding -8957,P2ry10b,ENSMUSG00000054293,protein_coding -43620,Eapp,ENSMUSG00000054302,protein_coding -43160,Cpsf3,ENSMUSG00000054309,protein_coding -22616,Obox1,ENSMUSG00000054310,protein_coding -11502,Mrps21,ENSMUSG00000054312,protein_coding -31362,Lrrc36,ENSMUSG00000054320,protein_coding -52848,Taf4b,ENSMUSG00000054321,protein_coding -11327,Lce3a,ENSMUSG00000054325,protein_coding -23052,Kcnn4,ENSMUSG00000054342,protein_coding -35281,Bsx,ENSMUSG00000054360,protein_coding -14192,Lexm,ENSMUSG00000054362,protein_coding -42902,Rhob,ENSMUSG00000054364,protein_coding -26206,Zfp747,ENSMUSG00000054381,protein_coding -44171,Pnma1,ENSMUSG00000054383,protein_coding -23117,Ceacam2,ENSMUSG00000054385,protein_coding -2162,Mdm4,ENSMUSG00000054387,protein_coding -31290,Cklf,ENSMUSG00000054400,protein_coding -39055,Slfn5,ENSMUSG00000054404,protein_coding -14886,Dnajc8,ENSMUSG00000054405,protein_coding -38805,Olfr411,ENSMUSG00000054406,protein_coding -30341,Spcs3,ENSMUSG00000054408,protein_coding -45817,Tmem74,ENSMUSG00000054409,protein_coding -12020,Slc30a7,ENSMUSG00000054414,protein_coding -18713,Cyp3a44,ENSMUSG00000054417,protein_coding -20293,Fabp1,ENSMUSG00000054422,protein_coding -32140,Cadps,ENSMUSG00000054423,protein_coding -14884,Atpif1,ENSMUSG00000054428,protein_coding -19556,Olfr450,ENSMUSG00000054431,protein_coding -18066,Tmem120b,ENSMUSG00000054434,protein_coding -19673,Gimap4,ENSMUSG00000054435,protein_coding -19247,Cpa1,ENSMUSG00000054446,protein_coding -28265,Aes,ENSMUSG00000054452,protein_coding -7447,Sytl5,ENSMUSG00000054453,protein_coding -7030,Vapb,ENSMUSG00000054455,protein_coding -42946,Vsnl1,ENSMUSG00000054459,protein_coding -50764,Lclat1,ENSMUSG00000054469,protein_coding -20291,Thnsl2,ENSMUSG00000054474,protein_coding -53361,Kcnn2,ENSMUSG00000054477,protein_coding -5888,Tmem62,ENSMUSG00000054484,protein_coding -21636,Tas2r130,ENSMUSG00000054497,protein_coding -25052,Olfr308,ENSMUSG00000054498,protein_coding -23097,Dedd2,ENSMUSG00000054499,protein_coding -33543,Parp4,ENSMUSG00000054509,protein_coding -40066,Trim65,ENSMUSG00000054517,protein_coding -38289,Zfp867,ENSMUSG00000054519,protein_coding -16296,Sh3bp2,ENSMUSG00000054520,protein_coding -54495,Ms4a5,ENSMUSG00000054523,protein_coding -54648,Olfr1500,ENSMUSG00000054526,protein_coding -17085,Tmprss11e,ENSMUSG00000054537,protein_coding -1536,Ugt1a6a,ENSMUSG00000054545,protein_coding -26402,Adam12,ENSMUSG00000054555,protein_coding -25583,Usp17la,ENSMUSG00000054568,protein_coding -4630,Pla2r1,ENSMUSG00000054580,protein_coding -6790,Pabpc1l,ENSMUSG00000054582,protein_coding -22055,Oscar,ENSMUSG00000054594,protein_coding -16784,9130230L23Rik,ENSMUSG00000054598,protein_coding -48288,Cggbp1,ENSMUSG00000054604,protein_coding -54136,Kdm2a,ENSMUSG00000054611,protein_coding -26440,Mgmt,ENSMUSG00000054612,protein_coding -46961,Mettl7a1,ENSMUSG00000054619,protein_coding -8035,Xlr,ENSMUSG00000054626,protein_coding -17104,Ugt2b5,ENSMUSG00000054630,protein_coding -50891,Slc8a1,ENSMUSG00000054640,protein_coding -19962,Mmrn1,ENSMUSG00000054641,protein_coding -30561,Zfp869,ENSMUSG00000054648,protein_coding -13096,Pm20d2,ENSMUSG00000054659,protein_coding -26563,Ano9,ENSMUSG00000054662,protein_coding -49726,Olfr63,ENSMUSG00000054666,protein_coding -9409,Irs4,ENSMUSG00000054667,protein_coding -26508,5830411N06Rik,ENSMUSG00000054672,protein_coding -17763,Tmem119,ENSMUSG00000054675,protein_coding -23651,1600014C10Rik,ENSMUSG00000054676,protein_coding -13098,Srsf12,ENSMUSG00000054679,protein_coding -12417,Emcn,ENSMUSG00000054690,protein_coding -35985,Adam10,ENSMUSG00000054693,protein_coding -1309,Ap1s3,ENSMUSG00000054702,protein_coding -28272,Ankrd24,ENSMUSG00000054708,protein_coding -22494,Zscan22,ENSMUSG00000054715,protein_coding -26198,Zfp771,ENSMUSG00000054716,protein_coding -30384,Hmgb2,ENSMUSG00000054717,protein_coding -17505,Lrrc8c,ENSMUSG00000054720,protein_coding -50532,Vmac,ENSMUSG00000054723,protein_coding -8031,1700013H16Rik,ENSMUSG00000054727,protein_coding -41273,Phactr1,ENSMUSG00000054728,protein_coding -33725,Msra,ENSMUSG00000054733,protein_coding -7593,Zfp182,ENSMUSG00000054737,protein_coding -52947,Gm9955,ENSMUSG00000054745,protein_coding -25997,Abca15,ENSMUSG00000054746,protein_coding -13502,Fsd1l,ENSMUSG00000054752,protein_coding -22025,AU018091,ENSMUSG00000054753,protein_coding -40354,Akr1c20,ENSMUSG00000054757,protein_coding -26623,Krtap5-2,ENSMUSG00000054759,protein_coding -33696,Defb42,ENSMUSG00000054763,protein_coding -30211,Mtnr1a,ENSMUSG00000054764,protein_coding -4136,Set,ENSMUSG00000054766,protein_coding -875,Kctd18,ENSMUSG00000054770,protein_coding -36956,Klhl18,ENSMUSG00000054792,protein_coding -23057,Cadm4,ENSMUSG00000054793,protein_coding -23279,Actn4,ENSMUSG00000054808,protein_coding -16935,Usp46,ENSMUSG00000054814,protein_coding -29919,Nsd3,ENSMUSG00000054823,protein_coding -55044,Cyp2c50,ENSMUSG00000054827,protein_coding -36950,Elp6,ENSMUSG00000054836,protein_coding -55378,Atrnl1,ENSMUSG00000054843,protein_coding -8077,Smim10l2a,ENSMUSG00000054850,protein_coding -46872,Rnd1,ENSMUSG00000054855,protein_coding -46672,Tafa5,ENSMUSG00000054863,protein_coding -37259,Tmem158,ENSMUSG00000054871,protein_coding -54222,Pcnx3,ENSMUSG00000054874,protein_coding -13276,4930578G10Rik,ENSMUSG00000054885,protein_coding -41180,Dsp,ENSMUSG00000054889,protein_coding -40678,Olfr1535,ENSMUSG00000054890,protein_coding -16900,Txk,ENSMUSG00000054892,protein_coding -22203,Zfp667,ENSMUSG00000054893,protein_coding -43867,Dmac2l,ENSMUSG00000054894,protein_coding -50877,Arhgef33,ENSMUSG00000054901,protein_coding -47923,Stfa3,ENSMUSG00000054905,protein_coding -16746,Klhl5,ENSMUSG00000054920,protein_coding -40671,Zkscan4,ENSMUSG00000054931,protein_coding -17186,Afp,ENSMUSG00000054932,protein_coding -28919,Kcnmb4,ENSMUSG00000054934,protein_coding -22216,Olfr1346,ENSMUSG00000054938,protein_coding -47171,Zfp174,ENSMUSG00000054939,protein_coding -50130,Olfr137,ENSMUSG00000054940,protein_coding -12647,Miga1,ENSMUSG00000054942,protein_coding -50206,9130008F23Rik,ENSMUSG00000054951,protein_coding -14613,Nt5c1a,ENSMUSG00000054958,protein_coding -21919,Lmntd1,ENSMUSG00000054966,protein_coding -46287,Zfp647,ENSMUSG00000054967,protein_coding -1337,Nyap2,ENSMUSG00000054976,protein_coding -35887,Kbtbd13,ENSMUSG00000054978,protein_coding -37344,Sec14l3,ENSMUSG00000054986,protein_coding -10082,Agtr1b,ENSMUSG00000054988,protein_coding -9266,AV320801,ENSMUSG00000054994,protein_coding -54267,Naaladl1,ENSMUSG00000054999,protein_coding -21191,Lrtm2,ENSMUSG00000055003,protein_coding -37653,A830031A19Rik,ENSMUSG00000055010,protein_coding -1569,Agap1,ENSMUSG00000055013,protein_coding -46762,Cntn1,ENSMUSG00000055022,protein_coding -46483,Ep300,ENSMUSG00000055024,protein_coding -24247,Gabrg3,ENSMUSG00000055026,protein_coding -20294,Smyd1,ENSMUSG00000055027,protein_coding -11290,Sprr2e,ENSMUSG00000055030,protein_coding -3034,Olfr420,ENSMUSG00000055033,protein_coding -46285,Commd5,ENSMUSG00000055041,protein_coding -55048,Pdlim1,ENSMUSG00000055044,protein_coding -28253,Nfic,ENSMUSG00000055053,protein_coding -46410,Ddx17,ENSMUSG00000055065,protein_coding -3121,Smyd3,ENSMUSG00000055067,protein_coding -35610,Rab39,ENSMUSG00000055069,protein_coding -24255,Gabra5,ENSMUSG00000055078,protein_coding -4367,Olfr354,ENSMUSG00000055088,protein_coding -53339,Spink6,ENSMUSG00000055095,protein_coding -23831,Zfp819,ENSMUSG00000055102,protein_coding -28666,Phxr2,ENSMUSG00000055108,protein_coding -9683,Gm15155,ENSMUSG00000055109,protein_coding -25869,Arntl,ENSMUSG00000055116,protein_coding -32933,Cgrrf1,ENSMUSG00000055128,protein_coding -40568,Sugct,ENSMUSG00000055137,protein_coding -30707,Klf2,ENSMUSG00000055148,protein_coding -22207,Zfp78,ENSMUSG00000055150,protein_coding -28987,Ifng,ENSMUSG00000055170,protein_coding -21340,C1ra,ENSMUSG00000055172,protein_coding -6365,Cstl1,ENSMUSG00000055177,protein_coding -2117,Fam72a,ENSMUSG00000055184,protein_coding -23853,Klk15,ENSMUSG00000055193,protein_coding -42633,Actbl2,ENSMUSG00000055194,protein_coding -1227,Fev,ENSMUSG00000055197,protein_coding -14333,Gm12830,ENSMUSG00000055198,protein_coding -23200,Sertad3,ENSMUSG00000055200,protein_coding -49701,Zfp811,ENSMUSG00000055202,protein_coding -17182,Ankrd17,ENSMUSG00000055204,protein_coding -14335,Foxd2,ENSMUSG00000055210,protein_coding -3059,Pld5,ENSMUSG00000055214,protein_coding -41737,Zfp935,ENSMUSG00000055228,protein_coding -16028,Wdr86,ENSMUSG00000055235,protein_coding -20362,Kcmf1,ENSMUSG00000055239,protein_coding -49730,Zfp101,ENSMUSG00000055240,protein_coding -41620,Ntrk2,ENSMUSG00000055254,protein_coding -13552,Tmem245,ENSMUSG00000055296,protein_coding -41685,Ctsj,ENSMUSG00000055298,protein_coding -12445,Adh7,ENSMUSG00000055301,protein_coding -16349,Mrfap1,ENSMUSG00000055302,protein_coding -23042,Zfp93,ENSMUSG00000055305,protein_coding -5589,Them7,ENSMUSG00000055312,protein_coding -40665,Pgbd1,ENSMUSG00000055313,protein_coding -26304,Sec23ip,ENSMUSG00000055319,protein_coding -25862,Tead1,ENSMUSG00000055320,protein_coding -1189,Tns1,ENSMUSG00000055322,protein_coding -38170,Fat2,ENSMUSG00000055333,protein_coding -35684,Snupn,ENSMUSG00000055334,protein_coding -41957,Zfp457,ENSMUSG00000055341,protein_coding -9865,4933400A11Rik,ENSMUSG00000055357,protein_coding -40494,Prl2c5,ENSMUSG00000055360,protein_coding -31119,Slc6a2,ENSMUSG00000055368,protein_coding -4552,Stam2,ENSMUSG00000055371,protein_coding -13030,Fut9,ENSMUSG00000055373,protein_coding -17604,Rnf212,ENSMUSG00000055385,protein_coding -15399,Fbxo6,ENSMUSG00000055401,protein_coding -25274,Map6,ENSMUSG00000055407,protein_coding -24180,Nell1,ENSMUSG00000055409,protein_coding -37859,Atp10b,ENSMUSG00000055415,protein_coding -34119,Pcdh9,ENSMUSG00000055421,protein_coding -19939,Nap1l5,ENSMUSG00000055430,protein_coding -31569,Maf,ENSMUSG00000055435,protein_coding -12743,Srsf11,ENSMUSG00000055436,protein_coding -48117,Cd47,ENSMUSG00000055447,protein_coding -50754,Alk,ENSMUSG00000055471,protein_coding -41955,Zfp458,ENSMUSG00000055480,protein_coding -6659,Soga1,ENSMUSG00000055485,protein_coding -24193,Ano5,ENSMUSG00000055489,protein_coding -55202,Pprc1,ENSMUSG00000055491,protein_coding -26863,Epm2a,ENSMUSG00000055493,protein_coding -28098,Vmn2r81,ENSMUSG00000055515,protein_coding -55338,Gucy2g,ENSMUSG00000055523,protein_coding -28950,Cpsf6,ENSMUSG00000055531,protein_coding -32377,Zcchc24,ENSMUSG00000055538,protein_coding -48255,Epha6,ENSMUSG00000055540,protein_coding -22083,Lair1,ENSMUSG00000055541,protein_coding -37934,Timd4,ENSMUSG00000055546,protein_coding -2490,Apobec4,ENSMUSG00000055547,protein_coding -30604,Kxd1,ENSMUSG00000055553,protein_coding -8030,4930502E18Rik,ENSMUSG00000055555,protein_coding -41967,Zfp459,ENSMUSG00000055560,protein_coding -53336,Spink5,ENSMUSG00000055561,protein_coding -1082,Unc80,ENSMUSG00000055567,protein_coding -25055,Olfr305,ENSMUSG00000055571,protein_coding -21705,5530400C23Rik,ENSMUSG00000055594,protein_coding -48936,Tcp10b,ENSMUSG00000055602,protein_coding -37764,Hba-x,ENSMUSG00000055609,protein_coding -25053,Olfr307,ENSMUSG00000055610,protein_coding -4798,Cdca7,ENSMUSG00000055612,protein_coding -26560,B4galnt4,ENSMUSG00000055629,protein_coding -4184,Hmcn2,ENSMUSG00000055632,protein_coding -22155,Zfp580,ENSMUSG00000055633,protein_coding -34157,Dach1,ENSMUSG00000055639,protein_coding -25536,Ubqln5,ENSMUSG00000055643,protein_coding -24786,Klhl25,ENSMUSG00000055652,protein_coding -7985,Gpc3,ENSMUSG00000055653,protein_coding -51075,Mettl4,ENSMUSG00000055660,protein_coding -38725,Zzef1,ENSMUSG00000055670,protein_coding -29653,Kbtbd11,ENSMUSG00000055675,protein_coding -41688,Ctsr,ENSMUSG00000055679,protein_coding -30592,Cope,ENSMUSG00000055681,protein_coding -9748,Gja6,ENSMUSG00000055691,protein_coding -47436,Tmem191c,ENSMUSG00000055692,protein_coding -30598,Klhl26,ENSMUSG00000055707,protein_coding -34229,Slain1,ENSMUSG00000055717,protein_coding -35719,Ubl7,ENSMUSG00000055720,protein_coding -25883,Rras2,ENSMUSG00000055723,protein_coding -17347,Paqr3,ENSMUSG00000055725,protein_coding -31319,Ces2a,ENSMUSG00000055730,protein_coding -9106,Nap1l3,ENSMUSG00000055733,protein_coding -45299,Ghr,ENSMUSG00000055737,protein_coding -46614,Rtl6,ENSMUSG00000055745,protein_coding -9663,Magea2,ENSMUSG00000055746,protein_coding -46033,Gsdmc4,ENSMUSG00000055748,protein_coding -50873,Gemin6,ENSMUSG00000055760,protein_coding -12977,Nkain3,ENSMUSG00000055761,protein_coding -46210,Eef1d,ENSMUSG00000055762,protein_coding -38485,Myh8,ENSMUSG00000055775,protein_coding -7980,Usp26,ENSMUSG00000055780,protein_coding -46748,Abcd2,ENSMUSG00000055782,protein_coding -48209,E330017A01Rik,ENSMUSG00000055789,protein_coding -20355,Tcf7l1,ENSMUSG00000055799,protein_coding -39776,Fmnl1,ENSMUSG00000055805,protein_coding -22111,Dnaaf3,ENSMUSG00000055809,protein_coding -48510,Cldn17,ENSMUSG00000055811,protein_coding -50912,Mta3,ENSMUSG00000055817,protein_coding -35230,Olfr967,ENSMUSG00000055820,protein_coding -23049,Tescl,ENSMUSG00000055826,protein_coding -46031,Gsdmc3,ENSMUSG00000055827,protein_coding -31530,Zfp1,ENSMUSG00000055835,protein_coding -4371,Olfr357,ENSMUSG00000055838,protein_coding -49244,Elob,ENSMUSG00000055839,protein_coding -20342,Rnf181,ENSMUSG00000055850,protein_coding -28196,Izumo4,ENSMUSG00000055862,protein_coding -11807,Tafa3,ENSMUSG00000055865,protein_coding -1612,Per2,ENSMUSG00000055866,protein_coding -20287,Foxi3,ENSMUSG00000055874,protein_coding -7228,Abhd16b,ENSMUSG00000055882,protein_coding -43788,Fancm,ENSMUSG00000055884,protein_coding -11883,Ubl4b,ENSMUSG00000055891,protein_coding -54516,Oosp2,ENSMUSG00000055895,protein_coding -14392,Tmem69,ENSMUSG00000055900,protein_coding -20341,Tmem150a,ENSMUSG00000055912,protein_coding -43480,Zfp277,ENSMUSG00000055917,protein_coding -17006,Aasdh,ENSMUSG00000055923,protein_coding -5830,Gm14137,ENSMUSG00000055926,protein_coding -31082,Fto,ENSMUSG00000055932,protein_coding -54520,Oosp3,ENSMUSG00000055933,protein_coding -39531,Krt28,ENSMUSG00000055937,protein_coding -22568,Obox7,ENSMUSG00000055942,protein_coding -5724,Emc7,ENSMUSG00000055943,protein_coding -48861,Prr18,ENSMUSG00000055945,protein_coding -14308,Skint4,ENSMUSG00000055960,protein_coding -12896,Triqk,ENSMUSG00000055963,protein_coding -38755,Olfr378,ENSMUSG00000055971,protein_coding -30098,Cldn23,ENSMUSG00000055976,protein_coding -24032,Fut2,ENSMUSG00000055978,protein_coding -1344,Irs1,ENSMUSG00000055980,protein_coding -18697,Zkscan5,ENSMUSG00000055991,protein_coding -31045,Nod2,ENSMUSG00000055994,protein_coding -15751,9330182L06Rik,ENSMUSG00000056004,protein_coding -39312,Gm11541,ENSMUSG00000056008,protein_coding -18527,A430033K04Rik,ENSMUSG00000056014,protein_coding -31901,Ccdc7b,ENSMUSG00000056018,protein_coding -30679,Zfp709,ENSMUSG00000056019,protein_coding -12544,Clca3a1,ENSMUSG00000056025,protein_coding -18715,Cyp3a11,ENSMUSG00000056035,protein_coding -23612,Rgs9bp,ENSMUSG00000056043,protein_coding -3224,Mia3,ENSMUSG00000056050,protein_coding -11256,S100a8,ENSMUSG00000056054,protein_coding -1518,Sag,ENSMUSG00000056055,protein_coding -45569,Otulinl,ENSMUSG00000056069,protein_coding -11257,S100a9,ENSMUSG00000056071,protein_coding -27507,Grik2,ENSMUSG00000056073,protein_coding -18574,Eif3b,ENSMUSG00000056076,protein_coding -54926,Lipm,ENSMUSG00000056078,protein_coding -20332,St3gal5,ENSMUSG00000056091,protein_coding -4534,Tas2r134,ENSMUSG00000056115,protein_coding -49967,H2-T22,ENSMUSG00000056116,protein_coding -50829,Fez2,ENSMUSG00000056121,protein_coding -52900,B4galt6,ENSMUSG00000056124,protein_coding -53381,Ticam2,ENSMUSG00000056130,protein_coding -36314,Pgm3,ENSMUSG00000056131,protein_coding -48841,Unc93a2,ENSMUSG00000056133,protein_coding -25546,Trim34a,ENSMUSG00000056144,protein_coding -29184,Rdh9,ENSMUSG00000056148,protein_coding -54031,Socs6,ENSMUSG00000056153,protein_coding -30916,Nanos3,ENSMUSG00000056155,protein_coding -39281,Car10,ENSMUSG00000056158,protein_coding -53991,Cndp1,ENSMUSG00000056162,protein_coding -37036,Cnot10,ENSMUSG00000056167,protein_coding -14697,Col8a2,ENSMUSG00000056174,protein_coding -46851,Olfr283,ENSMUSG00000056184,protein_coding -54212,Snx32,ENSMUSG00000056185,protein_coding -20376,4931417E11Rik,ENSMUSG00000056197,protein_coding -54211,Cfl1,ENSMUSG00000056201,protein_coding -19536,Tas2r135,ENSMUSG00000056203,protein_coding -30612,Pgpep1,ENSMUSG00000056204,protein_coding -55192,Npm3,ENSMUSG00000056209,protein_coding -2044,R3hdm1,ENSMUSG00000056211,protein_coding -53893,Pard6g,ENSMUSG00000056214,protein_coding -19298,Lrguk,ENSMUSG00000056215,protein_coding -23586,Cebpg,ENSMUSG00000056216,protein_coding -2433,Pla2g4a,ENSMUSG00000056220,protein_coding -41592,Spock1,ENSMUSG00000056222,protein_coding -41821,Spata31,ENSMUSG00000056223,protein_coding -29557,Cars2,ENSMUSG00000056228,protein_coding -32525,Ncoa4,ENSMUSG00000056234,protein_coding -46057,Kcnq3,ENSMUSG00000056258,protein_coding -11862,Lrif1,ENSMUSG00000056260,protein_coding -36567,Cep70,ENSMUSG00000056267,protein_coding -2335,Dennd1b,ENSMUSG00000056268,protein_coding -11276,Prr9,ENSMUSG00000056270,protein_coding -35711,Lman1l,ENSMUSG00000056271,protein_coding -7959,Olfr1322,ENSMUSG00000056281,protein_coding -54503,Ms4a4b,ENSMUSG00000056290,protein_coding -46029,Gsdmc2,ENSMUSG00000056293,protein_coding -32151,Synpr,ENSMUSG00000056296,protein_coding -15332,Zfp981,ENSMUSG00000056300,protein_coding -20338,Usp39,ENSMUSG00000056305,protein_coding -10585,Sertm1,ENSMUSG00000056306,protein_coding -18253,Tyw1,ENSMUSG00000056310,protein_coding -29886,Tcim,ENSMUSG00000056313,protein_coding -38482,Myh1,ENSMUSG00000056328,protein_coding -37636,Usp34,ENSMUSG00000056342,protein_coding -48520,Krtap13-1,ENSMUSG00000056350,protein_coding -16058,Actr3b,ENSMUSG00000056367,protein_coding -20337,Sftpb,ENSMUSG00000056370,protein_coding -27072,Taar1,ENSMUSG00000056379,protein_coding -8283,Gpr50,ENSMUSG00000056380,protein_coding -23748,AI987944,ENSMUSG00000056383,protein_coding -22521,Lig1,ENSMUSG00000056394,protein_coding -49345,Prss34,ENSMUSG00000056399,protein_coding -18539,Adap1,ENSMUSG00000056413,protein_coding -47719,Uts2b,ENSMUSG00000056423,protein_coding -30522,Nat3,ENSMUSG00000056426,protein_coding -37809,Slit3,ENSMUSG00000056427,protein_coding -20353,Tgoln1,ENSMUSG00000056429,protein_coding -4893,Cyct,ENSMUSG00000056436,protein_coding -40481,Prl2c3,ENSMUSG00000056457,protein_coding -44869,Mok,ENSMUSG00000056458,protein_coding -43995,Zbtb25,ENSMUSG00000056459,protein_coding -10664,Med12l,ENSMUSG00000056476,protein_coding -54172,Cd248,ENSMUSG00000056481,protein_coding -4827,Chn1,ENSMUSG00000056486,protein_coding -46964,Mettl7a2,ENSMUSG00000056487,protein_coding -50226,Adgrf5,ENSMUSG00000056492,protein_coding -18601,Foxk1,ENSMUSG00000056493,protein_coding -12963,Cngb3,ENSMUSG00000056494,protein_coding -11016,Tmem154,ENSMUSG00000056498,protein_coding -6926,Cebpb,ENSMUSG00000056501,protein_coding -44865,1700001K19Rik,ENSMUSG00000056508,protein_coding -24099,Gm9999,ENSMUSG00000056509,protein_coding -50639,Rab31,ENSMUSG00000056515,protein_coding -14888,Ptafr,ENSMUSG00000056529,protein_coding -17579,Ccdc18,ENSMUSG00000056531,protein_coding -1797,Pign,ENSMUSG00000056536,protein_coding -8886,Rlim,ENSMUSG00000056537,protein_coding -6487,Defb21,ENSMUSG00000056544,protein_coding -45254,Ptprn2,ENSMUSG00000056553,protein_coding -38238,Olfr324,ENSMUSG00000056564,protein_coding -2895,Mpz,ENSMUSG00000056569,protein_coding -18849,Zar1l,ENSMUSG00000056586,protein_coding -23829,Zfp658,ENSMUSG00000056592,protein_coding -14918,Trnp1,ENSMUSG00000056596,protein_coding -38325,Drc3,ENSMUSG00000056598,protein_coding -50053,Olfr90,ENSMUSG00000056600,protein_coding -18844,Fry,ENSMUSG00000056602,protein_coding -47040,Krt72,ENSMUSG00000056605,protein_coding -31064,Chd9,ENSMUSG00000056608,protein_coding -54314,Ppp1r14b,ENSMUSG00000056612,protein_coding -35482,4931429L15Rik,ENSMUSG00000056617,protein_coding -54315,Fkbp2,ENSMUSG00000056629,protein_coding -52894,Dsg3,ENSMUSG00000056632,protein_coding -20752,Chst13,ENSMUSG00000056643,protein_coding -39382,Hoxb8,ENSMUSG00000056648,protein_coding -46325,Apol8,ENSMUSG00000056656,protein_coding -46149,Them6,ENSMUSG00000056665,protein_coding -20351,Retsat,ENSMUSG00000056666,protein_coding -53295,Prelid2,ENSMUSG00000056671,protein_coding -51095,Kdm5d,ENSMUSG00000056673,protein_coding -9603,Gpr173,ENSMUSG00000056679,protein_coding -49495,Ilrun,ENSMUSG00000056692,protein_coding -22223,Olfr1350,ENSMUSG00000056696,protein_coding -20350,Elmod3,ENSMUSG00000056698,protein_coding -48556,Krtap7-1,ENSMUSG00000056706,protein_coding -2539,Ier5,ENSMUSG00000056708,protein_coding -3508,Gm13199,ENSMUSG00000056718,protein_coding -36961,Nbeal2,ENSMUSG00000056724,protein_coding -41673,Ctsll3,ENSMUSG00000056728,protein_coding -20349,Capg,ENSMUSG00000056737,protein_coding -41472,Nfil3,ENSMUSG00000056749,protein_coding -38466,Dnah9,ENSMUSG00000056752,protein_coding -20996,Grm7,ENSMUSG00000056755,protein_coding -29028,Hmga2,ENSMUSG00000056758,protein_coding -122,Cspp1,ENSMUSG00000056763,protein_coding -44706,Setd3,ENSMUSG00000056770,protein_coding -25589,Olfr667,ENSMUSG00000056782,protein_coding -53631,St8sia3,ENSMUSG00000056812,protein_coding -8241,Gm6812,ENSMUSG00000056815,protein_coding -31857,Tsnax,ENSMUSG00000056820,protein_coding -47539,Olfr166,ENSMUSG00000056822,protein_coding -6862,Zfp663,ENSMUSG00000056824,protein_coding -54680,Foxb2,ENSMUSG00000056829,protein_coding -19366,Ttc26,ENSMUSG00000056832,protein_coding -47079,Pcbp2,ENSMUSG00000056851,protein_coding -29278,Olfr765,ENSMUSG00000056853,protein_coding -8994,Pou3f4,ENSMUSG00000056854,protein_coding -26467,Jakmip3,ENSMUSG00000056856,protein_coding -54650,Olfr1502,ENSMUSG00000056858,protein_coding -25679,Olfr702,ENSMUSG00000056863,protein_coding -680,Gulp1,ENSMUSG00000056870,protein_coding -37062,Gadl1,ENSMUSG00000056880,protein_coding -26519,Olfr533,ENSMUSG00000056883,protein_coding -26632,Gm4559,ENSMUSG00000056885,protein_coding -28864,Glipr1,ENSMUSG00000056888,protein_coding -38264,Hist3h2ba,ENSMUSG00000056895,protein_coding -43487,Immp2l,ENSMUSG00000056899,protein_coding -10220,Usp13,ENSMUSG00000056900,protein_coding -21674,Tas2r102,ENSMUSG00000056901,protein_coding -49096,Vmn2r107,ENSMUSG00000056910,protein_coding -28716,1700017N19Rik,ENSMUSG00000056912,protein_coding -54221,Sipa1,ENSMUSG00000056917,protein_coding -36331,Cep162,ENSMUSG00000056919,protein_coding -38778,Olfr394,ENSMUSG00000056921,protein_coding -21684,Tas2r113,ENSMUSG00000056926,protein_coding -39773,Acbd4,ENSMUSG00000056938,protein_coding -6525,Commd7,ENSMUSG00000056941,protein_coding -25776,Olfr512,ENSMUSG00000056946,protein_coding -10604,Mab21l1,ENSMUSG00000056947,protein_coding -21066,Tatdn2,ENSMUSG00000056952,protein_coding -38250,Olfr315,ENSMUSG00000056959,protein_coding -35163,Olfr919,ENSMUSG00000056961,protein_coding -40106,Jmjd6,ENSMUSG00000056962,protein_coding -18481,Gjc3,ENSMUSG00000056966,protein_coding -24543,Magel2,ENSMUSG00000056972,protein_coding -31125,Ces1d,ENSMUSG00000056973,protein_coding -23412,Hamp2,ENSMUSG00000056978,protein_coding -44037,Fam71d,ENSMUSG00000056987,protein_coding -5255,Olfr1178,ENSMUSG00000056995,protein_coding -54989,Ide,ENSMUSG00000056999,protein_coding -9286,Nxf3,ENSMUSG00000057000,protein_coding -38484,Myh4,ENSMUSG00000057003,protein_coding -15630,Vmn2r-ps159,ENSMUSG00000057021,protein_coding -2351,Cfhr1,ENSMUSG00000057037,protein_coding -7029,1700010B08Rik,ENSMUSG00000057047,protein_coding -38784,Olfr397,ENSMUSG00000057050,protein_coding -38660,Inca1,ENSMUSG00000057054,protein_coding -39396,Skap1,ENSMUSG00000057058,protein_coding -31872,Slc35f3,ENSMUSG00000057060,protein_coding -25063,Olfr297,ENSMUSG00000057067,protein_coding -17252,Fam47e,ENSMUSG00000057068,protein_coding -40470,Ero1lb,ENSMUSG00000057069,protein_coding -3346,Spata45,ENSMUSG00000057072,protein_coding -31130,Ces1g,ENSMUSG00000057074,protein_coding -23425,Fxyd3,ENSMUSG00000057092,protein_coding -23212,Zfp607b,ENSMUSG00000057093,protein_coding -37888,Ebf1,ENSMUSG00000057098,protein_coding -23033,Zfp180,ENSMUSG00000057101,protein_coding -20584,Nat8f1,ENSMUSG00000057103,protein_coding -4309,Cntrl,ENSMUSG00000057110,protein_coding -37784,Npm1,ENSMUSG00000057113,protein_coding -29633,AF366264,ENSMUSG00000057116,protein_coding -11591,Gja5,ENSMUSG00000057123,protein_coding -53903,Txnl4a,ENSMUSG00000057130,protein_coding -33148,Rpgrip1,ENSMUSG00000057132,protein_coding -6738,Chd6,ENSMUSG00000057133,protein_coding -27818,Ado,ENSMUSG00000057134,protein_coding -38667,Scimp,ENSMUSG00000057135,protein_coding -19321,Tmem140,ENSMUSG00000057137,protein_coding -25553,Trim12c,ENSMUSG00000057143,protein_coding -5755,Dph6,ENSMUSG00000057147,protein_coding -5693,Olfr1301,ENSMUSG00000057149,protein_coding -33430,Homez,ENSMUSG00000057156,protein_coding -19488,Prss2,ENSMUSG00000057163,protein_coding -40933,Prl3d1,ENSMUSG00000057170,protein_coding -600,Rfx8,ENSMUSG00000057173,protein_coding -48535,Krtap19-9b,ENSMUSG00000057174,protein_coding -26228,Ccdc189,ENSMUSG00000057176,protein_coding -23101,Gsk3a,ENSMUSG00000057177,protein_coding -33059,Olfr747,ENSMUSG00000057179,protein_coding -39011,5730455P16Rik,ENSMUSG00000057181,protein_coding -4675,Scn3a,ENSMUSG00000057182,protein_coding -34794,AB124611,ENSMUSG00000057191,protein_coding -34786,Slc44a2,ENSMUSG00000057193,protein_coding -22722,Ceacam13,ENSMUSG00000057195,protein_coding -49131,Vmn1r234,ENSMUSG00000057203,protein_coding -5075,Olfr1028,ENSMUSG00000057207,protein_coding -40029,Armc7,ENSMUSG00000057219,protein_coding -30415,Aadat,ENSMUSG00000057228,protein_coding -23122,Dmac2,ENSMUSG00000057229,protein_coding -20628,Aak1,ENSMUSG00000057230,protein_coding -5633,Mettl15,ENSMUSG00000057234,protein_coding -14773,Rbbp4,ENSMUSG00000057236,protein_coding -54491,Ms4a13,ENSMUSG00000057240,protein_coding -49810,BC051142,ENSMUSG00000057246,protein_coding -44183,Bbof1,ENSMUSG00000057265,protein_coding -54649,Olfr1501,ENSMUSG00000057270,protein_coding -20603,Snrpg,ENSMUSG00000057278,protein_coding -13577,Musk,ENSMUSG00000057280,protein_coding -40100,St6galnac2,ENSMUSG00000057286,protein_coding -17445,Arhgap24,ENSMUSG00000057315,protein_coding -25461,Usp17ld,ENSMUSG00000057321,protein_coding -39988,Rpl38,ENSMUSG00000057322,protein_coding -1818,Bcl2,ENSMUSG00000057329,protein_coding -3069,Cep170,ENSMUSG00000057335,protein_coding -27682,Chst3,ENSMUSG00000057337,protein_coding -24037,Sphk2,ENSMUSG00000057342,protein_coding -46304,Apol9a,ENSMUSG00000057346,protein_coding -35204,Olfr948,ENSMUSG00000057349,protein_coding -660,Uxs1,ENSMUSG00000057363,protein_coding -34507,Birc2,ENSMUSG00000057367,protein_coding -14214,Yipf1,ENSMUSG00000057375,protein_coding -5730,Ryr3,ENSMUSG00000057378,protein_coding -21680,Tas2r123,ENSMUSG00000057381,protein_coding -48926,Mrpl18,ENSMUSG00000057388,protein_coding -41947,Zfp759,ENSMUSG00000057396,protein_coding -31123,Ces1c,ENSMUSG00000057400,protein_coding -9667,Cldn34b2,ENSMUSG00000057402,protein_coding -16268,Nsd2,ENSMUSG00000057406,protein_coding -49146,Zfp53,ENSMUSG00000057409,protein_coding -49380,Fam173a,ENSMUSG00000057411,protein_coding -49256,Dcpp3,ENSMUSG00000057417,protein_coding -8696,Las1l,ENSMUSG00000057421,protein_coding -35183,Olfr934,ENSMUSG00000057424,protein_coding -17108,Ugt2b37,ENSMUSG00000057425,protein_coding -9309,Kir3dl2,ENSMUSG00000057439,protein_coding -52728,Mpp7,ENSMUSG00000057440,protein_coding -50129,Olfr138,ENSMUSG00000057443,protein_coding -41690,Cts8,ENSMUSG00000057446,protein_coding -5281,Olfr1205,ENSMUSG00000057447,protein_coding -23067,Lypd3,ENSMUSG00000057454,protein_coding -52987,Rit2,ENSMUSG00000057455,protein_coding -9691,Phex,ENSMUSG00000057457,protein_coding -25456,Olfr591,ENSMUSG00000057461,protein_coding -1632,Olfr1415,ENSMUSG00000057464,protein_coding -24084,Saa2,ENSMUSG00000057465,protein_coding -43031,E2f6,ENSMUSG00000057469,protein_coding -20602,Fam136a,ENSMUSG00000057497,protein_coding -54601,Olfr1459,ENSMUSG00000057503,protein_coding -55143,Bloc1s2,ENSMUSG00000057506,protein_coding -23020,Vmn1r177,ENSMUSG00000057513,protein_coding -39343,Spop,ENSMUSG00000057522,protein_coding -15070,Ece1,ENSMUSG00000057530,protein_coding -41315,Dtnbp1,ENSMUSG00000057531,protein_coding -39245,Elobl,ENSMUSG00000057534,protein_coding -25048,Olfr310,ENSMUSG00000057540,protein_coding -15983,Pus7,ENSMUSG00000057541,protein_coding -34696,Zfp317,ENSMUSG00000057551,protein_coding -40467,Lgals8,ENSMUSG00000057554,protein_coding -53383,Eif1a,ENSMUSG00000057561,protein_coding -33169,Olfr1508,ENSMUSG00000057564,protein_coding -14775,Zbtb8os,ENSMUSG00000057572,protein_coding -20736,Vmn1r48,ENSMUSG00000057592,protein_coding -40226,Arl16,ENSMUSG00000057594,protein_coding -25560,Trim30d,ENSMUSG00000057596,protein_coding -21005,Lmcd1,ENSMUSG00000057604,protein_coding -32507,Colq,ENSMUSG00000057606,protein_coding -11308,Lce1a1,ENSMUSG00000057609,protein_coding -15894,Gnai1,ENSMUSG00000057614,protein_coding -8154,Ldoc1,ENSMUSG00000057615,protein_coding -15211,Prdm2,ENSMUSG00000057637,protein_coding -42089,Brd9,ENSMUSG00000057649,protein_coding -48530,Krtap19-2,ENSMUSG00000057650,protein_coding -38234,Olfr328,ENSMUSG00000057654,protein_coding -21390,Gapdh,ENSMUSG00000057666,protein_coding -22814,Bloc1s3,ENSMUSG00000057667,protein_coding -30885,Pkn1,ENSMUSG00000057672,protein_coding -39548,Gm11938,ENSMUSG00000057674,protein_coding -19647,Zfp746,ENSMUSG00000057691,protein_coding -20746,Vmn1r53,ENSMUSG00000057697,protein_coding -21689,Tas2r131,ENSMUSG00000057699,protein_coding -24953,Mex3b,ENSMUSG00000057706,protein_coding -36625,9630041A04Rik,ENSMUSG00000057710,protein_coding -140,A830018L16Rik,ENSMUSG00000057715,protein_coding -19405,Tmem178b,ENSMUSG00000057716,protein_coding -53298,Sh3rf2,ENSMUSG00000057719,protein_coding -14128,Lepr,ENSMUSG00000057722,protein_coding -39595,Krt33b,ENSMUSG00000057723,protein_coding -41050,Serpinb9g,ENSMUSG00000057726,protein_coding -28130,Prtn3,ENSMUSG00000057729,protein_coding -5262,Olfr1185-ps1,ENSMUSG00000057735,protein_coding -4133,Sptan1,ENSMUSG00000057738,protein_coding -15539,Megf6,ENSMUSG00000057751,protein_coding -21638,Tas2r106,ENSMUSG00000057754,protein_coding -5067,Olfr1022,ENSMUSG00000057761,protein_coding -42418,Gm6169,ENSMUSG00000057762,protein_coding -52811,Ankrd29,ENSMUSG00000057766,protein_coding -25590,Olfr668,ENSMUSG00000057770,protein_coding -11051,Mab21l2,ENSMUSG00000057777,protein_coding -38724,Cyb5d2,ENSMUSG00000057778,protein_coding -30591,Ddx49,ENSMUSG00000057788,protein_coding -49456,Bak1,ENSMUSG00000057789,protein_coding -50128,Olfr135,ENSMUSG00000057801,protein_coding -8619,1700084M14Rik,ENSMUSG00000057805,protein_coding -17364,Cfap299,ENSMUSG00000057816,protein_coding -54587,Olfr1446,ENSMUSG00000057817,protein_coding -50488,Zfp119a,ENSMUSG00000057835,protein_coding -8314,Xlr3a,ENSMUSG00000057836,protein_coding -21112,Rpl32,ENSMUSG00000057841,protein_coding -41959,Zfp595,ENSMUSG00000057842,protein_coding -48544,Krtap6-3,ENSMUSG00000057855,protein_coding -55420,Fam204a,ENSMUSG00000057858,protein_coding -50528,Rpl36,ENSMUSG00000057863,protein_coding -47246,Abat,ENSMUSG00000057880,protein_coding -38042,Olfr1375,ENSMUSG00000057890,protein_coding -22489,Zfp329,ENSMUSG00000057894,protein_coding -37243,Zfp105,ENSMUSG00000057895,protein_coding -37409,Camk2b,ENSMUSG00000057897,protein_coding -50220,Adgrf2,ENSMUSG00000057899,protein_coding -33048,Olfr739,ENSMUSG00000057903,protein_coding -3752,Cacnb2,ENSMUSG00000057914,protein_coding -36179,Gsta2,ENSMUSG00000057933,protein_coding -40063,Unc13d,ENSMUSG00000057948,protein_coding -44562,Itpk1,ENSMUSG00000057963,protein_coding -37783,Fgf18,ENSMUSG00000057967,protein_coding -36801,Sema3b,ENSMUSG00000057969,protein_coding -14327,Skint11,ENSMUSG00000057977,protein_coding -19877,Vmn1r12,ENSMUSG00000057981,protein_coding -34837,Zfp809,ENSMUSG00000057982,protein_coding -26531,Olfr541,ENSMUSG00000057997,protein_coding -11374,Tdpoz3,ENSMUSG00000058005,protein_coding -13084,Mdn1,ENSMUSG00000058006,protein_coding -17265,Sept11,ENSMUSG00000058013,protein_coding -25762,Olfr502,ENSMUSG00000058014,protein_coding -1830,Serpinb3d,ENSMUSG00000058017,protein_coding -31136,Ces5a,ENSMUSG00000058019,protein_coding -41260,Adtrp,ENSMUSG00000058022,protein_coding -22200,Zscan5b,ENSMUSG00000058028,protein_coding -49137,Vmn1r237,ENSMUSG00000058030,protein_coding -13677,4933430I17Rik,ENSMUSG00000058046,protein_coding -29829,Defb35,ENSMUSG00000058052,protein_coding -30437,Palld,ENSMUSG00000058056,protein_coding -46962,Mettl7a3,ENSMUSG00000058057,protein_coding -50039,Trim31,ENSMUSG00000058063,protein_coding -44712,Eml1,ENSMUSG00000058070,protein_coding -29336,Olfr818,ENSMUSG00000058071,protein_coding -2894,Sdhc,ENSMUSG00000058076,protein_coding -29349,Olfr825,ENSMUSG00000058084,protein_coding -41978,Zfp729b,ENSMUSG00000058093,protein_coding -46574,Nfam1,ENSMUSG00000058099,protein_coding -50113,Olfr127,ENSMUSG00000058114,protein_coding -19479,Gm5771,ENSMUSG00000058119,protein_coding -50007,H2-M10.3,ENSMUSG00000058124,protein_coding -34311,Tpm3-rs7,ENSMUSG00000058126,protein_coding -22463,Vmn1r82,ENSMUSG00000058132,protein_coding -11906,Gstm1,ENSMUSG00000058135,protein_coding -24627,Adamts17,ENSMUSG00000058145,protein_coding -8325,Xlr3c,ENSMUSG00000058147,protein_coding -53533,Chsy3,ENSMUSG00000058152,protein_coding -17728,Sez6l,ENSMUSG00000058153,protein_coding -48862,T2,ENSMUSG00000058159,protein_coding -37955,Gm5431,ENSMUSG00000058163,protein_coding -48540,Krtap6-1,ENSMUSG00000058172,protein_coding -34630,Smco4,ENSMUSG00000058173,protein_coding -10340,Gm5148,ENSMUSG00000058174,protein_coding -15552,Mmel1,ENSMUSG00000058183,protein_coding -15305,Zfp980,ENSMUSG00000058186,protein_coding -33057,Olfr746,ENSMUSG00000058188,protein_coding -34739,Zfp846,ENSMUSG00000058192,protein_coding -5190,Olfr1126,ENSMUSG00000058194,protein_coding -25513,Olfr66,ENSMUSG00000058200,protein_coding -44637,Serpina3k,ENSMUSG00000058207,protein_coding -54105,Gstp3,ENSMUSG00000058216,protein_coding -22670,Arhgap35,ENSMUSG00000058230,protein_coding -23415,Usf2,ENSMUSG00000058239,protein_coding -48625,Cryzl1,ENSMUSG00000058240,protein_coding -25770,Olfr506,ENSMUSG00000058244,protein_coding -41994,Gm10037,ENSMUSG00000058246,protein_coding -3387,Kcnh1,ENSMUSG00000058248,protein_coding -19422,Tas2r138,ENSMUSG00000058250,protein_coding -29343,Olfr822,ENSMUSG00000058251,protein_coding -9273,Tcp11x2,ENSMUSG00000058252,protein_coding -7453,Tspan7,ENSMUSG00000058254,protein_coding -40404,Idi1,ENSMUSG00000058258,protein_coding -44620,Serpina9,ENSMUSG00000058260,protein_coding -2632,Mrps14,ENSMUSG00000058267,protein_coding -35136,Olfr25,ENSMUSG00000058270,protein_coding -38806,Olfr412,ENSMUSG00000058275,protein_coding -38224,Gm12253,ENSMUSG00000058287,protein_coding -47066,Espl1,ENSMUSG00000058290,protein_coding -18523,Zfp68,ENSMUSG00000058291,protein_coding -21665,Prp2,ENSMUSG00000058295,protein_coding -27680,Spock2,ENSMUSG00000058297,protein_coding -27598,Mcm9,ENSMUSG00000058298,protein_coding -30595,Upf1,ENSMUSG00000058301,protein_coding -32235,Ube2e2,ENSMUSG00000058317,protein_coding -5420,Phf21a,ENSMUSG00000058318,protein_coding -26408,Dock1,ENSMUSG00000058325,protein_coding -8316,Xlr5a,ENSMUSG00000058328,protein_coding -41988,Zfp85,ENSMUSG00000058331,protein_coding -21677,Tas2r117,ENSMUSG00000058349,protein_coding -32489,Smim4,ENSMUSG00000058351,protein_coding -47033,Krt6a,ENSMUSG00000058354,protein_coding -30820,Abce1,ENSMUSG00000058355,protein_coding -48552,Krtap21-1,ENSMUSG00000058368,protein_coding -40846,Hist1h2bg,ENSMUSG00000058385,protein_coding -11773,Phtf1,ENSMUSG00000058388,protein_coding -49669,Rrp1b,ENSMUSG00000058392,protein_coding -29181,Gpr182,ENSMUSG00000058396,protein_coding -36970,Prss43,ENSMUSG00000058398,protein_coding -10291,Qrfpr,ENSMUSG00000058400,protein_coding -23321,Zfp420,ENSMUSG00000058402,protein_coding -562,Txndc9,ENSMUSG00000058407,protein_coding -25943,Syt17,ENSMUSG00000058420,protein_coding -17204,Cxcl2,ENSMUSG00000058427,protein_coding -49811,Btnl4,ENSMUSG00000058435,protein_coding -19228,Nrf1,ENSMUSG00000058440,protein_coding -46691,Panx2,ENSMUSG00000058441,protein_coding -35541,Rpl10-ps3,ENSMUSG00000058443,protein_coding -35830,Map2k5,ENSMUSG00000058444,protein_coding -19835,Znrf2,ENSMUSG00000058446,protein_coding -23332,Gm26920,ENSMUSG00000058447,protein_coding -26704,Dhcr7,ENSMUSG00000058454,protein_coding -54506,Gm8369,ENSMUSG00000058470,protein_coding -19323,Wdr91,ENSMUSG00000058486,protein_coding -18867,Kl,ENSMUSG00000058488,protein_coding -34717,Olfr869,ENSMUSG00000058491,protein_coding -15510,Rnf207,ENSMUSG00000058498,protein_coding -19516,Pip,ENSMUSG00000058499,protein_coding -15647,Fam133b,ENSMUSG00000058503,protein_coding -29317,Olfr801,ENSMUSG00000058513,protein_coding -35182,Olfr933,ENSMUSG00000058515,protein_coding -13652,Mup5,ENSMUSG00000058523,protein_coding -27642,AW822073,ENSMUSG00000058537,protein_coding -38932,Rpl23a,ENSMUSG00000058546,protein_coding -48095,Dppa4,ENSMUSG00000058550,protein_coding -17570,Rpl5,ENSMUSG00000058558,protein_coding -29821,Defb50,ENSMUSG00000058568,protein_coding -41551,Tmed9,ENSMUSG00000058569,protein_coding -34334,Gpc6,ENSMUSG00000058571,protein_coding -15193,Cela2a,ENSMUSG00000058579,protein_coding -46575,Serhl,ENSMUSG00000058586,protein_coding -36108,Tmod3,ENSMUSG00000058587,protein_coding -28487,Anks1b,ENSMUSG00000058589,protein_coding -3709,Fbh1,ENSMUSG00000058594,protein_coding -45645,Rpl30,ENSMUSG00000058600,protein_coding -29813,AY761184,ENSMUSG00000058618,protein_coding -6015,Adra2b,ENSMUSG00000058620,protein_coding -54730,Gda,ENSMUSG00000058624,protein_coding -50266,Capn11,ENSMUSG00000058626,protein_coding -35106,Olfr875,ENSMUSG00000058628,protein_coding -22182,Vmn1r63,ENSMUSG00000058631,protein_coding -22491,Zfp110,ENSMUSG00000058638,protein_coding -15889,Speer4f1,ENSMUSG00000058643,protein_coding -47054,Eif4b,ENSMUSG00000058655,protein_coding -45885,Samd12,ENSMUSG00000058656,protein_coding -34701,Olfr58,ENSMUSG00000058659,protein_coding -25502,Olfr69,ENSMUSG00000058662,protein_coding -1960,En1,ENSMUSG00000058665,protein_coding -43683,Nkx2-9,ENSMUSG00000058669,protein_coding -9160,4932411N23Rik,ENSMUSG00000058670,protein_coding -41075,Tubb2a,ENSMUSG00000058672,protein_coding -22334,Vmn2r51,ENSMUSG00000058685,protein_coding -32623,Ccser2,ENSMUSG00000058690,protein_coding -34683,Olfr846,ENSMUSG00000058692,protein_coding -50787,Memo1,ENSMUSG00000058704,protein_coding -20340,0610030E20Rik,ENSMUSG00000058706,protein_coding -23179,Egln2,ENSMUSG00000058709,protein_coding -2900,Fcer1g,ENSMUSG00000058715,protein_coding -23074,Lypd11,ENSMUSG00000058717,protein_coding -39549,Gm11937,ENSMUSG00000058725,protein_coding -39999,Cd300c,ENSMUSG00000058728,protein_coding -3148,Lin9,ENSMUSG00000058729,protein_coding -4001,Kcnt1,ENSMUSG00000058740,protein_coding -23106,Prr19,ENSMUSG00000058741,protein_coding -24046,Kcnj14,ENSMUSG00000058743,protein_coding -29439,Zfp958,ENSMUSG00000058748,protein_coding -37356,Osm,ENSMUSG00000058755,protein_coding -39506,Thra,ENSMUSG00000058756,protein_coding -25302,Rnf169,ENSMUSG00000058761,protein_coding -40698,Hist1h1b,ENSMUSG00000058773,protein_coding -6173,Cds2,ENSMUSG00000058793,protein_coding -47120,Nfe2,ENSMUSG00000058794,protein_coding -28847,Nap1l1,ENSMUSG00000058799,protein_coding -50066,Olfr97,ENSMUSG00000058802,protein_coding -27726,Col13a1,ENSMUSG00000058806,protein_coding -38229,Olfr331,ENSMUSG00000058807,protein_coding -22068,Pirb,ENSMUSG00000058818,protein_coding -35185,Olfr146,ENSMUSG00000058820,protein_coding -19204,Opn1sw,ENSMUSG00000058831,protein_coding -30602,Rex1bd,ENSMUSG00000058833,protein_coding -3875,Abi1,ENSMUSG00000058835,protein_coding -35209,Olfr952,ENSMUSG00000058856,protein_coding -53964,Zfp516,ENSMUSG00000058881,protein_coding -41943,Zfp708,ENSMUSG00000058883,protein_coding -5072,Olfr1025-ps1,ENSMUSG00000058884,protein_coding -26579,Deaf1,ENSMUSG00000058886,protein_coding -12292,Col25a1,ENSMUSG00000058897,protein_coding -41950,Rsl1,ENSMUSG00000058900,protein_coding -1634,Olfr1413,ENSMUSG00000058904,protein_coding -45406,C1qtnf3,ENSMUSG00000058914,protein_coding -9970,Slc10a5,ENSMUSG00000058921,protein_coding -53518,Ccdc192,ENSMUSG00000058925,protein_coding -54784,Gm10053,ENSMUSG00000058927,protein_coding -8079,Gm2174,ENSMUSG00000058932,protein_coding -13703,Tex48,ENSMUSG00000058935,protein_coding -12285,Cfi,ENSMUSG00000058952,protein_coding -26155,Fam57b,ENSMUSG00000058966,protein_coding -24071,Kcnc1,ENSMUSG00000058975,protein_coding -25473,Usp17lc,ENSMUSG00000058976,protein_coding -21211,Hdhd5,ENSMUSG00000058979,protein_coding -2993,Olfr1406,ENSMUSG00000058981,protein_coding -34002,Vwa8,ENSMUSG00000058997,protein_coding -47265,Grin2a,ENSMUSG00000059003,protein_coding -4879,Hnrnpa3,ENSMUSG00000059005,protein_coding -4247,Sh2d3c,ENSMUSG00000059013,protein_coding -19211,Kcp,ENSMUSG00000059022,protein_coding -5279,Olfr1201,ENSMUSG00000059023,protein_coding -50114,Olfr128,ENSMUSG00000059030,protein_coding -25735,Olfr482,ENSMUSG00000059031,protein_coding -53414,Eno1b,ENSMUSG00000059040,protein_coding -23861,Klk1b9,ENSMUSG00000059042,protein_coding -47170,Olfr15,ENSMUSG00000059043,protein_coding -13839,Frem1,ENSMUSG00000059049,protein_coding -44057,Rad51b,ENSMUSG00000059060,protein_coding -33062,Olfr749,ENSMUSG00000059069,protein_coding -24038,Rpl18,ENSMUSG00000059070,protein_coding -25873,Pth,ENSMUSG00000059077,protein_coding -25674,Olfr698,ENSMUSG00000059087,protein_coding -2887,Fcgr4,ENSMUSG00000059089,protein_coding -54652,Olfr1504,ENSMUSG00000059105,protein_coding -35222,Olfr961,ENSMUSG00000059106,protein_coding -26557,Ifitm6,ENSMUSG00000059108,protein_coding -5343,Olfr1263,ENSMUSG00000059112,protein_coding -48546,Gm10061,ENSMUSG00000059113,protein_coding -44249,Lrrc74a,ENSMUSG00000059114,protein_coding -26688,Nap1l4,ENSMUSG00000059119,protein_coding -23253,Ifnl2,ENSMUSG00000059128,protein_coding -29332,Olfr814,ENSMUSG00000059134,protein_coding -26528,Olfr539,ENSMUSG00000059136,protein_coding -49192,Zfp945,ENSMUSG00000059142,protein_coding -24797,Ntrk3,ENSMUSG00000059146,protein_coding -2133,Mfsd4a,ENSMUSG00000059149,protein_coding -39539,Krt40,ENSMUSG00000059169,protein_coding -4936,Pde1a,ENSMUSG00000059173,protein_coding -19750,Skap2,ENSMUSG00000059182,protein_coding -35890,Mtfmt,ENSMUSG00000059183,protein_coding -20852,Tafa1,ENSMUSG00000059187,protein_coding -35153,Olfr913,ENSMUSG00000059189,protein_coding -19192,Lep,ENSMUSG00000059201,protein_coding -9350,Il1rapl2,ENSMUSG00000059203,protein_coding -5202,Olfr1130,ENSMUSG00000059205,protein_coding -22359,Vmn1r71,ENSMUSG00000059206,protein_coding -49738,Hnrnpm,ENSMUSG00000059208,protein_coding -46879,Ddn,ENSMUSG00000059213,protein_coding -15243,Gm13084,ENSMUSG00000059218,protein_coding -29709,Defb4,ENSMUSG00000059230,protein_coding -35962,Foxb1,ENSMUSG00000059246,protein_coding -40122,Sept9,ENSMUSG00000059248,protein_coding -4354,Olfr345,ENSMUSG00000059251,protein_coding -33524,Gzmd,ENSMUSG00000059256,protein_coding -25854,Usp47,ENSMUSG00000059263,protein_coding -22663,Zc3h4,ENSMUSG00000059273,protein_coding -38548,Naa38,ENSMUSG00000059278,protein_coding -38235,Olfr224,ENSMUSG00000059279,protein_coding -47472,Vpreb2,ENSMUSG00000059280,protein_coding -41119,Cdyl,ENSMUSG00000059288,protein_coding -15019,Rpl11,ENSMUSG00000059291,protein_coding -34674,Olfr836,ENSMUSG00000059303,protein_coding -47410,Vpreb1,ENSMUSG00000059305,protein_coding -4124,Slc27a4,ENSMUSG00000059316,protein_coding -25066,Olfr295,ENSMUSG00000059319,protein_coding -46269,Tonsl,ENSMUSG00000059323,protein_coding -17014,Hopx,ENSMUSG00000059325,protein_coding -55444,Csf2ra,ENSMUSG00000059326,protein_coding -8738,Eda,ENSMUSG00000059327,protein_coding -8034,Zfp36l3,ENSMUSG00000059334,protein_coding -53866,Slc14a1,ENSMUSG00000059336,protein_coding -13756,Aldoart1,ENSMUSG00000059343,protein_coding -30972,Wdr83os,ENSMUSG00000059355,protein_coding -6472,Nrsn2,ENSMUSG00000059361,protein_coding -54774,Fxn,ENSMUSG00000059363,protein_coding -35218,Olfr959,ENSMUSG00000059366,protein_coding -3028,Olfr427,ENSMUSG00000059371,protein_coding -20027,Vmn1r33,ENSMUSG00000059375,protein_coding -5057,Olfr1014,ENSMUSG00000059379,protein_coding -21667,Tas2r120,ENSMUSG00000059382,protein_coding -36124,Gfral,ENSMUSG00000059383,protein_coding -40669,Nkapl,ENSMUSG00000059395,protein_coding -38041,Olfr54,ENSMUSG00000059397,protein_coding -8273,Mamld1,ENSMUSG00000059401,protein_coding -28209,Tmprss9,ENSMUSG00000059406,protein_coding -48923,Mrgprh,ENSMUSG00000059408,protein_coding -50314,Ppp2r5d,ENSMUSG00000059409,protein_coding -21686,Tas2r125,ENSMUSG00000059410,protein_coding -19577,Olfr434,ENSMUSG00000059411,protein_coding -35452,Fxyd2,ENSMUSG00000059412,protein_coding -15381,Zfp933,ENSMUSG00000059423,protein_coding -4381,Olfr365,ENSMUSG00000059429,protein_coding -20504,Actg2,ENSMUSG00000059430,protein_coding -16188,Gckr,ENSMUSG00000059434,protein_coding -44012,Max,ENSMUSG00000059436,protein_coding -39145,Bcas3,ENSMUSG00000059439,protein_coding -16133,Hadhb,ENSMUSG00000059447,protein_coding -53300,Plac8l1,ENSMUSG00000059455,protein_coding -33763,Ptk2b,ENSMUSG00000059456,protein_coding -46846,Olfr286,ENSMUSG00000059460,protein_coding -29704,Spag11b,ENSMUSG00000059463,protein_coding -35244,Olfr979,ENSMUSG00000059473,protein_coding -39286,Mbtd1,ENSMUSG00000059474,protein_coding -34735,Zfp426,ENSMUSG00000059475,protein_coding -23123,B3gnt8,ENSMUSG00000059479,protein_coding -48909,Plg,ENSMUSG00000059481,protein_coding -12853,2610301B20Rik,ENSMUSG00000059482,protein_coding -19863,Kbtbd2,ENSMUSG00000059486,protein_coding -33035,Olfr727,ENSMUSG00000059488,protein_coding -9755,Nhs,ENSMUSG00000059493,protein_coding -35326,Arhgef12,ENSMUSG00000059495,protein_coding -2889,Fcgr3,ENSMUSG00000059498,protein_coding -3041,Olfr248,ENSMUSG00000059503,protein_coding -38251,Olfr314,ENSMUSG00000059504,protein_coding -18416,Znhit1,ENSMUSG00000059518,protein_coding -37367,Uqcr10,ENSMUSG00000059534,protein_coding -7241,Tcea2,ENSMUSG00000059540,protein_coding -36927,Fbxw26,ENSMUSG00000059547,protein_coding -38557,Trp53,ENSMUSG00000059552,protein_coding -26959,Ccdc28a,ENSMUSG00000059554,protein_coding -3934,Tor4a,ENSMUSG00000059555,protein_coding -49336,Ccdc154,ENSMUSG00000059562,protein_coding -45973,Nsmce2,ENSMUSG00000059586,protein_coding -4991,Calcrl,ENSMUSG00000059588,protein_coding -35184,Olfr935,ENSMUSG00000059595,protein_coding -28394,Syn3,ENSMUSG00000059602,protein_coding -33093,Rnase2b,ENSMUSG00000059606,protein_coding -38295,Olfr222,ENSMUSG00000059610,protein_coding -34724,Olfr39,ENSMUSG00000059623,protein_coding -4000,Sohlh1,ENSMUSG00000059625,protein_coding -7804,Rhox3e,ENSMUSG00000059626,protein_coding -48555,Krtap8-1,ENSMUSG00000059632,protein_coding -21289,Clec4a4,ENSMUSG00000059639,protein_coding -16074,Gm7361,ENSMUSG00000059645,protein_coding -33084,Rnase11,ENSMUSG00000059648,protein_coding -20415,Reg1,ENSMUSG00000059654,protein_coding -47895,Stfa2l1,ENSMUSG00000059657,protein_coding -9649,4930524N10Rik,ENSMUSG00000059663,protein_coding -47048,Krt4,ENSMUSG00000059668,protein_coding -43240,Taf1b,ENSMUSG00000059669,protein_coding -33418,Cdh24,ENSMUSG00000059674,protein_coding -50086,Olfr108,ENSMUSG00000059687,protein_coding -21164,Zfp637,ENSMUSG00000059689,protein_coding -8248,1700020N15Rik,ENSMUSG00000059690,protein_coding -7762,Akap17b,ENSMUSG00000059708,protein_coding -14990,Rcan3,ENSMUSG00000059713,protein_coding -49943,Flot1,ENSMUSG00000059714,protein_coding -37983,Olfr1385,ENSMUSG00000059729,protein_coding -54089,Ndufs8,ENSMUSG00000059734,protein_coding -36967,Myl3,ENSMUSG00000059741,protein_coding -4658,Kcnh7,ENSMUSG00000059742,protein_coding -11158,Fdps,ENSMUSG00000059743,protein_coding -29280,Olfr767,ENSMUSG00000059762,protein_coding -27073,Taar2,ENSMUSG00000059763,protein_coding -26141,Slx1b,ENSMUSG00000059772,protein_coding -49947,Nrm,ENSMUSG00000059791,protein_coding -38569,Eif4a1,ENSMUSG00000059796,protein_coding -13678,Rgs3,ENSMUSG00000059810,protein_coding -50862,Atl2,ENSMUSG00000059811,protein_coding -14246,Shisal2a,ENSMUSG00000059816,protein_coding -35551,Nkapd1,ENSMUSG00000059820,protein_coding -34685,Olfr847,ENSMUSG00000059821,protein_coding -24036,Dbp,ENSMUSG00000059824,protein_coding -11323,Kprp,ENSMUSG00000059832,protein_coding -10406,Sclt1,ENSMUSG00000059834,protein_coding -41971,Zfp874b,ENSMUSG00000059839,protein_coding -6558,Zfp341,ENSMUSG00000059842,protein_coding -39581,Gm11567,ENSMUSG00000059845,protein_coding -22127,Kmt5c,ENSMUSG00000059851,protein_coding -53906,Kcng2,ENSMUSG00000059852,protein_coding -31492,Hydin,ENSMUSG00000059854,protein_coding -11967,Ntng1,ENSMUSG00000059857,protein_coding -29351,Olfr826,ENSMUSG00000059862,protein_coding -37973,Olfr1393,ENSMUSG00000059864,protein_coding -16295,Tnip2,ENSMUSG00000059866,protein_coding -35221,Olfr960,ENSMUSG00000059867,protein_coding -5076,Olfr1029,ENSMUSG00000059873,protein_coding -25472,Olfr603,ENSMUSG00000059874,protein_coding -21143,Zfp422,ENSMUSG00000059878,protein_coding -46787,Irak4,ENSMUSG00000059883,protein_coding -33171,Olfr1507,ENSMUSG00000059887,protein_coding -35426,Ube4a,ENSMUSG00000059890,protein_coding -23953,Tsks,ENSMUSG00000059891,protein_coding -46133,Ptp4a3,ENSMUSG00000059895,protein_coding -30545,Zfp930,ENSMUSG00000059897,protein_coding -52886,Dsc3,ENSMUSG00000059898,protein_coding -21107,Tmem40,ENSMUSG00000059900,protein_coding -27702,Adamts14,ENSMUSG00000059901,protein_coding -21247,Mug1,ENSMUSG00000059908,protein_coding -5345,Olfr1265,ENSMUSG00000059910,protein_coding -48286,4930453N24Rik,ENSMUSG00000059920,protein_coding -12487,Unc5c,ENSMUSG00000059921,protein_coding -40041,Grb2,ENSMUSG00000059923,protein_coding -21663,Prh1,ENSMUSG00000059934,protein_coding -15619,9430015G10Rik,ENSMUSG00000059939,protein_coding -1826,Serpinb12,ENSMUSG00000059956,protein_coding -50100,Olfr119,ENSMUSG00000059964,protein_coding -43998,Hspa2,ENSMUSG00000059970,protein_coding -34928,Ntm,ENSMUSG00000059974,protein_coding -23326,Zfp74,ENSMUSG00000059975,protein_coding -26163,Taok2,ENSMUSG00000059981,protein_coding -18675,Nptx2,ENSMUSG00000059991,protein_coding -11069,Fcrl1,ENSMUSG00000059994,protein_coding -39732,Atxn7l3,ENSMUSG00000059995,protein_coding -28461,Chpt1,ENSMUSG00000060002,protein_coding -33730,Kif13b,ENSMUSG00000060012,protein_coding -50103,Olfr121,ENSMUSG00000060017,protein_coding -40799,Vmn1r213,ENSMUSG00000060024,protein_coding -38248,Olfr317,ENSMUSG00000060030,protein_coding -21785,H2afj,ENSMUSG00000060032,protein_coding -26238,Ctf2,ENSMUSG00000060034,protein_coding -46436,Rpl3,ENSMUSG00000060036,protein_coding -30970,Dhps,ENSMUSG00000060038,protein_coding -27838,Tmem26,ENSMUSG00000060044,protein_coding -54553,Olfr235,ENSMUSG00000060049,protein_coding -48234,Olfr193,ENSMUSG00000060057,protein_coding -18817,Alox5ap,ENSMUSG00000060063,protein_coding -29807,Defa26,ENSMUSG00000060070,protein_coding -43903,Psma3,ENSMUSG00000060073,protein_coding -40885,Hist1h2aa,ENSMUSG00000060081,protein_coding -33060,Olfr748,ENSMUSG00000060084,protein_coding -7567,Rp2,ENSMUSG00000060090,protein_coding -40874,Hist1h4a,ENSMUSG00000060093,protein_coding -31413,Prmt7,ENSMUSG00000060098,protein_coding -25765,Olfr504,ENSMUSG00000060105,protein_coding -26513,Olfr60,ENSMUSG00000060112,protein_coding -35151,Olfr910,ENSMUSG00000060114,protein_coding -43710,Gemin2,ENSMUSG00000060121,protein_coding -33950,Tpt1,ENSMUSG00000060126,protein_coding -5988,Atp8b4,ENSMUSG00000060131,protein_coding -41068,Serpinb6a,ENSMUSG00000060147,protein_coding -17824,Pop5,ENSMUSG00000060152,protein_coding -47481,Zdhhc8,ENSMUSG00000060166,protein_coding -38081,Olfr1371,ENSMUSG00000060170,protein_coding -41605,Kif27,ENSMUSG00000060176,protein_coding -23880,Klk1b22,ENSMUSG00000060177,protein_coding -38486,Myh13,ENSMUSG00000060180,protein_coding -28962,Slc35e3,ENSMUSG00000060181,protein_coding -28939,Lrrc10,ENSMUSG00000060187,protein_coding -23112,Cxcl17,ENSMUSG00000060188,protein_coding -53604,Spink7,ENSMUSG00000060201,protein_coding -16895,Gm5868,ENSMUSG00000060204,protein_coding -28095,Olfr57,ENSMUSG00000060205,protein_coding -13523,Zfp462,ENSMUSG00000060206,protein_coding -29809,Defa17,ENSMUSG00000060208,protein_coding -31866,Pcnx2,ENSMUSG00000060212,protein_coding -38634,Arrb2,ENSMUSG00000060216,protein_coding -55107,Pyroxd2,ENSMUSG00000060224,protein_coding -5925,Casc4,ENSMUSG00000060227,protein_coding -26587,Cend1,ENSMUSG00000060240,protein_coding -2924,Alyref2,ENSMUSG00000060244,protein_coding -49111,Vmn1r228,ENSMUSG00000060245,protein_coding -35245,Olfr980,ENSMUSG00000060254,protein_coding -11373,Tdpoz4,ENSMUSG00000060256,protein_coding -6462,Scrt2,ENSMUSG00000060257,protein_coding -26474,Pwwp2b,ENSMUSG00000060260,protein_coding -18310,Gtf2i,ENSMUSG00000060261,protein_coding -14439,Armh1,ENSMUSG00000060268,protein_coding -53117,Nrg2,ENSMUSG00000060275,protein_coding -23952,Ap2a1,ENSMUSG00000060279,protein_coding -47072,Sp7,ENSMUSG00000060284,protein_coding -14525,Ppih,ENSMUSG00000060288,protein_coding -28096,2610008E11Rik,ENSMUSG00000060301,protein_coding -54588,Olfr1447,ENSMUSG00000060303,protein_coding -47140,Mucl1,ENSMUSG00000060311,protein_coding -26536,Zfp941,ENSMUSG00000060314,protein_coding -13449,Acnat2,ENSMUSG00000060317,protein_coding -6096,Tmc2,ENSMUSG00000060332,protein_coding -38763,Olfr384,ENSMUSG00000060335,protein_coding -6391,Zfp937,ENSMUSG00000060336,protein_coding -18254,Caln1,ENSMUSG00000060371,protein_coding -33147,Hnrnpc,ENSMUSG00000060373,protein_coding -23124,Bckdha,ENSMUSG00000060376,protein_coding -34167,Rpl36a-ps1,ENSMUSG00000060377,protein_coding -22493,Zfp128,ENSMUSG00000060397,protein_coding -23583,Chst8,ENSMUSG00000060402,protein_coding -40651,Olfr1369-ps1,ENSMUSG00000060404,protein_coding -23171,Cyp2a12,ENSMUSG00000060407,protein_coding -21672,Tas2r124,ENSMUSG00000060412,protein_coding -30559,Zfp868,ENSMUSG00000060427,protein_coding -45916,Sntb1,ENSMUSG00000060429,protein_coding -25548,Trim5,ENSMUSG00000060441,protein_coding -7149,Sycp2,ENSMUSG00000060445,protein_coding -53247,Rnf14,ENSMUSG00000060450,protein_coding -47651,Kng2,ENSMUSG00000060459,protein_coding -36180,Dppa5a,ENSMUSG00000060461,protein_coding -48531,Krtap19-3,ENSMUSG00000060469,protein_coding -31189,Adgrg3,ENSMUSG00000060470,protein_coding -48933,Wtap,ENSMUSG00000060475,protein_coding -21062,Irak2,ENSMUSG00000060477,protein_coding -47544,Olfr171,ENSMUSG00000060480,protein_coding -26828,Samd5,ENSMUSG00000060487,protein_coding -14282,4930522H14Rik,ENSMUSG00000060491,protein_coding -43801,Rpl10l,ENSMUSG00000060499,protein_coding -25700,Olfr715,ENSMUSG00000060503,protein_coding -22852,Nlrp9b,ENSMUSG00000060508,protein_coding -37278,Xcr1,ENSMUSG00000060509,protein_coding -34737,Zfp266,ENSMUSG00000060510,protein_coding -16708,0610040J01Rik,ENSMUSG00000060512,protein_coding -2576,Tor3a,ENSMUSG00000060519,protein_coding -33034,Olfr726,ENSMUSG00000060523,protein_coding -53779,Dcc,ENSMUSG00000060534,protein_coding -26164,Tmem219,ENSMUSG00000060538,protein_coding -33633,Tnfrsf19,ENSMUSG00000060548,protein_coding -49919,H2-Q7,ENSMUSG00000060550,protein_coding -54526,Olfr1418,ENSMUSG00000060556,protein_coding -31338,Ces4a,ENSMUSG00000060560,protein_coding -23665,Gm5591,ENSMUSG00000060565,protein_coding -2824,Fam78b,ENSMUSG00000060568,protein_coding -15157,Mfap2,ENSMUSG00000060572,protein_coding -32110,Fhit,ENSMUSG00000060579,protein_coding -35116,Olfr881,ENSMUSG00000060583,protein_coding -49803,H2-Eb1,ENSMUSG00000060586,protein_coding -26553,Ifitm2,ENSMUSG00000060591,protein_coding -35564,Layn,ENSMUSG00000060594,protein_coding -38657,Eno3,ENSMUSG00000060600,protein_coding -23929,Nr1h2,ENSMUSG00000060601,protein_coding -55045,Cyp2c70,ENSMUSG00000060613,protein_coding -33124,Ang4,ENSMUSG00000060615,protein_coding -22816,Nkpd1,ENSMUSG00000060621,protein_coding -38766,Zfp735,ENSMUSG00000060630,protein_coding -47838,Rpl35a,ENSMUSG00000060636,protein_coding -40726,Hist1h4i,ENSMUSG00000060639,protein_coding -47357,Marf1,ENSMUSG00000060657,protein_coding -48218,Olfr175-ps1,ENSMUSG00000060663,protein_coding -11206,Atp8b2,ENSMUSG00000060671,protein_coding -8526,4930595M18Rik,ENSMUSG00000060673,protein_coding -54342,Pla2g16,ENSMUSG00000060675,protein_coding -40861,Hist1h4c,ENSMUSG00000060678,protein_coding -640,Mrps9,ENSMUSG00000060679,protein_coding -8085,Slc9a6,ENSMUSG00000060681,protein_coding -7418,Fthl17c,ENSMUSG00000060685,protein_coding -25069,Olfr292,ENSMUSG00000060688,protein_coding -48529,Krtap19-1,ENSMUSG00000060691,protein_coding -20029,Vmn1r35,ENSMUSG00000060699,protein_coding -49107,Fpr-rs3,ENSMUSG00000060701,protein_coding -4625,Cd302,ENSMUSG00000060703,protein_coding -16346,Bloc1s4,ENSMUSG00000060708,protein_coding -797,1700019A02Rik,ENSMUSG00000060715,protein_coding -44044,Plekhh1,ENSMUSG00000060716,protein_coding -20735,Vmn1r47,ENSMUSG00000060724,protein_coding -9274,Tmsb15a,ENSMUSG00000060726,protein_coding -27886,Ipmk,ENSMUSG00000060733,protein_coding -45409,Rxfp3,ENSMUSG00000060735,protein_coding -40955,Prl7c1,ENSMUSG00000060738,protein_coding -42419,Nsa2,ENSMUSG00000060739,protein_coding -5127,Olfr1076,ENSMUSG00000060742,protein_coding -3154,H3f3a,ENSMUSG00000060743,protein_coding -23254,Ifnl3,ENSMUSG00000060747,protein_coding -39550,Krtap2-4,ENSMUSG00000060756,protein_coding -25764,Olfr503,ENSMUSG00000060759,protein_coding -38237,Olfr325,ENSMUSG00000060765,protein_coding -553,Tsga10,ENSMUSG00000060771,protein_coding -20398,Lrrtm1,ENSMUSG00000060780,protein_coding -39220,Olfr464,ENSMUSG00000060787,protein_coding -23249,Gmfg,ENSMUSG00000060791,protein_coding -46251,Tssk5,ENSMUSG00000060794,protein_coding -10378,Intu,ENSMUSG00000060798,protein_coding -5933,B2m,ENSMUSG00000060802,protein_coding -54103,Gstp1,ENSMUSG00000060803,protein_coding -44601,Serpina6,ENSMUSG00000060807,protein_coding -20744,Vmn1r52,ENSMUSG00000060816,protein_coding -5272,Olfr1193,ENSMUSG00000060827,protein_coding -27783,Ctnna3,ENSMUSG00000060843,protein_coding -22134,Ube2s,ENSMUSG00000060860,protein_coding -15045,Zbtb40,ENSMUSG00000060862,protein_coding -44657,Tcl1b2,ENSMUSG00000060863,protein_coding -54530,Olfr1420,ENSMUSG00000060878,protein_coding -19110,Kcnd2,ENSMUSG00000060882,protein_coding -25428,Olfr566,ENSMUSG00000060888,protein_coding -8750,Arr3,ENSMUSG00000060890,protein_coding -28474,Arl1,ENSMUSG00000060904,protein_coding -10066,Trim55,ENSMUSG00000060913,protein_coding -38040,Olfr51,ENSMUSG00000060918,protein_coding -37731,Acyp2,ENSMUSG00000060923,protein_coding -29675,Csmd1,ENSMUSG00000060924,protein_coding -28362,Tmem263,ENSMUSG00000060935,protein_coding -38513,Rpl26,ENSMUSG00000060938,protein_coding -44903,Trmt61a,ENSMUSG00000060950,protein_coding -17172,Slc4a4,ENSMUSG00000060961,protein_coding -23402,Dmkn,ENSMUSG00000060962,protein_coding -8021,Etd,ENSMUSG00000060967,protein_coding -42059,Irx1,ENSMUSG00000060969,protein_coding -26515,Olfr530,ENSMUSG00000060974,protein_coding -40835,Hist1h4h,ENSMUSG00000060981,protein_coding -2565,Tdrd5,ENSMUSG00000060985,protein_coding -4568,Galnt13,ENSMUSG00000060988,protein_coding -47121,Copz1,ENSMUSG00000060992,protein_coding -25771,Olfr507,ENSMUSG00000061000,protein_coding -52722,Mkx,ENSMUSG00000061013,protein_coding -40818,Vmn1r222,ENSMUSG00000061022,protein_coding -101,Rrs1,ENSMUSG00000061024,protein_coding -22820,Clasrp,ENSMUSG00000061028,protein_coding -28058,Rrp1,ENSMUSG00000061032,protein_coding -35165,Olfr920,ENSMUSG00000061039,protein_coding -49377,Haghl,ENSMUSG00000061046,protein_coding -31419,Cdh3,ENSMUSG00000061048,protein_coding -7443,H2al1o,ENSMUSG00000061065,protein_coding -33519,Mcpt4,ENSMUSG00000061068,protein_coding -25822,Zfp143,ENSMUSG00000061079,protein_coding -47997,Lsamp,ENSMUSG00000061080,protein_coding -8014,Plac1,ENSMUSG00000061082,protein_coding -39811,Myl4,ENSMUSG00000061086,protein_coding -23398,Gapdhs,ENSMUSG00000061099,protein_coding -48104,Retnla,ENSMUSG00000061100,protein_coding -31226,Sap18b,ENSMUSG00000061104,protein_coding -40234,Mcrip1,ENSMUSG00000061111,protein_coding -18349,Dnajc30,ENSMUSG00000061118,protein_coding -25178,Prcp,ENSMUSG00000061119,protein_coding -49686,Cyp4f39,ENSMUSG00000061126,protein_coding -50944,Ppm1b,ENSMUSG00000061130,protein_coding -55065,Blnk,ENSMUSG00000061132,protein_coding -4556,Prpf40a,ENSMUSG00000061136,protein_coding -10512,Maml3,ENSMUSG00000061143,protein_coding -53340,Spink12,ENSMUSG00000061144,protein_coding -35103,Olfr160,ENSMUSG00000061165,protein_coding -4672,Slc38a11,ENSMUSG00000061171,protein_coding -10936,Fnip2,ENSMUSG00000061175,protein_coding -17077,Tmprss11c,ENSMUSG00000061184,protein_coding -3558,Sfmbt2,ENSMUSG00000061186,protein_coding -5677,Olfr1289,ENSMUSG00000061195,protein_coding -49843,Stk19,ENSMUSG00000061207,protein_coding -19873,Vmn1r8,ENSMUSG00000061208,protein_coding -19578,Olfr47,ENSMUSG00000061210,protein_coding -49770,H2-K1,ENSMUSG00000061232,protein_coding -33009,Exoc5,ENSMUSG00000061244,protein_coding -17079,Tmprss11d,ENSMUSG00000061259,protein_coding -8083,Mmgt1,ENSMUSG00000061273,protein_coding -23125,Exosc5,ENSMUSG00000061286,protein_coding -17887,Taok3,ENSMUSG00000061288,protein_coding -18723,Cyp3a59,ENSMUSG00000061292,protein_coding -5341,Olfr1261,ENSMUSG00000061295,protein_coding -40786,Vmn1r210,ENSMUSG00000061296,protein_coding -14293,Agbl4,ENSMUSG00000061298,protein_coding -40207,Slc38a10,ENSMUSG00000061306,protein_coding -5506,Rag1,ENSMUSG00000061311,protein_coding -29926,Ddhd2,ENSMUSG00000061313,protein_coding -29198,Naca,ENSMUSG00000061315,protein_coding -13222,Dnaic1,ENSMUSG00000061322,protein_coding -50097,Olfr116,ENSMUSG00000061336,protein_coding -5245,Olfr1168,ENSMUSG00000061342,protein_coding -21154,Cxcl12,ENSMUSG00000061353,protein_coding -33750,Nuggc,ENSMUSG00000061356,protein_coding -46497,Phf5a,ENSMUSG00000061360,protein_coding -47541,Olfr168,ENSMUSG00000061361,protein_coding -29284,Olfr771,ENSMUSG00000061367,protein_coding -28296,Zfp873,ENSMUSG00000061371,protein_coding -22147,Fiz1,ENSMUSG00000061374,protein_coding -40812,Vmn1r219,ENSMUSG00000061376,protein_coding -54638,Olfr1490,ENSMUSG00000061387,protein_coding -17132,Csn1s2b,ENSMUSG00000061388,protein_coding -8622,Mageb5,ENSMUSG00000061392,protein_coding -37112,Acvr2b,ENSMUSG00000061393,protein_coding -47049,Krt79,ENSMUSG00000061397,protein_coding -31676,Zcchc14,ENSMUSG00000061410,protein_coding -6522,Nol4l,ENSMUSG00000061411,protein_coding -21455,Cracr2a,ENSMUSG00000061414,protein_coding -19376,Hipk2,ENSMUSG00000061436,protein_coding -54173,Tmem151a,ENSMUSG00000061451,protein_coding -13430,Stx17,ENSMUSG00000061455,protein_coding -34721,Olfr871,ENSMUSG00000061457,protein_coding -43044,Nol10,ENSMUSG00000061458,protein_coding -16609,Smim20,ENSMUSG00000061461,protein_coding -38272,Obscn,ENSMUSG00000061462,protein_coding -38050,Gm12569,ENSMUSG00000061469,protein_coding -42511,Mrps36,ENSMUSG00000061474,protein_coding -43296,Rps7,ENSMUSG00000061477,protein_coding -23184,Snrpa,ENSMUSG00000061479,protein_coding -40851,Hist1h4d,ENSMUSG00000061482,protein_coding -26510,Olfr525,ENSMUSG00000061489,protein_coding -34342,Sox21,ENSMUSG00000061517,protein_coding -525,Cox5b,ENSMUSG00000061518,protein_coding -5196,Olfr153,ENSMUSG00000061520,protein_coding -34413,Zic2,ENSMUSG00000061524,protein_coding -6440,4921509C19Rik,ENSMUSG00000061525,protein_coding -47036,Krt5,ENSMUSG00000061527,protein_coding -3745,Tmem236,ENSMUSG00000061531,protein_coding -44396,Cep128,ENSMUSG00000061533,protein_coding -16430,C1qtnf7,ENSMUSG00000061535,protein_coding -37185,Sec22c,ENSMUSG00000061536,protein_coding -13694,Orm2,ENSMUSG00000061540,protein_coding -49158,Zfp229,ENSMUSG00000061544,protein_coding -25059,Olfr301,ENSMUSG00000061549,protein_coding -35632,Wdr61,ENSMUSG00000061559,protein_coding -30692,Olfr373,ENSMUSG00000061561,protein_coding -16078,Dpp6,ENSMUSG00000061576,protein_coding -31186,Adgrg5,ENSMUSG00000061577,protein_coding -17900,Ksr2,ENSMUSG00000061578,protein_coding -558,Lyg2,ENSMUSG00000061584,protein_coding -28198,Dot1l,ENSMUSG00000061589,protein_coding -15843,Pclo,ENSMUSG00000061601,protein_coding -22452,Vmn1r78,ENSMUSG00000061602,protein_coding -43598,Akap6,ENSMUSG00000061603,protein_coding -49945,Mdc1,ENSMUSG00000061607,protein_coding -49657,U2af1,ENSMUSG00000061613,protein_coding -34682,Olfr845,ENSMUSG00000061614,protein_coding -40869,Hist1h2ab,ENSMUSG00000061615,protein_coding -1642,Olfr12,ENSMUSG00000061616,protein_coding -25503,Olfr68,ENSMUSG00000061626,protein_coding -46504,1700029P11Rik,ENSMUSG00000061633,protein_coding -54599,Olfr1457,ENSMUSG00000061637,protein_coding -38312,Med9,ENSMUSG00000061650,protein_coding -20733,Vmn1r46,ENSMUSG00000061653,protein_coding -55502,Spry3,ENSMUSG00000061654,protein_coding -50222,Cd2ap,ENSMUSG00000061665,protein_coding -39175,Gdpd1,ENSMUSG00000061666,protein_coding -6638,Dlgap4,ENSMUSG00000061689,protein_coding -36907,Fbxw20,ENSMUSG00000061701,protein_coding -23126,Tmem91,ENSMUSG00000061702,protein_coding -18684,Gm4871,ENSMUSG00000061707,protein_coding -39481,Ppp1r1b,ENSMUSG00000061718,protein_coding -26646,Tnnt3,ENSMUSG00000061723,protein_coding -45883,Ext1,ENSMUSG00000061731,protein_coding -46529,Cyp2d22,ENSMUSG00000061740,protein_coding -54295,Slc22a12,ENSMUSG00000061742,protein_coding -47855,Kalrn,ENSMUSG00000061751,protein_coding -16412,Bod1l,ENSMUSG00000061755,protein_coding -19307,Akr1b10,ENSMUSG00000061758,protein_coding -26762,Armt1,ENSMUSG00000061759,protein_coding -18972,Tac1,ENSMUSG00000061762,protein_coding -21576,Klra6,ENSMUSG00000061769,protein_coding -9809,Mospd2,ENSMUSG00000061778,protein_coding -28133,Cfd,ENSMUSG00000061780,protein_coding -24905,Rps17,ENSMUSG00000061787,protein_coding -5282,Olfr1204,ENSMUSG00000061798,protein_coding -52725,Armc4,ENSMUSG00000061802,protein_coding -52898,Ttr,ENSMUSG00000061808,protein_coding -3891,Tbpl2,ENSMUSG00000061809,protein_coding -1190,Rufy4,ENSMUSG00000061815,protein_coding -1098,Myl1,ENSMUSG00000061816,protein_coding -31325,Ces2c,ENSMUSG00000061825,protein_coding -40801,Vmn1r214,ENSMUSG00000061829,protein_coding -20849,Suclg2,ENSMUSG00000061838,protein_coding -29760,Defa35,ENSMUSG00000061845,protein_coding -29701,Defb39,ENSMUSG00000061847,protein_coding -14063,Patj,ENSMUSG00000061859,protein_coding -5222,Olfr1148,ENSMUSG00000061875,protein_coding -24910,BC048679,ENSMUSG00000061877,protein_coding -40089,Sphk1,ENSMUSG00000061878,protein_coding -18110,Ccdc62,ENSMUSG00000061882,protein_coding -14201,Ssbp3,ENSMUSG00000061887,protein_coding -14749,Zscan20,ENSMUSG00000061894,protein_coding -18623,Rbak,ENSMUSG00000061898,protein_coding -28498,Slc25a3,ENSMUSG00000061904,protein_coding -17116,Ugt2b38,ENSMUSG00000061906,protein_coding -43311,Myt1l,ENSMUSG00000061911,protein_coding -45736,Odf1,ENSMUSG00000061923,protein_coding -52891,Dsg1b,ENSMUSG00000061928,protein_coding -17131,Csn1s2a,ENSMUSG00000061937,protein_coding -44599,Serpina10,ENSMUSG00000061947,protein_coding -50641,Ppp4r1,ENSMUSG00000061950,protein_coding -38038,Olfr1377,ENSMUSG00000061952,protein_coding -29764,Gm14851,ENSMUSG00000061958,protein_coding -31127,Ces1e,ENSMUSG00000061959,protein_coding -29333,Olfr815,ENSMUSG00000061961,protein_coding -50073,Olfr99,ENSMUSG00000061972,protein_coding -30288,Cldn24,ENSMUSG00000061974,protein_coding -21639,Tas2r104,ENSMUSG00000061977,protein_coding -18305,Rcc1l,ENSMUSG00000061979,protein_coding -38921,Flot2,ENSMUSG00000061981,protein_coding -27065,Rps12,ENSMUSG00000061983,protein_coding -38774,Olfr392,ENSMUSG00000061984,protein_coding -40836,Hist1h2af,ENSMUSG00000061991,protein_coding -12301,Rpl34,ENSMUSG00000062006,protein_coding -30700,Hsh2d,ENSMUSG00000062007,protein_coding -49220,Zfp13,ENSMUSG00000062012,protein_coding -32931,Gmfb,ENSMUSG00000062014,protein_coding -25996,Abca14,ENSMUSG00000062017,protein_coding -23054,Irgc1,ENSMUSG00000062028,protein_coding -26550,Pgghg,ENSMUSG00000062031,protein_coding -46849,Olfr285,ENSMUSG00000062037,protein_coding -23322,Zfp27,ENSMUSG00000062040,protein_coding -25067,Olfr294,ENSMUSG00000062042,protein_coding -24043,Lmtk3,ENSMUSG00000062044,protein_coding -43162,Iah1,ENSMUSG00000062054,protein_coding -3990,Obp2a,ENSMUSG00000062061,protein_coding -15467,Slc2a7,ENSMUSG00000062064,protein_coding -8931,Pgk1,ENSMUSG00000062070,protein_coding -27311,Ccn6,ENSMUSG00000062074,protein_coding -28211,Lmnb2,ENSMUSG00000062075,protein_coding -16172,Trim54,ENSMUSG00000062077,protein_coding -48888,Qk,ENSMUSG00000062078,protein_coding -48049,Cd200r4,ENSMUSG00000062082,protein_coding -6236,Btbd3,ENSMUSG00000062098,protein_coding -50491,Zfp119b,ENSMUSG00000062101,protein_coding -35171,Olfr924,ENSMUSG00000062103,protein_coding -48224,Olfr183,ENSMUSG00000062105,protein_coding -16945,Scfd2,ENSMUSG00000062110,protein_coding -38316,Rai1,ENSMUSG00000062115,protein_coding -22243,Zfp954,ENSMUSG00000062116,protein_coding -35226,Olfr149,ENSMUSG00000062121,protein_coding -6489,Defb45,ENSMUSG00000062124,protein_coding -11819,Cttnbp2nl,ENSMUSG00000062127,protein_coding -38748,Olfr20,ENSMUSG00000062128,protein_coding -23371,Arhgap33os,ENSMUSG00000062132,protein_coding -25432,Olfr569,ENSMUSG00000062142,protein_coding -33130,Ear6,ENSMUSG00000062148,protein_coding -36074,Unc13c,ENSMUSG00000062151,protein_coding -46343,Tex33,ENSMUSG00000062154,protein_coding -15000,Ifnlr1,ENSMUSG00000062157,protein_coding -8628,Mageb1,ENSMUSG00000062162,protein_coding -49116,Vmn1r232,ENSMUSG00000062165,protein_coding -9743,Ppef1,ENSMUSG00000062168,protein_coding -3176,Cnih4,ENSMUSG00000062169,protein_coding -8238,Fmr1nb,ENSMUSG00000062170,protein_coding -6645,Tgif2,ENSMUSG00000062175,protein_coding -31336,Ces3b,ENSMUSG00000062181,protein_coding -7978,Hs6st2,ENSMUSG00000062184,protein_coding -38780,Olfr395,ENSMUSG00000062186,protein_coding -19899,Lancl2,ENSMUSG00000062190,protein_coding -43639,2700097O09Rik,ENSMUSG00000062198,protein_coding -54608,Olfr1465,ENSMUSG00000062199,protein_coding -10757,Vmn2r7,ENSMUSG00000062200,protein_coding -40935,Prl3d3,ENSMUSG00000062201,protein_coding -49604,Btbd9,ENSMUSG00000062202,protein_coding -47312,Gspt1,ENSMUSG00000062203,protein_coding -38078,Olfr1373,ENSMUSG00000062204,protein_coding -1111,Erbb4,ENSMUSG00000062209,protein_coding -53426,Tnfaip8,ENSMUSG00000062210,protein_coding -10931,Rapgef2,ENSMUSG00000062232,protein_coding -17597,Gak,ENSMUSG00000062234,protein_coding -47543,Olfr170,ENSMUSG00000062245,protein_coding -41456,Cks2,ENSMUSG00000062248,protein_coding -49536,Lhfpl5,ENSMUSG00000062252,protein_coding -34924,Opcml,ENSMUSG00000062257,protein_coding -36405,Morf4l1,ENSMUSG00000062270,protein_coding -5201,Olfr1129,ENSMUSG00000062272,protein_coding -36923,Fbxw24,ENSMUSG00000062275,protein_coding -39551,Gm11562,ENSMUSG00000062278,protein_coding -36994,Trank1,ENSMUSG00000062296,protein_coding -22831,Nectin2,ENSMUSG00000062300,protein_coding -35703,Rpp25,ENSMUSG00000062309,protein_coding -1553,Glrp1,ENSMUSG00000062310,protein_coding -39487,Erbb2,ENSMUSG00000062312,protein_coding -54653,Olfr1505,ENSMUSG00000062314,protein_coding -48866,T,ENSMUSG00000062327,protein_coding -53817,Rpl17,ENSMUSG00000062328,protein_coding -16366,Cytl1,ENSMUSG00000062329,protein_coding -41047,Serpinb9e,ENSMUSG00000062342,protein_coding -1841,Serpinb2,ENSMUSG00000062345,protein_coding -43158,Itgb1bp1,ENSMUSG00000062352,protein_coding -25582,Usp17lb,ENSMUSG00000062369,protein_coding -16140,Otof,ENSMUSG00000062372,protein_coding -45957,Tmem65,ENSMUSG00000062373,protein_coding -55229,Borcs7,ENSMUSG00000062376,protein_coding -31756,Tubb3,ENSMUSG00000062380,protein_coding -42107,Ftl1-ps1,ENSMUSG00000062382,protein_coding -7323,Dgkk,ENSMUSG00000062393,protein_coding -45707,Zfp706,ENSMUSG00000062397,protein_coding -48542,Krtap6-5,ENSMUSG00000062400,protein_coding -11636,Hsd3b3,ENSMUSG00000062410,protein_coding -39800,Arf2,ENSMUSG00000062421,protein_coding -25056,Olfr304,ENSMUSG00000062426,protein_coding -54999,Cyp26c1,ENSMUSG00000062432,protein_coding -48553,Krtap6-2,ENSMUSG00000062433,protein_coding -25781,Olfr516,ENSMUSG00000062434,protein_coding -17999,Adam1b,ENSMUSG00000062438,protein_coding -24909,Ap3b2,ENSMUSG00000062444,protein_coding -54891,Rpl9-ps6,ENSMUSG00000062456,protein_coding -49692,Cyp4f37,ENSMUSG00000062464,protein_coding -15194,Ctrc,ENSMUSG00000062478,protein_coding -48930,Acat3,ENSMUSG00000062480,protein_coding -23011,Vmn1r171,ENSMUSG00000062483,protein_coding -54941,Ifit3b,ENSMUSG00000062488,protein_coding -1639,Olfr1411,ENSMUSG00000062497,protein_coding -3348,Nsl1,ENSMUSG00000062510,protein_coding -37483,4930512M02Rik,ENSMUSG00000062511,protein_coding -9961,Fabp4,ENSMUSG00000062515,protein_coding -15374,Zfp534,ENSMUSG00000062518,protein_coding -19637,Zfp398,ENSMUSG00000062519,protein_coding -22098,Ncr1,ENSMUSG00000062524,protein_coding -53719,Mppe1,ENSMUSG00000062526,protein_coding -2991,Olfr1408,ENSMUSG00000062527,protein_coding -21691,Tas2r109,ENSMUSG00000062528,protein_coding -25708,Syt9,ENSMUSG00000062542,protein_coding -14750,Tlr12,ENSMUSG00000062545,protein_coding -20745,V1ra8,ENSMUSG00000062546,protein_coding -40957,Prl2c1,ENSMUSG00000062551,protein_coding -25686,Olfr709-ps1,ENSMUSG00000062553,protein_coding -23436,Scgb1b2,ENSMUSG00000062556,protein_coding -43245,Cys1,ENSMUSG00000062563,protein_coding -8366,Tex28,ENSMUSG00000062564,protein_coding -2240,Timm17a,ENSMUSG00000062580,protein_coding -15009,Cnr2,ENSMUSG00000062585,protein_coding -1454,Armc9,ENSMUSG00000062590,protein_coding -50556,Tubb4a,ENSMUSG00000062591,protein_coding -27538,Gm49339,ENSMUSG00000062593,protein_coding -23022,Vmn1r178,ENSMUSG00000062598,protein_coding -15978,Srpk2,ENSMUSG00000062604,protein_coding -48236,Olfr195,ENSMUSG00000062608,protein_coding -48706,Kcnj15,ENSMUSG00000062609,protein_coding -50319,2310039H08Rik,ENSMUSG00000062619,protein_coding -35150,Olfr911-ps1,ENSMUSG00000062621,protein_coding -55037,Cyp2c67,ENSMUSG00000062624,protein_coding -14015,Mysm1,ENSMUSG00000062627,protein_coding -50094,Olfr114,ENSMUSG00000062629,protein_coding -49807,Btnl1,ENSMUSG00000062638,protein_coding -5875,Ganc,ENSMUSG00000062646,protein_coding -4044,Rpl7a,ENSMUSG00000062647,protein_coding -35214,Olfr44,ENSMUSG00000062649,protein_coding -3790,H2al2a,ENSMUSG00000062651,protein_coding -4183,Ncs1,ENSMUSG00000062661,protein_coding -47090,Atp5g2,ENSMUSG00000062683,protein_coding -30979,Cks1brt,ENSMUSG00000062687,protein_coding -50845,Cebpzos,ENSMUSG00000062691,protein_coding -21010,Cav3,ENSMUSG00000062694,protein_coding -41679,Tpbpb,ENSMUSG00000062705,protein_coding -26517,Olfr531,ENSMUSG00000062712,protein_coding -48682,Sim2,ENSMUSG00000062713,protein_coding -40725,Hist1h2bk,ENSMUSG00000062727,protein_coding -2904,Ppox,ENSMUSG00000062729,protein_coding -23081,Lypd4,ENSMUSG00000062732,protein_coding -40934,Prl3d2,ENSMUSG00000062737,protein_coding -49140,Zfp677,ENSMUSG00000062743,protein_coding -19483,Prss1,ENSMUSG00000062751,protein_coding -49485,AI413582,ENSMUSG00000062753,protein_coding -5283,Olfr1206,ENSMUSG00000062757,protein_coding -46613,Shisal1,ENSMUSG00000062760,protein_coding -16192,Zfp512,ENSMUSG00000062761,protein_coding -35068,Ei24,ENSMUSG00000062762,protein_coding -23070,Tex101,ENSMUSG00000062773,protein_coding -11847,Chia1,ENSMUSG00000062778,protein_coding -26511,Olfr527,ENSMUSG00000062782,protein_coding -55531,Csprs,ENSMUSG00000062783,protein_coding -23932,Kcnc3,ENSMUSG00000062785,protein_coding -9165,Gm382,ENSMUSG00000062791,protein_coding -5234,Olfr1158,ENSMUSG00000062793,protein_coding -34839,Zfp599,ENSMUSG00000062794,protein_coding -25114,Hikeshi,ENSMUSG00000062797,protein_coding -7596,Ssxa1,ENSMUSG00000062814,protein_coding -20741,Vmn1r51,ENSMUSG00000062818,protein_coding -42772,4833420G17Rik,ENSMUSG00000062822,protein_coding -40215,Actg1,ENSMUSG00000062825,protein_coding -31329,Ces2f,ENSMUSG00000062826,protein_coding -19519,Sval3,ENSMUSG00000062833,protein_coding -54600,Olfr1458,ENSMUSG00000062844,protein_coding -49506,Tcp11,ENSMUSG00000062859,protein_coding -22208,Zfp28,ENSMUSG00000062861,protein_coding -26892,Phactr2,ENSMUSG00000062866,protein_coding -36866,Impdh2,ENSMUSG00000062867,protein_coding -34667,Olfr830,ENSMUSG00000062868,protein_coding -28088,Olfr1355,ENSMUSG00000062873,protein_coding -25062,Olfr298,ENSMUSG00000062878,protein_coding -54592,Olfr1450,ENSMUSG00000062892,protein_coding -47554,Klhl24,ENSMUSG00000062901,protein_coding -20025,Vmn1r32,ENSMUSG00000062905,protein_coding -46696,Hdac10,ENSMUSG00000062906,protein_coding -12685,Acadm,ENSMUSG00000062908,protein_coding -29291,Olfr777,ENSMUSG00000062914,protein_coding -43633,Cfl2,ENSMUSG00000062929,protein_coding -28303,Zfp938,ENSMUSG00000062931,protein_coding -13952,Mtap,ENSMUSG00000062937,protein_coding -771,Stat4,ENSMUSG00000062939,protein_coding -26278,9130023H24Rik,ENSMUSG00000062944,protein_coding -8130,Atp11c,ENSMUSG00000062949,protein_coding -21683,Tas2r110,ENSMUSG00000062952,protein_coding -16984,Kdr,ENSMUSG00000062960,protein_coding -44090,Ccdc177,ENSMUSG00000062961,protein_coding -2906,Ufc1,ENSMUSG00000062963,protein_coding -19119,Cped1,ENSMUSG00000062980,protein_coding -28602,Mrpl42,ENSMUSG00000062981,protein_coding -25698,Olfr715b,ENSMUSG00000062987,protein_coding -30028,Nrg1,ENSMUSG00000062991,protein_coding -18995,Ica1,ENSMUSG00000062995,protein_coding -4436,Rpl35,ENSMUSG00000062997,protein_coding -49374,Msln,ENSMUSG00000063011,protein_coding -17267,Ccni,ENSMUSG00000063015,protein_coding -6667,Manbal,ENSMUSG00000063019,protein_coding -48235,Olfr194,ENSMUSG00000063020,protein_coding -40694,Hist1h2ak,ENSMUSG00000063021,protein_coding -23222,Zfp780b,ENSMUSG00000063047,protein_coding -30279,Ing2,ENSMUSG00000063049,protein_coding -12745,Lrrc40,ENSMUSG00000063052,protein_coding -36552,Prr23a2,ENSMUSG00000063058,protein_coding -33716,Sox7,ENSMUSG00000063060,protein_coding -20397,Ctnna2,ENSMUSG00000063063,protein_coding -26148,Mapk3,ENSMUSG00000063065,protein_coding -15431,Kif1b,ENSMUSG00000063077,protein_coding -23857,Klk1b8,ENSMUSG00000063089,protein_coding -33165,Olfr1510,ENSMUSG00000063106,protein_coding -34732,Zfp26,ENSMUSG00000063108,protein_coding -38804,Olfr410,ENSMUSG00000063116,protein_coding -25732,Olfr480,ENSMUSG00000063120,protein_coding -43658,Aldoart2,ENSMUSG00000063129,protein_coding -40329,Calml3,ENSMUSG00000063130,protein_coding -23859,Klk1b1,ENSMUSG00000063133,protein_coding -48219,Olfr177,ENSMUSG00000063137,protein_coding -32337,Kcnma1,ENSMUSG00000063142,protein_coding -4737,Bbs5,ENSMUSG00000063145,protein_coding -18320,Clip2,ENSMUSG00000063146,protein_coding -17127,Csn2,ENSMUSG00000063157,protein_coding -23191,Numbl,ENSMUSG00000063160,protein_coding -48322,Speer2,ENSMUSG00000063163,protein_coding -14211,Hspb11,ENSMUSG00000063172,protein_coding -29329,Olfr811,ENSMUSG00000063173,protein_coding -35212,Olfr955,ENSMUSG00000063176,protein_coding -23872,Klk1b27,ENSMUSG00000063177,protein_coding -26343,Pstk,ENSMUSG00000063179,protein_coding -50083,Olfr107,ENSMUSG00000063188,protein_coding -39997,Cd300lb,ENSMUSG00000063193,protein_coding -41282,Nol7,ENSMUSG00000063200,protein_coding -29810,Defa34,ENSMUSG00000063206,protein_coding -28094,Olfr1351,ENSMUSG00000063216,protein_coding -35178,Olfr930,ENSMUSG00000063221,protein_coding -35159,Olfr917,ENSMUSG00000063225,protein_coding -24090,Ldha,ENSMUSG00000063229,protein_coding -26521,Olfr535,ENSMUSG00000063230,protein_coding -44618,Serpina11,ENSMUSG00000063232,protein_coding -47124,Gpr84,ENSMUSG00000063234,protein_coding -46289,1110038F14Rik,ENSMUSG00000063236,protein_coding -49477,Grm4,ENSMUSG00000063239,protein_coding -50126,Olfr133,ENSMUSG00000063240,protein_coding -15339,Zfp993,ENSMUSG00000063245,protein_coding -39552,Krtap4-1,ENSMUSG00000063251,protein_coding -19430,Gm4744,ENSMUSG00000063252,protein_coding -30873,Scoc,ENSMUSG00000063253,protein_coding -46729,Syt10,ENSMUSG00000063260,protein_coding -46234,Parp10,ENSMUSG00000063268,protein_coding -10499,Naa15,ENSMUSG00000063273,protein_coding -3739,Hacd1,ENSMUSG00000063275,protein_coding -32084,Gm10128,ENSMUSG00000063277,protein_coding -52931,Zfp35,ENSMUSG00000063281,protein_coding -46789,Tmem117,ENSMUSG00000063296,protein_coding -24217,Luzp2,ENSMUSG00000063297,protein_coding -22751,Psg20,ENSMUSG00000063305,protein_coding -39686,Rpl27,ENSMUSG00000063316,protein_coding -26036,Usp31,ENSMUSG00000063317,protein_coding -28312,1190007I07Rik,ENSMUSG00000063320,protein_coding -28863,Krr1,ENSMUSG00000063334,protein_coding -35105,Olfr874,ENSMUSG00000063350,protein_coding -46267,Slc39a4,ENSMUSG00000063354,protein_coding -47416,Mapk1,ENSMUSG00000063358,protein_coding -29834,Alg11,ENSMUSG00000063362,protein_coding -6395,3300002I08Rik,ENSMUSG00000063364,protein_coding -29276,Olfr763,ENSMUSG00000063374,protein_coding -13906,Ifna13,ENSMUSG00000063376,protein_coding -35201,Olfr945,ENSMUSG00000063380,protein_coding -35398,Bcl9l,ENSMUSG00000063382,protein_coding -49173,Zfp947,ENSMUSG00000063383,protein_coding -37981,Olfr1387,ENSMUSG00000063386,protein_coding -25068,Olfr293,ENSMUSG00000063394,protein_coding -17578,Tmed5,ENSMUSG00000063406,protein_coding -18090,Lrrc43,ENSMUSG00000063409,protein_coding -34388,Stk24,ENSMUSG00000063410,protein_coding -30053,Gm10131,ENSMUSG00000063412,protein_coding -20540,Cyp26b1,ENSMUSG00000063415,protein_coding -27356,Ddo,ENSMUSG00000063428,protein_coding -17755,Wscd2,ENSMUSG00000063430,protein_coding -55270,Sorcs3,ENSMUSG00000063434,protein_coding -23127,B9d2,ENSMUSG00000063439,protein_coding -47203,Nmral1,ENSMUSG00000063445,protein_coding -13445,Plppr1,ENSMUSG00000063446,protein_coding -17567,Ube2d2b,ENSMUSG00000063447,protein_coding -43984,Syne2,ENSMUSG00000063450,protein_coding -19360,D630045J12Rik,ENSMUSG00000063455,protein_coding -28163,Rps15,ENSMUSG00000063457,protein_coding -32329,Lrmda,ENSMUSG00000063458,protein_coding -21641,Tas2r114,ENSMUSG00000063478,protein_coding -46507,Snu13,ENSMUSG00000063480,protein_coding -37240,Zkscan7,ENSMUSG00000063488,protein_coding -32553,Arhgap22,ENSMUSG00000063506,protein_coding -6376,Gm1330,ENSMUSG00000063507,protein_coding -24001,Snrnp70,ENSMUSG00000063511,protein_coding -46162,Ly6m,ENSMUSG00000063522,protein_coding -15470,Eno1,ENSMUSG00000063524,protein_coding -41334,Stmnd1,ENSMUSG00000063529,protein_coding -15839,Sema3e,ENSMUSG00000063531,protein_coding -22245,Zfp773,ENSMUSG00000063535,protein_coding -38242,Olfr322,ENSMUSG00000063549,protein_coding -25386,Nup98,ENSMUSG00000063550,protein_coding -877,Aox1,ENSMUSG00000063558,protein_coding -38054,Col23a1,ENSMUSG00000063564,protein_coding -19805,Jazf1,ENSMUSG00000063568,protein_coding -50312,Klhdc3,ENSMUSG00000063576,protein_coding -25586,Olfr666,ENSMUSG00000063582,protein_coding -1641,Olfr1410,ENSMUSG00000063583,protein_coding -54356,Slc22a28,ENSMUSG00000063590,protein_coding -22691,Gng8,ENSMUSG00000063594,protein_coding -10160,Egfem1,ENSMUSG00000063600,protein_coding -31185,Ccdc102a,ENSMUSG00000063605,protein_coding -25515,Olfr64,ENSMUSG00000063615,protein_coding -30000,Unc5d,ENSMUSG00000063626,protein_coding -43283,Sox11,ENSMUSG00000063632,protein_coding -16355,Jakmip1,ENSMUSG00000063646,protein_coding -23109,Cnfn,ENSMUSG00000063651,protein_coding -38130,Slc22a21,ENSMUSG00000063652,protein_coding -16906,Gm10135,ENSMUSG00000063656,protein_coding -3092,Zbtb18,ENSMUSG00000063659,protein_coding -50069,Olfr98,ENSMUSG00000063660,protein_coding -47041,Krt73,ENSMUSG00000063661,protein_coding -8975,Brwd3,ENSMUSG00000063663,protein_coding -29870,Nkx6-3,ENSMUSG00000063672,protein_coding -2345,Crb1,ENSMUSG00000063681,protein_coding -54574,Glyat,ENSMUSG00000063683,protein_coding -53177,Pcdhb5,ENSMUSG00000063687,protein_coding -11522,Hist2h2ab,ENSMUSG00000063689,protein_coding -19722,Cycs,ENSMUSG00000063694,protein_coding -55434,Sfxn4,ENSMUSG00000063698,protein_coding -46218,Mapk15,ENSMUSG00000063704,protein_coding -23886,Klk1b24,ENSMUSG00000063713,protein_coding -29334,Olfr816,ENSMUSG00000063715,protein_coding -45891,Tnfrsf11b,ENSMUSG00000063727,protein_coding -9658,Magea6,ENSMUSG00000063728,protein_coding -11635,Hsd3b2,ENSMUSG00000063730,protein_coding -27219,Rnf217,ENSMUSG00000063760,protein_coding -21688,Tas2r129,ENSMUSG00000063762,protein_coding -25772,Olfr508,ENSMUSG00000063764,protein_coding -46489,Chadl,ENSMUSG00000063765,protein_coding -11255,S100a7a,ENSMUSG00000063767,protein_coding -54613,Olfr1469,ENSMUSG00000063777,protein_coding -11850,Chil4,ENSMUSG00000063779,protein_coding -46854,Olfr282,ENSMUSG00000063780,protein_coding -7931,Utp14a,ENSMUSG00000063785,protein_coding -32303,Chchd1,ENSMUSG00000063787,protein_coding -54364,Slc22a8,ENSMUSG00000063796,protein_coding -14256,Prpf38a,ENSMUSG00000063800,protein_coding -24849,Ap3s2,ENSMUSG00000063801,protein_coding -22123,Hspbp1,ENSMUSG00000063802,protein_coding -27471,Lin28b,ENSMUSG00000063804,protein_coding -23601,Gpatch1,ENSMUSG00000063808,protein_coding -20568,Alms1,ENSMUSG00000063810,protein_coding -17011,Arl9,ENSMUSG00000063820,protein_coding -32317,Dupd1,ENSMUSG00000063821,protein_coding -26518,Olfr532,ENSMUSG00000063823,protein_coding -37986,Olfr1382,ENSMUSG00000063827,protein_coding -22090,Cdc42ep5,ENSMUSG00000063838,protein_coding -34706,Olfr862,ENSMUSG00000063842,protein_coding -5664,Olfr1276,ENSMUSG00000063844,protein_coding -42808,Gm21731,ENSMUSG00000063846,protein_coding -35698,Ppcdc,ENSMUSG00000063849,protein_coding -13671,Rnf183,ENSMUSG00000063851,protein_coding -36849,Gpx1,ENSMUSG00000063856,protein_coding -33164,Olfr1511,ENSMUSG00000063867,protein_coding -21385,Chd4,ENSMUSG00000063870,protein_coding -6312,Slc24a3,ENSMUSG00000063873,protein_coding -38749,Olfr376,ENSMUSG00000063881,protein_coding -14377,Uqcrh,ENSMUSG00000063882,protein_coding -20324,Ptcd3,ENSMUSG00000063884,protein_coding -10120,Nlgn1,ENSMUSG00000063887,protein_coding -50320,Rpl7l1,ENSMUSG00000063888,protein_coding -52663,Crem,ENSMUSG00000063889,protein_coding -40676,Zkscan8,ENSMUSG00000063894,protein_coding -33620,Nupl1,ENSMUSG00000063895,protein_coding -55564,CAAA01118383.1,ENSMUSG00000063897,protein_coding -30190,Adam26b,ENSMUSG00000063900,protein_coding -23894,Klk1,ENSMUSG00000063903,protein_coding -54161,Dpp3,ENSMUSG00000063904,protein_coding -41857,Gm10139,ENSMUSG00000063905,protein_coding -17876,Srrm4,ENSMUSG00000063919,protein_coding -14361,Cyp4a32,ENSMUSG00000063929,protein_coding -23584,Pepd,ENSMUSG00000063931,protein_coding -29989,Poteg,ENSMUSG00000063932,protein_coding -16894,Zar1,ENSMUSG00000063935,protein_coding -49543,Brpf3,ENSMUSG00000063952,protein_coding -27282,Amd2,ENSMUSG00000063953,protein_coding -11528,Hist2h2aa2,ENSMUSG00000063954,protein_coding -47010,Krt88,ENSMUSG00000063971,protein_coding -4423,Nr6a1,ENSMUSG00000063972,protein_coding -21864,Slco1a5,ENSMUSG00000063975,protein_coding -50102,Olfr120,ENSMUSG00000063994,protein_coding -40788,Vmn1r211,ENSMUSG00000063998,protein_coding -48231,Olfr190,ENSMUSG00000064006,protein_coding -37928,Dppa1,ENSMUSG00000064010,protein_coding -8082,Gm648,ENSMUSG00000064016,protein_coding -23845,Klk8,ENSMUSG00000064023,protein_coding -29259,Pym1,ENSMUSG00000064030,protein_coding -53794,Mro,ENSMUSG00000064036,protein_coding -16196,Gpn1,ENSMUSG00000064037,protein_coding -37281,Ccr1l1,ENSMUSG00000064039,protein_coding -38246,Olfr319,ENSMUSG00000064044,protein_coding -37992,Scgb3a1,ENSMUSG00000064057,protein_coding -48106,Dzip3,ENSMUSG00000064061,protein_coding -41995,BC048507,ENSMUSG00000064063,protein_coding -26783,Ipcef1,ENSMUSG00000064065,protein_coding -11169,Mtx1,ENSMUSG00000064068,protein_coding -20778,Fbln2,ENSMUSG00000064080,protein_coding -5280,Olfr1202,ENSMUSG00000064084,protein_coding -37676,Vrk2,ENSMUSG00000064090,protein_coding -55231,Cnnm2,ENSMUSG00000064105,protein_coding -23362,Hcst,ENSMUSG00000064109,protein_coding -35224,Olfr963,ENSMUSG00000064110,protein_coding -48307,Cadm2,ENSMUSG00000064115,protein_coding -50393,Mocs1,ENSMUSG00000064120,protein_coding -50065,Olfr96,ENSMUSG00000064121,protein_coding -29420,Prr36,ENSMUSG00000064125,protein_coding -7489,Med14,ENSMUSG00000064127,protein_coding -33541,Cenpj,ENSMUSG00000064128,protein_coding -8621,Gm14781,ENSMUSG00000064129,protein_coding -7822,Rhox8,ENSMUSG00000064137,protein_coding -42166,Fam172a,ENSMUSG00000064138,protein_coding -40877,Trim38,ENSMUSG00000064140,protein_coding -14564,Zfp69,ENSMUSG00000064141,protein_coding -36877,Arih2,ENSMUSG00000064145,protein_coding -49564,Rab44,ENSMUSG00000064147,protein_coding -17155,Prol1,ENSMUSG00000064156,protein_coding -24027,Izumo1,ENSMUSG00000064158,protein_coding -39538,Krt39,ENSMUSG00000064165,protein_coding -21069,Ghrl,ENSMUSG00000064177,protein_coding -22109,Tnnt1,ENSMUSG00000064179,protein_coding -28932,Rab3ip,ENSMUSG00000064181,protein_coding -23806,Zfp936,ENSMUSG00000064194,protein_coding -47042,Krt2,ENSMUSG00000064201,protein_coding -54838,4430402I18Rik,ENSMUSG00000064202,protein_coding -46801,Ano6,ENSMUSG00000064210,protein_coding -29817,Defa24,ENSMUSG00000064213,protein_coding -44594,Ifi27,ENSMUSG00000064215,protein_coding -11531,Hist2h2aa1,ENSMUSG00000064220,protein_coding -25669,Olfr694,ENSMUSG00000064223,protein_coding -39498,Gsdma3,ENSMUSG00000064224,protein_coding -36477,Paqr9,ENSMUSG00000064225,protein_coding -47027,Gm5414,ENSMUSG00000064232,protein_coding -2201,Chil1,ENSMUSG00000064246,protein_coding -17645,Plcxd1,ENSMUSG00000064247,protein_coding -38233,Olfr329-ps,ENSMUSG00000064252,protein_coding -23064,Ethe1,ENSMUSG00000064254,protein_coding -19879,Vmn1r13,ENSMUSG00000064259,protein_coding -19670,Gimap8,ENSMUSG00000064262,protein_coding -23058,Zfp428,ENSMUSG00000064264,protein_coding -18026,Hvcn1,ENSMUSG00000064267,protein_coding -1196,Gpbar1,ENSMUSG00000064272,protein_coding -15926,Ccdc146,ENSMUSG00000064280,protein_coding -46646,Cdpf1,ENSMUSG00000064284,protein_coding -40693,Hist1h4k,ENSMUSG00000064288,protein_coding -4641,Tank,ENSMUSG00000064289,protein_coding -20958,Cntn4,ENSMUSG00000064293,protein_coding -878,Aox3,ENSMUSG00000064294,protein_coding -1915,Clasp1,ENSMUSG00000064302,protein_coding -25373,Lrrc51,ENSMUSG00000064307,protein_coding -50047,2410137M14Rik,ENSMUSG00000064308,protein_coding -48150,Zpld1,ENSMUSG00000064310,protein_coding -30827,Hhip,ENSMUSG00000064325,protein_coding -44934,Siva1,ENSMUSG00000064326,protein_coding -4686,Scn1a,ENSMUSG00000064329,protein_coding -21795,Pde6h,ENSMUSG00000064330,protein_coding -35174,Olfr926,ENSMUSG00000064333,protein_coding -55455,mt-Nd1,ENSMUSG00000064341,protein_coding -55459,mt-Nd2,ENSMUSG00000064345,protein_coding -55465,mt-Co1,ENSMUSG00000064351,protein_coding -55468,mt-Co2,ENSMUSG00000064354,protein_coding -55470,mt-Atp8,ENSMUSG00000064356,protein_coding -55471,mt-Atp6,ENSMUSG00000064357,protein_coding -55472,mt-Co3,ENSMUSG00000064358,protein_coding -55474,mt-Nd3,ENSMUSG00000064360,protein_coding -55477,mt-Nd4,ENSMUSG00000064363,protein_coding -55481,mt-Nd5,ENSMUSG00000064367,protein_coding -55482,mt-Nd6,ENSMUSG00000064368,protein_coding -55484,mt-Cytb,ENSMUSG00000064370,protein_coding -45297,Selenop,ENSMUSG00000064373,protein_coding -55476,mt-Nd4l,ENSMUSG00000065947,protein_coding -29381,C330021F23Rik,ENSMUSG00000065952,protein_coding -29905,Tacc1,ENSMUSG00000065954,protein_coding -29800,Defa37,ENSMUSG00000065956,protein_coding -47352,Ifitm7,ENSMUSG00000065968,protein_coding -47319,Cpped1,ENSMUSG00000065979,protein_coding -29406,Cd209b,ENSMUSG00000065987,protein_coding -15595,Aurkaip1,ENSMUSG00000065990,protein_coding -15370,Zfp985,ENSMUSG00000065999,protein_coding -15371,Zfp979,ENSMUSG00000066000,protein_coding -15321,Zfp600,ENSMUSG00000066007,protein_coding -15319,Zfp987,ENSMUSG00000066009,protein_coding -15283,Dhrs3,ENSMUSG00000066026,protein_coding -44347,Gm10436,ENSMUSG00000066027,protein_coding -15256,Oog2,ENSMUSG00000066030,protein_coding -15242,Gm13023,ENSMUSG00000066031,protein_coding -15118,Ubr4,ENSMUSG00000066036,protein_coding -15028,Hnrnpr,ENSMUSG00000066037,protein_coding -14881,Med18,ENSMUSG00000066042,protein_coding -14878,Phactr4,ENSMUSG00000066043,protein_coding -14522,Cldn19,ENSMUSG00000066058,protein_coding -14494,Olfr1335,ENSMUSG00000066061,protein_coding -14349,Cyp4a12a,ENSMUSG00000066071,protein_coding -14357,Cyp4a10,ENSMUSG00000066072,protein_coding -14145,Insl5,ENSMUSG00000066090,protein_coding -14041,Cyp2j11,ENSMUSG00000066097,protein_coding -26635,Krtap5-1,ENSMUSG00000066100,protein_coding -26624,Gm10153,ENSMUSG00000066101,protein_coding -13984,Gm12666,ENSMUSG00000066107,protein_coding -26606,Muc5b,ENSMUSG00000066108,protein_coding -13870,Adamtsl1,ENSMUSG00000066113,protein_coding -26530,Olfr45,ENSMUSG00000066122,protein_coding -26485,Kndc1,ENSMUSG00000066129,protein_coding -13761,Gm11487,ENSMUSG00000066137,protein_coding -13749,Gm11232,ENSMUSG00000066141,protein_coding -13670,Prpf4,ENSMUSG00000066148,protein_coding -13669,Cdc26,ENSMUSG00000066149,protein_coding -13668,Slc31a1,ENSMUSG00000066150,protein_coding -13667,Fkbp15,ENSMUSG00000066151,protein_coding -13665,Slc31a2,ENSMUSG00000066152,protein_coding -13663,Mup21,ENSMUSG00000066153,protein_coding -13660,Mup3,ENSMUSG00000066154,protein_coding -26067,Cacng3,ENSMUSG00000066189,protein_coding -13412,Anks6,ENSMUSG00000066191,protein_coding -13318,Spag8,ENSMUSG00000066196,protein_coding -25962,Gpr139,ENSMUSG00000066197,protein_coding -13230,Arid3c,ENSMUSG00000066224,protein_coding -25818,Ipo7,ENSMUSG00000066232,protein_coding -37250,Tmem42,ENSMUSG00000066233,protein_coding -37205,Pomgnt2,ENSMUSG00000066235,protein_coding -25785,Olfr519,ENSMUSG00000066239,protein_coding -25783,Olfr517,ENSMUSG00000066240,protein_coding -25779,Olfr514,ENSMUSG00000066241,protein_coding -25716,Olfr467,ENSMUSG00000066242,protein_coding -48247,Olfr206,ENSMUSG00000066257,protein_coding -25550,Trim12a,ENSMUSG00000066258,protein_coding -25529,Olfr640,ENSMUSG00000066262,protein_coding -25528,Olfr639,ENSMUSG00000066263,protein_coding -25449,Olfr586,ENSMUSG00000066268,protein_coding -25438,Olfr575,ENSMUSG00000066269,protein_coding -25419,Olfr559,ENSMUSG00000066272,protein_coding -25418,Olfr33,ENSMUSG00000066273,protein_coding -18113,Vps37b,ENSMUSG00000066278,protein_coding -25385,Chrna10,ENSMUSG00000066279,protein_coding -25374,Numa1,ENSMUSG00000066306,protein_coding -36982,Rtp3,ENSMUSG00000066319,protein_coding -12795,Impad1,ENSMUSG00000066324,protein_coding -36873,Wdr6,ENSMUSG00000066357,protein_coding -44658,Tcl1b1,ENSMUSG00000066359,protein_coding -44628,Serpina3c,ENSMUSG00000066361,protein_coding -44631,Serpina3f,ENSMUSG00000066363,protein_coding -44627,Serpina3b,ENSMUSG00000066364,protein_coding -44612,Serpina1a,ENSMUSG00000066366,protein_coding -36815,Actl11,ENSMUSG00000066368,protein_coding -25007,Vmn2r65,ENSMUSG00000066372,protein_coding -24927,Gm10160,ENSMUSG00000066378,protein_coding -36752,Iqcf5,ENSMUSG00000066382,protein_coding -36750,Iqcf1,ENSMUSG00000066383,protein_coding -44377,Nrxn3,ENSMUSG00000066392,protein_coding -24777,Akap13,ENSMUSG00000066406,protein_coding -36606,Msl2,ENSMUSG00000066415,protein_coding -44089,Plekhd1,ENSMUSG00000066438,protein_coding -44056,Zfyve26,ENSMUSG00000066440,protein_coding -44054,Rdh11,ENSMUSG00000066441,protein_coding -36389,Mthfs,ENSMUSG00000066442,protein_coding -36256,Hmgn3,ENSMUSG00000066456,protein_coding -36176,Omt2a,ENSMUSG00000066463,protein_coding -23937,Izumo2,ENSMUSG00000066500,protein_coding -35893,Ankdd1a,ENSMUSG00000066510,protein_coding -23892,Klk1b5,ENSMUSG00000066512,protein_coding -23890,Klk1b4,ENSMUSG00000066513,protein_coding -23888,Klk1b3,ENSMUSG00000066515,protein_coding -23878,Klk1b21,ENSMUSG00000066516,protein_coding -23750,Vmn2r57,ENSMUSG00000066537,protein_coding -18805,Hmgb1,ENSMUSG00000066551,protein_coding -23571,Lsm14a,ENSMUSG00000066568,protein_coding -23568,4931406P16Rik,ENSMUSG00000066571,protein_coding -23555,Scgb1b27,ENSMUSG00000066583,protein_coding -23554,Scgb2b27,ENSMUSG00000066584,protein_coding -23549,Scgb2b26,ENSMUSG00000066586,protein_coding -3344,Flvcr1,ENSMUSG00000066595,protein_coding -35738,Insyn1,ENSMUSG00000066607,protein_coding -17642,Zfp932,ENSMUSG00000066613,protein_coding -18667,Tecpr1,ENSMUSG00000066621,protein_coding -42913,Ttc32,ENSMUSG00000066637,protein_coding -18612,Fbxl18,ENSMUSG00000066640,protein_coding -42912,Wdr35,ENSMUSG00000066643,protein_coding -3161,Lefty2,ENSMUSG00000066652,protein_coding -3043,Olfr220,ENSMUSG00000066671,protein_coding -3039,Olfr417,ENSMUSG00000066672,protein_coding -3008,Ifi208,ENSMUSG00000066677,protein_coding -18474,Pilrb2,ENSMUSG00000066682,protein_coding -18472,Pilrb1,ENSMUSG00000066684,protein_coding -35520,Zbtb16,ENSMUSG00000066687,protein_coding -15234,Gm13083,ENSMUSG00000066688,protein_coding -23165,Cyp2b19,ENSMUSG00000066704,protein_coding -35451,Fxyd6,ENSMUSG00000066705,protein_coding -49231,Cldn9,ENSMUSG00000066720,protein_coding -23063,Zfp575,ENSMUSG00000066721,protein_coding -18237,Vkorc1l1,ENSMUSG00000066735,protein_coding -35113,Olfr878,ENSMUSG00000066747,protein_coding -35111,Olfr145,ENSMUSG00000066748,protein_coding -35110,Olfr877,ENSMUSG00000066749,protein_coding -35107,Olfr876,ENSMUSG00000066750,protein_coding -2684,Tnfsf18,ENSMUSG00000066755,protein_coding -22727,Igfl3,ENSMUSG00000066756,protein_coding -22702,Psg16,ENSMUSG00000066760,protein_coding -22621,Obox3,ENSMUSG00000066772,protein_coding -2530,Zfp648,ENSMUSG00000066797,protein_coding -4390,Zbtb6,ENSMUSG00000066798,protein_coding -2516,Rnasel,ENSMUSG00000066800,protein_coding -22466,Vmn1r84,ENSMUSG00000066803,protein_coding -22464,Vmn1r83,ENSMUSG00000066804,protein_coding -34881,Gm10181,ENSMUSG00000066810,protein_coding -22176,Vmn2r28,ENSMUSG00000066820,protein_coding -22310,Vmn2r37,ENSMUSG00000066828,protein_coding -34841,Zfp810,ENSMUSG00000066829,protein_coding -22248,Zfp772,ENSMUSG00000066838,protein_coding -34824,Ecsit,ENSMUSG00000066839,protein_coding -2450,Hmcn1,ENSMUSG00000066842,protein_coding -22188,Vmn1r65,ENSMUSG00000066850,protein_coding -17980,Oas1g,ENSMUSG00000066861,protein_coding -17974,Oas1e,ENSMUSG00000066867,protein_coding -653,Nck2,ENSMUSG00000066877,protein_coding -51029,Gm10184,ENSMUSG00000066878,protein_coding -30681,Zfp617,ENSMUSG00000066880,protein_coding -34743,Fbxl12,ENSMUSG00000066892,protein_coding -17895,Vsig10,ENSMUSG00000066894,protein_coding -34726,Olfr18,ENSMUSG00000066896,protein_coding -34722,Olfr872,ENSMUSG00000066897,protein_coding -34718,Olfr870,ENSMUSG00000066899,protein_coding -17885,Suds3,ENSMUSG00000066900,protein_coding -34704,Olfr860,ENSMUSG00000066905,protein_coding -2143,Gm10188,ENSMUSG00000066936,protein_coding -50878,Gm10190,ENSMUSG00000066938,protein_coding -17783,Myo1h,ENSMUSG00000066952,protein_coding -17748,Tmem211,ENSMUSG00000066964,protein_coding -17717,Cryba4,ENSMUSG00000066975,protein_coding -26355,Bub3,ENSMUSG00000066979,protein_coding -1839,Serpinb7,ENSMUSG00000067001,protein_coding -1824,Serpinb5,ENSMUSG00000067006,protein_coding -17616,Vmn2r10,ENSMUSG00000067010,protein_coding -1752,Cntnap5b,ENSMUSG00000067028,protein_coding -55405,Rps12-ps3,ENSMUSG00000067038,protein_coding -48938,Unc93a,ENSMUSG00000067049,protein_coding -1631,Olfr1416,ENSMUSG00000067064,protein_coding -1611,Hes6,ENSMUSG00000067071,protein_coding -1578,Asb18,ENSMUSG00000067081,protein_coding -55309,Gm10197,ENSMUSG00000067085,protein_coding -42642,Gm10198,ENSMUSG00000067122,protein_coding -50298,Slc22a7,ENSMUSG00000067144,protein_coding -50287,Polr1c,ENSMUSG00000067148,protein_coding -17161,Jchain,ENSMUSG00000067149,protein_coding -50284,Xpo5,ENSMUSG00000067150,protein_coding -1350,Col4a4,ENSMUSG00000067158,protein_coding -24137,Mrgpra4,ENSMUSG00000067173,protein_coding -50125,Olfr132,ENSMUSG00000067186,protein_coding -9723,Eif1ax,ENSMUSG00000067194,protein_coding -55077,Frat1,ENSMUSG00000067199,protein_coding -50021,H2-M9,ENSMUSG00000067201,protein_coding -16929,Lrrc66,ENSMUSG00000067206,protein_coding -49966,H2-T23,ENSMUSG00000067212,protein_coding -9616,Usp51,ENSMUSG00000067215,protein_coding -16899,Nipal1,ENSMUSG00000067219,protein_coding -16896,Cnga1,ENSMUSG00000067220,protein_coding -55043,Cyp2c54,ENSMUSG00000067225,protein_coding -55031,Cyp2c66,ENSMUSG00000067229,protein_coding -55030,Cyp2c65,ENSMUSG00000067231,protein_coding -49921,H2-Q10,ENSMUSG00000067235,protein_coding -55012,Lgi1,ENSMUSG00000067242,protein_coding -14091,Foxd3,ENSMUSG00000067261,protein_coding -9494,Vmn1r239-ps,ENSMUSG00000067262,protein_coding -17849,Rplp0,ENSMUSG00000067274,protein_coding -9442,Capn6,ENSMUSG00000067276,protein_coding -54978,Ppp1r3c,ENSMUSG00000067279,protein_coding -16416,Gm16223,ENSMUSG00000067285,protein_coding -49746,Rps28,ENSMUSG00000067288,protein_coding -22001,Gm10203,ENSMUSG00000067292,protein_coding -54942,Ifit1bl2,ENSMUSG00000067297,protein_coding -1056,Crygd,ENSMUSG00000067299,protein_coding -933,Bmpr2,ENSMUSG00000067336,protein_coding -21924,Tuba3b,ENSMUSG00000067338,protein_coding -49804,H2-Eb2,ENSMUSG00000067341,protein_coding -9256,Pramel3,ENSMUSG00000067360,protein_coding -16377,Tmem128,ENSMUSG00000067365,protein_coding -16376,Lyar,ENSMUSG00000067367,protein_coding -9220,Trmt2b,ENSMUSG00000067369,protein_coding -49763,B3galt4,ENSMUSG00000067370,protein_coding -9210,Tspan6,ENSMUSG00000067377,protein_coding -36372,Trim43c,ENSMUSG00000067399,protein_coding -49720,Zfp563,ENSMUSG00000067424,protein_coding -49718,Zfp763,ENSMUSG00000067430,protein_coding -16318,Hmx1,ENSMUSG00000067438,protein_coding -9062,H2afb1,ENSMUSG00000067441,protein_coding -40692,Hist1h4j,ENSMUSG00000067455,protein_coding -54557,Olfr1436,ENSMUSG00000067513,protein_coding -54551,Olfr262,ENSMUSG00000067519,protein_coding -54546,Olfr76,ENSMUSG00000067522,protein_coding -54545,Olfr1428,ENSMUSG00000067524,protein_coding -54544,Olfr1427,ENSMUSG00000067525,protein_coding -54542,Olfr1425,ENSMUSG00000067526,protein_coding -54541,Olfr1424,ENSMUSG00000067528,protein_coding -54539,Olfr1423,ENSMUSG00000067529,protein_coding -21666,A630073D07Rik,ENSMUSG00000067541,protein_coding -21649,Prb1,ENSMUSG00000067543,protein_coding -54528,Olfr1419,ENSMUSG00000067545,protein_coding -8824,Dmrtc1c2,ENSMUSG00000067561,protein_coding -8820,Dmrtc1c1,ENSMUSG00000067562,protein_coding -8807,Hdac8,ENSMUSG00000067567,protein_coding -54482,Ms4a15,ENSMUSG00000067571,protein_coding -6993,Cbln4,ENSMUSG00000067578,protein_coding -41454,S1pr3,ENSMUSG00000067586,protein_coding -21591,Klra3,ENSMUSG00000067591,protein_coding -47044,Krt77,ENSMUSG00000067594,protein_coding -8746,Dgat2l6,ENSMUSG00000067597,protein_coding -21587,Klra7,ENSMUSG00000067599,protein_coding -578,Nms,ENSMUSG00000067604,protein_coding -21565,Klri1,ENSMUSG00000067610,protein_coding -47014,Krt83,ENSMUSG00000067613,protein_coding -47012,Krt86,ENSMUSG00000067614,protein_coding -47011,Krt81,ENSMUSG00000067615,protein_coding -23842,Klk11,ENSMUSG00000067616,protein_coding -29519,Gm10217,ENSMUSG00000067627,protein_coding -49450,Syngap1,ENSMUSG00000067629,protein_coding -16135,Adgrf3,ENSMUSG00000067642,protein_coding -8631,Mageb18,ENSMUSG00000067649,protein_coding -517,Ankrd23,ENSMUSG00000067653,protein_coding -54352,Slc22a27,ENSMUSG00000067656,protein_coding -8493,Obp1b,ENSMUSG00000067679,protein_coding -8491,Obp1a,ENSMUSG00000067684,protein_coding -16073,Gm10220,ENSMUSG00000067698,protein_coding -16067,Gm5862,ENSMUSG00000067700,protein_coding -21404,Tuba3a,ENSMUSG00000067702,protein_coding -6832,Wfdc13,ENSMUSG00000067704,protein_coding -46881,Prkag1,ENSMUSG00000067713,protein_coding -21383,Lpar5,ENSMUSG00000067714,protein_coding -49338,BC003965,ENSMUSG00000067722,protein_coding -16017,Gbx1,ENSMUSG00000067724,protein_coding -285,Khdc1a,ENSMUSG00000067750,protein_coding -8326,Xlr5c,ENSMUSG00000067764,protein_coding -21294,Clec4b2,ENSMUSG00000067767,protein_coding -8322,Xlr4b,ENSMUSG00000067768,protein_coding -8317,Gm14685,ENSMUSG00000067771,protein_coding -241,Defb41,ENSMUSG00000067773,protein_coding -227,Pi15,ENSMUSG00000067780,protein_coding -6673,Nnat,ENSMUSG00000067786,protein_coding -6672,Blcap,ENSMUSG00000067787,protein_coding -200,4930444P10Rik,ENSMUSG00000067795,protein_coding -171,Xkr9,ENSMUSG00000067813,protein_coding -6642,Myl9,ENSMUSG00000067818,protein_coding -21230,Pex26,ENSMUSG00000067825,protein_coding -6617,Romo1,ENSMUSG00000067847,protein_coding -15809,4933402N22Rik,ENSMUSG00000067848,protein_coding -124,Arfgef1,ENSMUSG00000067851,protein_coding -15833,Speer3,ENSMUSG00000067855,protein_coding -8108,Zic3,ENSMUSG00000067860,protein_coding -54155,Ccdc87,ENSMUSG00000067872,protein_coding -8092,Htatsf1,ENSMUSG00000067873,protein_coding -8089,Map7d3,ENSMUSG00000067878,protein_coding -105,Vxn,ENSMUSG00000067879,protein_coding -54147,Sptbn2,ENSMUSG00000067889,protein_coding -8058,Slxl1,ENSMUSG00000067909,protein_coding -15353,Zfp991,ENSMUSG00000067916,protein_coding -15346,Rex2,ENSMUSG00000067919,protein_coding -8027,Rtl8b,ENSMUSG00000067924,protein_coding -8026,Rtl8a,ENSMUSG00000067925,protein_coding -49157,Zfp760,ENSMUSG00000067928,protein_coding -49156,Gm10226,ENSMUSG00000067929,protein_coding -49150,Zfp948,ENSMUSG00000067931,protein_coding -48965,Gm7168,ENSMUSG00000067941,protein_coding -49121,Zfp160,ENSMUSG00000067942,protein_coding -49110,Vmn1r227,ENSMUSG00000067951,protein_coding -7956,Olfr1321,ENSMUSG00000067971,protein_coding -33952,Gtf2f2,ENSMUSG00000067995,protein_coding -6548,Bpifb9b,ENSMUSG00000067996,protein_coding -6546,Bpifb9a,ENSMUSG00000067998,protein_coding -6535,Bpifb3,ENSMUSG00000068008,protein_coding -6534,Bpifb6,ENSMUSG00000068009,protein_coding -21100,Mkrn2os,ENSMUSG00000068011,protein_coding -33928,Lrch1,ENSMUSG00000068015,protein_coding -48962,Afdn,ENSMUSG00000068036,protein_coding -48921,Mas1,ENSMUSG00000068037,protein_coding -48927,Tcp1,ENSMUSG00000068039,protein_coding -6515,Tm9sf4,ENSMUSG00000068040,protein_coding -7824,Rhox9,ENSMUSG00000068048,protein_coding -48549,1110057P08Rik,ENSMUSG00000068067,protein_coding -48548,Gm7735,ENSMUSG00000068068,protein_coding -48545,Gm6358,ENSMUSG00000068071,protein_coding -48543,1110025L11Rik,ENSMUSG00000068073,protein_coding -48541,Gm10228,ENSMUSG00000068074,protein_coding -48539,Gm10229,ENSMUSG00000068075,protein_coding -48522,2310034C09Rik,ENSMUSG00000068078,protein_coding -6464,Tcf15,ENSMUSG00000068079,protein_coding -16845,Grxcr1,ENSMUSG00000068082,protein_coding -46564,Cyp2d40,ENSMUSG00000068083,protein_coding -46530,Cyp2d11,ENSMUSG00000068085,protein_coding -46536,Cyp2d9,ENSMUSG00000068086,protein_coding -46521,1500009C09Rik,ENSMUSG00000068099,protein_coding -46520,Cenpm,ENSMUSG00000068101,protein_coding -46518,Tnfrsf13c,ENSMUSG00000068105,protein_coding -7625,Gm4907,ENSMUSG00000068113,protein_coding -46513,Ccdc134,ENSMUSG00000068114,protein_coding -6419,Ninl,ENSMUSG00000068115,protein_coding -46512,Mei1,ENSMUSG00000068117,protein_coding -7603,Agtr2,ENSMUSG00000068122,protein_coding -6404,Cst7,ENSMUSG00000068129,protein_coding -6399,Zfp442,ENSMUSG00000068130,protein_coding -6388,Zfp120,ENSMUSG00000068134,protein_coding -7557,Tex13c3,ENSMUSG00000068149,protein_coding -6325,Insm1,ENSMUSG00000068154,protein_coding -48285,Csnka2ip,ENSMUSG00000068167,protein_coding -7827,Btg1-ps1,ENSMUSG00000068173,protein_coding -20848,Gm10234,ENSMUSG00000068181,protein_coding -48244,Olfr203,ENSMUSG00000068182,protein_coding -42605,Ndufaf2,ENSMUSG00000068184,protein_coding -48194,Col8a1,ENSMUSG00000068196,protein_coding -6255,Macrod2,ENSMUSG00000068205,protein_coding -46393,Pick1,ENSMUSG00000068206,protein_coding -7395,Ssxb9,ENSMUSG00000068218,protein_coding -7394,Ssxb10,ENSMUSG00000068219,protein_coding -46372,Lgals1,ENSMUSG00000068220,protein_coding -46350,Il2rb,ENSMUSG00000068227,protein_coding -20729,Vmn1r43,ENSMUSG00000068231,protein_coding -20728,Vmn1r42,ENSMUSG00000068232,protein_coding -20730,Vmn1r44,ENSMUSG00000068234,protein_coding -12787,Gm11808,ENSMUSG00000068240,protein_coding -33606,Phf11d,ENSMUSG00000068245,protein_coding -46323,Apol9b,ENSMUSG00000068246,protein_coding -22003,Amn1,ENSMUSG00000068250,protein_coding -46305,Apol7b,ENSMUSG00000068252,protein_coding -19419,Olfr461,ENSMUSG00000068259,protein_coding -20657,Efcc1,ENSMUSG00000068263,protein_coding -6144,Ap5s1,ENSMUSG00000068264,protein_coding -6142,Cenpb,ENSMUSG00000068267,protein_coding -7322,Shroom4,ENSMUSG00000068270,protein_coding -48037,Usf3,ENSMUSG00000068284,protein_coding -33512,Cma2,ENSMUSG00000068289,protein_coding -6123,Ddrgk1,ENSMUSG00000068290,protein_coding -20583,Nat8f4,ENSMUSG00000068299,protein_coding -20561,Noto,ENSMUSG00000068302,protein_coding -20494,Slc4a5,ENSMUSG00000068323,protein_coding -20476,Tlx2,ENSMUSG00000068327,protein_coding -20474,Aup1,ENSMUSG00000068328,protein_coding -20473,Htra2,ENSMUSG00000068329,protein_coding -20470,Dok1,ENSMUSG00000068335,protein_coding -20412,Reg3d,ENSMUSG00000068341,protein_coding -46158,Gml,ENSMUSG00000068349,protein_coding -5559,D430041D05Rik,ENSMUSG00000068373,protein_coding -46119,Chrac1,ENSMUSG00000068391,protein_coding -33135,Rnase13,ENSMUSG00000068392,protein_coding -5976,Cep152,ENSMUSG00000068394,protein_coding -33104,Gm7247,ENSMUSG00000068399,protein_coding -33085,Rnase12,ENSMUSG00000068407,protein_coding -33079,Pnp2,ENSMUSG00000068417,protein_coding -47715,Gmnc,ENSMUSG00000068428,protein_coding -33051,Olfr742,ENSMUSG00000068431,protein_coding -33032,Olfr725,ENSMUSG00000068437,protein_coding -5940,Duox2,ENSMUSG00000068452,protein_coding -51101,Uty,ENSMUSG00000068457,protein_coding -5919,Mfap1a,ENSMUSG00000068479,protein_coding -33121,Gm5800,ENSMUSG00000068506,protein_coding -45873,Aard,ENSMUSG00000068522,protein_coding -12584,Gng5,ENSMUSG00000068523,protein_coding -47542,Olfr169,ENSMUSG00000068535,protein_coding -19695,Doxl2,ENSMUSG00000068536,protein_coding -12554,Clca4a,ENSMUSG00000068547,protein_coding -19654,Zfp467,ENSMUSG00000068551,protein_coding -22039,Myadm,ENSMUSG00000068566,protein_coding -19539,Olfr458,ENSMUSG00000068574,protein_coding -5832,Zfyve19,ENSMUSG00000068580,protein_coding -19423,Mgam,ENSMUSG00000068587,protein_coding -46159,Gml2,ENSMUSG00000068600,protein_coding -53543,Gm4841,ENSMUSG00000068606,protein_coding -5748,Actc1,ENSMUSG00000068614,protein_coding -5745,Gjd2,ENSMUSG00000068615,protein_coding -47374,Efcab1,ENSMUSG00000068617,protein_coding -5666,Olfr1278,ENSMUSG00000068647,protein_coding -47281,Clec16a,ENSMUSG00000068663,protein_coding -5556,Cd59b,ENSMUSG00000068686,protein_coding -12031,Gpr88,ENSMUSG00000068696,protein_coding -32296,Myoz1,ENSMUSG00000068697,protein_coding -19208,Flnc,ENSMUSG00000068699,protein_coding -11943,Tmem167b,ENSMUSG00000068732,protein_coding -5445,Trp53i11,ENSMUSG00000068735,protein_coding -11934,Sars,ENSMUSG00000068739,protein_coding -11933,Celsr2,ENSMUSG00000068740,protein_coding -5429,Cry2,ENSMUSG00000068742,protein_coding -11932,Psrc1,ENSMUSG00000068744,protein_coding -11930,Mybphl,ENSMUSG00000068745,protein_coding -11927,Sort1,ENSMUSG00000068747,protein_coding -19130,Ptprz1,ENSMUSG00000068748,protein_coding -11925,Psma5,ENSMUSG00000068749,protein_coding -32173,Il3ra,ENSMUSG00000068758,protein_coding -11900,Gstm6,ENSMUSG00000068762,protein_coding -18982,Col28a1,ENSMUSG00000068794,protein_coding -11827,Rap1a,ENSMUSG00000068798,protein_coding -5339,Olfr1259,ENSMUSG00000068806,protein_coding -5267,Olfr1189,ENSMUSG00000068808,protein_coding -5265,Olfr1188,ENSMUSG00000068809,protein_coding -5219,Olfr1145,ENSMUSG00000068814,protein_coding -5217,Olfr1143,ENSMUSG00000068815,protein_coding -5215,Olfr152,ENSMUSG00000068816,protein_coding -5212,Olfr1140,ENSMUSG00000068817,protein_coding -5204,Olfr1132,ENSMUSG00000068818,protein_coding -5203,Olfr1131,ENSMUSG00000068819,protein_coding -11735,Csde1,ENSMUSG00000068823,protein_coding -11525,Hist2h2be,ENSMUSG00000068854,protein_coding -11523,Hist2h2ac,ENSMUSG00000068855,protein_coding -11517,Sf3b4,ENSMUSG00000068856,protein_coding -4814,Sp9,ENSMUSG00000068859,protein_coding -11466,Gm128,ENSMUSG00000068860,protein_coding -11441,Selenbp1,ENSMUSG00000068874,protein_coding -11436,Cgn,ENSMUSG00000068876,protein_coding -11433,Selenbp2,ENSMUSG00000068877,protein_coding -11372,Gm5773,ENSMUSG00000068879,protein_coding -4747,Ssb,ENSMUSG00000068882,protein_coding -11335,Lce3f,ENSMUSG00000068885,protein_coding -11321,Lce1j,ENSMUSG00000068887,protein_coding -11320,Lce1i,ENSMUSG00000068888,protein_coding -11315,Lce1e,ENSMUSG00000068889,protein_coding -11311,Lce1a2,ENSMUSG00000068890,protein_coding -11280,Sprr2a2,ENSMUSG00000068893,protein_coding -11163,Clk2,ENSMUSG00000068917,protein_coding -11152,Dap3,ENSMUSG00000068921,protein_coding -11150,Msto1,ENSMUSG00000068922,protein_coding -11144,Syt11,ENSMUSG00000068923,protein_coding -44660,Tcl1b3,ENSMUSG00000068940,protein_coding -4383,Olfr366,ENSMUSG00000068947,protein_coding -4345,Olfr338,ENSMUSG00000068950,protein_coding -23695,Zfp619,ENSMUSG00000068959,protein_coding -23037,Zfp114,ENSMUSG00000068962,protein_coding -4270,Zbtb34,ENSMUSG00000068966,protein_coding -10750,Vmn2r5,ENSMUSG00000068999,protein_coding -4125,Urm1,ENSMUSG00000069020,protein_coding -51128,Sry,ENSMUSG00000069036,protein_coding -7473,H2al1j,ENSMUSG00000069038,protein_coding -10380,Slc25a31,ENSMUSG00000069041,protein_coding -51105,Usp9y,ENSMUSG00000069044,protein_coding -51102,Ddx3y,ENSMUSG00000069045,protein_coding -51098,Eif2s3y,ENSMUSG00000069049,protein_coding -51091,Uba1y,ENSMUSG00000069053,protein_coding -10199,Slc7a14,ENSMUSG00000069072,protein_coding -3995,Lcn11,ENSMUSG00000069080,protein_coding -1025,Dytn,ENSMUSG00000069085,protein_coding -42510,Cdk7,ENSMUSG00000069089,protein_coding -10059,Pde7a,ENSMUSG00000069094,protein_coding -9943,Zbtb10,ENSMUSG00000069114,protein_coding -42435,Gm10260,ENSMUSG00000069117,protein_coding -9911,1700008P02Rik,ENSMUSG00000069118,protein_coding -3883,Nxph2,ENSMUSG00000069132,protein_coding -48855,Fgfr1op,ENSMUSG00000069135,protein_coding -42208,Adgrv1,ENSMUSG00000069170,protein_coding -42173,Nr2f1,ENSMUSG00000069171,protein_coding -42105,Zfp72,ENSMUSG00000069184,protein_coding -42091,Zdhhc11,ENSMUSG00000069189,protein_coding -41968,Zfp874a,ENSMUSG00000069206,protein_coding -42113,Zfp825,ENSMUSG00000069208,protein_coding -41513,Gprin1,ENSMUSG00000069227,protein_coding -41340,Fam8a1,ENSMUSG00000069237,protein_coding -41066,Serpinb6e,ENSMUSG00000069248,protein_coding -40993,Dusp22,ENSMUSG00000069255,protein_coding -40945,Prl2b1,ENSMUSG00000069258,protein_coding -40941,Prl6a1,ENSMUSG00000069259,protein_coding -40875,Hist1h3a,ENSMUSG00000069265,protein_coding -40873,Hist1h4b,ENSMUSG00000069266,protein_coding -40871,Hist1h3b,ENSMUSG00000069267,protein_coding -40847,Hist1h2bf,ENSMUSG00000069268,protein_coding -40856,Hist1h2ac,ENSMUSG00000069270,protein_coding -40844,Hist1h2ae,ENSMUSG00000069272,protein_coding -40843,Hist1h3e,ENSMUSG00000069273,protein_coding -40841,Hist1h4f,ENSMUSG00000069274,protein_coding -40819,Vmn1r223,ENSMUSG00000069280,protein_coding -40769,Vmn1r203,ENSMUSG00000069289,protein_coding -40758,Vmn1r199,ENSMUSG00000069292,protein_coding -40754,Vmn1r197,ENSMUSG00000069294,protein_coding -40752,Vmn1r196,ENSMUSG00000069295,protein_coding -40750,Vmn1r195,ENSMUSG00000069296,protein_coding -40749,Vmn1r194,ENSMUSG00000069297,protein_coding -40735,Vmn1r188,ENSMUSG00000069299,protein_coding -40729,Hist1h2bj,ENSMUSG00000069300,protein_coding -40727,Hist1h2ag,ENSMUSG00000069301,protein_coding -40724,Hist1h2ah,ENSMUSG00000069302,protein_coding -40710,Hist1h2br,ENSMUSG00000069303,protein_coding -40707,Hist1h4n,ENSMUSG00000069305,protein_coding -40706,Hist1h4m,ENSMUSG00000069306,protein_coding -40703,Hist1h2bq,ENSMUSG00000069307,protein_coding -40702,Hist1h2bp,ENSMUSG00000069308,protein_coding -40700,Hist1h2an,ENSMUSG00000069309,protein_coding -40865,Hist1h3c,ENSMUSG00000069310,protein_coding -54024,Gm5096,ENSMUSG00000069324,protein_coding -15763,Gm5152,ENSMUSG00000069355,protein_coding -53516,Ctxn3,ENSMUSG00000069372,protein_coding -53458,Prdm6,ENSMUSG00000069378,protein_coding -53342,Gm10267,ENSMUSG00000069385,protein_coding -25684,Olfr707,ENSMUSG00000069390,protein_coding -29328,Olfr810,ENSMUSG00000069421,protein_coding -29275,Olfr9,ENSMUSG00000069430,protein_coding -52890,Dsg1a,ENSMUSG00000069441,protein_coding -29185,Rdh16,ENSMUSG00000069456,protein_coding -55443,Gm6020,ENSMUSG00000069475,protein_coding -38788,Zfp616,ENSMUSG00000069476,protein_coding -4509,Epc2,ENSMUSG00000069495,protein_coding -28949,Lyz1,ENSMUSG00000069515,protein_coding -28948,Lyz2,ENSMUSG00000069516,protein_coding -28934,Gm10271,ENSMUSG00000069518,protein_coding -28905,Tmem19,ENSMUSG00000069520,protein_coding -28482,Scyl2,ENSMUSG00000069539,protein_coding -28160,Dazap1,ENSMUSG00000069565,protein_coding -28008,Tspear,ENSMUSG00000069581,protein_coding -28030,Krtap10-4,ENSMUSG00000069582,protein_coding -28015,Krtap12-1,ENSMUSG00000069583,protein_coding -28011,Gm10272,ENSMUSG00000069584,protein_coding -40128,Gm11733,ENSMUSG00000069588,protein_coding -27849,Ank3,ENSMUSG00000069601,protein_coding -40005,Cd300ld3,ENSMUSG00000069607,protein_coding -40003,Cd300ld4,ENSMUSG00000069609,protein_coding -39852,Strada,ENSMUSG00000069631,protein_coding -29375,Pex11g,ENSMUSG00000069633,protein_coding -27292,Marcks,ENSMUSG00000069662,protein_coding -27249,Sult3a1,ENSMUSG00000069668,protein_coding -27223,Nkain2,ENSMUSG00000069670,protein_coding -20478,Pcgf1,ENSMUSG00000069678,protein_coding -27076,Taar5,ENSMUSG00000069706,protein_coding -27075,Taar4,ENSMUSG00000069707,protein_coding -27074,Taar3,ENSMUSG00000069708,protein_coding -27034,4930444G20Rik,ENSMUSG00000069712,protein_coding -39578,Gm11568,ENSMUSG00000069717,protein_coding -39556,Gm11563,ENSMUSG00000069718,protein_coding -15865,4930572O03Rik,ENSMUSG00000069720,protein_coding -39541,Krtap3-2,ENSMUSG00000069721,protein_coding -39540,Krtap3-3,ENSMUSG00000069722,protein_coding -23790,Zfp975,ENSMUSG00000069727,protein_coding -48784,Arid1b,ENSMUSG00000069729,protein_coding -14103,Ube2u,ENSMUSG00000069733,protein_coding -49162,Zfp820,ENSMUSG00000069743,protein_coding -39447,Psmb3,ENSMUSG00000069744,protein_coding -39260,Tmem100,ENSMUSG00000069763,protein_coding -39234,Msi2,ENSMUSG00000069769,protein_coding -39153,Gm11444,ENSMUSG00000069785,protein_coding -39104,Wfdc17,ENSMUSG00000069792,protein_coding -39058,Slfn9,ENSMUSG00000069793,protein_coding -38914,Gm10277,ENSMUSG00000069804,protein_coding -41758,Fbp1,ENSMUSG00000069805,protein_coding -22041,Cacng7,ENSMUSG00000069806,protein_coding -38869,Fam57a,ENSMUSG00000069808,protein_coding -38809,Ccdc92b,ENSMUSG00000069814,protein_coding -38782,Olfr23,ENSMUSG00000069816,protein_coding -38772,Olfr390,ENSMUSG00000069818,protein_coding -38752,Olfr1,ENSMUSG00000069823,protein_coding -38746,Gm49340,ENSMUSG00000069825,protein_coding -38682,Nlrp1a,ENSMUSG00000069830,protein_coding -54414,Ahnak,ENSMUSG00000069833,protein_coding -38560,Sat2,ENSMUSG00000069835,protein_coding -38476,Sco1,ENSMUSG00000069844,protein_coding -38374,Slc47a2,ENSMUSG00000069855,protein_coding -31716,Pabpn1l,ENSMUSG00000069867,protein_coding -38215,4930438A08Rik,ENSMUSG00000069873,protein_coding -38213,Irgm2,ENSMUSG00000069874,protein_coding -37962,9930111J21Rik2,ENSMUSG00000069892,protein_coding -37958,9930111J21Rik1,ENSMUSG00000069893,protein_coding -31473,Atxn1l,ENSMUSG00000069895,protein_coding -37906,Gm12166,ENSMUSG00000069899,protein_coding -37805,Spdl1,ENSMUSG00000069910,protein_coding -37804,Fam196b,ENSMUSG00000069911,protein_coding -37767,Hba-a2,ENSMUSG00000069917,protein_coding -37765,Hba-a1,ENSMUSG00000069919,protein_coding -31344,B3gnt9,ENSMUSG00000069920,protein_coding -31334,Ces3a,ENSMUSG00000069922,protein_coding -31029,4933402J07Rik,ENSMUSG00000069971,protein_coding -30689,Olfr372,ENSMUSG00000069998,protein_coding -30674,Fcho1,ENSMUSG00000070000,protein_coding -30606,Ell,ENSMUSG00000070002,protein_coding -30608,Ssbp4,ENSMUSG00000070003,protein_coding -30414,Gm10283,ENSMUSG00000070023,protein_coding -1430,Sp140,ENSMUSG00000070031,protein_coding -1428,Sp110,ENSMUSG00000070034,protein_coding -30218,Fam149a,ENSMUSG00000070044,protein_coding -30208,Fat1,ENSMUSG00000070047,protein_coding -30091,Mfhas1,ENSMUSG00000070056,protein_coding -37104,Slc22a14,ENSMUSG00000070280,protein_coding -36867,Ndufaf3,ENSMUSG00000070283,protein_coding -36829,Gmppb,ENSMUSG00000070284,protein_coding -36597,Slc35g2,ENSMUSG00000070287,protein_coding -36184,Ddx43,ENSMUSG00000070291,protein_coding -35694,Trcg1,ENSMUSG00000070298,protein_coding -35439,Scn2b,ENSMUSG00000070304,protein_coding -35435,Mpzl3,ENSMUSG00000070305,protein_coding -35366,Ccdc153,ENSMUSG00000070306,protein_coding -35131,Olfr894,ENSMUSG00000070311,protein_coding -35061,Pate14,ENSMUSG00000070313,protein_coding -34756,Eif3g,ENSMUSG00000070319,protein_coding -34497,Mmp27,ENSMUSG00000070323,protein_coding -36913,Fbxw22,ENSMUSG00000070324,protein_coding -40186,Rnf213,ENSMUSG00000070327,protein_coding -40142,Tmem235,ENSMUSG00000070330,protein_coding -40084,Qrich2,ENSMUSG00000070331,protein_coding -40025,Trim80,ENSMUSG00000070332,protein_coding -39583,Krtap31-1,ENSMUSG00000070334,protein_coding -39580,Krtap9-1,ENSMUSG00000070335,protein_coding -39459,Fbxo47,ENSMUSG00000070336,protein_coding -39433,Gpr179,ENSMUSG00000070337,protein_coding -39204,Hsf5,ENSMUSG00000070345,protein_coding -26729,Ccnd1,ENSMUSG00000070348,protein_coding -38984,Evi2,ENSMUSG00000070354,protein_coding -11998,Amy2a1,ENSMUSG00000070360,protein_coding -26310,Plpp4,ENSMUSG00000070366,protein_coding -11875,Prok1,ENSMUSG00000070368,protein_coding -26273,Itgad,ENSMUSG00000070369,protein_coding -26257,Prss36,ENSMUSG00000070371,protein_coding -11811,Capza1,ENSMUSG00000070372,protein_coding -38799,Olfr59,ENSMUSG00000070374,protein_coding -38797,Olfr406,ENSMUSG00000070375,protein_coding -38794,Olfr43,ENSMUSG00000070377,protein_coding -38793,Olfr403,ENSMUSG00000070378,protein_coding -38792,Olfr402,ENSMUSG00000070379,protein_coding -38791,Olfr401,ENSMUSG00000070380,protein_coding -38773,Olfr391-ps,ENSMUSG00000070382,protein_coding -38771,Olfr389,ENSMUSG00000070383,protein_coding -11738,Ampd1,ENSMUSG00000070385,protein_coding -38710,Fbxo39,ENSMUSG00000070388,protein_coding -38683,Nlrp1b,ENSMUSG00000070390,protein_coding -38589,Tmem256,ENSMUSG00000070394,protein_coding -38444,Hs3st3b1,ENSMUSG00000070407,protein_coding -25692,Olfr2,ENSMUSG00000070417,protein_coding -18702,Cyp3a57,ENSMUSG00000070419,protein_coding -18700,Zscan25,ENSMUSG00000070420,protein_coding -25571,Olfr658,ENSMUSG00000070421,protein_coding -25416,Olfr558,ENSMUSG00000070423,protein_coding -25383,Art5,ENSMUSG00000070424,protein_coding -25381,Xntrpc,ENSMUSG00000070425,protein_coding -25379,Rnf121,ENSMUSG00000070426,protein_coding -25378,Il18bp,ENSMUSG00000070427,protein_coding -25276,Serpinh1,ENSMUSG00000070436,protein_coding -38253,Olfr313,ENSMUSG00000070438,protein_coding -33109,Vmn2r89,ENSMUSG00000070448,protein_coding -25035,Vmn2r73,ENSMUSG00000070458,protein_coding -25004,Olfr290,ENSMUSG00000070459,protein_coding -25002,Olfr291,ENSMUSG00000070460,protein_coding -24979,Tlnrd1,ENSMUSG00000070462,protein_coding -18366,Ccl26,ENSMUSG00000070464,protein_coding -24942,Adamtsl3,ENSMUSG00000070469,protein_coding -10651,Erich6,ENSMUSG00000070471,protein_coding -18340,Cldn3,ENSMUSG00000070473,protein_coding -7151,Fam217b,ENSMUSG00000070476,protein_coding -18234,Chchd2,ENSMUSG00000070493,protein_coding -7017,Ctcfl,ENSMUSG00000070495,protein_coding -18168,Tmem132b,ENSMUSG00000070498,protein_coding -3003,Ifi214,ENSMUSG00000070501,protein_coding -2977,Fcrl6,ENSMUSG00000070504,protein_coding -24732,Rgma,ENSMUSG00000070509,protein_coding -24586,Nsmce3,ENSMUSG00000070520,protein_coding -2880,Fcrlb,ENSMUSG00000070524,protein_coding -24545,Peg12,ENSMUSG00000070526,protein_coding -24544,Mkrn3,ENSMUSG00000070527,protein_coding -6830,Wfdc10,ENSMUSG00000070529,protein_coding -6827,Wfdc16,ENSMUSG00000070530,protein_coding -6825,Wfdc6b,ENSMUSG00000070531,protein_coding -2856,Ccdc190,ENSMUSG00000070532,protein_coding -6823,Wfdc8,ENSMUSG00000070533,protein_coding -6729,Top1,ENSMUSG00000070544,protein_coding -24157,Mrgprb3,ENSMUSG00000070546,protein_coding -24152,Mrgprb1,ENSMUSG00000070547,protein_coding -24146,Mrgprb4,ENSMUSG00000070550,protein_coding -24144,Mrgprb5,ENSMUSG00000070551,protein_coding -24138,Mrgprx1,ENSMUSG00000070552,protein_coding -24040,Spaca4,ENSMUSG00000070563,protein_coding -24034,Ntn5,ENSMUSG00000070564,protein_coding -2590,Rasal2,ENSMUSG00000070565,protein_coding -23993,Slc6a21,ENSMUSG00000070568,protein_coding -23983,Slc17a7,ENSMUSG00000070570,protein_coding -17700,Mn1,ENSMUSG00000070576,protein_coding -15418,Gm572,ENSMUSG00000070577,protein_coding -15383,Fv1,ENSMUSG00000070583,protein_coding -2354,Gm4788,ENSMUSG00000070594,protein_coding -29355,Vmn2r84,ENSMUSG00000070601,protein_coding -23822,Vsig10l,ENSMUSG00000070604,protein_coding -15329,Zfp992,ENSMUSG00000070605,protein_coding -15277,Aadacl4,ENSMUSG00000070609,protein_coding -15229,Gm13040,ENSMUSG00000070616,protein_coding -15238,Gm13089,ENSMUSG00000070617,protein_coding -15230,BC080695,ENSMUSG00000070618,protein_coding -15264,Gm13119,ENSMUSG00000070619,protein_coding -15179,Srarp,ENSMUSG00000070637,protein_coding -17503,Lrrc8b,ENSMUSG00000070639,protein_coding -2176,Sox13,ENSMUSG00000070643,protein_coding -2175,Etnk2,ENSMUSG00000070644,protein_coding -2174,Ren1,ENSMUSG00000070645,protein_coding -15101,Rnf186,ENSMUSG00000070661,protein_coding -17313,D5Ertd577e,ENSMUSG00000070677,protein_coding -15038,Lactbl1,ENSMUSG00000070683,protein_coding -17276,C87414,ENSMUSG00000070686,protein_coding -15030,Htr1d,ENSMUSG00000070687,protein_coding -17191,5830473C10Rik,ENSMUSG00000070690,protein_coding -14980,Runx3,ENSMUSG00000070691,protein_coding -1886,Cntnap5a,ENSMUSG00000070695,protein_coding -17163,Utp3,ENSMUSG00000070697,protein_coding -23266,Sars2,ENSMUSG00000070699,protein_coding -17126,Csn1s1,ENSMUSG00000070702,protein_coding -17101,Ugt2b36,ENSMUSG00000070704,protein_coding -23235,Eid2b,ENSMUSG00000070705,protein_coding -6765,Gtsf1l,ENSMUSG00000070708,protein_coding -23219,Zfp974,ENSMUSG00000070709,protein_coding -30706,Gm10282,ENSMUSG00000070713,protein_coding -5871,Pla2g4d,ENSMUSG00000070719,protein_coding -14847,Tmem200b,ENSMUSG00000070720,protein_coding -5827,Rmdn3,ENSMUSG00000070730,protein_coding -1598,Rbm44,ENSMUSG00000070732,protein_coding -16911,Fryl,ENSMUSG00000070733,protein_coding -14729,Tmem35b,ENSMUSG00000070737,protein_coding -1519,Dgkd,ENSMUSG00000070738,protein_coding -22851,Ceacam20,ENSMUSG00000070777,protein_coding -16786,Rbm47,ENSMUSG00000070780,protein_coding -22749,Psg21,ENSMUSG00000070796,protein_coding -22743,Psg27,ENSMUSG00000070797,protein_coding -22741,Psg25,ENSMUSG00000070798,protein_coding -22738,Psg26,ENSMUSG00000070799,protein_coding -22694,Pnmal2,ENSMUSG00000070802,protein_coding -14553,Cited4,ENSMUSG00000070803,protein_coding -14530,Zmynd12,ENSMUSG00000070806,protein_coding -22647,Bicra,ENSMUSG00000070808,protein_coding -22552,Sult2a6,ENSMUSG00000070810,protein_coding -22539,Sult2a2,ENSMUSG00000070811,protein_coding -22520,Zswim9,ENSMUSG00000070814,protein_coding -22512,Vmn1r87,ENSMUSG00000070815,protein_coding -22511,Vmn1r86,ENSMUSG00000070816,protein_coding -22508,Vmn1r85,ENSMUSG00000070817,protein_coding -14490,Olfr1339,ENSMUSG00000070820,protein_coding -14489,Olfr1340,ENSMUSG00000070821,protein_coding -22484,Zscan18,ENSMUSG00000070822,protein_coding -22398,Zscan4f,ENSMUSG00000070828,protein_coding -22239,Aurkc,ENSMUSG00000070837,protein_coding -22268,Vmn2r34,ENSMUSG00000070841,protein_coding -22282,Vmn2r42,ENSMUSG00000070844,protein_coding -22255,Vmn2r30,ENSMUSG00000070847,protein_coding -5185,Olfr1121,ENSMUSG00000070852,protein_coding -5224,Olfr1150-ps1,ENSMUSG00000070853,protein_coding -5176,Olfr1116,ENSMUSG00000070855,protein_coding -5173,Olfr1115,ENSMUSG00000070856,protein_coding -5170,Olfr1113,ENSMUSG00000070857,protein_coding -16273,Gm1673,ENSMUSG00000070858,protein_coding -4959,Zfp804a,ENSMUSG00000070866,protein_coding -14329,Trabd2b,ENSMUSG00000070867,protein_coding -14311,Skint3,ENSMUSG00000070868,protein_coding -1055,Cryge,ENSMUSG00000070870,protein_coding -1046,Ccnyl1,ENSMUSG00000070871,protein_coding -22094,Lilra5,ENSMUSG00000070873,protein_coding -5153,Olfr1100,ENSMUSG00000070875,protein_coding -14209,Ldlrad1,ENSMUSG00000070877,protein_coding -4760,Gad1,ENSMUSG00000070880,protein_coding -4742,Ccdc173,ENSMUSG00000070883,protein_coding -14135,Gm12794,ENSMUSG00000070890,protein_coding -14081,Gm12689,ENSMUSG00000070891,protein_coding -13965,Zfp352,ENSMUSG00000070902,protein_coding -13943,Ifna4,ENSMUSG00000070904,protein_coding -13938,Gm13288,ENSMUSG00000070908,protein_coding -13913,Klhl9,ENSMUSG00000070923,protein_coding -15864,Speer4d,ENSMUSG00000070933,protein_coding -13877,Rraga,ENSMUSG00000070934,protein_coding -644,Tgfbrap1,ENSMUSG00000070939,protein_coding -610,Il1rl2,ENSMUSG00000070942,protein_coding -4370,Olfr356,ENSMUSG00000070943,protein_coding -4295,Rabepk,ENSMUSG00000070953,protein_coding -13589,Dnajc25,ENSMUSG00000070972,protein_coding -13547,Actl7a,ENSMUSG00000070979,protein_coding -13545,Actl7b,ENSMUSG00000070980,protein_coding -13491,Olfr270,ENSMUSG00000070983,protein_coding -13452,Acnat1,ENSMUSG00000070985,protein_coding -13399,Foxe1,ENSMUSG00000070990,protein_coding -13338,Ccin,ENSMUSG00000070999,protein_coding -13334,Olfr155,ENSMUSG00000071000,protein_coding -13326,Hrct1,ENSMUSG00000071001,protein_coding -13278,Ccl19,ENSMUSG00000071005,protein_coding -13174,Ndufb6,ENSMUSG00000071014,protein_coding -13123,Gm136,ENSMUSG00000071015,protein_coding -12790,Sdr16c6,ENSMUSG00000071019,protein_coding -50969,Gm10309,ENSMUSG00000071036,protein_coding -50947,Camkmt,ENSMUSG00000071037,protein_coding -50808,Rasgrp3,ENSMUSG00000071042,protein_coding -31121,Ces1a,ENSMUSG00000071047,protein_coding -50526,Safb,ENSMUSG00000071054,protein_coding -30806,Zfp827,ENSMUSG00000071064,protein_coding -29324,Olfr806,ENSMUSG00000071065,protein_coding -50371,Treml2,ENSMUSG00000071068,protein_coding -29199,Ptges3,ENSMUSG00000071072,protein_coding -50289,Lrrc73,ENSMUSG00000071073,protein_coding -50288,Yipf3,ENSMUSG00000071074,protein_coding -30614,Jund,ENSMUSG00000071076,protein_coding -30583,Nr2c2ap,ENSMUSG00000071078,protein_coding -30480,Trim75,ENSMUSG00000071089,protein_coding -30233,1700029J07Rik,ENSMUSG00000071103,protein_coding -30231,Ccdc110,ENSMUSG00000071104,protein_coding -21870,Spx,ENSMUSG00000071112,protein_coding -30054,Mboat4,ENSMUSG00000071113,protein_coding -29984,Tex24,ENSMUSG00000071138,protein_coding -21696,Tas2r140,ENSMUSG00000071147,protein_coding -21670,Tas2r115,ENSMUSG00000071149,protein_coding -21668,Tas2r121,ENSMUSG00000071150,protein_coding -21567,Gm156,ENSMUSG00000071158,protein_coding -29755,Gm6040,ENSMUSG00000071165,protein_coding -29712,Defb46,ENSMUSG00000071169,protein_coding -49558,Srsf3,ENSMUSG00000071172,protein_coding -29651,Arhgef10,ENSMUSG00000071176,protein_coding -44608,Serpina1d,ENSMUSG00000071177,protein_coding -44606,Serpina1b,ENSMUSG00000071178,protein_coding -44602,Serpina16,ENSMUSG00000071179,protein_coding -42606,Smim15,ENSMUSG00000071180,protein_coding -28078,Olfr1357,ENSMUSG00000071185,protein_coding -49395,Wfikkn1,ENSMUSG00000071192,protein_coding -28033,Gm10318,ENSMUSG00000071195,protein_coding -49379,Ccdc78,ENSMUSG00000071202,protein_coding -42492,Naip5,ENSMUSG00000071203,protein_coding -21217,Cecr2,ENSMUSG00000071226,protein_coding -34400,Timm8a2,ENSMUSG00000071229,protein_coding -49303,Npw,ENSMUSG00000071230,protein_coding -44190,Syndig1l,ENSMUSG00000071234,protein_coding -44189,Vrtn,ENSMUSG00000071235,protein_coding -42161,2210408I21Rik,ENSMUSG00000071252,protein_coding -27759,Slc25a16,ENSMUSG00000071253,protein_coding -49217,Zfp213,ENSMUSG00000071256,protein_coding -34009,Zfp957,ENSMUSG00000071262,protein_coding -49180,Zfp946,ENSMUSG00000071266,protein_coding -49165,Zfp942,ENSMUSG00000071267,protein_coding -49091,Fpr-rs6,ENSMUSG00000071275,protein_coding -49089,Fpr-rs7,ENSMUSG00000071276,protein_coding -41985,Zfp65,ENSMUSG00000071281,protein_coding -41973,Zfp58,ENSMUSG00000071291,protein_coding -31904,2610044O15Rik8,ENSMUSG00000071302,protein_coding -48935,Gpr31b,ENSMUSG00000071311,protein_coding -27470,Bves,ENSMUSG00000071317,protein_coding -48838,Tcp10a,ENSMUSG00000071322,protein_coding -27388,Armc2,ENSMUSG00000071324,protein_coding -27333,Mfsd4b3-ps,ENSMUSG00000071335,protein_coding -20606,Tia1,ENSMUSG00000071337,protein_coding -27260,Trappc3l,ENSMUSG00000071340,protein_coding -20566,Egr4,ENSMUSG00000071341,protein_coding -43473,Lsmem1,ENSMUSG00000071342,protein_coding -33630,C1qtnf9,ENSMUSG00000071347,protein_coding -33608,Setdb2,ENSMUSG00000071350,protein_coding -20411,Reg3b,ENSMUSG00000071356,protein_coding -27054,Tbpl1,ENSMUSG00000071359,protein_coding -33517,Mcpt9,ENSMUSG00000071361,protein_coding -26992,Map3k5,ENSMUSG00000071369,protein_coding -43053,Hpcal1,ENSMUSG00000071379,protein_coding -26958,Ect2l,ENSMUSG00000071392,protein_coding -43037,2410004P03Rik,ENSMUSG00000071398,protein_coding -39454,Rpl23,ENSMUSG00000071415,protein_coding -19982,Grid2,ENSMUSG00000071424,protein_coding -19921,Vmn1r27,ENSMUSG00000071428,protein_coding -41081,Psmg4,ENSMUSG00000071451,protein_coding -41049,Gm11397,ENSMUSG00000071452,protein_coding -42830,Dtnb,ENSMUSG00000071454,protein_coding -33066,Ccnb1ip1,ENSMUSG00000071470,protein_coding -48516,Krtap26-1,ENSMUSG00000071471,protein_coding -19644,Zfp777,ENSMUSG00000071477,protein_coding -40848,Hist1h2ad,ENSMUSG00000071478,protein_coding -19572,Olfr437,ENSMUSG00000071481,protein_coding -32863,Ptgdr,ENSMUSG00000071489,protein_coding -40791,Vmn1r212,ENSMUSG00000071490,protein_coding -40785,Vmn1r209,ENSMUSG00000071491,protein_coding -40783,Vmn1r208,ENSMUSG00000071493,protein_coding -19543,Olfr455,ENSMUSG00000071494,protein_coding -55317,Nutf2-ps1,ENSMUSG00000071497,protein_coding -19525,Tmem139,ENSMUSG00000071506,protein_coding -48216,Olfr172,ENSMUSG00000071510,protein_coding -40686,Hist1h2ai,ENSMUSG00000071516,protein_coding -19482,Gm10334,ENSMUSG00000071517,protein_coding -19478,Prss3,ENSMUSG00000071519,protein_coding -19477,Try10,ENSMUSG00000071521,protein_coding -40652,Olfr263,ENSMUSG00000071522,protein_coding -55239,Atp5md,ENSMUSG00000071528,protein_coding -32580,Gprin2,ENSMUSG00000071531,protein_coding -48164,Pcnp,ENSMUSG00000071533,protein_coding -19374,Klrg2,ENSMUSG00000071537,protein_coding -32542,3425401B19Rik,ENSMUSG00000071540,protein_coding -32490,Nt5dc2,ENSMUSG00000071547,protein_coding -48041,Cfap44,ENSMUSG00000071550,protein_coding -40347,Akr1c19,ENSMUSG00000071551,protein_coding -48023,Tigit,ENSMUSG00000071552,protein_coding -19243,Cpa2,ENSMUSG00000071553,protein_coding -47914,Cstdc5,ENSMUSG00000071561,protein_coding -47906,Stfa1,ENSMUSG00000071562,protein_coding -47082,Gm10337,ENSMUSG00000071586,protein_coding -54768,Fam189a2,ENSMUSG00000071604,protein_coding -31912,Gm10340,ENSMUSG00000071613,protein_coding -54621,Olfr1477,ENSMUSG00000071629,protein_coding -47509,2510002D24Rik,ENSMUSG00000071632,protein_coding -54573,Gm4952,ENSMUSG00000071633,protein_coding -47432,Rimbp3,ENSMUSG00000071636,protein_coding -47389,Cebpd,ENSMUSG00000071637,protein_coding -54413,Eef1g,ENSMUSG00000071644,protein_coding -54412,Tut1,ENSMUSG00000071645,protein_coding -54411,Mta2,ENSMUSG00000071646,protein_coding -54409,Eml3,ENSMUSG00000071647,protein_coding -54408,Rom1,ENSMUSG00000071648,protein_coding -54407,B3gat3,ENSMUSG00000071649,protein_coding -54406,Ganab,ENSMUSG00000071650,protein_coding -54405,Ints5,ENSMUSG00000071652,protein_coding -54403,1810009A15Rik,ENSMUSG00000071653,protein_coding -54398,Uqcc3,ENSMUSG00000071654,protein_coding -54397,Ubxn1,ENSMUSG00000071655,protein_coding -54396,Lrrn4cl,ENSMUSG00000071656,protein_coding -54395,Bscl2,ENSMUSG00000071657,protein_coding -54394,Gng3,ENSMUSG00000071658,protein_coding -54392,Hnrnpul2,ENSMUSG00000071659,protein_coding -54391,Ttc9c,ENSMUSG00000071660,protein_coding -54390,Zbtb3,ENSMUSG00000071661,protein_coding -54389,Polr2g,ENSMUSG00000071662,protein_coding -9621,Foxr2,ENSMUSG00000071665,protein_coding -47315,Snx29,ENSMUSG00000071669,protein_coding -9458,Rtl4,ENSMUSG00000071679,protein_coding -9355,Tex13a,ENSMUSG00000071686,protein_coding -54145,Gm960,ENSMUSG00000071691,protein_coding -9697,Sms,ENSMUSG00000071708,protein_coding -46346,Mpst,ENSMUSG00000071711,protein_coding -46340,Csf2rb,ENSMUSG00000071713,protein_coding -46338,Csf2rb2,ENSMUSG00000071714,protein_coding -46337,Ncf4,ENSMUSG00000071715,protein_coding -46319,Apol7e,ENSMUSG00000071716,protein_coding -8737,Tmem28,ENSMUSG00000071719,protein_coding -8683,Spin4,ENSMUSG00000071722,protein_coding -8673,Gspt2,ENSMUSG00000071723,protein_coding -46241,Smpd5,ENSMUSG00000071724,protein_coding -8633,Gm5941,ENSMUSG00000071726,protein_coding -8461,Cldn34b3,ENSMUSG00000071738,protein_coding -8318,DXBay18,ENSMUSG00000071745,protein_coding -8240,Gm14698,ENSMUSG00000071748,protein_coding -45981,4933412E24Rik,ENSMUSG00000071749,protein_coding -45934,Zhx2,ENSMUSG00000071757,protein_coding -7955,Olfr1320,ENSMUSG00000071764,protein_coding -7832,Rhox12,ENSMUSG00000071766,protein_coding -7821,Rhox7a,ENSMUSG00000071767,protein_coding -7814,Rhox3h,ENSMUSG00000071769,protein_coding -7805,Rhox4e,ENSMUSG00000071770,protein_coding -7795,Rhox4b,ENSMUSG00000071771,protein_coding -7789,Rhox3a,ENSMUSG00000071772,protein_coding -7787,Rhox1,ENSMUSG00000071773,protein_coding -7655,Gm14525,ENSMUSG00000071788,protein_coding -7423,Fthl17e,ENSMUSG00000071815,protein_coding -7407,Ssxb5,ENSMUSG00000071816,protein_coding -53609,Apcdd1,ENSMUSG00000071847,protein_coding -53372,Ccdc112,ENSMUSG00000071855,protein_coding -53350,Mcc,ENSMUSG00000071856,protein_coding -53332,Gm94,ENSMUSG00000071858,protein_coding -53079,Lrrtm2,ENSMUSG00000071862,protein_coding -37422,Ppia,ENSMUSG00000071866,protein_coding -2718,Mroh9,ENSMUSG00000071890,protein_coding -19868,Vmn1r4,ENSMUSG00000071893,protein_coding -41435,Nutm2,ENSMUSG00000071909,protein_coding -30157,Adam25,ENSMUSG00000071937,protein_coding -48847,Fndc1,ENSMUSG00000071984,protein_coding -9128,Vmn2r121,ENSMUSG00000072049,protein_coding -41743,6720489N17Rik,ENSMUSG00000072066,protein_coding -49276,Ccnf,ENSMUSG00000072082,protein_coding -9657,Cldn34b1,ENSMUSG00000072100,protein_coding -33088,Ang,ENSMUSG00000072115,protein_coding -32843,BC061237,ENSMUSG00000072145,protein_coding -15856,Gm10354,ENSMUSG00000072188,protein_coding -47504,Sept5,ENSMUSG00000072214,protein_coding -46893,Tuba1a,ENSMUSG00000072235,protein_coding -25544,Trim6,ENSMUSG00000072244,protein_coding -7428,Fthl17f,ENSMUSG00000072249,protein_coding -3226,Taf1a,ENSMUSG00000072258,protein_coding -23734,Gm5592,ENSMUSG00000072259,protein_coding -34186,Klf12,ENSMUSG00000072294,protein_coding -906,C2cd6,ENSMUSG00000072295,protein_coding -48096,Dppa2,ENSMUSG00000072419,protein_coding -33417,Psmb11,ENSMUSG00000072423,protein_coding -55427,Nanos1,ENSMUSG00000072437,protein_coding -32535,1700024G13Rik,ENSMUSG00000072473,protein_coding -20395,Gm9008,ENSMUSG00000072476,protein_coding -8319,Xlr5b,ENSMUSG00000072479,protein_coding -46135,Mroh5,ENSMUSG00000072487,protein_coding -33431,Ppp1r3e,ENSMUSG00000072494,protein_coding -46064,Phf20l1,ENSMUSG00000072501,protein_coding -46055,Hhla1,ENSMUSG00000072511,protein_coding -39252,Gm525,ENSMUSG00000072553,protein_coding -45992,Fam84b,ENSMUSG00000072568,protein_coding -33140,Tmem253,ENSMUSG00000072571,protein_coding -33132,Slc39a2,ENSMUSG00000072572,protein_coding -33089,Eddm3b,ENSMUSG00000072575,protein_coding -39170,Ptrh2,ENSMUSG00000072582,protein_coding -45889,Gm7489,ENSMUSG00000072584,protein_coding -32824,4930503E14Rik,ENSMUSG00000072595,protein_coding -32818,Ear2,ENSMUSG00000072596,protein_coding -32810,Ang6,ENSMUSG00000072598,protein_coding -32797,Ear1,ENSMUSG00000072601,protein_coding -32747,Gm10376,ENSMUSG00000072605,protein_coding -39065,Slfn2,ENSMUSG00000072620,protein_coding -21184,Zfp9,ENSMUSG00000072623,protein_coding -32569,Gm5460,ENSMUSG00000072624,protein_coding -32565,Gdf2,ENSMUSG00000072625,protein_coding -38970,Lyrm9,ENSMUSG00000072640,protein_coding -18001,Adam1a,ENSMUSG00000072647,protein_coding -21955,Mansc4,ENSMUSG00000072662,protein_coding -45389,Spef2,ENSMUSG00000072663,protein_coding -45383,Ugt3a1,ENSMUSG00000072664,protein_coding -32398,Duxbl3,ENSMUSG00000072672,protein_coding -32395,Plac9b,ENSMUSG00000072674,protein_coding -32393,Duxbl2,ENSMUSG00000072675,protein_coding -32383,Tmem254a,ENSMUSG00000072676,protein_coding -32389,Tmem254c,ENSMUSG00000072680,protein_coding -17817,Gm10401,ENSMUSG00000072693,protein_coding -17799,1500011B03Rik,ENSMUSG00000072694,protein_coding -21700,Smim10l1,ENSMUSG00000072704,protein_coding -32171,Olfr31,ENSMUSG00000072707,protein_coding -38759,Olfr381,ENSMUSG00000072708,protein_coding -38757,Olfr380,ENSMUSG00000072709,protein_coding -21588,Klra10,ENSMUSG00000072718,protein_coding -17735,Myo18b,ENSMUSG00000072720,protein_coding -17729,Gm6588,ENSMUSG00000072722,protein_coding -32072,Gm5797,ENSMUSG00000072726,protein_coding -32044,Gm16440,ENSMUSG00000072738,protein_coding -31926,Gm10408,ENSMUSG00000072739,protein_coding -17665,Lrcol1,ENSMUSG00000072754,protein_coding -17634,4930522L14Rik,ENSMUSG00000072762,protein_coding -17633,5430403G16Rik,ENSMUSG00000072763,protein_coding -21382,Acrbp,ENSMUSG00000072770,protein_coding -21356,Grcc10,ENSMUSG00000072772,protein_coding -17488,Zfp951,ENSMUSG00000072774,protein_coding -21325,Vmn2r27,ENSMUSG00000072778,protein_coding -21312,Vmn2r24,ENSMUSG00000072780,protein_coding -45278,Abcb5,ENSMUSG00000072791,protein_coding -44943,Ahnak2,ENSMUSG00000072812,protein_coding -17320,E330014E10Rik,ENSMUSG00000072813,protein_coding -17319,Gm7982,ENSMUSG00000072814,protein_coding -17286,Gm6351,ENSMUSG00000072821,protein_coding -17285,BC061212,ENSMUSG00000072822,protein_coding -44939,Cep170b,ENSMUSG00000072825,protein_coding -17080,Tmprss11a,ENSMUSG00000072845,protein_coding -44617,Serpina1e,ENSMUSG00000072849,protein_coding -20898,Rybp,ENSMUSG00000072872,protein_coding -20887,Gpr27,ENSMUSG00000072875,protein_coding -20853,1700123L14Rik,ENSMUSG00000072878,protein_coding -9653,Samt2,ENSMUSG00000072888,protein_coding -16891,Nfxl1,ENSMUSG00000072889,protein_coding -44312,Gm2016,ENSMUSG00000072905,protein_coding -38256,Gm12258,ENSMUSG00000072915,protein_coding -44266,Noxred1,ENSMUSG00000072919,protein_coding -9537,Gm10439,ENSMUSG00000072923,protein_coding -9506,Gm15107,ENSMUSG00000072930,protein_coding -9502,Gm15080,ENSMUSG00000072931,protein_coding -9455,Trpc5os,ENSMUSG00000072934,protein_coding -16589,Sod3,ENSMUSG00000072941,protein_coding -9382,Nup62cl,ENSMUSG00000072944,protein_coding -9376,Ripply1,ENSMUSG00000072945,protein_coding -44177,Ptgr2,ENSMUSG00000072946,protein_coding -44161,Acot1,ENSMUSG00000072949,protein_coding -9330,Tmsb15l,ENSMUSG00000072955,protein_coding -9280,Bhlhb9,ENSMUSG00000072964,protein_coding -9281,Gprasp2,ENSMUSG00000072966,protein_coding -48879,Gm17728,ENSMUSG00000072968,protein_coding -9276,Armcx5,ENSMUSG00000072969,protein_coding -44109,Adam4,ENSMUSG00000072972,protein_coding -44107,Gm4787,ENSMUSG00000072974,protein_coding -5846,Oip5,ENSMUSG00000072980,protein_coding -38033,4933414I15Rik,ENSMUSG00000072983,protein_coding -9057,Cpxcr1,ENSMUSG00000072995,protein_coding -8995,Cylc1,ENSMUSG00000073001,protein_coding -20343,Vamp5,ENSMUSG00000073002,protein_coding -8970,Gm732,ENSMUSG00000073006,protein_coding -8969,Tent5d,ENSMUSG00000073007,protein_coding -8960,Gpr174,ENSMUSG00000073008,protein_coding -8943,Gm5127,ENSMUSG00000073010,protein_coding -8933,Fnd3c2,ENSMUSG00000073012,protein_coding -8896,Uprt,ENSMUSG00000073016,protein_coding -8813,Dmrtc1b,ENSMUSG00000073027,protein_coding -19988,Atoh1,ENSMUSG00000073043,protein_coding -8675,Zxdb,ENSMUSG00000073062,protein_coding -37766,Hbq1b,ENSMUSG00000073063,protein_coding -8612,Mageb2,ENSMUSG00000073069,protein_coding -8512,Cfap47,ENSMUSG00000073077,protein_coding -43642,Srp54a,ENSMUSG00000073079,protein_coding -8465,Cldn34b4,ENSMUSG00000073085,protein_coding -8430,Smim9,ENSMUSG00000073094,protein_coding -19661,Lrrc61,ENSMUSG00000073096,protein_coding -16138,Drc1,ENSMUSG00000073102,protein_coding -19563,Olfr444,ENSMUSG00000073110,protein_coding -19561,Olfr446,ENSMUSG00000073111,protein_coding -16071,Gm10471,ENSMUSG00000073116,protein_coding -16069,Gm7347,ENSMUSG00000073117,protein_coding -16068,Speer4a,ENSMUSG00000073119,protein_coding -8321,Xlr3b,ENSMUSG00000073125,protein_coding -8287,Gm1141,ENSMUSG00000073130,protein_coding -8286,Vma21,ENSMUSG00000073131,protein_coding -8258,Tmem185a,ENSMUSG00000073139,protein_coding -43233,9030624G23Rik,ENSMUSG00000073158,protein_coding -8075,Zfp449,ENSMUSG00000073176,protein_coding -8072,Gm773,ENSMUSG00000073177,protein_coding -43077,5730507C01Rik,ENSMUSG00000073197,protein_coding -7999,Ccdc160,ENSMUSG00000073207,protein_coding -15867,Speer4c,ENSMUSG00000073208,protein_coding -19259,Klf14,ENSMUSG00000073209,protein_coding -15691,Gm8773,ENSMUSG00000073234,protein_coding -7786,Gm9,ENSMUSG00000073243,protein_coding -7743,Gm14819,ENSMUSG00000073245,protein_coding -7739,Gm10486,ENSMUSG00000073247,protein_coding -7690,Gm14632,ENSMUSG00000073255,protein_coding -7686,Gm10488,ENSMUSG00000073257,protein_coding -7642,Gm1993,ENSMUSG00000073267,protein_coding -7369,Gm10490,ENSMUSG00000073290,protein_coding -7368,Gm10491,ENSMUSG00000073291,protein_coding -7320,Nudt10,ENSMUSG00000073293,protein_coding -7318,AU022751,ENSMUSG00000073294,protein_coding -7315,Nudt11,ENSMUSG00000073295,protein_coding -50680,Lrrc30,ENSMUSG00000073375,protein_coding -50518,Arrdc5,ENSMUSG00000073380,protein_coding -50364,9830107B12Rik,ENSMUSG00000073386,protein_coding -50202,Esp1,ENSMUSG00000073396,protein_coding -50038,Trim40,ENSMUSG00000073399,protein_coding -50037,Trim10,ENSMUSG00000073400,protein_coding -49984,Gm8909,ENSMUSG00000073402,protein_coding -49968,Gm6034,ENSMUSG00000073407,protein_coding -49932,Mucl3,ENSMUSG00000073408,protein_coding -49918,H2-Q6,ENSMUSG00000073409,protein_coding -49907,H2-D1,ENSMUSG00000073411,protein_coding -49893,Lst1,ENSMUSG00000073412,protein_coding -49876,Ly6g6d,ENSMUSG00000073413,protein_coding -49874,Mpig6b,ENSMUSG00000073414,protein_coding -49836,C4b,ENSMUSG00000073418,protein_coding -49800,H2-Ab1,ENSMUSG00000073421,protein_coding -49776,H2-Ke6,ENSMUSG00000073422,protein_coding -49735,Zfp414,ENSMUSG00000073423,protein_coding -49695,Cyp4f15,ENSMUSG00000073424,protein_coding -28306,Gm4924,ENSMUSG00000073427,protein_coding -49415,Arhgdig,ENSMUSG00000073433,protein_coding -49392,Wdr90,ENSMUSG00000073434,protein_coding -49328,Nme3,ENSMUSG00000073435,protein_coding -49325,Eme2,ENSMUSG00000073436,protein_coding -48943,Smok2b,ENSMUSG00000073457,protein_coding -48942,Smok2a,ENSMUSG00000073458,protein_coding -48924,Pnldc1,ENSMUSG00000073460,protein_coding -48859,Sft2d1,ENSMUSG00000073468,protein_coding -48850,Rsph3a,ENSMUSG00000073471,protein_coding -3249,Marc2,ENSMUSG00000073481,protein_coding -3012,Ifi204,ENSMUSG00000073489,protein_coding -3011,Ifi207,ENSMUSG00000073490,protein_coding -3005,Ifi213,ENSMUSG00000073491,protein_coding -2944,Gm10521,ENSMUSG00000073492,protein_coding -2866,Sh2d1b2,ENSMUSG00000073494,protein_coding -17290,AA792892,ENSMUSG00000073497,protein_coding -54039,Dok6,ENSMUSG00000073514,protein_coding -2611,Pappa2,ENSMUSG00000073530,protein_coding -53729,Cep76,ENSMUSG00000073542,protein_coding -53605,Spink13,ENSMUSG00000073551,protein_coding -53541,Gm4951,ENSMUSG00000073555,protein_coding -2222,Ppp1r12b,ENSMUSG00000073557,protein_coding -53461,Csnk1g3,ENSMUSG00000073563,protein_coding -53435,Prr16,ENSMUSG00000073565,protein_coding -53394,Arl14epl,ENSMUSG00000073568,protein_coding -53345,Gm10542,ENSMUSG00000073572,protein_coding -53344,Spink11,ENSMUSG00000073573,protein_coding -53297,Grxcr2,ENSMUSG00000073574,protein_coding -53196,Pcdhb22,ENSMUSG00000073591,protein_coding -53102,1700066B19Rik,ENSMUSG00000073598,protein_coding -53103,Ecscr,ENSMUSG00000073599,protein_coding -53099,Prob1,ENSMUSG00000073600,protein_coding -1835,Serpinb3c,ENSMUSG00000073601,protein_coding -1832,Serpinb3b,ENSMUSG00000073602,protein_coding -1696,Gal3st2c,ENSMUSG00000073608,protein_coding -1691,D2hgdh,ENSMUSG00000073609,protein_coding -1643,Cops9,ENSMUSG00000073616,protein_coding -1402,Fbxo36,ENSMUSG00000073633,protein_coding -52718,Rab18,ENSMUSG00000073639,protein_coding -1311,Wdfy1,ENSMUSG00000073643,protein_coding -1204,Catip,ENSMUSG00000073650,protein_coding -1058,Crygb,ENSMUSG00000073658,protein_coding -943,Nbeal1,ENSMUSG00000073664,protein_coding -835,Hspe1,ENSMUSG00000073676,protein_coding -822,Pgap1,ENSMUSG00000073678,protein_coding -15590,Tmem88b,ENSMUSG00000073680,protein_coding -15576,Gm10563,ENSMUSG00000073682,protein_coding -15564,Faap20,ENSMUSG00000073684,protein_coding -15495,Klhl21,ENSMUSG00000073700,protein_coding -587,Rpl31,ENSMUSG00000073702,protein_coding -15428,Cenps,ENSMUSG00000073705,protein_coding -15265,Pramef20,ENSMUSG00000073721,protein_coding -366,4931408C20Rik,ENSMUSG00000073722,protein_coding -15254,Gm13102,ENSMUSG00000073723,protein_coding -15253,Pramel4,ENSMUSG00000073724,protein_coding -333,Lmbrd1,ENSMUSG00000073725,protein_coding -304,4933415F23Rik,ENSMUSG00000073730,protein_coding -15165,Cplane2,ENSMUSG00000073733,protein_coding -240,Defb18,ENSMUSG00000073735,protein_coding -14949,Gm7534,ENSMUSG00000073747,protein_coding -14711,5730409E04Rik,ENSMUSG00000073755,protein_coding -14692,Sh3d21,ENSMUSG00000073758,protein_coding -14578,Gm12888,ENSMUSG00000073764,protein_coding -14498,Olfr1330,ENSMUSG00000073768,protein_coding -14497,Olfr1331,ENSMUSG00000073769,protein_coding -14424,Btbd19,ENSMUSG00000073771,protein_coding -14372,Kncn,ENSMUSG00000073774,protein_coding -14267,Kti12,ENSMUSG00000073775,protein_coding -26628,Krtap5-5,ENSMUSG00000073785,protein_coding -26626,Gm7579,ENSMUSG00000073786,protein_coding -14096,Efcab7,ENSMUSG00000073791,protein_coding -14094,Alg6,ENSMUSG00000073792,protein_coding -14071,I0C0044D17Rik,ENSMUSG00000073794,protein_coding -26491,6430531B16Rik,ENSMUSG00000073795,protein_coding -13958,Cdkn2b,ENSMUSG00000073802,protein_coding -26414,Nps,ENSMUSG00000073804,protein_coding -26409,Insyn2a,ENSMUSG00000073805,protein_coding -13903,Ifna12,ENSMUSG00000073811,protein_coding -13638,Mup14,ENSMUSG00000073830,protein_coding -13629,Mup11,ENSMUSG00000073834,protein_coding -26127,Tufm,ENSMUSG00000073838,protein_coding -13612,Mup7,ENSMUSG00000073842,protein_coding -25959,Iqck,ENSMUSG00000073856,protein_coding -13251,Gm13305,ENSMUSG00000073876,protein_coding -13250,Gm13306,ENSMUSG00000073877,protein_coding -13247,Gm13304,ENSMUSG00000073878,protein_coding -13233,Ccl27a,ENSMUSG00000073888,protein_coding -13227,Il11ra1,ENSMUSG00000073889,protein_coding -25723,Olfr472,ENSMUSG00000073893,protein_coding -25704,Rbmxl2,ENSMUSG00000073894,protein_coding -25701,Olfr716,ENSMUSG00000073896,protein_coding -25697,Olfr17,ENSMUSG00000073897,protein_coding -25693,Olfr713,ENSMUSG00000073898,protein_coding -25685,Olfr1532-ps1,ENSMUSG00000073899,protein_coding -25681,Olfr704,ENSMUSG00000073900,protein_coding -25680,Olfr703,ENSMUSG00000073901,protein_coding -25623,Olfr692,ENSMUSG00000073906,protein_coding -25619,Olfr689,ENSMUSG00000073907,protein_coding -25618,Olfr688,ENSMUSG00000073909,protein_coding -13131,Mob3b,ENSMUSG00000073910,protein_coding -25603,Olfr678,ENSMUSG00000073913,protein_coding -25601,Olfr677,ENSMUSG00000073914,protein_coding -25600,Olfr676,ENSMUSG00000073915,protein_coding -25591,Olfr669,ENSMUSG00000073916,protein_coding -25585,Olfr665,ENSMUSG00000073917,protein_coding -25575,Olfr661,ENSMUSG00000073920,protein_coding -25573,Olfr659,ENSMUSG00000073922,protein_coding -25570,Olfr657,ENSMUSG00000073923,protein_coding -25569,Olfr656,ENSMUSG00000073924,protein_coding -25567,Olfr654,ENSMUSG00000073925,protein_coding -25566,Olfr653,ENSMUSG00000073926,protein_coding -25565,Olfr652,ENSMUSG00000073927,protein_coding -25564,Olfr651,ENSMUSG00000073928,protein_coding -25535,Olfr646,ENSMUSG00000073931,protein_coding -25530,Olfr641,ENSMUSG00000073932,protein_coding -25520,Olfr633,ENSMUSG00000073937,protein_coding -25518,Olfr632,ENSMUSG00000073938,protein_coding -25505,Hbb-bt,ENSMUSG00000073940,protein_coding -25495,Olfr625-ps1,ENSMUSG00000073943,protein_coding -25489,Olfr619,ENSMUSG00000073944,protein_coding -25488,Olfr618,ENSMUSG00000073945,protein_coding -25486,Olfr617,ENSMUSG00000073946,protein_coding -25484,Olfr615,ENSMUSG00000073947,protein_coding -25478,Olfr608,ENSMUSG00000073948,protein_coding -25476,Olfr606,ENSMUSG00000073949,protein_coding -25468,Olfr599,ENSMUSG00000073950,protein_coding -25467,Olfr598,ENSMUSG00000073951,protein_coding -25466,Olfr597,ENSMUSG00000073952,protein_coding -25465,Olfr596,ENSMUSG00000073953,protein_coding -25459,Olfr594,ENSMUSG00000073954,protein_coding -25458,Olfr593,ENSMUSG00000073955,protein_coding -25457,Olfr592,ENSMUSG00000073956,protein_coding -25447,Olfr584,ENSMUSG00000073959,protein_coding -25446,Olfr583,ENSMUSG00000073960,protein_coding -25445,Olfr582,ENSMUSG00000073961,protein_coding -25439,Olfr576,ENSMUSG00000073962,protein_coding -25435,Olfr572,ENSMUSG00000073963,protein_coding -25433,Olfr570,ENSMUSG00000073964,protein_coding -25431,Olfr568,ENSMUSG00000073965,protein_coding -25423,Olfr561,ENSMUSG00000073966,protein_coding -25415,Olfr557,ENSMUSG00000073967,protein_coding -25413,Trim68,ENSMUSG00000073968,protein_coding -25411,Olfr556,ENSMUSG00000073969,protein_coding -25410,Olfr555,ENSMUSG00000073970,protein_coding -25408,Olfr554,ENSMUSG00000073971,protein_coding -25407,Olfr553,ENSMUSG00000073972,protein_coding -25406,Olfr552,ENSMUSG00000073973,protein_coding -25405,Olfr551,ENSMUSG00000073974,protein_coding -25404,Olfr550,ENSMUSG00000073975,protein_coding -25401,Olfr549,ENSMUSG00000073977,protein_coding -25400,Olfr548-ps1,ENSMUSG00000073978,protein_coding -25399,Olfr547,ENSMUSG00000073979,protein_coding -25389,Rhog,ENSMUSG00000073982,protein_coding -12976,Ggh,ENSMUSG00000073987,protein_coding -12974,Ttpa,ENSMUSG00000073988,protein_coding -12960,Cnbd1,ENSMUSG00000073991,protein_coding -25295,Olfr521,ENSMUSG00000073997,protein_coding -25293,Olfr520,ENSMUSG00000073998,protein_coding -37191,Klhl40,ENSMUSG00000074001,protein_coding -25248,Gucy2d,ENSMUSG00000074003,protein_coding -25243,B3gnt6,ENSMUSG00000074004,protein_coding -25241,Omp,ENSMUSG00000074006,protein_coding -17292,Gm7682,ENSMUSG00000074011,protein_coding -37105,Slc22a13,ENSMUSG00000074028,protein_coding -31853,Exoc8,ENSMUSG00000074030,protein_coding -31754,Mc1r,ENSMUSG00000074037,protein_coding -36925,Fbxw18,ENSMUSG00000074059,protein_coding -36921,Fbxw15,ENSMUSG00000074060,protein_coding -36917,Fbxw19,ENSMUSG00000074061,protein_coding -36914,Fbxw16,ENSMUSG00000074062,protein_coding -31611,Osgin1,ENSMUSG00000074063,protein_coding -31610,Mlycd,ENSMUSG00000074064,protein_coding -24655,Fam169b,ENSMUSG00000074071,protein_coding -14819,Snrnp40,ENSMUSG00000074088,protein_coding -24203,Svip,ENSMUSG00000074093,protein_coding -36765,Rbm15b,ENSMUSG00000074102,protein_coding -24153,Mrgprx2,ENSMUSG00000074109,protein_coding -24110,Mrgpra9,ENSMUSG00000074111,protein_coding -24083,Saa1,ENSMUSG00000074115,protein_coding -24004,Ntf5,ENSMUSG00000074121,protein_coding -36556,7420426K07Rik,ENSMUSG00000074123,protein_coding -31291,Cmtm2a,ENSMUSG00000074127,protein_coding -23973,Rpl13a,ENSMUSG00000074129,protein_coding -36443,1700057G04Rik,ENSMUSG00000074139,protein_coding -23943,Il4i1,ENSMUSG00000074141,protein_coding -31166,Nlrc5,ENSMUSG00000074151,protein_coding -23848,Klk5,ENSMUSG00000074155,protein_coding -31131,Ces1h,ENSMUSG00000074156,protein_coding -23789,Zfp976,ENSMUSG00000074158,protein_coding -23759,Zfp788,ENSMUSG00000074165,protein_coding -23753,AW146154,ENSMUSG00000074166,protein_coding -23652,Plekhf1,ENSMUSG00000074170,protein_coding -36175,Gm10639,ENSMUSG00000074179,protein_coding -12562,Znhit6,ENSMUSG00000074182,protein_coding -36171,Gsta1,ENSMUSG00000074183,protein_coding -30974,Zfp791,ENSMUSG00000074194,protein_coding -12552,Clca4b,ENSMUSG00000074195,protein_coding -23403,Krtdap,ENSMUSG00000074199,protein_coding -30941,G430095P16Rik,ENSMUSG00000074203,protein_coding -12449,Adh6b,ENSMUSG00000074206,protein_coding -12446,Adh1,ENSMUSG00000074207,protein_coding -23356,E130208F15Rik,ENSMUSG00000074210,protein_coding -23355,Sdhaf1,ENSMUSG00000074211,protein_coding -12429,Dnajb14,ENSMUSG00000074212,protein_coding -30907,Gm10643,ENSMUSG00000074215,protein_coding -30902,2210011C24Rik,ENSMUSG00000074217,protein_coding -23341,Cox7a1,ENSMUSG00000074218,protein_coding -23337,Zfp382,ENSMUSG00000074220,protein_coding -23329,Zfp568,ENSMUSG00000074221,protein_coding -23300,Spint2,ENSMUSG00000074227,protein_coding -12248,Ap1ar,ENSMUSG00000074238,protein_coding -30701,Cib3,ENSMUSG00000074240,protein_coding -30653,Dda1,ENSMUSG00000074247,protein_coding -12113,4930432M17Rik,ENSMUSG00000074248,protein_coding -23157,Cyp2a4,ENSMUSG00000074254,protein_coding -35760,Gramd2,ENSMUSG00000074259,protein_coding -23121,Erich4,ENSMUSG00000074261,protein_coding -11999,Amy1,ENSMUSG00000074264,protein_coding -11994,Amy2a5,ENSMUSG00000074268,protein_coding -35742,Rec114,ENSMUSG00000074269,protein_coding -23116,Ceacam1,ENSMUSG00000074272,protein_coding -23065,Phldb3,ENSMUSG00000074277,protein_coding -23046,Zfp94,ENSMUSG00000074282,protein_coding -23040,Zfp109,ENSMUSG00000074283,protein_coding -23008,Vmn1r168,ENSMUSG00000074291,protein_coding -30487,Smim31,ENSMUSG00000074300,protein_coding -30486,Gm10663,ENSMUSG00000074302,protein_coding -35664,Peak1,ENSMUSG00000074305,protein_coding -22942,Vmn1r139,ENSMUSG00000074311,protein_coding -22922,Vmn1r132,ENSMUSG00000074322,protein_coding -22826,Apoc4,ENSMUSG00000074336,protein_coding -11839,Ovgp1,ENSMUSG00000074340,protein_coding -11835,I830077J02Rik,ENSMUSG00000074342,protein_coding -11834,Tmigd3,ENSMUSG00000074344,protein_coding -35617,Tnfaip8l3,ENSMUSG00000074345,protein_coding -22767,Ccdc61,ENSMUSG00000074358,protein_coding -22746,Psg23,ENSMUSG00000074359,protein_coding -22656,C5ar2,ENSMUSG00000074361,protein_coding -22646,Ehd2,ENSMUSG00000074364,protein_coding -22640,Crxos,ENSMUSG00000074365,protein_coding -22634,Obox5,ENSMUSG00000074366,protein_coding -22615,Obox2,ENSMUSG00000074369,protein_coding -22548,Sult2a3,ENSMUSG00000074375,protein_coding -22545,Sult2a4,ENSMUSG00000074377,protein_coding -22530,Bsph1,ENSMUSG00000074378,protein_coding -30114,AI429214,ENSMUSG00000074384,protein_coding -35391,Foxr1,ENSMUSG00000074397,protein_coding -11539,Hist2h3b,ENSMUSG00000074403,protein_coding -22150,Zfp865,ENSMUSG00000074405,protein_coding -22141,Zfp628,ENSMUSG00000074406,protein_coding -22075,Gm14548,ENSMUSG00000074417,protein_coding -22072,Gm15448,ENSMUSG00000074419,protein_coding -11398,Gm10696,ENSMUSG00000074424,protein_coding -11334,Lce3e,ENSMUSG00000074433,protein_coding -29802,Defa28,ENSMUSG00000074434,protein_coding -11305,Smcp,ENSMUSG00000074435,protein_coding -29783,Defa29,ENSMUSG00000074437,protein_coding -29780,Defa5,ENSMUSG00000074439,protein_coding -29779,Defa3,ENSMUSG00000074440,protein_coding -29777,Gm15292,ENSMUSG00000074441,protein_coding -29771,Defa31,ENSMUSG00000074442,protein_coding -29769,Defa22,ENSMUSG00000074443,protein_coding -29768,Defa30,ENSMUSG00000074444,protein_coding -11285,Sprr2a3,ENSMUSG00000074445,protein_coding -29759,Defa23,ENSMUSG00000074446,protein_coding -29757,Defa21,ENSMUSG00000074447,protein_coding -35056,Pate9,ENSMUSG00000074448,protein_coding -29742,Gm15319,ENSMUSG00000074449,protein_coding -35031,Pate2,ENSMUSG00000074452,protein_coding -29753,Defb33,ENSMUSG00000074454,protein_coding -11245,S100a16,ENSMUSG00000074457,protein_coding -34834,Zfp872,ENSMUSG00000074472,protein_coding -29577,A230072I06Rik,ENSMUSG00000074473,protein_coding -34805,Spc24,ENSMUSG00000074476,protein_coding -11126,Mex3a,ENSMUSG00000074480,protein_coding -11117,Bglap,ENSMUSG00000074483,protein_coding -11115,Bglap2,ENSMUSG00000074486,protein_coding -11113,Bglap3,ENSMUSG00000074489,protein_coding -29397,Clec4g,ENSMUSG00000074491,protein_coding -29373,A430078G23Rik,ENSMUSG00000074497,protein_coding -34658,Zfp558,ENSMUSG00000074500,protein_coding -34655,Ubtfl1,ENSMUSG00000074502,protein_coding -34638,Fat3,ENSMUSG00000074505,protein_coding -11011,Arfip1,ENSMUSG00000074513,protein_coding -7145,Zfp971,ENSMUSG00000074519,protein_coding -7141,Gm14327,ENSMUSG00000074521,protein_coding -7114,Gm14296,ENSMUSG00000074527,protein_coding -7142,Zfp972,ENSMUSG00000074529,protein_coding -34444,Gm10720,ENSMUSG00000074564,protein_coding -7006,Gcnt7,ENSMUSG00000074569,protein_coding -7003,Cass4,ENSMUSG00000074570,protein_coding -6945,Kcng1,ENSMUSG00000074575,protein_coding -6943,Mocs3,ENSMUSG00000074576,protein_coding -6933,Ripor3,ENSMUSG00000074577,protein_coding -10775,Lekr1,ENSMUSG00000074579,protein_coding -6894,Arfgef2,ENSMUSG00000074582,protein_coding -10628,Ankub1,ENSMUSG00000074591,protein_coding -6834,Spint5,ENSMUSG00000074593,protein_coding -6829,Wfdc9,ENSMUSG00000074594,protein_coding -6821,Wfdc6a,ENSMUSG00000074595,protein_coding -6820,Spint3,ENSMUSG00000074596,protein_coding -10510,Mgst2,ENSMUSG00000074604,protein_coding -6769,Tox2,ENSMUSG00000074607,protein_coding -10390,1700034I23Rik,ENSMUSG00000074619,protein_coding -6725,Mafb,ENSMUSG00000074622,protein_coding -6724,Gm826,ENSMUSG00000074623,protein_coding -6705,Arhgap40,ENSMUSG00000074625,protein_coding -6664,Mroh8,ENSMUSG00000074627,protein_coding -6660,Tldc2,ENSMUSG00000074628,protein_coding -42775,Tmem267,ENSMUSG00000074634,protein_coding -10261,Sox2,ENSMUSG00000074637,protein_coding -29188,Rdh16f2,ENSMUSG00000074639,protein_coding -6612,Cpne1,ENSMUSG00000074643,protein_coding -6607,6430550D23Rik,ENSMUSG00000074646,protein_coding -6602,Fam83c,ENSMUSG00000074647,protein_coding -6599,BC029722,ENSMUSG00000074649,protein_coding -42679,Mcidas,ENSMUSG00000074651,protein_coding -6591,Myh7b,ENSMUSG00000074652,protein_coding -10185,Lrrc31,ENSMUSG00000074653,protein_coding -10159,Gm1527,ENSMUSG00000074655,protein_coding -6567,Eif2s2,ENSMUSG00000074656,protein_coding -29150,Kif5a,ENSMUSG00000074657,protein_coding -6536,Bpifb4,ENSMUSG00000074665,protein_coding -6516,Tspyl3,ENSMUSG00000074671,protein_coding -6508,Ttll9,ENSMUSG00000074673,protein_coding -6506,Foxs1,ENSMUSG00000074676,protein_coding -10023,Sirpb1c,ENSMUSG00000074677,protein_coding -6492,Defb25,ENSMUSG00000074678,protein_coding -6483,Defb28,ENSMUSG00000074679,protein_coding -6482,Defb26,ENSMUSG00000074680,protein_coding -6478,Defb23,ENSMUSG00000074681,protein_coding -6474,Zcchc3,ENSMUSG00000074682,protein_coding -28973,Il22,ENSMUSG00000074695,protein_coding -6466,Csnk2a1,ENSMUSG00000074698,protein_coding -6446,Rad21l,ENSMUSG00000074704,protein_coding -42777,Ccl28,ENSMUSG00000074715,protein_coding -55540,AC140325.1,ENSMUSG00000074720,protein_coding -6401,Zfp345,ENSMUSG00000074731,protein_coding -55439,Zfp950,ENSMUSG00000074733,protein_coding -28915,Taf7l2,ENSMUSG00000074734,protein_coding -6392,Gm21994,ENSMUSG00000074735,protein_coding -6386,Syndig1,ENSMUSG00000074736,protein_coding -15581,Fndc10,ENSMUSG00000074738,protein_coding -6357,Thbd,ENSMUSG00000074743,protein_coding -55404,Pdzd8,ENSMUSG00000074746,protein_coding -28878,Atxn7l3b,ENSMUSG00000074748,protein_coding -6332,Kiz,ENSMUSG00000074749,protein_coding -6306,Smim26,ENSMUSG00000074754,protein_coding -6254,Sel1l2,ENSMUSG00000074764,protein_coding -6246,Ism1,ENSMUSG00000074766,protein_coding -42337,Bhmt,ENSMUSG00000074768,protein_coding -6223,Ankef1,ENSMUSG00000074771,protein_coding -28609,Anapc15-ps,ENSMUSG00000074780,protein_coding -28603,Ube2n,ENSMUSG00000074781,protein_coding -28584,Plxnc1,ENSMUSG00000074785,protein_coding -6137,Hspa12b,ENSMUSG00000074793,protein_coding -42196,Arrdc3,ENSMUSG00000074794,protein_coding -6125,Slc4a11,ENSMUSG00000074796,protein_coding -6124,Itpa,ENSMUSG00000074797,protein_coding -28478,Gas2l3,ENSMUSG00000074802,protein_coding -55200,Hps6,ENSMUSG00000074811,protein_coding -6043,Spdye4c,ENSMUSG00000074812,protein_coding -18604,Papolb,ENSMUSG00000074817,protein_coding -55176,Pdzd7,ENSMUSG00000074818,protein_coding -41946,Rslcan18,ENSMUSG00000074824,protein_coding -6006,Itpripl1,ENSMUSG00000074825,protein_coding -41936,Gm10767,ENSMUSG00000074826,protein_coding -37286,2010315B03Rik,ENSMUSG00000074829,protein_coding -41907,2410141K09Rik,ENSMUSG00000074832,protein_coding -6389,Gm10770,ENSMUSG00000074837,protein_coding -41836,Gm10775,ENSMUSG00000074847,protein_coding -41824,Spata31d1c,ENSMUSG00000074849,protein_coding -55111,Hpse2,ENSMUSG00000074852,protein_coding -28269,BC025920,ENSMUSG00000074862,protein_coding -41747,Platr25,ENSMUSG00000074863,protein_coding -41739,Zfp934,ENSMUSG00000074865,protein_coding -41721,Zfp808,ENSMUSG00000074867,protein_coding -41702,Cts3,ENSMUSG00000074870,protein_coding -41700,Ctsm,ENSMUSG00000074871,protein_coding -5968,Ctxn2,ENSMUSG00000074872,protein_coding -41678,Ctla2b,ENSMUSG00000074874,protein_coding -5927,Mageb3,ENSMUSG00000074881,protein_coding -55038,Cyp2c68,ENSMUSG00000074882,protein_coding -5913,Serf2,ENSMUSG00000074884,protein_coding -41540,Grk6,ENSMUSG00000074886,protein_coding -5896,Lcmt2,ENSMUSG00000074890,protein_coding -48726,B3galt5,ENSMUSG00000074892,protein_coding -41516,Eif4e1b,ENSMUSG00000074895,protein_coding -54939,Ifit3,ENSMUSG00000074896,protein_coding -5867,Sptbn5,ENSMUSG00000074899,protein_coding -54863,Ranbp6,ENSMUSG00000074909,protein_coding -54812,Gm815,ENSMUSG00000074913,protein_coding -5820,Chst14,ENSMUSG00000074916,protein_coding -5812,Inafm2,ENSMUSG00000074918,protein_coding -54778,Fam122a,ENSMUSG00000074922,protein_coding -5809,Pak6,ENSMUSG00000074923,protein_coding -54763,Ptar1,ENSMUSG00000074925,protein_coding -48527,Krtap14,ENSMUSG00000074928,protein_coding -5741,Grem1,ENSMUSG00000074934,protein_coding -5726,Chrm5,ENSMUSG00000074939,protein_coding -5710,Olfr1314,ENSMUSG00000074945,protein_coding -5709,Olfr1313,ENSMUSG00000074946,protein_coding -5708,Olfr1312,ENSMUSG00000074947,protein_coding -5703,Olfr1308,ENSMUSG00000074952,protein_coding -5699,Olfr1305,ENSMUSG00000074955,protein_coding -5665,Olfr1277,ENSMUSG00000074965,protein_coding -5662,Olfr1275,ENSMUSG00000074966,protein_coding -5655,Ano3,ENSMUSG00000074968,protein_coding -5651,Fibin,ENSMUSG00000074971,protein_coding -48249,Gabrr3,ENSMUSG00000074991,protein_coding -5575,Qser1,ENSMUSG00000074994,protein_coding -48242,Olfr201,ENSMUSG00000074995,protein_coding -48240,Olfr199,ENSMUSG00000074996,protein_coding -5573,Pin1rt1,ENSMUSG00000074997,protein_coding -27811,Nrbf2,ENSMUSG00000075000,protein_coding -48208,Gm813,ENSMUSG00000075002,protein_coding -5555,Gm10799,ENSMUSG00000075006,protein_coding -5518,Fjx1,ENSMUSG00000075012,protein_coding -5495,Gm10800,ENSMUSG00000075014,protein_coding -5494,Gm10801,ENSMUSG00000075015,protein_coding -5456,Accsl,ENSMUSG00000075023,protein_coding -5442,Prdm11,ENSMUSG00000075028,protein_coding -40868,Hist1h2bb,ENSMUSG00000075031,protein_coding -48156,Nxpe3,ENSMUSG00000075033,protein_coding -5405,Zfp408,ENSMUSG00000075040,protein_coding -54357,Slc22a29,ENSMUSG00000075044,protein_coding -27645,Gm4981,ENSMUSG00000075045,protein_coding -27644,Duxf3,ENSMUSG00000075046,protein_coding -40594,Yae1d1,ENSMUSG00000075054,protein_coding -5359,Olfr1272,ENSMUSG00000075061,protein_coding -5358,Olfr1271,ENSMUSG00000075062,protein_coding -5357,Olfr142,ENSMUSG00000075063,protein_coding -5355,Olfr1506,ENSMUSG00000075064,protein_coding -5352,Olfr1270,ENSMUSG00000075065,protein_coding -5351,Olfr32,ENSMUSG00000075066,protein_coding -5346,Olfr140,ENSMUSG00000075068,protein_coding -5344,Olfr1264,ENSMUSG00000075069,protein_coding -5336,Olfr48,ENSMUSG00000075072,protein_coding -5335,Olfr1256,ENSMUSG00000075073,protein_coding -5333,Olfr1254,ENSMUSG00000075074,protein_coding -5332,Olfr1253,ENSMUSG00000075075,protein_coding -5329,Olfr1250,ENSMUSG00000075078,protein_coding -5328,Olfr1249,ENSMUSG00000075079,protein_coding -5326,Olfr1247,ENSMUSG00000075081,protein_coding -5322,Olfr1243,ENSMUSG00000075084,protein_coding -5321,Olfr1242,ENSMUSG00000075085,protein_coding -5320,Olfr1241,ENSMUSG00000075086,protein_coding -5318,Olfr1239,ENSMUSG00000075088,protein_coding -5314,Olfr1234,ENSMUSG00000075090,protein_coding -5313,Olfr1233,ENSMUSG00000075091,protein_coding -5312,Olfr1232,ENSMUSG00000075092,protein_coding -5311,Olfr1231,ENSMUSG00000075093,protein_coding -5310,Olfr1230,ENSMUSG00000075094,protein_coding -5309,Olfr1229,ENSMUSG00000075095,protein_coding -5302,Olfr1226,ENSMUSG00000075097,protein_coding -5299,Olfr1224-ps1,ENSMUSG00000075099,protein_coding -5298,Olfr1223,ENSMUSG00000075100,protein_coding -5297,Olfr1222,ENSMUSG00000075101,protein_coding -5296,Olfr1221,ENSMUSG00000075102,protein_coding -5294,Olfr1219,ENSMUSG00000075104,protein_coding -5293,Olfr1218,ENSMUSG00000075105,protein_coding -5291,Olfr1216,ENSMUSG00000075107,protein_coding -5289,Olfr1214,ENSMUSG00000075110,protein_coding -5288,Gm13762,ENSMUSG00000075111,protein_coding -5286,Olfr1211,ENSMUSG00000075112,protein_coding -5285,Olfr1209,ENSMUSG00000075113,protein_coding -5284,Olfr1208,ENSMUSG00000075114,protein_coding -5278,Olfr1200,ENSMUSG00000075115,protein_coding -5276,Olfr1198,ENSMUSG00000075117,protein_coding -5275,Olfr1197,ENSMUSG00000075119,protein_coding -5274,Olfr1196,ENSMUSG00000075120,protein_coding -5273,Olfr1195,ENSMUSG00000075121,protein_coding -47977,Cd80,ENSMUSG00000075122,protein_coding -5258,Olfr1181,ENSMUSG00000075125,protein_coding -5256,Olfr1179,ENSMUSG00000075127,protein_coding -5254,Olfr1177-ps,ENSMUSG00000075128,protein_coding -5250,Olfr1173,ENSMUSG00000075132,protein_coding -5247,Olfr1170,ENSMUSG00000075133,protein_coding -5241,Olfr1164,ENSMUSG00000075136,protein_coding -5240,Olfr1163,ENSMUSG00000075137,protein_coding -5239,Olfr1162,ENSMUSG00000075139,protein_coding -5238,Olfr73,ENSMUSG00000075140,protein_coding -5236,Olfr1160,ENSMUSG00000075141,protein_coding -5233,Olfr74,ENSMUSG00000075142,protein_coding -5232,Olfr1157,ENSMUSG00000075143,protein_coding -5231,Olfr1156,ENSMUSG00000075144,protein_coding -5230,Olfr1155,ENSMUSG00000075145,protein_coding -5229,Olfr1154,ENSMUSG00000075146,protein_coding -5214,Olfr1141,ENSMUSG00000075148,protein_coding -5211,Olfr1138,ENSMUSG00000075149,protein_coding -5210,Olfr1137,ENSMUSG00000075150,protein_coding -5209,Olfr1136,ENSMUSG00000075151,protein_coding -5208,Olfr1135,ENSMUSG00000075153,protein_coding -5206,Olfr1133,ENSMUSG00000075155,protein_coding -5197,Olfr1128,ENSMUSG00000075156,protein_coding -5166,Olfr1111,ENSMUSG00000075158,protein_coding -5165,Olfr1110,ENSMUSG00000075159,protein_coding -5163,Olfr259,ENSMUSG00000075160,protein_coding -5162,Olfr1109,ENSMUSG00000075161,protein_coding -5160,Olfr1107,ENSMUSG00000075163,protein_coding -5159,Olfr1106,ENSMUSG00000075164,protein_coding -5158,Olfr1105,ENSMUSG00000075165,protein_coding -5157,Olfr1104,ENSMUSG00000075166,protein_coding -5154,Olfr1101,ENSMUSG00000075167,protein_coding -5152,Olfr1099,ENSMUSG00000075168,protein_coding -5150,Olfr1098,ENSMUSG00000075169,protein_coding -5149,Olfr1097,ENSMUSG00000075170,protein_coding -5147,Olfr1095,ENSMUSG00000075171,protein_coding -5141,Olfr1090,ENSMUSG00000075172,protein_coding -5138,Olfr1087,ENSMUSG00000075174,protein_coding -5137,Olfr1086,ENSMUSG00000075175,protein_coding -5136,Olfr1085,ENSMUSG00000075176,protein_coding -5130,Olfr1079,ENSMUSG00000075179,protein_coding -5118,Olfr1066,ENSMUSG00000075181,protein_coding -5113,Olfr1061,ENSMUSG00000075185,protein_coding -5109,Olfr1058,ENSMUSG00000075186,protein_coding -5108,Olfr1057,ENSMUSG00000075187,protein_coding -5107,Olfr1056,ENSMUSG00000075188,protein_coding -5106,Olfr1055,ENSMUSG00000075189,protein_coding -5104,Olfr1054,ENSMUSG00000075190,protein_coding -5102,Olfr1053,ENSMUSG00000075192,protein_coding -5100,Olfr1051,ENSMUSG00000075193,protein_coding -5098,Olfr1049,ENSMUSG00000075194,protein_coding -5097,Olfr1048,ENSMUSG00000075195,protein_coding -5096,Olfr1047,ENSMUSG00000075196,protein_coding -5095,Olfr1046,ENSMUSG00000075197,protein_coding -5094,Olfr1045,ENSMUSG00000075198,protein_coding -5093,Olfr52,ENSMUSG00000075199,protein_coding -5092,Olfr1044,ENSMUSG00000075200,protein_coding -5091,Olfr1043,ENSMUSG00000075201,protein_coding -5090,Olfr1042,ENSMUSG00000075202,protein_coding -5088,Olfr1040,ENSMUSG00000075203,protein_coding -5087,Olfr1039,ENSMUSG00000075204,protein_coding -5084,Olfr1037,ENSMUSG00000075205,protein_coding -5071,Olfr1024,ENSMUSG00000075206,protein_coding -5064,Olfr1019,ENSMUSG00000075208,protein_coding -5060,Olfr1016,ENSMUSG00000075209,protein_coding -5055,Olfr1012,ENSMUSG00000075210,protein_coding -5050,Olfr1006,ENSMUSG00000075211,protein_coding -5048,Olfr154,ENSMUSG00000075212,protein_coding -5045,Olfr1002,ENSMUSG00000075214,protein_coding -5043,Olfr1000,ENSMUSG00000075215,protein_coding -5038,4833423E24Rik,ENSMUSG00000075217,protein_coding -5037,Olfr995,ENSMUSG00000075218,protein_coding -5036,Olfr994,ENSMUSG00000075219,protein_coding -5034,Olfr993,ENSMUSG00000075220,protein_coding -5033,Olfr992,ENSMUSG00000075221,protein_coding -5029,Olfr988,ENSMUSG00000075222,protein_coding -5028,Olfr987,ENSMUSG00000075223,protein_coding -5024,Lrrc55,ENSMUSG00000075224,protein_coding -27379,Ccdc162,ENSMUSG00000075225,protein_coding -54259,Znhit2,ENSMUSG00000075227,protein_coding -47891,Ccdc58,ENSMUSG00000075229,protein_coding -27349,Amd1,ENSMUSG00000075232,protein_coding -4965,Fsip2,ENSMUSG00000075249,protein_coding -47848,Heg1,ENSMUSG00000075254,protein_coding -4929,Cerkl,ENSMUSG00000075256,protein_coding -27190,Cenpw,ENSMUSG00000075266,protein_coding -4898,Pjvk,ENSMUSG00000075267,protein_coding -47805,Bex6,ENSMUSG00000075269,protein_coding -4891,Pde11a,ENSMUSG00000075270,protein_coding -4890,Ttc30a1,ENSMUSG00000075271,protein_coding -4889,Ttc30a2,ENSMUSG00000075272,protein_coding -4888,Ttc30b,ENSMUSG00000075273,protein_coding -4822,Wipf1,ENSMUSG00000075284,protein_coding -54118,Carns1,ENSMUSG00000075289,protein_coding -54094,Aldh3b2,ENSMUSG00000075296,protein_coding -27041,H60b,ENSMUSG00000075297,protein_coding -4758,Erich2,ENSMUSG00000075302,protein_coding -4755,Sp5,ENSMUSG00000075304,protein_coding -4738,Klhl41,ENSMUSG00000075307,protein_coding -4690,Scn9a,ENSMUSG00000075316,protein_coding -4677,Scn2a,ENSMUSG00000075318,protein_coding -4662,Fign,ENSMUSG00000075324,protein_coding -26758,Zbtb2,ENSMUSG00000075327,protein_coding -4563,Rprm,ENSMUSG00000075334,protein_coding -47409,Igll1,ENSMUSG00000075370,protein_coding -4388,Rc3h2,ENSMUSG00000075376,protein_coding -4378,Olfr362,ENSMUSG00000075377,protein_coding -4377,Olfr361,ENSMUSG00000075378,protein_coding -4372,Olfr358,ENSMUSG00000075379,protein_coding -4369,Olfr355,ENSMUSG00000075380,protein_coding -4366,Olfr353,ENSMUSG00000075382,protein_coding -4364,Olfr351,ENSMUSG00000075383,protein_coding -4361,Olfr3,ENSMUSG00000075384,protein_coding -4349,Olfr341,ENSMUSG00000075387,protein_coding -47110,Hoxc4,ENSMUSG00000075394,protein_coding -47369,A630010A05Rik,ENSMUSG00000075395,protein_coding -47045,Krt76,ENSMUSG00000075402,protein_coding -47001,6030408B16Rik,ENSMUSG00000075408,protein_coding -40095,Prcd,ENSMUSG00000075410,protein_coding -4178,Fnbp1,ENSMUSG00000075415,protein_coding -4150,Dolk,ENSMUSG00000075419,protein_coding -40054,Smim6,ENSMUSG00000075420,protein_coding -4121,Gm13547,ENSMUSG00000075425,protein_coding -46843,Olfr288,ENSMUSG00000075427,protein_coding -4015,Dnlz,ENSMUSG00000075467,protein_coding -46733,Alg10b,ENSMUSG00000075470,protein_coding -34283,Slitrk1,ENSMUSG00000075478,protein_coding -34204,Commd6,ENSMUSG00000075486,protein_coding -34015,Kbtbd6,ENSMUSG00000075502,protein_coding -39764,Fam187a,ENSMUSG00000075510,protein_coding -3777,Malrd1,ENSMUSG00000075520,protein_coding -46511,4930407I10Rik,ENSMUSG00000075524,protein_coding -39682,Aarsd1,ENSMUSG00000075528,protein_coding -18763,Urad,ENSMUSG00000075543,protein_coding -18711,Cyp3a41a,ENSMUSG00000075551,protein_coding -18707,Cyp3a41b,ENSMUSG00000075552,protein_coding -39558,Krtap4-6,ENSMUSG00000075566,protein_coding -39545,Krtap1-4,ENSMUSG00000075567,protein_coding -18659,Rsph10b,ENSMUSG00000075569,protein_coding -39529,Krt26,ENSMUSG00000075570,protein_coding -33695,Defb30,ENSMUSG00000075571,protein_coding -33693,Defb43,ENSMUSG00000075572,protein_coding -33692,Defb47,ENSMUSG00000075573,protein_coding -33691,Defb48,ENSMUSG00000075574,protein_coding -39392,Hoxb2,ENSMUSG00000075588,protein_coding -46226,Nrbp2,ENSMUSG00000075590,protein_coding -33504,Nynrin,ENSMUSG00000075592,protein_coding -18508,Gal3st4,ENSMUSG00000075593,protein_coding -39352,Zfp652,ENSMUSG00000075595,protein_coding -18487,Smok3c,ENSMUSG00000075598,protein_coding -18485,Smok3a,ENSMUSG00000075599,protein_coding -46204,Zc3h3,ENSMUSG00000075600,protein_coding -46170,Ly6a,ENSMUSG00000075602,protein_coding -46160,Cyp11b1,ENSMUSG00000075604,protein_coding -46152,Slurp2,ENSMUSG00000075605,protein_coding -39315,Tmem92,ENSMUSG00000075610,protein_coding -10650,Selenot,ENSMUSG00000075700,protein_coding -24606,Selenos,ENSMUSG00000075701,protein_coding -37316,Selenom,ENSMUSG00000075702,protein_coding -16136,Selenoi,ENSMUSG00000075703,protein_coding -47496,Txnrd2,ENSMUSG00000075704,protein_coding -49316,Msrb1,ENSMUSG00000075705,protein_coding -28148,Gpx4,ENSMUSG00000075706,protein_coding -44853,Dio3,ENSMUSG00000075707,protein_coding -40998,Hus1b,ENSMUSG00000076430,protein_coding -40975,Sox4,ENSMUSG00000076431,protein_coding -43166,Ywhaq,ENSMUSG00000076432,protein_coding -40156,Cep295nl,ENSMUSG00000076433,protein_coding -6835,Wfdc3,ENSMUSG00000076434,protein_coding -39304,Acsf2,ENSMUSG00000076435,protein_coding -14621,Oxct2a,ENSMUSG00000076436,protein_coding -4997,Selenoh,ENSMUSG00000076437,protein_coding -14610,Oxct2b,ENSMUSG00000076438,protein_coding -50050,Mog,ENSMUSG00000076439,protein_coding -4185,Ass1,ENSMUSG00000076441,protein_coding -49741,Rab11b,ENSMUSG00000077450,protein_coding -25448,Olfr585,ENSMUSG00000078080,protein_coding -34665,Olfr828,ENSMUSG00000078116,protein_coding -25737,Olfr483,ENSMUSG00000078118,protein_coding -32545,Fam170b,ENSMUSG00000078127,protein_coding -6554,Actl10,ENSMUSG00000078129,protein_coding -39555,Gm11555,ENSMUSG00000078130,protein_coding -39546,Krtap1-3,ENSMUSG00000078131,protein_coding -39542,Gm11939,ENSMUSG00000078132,protein_coding -39497,Gm12355,ENSMUSG00000078134,protein_coding -5810,Ankrd63,ENSMUSG00000078137,protein_coding -40673,AK157302,ENSMUSG00000078139,protein_coding -31117,Capns2,ENSMUSG00000078144,protein_coding -37957,Psme2b,ENSMUSG00000078153,protein_coding -37951,Gm12184,ENSMUSG00000078154,protein_coding -37723,4931440F15Rik,ENSMUSG00000078157,protein_coding -12695,Erich3,ENSMUSG00000078161,protein_coding -11190,Lenep,ENSMUSG00000078173,protein_coding -19142,Rnf148,ENSMUSG00000078179,protein_coding -3060,Rbm8a2,ENSMUSG00000078184,protein_coding -3052,Chml,ENSMUSG00000078185,protein_coding -2570,Gm2000,ENSMUSG00000078193,protein_coding -6252,Gm17374,ENSMUSG00000078197,protein_coding -4380,Olfr364-ps1,ENSMUSG00000078198,protein_coding -3947,Tmem203,ENSMUSG00000078201,protein_coding -3932,Nrarp,ENSMUSG00000078202,protein_coding -7420,Fthl17d,ENSMUSG00000078206,protein_coding -7416,Fthl17b,ENSMUSG00000078208,protein_coding -7292,Btbd35f4,ENSMUSG00000078213,protein_coding -7271,Btbd35f3,ENSMUSG00000078218,protein_coding -15130,Klhdc7a,ENSMUSG00000078234,protein_coding -15084,Fam43b,ENSMUSG00000078235,protein_coding -53064,Gm3550,ENSMUSG00000078240,protein_coding -40259,Hmga1b,ENSMUSG00000078249,protein_coding -39593,Krtap17-1,ENSMUSG00000078252,protein_coding -39591,Krtap16-1,ENSMUSG00000078253,protein_coding -39590,Krtap29-1,ENSMUSG00000078254,protein_coding -39587,Krtap9-5,ENSMUSG00000078255,protein_coding -39584,Gm11565,ENSMUSG00000078256,protein_coding -39574,2300003K06Rik,ENSMUSG00000078257,protein_coding -39573,Gm11564,ENSMUSG00000078258,protein_coding -39571,Gm11554,ENSMUSG00000078259,protein_coding -39570,Gm11569,ENSMUSG00000078260,protein_coding -39569,Gm11596,ENSMUSG00000078261,protein_coding -39568,Krtap4-9,ENSMUSG00000078262,protein_coding -39564,Gm14180,ENSMUSG00000078269,protein_coding -39561,Gm14190,ENSMUSG00000078276,protein_coding -21669,Tas2r122,ENSMUSG00000078280,protein_coding -42445,Foxd1,ENSMUSG00000078302,protein_coding -35593,AI593442,ENSMUSG00000078307,protein_coding -8506,Fam47c,ENSMUSG00000078315,protein_coding -8323,F8a,ENSMUSG00000078317,protein_coding -7896,Tex13c1,ENSMUSG00000078320,protein_coding -7731,Btbd35f14,ENSMUSG00000078324,protein_coding -7516,H2al1n,ENSMUSG00000078346,protein_coding -26885,Sf3b5,ENSMUSG00000078348,protein_coding -15530,Smim1,ENSMUSG00000078350,protein_coding -13909,Ifna2,ENSMUSG00000078354,protein_coding -13908,Ifna16,ENSMUSG00000078355,protein_coding -12784,Mos,ENSMUSG00000078365,protein_coding -5145,Olfr141,ENSMUSG00000078420,protein_coding -29265,Sarnp,ENSMUSG00000078427,protein_coding -29128,Ctdsp2,ENSMUSG00000078429,protein_coding -28299,AU041133,ENSMUSG00000078435,protein_coding -28252,Smim24,ENSMUSG00000078439,protein_coding -28248,Dohh,ENSMUSG00000078440,protein_coding -28084,Ccdc105,ENSMUSG00000078442,protein_coding -27377,Ppil6,ENSMUSG00000078451,protein_coding -27049,Raet1d,ENSMUSG00000078452,protein_coding -26955,Abracl,ENSMUSG00000078453,protein_coding -26852,Gm10944,ENSMUSG00000078481,protein_coding -15625,Plekhn1,ENSMUSG00000078485,protein_coding -15624,Perm1,ENSMUSG00000078486,protein_coding -15592,Ankrd65,ENSMUSG00000078487,protein_coding -26781,Gm10945,ENSMUSG00000078488,protein_coding -15569,Cfap74,ENSMUSG00000078490,protein_coding -15488,Gm13090,ENSMUSG00000078491,protein_coding -15378,Zfp984,ENSMUSG00000078495,protein_coding -15366,Zfp982,ENSMUSG00000078496,protein_coding -15362,Zfp978,ENSMUSG00000078497,protein_coding -15361,Zfp988,ENSMUSG00000078498,protein_coding -15315,Zfp986,ENSMUSG00000078500,protein_coding -15300,Gm13212,ENSMUSG00000078502,protein_coding -15295,Zfp990,ENSMUSG00000078503,protein_coding -15281,Gm438,ENSMUSG00000078504,protein_coding -15278,Gm436,ENSMUSG00000078505,protein_coding -15275,Gm13124,ENSMUSG00000078506,protein_coding -15270,Aadacl3,ENSMUSG00000078507,protein_coding -15262,Gm13128,ENSMUSG00000078508,protein_coding -15250,Pramef17,ENSMUSG00000078509,protein_coding -15249,Gm13101,ENSMUSG00000078510,protein_coding -15248,Pramef25,ENSMUSG00000078511,protein_coding -15245,Pramef6,ENSMUSG00000078512,protein_coding -15235,Gm13088,ENSMUSG00000078513,protein_coding -15188,Ddi2,ENSMUSG00000078515,protein_coding -15117,Emc1,ENSMUSG00000078517,protein_coding -15098,Gm13030,ENSMUSG00000078518,protein_coding -15059,Cela3a,ENSMUSG00000078520,protein_coding -14968,Aunip,ENSMUSG00000078521,protein_coding -14820,Nkain1,ENSMUSG00000078532,protein_coding -42793,B020031M17Rik,ENSMUSG00000078537,protein_coding -49163,Zfp995,ENSMUSG00000078546,protein_coding -14791,Dcdc2b,ENSMUSG00000078552,protein_coding -14782,Fam229a,ENSMUSG00000078554,protein_coding -26462,Bnip3,ENSMUSG00000078566,protein_coding -14663,1110065P20Rik,ENSMUSG00000078570,protein_coding -40206,Ndufaf8,ENSMUSG00000078572,protein_coding -14586,Gm12887,ENSMUSG00000078575,protein_coding -14583,Gm12886,ENSMUSG00000078576,protein_coding -14571,Tmco2,ENSMUSG00000078577,protein_coding -12389,Ube2d3,ENSMUSG00000078578,protein_coding -26208,E430018J23Rik,ENSMUSG00000078580,protein_coding -14517,AU022252,ENSMUSG00000078584,protein_coding -14457,Ccdc24,ENSMUSG00000078588,protein_coding -12154,Gm10959,ENSMUSG00000078590,protein_coding -26086,Hs3st4,ENSMUSG00000078591,protein_coding -14384,1700042G07Rik,ENSMUSG00000078593,protein_coding -14351,Cyp4a12b,ENSMUSG00000078597,protein_coding -14325,Skint5,ENSMUSG00000078598,protein_coding -14304,Skint8,ENSMUSG00000078599,protein_coding -11886,Gm10961,ENSMUSG00000078604,protein_coding -39926,E030025P04Rik,ENSMUSG00000078605,protein_coding -25653,Gm4070,ENSMUSG00000078606,protein_coding -39885,1810010H24Rik,ENSMUSG00000078607,protein_coding -25625,Gm5901,ENSMUSG00000078611,protein_coding -14167,Fyb2,ENSMUSG00000078612,protein_coding -25556,Trim30c,ENSMUSG00000078616,protein_coding -39859,Smarcd2,ENSMUSG00000078619,protein_coding -11757,Gm10964,ENSMUSG00000078620,protein_coding -25509,Hbb-bh2,ENSMUSG00000078621,protein_coding -39854,Ccdc47,ENSMUSG00000078622,protein_coding -25483,Olfr613,ENSMUSG00000078624,protein_coding -14137,Gm12789,ENSMUSG00000078625,protein_coding -14136,Gm12790,ENSMUSG00000078626,protein_coding -39831,March10,ENSMUSG00000078627,protein_coding -25371,Tomt,ENSMUSG00000078630,protein_coding -39788,Lrrc37a,ENSMUSG00000078632,protein_coding -14047,Gm12695,ENSMUSG00000078639,protein_coding -39747,Gm11627,ENSMUSG00000078640,protein_coding -39679,G6pc,ENSMUSG00000078650,protein_coding -39673,Aoc2,ENSMUSG00000078651,protein_coding -39672,Psme3,ENSMUSG00000078652,protein_coding -39669,Cntd1,ENSMUSG00000078653,protein_coding -39665,Vps25,ENSMUSG00000078656,protein_coding -11341,Crnn,ENSMUSG00000078657,protein_coding -11279,Sprr2a1,ENSMUSG00000078664,protein_coding -39566,Gm11595,ENSMUSG00000078668,protein_coding -24752,Fam174b,ENSMUSG00000078670,protein_coding -24735,Chd2,ENSMUSG00000078671,protein_coding -13659,Mup20,ENSMUSG00000078672,protein_coding -13649,Mup19,ENSMUSG00000078673,protein_coding -13646,Mup18,ENSMUSG00000078674,protein_coding -13642,Mup16,ENSMUSG00000078675,protein_coding -39510,Casc3,ENSMUSG00000078676,protein_coding -24614,Gm10974,ENSMUSG00000078677,protein_coding -13627,Mup10,ENSMUSG00000078680,protein_coding -24598,Tm2d3,ENSMUSG00000078681,protein_coding -13623,Mup1,ENSMUSG00000078683,protein_coding -13620,Mup9,ENSMUSG00000078686,protein_coding -13616,Mup8,ENSMUSG00000078687,protein_coding -13614,Mup2,ENSMUSG00000078688,protein_coding -13611,Mup6,ENSMUSG00000078689,protein_coding -39445,Cisd3,ENSMUSG00000078695,protein_coding -24122,Mrgpra3,ENSMUSG00000078698,protein_coding -13366,Tomm5,ENSMUSG00000078713,protein_coding -13322,Tmem8b,ENSMUSG00000078716,protein_coding -13313,Msmp,ENSMUSG00000078719,protein_coding -13281,Fam205a1,ENSMUSG00000078721,protein_coding -13280,Gm12394,ENSMUSG00000078722,protein_coding -13274,Il11ra2,ENSMUSG00000078735,protein_coding -10568,Gm10985,ENSMUSG00000078742,protein_coding -13241,Fam205a4,ENSMUSG00000078746,protein_coding -13240,Gm20878,ENSMUSG00000078747,protein_coding -23558,Scgb1b30,ENSMUSG00000078752,protein_coding -23539,Scgb1b24,ENSMUSG00000078753,protein_coding -23437,Scgb2b3,ENSMUSG00000078754,protein_coding -23481,Scgb1b29,ENSMUSG00000078757,protein_coding -23452,Scgb1b7,ENSMUSG00000078759,protein_coding -23391,Haus5,ENSMUSG00000078762,protein_coding -39068,Slfn1,ENSMUSG00000078763,protein_coding -23379,U2af1l4,ENSMUSG00000078765,protein_coding -23333,Zfp566,ENSMUSG00000078768,protein_coding -38986,Evi2a,ENSMUSG00000078771,protein_coding -12968,Gm12353,ENSMUSG00000078772,protein_coding -12872,Rad54b,ENSMUSG00000078773,protein_coding -23228,9530053A07Rik,ENSMUSG00000078776,protein_coding -23216,Zfp59,ENSMUSG00000078779,protein_coding -10026,Gm5150,ENSMUSG00000078780,protein_coding -10019,Gm9733,ENSMUSG00000078783,protein_coding -10008,1810022K09Rik,ENSMUSG00000078784,protein_coding -23185,BC024978,ENSMUSG00000078786,protein_coding -23178,Cyp2t4,ENSMUSG00000078787,protein_coding -38833,Dph1,ENSMUSG00000078789,protein_coding -22720,Gm5155,ENSMUSG00000078793,protein_coding -22689,Dact3,ENSMUSG00000078794,protein_coding -22679,Ceacam15,ENSMUSG00000078795,protein_coding -22649,Zfp541,ENSMUSG00000078796,protein_coding -22541,Sult2a1,ENSMUSG00000078798,protein_coding -22534,Sult2a5,ENSMUSG00000078799,protein_coding -22533,Bsph2,ENSMUSG00000078800,protein_coding -22173,Vmn1r58,ENSMUSG00000078808,protein_coding -22100,Gp6,ENSMUSG00000078810,protein_coding -38599,Eif5a,ENSMUSG00000078812,protein_coding -22062,Leng1,ENSMUSG00000078813,protein_coding -22048,Cacng6,ENSMUSG00000078815,protein_coding -22040,Prkcg,ENSMUSG00000078816,protein_coding -22029,Nlrp12,ENSMUSG00000078817,protein_coding -31903,Gm10999,ENSMUSG00000078840,protein_coding -38267,Hist3h2a,ENSMUSG00000078851,protein_coding -38212,Igtp,ENSMUSG00000078853,protein_coding -7147,Zfp931,ENSMUSG00000078861,protein_coding -7143,Gm14326,ENSMUSG00000078862,protein_coding -7137,Gm14322,ENSMUSG00000078864,protein_coding -7135,Gm14406,ENSMUSG00000078865,protein_coding -7132,Zfp970,ENSMUSG00000078866,protein_coding -7129,Gm14418,ENSMUSG00000078867,protein_coding -7128,Gm14412,ENSMUSG00000078868,protein_coding -7127,Gm14409,ENSMUSG00000078869,protein_coding -7125,Gm14410,ENSMUSG00000078870,protein_coding -7119,Gm14401,ENSMUSG00000078872,protein_coding -7116,Gm14419,ENSMUSG00000078875,protein_coding -7112,Gm14408,ENSMUSG00000078876,protein_coding -7111,Gm14295,ENSMUSG00000078877,protein_coding -7108,Gm14305,ENSMUSG00000078878,protein_coding -7107,Zfp973,ENSMUSG00000078879,protein_coding -7106,Gm14308,ENSMUSG00000078880,protein_coding -7103,Gm14434,ENSMUSG00000078881,protein_coding -7092,Gm2026,ENSMUSG00000078886,protein_coding -7089,Gm6710,ENSMUSG00000078887,protein_coding -7086,Gm14288,ENSMUSG00000078889,protein_coding -7097,2210418O10Rik,ENSMUSG00000078894,protein_coding -7100,Gm11009,ENSMUSG00000078895,protein_coding -7080,Zfp965,ENSMUSG00000078896,protein_coding -7079,Gm4724,ENSMUSG00000078897,protein_coding -7077,Zfp968,ENSMUSG00000078898,protein_coding -7076,Gm4631,ENSMUSG00000078899,protein_coding -7074,Gm14440,ENSMUSG00000078901,protein_coding -7070,Gm14443,ENSMUSG00000078902,protein_coding -7071,Gm14391,ENSMUSG00000078903,protein_coding -7064,Gm14393,ENSMUSG00000078905,protein_coding -7061,Gm14444,ENSMUSG00000078906,protein_coding -46911,Fam186b,ENSMUSG00000078907,protein_coding -31553,Mon1b,ENSMUSG00000078908,protein_coding -6965,Gm11011,ENSMUSG00000078912,protein_coding -6942,Dpm1,ENSMUSG00000078919,protein_coding -37965,Ifi47,ENSMUSG00000078920,protein_coding -37963,Tgtp2,ENSMUSG00000078921,protein_coding -37960,Tgtp1,ENSMUSG00000078922,protein_coding -6921,Ube2v1,ENSMUSG00000078923,protein_coding -37923,Gm12169,ENSMUSG00000078924,protein_coding -42680,Cdc20b,ENSMUSG00000078926,protein_coding -31434,Pdf,ENSMUSG00000078931,protein_coding -46749,CN725425,ENSMUSG00000078932,protein_coding -35044,Pate13,ENSMUSG00000078934,protein_coding -6856,1700025C18Rik,ENSMUSG00000078935,protein_coding -46717,Cpt1b,ENSMUSG00000078937,protein_coding -46715,Syce3,ENSMUSG00000078938,protein_coding -6831,Wfdc11,ENSMUSG00000078940,protein_coding -42507,Ak6,ENSMUSG00000078941,protein_coding -42494,Naip6,ENSMUSG00000078942,protein_coding -42490,Naip2,ENSMUSG00000078945,protein_coding -6776,R3hdml,ENSMUSG00000078949,protein_coding -31295,Gm11020,ENSMUSG00000078953,protein_coding -46618,Arhgap8,ENSMUSG00000078954,protein_coding -42293,Atp6ap1l,ENSMUSG00000078958,protein_coding -53904,Hsbp1l1,ENSMUSG00000078963,protein_coding -31122,Ces1b,ENSMUSG00000078964,protein_coding -37530,Wdr92,ENSMUSG00000078970,protein_coding -6604,Gm15557,ENSMUSG00000078972,protein_coding -37515,Sec61g,ENSMUSG00000078974,protein_coding -45247,Gm11027,ENSMUSG00000078984,protein_coding -41965,Zfp429,ENSMUSG00000078994,protein_coding -41964,Zfp456,ENSMUSG00000078995,protein_coding -6537,Bpifa6,ENSMUSG00000078998,protein_coding -6524,4930404H24Rik,ENSMUSG00000079001,protein_coding -30899,Samd1,ENSMUSG00000079003,protein_coding -6426,Gm14147,ENSMUSG00000079005,protein_coding -6425,Gm14151,ENSMUSG00000079006,protein_coding -44661,Tcl1b4,ENSMUSG00000079007,protein_coding -6393,Gm14124,ENSMUSG00000079008,protein_coding -6390,Gm14139,ENSMUSG00000079009,protein_coding -37364,Gm11032,ENSMUSG00000079010,protein_coding -44638,Serpina3m,ENSMUSG00000079012,protein_coding -44636,Serpina3j,ENSMUSG00000079013,protein_coding -44635,Serpina3i,ENSMUSG00000079014,protein_coding -44614,Serpina1c,ENSMUSG00000079015,protein_coding -30702,Gm11034,ENSMUSG00000079016,protein_coding -44595,Ifi27l2a,ENSMUSG00000079017,protein_coding -46173,Ly6c1,ENSMUSG00000079018,protein_coding -30670,Insl3,ENSMUSG00000079019,protein_coding -46130,Slc45a4,ENSMUSG00000079020,protein_coding -46107,Col22a1,ENSMUSG00000079022,protein_coding -46045,Gm21961,ENSMUSG00000079024,protein_coding -46027,Gsdmc,ENSMUSG00000079025,protein_coding -44354,Gm5662,ENSMUSG00000079029,protein_coding -44306,BB287469,ENSMUSG00000079031,protein_coding -30585,Mef2b,ENSMUSG00000079033,protein_coding -44287,Gm8300,ENSMUSG00000079034,protein_coding -44276,Alkbh1,ENSMUSG00000079036,protein_coding -6163,Prnp,ENSMUSG00000079037,protein_coding -30548,D130040H23Rik,ENSMUSG00000079038,protein_coding -6138,Gm11037,ENSMUSG00000079039,protein_coding -30485,Apela,ENSMUSG00000079042,protein_coding -6121,Fastkd5,ENSMUSG00000079043,protein_coding -41033,Serpinb1c,ENSMUSG00000079049,protein_coding -6059,Vinac1,ENSMUSG00000079051,protein_coding -44102,Slc8a3,ENSMUSG00000079055,protein_coding -6018,Kcnip3,ENSMUSG00000079056,protein_coding -30217,Cyp4v3,ENSMUSG00000079057,protein_coding -30193,Adam34,ENSMUSG00000079058,protein_coding -43970,Gm11042,ENSMUSG00000079061,protein_coding -17485,BC005561,ENSMUSG00000079065,protein_coding -5949,Gm14085,ENSMUSG00000079071,protein_coding -34552,Jrkl,ENSMUSG00000079083,protein_coding -34553,Ccdc82,ENSMUSG00000079084,protein_coding -18738,Gm3404,ENSMUSG00000079091,protein_coding -40486,Prl2c2,ENSMUSG00000079092,protein_coding -18736,4930449I24Rik,ENSMUSG00000079093,protein_coding -5895,Tgm7,ENSMUSG00000079103,protein_coding -43689,Prps1l3,ENSMUSG00000079104,protein_coding -45318,C7,ENSMUSG00000079105,protein_coding -43650,Srp54c,ENSMUSG00000079108,protein_coding -18656,Pms2,ENSMUSG00000079109,protein_coding -5876,Capn3,ENSMUSG00000079110,protein_coding -18641,Kdelr2,ENSMUSG00000079111,protein_coding -29831,Fam90a1a,ENSMUSG00000079112,protein_coding -29804,Gm7861,ENSMUSG00000079113,protein_coding -29793,Gm7849,ENSMUSG00000079114,protein_coding -29772,Gm15293,ENSMUSG00000079116,protein_coding -29756,AY761185,ENSMUSG00000079120,protein_coding -3402,A130010J15Rik,ENSMUSG00000079144,protein_coding -18486,Smok3b,ENSMUSG00000079156,protein_coding -29504,Fam155a,ENSMUSG00000079157,protein_coding -36384,Trim43b,ENSMUSG00000079162,protein_coding -3217,Tlr5,ENSMUSG00000079164,protein_coding -18461,Sap25,ENSMUSG00000079165,protein_coding -29417,Cd209g,ENSMUSG00000079168,protein_coding -5659,Gm15130,ENSMUSG00000079169,protein_coding -5658,Gm13941,ENSMUSG00000079170,protein_coding -18441,Zan,ENSMUSG00000079173,protein_coding -5583,Gm11060,ENSMUSG00000079175,protein_coding -42859,Fam228a,ENSMUSG00000079177,protein_coding -2998,Mptx2,ENSMUSG00000079180,protein_coding -33546,Mphosph8,ENSMUSG00000079184,protein_coding -33532,Gzmc,ENSMUSG00000079186,protein_coding -55509,AC133103.1,ENSMUSG00000079190,protein_coding -55557,AC125149.1,ENSMUSG00000079192,protein_coding -33478,Psme2,ENSMUSG00000079197,protein_coding -18151,Zfp664,ENSMUSG00000079215,protein_coding -55526,AC132444.1,ENSMUSG00000079222,protein_coding -37284,Ccr5,ENSMUSG00000079227,protein_coding -37193,Ccdc13,ENSMUSG00000079235,protein_coding -37128,Xirp1,ENSMUSG00000079243,protein_coding -33110,Gm5622,ENSMUSG00000079244,protein_coding -4986,Gm13691,ENSMUSG00000079247,protein_coding -55242,Calhm1,ENSMUSG00000079258,protein_coding -37034,Trim71,ENSMUSG00000079259,protein_coding -37032,Tmppe,ENSMUSG00000079260,protein_coding -32911,Gm15217,ENSMUSG00000079261,protein_coding -21861,Slco1a6,ENSMUSG00000079262,protein_coding -21859,Gm6614,ENSMUSG00000079263,protein_coding -21841,Gm11077,ENSMUSG00000079264,protein_coding -32852,Gm8257,ENSMUSG00000079265,protein_coding -32835,Gm5930,ENSMUSG00000079267,protein_coding -32689,Gm3676,ENSMUSG00000079269,protein_coding -32696,1700049E17Rik1,ENSMUSG00000079271,protein_coding -4856,Hoxd3,ENSMUSG00000079277,protein_coding -17864,Tmem233,ENSMUSG00000079278,protein_coding -2330,2310009B15Rik,ENSMUSG00000079283,protein_coding -4808,Gm11084,ENSMUSG00000079286,protein_coding -21513,Klrb1b,ENSMUSG00000079298,protein_coding -21509,Klrb1,ENSMUSG00000079299,protein_coding -21486,Tex52,ENSMUSG00000079304,protein_coding -9822,Rab9,ENSMUSG00000079316,protein_coding -9821,Trappc2,ENSMUSG00000079317,protein_coding -36820,Gm20661,ENSMUSG00000079323,protein_coding -4719,4932414N04Rik,ENSMUSG00000079324,protein_coding -2139,Lemd1,ENSMUSG00000079330,protein_coding -50892,Gm11096,ENSMUSG00000079333,protein_coding -36796,Naa80,ENSMUSG00000079334,protein_coding -54940,Ifit1bl1,ENSMUSG00000079339,protein_coding -54916,Lipo1,ENSMUSG00000079342,protein_coding -21345,C1s2,ENSMUSG00000079343,protein_coding -54907,Lipo4,ENSMUSG00000079344,protein_coding -9665,Magea5,ENSMUSG00000079349,protein_coding -9662,Magea8,ENSMUSG00000079350,protein_coding -4606,Gm11099,ENSMUSG00000079353,protein_coding -36688,Ackr4,ENSMUSG00000079355,protein_coding -17497,Gm43302,ENSMUSG00000079362,protein_coding -17496,Gbp4,ENSMUSG00000079363,protein_coding -32080,Gm3558,ENSMUSG00000079364,protein_coding -32034,Gm3476,ENSMUSG00000079371,protein_coding -9515,Gm8334,ENSMUSG00000079374,protein_coding -31991,Gm8279,ENSMUSG00000079378,protein_coding -31995,Gm8271,ENSMUSG00000079380,protein_coding -31987,Gm3298,ENSMUSG00000079383,protein_coding -31963,Gm3173,ENSMUSG00000079386,protein_coding -9520,Luzp4,ENSMUSG00000079387,protein_coding -31959,2610042L04Rik,ENSMUSG00000079388,protein_coding -31958,Gm3149,ENSMUSG00000079389,protein_coding -31954,Gm2974,ENSMUSG00000079391,protein_coding -9511,Gm15114,ENSMUSG00000079395,protein_coding -32039,Gm3411,ENSMUSG00000079396,protein_coding -31932,Gm3020,ENSMUSG00000079402,protein_coding -31915,Gm5795,ENSMUSG00000079409,protein_coding -31909,Gm2897,ENSMUSG00000079410,protein_coding -54582,Cntf,ENSMUSG00000079415,protein_coding -17369,Gm11111,ENSMUSG00000079416,protein_coding -9401,Atg4a,ENSMUSG00000079418,protein_coding -54504,Ms4a6c,ENSMUSG00000079419,protein_coding -4317,4930402F06Rik,ENSMUSG00000079421,protein_coding -17314,Gm3286,ENSMUSG00000079423,protein_coding -17309,Gm3259,ENSMUSG00000079424,protein_coding -21040,Arpc4,ENSMUSG00000079426,protein_coding -36365,Mthfsl,ENSMUSG00000079427,protein_coding -9293,Tceal7,ENSMUSG00000079428,protein_coding -1546,Mroh2a,ENSMUSG00000079429,protein_coding -9252,Gm15023,ENSMUSG00000079432,protein_coding -36293,Gm11114,ENSMUSG00000079433,protein_coding -1511,Neu2,ENSMUSG00000079434,protein_coding -9230,Rpl36a,ENSMUSG00000079435,protein_coding -1507,Kcnj13,ENSMUSG00000079436,protein_coding -17150,Gm11115,ENSMUSG00000079438,protein_coding -17148,Gm11116,ENSMUSG00000079439,protein_coding -1493,Alpi,ENSMUSG00000079440,protein_coding -4234,St6galnac4,ENSMUSG00000079442,protein_coding -50345,Gm21981,ENSMUSG00000079444,protein_coding -1456,B3gnt7,ENSMUSG00000079445,protein_coding -9110,Cldn34c1,ENSMUSG00000079450,protein_coding -17081,Tmprss11g,ENSMUSG00000079451,protein_coding -9006,4933403O08Rik,ENSMUSG00000079460,protein_coding -20816,Gm15737,ENSMUSG00000079462,protein_coding -1351,Col4a3,ENSMUSG00000079465,protein_coding -4190,Prdm12,ENSMUSG00000079466,protein_coding -36063,Pigb,ENSMUSG00000079469,protein_coding -1300,Utp14b,ENSMUSG00000079470,protein_coding -50264,Mymx,ENSMUSG00000079471,protein_coding -8829,1700011M02Rik,ENSMUSG00000079476,protein_coding -20678,Rab7,ENSMUSG00000079477,protein_coding -54231,Sssca1,ENSMUSG00000079478,protein_coding -8812,Gm9112,ENSMUSG00000079479,protein_coding -8798,Pin4,ENSMUSG00000079480,protein_coding -8793,Nhsl2,ENSMUSG00000079481,protein_coding -4148,Phyhd1,ENSMUSG00000079484,protein_coding -8772,Med12,ENSMUSG00000079487,protein_coding -49969,Gm11127,ENSMUSG00000079492,protein_coding -20578,Nat8f5,ENSMUSG00000079494,protein_coding -20577,Nat8f6,ENSMUSG00000079495,protein_coding -4120,Gm13420,ENSMUSG00000079497,protein_coding -4105,Cfap77,ENSMUSG00000079502,protein_coding -49910,H2-Q1,ENSMUSG00000079507,protein_coding -8663,Apoo,ENSMUSG00000079508,protein_coding -8655,Zfx,ENSMUSG00000079509,protein_coding -20482,Gm42688,ENSMUSG00000079511,protein_coding -8598,4932429P05Rik,ENSMUSG00000079513,protein_coding -20413,Reg3a,ENSMUSG00000079516,protein_coding -8494,Gm14743,ENSMUSG00000079519,protein_coding -8492,Gm5938,ENSMUSG00000079521,protein_coding -8486,Gm14744,ENSMUSG00000079522,protein_coding -20365,Tmsb10,ENSMUSG00000079523,protein_coding -8467,Cldn34d,ENSMUSG00000079525,protein_coding -8414,Gm5936,ENSMUSG00000079531,protein_coding -8406,Gm6890,ENSMUSG00000079532,protein_coding -8399,Gm5640,ENSMUSG00000079534,protein_coding -8389,Gm6880,ENSMUSG00000079536,protein_coding -3993,Obp2b,ENSMUSG00000079539,protein_coding -48399,Gm11146,ENSMUSG00000079546,protein_coding -49792,H2-DMb1,ENSMUSG00000079547,protein_coding -912,Mpp4,ENSMUSG00000079550,protein_coding -49751,Kifc1,ENSMUSG00000079553,protein_coding -882,Aox2,ENSMUSG00000079554,protein_coding -16280,Haus3,ENSMUSG00000079555,protein_coding -49739,March2,ENSMUSG00000079557,protein_coding -35572,Colca2,ENSMUSG00000079559,protein_coding -19764,Hoxa3,ENSMUSG00000079560,protein_coding -16252,Maea,ENSMUSG00000079562,protein_coding -49685,Pglyrp2,ENSMUSG00000079563,protein_coding -8320,Spin2d,ENSMUSG00000079566,protein_coding -8220,Gm14692,ENSMUSG00000079577,protein_coding -8219,Gm1140,ENSMUSG00000079578,protein_coding -8174,Gm6760,ENSMUSG00000079579,protein_coding -49582,Tmem217,ENSMUSG00000079580,protein_coding -8133,Gm7073,ENSMUSG00000079583,protein_coding -8099,Gm364,ENSMUSG00000079584,protein_coding -622,Tmem182,ENSMUSG00000079588,protein_coding -35357,C1qtnf5,ENSMUSG00000079592,protein_coding -8022,Gm14597,ENSMUSG00000079593,protein_coding -47912,Cstdc6,ENSMUSG00000079594,protein_coding -47897,Cstdc4,ENSMUSG00000079597,protein_coding -19375,Clec2l,ENSMUSG00000079598,protein_coding -9811,Gm17604,ENSMUSG00000079600,protein_coding -3548,9230102O04Rik,ENSMUSG00000079602,protein_coding -49452,Zbtb9,ENSMUSG00000079605,protein_coding -7945,Gm595,ENSMUSG00000079606,protein_coding -53770,Stard6,ENSMUSG00000079608,protein_coding -519,Ankrd39,ENSMUSG00000079610,protein_coding -53734,Seh1l,ENSMUSG00000079614,protein_coding -7858,Cypt15,ENSMUSG00000079619,protein_coding -47827,Muc4,ENSMUSG00000079620,protein_coding -47814,Tm4sf19,ENSMUSG00000079625,protein_coding -7823,Rhox7b,ENSMUSG00000079626,protein_coding -7816,Rhox2h,ENSMUSG00000079627,protein_coding -7813,Rhox4g,ENSMUSG00000079628,protein_coding -7812,Rhox2g,ENSMUSG00000079629,protein_coding -7808,Rhox4f,ENSMUSG00000079630,protein_coding -7802,Rhox4d,ENSMUSG00000079633,protein_coding -7798,Rhox4c,ENSMUSG00000079635,protein_coding -7797,Rhox3c,ENSMUSG00000079636,protein_coding -7796,Rhox2c,ENSMUSG00000079637,protein_coding -7793,Rhox2b,ENSMUSG00000079638,protein_coding -7790,Rhox4a,ENSMUSG00000079639,protein_coding -7779,Rpl39,ENSMUSG00000079641,protein_coding -7758,Gm6268,ENSMUSG00000079642,protein_coding -34906,Gm1110,ENSMUSG00000079644,protein_coding -19200,Fam71f2,ENSMUSG00000079652,protein_coding -19196,Prrt4,ENSMUSG00000079654,protein_coding -7648,Gm5168,ENSMUSG00000079655,protein_coding -49294,Rab26,ENSMUSG00000079657,protein_coding -209,Eloc,ENSMUSG00000079658,protein_coding -15746,Tmem243,ENSMUSG00000079659,protein_coding -15687,1700015F17Rik,ENSMUSG00000079666,protein_coding -34770,Fdx1l,ENSMUSG00000079677,protein_coding -19020,Vwde,ENSMUSG00000079679,protein_coding -34767,Zglp1,ENSMUSG00000079681,protein_coding -26787,Ulbp1,ENSMUSG00000079685,protein_coding -7434,Gm14862,ENSMUSG00000079694,protein_coding -7410,Gm5751,ENSMUSG00000079697,protein_coding -49060,Vmn2r93,ENSMUSG00000079698,protein_coding -7409,Gm6592,ENSMUSG00000079699,protein_coding -49049,Fpr3,ENSMUSG00000079700,protein_coding -7400,Ssxb3,ENSMUSG00000079701,protein_coding -7399,Ssxb6,ENSMUSG00000079702,protein_coding -7405,Ssxb8,ENSMUSG00000079703,protein_coding -7398,Gm14459,ENSMUSG00000079704,protein_coding -7396,Ssxb1,ENSMUSG00000079705,protein_coding -48988,Tcte3,ENSMUSG00000079707,protein_coding -48986,Gm3448,ENSMUSG00000079710,protein_coding -48839,Ttll2,ENSMUSG00000079722,protein_coding -47341,3110001I22Rik,ENSMUSG00000079737,protein_coding -47290,Gm11172,ENSMUSG00000079740,protein_coding -55515,AC087559.2,ENSMUSG00000079773,protein_coding -55514,Fam205a2,ENSMUSG00000079774,protein_coding -55558,AC125149.2,ENSMUSG00000079794,protein_coding -55555,AC125149.3,ENSMUSG00000079800,protein_coding -51220,Gm21719,ENSMUSG00000079806,protein_coding -55562,AC168977.1,ENSMUSG00000079808,protein_coding -55503,Tmlhe,ENSMUSG00000079834,protein_coding -29706,Spag11a,ENSMUSG00000079842,protein_coding -8313,Xlr4a,ENSMUSG00000079845,protein_coding -21577,Klra4,ENSMUSG00000079852,protein_coding -21592,Klra1,ENSMUSG00000079853,protein_coding -40674,Gm11273,ENSMUSG00000079941,protein_coding -29133,Eef1akmt3,ENSMUSG00000080115,protein_coding -54170,Brms1,ENSMUSG00000080268,protein_coding -49041,Spaca6,ENSMUSG00000080316,protein_coding -5251,Olfr1174-ps,ENSMUSG00000080713,protein_coding -48752,B230307C23Rik,ENSMUSG00000080717,protein_coding -7657,Gm6121,ENSMUSG00000080725,protein_coding -12060,4930455H04Rik,ENSMUSG00000080907,protein_coding -7809,Rhox3g,ENSMUSG00000080933,protein_coding -50099,Olfr118,ENSMUSG00000080990,protein_coding -8650,AU015836,ENSMUSG00000081044,protein_coding -11526,Hist2h3c2,ENSMUSG00000081058,protein_coding -7633,Gm4297,ENSMUSG00000081218,protein_coding -14035,Cyp2j12,ENSMUSG00000081225,protein_coding -5184,Olfr1120,ENSMUSG00000081234,protein_coding -14039,Cyp2j7,ENSMUSG00000081362,protein_coding -8811,Gm3880,ENSMUSG00000081443,protein_coding -46831,Slc48a1,ENSMUSG00000081534,protein_coding -9413,Gm15294,ENSMUSG00000081607,protein_coding -21138,Olfr213,ENSMUSG00000081649,protein_coding -49900,Gm16181,ENSMUSG00000081650,protein_coding -18206,Fzd10,ENSMUSG00000081683,protein_coding -50121,Olfr129,ENSMUSG00000081724,protein_coding -38124,Gm12216,ENSMUSG00000081769,protein_coding -5257,Olfr1180,ENSMUSG00000081836,protein_coding -39096,Rpl9-ps1,ENSMUSG00000081906,protein_coding -25477,Olfr607,ENSMUSG00000081945,protein_coding -5270,Olfr1191-ps1,ENSMUSG00000081948,protein_coding -1544,Dnajb3,ENSMUSG00000081984,protein_coding -6528,Dnmt3c,ENSMUSG00000082079,protein_coding -39079,Slfn14,ENSMUSG00000082101,protein_coding -29782,Defa27,ENSMUSG00000082211,protein_coding -8841,Nap1l2,ENSMUSG00000082229,protein_coding -40816,Vmn1r221,ENSMUSG00000082316,protein_coding -17213,Btc,ENSMUSG00000082361,protein_coding -9058,H2afb2,ENSMUSG00000082482,protein_coding -7649,Gm2012,ENSMUSG00000082639,protein_coding -10065,1700064H15Rik,ENSMUSG00000082766,protein_coding -48667,Gm5678,ENSMUSG00000082815,protein_coding -5263,Olfr1186,ENSMUSG00000082882,protein_coding -14043,Cyp2j8,ENSMUSG00000082932,protein_coding -29754,Gm15056,ENSMUSG00000082976,protein_coding -5363,Olfr1274-ps,ENSMUSG00000082980,protein_coding -18648,Fam220a,ENSMUSG00000083012,protein_coding -14348,Cyp4a29,ENSMUSG00000083138,protein_coding -44885,4930595D18Rik,ENSMUSG00000083193,protein_coding -54156,Ctsf,ENSMUSG00000083282,protein_coding -4375,Olfr360,ENSMUSG00000083361,protein_coding -9088,H2afb3,ENSMUSG00000083616,protein_coding -7651,Gm2030,ENSMUSG00000083628,protein_coding -22161,Rasl2-9,ENSMUSG00000083649,protein_coding -9790,Rnf138rt1,ENSMUSG00000083695,protein_coding -5180,Olfr1118,ENSMUSG00000083706,protein_coding -14174,Gm12728,ENSMUSG00000083780,protein_coding -5252,Olfr1175-ps,ENSMUSG00000083855,protein_coding -50104,Olfr122,ENSMUSG00000083947,protein_coding -7632,Gm5934,ENSMUSG00000084063,protein_coding -31408,Esrp2,ENSMUSG00000084128,protein_coding -37504,Pom121l12,ENSMUSG00000084135,protein_coding -40779,Vmn1r207-ps,ENSMUSG00000084136,protein_coding -23256,Sycn,ENSMUSG00000084174,protein_coding -24182,4933405O20Rik,ENSMUSG00000084234,protein_coding -25452,Olfr588-ps1,ENSMUSG00000084262,protein_coding -5350,Olfr1269,ENSMUSG00000084336,protein_coding -14353,Cyp4a30b,ENSMUSG00000084346,protein_coding -13702,Gm11213,ENSMUSG00000084782,protein_coding -34744,Ubl5,ENSMUSG00000084786,protein_coding -15585,Tmem240,ENSMUSG00000084845,protein_coding -44708,Ccdc85c,ENSMUSG00000084883,protein_coding -6568,Gm14226,ENSMUSG00000084897,protein_coding -32157,Gm281,ENSMUSG00000084902,protein_coding -21853,Gm5724,ENSMUSG00000084927,protein_coding -55325,Bbip1,ENSMUSG00000084957,protein_coding -1664,Crocc2,ENSMUSG00000084989,protein_coding -10301,Gm11549,ENSMUSG00000085007,protein_coding -291,Khdc1b,ENSMUSG00000085079,protein_coding -28387,Ascl4,ENSMUSG00000085111,protein_coding -9446,A730046J19Rik,ENSMUSG00000085139,protein_coding -22145,Sbk3,ENSMUSG00000085272,protein_coding -3996,Gm13539,ENSMUSG00000085484,protein_coding -39695,Gm11634,ENSMUSG00000085486,protein_coding -34871,Dpy19l2,ENSMUSG00000085576,protein_coding -9437,Rtl9,ENSMUSG00000085584,protein_coding -22783,Gm4969,ENSMUSG00000085601,protein_coding -38472,Tmem238l,ENSMUSG00000085683,protein_coding -37798,4930469K13Rik,ENSMUSG00000085684,protein_coding -44186,Lin52,ENSMUSG00000085793,protein_coding -29964,Zfp703,ENSMUSG00000085795,protein_coding -40901,Armh2,ENSMUSG00000085861,protein_coding -44755,Rtl1,ENSMUSG00000085925,protein_coding -18323,Syna,ENSMUSG00000085957,protein_coding -42948,Rad51ap2,ENSMUSG00000086022,protein_coding -19827,Wipf3,ENSMUSG00000086040,protein_coding -2815,Gm4846,ENSMUSG00000086056,protein_coding -15344,Zfp989,ENSMUSG00000086147,protein_coding -36060,Ccpg1os,ENSMUSG00000086158,protein_coding -35885,Ubap1l,ENSMUSG00000086228,protein_coding -2694,4930558K02Rik,ENSMUSG00000086277,protein_coding -9633,Nbdy,ENSMUSG00000086316,protein_coding -14954,E130218I03Rik,ENSMUSG00000086322,protein_coding -5148,Gm13723,ENSMUSG00000086338,protein_coding -46137,Gm6569,ENSMUSG00000086361,protein_coding -39496,Lrrc3c,ENSMUSG00000086545,protein_coding -11686,Cd101,ENSMUSG00000086564,protein_coding -37025,Susd5,ENSMUSG00000086596,protein_coding -4996,Btbd18,ENSMUSG00000086598,protein_coding -396,4931428L18Rik,ENSMUSG00000086727,protein_coding -22137,Isoc2a,ENSMUSG00000086784,protein_coding -54911,Gm8978,ENSMUSG00000086812,protein_coding -16130,3110082J24Rik,ENSMUSG00000086815,protein_coding -11307,Lce6a,ENSMUSG00000086848,protein_coding -38205,Gm12248,ENSMUSG00000086962,protein_coding -47499,Rtl10,ENSMUSG00000086965,protein_coding -5458,Gm13889,ENSMUSG00000087006,protein_coding -6447,Tmem74bos,ENSMUSG00000087035,protein_coding -44890,Lbhd2,ENSMUSG00000087075,protein_coding -11753,Atg4a-ps,ENSMUSG00000087119,protein_coding -48076,Plcxd2,ENSMUSG00000087141,protein_coding -14067,L1td1,ENSMUSG00000087166,protein_coding -14320,Skint6,ENSMUSG00000087194,protein_coding -15439,Tmem274,ENSMUSG00000087198,protein_coding -2267,Mroh3,ENSMUSG00000087230,protein_coding -3127,Kif28,ENSMUSG00000087236,protein_coding -55,Alkal1,ENSMUSG00000087247,protein_coding -11876,Lamtor5,ENSMUSG00000087260,protein_coding -38650,4930544D05Rik,ENSMUSG00000087279,protein_coding -54915,Lipo2,ENSMUSG00000087303,protein_coding -41258,Tmem170b,ENSMUSG00000087370,protein_coding -23905,Gm15517,ENSMUSG00000087376,protein_coding -14537,Frg2f1,ENSMUSG00000087385,protein_coding -9600,Kantr,ENSMUSG00000087403,protein_coding -30593,Cers1,ENSMUSG00000087408,protein_coding -46967,Gm5475,ENSMUSG00000087444,protein_coding -37452,Cccd201,ENSMUSG00000087512,protein_coding -23038,Zfp111,ENSMUSG00000087598,protein_coding -11569,Gm16253,ENSMUSG00000087610,protein_coding -28337,1500009L16Rik,ENSMUSG00000087651,protein_coding -4007,Tmem250-ps,ENSMUSG00000087679,protein_coding -29386,Pet100,ENSMUSG00000087687,protein_coding -23183,Mia,ENSMUSG00000089661,protein_coding -29392,Fcor,ENSMUSG00000089665,protein_coding -38576,Tnfsf13,ENSMUSG00000089669,protein_coding -1530,Ugt1a8,ENSMUSG00000089675,protein_coding -45393,Agxt2,ENSMUSG00000089678,protein_coding -33432,Bcl2l2,ENSMUSG00000089682,protein_coding -14865,Rab42,ENSMUSG00000089687,protein_coding -20571,Nat8f7,ENSMUSG00000089694,protein_coding -11403,Gm4778,ENSMUSG00000089696,protein_coding -31835,Galnt2,ENSMUSG00000089704,protein_coding -46427,Cbx6,ENSMUSG00000089715,protein_coding -13483,Olfr275,ENSMUSG00000089717,protein_coding -40004,Cd300ld5,ENSMUSG00000089722,protein_coding -39567,Krtap4-8,ENSMUSG00000089724,protein_coding -21582,Klra8,ENSMUSG00000089727,protein_coding -29424,Tgfbr3l,ENSMUSG00000089736,protein_coding -6922,Gm20431,ENSMUSG00000089739,protein_coding -40002,Cd300ld2,ENSMUSG00000089753,protein_coding -7091,Zfp966,ENSMUSG00000089756,protein_coding -4160,Ier5l,ENSMUSG00000089762,protein_coding -9332,Tmsb15b1,ENSMUSG00000089768,protein_coding -14307,Skint1,ENSMUSG00000089773,protein_coding -48636,Slc5a3,ENSMUSG00000089774,protein_coding -29182,Rdh1,ENSMUSG00000089789,protein_coding -17556,1700028K03Rik,ENSMUSG00000089798,protein_coding -17375,Rasgef1b,ENSMUSG00000089809,protein_coding -6615,Rbm12,ENSMUSG00000089824,protein_coding -23194,Shkbp1,ENSMUSG00000089832,protein_coding -46426,Npcd,ENSMUSG00000089837,protein_coding -33561,Gm4491,ENSMUSG00000089840,protein_coding -1412,A530032D15Rik,ENSMUSG00000089844,protein_coding -25638,Timm10b,ENSMUSG00000089847,protein_coding -30680,Zfp882,ENSMUSG00000089857,protein_coding -5361,Gm13769,ENSMUSG00000089859,protein_coding -18985,Umad1,ENSMUSG00000089862,protein_coding -36057,Gm44503,ENSMUSG00000089865,protein_coding -3338,Rps6kc1,ENSMUSG00000089872,protein_coding -13636,Mup13,ENSMUSG00000089873,protein_coding -38584,Tmem102,ENSMUSG00000089876,protein_coding -5277,Olfr1199,ENSMUSG00000089892,protein_coding -32804,Gm8113,ENSMUSG00000089901,protein_coding -12047,Mfsd14a,ENSMUSG00000089911,protein_coding -7232,Uckl1,ENSMUSG00000089917,protein_coding -43557,Gm43517,ENSMUSG00000089922,protein_coding -36387,Bcl2a1b,ENSMUSG00000089929,protein_coding -22073,Pira2,ENSMUSG00000089942,protein_coding -1540,Ugt1a5,ENSMUSG00000089943,protein_coding -13567,Pakap,ENSMUSG00000089945,protein_coding -7101,Gm14435,ENSMUSG00000089951,protein_coding -3941,Rnf224,ENSMUSG00000089953,protein_coding -1545,Ugt1a1,ENSMUSG00000089960,protein_coding -18456,Fbxo24,ENSMUSG00000089984,protein_coding -23974,Gm45713,ENSMUSG00000089989,protein_coding -16696,G6pd2,ENSMUSG00000089992,protein_coding -9331,Tmsb15b2,ENSMUSG00000089996,protein_coding -20655,1810020O05Rik,ENSMUSG00000089997,protein_coding -53843,Ier3ip1,ENSMUSG00000090000,protein_coding -17640,Gm15446,ENSMUSG00000090015,protein_coding -19678,Gimap1,ENSMUSG00000090019,protein_coding -28665,Galnt4,ENSMUSG00000090035,protein_coding -13565,Palm2,ENSMUSG00000090053,protein_coding -5114,Olfr1062,ENSMUSG00000090059,protein_coding -16706,Nwd2,ENSMUSG00000090061,protein_coding -12439,1110002E22Rik,ENSMUSG00000090066,protein_coding -1226,Cdk5r2,ENSMUSG00000090071,protein_coding -7224,Lime1,ENSMUSG00000090077,protein_coding -49588,Rnf8,ENSMUSG00000090083,protein_coding -7449,Srpx,ENSMUSG00000090084,protein_coding -7068,Gm14399,ENSMUSG00000090093,protein_coding -5259,Gm13757,ENSMUSG00000090097,protein_coding -5885,Ttbk2,ENSMUSG00000090100,protein_coding -7626,Gm4985,ENSMUSG00000090102,protein_coding -39201,Gm11492,ENSMUSG00000090107,protein_coding -8436,Cmc4,ENSMUSG00000090110,protein_coding -26857,Shprh,ENSMUSG00000090112,protein_coding -49400,Nhlrc4,ENSMUSG00000090113,protein_coding -50343,Usp49,ENSMUSG00000090115,protein_coding -43884,Abhd12b,ENSMUSG00000090121,protein_coding -9423,Kcne1l,ENSMUSG00000090122,protein_coding -1531,Ugt1a7c,ENSMUSG00000090124,protein_coding -14650,Pou3f1,ENSMUSG00000090125,protein_coding -46845,Olfr287,ENSMUSG00000090129,protein_coding -8916,Cypt2,ENSMUSG00000090132,protein_coding -30603,Uba52,ENSMUSG00000090137,protein_coding -8769,Gm614,ENSMUSG00000090141,protein_coding -1533,Ugt1a6b,ENSMUSG00000090145,protein_coding -36687,Acad11,ENSMUSG00000090150,protein_coding -21517,BC035044,ENSMUSG00000090164,protein_coding -1527,Ugt1a10,ENSMUSG00000090165,protein_coding -32803,Ear10,ENSMUSG00000090166,protein_coding -1543,Ugt1a2,ENSMUSG00000090171,protein_coding -38429,Fbxw10,ENSMUSG00000090173,protein_coding -1529,Ugt1a9,ENSMUSG00000090175,protein_coding -48051,Cd200r2,ENSMUSG00000090176,protein_coding -12590,4930503B20Rik,ENSMUSG00000090202,protein_coding -31199,Tepp,ENSMUSG00000090206,protein_coding -11577,Itga10,ENSMUSG00000090210,protein_coding -6923,Tmem189,ENSMUSG00000090213,protein_coding -25552,Trim34b,ENSMUSG00000090215,protein_coding -25532,4930516K23Rik,ENSMUSG00000090219,protein_coding -48731,Pcp4,ENSMUSG00000090223,protein_coding -39579,Gm11559,ENSMUSG00000090225,protein_coding -49849,Cfb,ENSMUSG00000090231,protein_coding -47463,Car15,ENSMUSG00000090236,protein_coding -29270,Bloc1s1,ENSMUSG00000090247,protein_coding -44008,Churc1,ENSMUSG00000090258,protein_coding -53129,Eif4ebp3,ENSMUSG00000090264,protein_coding -40108,Mettl23,ENSMUSG00000090266,protein_coding -11399,Gm5286,ENSMUSG00000090268,protein_coding -3015,Mndal,ENSMUSG00000090272,protein_coding -50537,Prr22,ENSMUSG00000090273,protein_coding -31874,Tarbp1,ENSMUSG00000090290,protein_coding -54455,Lrrc10b,ENSMUSG00000090291,protein_coding -27247,Sult3a2,ENSMUSG00000090298,protein_coding -17154,Gm7714,ENSMUSG00000090302,protein_coding -49075,Vmn2r99,ENSMUSG00000090304,protein_coding -11326,2310050C09Rik,ENSMUSG00000090314,protein_coding -49086,Vmn2r104,ENSMUSG00000090315,protein_coding -16704,Dthd1,ENSMUSG00000090326,protein_coding -29629,Cfap97d2,ENSMUSG00000090336,protein_coding -22322,Vmn2r46,ENSMUSG00000090342,protein_coding -19870,Vmn1r5,ENSMUSG00000090346,protein_coding -5986,Gm17555,ENSMUSG00000090353,protein_coding -47604,Teddm3,ENSMUSG00000090356,protein_coding -25075,Vmn2r79,ENSMUSG00000090362,protein_coding -32066,Gm3512,ENSMUSG00000090363,protein_coding -31934,Gm3043,ENSMUSG00000090364,protein_coding -55089,4933411K16Rik,ENSMUSG00000090369,protein_coding -32836,Gm8229,ENSMUSG00000090379,protein_coding -23766,Vmn2r58,ENSMUSG00000090383,protein_coding -2629,4930523C07Rik,ENSMUSG00000090394,protein_coding -32055,Gm8362,ENSMUSG00000090404,protein_coding -10802,Gm17402,ENSMUSG00000090408,protein_coding -23014,Vmn1r174,ENSMUSG00000090411,protein_coding -49059,Vmn2r94,ENSMUSG00000090417,protein_coding -25044,Vmn2r75,ENSMUSG00000090436,protein_coding -27687,Gm17455,ENSMUSG00000090439,protein_coding -32685,1700049E17Rik2,ENSMUSG00000090440,protein_coding -11606,Gm17651,ENSMUSG00000090441,protein_coding -53868,Gm6133,ENSMUSG00000090451,protein_coding -28980,Iltifb,ENSMUSG00000090461,protein_coding -36553,Prr23a3,ENSMUSG00000090470,protein_coding -26622,Gm4553,ENSMUSG00000090471,protein_coding -31969,Gm3047,ENSMUSG00000090472,protein_coding -6486,Gm17416,ENSMUSG00000090485,protein_coding -1295,BC035947,ENSMUSG00000090486,protein_coding -31908,Gm2888,ENSMUSG00000090487,protein_coding -32681,Gm3486,ENSMUSG00000090505,protein_coding -49930,Sfta2,ENSMUSG00000090509,protein_coding -32019,Gm3424,ENSMUSG00000090512,protein_coding -48517,Krtap27-1,ENSMUSG00000090515,protein_coding -53024,Gypc,ENSMUSG00000090523,protein_coding -10680,Gm5538,ENSMUSG00000090527,protein_coding -31978,Gm9602,ENSMUSG00000090539,protein_coding -8149,Cdr1,ENSMUSG00000090546,protein_coding -32014,Gm8265,ENSMUSG00000090547,protein_coding -1594,Prlh,ENSMUSG00000090550,protein_coding -2179,Snrpe,ENSMUSG00000090553,protein_coding -49104,Vmn2r109,ENSMUSG00000090572,protein_coding -10751,Vmn2r6,ENSMUSG00000090581,protein_coding -49931,Gm9573,ENSMUSG00000090588,protein_coding -34558,Gm17571,ENSMUSG00000090592,protein_coding -32822,Gm3327,ENSMUSG00000090594,protein_coding -23772,Vmn2r60,ENSMUSG00000090619,protein_coding -27845,A930033H14Rik,ENSMUSG00000090622,protein_coding -7047,Gm20721,ENSMUSG00000090625,protein_coding -36035,Tex9,ENSMUSG00000090626,protein_coding -32047,Gm8356,ENSMUSG00000090627,protein_coding -48221,Olfr180,ENSMUSG00000090629,protein_coding -19541,Olfr456,ENSMUSG00000090631,protein_coding -32762,Gm8126,ENSMUSG00000090634,protein_coding -36663,Gm20425,ENSMUSG00000090639,protein_coding -41940,Zfp712,ENSMUSG00000090641,protein_coding -32027,Gm3453,ENSMUSG00000090643,protein_coding -50569,Vmn2r120,ENSMUSG00000090655,protein_coding -41825,Prss47,ENSMUSG00000090658,protein_coding -41990,Zfp493,ENSMUSG00000090659,protein_coding -22289,Vmn2r45,ENSMUSG00000090662,protein_coding -20874,Gm765,ENSMUSG00000090667,protein_coding -50091,Olfr111,ENSMUSG00000090675,protein_coding -19210,Atp6v1fnb,ENSMUSG00000090685,protein_coding -17619,Vmn2r12,ENSMUSG00000090688,protein_coding -32724,Gm8020,ENSMUSG00000090690,protein_coding -32057,Gm3667,ENSMUSG00000090691,protein_coding -36359,Trim43a,ENSMUSG00000090693,protein_coding -21745,Apold1,ENSMUSG00000090698,protein_coding -49694,Cyp4f40,ENSMUSG00000090700,protein_coding -32021,Gm8237,ENSMUSG00000090707,protein_coding -35054,Pate11,ENSMUSG00000090710,protein_coding -32765,Gm8127,ENSMUSG00000090713,protein_coding -22383,Zscan4d,ENSMUSG00000090714,protein_coding -23005,Vmn1r167,ENSMUSG00000090715,protein_coding -32838,Gm3371,ENSMUSG00000090716,protein_coding -11222,Rps27,ENSMUSG00000090733,protein_coding -35039,Pate7,ENSMUSG00000090738,protein_coding -33120,Gm17079,ENSMUSG00000090740,protein_coding -23755,Gm6871,ENSMUSG00000090744,protein_coding -50192,Esp8,ENSMUSG00000090747,protein_coding -23797,Vmn2r63,ENSMUSG00000090751,protein_coding -22481,Vmn2r56,ENSMUSG00000090762,protein_coding -31953,Gm3127,ENSMUSG00000090764,protein_coding -25037,Vmn2r74,ENSMUSG00000090774,protein_coding -47480,Ccdc188,ENSMUSG00000090777,protein_coding -33071,Klhl33,ENSMUSG00000090799,protein_coding -55500,CAAA01165726.1,ENSMUSG00000090805,protein_coding -25025,Vmn2r70,ENSMUSG00000090806,protein_coding -44265,Samd15,ENSMUSG00000090812,protein_coding -11624,Gm4450,ENSMUSG00000090817,protein_coding -22213,Olfr1344,ENSMUSG00000090824,protein_coding -31986,Gm8297,ENSMUSG00000090827,protein_coding -54380,1700092M07Rik,ENSMUSG00000090840,protein_coding -29235,Myl6,ENSMUSG00000090841,protein_coding -44159,Heatr4,ENSMUSG00000090843,protein_coding -41249,Gm17364,ENSMUSG00000090853,protein_coding -28758,Gm4340,ENSMUSG00000090854,protein_coding -25913,Rps13,ENSMUSG00000090862,protein_coding -41009,A530084C06Rik,ENSMUSG00000090863,protein_coding -22301,Vmn2r40,ENSMUSG00000090864,protein_coding -31973,Gm3239,ENSMUSG00000090872,protein_coding -33041,Olfr733,ENSMUSG00000090874,protein_coding -49861,Hspa1b,ENSMUSG00000090877,protein_coding -33603,Gm6904,ENSMUSG00000090881,protein_coding -33446,Gm17428,ENSMUSG00000090889,protein_coding -20635,D6Ertd527e,ENSMUSG00000090891,protein_coding -22281,Vmn2r41,ENSMUSG00000090892,protein_coding -50090,Olfr110,ENSMUSG00000090894,protein_coding -50196,Gm44501,ENSMUSG00000090897,protein_coding -10443,Pabpc4l,ENSMUSG00000090919,protein_coding -44111,Synj2bp,ENSMUSG00000090935,protein_coding -53545,F830016B08Rik,ENSMUSG00000090942,protein_coding -43364,Ccdc71l,ENSMUSG00000090946,protein_coding -25071,Vmn2r77,ENSMUSG00000090949,protein_coding -48222,Olfr181,ENSMUSG00000090951,protein_coding -25251,Lrrc32,ENSMUSG00000090958,protein_coding -17607,Vmn2r8,ENSMUSG00000090961,protein_coding -17643,Gm17655,ENSMUSG00000090963,protein_coding -49209,Vmn2r116,ENSMUSG00000090966,protein_coding -23775,Vmn2r61,ENSMUSG00000090967,protein_coding -18619,Olfr718-ps1,ENSMUSG00000090981,protein_coding -6814,Gm20458,ENSMUSG00000090996,protein_coding -26455,Tcerg1l,ENSMUSG00000091002,protein_coding -25020,Vmn2r69,ENSMUSG00000091006,protein_coding -20028,Vmn1r34,ENSMUSG00000091012,protein_coding -3200,Vmn1r1,ENSMUSG00000091013,protein_coding -54584,Gm5244,ENSMUSG00000091014,protein_coding -3352,Fam71a,ENSMUSG00000091017,protein_coding -31950,Gm3115,ENSMUSG00000091022,protein_coding -34441,Gm10722,ENSMUSG00000091028,protein_coding -17472,Gm17660,ENSMUSG00000091034,protein_coding -48551,Krtap20-2,ENSMUSG00000091039,protein_coding -31487,Gm17720,ENSMUSG00000091041,protein_coding -50207,Glyatl3,ENSMUSG00000091043,protein_coding -22480,Vmn2r55,ENSMUSG00000091045,protein_coding -16065,Gm1979,ENSMUSG00000091049,protein_coding -53865,Siglec15,ENSMUSG00000091055,protein_coding -17621,Vmn2r14,ENSMUSG00000091059,protein_coding -2709,Myocos,ENSMUSG00000091060,protein_coding -49208,Vmn2r115,ENSMUSG00000091076,protein_coding -51284,Gm21292,ENSMUSG00000091077,protein_coding -36551,Prr23a1,ENSMUSG00000091080,protein_coding -10210,Kcnmb3,ENSMUSG00000091091,protein_coding -17529,Gm17304,ENSMUSG00000091096,protein_coding -28700,Gm4302,ENSMUSG00000091101,protein_coding -42401,Gm17622,ENSMUSG00000091109,protein_coding -32672,Gm2832,ENSMUSG00000091110,protein_coding -31956,Gm3138,ENSMUSG00000091114,protein_coding -45298,Ccdc152,ENSMUSG00000091119,protein_coding -32848,Gm8247,ENSMUSG00000091122,protein_coding -36755,Iqcf6,ENSMUSG00000091129,protein_coding -32676,Gm7945,ENSMUSG00000091131,protein_coding -32729,Gm17124,ENSMUSG00000091140,protein_coding -33112,Gm17175,ENSMUSG00000091142,protein_coding -33607,Phf11c,ENSMUSG00000091144,protein_coding -31965,Gm3182,ENSMUSG00000091148,protein_coding -49099,Vmn1r224,ENSMUSG00000091151,protein_coding -33679,Serpine3,ENSMUSG00000091155,protein_coding -34851,Gm17545,ENSMUSG00000091159,protein_coding -35037,Pate10,ENSMUSG00000091174,protein_coding -11267,9130204L05Rik,ENSMUSG00000091175,protein_coding -41751,Gm5141,ENSMUSG00000091183,protein_coding -31983,Gm3278,ENSMUSG00000091185,protein_coding -37748,Gm17332,ENSMUSG00000091195,protein_coding -17000,Gm7271,ENSMUSG00000091204,protein_coding -25026,Vmn2r71,ENSMUSG00000091205,protein_coding -49057,Vmn2r91,ENSMUSG00000091206,protein_coding -48557,Krtap11-1,ENSMUSG00000091212,protein_coding -35036,Pate1,ENSMUSG00000091215,protein_coding -32077,Gm3755,ENSMUSG00000091227,protein_coding -39288,Gm20390,ENSMUSG00000091228,protein_coding -25047,Vmn2r76,ENSMUSG00000091239,protein_coding -48302,Vgll3,ENSMUSG00000091243,protein_coding -35059,Pate8,ENSMUSG00000091248,protein_coding -15855,Speer4e,ENSMUSG00000091255,protein_coding -49105,Vmn2r110,ENSMUSG00000091259,protein_coding -21300,Vmn2r19,ENSMUSG00000091260,protein_coding -41248,Smim13,ENSMUSG00000091264,protein_coding -32025,Gm3248,ENSMUSG00000091275,protein_coding -33118,Gm4181,ENSMUSG00000091296,protein_coding -14550,Gm8439,ENSMUSG00000091297,protein_coding -33419,Gm17606,ENSMUSG00000091306,protein_coding -41642,Spata31d1b,ENSMUSG00000091311,protein_coding -3705,Gm17490,ENSMUSG00000091312,protein_coding -418,Gm5415,ENSMUSG00000091318,protein_coding -5978,Eid1,ENSMUSG00000091337,protein_coding -36721,Col6a5,ENSMUSG00000091345,protein_coding -41892,Gm10772,ENSMUSG00000091347,protein_coding -49058,Vmn2r92,ENSMUSG00000091350,protein_coding -17623,Vmn2r15,ENSMUSG00000091375,protein_coding -10689,Aadacl2,ENSMUSG00000091376,protein_coding -28101,Vmn2r83,ENSMUSG00000091381,protein_coding -19886,Vmn1r18,ENSMUSG00000091382,protein_coding -42413,Gcnt4,ENSMUSG00000091387,protein_coding -32059,Gm6356,ENSMUSG00000091400,protein_coding -44919,Rd3l,ENSMUSG00000091402,protein_coding -11536,Hist2h4,ENSMUSG00000091405,protein_coding -49212,Vmn2r117,ENSMUSG00000091407,protein_coding -35047,Gm5916,ENSMUSG00000091411,protein_coding -27368,Ak9,ENSMUSG00000091415,protein_coding -31962,Gm3164,ENSMUSG00000091418,protein_coding -32844,Gm17093,ENSMUSG00000091429,protein_coding -22888,Vmn1r115,ENSMUSG00000091435,protein_coding -26558,Gm17387,ENSMUSG00000091441,protein_coding -17618,Vmn2r11,ENSMUSG00000091450,protein_coding -28805,Otogl,ENSMUSG00000091455,protein_coding -28099,Vmn2r82,ENSMUSG00000091468,protein_coding -55158,Gm20538,ENSMUSG00000091471,protein_coding -32071,Gm3739,ENSMUSG00000091472,protein_coding -23758,2610021A01Rik,ENSMUSG00000091474,protein_coding -3102,Catspere2,ENSMUSG00000091476,protein_coding -32774,Gm5799,ENSMUSG00000091477,protein_coding -30186,Triml2,ENSMUSG00000091490,protein_coding -49068,Vmn2r97,ENSMUSG00000091491,protein_coding -31980,Gm3269,ENSMUSG00000091494,protein_coding -8606,Gm44,ENSMUSG00000091497,protein_coding -50481,Vmn2r118,ENSMUSG00000091504,protein_coding -29360,Vmn2r87,ENSMUSG00000091511,protein_coding -12435,Lamtor3,ENSMUSG00000091512,protein_coding -53842,Skor2,ENSMUSG00000091519,protein_coding -23801,Vmn2r126,ENSMUSG00000091528,protein_coding -48773,Cldn20,ENSMUSG00000091530,protein_coding -50076,Olfr102,ENSMUSG00000091531,protein_coding -36901,Tma7,ENSMUSG00000091537,protein_coding -52660,Vmn1r238,ENSMUSG00000091539,protein_coding -19874,Vmn1r9,ENSMUSG00000091541,protein_coding -7760,Gm14569,ENSMUSG00000091556,protein_coding -53002,Gm6665,ENSMUSG00000091561,protein_coding -31951,Gm8108,ENSMUSG00000091563,protein_coding -32029,Gm8206,ENSMUSG00000091568,protein_coding -32839,Gm8232,ENSMUSG00000091569,protein_coding -10741,Vmn2r3,ENSMUSG00000091572,protein_coding -32792,Gm8180,ENSMUSG00000091584,protein_coding -55494,AC140365.1,ENSMUSG00000091585,protein_coding -49687,Cyp4f17,ENSMUSG00000091586,protein_coding -23791,Gm17067,ENSMUSG00000091594,protein_coding -50058,Olfr93,ENSMUSG00000091601,protein_coding -46931,Gm17349,ENSMUSG00000091604,protein_coding -49581,Gm17657,ENSMUSG00000091614,protein_coding -32078,Gm3752,ENSMUSG00000091617,protein_coding -26742,H60c,ENSMUSG00000091618,protein_coding -21310,Vmn2r23,ENSMUSG00000091620,protein_coding -17609,Vmn2r9,ENSMUSG00000091624,protein_coding -19861,Lsm5,ENSMUSG00000091625,protein_coding -49061,Vmn2r95,ENSMUSG00000091631,protein_coding -17620,Vmn2r13,ENSMUSG00000091635,protein_coding -50700,Akain1,ENSMUSG00000091636,protein_coding -22886,Vmn1r113,ENSMUSG00000091638,protein_coding -11409,C2cd4d,ENSMUSG00000091648,protein_coding -33605,Phf11b,ENSMUSG00000091649,protein_coding -46310,Apol11a,ENSMUSG00000091650,protein_coding -22272,Vmn2r36,ENSMUSG00000091651,protein_coding -22166,Vmn1r57,ENSMUSG00000091652,protein_coding -49094,Vmn2r106,ENSMUSG00000091656,protein_coding -32687,Gm3072,ENSMUSG00000091657,protein_coding -22351,Vmn1r69,ENSMUSG00000091662,protein_coding -49093,Vmn2r105,ENSMUSG00000091670,protein_coding -32073,Gm8374,ENSMUSG00000091676,protein_coding -49064,Vmn2r96,ENSMUSG00000091679,protein_coding -46714,Klhdc7b,ENSMUSG00000091680,protein_coding -10935,Gm17359,ENSMUSG00000091685,protein_coding -23722,4930433I11Rik,ENSMUSG00000091692,protein_coding -46316,Apol11b,ENSMUSG00000091694,protein_coding -32789,Gm6526,ENSMUSG00000091698,protein_coding -31975,Gm7876,ENSMUSG00000091700,protein_coding -49912,H2-Q2,ENSMUSG00000091705,protein_coding -47223,Sec14l5,ENSMUSG00000091712,protein_coding -32786,Gm16506,ENSMUSG00000091718,protein_coding -12333,Gimd1,ENSMUSG00000091721,protein_coding -33941,Siah3,ENSMUSG00000091722,protein_coding -32832,Gm8220,ENSMUSG00000091725,protein_coding -27656,Gm17542,ENSMUSG00000091731,protein_coding -32750,Gm8094,ENSMUSG00000091733,protein_coding -19924,Vmn1r29,ENSMUSG00000091734,protein_coding -36747,Gpr62,ENSMUSG00000091735,protein_coding -9700,Yy2,ENSMUSG00000091736,protein_coding -32692,Gm7929,ENSMUSG00000091740,protein_coding -32054,Gm3636,ENSMUSG00000091754,protein_coding -31945,Gm3095,ENSMUSG00000091756,protein_coding -30560,Zfp964,ENSMUSG00000091764,protein_coding -41528,Gm17617,ENSMUSG00000091768,protein_coding -49082,Vmn2r103,ENSMUSG00000091771,protein_coding -28752,Gm21293,ENSMUSG00000091779,protein_coding -46711,Sco2,ENSMUSG00000091780,protein_coding -32709,Gm3573,ENSMUSG00000091792,protein_coding -18877,Vmn2r18,ENSMUSG00000091794,protein_coding -44105,Cox16,ENSMUSG00000091803,protein_coding -49102,Vmn2r108,ENSMUSG00000091805,protein_coding -32175,Olfr721-ps1,ENSMUSG00000091809,protein_coding -22659,Inafm1,ENSMUSG00000091811,protein_coding -31332,Ces2h,ENSMUSG00000091813,protein_coding -32053,Gm8050,ENSMUSG00000091814,protein_coding -15887,Speer4f2,ENSMUSG00000091827,protein_coding -50736,Gm4707,ENSMUSG00000091831,protein_coding -669,Gm8251,ENSMUSG00000091844,protein_coding -49078,Vmn2r100,ENSMUSG00000091859,protein_coding -9607,Cldn34a,ENSMUSG00000091863,protein_coding -23170,Cyp2a22,ENSMUSG00000091867,protein_coding -33040,Olfr732,ENSMUSG00000091873,protein_coding -22165,Vmn1r56,ENSMUSG00000091874,protein_coding -17626,Vmn2r17,ENSMUSG00000091879,protein_coding -32031,Gm6337,ENSMUSG00000091882,protein_coding -28097,Vmn2r80,ENSMUSG00000091888,protein_coding -53106,Ube2d2a,ENSMUSG00000091896,protein_coding -15857,Gm17019,ENSMUSG00000091897,protein_coding -32493,Tnnc1,ENSMUSG00000091898,protein_coding -15797,Gm6460,ENSMUSG00000091903,protein_coding -32855,Gm8267,ENSMUSG00000091923,protein_coding -23162,Vmn1r185,ENSMUSG00000091924,protein_coding -23794,Vmn2r62,ENSMUSG00000091926,protein_coding -22335,Vmn2r52,ENSMUSG00000091930,protein_coding -44572,Gon7,ENSMUSG00000091931,protein_coding -15774,Gm8857,ENSMUSG00000091933,protein_coding -601,Gm3646,ENSMUSG00000091937,protein_coding -49207,Vmn2r114,ENSMUSG00000091945,protein_coding -23080,Gm9844,ENSMUSG00000091955,protein_coding -35941,C2cd4b,ENSMUSG00000091956,protein_coding -25074,Vmn2r78,ENSMUSG00000091962,protein_coding -49862,Hspa1a,ENSMUSG00000091971,protein_coding -47712,Tmem207,ENSMUSG00000091972,protein_coding -19540,Olfr457,ENSMUSG00000091983,protein_coding -51139,Gm10352,ENSMUSG00000091987,protein_coding -35444,BC049352,ENSMUSG00000091996,protein_coding -21094,Gm17482,ENSMUSG00000092004,protein_coding -55040,Cyp2c69,ENSMUSG00000092008,protein_coding -48109,Myh15,ENSMUSG00000092009,protein_coding -44292,Gm4027,ENSMUSG00000092019,protein_coding -23768,Vmn2r59,ENSMUSG00000092032,protein_coding -18927,Peg10,ENSMUSG00000092035,protein_coding -32259,Gm2244,ENSMUSG00000092036,protein_coding -50197,Esp6,ENSMUSG00000092043,protein_coding -21571,Gm17631,ENSMUSG00000092047,protein_coding -29357,Vmn2r85,ENSMUSG00000092048,protein_coding -10745,Vmn2r4,ENSMUSG00000092049,protein_coding -16824,Bend4,ENSMUSG00000092060,protein_coding -17296,Gm6205,ENSMUSG00000092073,protein_coding -48808,Dynlt1a,ENSMUSG00000092074,protein_coding -50075,Olfr101,ENSMUSG00000092077,protein_coding -17624,Vmn2r16,ENSMUSG00000092080,protein_coding -188,Kcnb2,ENSMUSG00000092083,protein_coding -15707,Zfp804b,ENSMUSG00000092094,protein_coding -34345,Gm9376,ENSMUSG00000092109,protein_coding -49196,Vmn2r113,ENSMUSG00000092111,protein_coding -42449,Gm10320,ENSMUSG00000092116,protein_coding -24201,Fancf,ENSMUSG00000092118,protein_coding -49039,Vmn2r90,ENSMUSG00000092120,protein_coding -6596,Gm17581,ENSMUSG00000092123,protein_coding -52995,B930094E09Rik,ENSMUSG00000092124,protein_coding -32677,Gm6482,ENSMUSG00000092142,protein_coding -32720,Gm8005,ENSMUSG00000092148,protein_coding -32712,Gm17026,ENSMUSG00000092152,protein_coding -39030,Gm17268,ENSMUSG00000092157,protein_coding -29358,Vmn2r86,ENSMUSG00000092162,protein_coding -21819,Rergl,ENSMUSG00000092164,protein_coding -32847,Gm5624,ENSMUSG00000092165,protein_coding -17305,Gm7942,ENSMUSG00000092166,protein_coding -32064,Gm3696,ENSMUSG00000092167,protein_coding -36056,Dnaaf4,ENSMUSG00000092192,protein_coding -28910,A930009A15Rik,ENSMUSG00000092210,protein_coding -22840,Gm19345,ENSMUSG00000092216,protein_coding -23795,Gm2381,ENSMUSG00000092225,protein_coding -33433,Gm20521,ENSMUSG00000092232,protein_coding -43637,Gm20403,ENSMUSG00000092233,protein_coding -49975,Gm7030,ENSMUSG00000092243,protein_coding -50139,Esp34,ENSMUSG00000092244,protein_coding -30562,Zfp963,ENSMUSG00000092260,protein_coding -49978,Gm19684,ENSMUSG00000092277,protein_coding -50093,Olfr113,ENSMUSG00000092292,protein_coding -22983,Gm4214,ENSMUSG00000092297,protein_coding -43399,Prps1l1,ENSMUSG00000092305,protein_coding -36069,Gm20509,ENSMUSG00000092310,protein_coding -50135,Esp36,ENSMUSG00000092322,protein_coding -31629,Gm20388,ENSMUSG00000092329,protein_coding -23787,Zfp977,ENSMUSG00000092335,protein_coding -50142,Esp31,ENSMUSG00000092342,protein_coding -13590,Gm20503,ENSMUSG00000092345,protein_coding -49753,Platr17,ENSMUSG00000092349,protein_coding -4030,Gm20532,ENSMUSG00000092356,protein_coding -27942,Gm20441,ENSMUSG00000092360,protein_coding -23195,Gm20479,ENSMUSG00000092367,protein_coding -50096,Olfr115,ENSMUSG00000092413,protein_coding -23782,Zfp141,ENSMUSG00000092416,protein_coding -49883,Gpank1,ENSMUSG00000092417,protein_coding -23028,V1rd19,ENSMUSG00000092456,protein_coding -8770,Gm20489,ENSMUSG00000092463,protein_coding -47464,Gm20518,ENSMUSG00000092470,protein_coding -23025,Vmn1r180,ENSMUSG00000092473,protein_coding -49850,Gm20547,ENSMUSG00000092511,protein_coding -22129,Fam71e2,ENSMUSG00000092518,protein_coding -49731,Actl9,ENSMUSG00000092519,protein_coding -26175,Pagr1b,ENSMUSG00000092534,protein_coding -36350,Gm20537,ENSMUSG00000092541,protein_coding -30563,Gm20422,ENSMUSG00000092544,protein_coding -50340,Med20,ENSMUSG00000092558,protein_coding -22180,Vmn1r62,ENSMUSG00000092579,protein_coding -49875,Ly6g6c,ENSMUSG00000092586,protein_coding -23751,Gm20449,ENSMUSG00000092592,protein_coding -11456,Scnm1,ENSMUSG00000092607,protein_coding -49863,Gm20481,ENSMUSG00000092609,protein_coding -49815,Btnl6,ENSMUSG00000092618,protein_coding -36068,Khdc3,ENSMUSG00000092622,protein_coding -19906,Vmn1r23,ENSMUSG00000093376,protein_coding -18459,Lrch4,ENSMUSG00000093445,protein_coding -36825,Gm20662,ENSMUSG00000093456,protein_coding -40137,Gm20708,ENSMUSG00000093485,protein_coding -22209,Smim17,ENSMUSG00000093536,protein_coding -46965,Higd1c,ENSMUSG00000093550,protein_coding -16234,Gm20671,ENSMUSG00000093574,protein_coding -47175,Gm20695,ENSMUSG00000093575,protein_coding -49390,Gm20683,ENSMUSG00000093593,protein_coding -46191,Ly6l,ENSMUSG00000093626,protein_coding -23815,Lim2,ENSMUSG00000093639,protein_coding -20885,Eif4e3,ENSMUSG00000093661,protein_coding -42167,Pou5f2,ENSMUSG00000093668,protein_coding -29242,Rpl41,ENSMUSG00000093674,protein_coding -19872,Vmn1r7,ENSMUSG00000093696,protein_coding -48606,Gm21970,ENSMUSG00000093701,protein_coding -6940,Gm20716,ENSMUSG00000093752,protein_coding -20037,Vmn1r39,ENSMUSG00000093755,protein_coding -11534,Hist2h3c1,ENSMUSG00000093769,protein_coding -46963,Methig1,ENSMUSG00000093789,protein_coding -37292,Ppp2r3d,ENSMUSG00000093803,protein_coding -5695,Olfr1303,ENSMUSG00000093804,protein_coding -1694,Gal3st2b,ENSMUSG00000093805,protein_coding -9870,Asmt,ENSMUSG00000093806,protein_coding -21304,Vmn2r21,ENSMUSG00000093820,protein_coding -33029,Olfr723,ENSMUSG00000093825,protein_coding -55544,Ccl27,ENSMUSG00000093828,protein_coding -32684,Gm7970,ENSMUSG00000093833,protein_coding -39218,Olfr462,ENSMUSG00000093839,protein_coding -44360,Gm5039,ENSMUSG00000093847,protein_coding -51470,Gm20865,ENSMUSG00000093848,protein_coding -22959,Vmn1r151,ENSMUSG00000093853,protein_coding -32679,Gm7954,ENSMUSG00000093863,protein_coding -12282,Lrit3,ENSMUSG00000093865,protein_coding -29318,Olfr802,ENSMUSG00000093866,protein_coding -51530,Gm20809,ENSMUSG00000093868,protein_coding -22953,Gm4187,ENSMUSG00000093871,protein_coding -22219,Olfr1348,ENSMUSG00000093877,protein_coding -51363,Gm21866,ENSMUSG00000093883,protein_coding -49723,Olfr239,ENSMUSG00000093884,protein_coding -31941,Gm3033,ENSMUSG00000093887,protein_coding -22908,Vmn1r127,ENSMUSG00000093890,protein_coding -51812,Gm21865,ENSMUSG00000093895,protein_coding -32048,Gm3629,ENSMUSG00000093898,protein_coding -35130,Olfr893,ENSMUSG00000093901,protein_coding -51357,Gm21454,ENSMUSG00000093903,protein_coding -31881,Tomm20,ENSMUSG00000093904,protein_coding -18630,Zfp853,ENSMUSG00000093910,protein_coding -22955,Gm8660,ENSMUSG00000093917,protein_coding -51142,Gm21677,ENSMUSG00000093918,protein_coding -39219,Olfr463,ENSMUSG00000093920,protein_coding -51004,Rpl36-ps4,ENSMUSG00000093922,protein_coding -7636,Gm5935,ENSMUSG00000093923,protein_coding -32707,Gm17027,ENSMUSG00000093926,protein_coding -51180,Gm20918,ENSMUSG00000093927,protein_coding -42780,Hmgcs1,ENSMUSG00000093930,protein_coding -11996,Amy2a3,ENSMUSG00000093931,protein_coding -35235,Olfr971,ENSMUSG00000093934,protein_coding -38985,Evi2b,ENSMUSG00000093938,protein_coding -22918,Vmn1r131,ENSMUSG00000093941,protein_coding -26525,Olfr46,ENSMUSG00000093942,protein_coding -32700,Gm3543,ENSMUSG00000093945,protein_coding -32733,Gm10378,ENSMUSG00000093948,protein_coding -52145,Gm20823,ENSMUSG00000093950,protein_coding -33826,Gm16867,ENSMUSG00000093954,protein_coding -50200,Esp3,ENSMUSG00000093957,protein_coding -13777,Gm11756,ENSMUSG00000093962,protein_coding -32782,Gm8165,ENSMUSG00000093968,protein_coding -24116,Mrgpra2a,ENSMUSG00000093973,protein_coding -32260,Gm2237,ENSMUSG00000093979,protein_coding -25751,Olfr493,ENSMUSG00000093980,protein_coding -32061,Gm10406,ENSMUSG00000093985,protein_coding -22896,Vmn1r120,ENSMUSG00000093986,protein_coding -51146,Gm21704,ENSMUSG00000093987,protein_coding -38626,Rnasek,ENSMUSG00000093989,protein_coding -52197,Gm20736,ENSMUSG00000093993,protein_coding -13265,Fam205a3,ENSMUSG00000093996,protein_coding -22899,Vmn1r122,ENSMUSG00000094001,protein_coding -9260,Gm5128,ENSMUSG00000094004,protein_coding -22894,Vmn1r119,ENSMUSG00000094010,protein_coding -22858,Vmn1r94,ENSMUSG00000094011,protein_coding -28012,Gm10024,ENSMUSG00000094012,protein_coding -11247,S100a2,ENSMUSG00000094018,protein_coding -32062,Gm3685,ENSMUSG00000094021,protein_coding -50163,Esp18,ENSMUSG00000094024,protein_coding -15779,Gm8879,ENSMUSG00000094025,protein_coding -42807,Gm21762,ENSMUSG00000094027,protein_coding -48448,Gm21833,ENSMUSG00000094030,protein_coding -15065,Ldlrad2,ENSMUSG00000094035,protein_coding -15806,Gm6465,ENSMUSG00000094036,protein_coding -17315,Gm7971,ENSMUSG00000094043,protein_coding -52291,Gm21118,ENSMUSG00000094052,protein_coding -23451,Scgb2b7,ENSMUSG00000094053,protein_coding -25526,Olfr638,ENSMUSG00000094063,protein_coding -13238,Gm21541,ENSMUSG00000094065,protein_coding -13269,Fam205a2,ENSMUSG00000094066,protein_coding -28282,Gm4767,ENSMUSG00000094076,protein_coding -28090,Olfr8,ENSMUSG00000094080,protein_coding -51242,Gm20826,ENSMUSG00000094081,protein_coding -48834,Gm1604b,ENSMUSG00000094083,protein_coding -11366,Tdpoz1,ENSMUSG00000094084,protein_coding -22887,Vmn1r114,ENSMUSG00000094085,protein_coding -39295,Gm21885,ENSMUSG00000094091,protein_coding -22287,Vmn2r44,ENSMUSG00000094098,protein_coding -43647,1700047I17Rik2,ENSMUSG00000094103,protein_coding -15800,Gm8922,ENSMUSG00000094105,protein_coding -22324,Vmn2r47,ENSMUSG00000094107,protein_coding -45781,9330182O14Rik,ENSMUSG00000094112,protein_coding -21631,5430401F13Rik,ENSMUSG00000094113,protein_coding -13767,Gm11237,ENSMUSG00000094116,protein_coding -25482,Olfr612,ENSMUSG00000094119,protein_coding -28021,Gm3233,ENSMUSG00000094120,protein_coding -55511,Ccl21c,ENSMUSG00000094121,protein_coding -4980,Gm13698,ENSMUSG00000094125,protein_coding -1427,G530012D18Rik,ENSMUSG00000094127,protein_coding -31981,Gm3264,ENSMUSG00000094132,protein_coding -54549,Olfr1431,ENSMUSG00000094133,protein_coding -33162,Olfr1512,ENSMUSG00000094140,protein_coding -28756,Gm21312,ENSMUSG00000094144,protein_coding -21301,Vmn2r20,ENSMUSG00000094145,protein_coding -28013,Gm10142,ENSMUSG00000094146,protein_coding -22948,Gm8453,ENSMUSG00000094149,protein_coding -32758,Gm7233,ENSMUSG00000094151,protein_coding -23991,Slc6a16,ENSMUSG00000094152,protein_coding -22559,Sult2a7,ENSMUSG00000094156,protein_coding -32716,Gm7995,ENSMUSG00000094157,protein_coding -51416,Gm21904,ENSMUSG00000094161,protein_coding -11381,Tdpoz5,ENSMUSG00000094163,protein_coding -50155,Gm21903,ENSMUSG00000094168,protein_coding -55492,AC163611.1,ENSMUSG00000094172,protein_coding -51862,Gm21739,ENSMUSG00000094181,protein_coding -35188,Olfr937,ENSMUSG00000094182,protein_coding -28309,Gm1553,ENSMUSG00000094186,protein_coding -23010,Vmn1r170,ENSMUSG00000094187,protein_coding -19554,Olfr452,ENSMUSG00000094192,protein_coding -17295,Gm6509,ENSMUSG00000094195,protein_coding -9659,Magea3,ENSMUSG00000094196,protein_coding -25726,Olfr474,ENSMUSG00000094197,protein_coding -19571,Olfr237-ps1,ENSMUSG00000094200,protein_coding -35269,Gm21915,ENSMUSG00000094204,protein_coding -15803,Gm8926,ENSMUSG00000094205,protein_coding -22916,Vmn1r130,ENSMUSG00000094208,protein_coding -55243,Calhm3,ENSMUSG00000094219,protein_coding -22905,Vmn1r124,ENSMUSG00000094221,protein_coding -51372,Gm21767,ENSMUSG00000094227,protein_coding -42786,AF067063,ENSMUSG00000094237,protein_coding -40704,Hist1h2ao,ENSMUSG00000094248,protein_coding -35232,Olfr969,ENSMUSG00000094254,protein_coding -31972,Gm8159,ENSMUSG00000094258,protein_coding -4348,Olfr340,ENSMUSG00000094266,protein_coding -35208,Olfr951,ENSMUSG00000094269,protein_coding -13924,Gm13290,ENSMUSG00000094271,protein_coding -7284,Btbd35f17,ENSMUSG00000094273,protein_coding -17965,Cfap73,ENSMUSG00000094282,protein_coding -22885,Vmn1r112,ENSMUSG00000094284,protein_coding -33052,Olfr743,ENSMUSG00000094285,protein_coding -13246,Gm3893,ENSMUSG00000094293,protein_coding -51469,Gm20909,ENSMUSG00000094294,protein_coding -29337,Olfr819,ENSMUSG00000094295,protein_coding -46044,Gm21798,ENSMUSG00000094296,protein_coding -22861,Gm6164,ENSMUSG00000094298,protein_coding -55533,AC165294.1,ENSMUSG00000094303,protein_coding -23522,Scgb2b20,ENSMUSG00000094305,protein_coding -7278,Btbd35f28,ENSMUSG00000094307,protein_coding -27306,Rfpl4b,ENSMUSG00000094311,protein_coding -28699,Gm4301,ENSMUSG00000094314,protein_coding -51419,Gm20831,ENSMUSG00000094325,protein_coding -11387,Gm9125,ENSMUSG00000094328,protein_coding -4981,Gm13693,ENSMUSG00000094336,protein_coding -55541,Gm3286,ENSMUSG00000094337,protein_coding -40685,Hist1h2bl,ENSMUSG00000094338,protein_coding -29299,Olfr784,ENSMUSG00000094347,protein_coding -32745,Gm8082,ENSMUSG00000094349,protein_coding -55548,Gm10931,ENSMUSG00000094350,protein_coding -35229,Olfr150,ENSMUSG00000094353,protein_coding -51815,Gm21882,ENSMUSG00000094354,protein_coding -29788,Defa33,ENSMUSG00000094362,protein_coding -32016,Gm3373,ENSMUSG00000094370,protein_coding -9540,Gm15097,ENSMUSG00000094378,protein_coding -40768,Vmn1r202,ENSMUSG00000094379,protein_coding -35144,Olfr904,ENSMUSG00000094380,protein_coding -55488,AC123873.1,ENSMUSG00000094383,protein_coding -22900,Vmn1r123,ENSMUSG00000094385,protein_coding -7695,Btbd35f29,ENSMUSG00000094391,protein_coding -49056,Vmn2r124,ENSMUSG00000094396,protein_coding -52596,Gm21477,ENSMUSG00000094399,protein_coding -52393,Gm21776,ENSMUSG00000094404,protein_coding -2183,Gm38394,ENSMUSG00000094410,protein_coding -48246,Olfr205,ENSMUSG00000094422,protein_coding -25730,Olfr478,ENSMUSG00000094426,protein_coding -1889,Gm19965,ENSMUSG00000094429,protein_coding -47829,Smbd1,ENSMUSG00000094430,protein_coding -15122,Gm21969,ENSMUSG00000094439,protein_coding -49725,Zfp955a,ENSMUSG00000094441,protein_coding -30462,Sgo2b,ENSMUSG00000094443,protein_coding -24204,1700015G11Rik,ENSMUSG00000094445,protein_coding -45644,9430069I07Rik,ENSMUSG00000094447,protein_coding -35236,Olfr972,ENSMUSG00000094449,protein_coding -32037,Gm21560,ENSMUSG00000094460,protein_coding -35119,Olfr883,ENSMUSG00000094461,protein_coding -23786,Gm21028,ENSMUSG00000094462,protein_coding -4347,Olfr339,ENSMUSG00000094464,protein_coding -47378,Gm21897,ENSMUSG00000094472,protein_coding -55489,AC123873.2,ENSMUSG00000094474,protein_coding -7081,Gm11007,ENSMUSG00000094475,protein_coding -37427,Purb,ENSMUSG00000094483,protein_coding -51230,Gm21244,ENSMUSG00000094484,protein_coding -10579,Gm21958,ENSMUSG00000094487,protein_coding -38776,Olfr393,ENSMUSG00000094488,protein_coding -25676,Olfr700,ENSMUSG00000094493,protein_coding -29307,Olfr792,ENSMUSG00000094496,protein_coding -30044,Smim18,ENSMUSG00000094500,protein_coding -18530,Gm5294,ENSMUSG00000094504,protein_coding -52364,Gm21913,ENSMUSG00000094507,protein_coding -51144,Gm21693,ENSMUSG00000094511,protein_coding -55510,AC133103.3,ENSMUSG00000094514,protein_coding -25522,Olfr635,ENSMUSG00000094520,protein_coding -25595,Olfr671,ENSMUSG00000094531,protein_coding -22984,Gm4216,ENSMUSG00000094532,protein_coding -34689,Olfr850,ENSMUSG00000094535,protein_coding -48232,Olfr191,ENSMUSG00000094539,protein_coding -22957,Vmn1r149,ENSMUSG00000094542,protein_coding -32826,Gm8212,ENSMUSG00000094543,protein_coding -22871,Vmn1r101,ENSMUSG00000094545,protein_coding -20740,Vmn1r50,ENSMUSG00000094553,protein_coding -51302,Gm20821,ENSMUSG00000094556,protein_coding -7258,Btbd35f11,ENSMUSG00000094558,protein_coding -46555,Cyp2d34,ENSMUSG00000094559,protein_coding -17288,A430089I19Rik,ENSMUSG00000094560,protein_coding -52035,Gm20931,ENSMUSG00000094570,protein_coding -51781,Gm20738,ENSMUSG00000094575,protein_coding -55512,AC087559.3,ENSMUSG00000094576,protein_coding -9638,4921511M17Rik,ENSMUSG00000094577,protein_coding -32005,Gm3187,ENSMUSG00000094578,protein_coding -54483,Ms4a18,ENSMUSG00000094584,protein_coding -20725,Vmn1r41,ENSMUSG00000094586,protein_coding -35137,Olfr898,ENSMUSG00000094588,protein_coding -22891,Vmn1r118,ENSMUSG00000094589,protein_coding -32050,Gm10251,ENSMUSG00000094590,protein_coding -9642,Gm15140,ENSMUSG00000094592,protein_coding -12873,Fsbp,ENSMUSG00000094595,protein_coding -7279,Btbd35f20,ENSMUSG00000094596,protein_coding -7709,Gm5926,ENSMUSG00000094601,protein_coding -23009,Vmn1r169,ENSMUSG00000094602,protein_coding -22332,Vmn2r50,ENSMUSG00000094606,protein_coding -25749,Olfr491,ENSMUSG00000094612,protein_coding -11874,A630076J17Rik,ENSMUSG00000094613,protein_coding -52297,Gm20888,ENSMUSG00000094616,protein_coding -13917,Gm13271,ENSMUSG00000094618,protein_coding -28280,Gm3055,ENSMUSG00000094622,protein_coding -7669,Gm4836,ENSMUSG00000094624,protein_coding -21210,Tmem121b,ENSMUSG00000094626,protein_coding -31976,Gm3252,ENSMUSG00000094628,protein_coding -29339,Gm10310,ENSMUSG00000094632,protein_coding -32033,Gm3468,ENSMUSG00000094634,protein_coding -40771,Vmn1r204,ENSMUSG00000094637,protein_coding -1453,Gm21972,ENSMUSG00000094638,protein_coding -52418,Gm21650,ENSMUSG00000094647,protein_coding -13937,Gm13287,ENSMUSG00000094648,protein_coding -55442,Gm7102,ENSMUSG00000094649,protein_coding -1692,Gal3st2,ENSMUSG00000094651,protein_coding -51135,Rbmy,ENSMUSG00000094658,protein_coding -52542,Gm21394,ENSMUSG00000094660,protein_coding -55546,Ccl19,ENSMUSG00000094661,protein_coding -29789,Defa36,ENSMUSG00000094662,protein_coding -19568,Olfr441,ENSMUSG00000094669,protein_coding -21314,Vmn2r25,ENSMUSG00000094672,protein_coding -28089,Olfr1354,ENSMUSG00000094673,protein_coding -34699,Olfr857,ENSMUSG00000094678,protein_coding -51285,Gm21721,ENSMUSG00000094679,protein_coding -22898,Vmn1r121,ENSMUSG00000094680,protein_coding -22996,Gm6902,ENSMUSG00000094682,protein_coding -13279,Ccl21a,ENSMUSG00000094686,protein_coding -29762,Defa25,ENSMUSG00000094687,protein_coding -50270,1600014C23Rik,ENSMUSG00000094690,protein_coding -33046,Olfr738,ENSMUSG00000094692,protein_coding -13264,Gm21953,ENSMUSG00000094695,protein_coding -22974,Vmn1r158,ENSMUSG00000094700,protein_coding -35157,Olfr916,ENSMUSG00000094701,protein_coding -32082,Gm10338,ENSMUSG00000094706,protein_coding -8051,Gm16430,ENSMUSG00000094714,protein_coding -33116,Gm17078,ENSMUSG00000094715,protein_coding -16842,Gm5108,ENSMUSG00000094719,protein_coding -54604,Olfr1462,ENSMUSG00000094721,protein_coding -55550,AC125178.1,ENSMUSG00000094722,protein_coding -48832,Rnaset2b,ENSMUSG00000094724,protein_coding -55530,AC132444.2,ENSMUSG00000094728,protein_coding -51997,Gm20747,ENSMUSG00000094729,protein_coding -47901,Csta3,ENSMUSG00000094733,protein_coding -29315,Olfr799,ENSMUSG00000094734,protein_coding -22860,Vmn1r95,ENSMUSG00000094735,protein_coding -52443,Gm20806,ENSMUSG00000094739,protein_coding -55539,AC140325.2,ENSMUSG00000094741,protein_coding -35211,Olfr954,ENSMUSG00000094745,protein_coding -52453,Gm20916,ENSMUSG00000094746,protein_coding -5702,Olfr1307,ENSMUSG00000094747,protein_coding -22961,Gm8677,ENSMUSG00000094748,protein_coding -54595,Olfr1453,ENSMUSG00000094755,protein_coding -22862,Gm4498,ENSMUSG00000094757,protein_coding -7694,Gm10487,ENSMUSG00000094759,protein_coding -22872,Gm10670,ENSMUSG00000094762,protein_coding -4355,Olfr346,ENSMUSG00000094764,protein_coding -51290,Gm21812,ENSMUSG00000094773,protein_coding -40708,Hist1h2ap,ENSMUSG00000094777,protein_coding -35132,Olfr143,ENSMUSG00000094778,protein_coding -51896,Gm21256,ENSMUSG00000094782,protein_coding -32760,Gm8122,ENSMUSG00000094784,protein_coding -7133,Gm14403,ENSMUSG00000094786,protein_coding -51661,Gm28490,ENSMUSG00000094789,protein_coding -55490,AC126035.1,ENSMUSG00000094791,protein_coding -13631,Mup12,ENSMUSG00000094793,protein_coding -42810,BC147527,ENSMUSG00000094796,protein_coding -55559,AC125149.4,ENSMUSG00000094799,protein_coding -32388,Gm9780,ENSMUSG00000094800,protein_coding -9637,Samt1,ENSMUSG00000094802,protein_coding -32742,Gm21977,ENSMUSG00000094804,protein_coding -38255,Olfr311,ENSMUSG00000094805,protein_coding -46532,Cyp2d10,ENSMUSG00000094806,protein_coding -19432,1810009J06Rik,ENSMUSG00000094808,protein_coding -35147,Olfr907,ENSMUSG00000094810,protein_coding -32040,Gm21103,ENSMUSG00000094811,protein_coding -51323,Gm20777,ENSMUSG00000094813,protein_coding -45392,Gm21973,ENSMUSG00000094814,protein_coding -32392,Cphx3,ENSMUSG00000094817,protein_coding -29798,Defa32,ENSMUSG00000094818,protein_coding -26527,Olfr53,ENSMUSG00000094819,protein_coding -52142,Gm21518,ENSMUSG00000094821,protein_coding -25498,Olfr243,ENSMUSG00000094822,protein_coding -32003,Gm3194,ENSMUSG00000094825,protein_coding -55487,AC123873.3,ENSMUSG00000094836,protein_coding -51329,Gm20828,ENSMUSG00000094838,protein_coding -18429,Muc3a,ENSMUSG00000094840,protein_coding -38592,Tmem95,ENSMUSG00000094845,protein_coding -54634,Olfr1487,ENSMUSG00000094846,protein_coding -55498,AC133095.1,ENSMUSG00000094855,protein_coding -12422,Gm21962,ENSMUSG00000094856,protein_coding -5686,Olfr1297,ENSMUSG00000094858,protein_coding -7297,Btbd35f27,ENSMUSG00000094860,protein_coding -8614,Gm5072,ENSMUSG00000094861,protein_coding -42784,Zfp131,ENSMUSG00000094870,protein_coding -55527,AC132444.3,ENSMUSG00000094874,protein_coding -7262,Btbd35f18,ENSMUSG00000094876,protein_coding -50122,Olfr130,ENSMUSG00000094878,protein_coding -22910,Vmn1r129,ENSMUSG00000094879,protein_coding -51126,H2al2c,ENSMUSG00000094881,protein_coding -50080,Olfr105-ps,ENSMUSG00000094884,protein_coding -9525,Ott,ENSMUSG00000094885,protein_coding -55493,AC163611.2,ENSMUSG00000094887,protein_coding -49722,Olfr55,ENSMUSG00000094891,protein_coding -49079,Vmn2r101,ENSMUSG00000094892,protein_coding -35497,Gm4791,ENSMUSG00000094893,protein_coding -40764,Vmn1r201,ENSMUSG00000094898,protein_coding -7467,H2al1d,ENSMUSG00000094904,protein_coding -22967,Vmn1r155,ENSMUSG00000094905,protein_coding -44666,D430019H16Rik,ENSMUSG00000094910,protein_coding -51536,Gm21921,ENSMUSG00000094911,protein_coding -28028,Gm9507,ENSMUSG00000094913,protein_coding -55561,AC168977.2,ENSMUSG00000094915,protein_coding -41441,Gm8765,ENSMUSG00000094918,protein_coding -49185,Vmn2r112,ENSMUSG00000094921,protein_coding -32674,Gm5798,ENSMUSG00000094925,protein_coding -50359,1700122O11Rik,ENSMUSG00000094928,protein_coding -31997,Gm3526,ENSMUSG00000094929,protein_coding -22978,Vmn1r160,ENSMUSG00000094931,protein_coding -7084,Gm2007,ENSMUSG00000094932,protein_coding -22985,Vmn1r163,ENSMUSG00000094934,protein_coding -54151,Rbm4,ENSMUSG00000094936,protein_coding -51548,Gm21773,ENSMUSG00000094939,protein_coding -9530,Gm15093,ENSMUSG00000094941,protein_coding -41728,Gm3604,ENSMUSG00000094942,protein_coding -7792,Rhox4a2,ENSMUSG00000094945,protein_coding -25008,Vmn2r66,ENSMUSG00000094950,protein_coding -32722,Gm8011,ENSMUSG00000094954,protein_coding -14263,3110021N24Rik,ENSMUSG00000094958,protein_coding -10597,Gm21954,ENSMUSG00000094962,protein_coding -35197,Olfr943,ENSMUSG00000094970,protein_coding -21770,Gm8994,ENSMUSG00000094973,protein_coding -23523,Scgb1b20,ENSMUSG00000094978,protein_coding -22947,Gm8653,ENSMUSG00000094981,protein_coding -37233,Topaz1,ENSMUSG00000094985,protein_coding -54596,Olfr1454,ENSMUSG00000094986,protein_coding -36924,Fbxw25,ENSMUSG00000094992,protein_coding -35035,Pate3,ENSMUSG00000094995,protein_coding -29314,Olfr798,ENSMUSG00000095002,protein_coding -51692,Gm20838,ENSMUSG00000095011,protein_coding -32067,Gm16434,ENSMUSG00000095015,protein_coding -55560,AC234645.1,ENSMUSG00000095019,protein_coding -28757,Gm20765,ENSMUSG00000095022,protein_coding -32261,Gm5458,ENSMUSG00000095024,protein_coding -30617,Gm3336,ENSMUSG00000095026,protein_coding -10021,Sirpb1b,ENSMUSG00000095028,protein_coding -42798,Gm36079,ENSMUSG00000095029,protein_coding -33160,Olfr1513,ENSMUSG00000095030,protein_coding -51307,Gm21310,ENSMUSG00000095032,protein_coding -18726,1700001J03Rik,ENSMUSG00000095040,protein_coding -55563,AC149090.1,ENSMUSG00000095041,protein_coding -32699,Gm6401,ENSMUSG00000095044,protein_coding -13769,Gm11239,ENSMUSG00000095048,protein_coding -31961,Gm3159,ENSMUSG00000095056,protein_coding -24564,E030018B13Rik,ENSMUSG00000095061,protein_coding -7653,Slx,ENSMUSG00000095063,protein_coding -22929,Vmn1r135,ENSMUSG00000095064,protein_coding -29797,Defa20,ENSMUSG00000095066,protein_coding -42809,AF067061,ENSMUSG00000095071,protein_coding -17293,Gm3139,ENSMUSG00000095074,protein_coding -29297,Olfr782,ENSMUSG00000095075,protein_coding -55552,AC125178.2,ENSMUSG00000095076,protein_coding -22969,Gm8693,ENSMUSG00000095081,protein_coding -9543,Gm15091,ENSMUSG00000095082,protein_coding -55556,AC125149.5,ENSMUSG00000095092,protein_coding -49184,Vmn2r111,ENSMUSG00000095093,protein_coding -38762,Olfr385,ENSMUSG00000095095,protein_coding -54205,Ccdc85b,ENSMUSG00000095098,protein_coding -13936,Gm13285,ENSMUSG00000095101,protein_coding -50168,Esp15,ENSMUSG00000095104,protein_coding -40468,Edaradd,ENSMUSG00000095105,protein_coding -32732,Gm3633,ENSMUSG00000095113,protein_coding -25945,Itpripl2,ENSMUSG00000095115,protein_coding -40756,Vmn1r198,ENSMUSG00000095125,protein_coding -52045,Gm21858,ENSMUSG00000095135,protein_coding -29296,Olfr781,ENSMUSG00000095138,protein_coding -12998,Pou3f2,ENSMUSG00000095139,protein_coding -52112,Gm28891,ENSMUSG00000095141,protein_coding -11627,Hsd3b4,ENSMUSG00000095143,protein_coding -51214,Gm20873,ENSMUSG00000095148,protein_coding -52535,Gm21095,ENSMUSG00000095153,protein_coding -5669,Olfr1281,ENSMUSG00000095156,protein_coding -22938,Vmn1r138,ENSMUSG00000095163,protein_coding -27079,Taar7b,ENSMUSG00000095171,protein_coding -51394,Gm20822,ENSMUSG00000095172,protein_coding -7819,Rhox5,ENSMUSG00000095180,protein_coding -34446,Gm10718,ENSMUSG00000095186,protein_coding -37987,Olfr1381,ENSMUSG00000095187,protein_coding -54616,Olfr1472,ENSMUSG00000095189,protein_coding -22883,Gm10668,ENSMUSG00000095190,protein_coding -22930,Gm5725,ENSMUSG00000095191,protein_coding -31924,Gm3005,ENSMUSG00000095195,protein_coding -7104,Zfp967,ENSMUSG00000095199,protein_coding -22855,Vmn1r91,ENSMUSG00000095201,protein_coding -55525,CR974586.1,ENSMUSG00000095207,protein_coding -25724,Olfr473,ENSMUSG00000095212,protein_coding -40696,Hist1h2bn,ENSMUSG00000095217,protein_coding -14491,Olfr1338,ENSMUSG00000095218,protein_coding -32740,Gm10377,ENSMUSG00000095226,protein_coding -23520,Scgb1b19,ENSMUSG00000095232,protein_coding -13266,Gm21586,ENSMUSG00000095234,protein_coding -19552,Olfr38,ENSMUSG00000095236,protein_coding -25756,Olfr497,ENSMUSG00000095239,protein_coding -7862,Cypt14,ENSMUSG00000095240,protein_coding -47029,Gm5478,ENSMUSG00000095241,protein_coding -51310,Gm20834,ENSMUSG00000095242,protein_coding -55518,Ccl27,ENSMUSG00000095247,protein_coding -25610,Olfr681,ENSMUSG00000095248,protein_coding -55504,AC133103.4,ENSMUSG00000095250,protein_coding -11389,Gm10697,ENSMUSG00000095251,protein_coding -49705,Zfp799,ENSMUSG00000095253,protein_coding -23438,Scgb1b3,ENSMUSG00000095257,protein_coding -51677,Gm21094,ENSMUSG00000095263,protein_coding -51424,Ssty1,ENSMUSG00000095267,protein_coding -13901,Ifna9,ENSMUSG00000095270,protein_coding -22945,Vmn1r142,ENSMUSG00000095273,protein_coding -22879,Vmn1r107,ENSMUSG00000095275,protein_coding -23985,Gfy,ENSMUSG00000095276,protein_coding -32254,Gm21738,ENSMUSG00000095280,protein_coding -50098,Olfr117,ENSMUSG00000095286,protein_coding -7666,Gm10058,ENSMUSG00000095293,protein_coding -29748,Gm21119,ENSMUSG00000095294,protein_coding -32006,Gm3488,ENSMUSG00000095295,protein_coding -15794,Gm8906,ENSMUSG00000095296,protein_coding -41429,Gm906,ENSMUSG00000095300,protein_coding -25727,Olfr476,ENSMUSG00000095301,protein_coding -52227,Ssty2,ENSMUSG00000095302,protein_coding -32382,Plac9a,ENSMUSG00000095304,protein_coding -22906,Vmn1r125,ENSMUSG00000095309,protein_coding -38760,Olfr382,ENSMUSG00000095312,protein_coding -6396,Gm10130,ENSMUSG00000095315,protein_coding -7598,Gm21876,ENSMUSG00000095316,protein_coding -32725,Gm8024,ENSMUSG00000095318,protein_coding -55547,Ccl21a,ENSMUSG00000095320,protein_coding -35215,Olfr957,ENSMUSG00000095322,protein_coding -51252,Gm20825,ENSMUSG00000095324,protein_coding -49710,Zfp870,ENSMUSG00000095325,protein_coding -50571,Gm21834,ENSMUSG00000095330,protein_coding -22368,Zscan4b,ENSMUSG00000095339,protein_coding -13770,Gm428,ENSMUSG00000095341,protein_coding -16840,Gm21905,ENSMUSG00000095346,protein_coding -22992,Vmn1r165,ENSMUSG00000095358,protein_coding -32046,Gm3594,ENSMUSG00000095360,protein_coding -7138,Gm14325,ENSMUSG00000095362,protein_coding -22971,Gm4567,ENSMUSG00000095363,protein_coding -51411,Rbm31y,ENSMUSG00000095365,protein_coding -31931,Gm3012,ENSMUSG00000095368,protein_coding -32715,Gm9611,ENSMUSG00000095371,protein_coding -50054,Olfr91,ENSMUSG00000095377,protein_coding -22960,Vmn1r152,ENSMUSG00000095383,protein_coding -32768,1700001F09Rik,ENSMUSG00000095384,protein_coding -14166,Gm17662,ENSMUSG00000095386,protein_coding -11629,Gm10681,ENSMUSG00000095388,protein_coding -35237,Olfr229,ENSMUSG00000095390,protein_coding -29321,Olfr804,ENSMUSG00000095401,protein_coding -50690,Tmem200c,ENSMUSG00000095407,protein_coding -15228,Gm13043,ENSMUSG00000095409,protein_coding -7468,H2al1e,ENSMUSG00000095413,protein_coding -22418,Vmn1r72,ENSMUSG00000095430,protein_coding -41976,Zfp748,ENSMUSG00000095432,protein_coding -46990,Fignl2,ENSMUSG00000095440,protein_coding -7472,H2al1i,ENSMUSG00000095445,protein_coding -34702,Olfr859,ENSMUSG00000095448,protein_coding -55529,AC132444.4,ENSMUSG00000095450,protein_coding -51828,Gm20795,ENSMUSG00000095452,protein_coding -55517,Il11ra2,ENSMUSG00000095456,protein_coding -51360,Gm21725,ENSMUSG00000095462,protein_coding -33824,Entpd4,ENSMUSG00000095463,protein_coding -47972,Gm21987,ENSMUSG00000095464,protein_coding -32738,Gm3015,ENSMUSG00000095466,protein_coding -43123,Gm21863,ENSMUSG00000095470,protein_coding -9120,Cldn34c2,ENSMUSG00000095474,protein_coding -55497,AC133095.2,ENSMUSG00000095475,protein_coding -29290,Olfr776,ENSMUSG00000095483,protein_coding -54625,Olfr1480,ENSMUSG00000095484,protein_coding -21308,Vmn2r22,ENSMUSG00000095486,protein_coding -32705,Gm7951,ENSMUSG00000095490,protein_coding -32570,A630023A22Rik,ENSMUSG00000095493,protein_coding -13944,Ifna1,ENSMUSG00000095498,protein_coding -55528,AC132444.5,ENSMUSG00000095500,protein_coding -17294,Gm3147,ENSMUSG00000095503,protein_coding -55538,AC164084.1,ENSMUSG00000095505,protein_coding -51343,Gm20812,ENSMUSG00000095508,protein_coding -7807,Rhox3f,ENSMUSG00000095510,protein_coding -42787,D13Ertd608e,ENSMUSG00000095514,protein_coding -32691,Gm8068,ENSMUSG00000095518,protein_coding -51407,Gm20877,ENSMUSG00000095520,protein_coding -10686,Gm8298,ENSMUSG00000095522,protein_coding -55496,AC124606.1,ENSMUSG00000095523,protein_coding -34671,Olfr834,ENSMUSG00000095525,protein_coding -35124,Olfr888,ENSMUSG00000095527,protein_coding -32778,Gm10375,ENSMUSG00000095528,protein_coding -31922,Gm10413,ENSMUSG00000095533,protein_coding -23181,Gm21983,ENSMUSG00000095538,protein_coding -50199,Esp4,ENSMUSG00000095540,protein_coding -22956,Vmn1r148,ENSMUSG00000095543,protein_coding -7083,Zfp969,ENSMUSG00000095545,protein_coding -7660,Gm10230,ENSMUSG00000095546,protein_coding -34445,Gm10719,ENSMUSG00000095547,protein_coding -16061,Gm21671,ENSMUSG00000095550,protein_coding -32695,Gm7980,ENSMUSG00000095551,protein_coding -55524,4933409K07Rik,ENSMUSG00000095552,protein_coding -18740,Gm3415,ENSMUSG00000095557,protein_coding -15627,Noc2l,ENSMUSG00000095567,protein_coding -27082,Taar7d,ENSMUSG00000095569,protein_coding -55542,AC140325.3,ENSMUSG00000095570,protein_coding -51130,H2al2b,ENSMUSG00000095573,protein_coding -2715,Fmo6,ENSMUSG00000095576,protein_coding -21630,Gm6619,ENSMUSG00000095577,protein_coding -52466,Gm21760,ENSMUSG00000095578,protein_coding -55519,CR974586.2,ENSMUSG00000095585,protein_coding -5675,Olfr1287,ENSMUSG00000095586,protein_coding -28023,Gm7138,ENSMUSG00000095593,protein_coding -43643,Fam177a,ENSMUSG00000095595,protein_coding -7791,Rhox3a2,ENSMUSG00000095601,protein_coding -50082,Olfr106-ps,ENSMUSG00000095603,protein_coding -51984,Gm21258,ENSMUSG00000095606,protein_coding -29338,Olfr247,ENSMUSG00000095608,protein_coding -42799,Gm21188,ENSMUSG00000095609,protein_coding -22973,Vmn1r157,ENSMUSG00000095619,protein_coding -47903,Csta2,ENSMUSG00000095620,protein_coding -9535,Gm15085,ENSMUSG00000095621,protein_coding -55545,Il11ra2,ENSMUSG00000095623,protein_coding -50154,Esp24,ENSMUSG00000095625,protein_coding -22518,Vmn1r89,ENSMUSG00000095629,protein_coding -23018,Vmn1r175,ENSMUSG00000095632,protein_coding -52260,Gm20816,ENSMUSG00000095634,protein_coding -54555,Olfr1434,ENSMUSG00000095640,protein_coding -27078,Taar7a,ENSMUSG00000095647,protein_coding -7095,Gm2004,ENSMUSG00000095648,protein_coding -52562,Gm20854,ENSMUSG00000095650,protein_coding -42805,Gm21818,ENSMUSG00000095653,protein_coding -36438,Plscr5,ENSMUSG00000095654,protein_coding -7469,H2al1f,ENSMUSG00000095655,protein_coding -49200,Vmn2r-ps130,ENSMUSG00000095658,protein_coding -7735,Spin2g,ENSMUSG00000095659,protein_coding -7470,H2al1g,ENSMUSG00000095662,protein_coding -25014,Vmn2r67,ENSMUSG00000095664,protein_coding -55536,AC164084.2,ENSMUSG00000095666,protein_coding -34693,Olfr854,ENSMUSG00000095667,protein_coding -19927,Vmn1r30,ENSMUSG00000095670,protein_coding -55508,AC133103.5,ENSMUSG00000095672,protein_coding -13261,Ccl21b,ENSMUSG00000095675,protein_coding -48821,Dynlt1f,ENSMUSG00000095677,protein_coding -31989,Gm8281,ENSMUSG00000095681,protein_coding -22989,Gm10662,ENSMUSG00000095683,protein_coding -31947,Gm3099,ENSMUSG00000095686,protein_coding -48854,Rnaset2a,ENSMUSG00000095687,protein_coding -51184,Gm21820,ENSMUSG00000095693,protein_coding -29301,Olfr786,ENSMUSG00000095696,protein_coding -7799,Rhox2d,ENSMUSG00000095698,protein_coding -48248,Olfr209,ENSMUSG00000095706,protein_coding -15773,Gm8871,ENSMUSG00000095710,protein_coding -7263,Btbd35f10,ENSMUSG00000095716,protein_coding -44325,Gm2056,ENSMUSG00000095717,protein_coding -17289,Gm6502,ENSMUSG00000095718,protein_coding -28025,Gm7137,ENSMUSG00000095721,protein_coding -44300,Gm21319,ENSMUSG00000095724,protein_coding -55551,AC125178.3,ENSMUSG00000095728,protein_coding -22250,Vmn2r29,ENSMUSG00000095730,protein_coding -7806,Rhox2f,ENSMUSG00000095741,protein_coding -55572,CAAA01147332.1,ENSMUSG00000095742,protein_coding -32776,Gm17654,ENSMUSG00000095743,protein_coding -22867,Gm4133,ENSMUSG00000095745,protein_coding -7696,Spin2f,ENSMUSG00000095754,protein_coding -55521,CR974586.3,ENSMUSG00000095755,protein_coding -22909,Vmn1r128,ENSMUSG00000095758,protein_coding -51355,Gm21828,ENSMUSG00000095759,protein_coding -55495,AC124606.2,ENSMUSG00000095763,protein_coding -33050,Olfr741,ENSMUSG00000095765,protein_coding -22881,Vmn1r111,ENSMUSG00000095768,protein_coding -51352,Gm21891,ENSMUSG00000095769,protein_coding -7704,Gm21637,ENSMUSG00000095770,protein_coding -22306,Vmn2r38,ENSMUSG00000095773,protein_coding -35233,Olfr970,ENSMUSG00000095774,protein_coding -52193,Gm20924,ENSMUSG00000095785,protein_coding -55505,AC133103.6,ENSMUSG00000095787,protein_coding -10020,Sirpb1a,ENSMUSG00000095788,protein_coding -18236,Nupr1l,ENSMUSG00000095789,protein_coding -51723,Gm20855,ENSMUSG00000095793,protein_coding -32004,Gm8246,ENSMUSG00000095797,protein_coding -44351,Gm8332,ENSMUSG00000095799,protein_coding -29347,Olfr824,ENSMUSG00000095804,protein_coding -22869,Gm5728,ENSMUSG00000095806,protein_coding -5678,Olfr1290,ENSMUSG00000095809,protein_coding -7308,Btbd35f7,ENSMUSG00000095814,protein_coding -28022,Gm3238,ENSMUSG00000095817,protein_coding -42812,Tcstv3,ENSMUSG00000095821,protein_coding -11379,Gm9117,ENSMUSG00000095822,protein_coding -4985,Gm13697,ENSMUSG00000095824,protein_coding -15787,Speer1,ENSMUSG00000095829,protein_coding -19550,Olfr453,ENSMUSG00000095831,protein_coding -22876,Gm4141,ENSMUSG00000095837,protein_coding -35227,Olfr965,ENSMUSG00000095839,protein_coding -30969,Gm5741,ENSMUSG00000095845,protein_coding -51136,Gm10256,ENSMUSG00000095852,protein_coding -50078,Olfr104-ps,ENSMUSG00000095858,protein_coding -22445,Vmn1r77,ENSMUSG00000095864,protein_coding -52448,Gm20917,ENSMUSG00000095867,protein_coding -11322,Lce1k,ENSMUSG00000095870,protein_coding -9500,Gm15128,ENSMUSG00000095872,protein_coding -51423,Gm21764,ENSMUSG00000095879,protein_coding -50175,Esp38,ENSMUSG00000095886,protein_coding -7675,Gm10096,ENSMUSG00000095887,protein_coding -34447,Gm10717,ENSMUSG00000095891,protein_coding -35120,Olfr884,ENSMUSG00000095893,protein_coding -13899,Ifna14,ENSMUSG00000095896,protein_coding -51364,Gm20773,ENSMUSG00000095900,protein_coding -26524,Olfr538,ENSMUSG00000095901,protein_coding -35231,Olfr968,ENSMUSG00000095903,protein_coding -41885,Gm10324,ENSMUSG00000095909,protein_coding -25718,Olfr469,ENSMUSG00000095910,protein_coding -31993,Gm3317,ENSMUSG00000095912,protein_coding -22329,Vmn2r48,ENSMUSG00000095914,protein_coding -40743,Vmn1r191,ENSMUSG00000095916,protein_coding -33049,Olfr740,ENSMUSG00000095917,protein_coding -15782,Gm5861,ENSMUSG00000095918,protein_coding -51437,Gm21822,ENSMUSG00000095927,protein_coding -48245,Olfr204,ENSMUSG00000095928,protein_coding -25743,Olfr487,ENSMUSG00000095929,protein_coding -42782,Nim1k,ENSMUSG00000095930,protein_coding -22976,Vmn1r159,ENSMUSG00000095931,protein_coding -20739,Vmn1r49,ENSMUSG00000095932,protein_coding -7730,Btbd35f13,ENSMUSG00000095934,protein_coding -13766,Gm11238,ENSMUSG00000095935,protein_coding -22392,Zscan4e,ENSMUSG00000095936,protein_coding -31488,Tle7,ENSMUSG00000095941,protein_coding -51148,Gm21708,ENSMUSG00000095948,protein_coding -51314,Gm20737,ENSMUSG00000095950,protein_coding -17299,Gm3183,ENSMUSG00000095954,protein_coding -34669,Olfr832,ENSMUSG00000095957,protein_coding -49080,Vmn2r102,ENSMUSG00000095961,protein_coding -22936,Vmn1r137,ENSMUSG00000095962,protein_coding -28009,Gm19402,ENSMUSG00000095970,protein_coding -22889,Vmn1r116,ENSMUSG00000095973,protein_coding -32384,Cphx1,ENSMUSG00000095975,protein_coding -22933,Gm5891,ENSMUSG00000095976,protein_coding -51924,Gm21209,ENSMUSG00000095979,protein_coding -22962,Gm4201,ENSMUSG00000095984,protein_coding -49026,Zfp97,ENSMUSG00000095990,protein_coding -48538,Krtap22-2,ENSMUSG00000095992,protein_coding -55448,Gm21060,ENSMUSG00000095993,protein_coding -17306,Gm16513,ENSMUSG00000095996,protein_coding -29287,Olfr773,ENSMUSG00000096000,protein_coding -32629,2610528A11Rik,ENSMUSG00000096001,protein_coding -22476,Vmn2r53,ENSMUSG00000096002,protein_coding -32001,Gm3500,ENSMUSG00000096003,protein_coding -50127,Olfr134,ENSMUSG00000096009,protein_coding -21783,Hist4h4,ENSMUSG00000096010,protein_coding -13898,Ifna15,ENSMUSG00000096011,protein_coding -29583,Sox1,ENSMUSG00000096014,protein_coding -52254,Gm20937,ENSMUSG00000096016,protein_coding -31999,Gm3542,ENSMUSG00000096023,protein_coding -33114,Gm17174,ENSMUSG00000096024,protein_coding -25606,Olfr679,ENSMUSG00000096029,protein_coding -17227,Odaph,ENSMUSG00000096035,protein_coding -51203,Gm21778,ENSMUSG00000096036,protein_coding -31916,D830030K20Rik,ENSMUSG00000096039,protein_coding -17275,Gm16427,ENSMUSG00000096044,protein_coding -16064,Gm21698,ENSMUSG00000096045,protein_coding -44323,Gm2075,ENSMUSG00000096049,protein_coding -20724,Vmn1r40,ENSMUSG00000096051,protein_coding -26767,Syne1,ENSMUSG00000096054,protein_coding -17307,Gm10424,ENSMUSG00000096066,protein_coding -25741,Olfr486,ENSMUSG00000096068,protein_coding -26526,Olfr61,ENSMUSG00000096069,protein_coding -22946,Vmn1r143,ENSMUSG00000096071,protein_coding -8615,Gm8914,ENSMUSG00000096072,protein_coding -22994,Vmn1r166,ENSMUSG00000096073,protein_coding -38425,Gm10428,ENSMUSG00000096083,protein_coding -1247,A630095N17Rik,ENSMUSG00000096094,protein_coding -7466,H2al1c,ENSMUSG00000096097,protein_coding -40813,Vmn1r220,ENSMUSG00000096099,protein_coding -55506,AC133103.7,ENSMUSG00000096100,protein_coding -35200,Olfr1537,ENSMUSG00000096109,protein_coding -51835,Gm21800,ENSMUSG00000096120,protein_coding -52078,Gm21943,ENSMUSG00000096122,protein_coding -28026,Gm9639,ENSMUSG00000096131,protein_coding -17318,Gm7978,ENSMUSG00000096139,protein_coding -50229,Ankrd66,ENSMUSG00000096140,protein_coding -810,Dnah7a,ENSMUSG00000096141,protein_coding -26252,Vkorc1,ENSMUSG00000096145,protein_coding -24062,Kcnj11,ENSMUSG00000096146,protein_coding -25728,Olfr477,ENSMUSG00000096151,protein_coding -22856,Gm16442,ENSMUSG00000096152,protein_coding -15231,Gm13057,ENSMUSG00000096154,protein_coding -22857,Vmn1r93,ENSMUSG00000096164,protein_coding -35123,Olfr887,ENSMUSG00000096167,protein_coding -49724,Olfr1564,ENSMUSG00000096169,protein_coding -42791,Gm21761,ENSMUSG00000096175,protein_coding -52647,Gm20837,ENSMUSG00000096178,protein_coding -22331,Vmn2r49,ENSMUSG00000096180,protein_coding -32070,Gm3727,ENSMUSG00000096183,protein_coding -31299,Cmtm4,ENSMUSG00000096188,protein_coding -7707,Btbd35f2,ENSMUSG00000096194,protein_coding -31988,4930555G01Rik,ENSMUSG00000096197,protein_coding -42845,Ptrhd1,ENSMUSG00000096199,protein_coding -34449,Gm10715,ENSMUSG00000096201,protein_coding -25774,Olfr510,ENSMUSG00000096209,protein_coding -46379,H1f0,ENSMUSG00000096210,protein_coding -47216,Smim22,ENSMUSG00000096215,protein_coding -31943,Gm2916,ENSMUSG00000096218,protein_coding -29289,Olfr775,ENSMUSG00000096220,protein_coding -51294,Gm21874,ENSMUSG00000096223,protein_coding -12690,Lhx8,ENSMUSG00000096225,protein_coding -22217,Olfr5,ENSMUSG00000096228,protein_coding -29288,Olfr774,ENSMUSG00000096229,protein_coding -17282,Gm16429,ENSMUSG00000096230,protein_coding -55534,AC165294.2,ENSMUSG00000096236,protein_coding -55549,CT868723.1,ENSMUSG00000096237,protein_coding -4699,Gm21830,ENSMUSG00000096240,protein_coding -55554,AC102264.1,ENSMUSG00000096244,protein_coding -33030,Olfr724,ENSMUSG00000096254,protein_coding -48815,Dynlt1b,ENSMUSG00000096255,protein_coding -23267,Ccer2,ENSMUSG00000096257,protein_coding -17287,Gm3106,ENSMUSG00000096259,protein_coding -29730,4930467E23Rik,ENSMUSG00000096265,protein_coding -51198,Gm20914,ENSMUSG00000096268,protein_coding -55516,Ccl21b,ENSMUSG00000096271,protein_coding -54618,Olfr1474,ENSMUSG00000096273,protein_coding -44318,Gm2042,ENSMUSG00000096276,protein_coding -49251,Dcpp2,ENSMUSG00000096278,protein_coding -22940,Gm6176,ENSMUSG00000096283,protein_coding -42790,Tcstv1,ENSMUSG00000096284,protein_coding -54629,Olfr1484,ENSMUSG00000096289,protein_coding -29787,Defa2,ENSMUSG00000096295,protein_coding -22943,Gm16451,ENSMUSG00000096304,protein_coding -36565,Faiml,ENSMUSG00000096316,protein_coding -54615,Olfr1471,ENSMUSG00000096320,protein_coding -42803,Gm20767,ENSMUSG00000096323,protein_coding -42442,Gm21976,ENSMUSG00000096330,protein_coding -13776,Gm13871,ENSMUSG00000096333,protein_coding -4984,Gm13694,ENSMUSG00000096337,protein_coding -18734,Gm6408,ENSMUSG00000096344,protein_coding -50166,Esp16,ENSMUSG00000096345,protein_coding -22944,Gm10666,ENSMUSG00000096348,protein_coding -15628,Samd11,ENSMUSG00000096351,protein_coding -35125,Olfr889,ENSMUSG00000096356,protein_coding -54605,Olfr1463,ENSMUSG00000096365,protein_coding -54148,Gm21992,ENSMUSG00000096370,protein_coding -32771,Gm8138,ENSMUSG00000096372,protein_coding -22259,Vmn2r31,ENSMUSG00000096373,protein_coding -28027,Gm19668,ENSMUSG00000096380,protein_coding -34442,Gm11168,ENSMUSG00000096385,protein_coding -22870,Vmn1r100,ENSMUSG00000096386,protein_coding -36977,Fam240a,ENSMUSG00000096393,protein_coding -22270,Vmn2r35,ENSMUSG00000096399,protein_coding -32617,4930474N05Rik,ENSMUSG00000096405,protein_coding -35126,Olfr890,ENSMUSG00000096409,protein_coding -28016,Gm10100,ENSMUSG00000096421,protein_coding -35121,Olfr885,ENSMUSG00000096424,protein_coding -7252,Btbd35f24,ENSMUSG00000096426,protein_coding -35133,Olfr895,ENSMUSG00000096427,protein_coding -49175,Zfp994,ENSMUSG00000096433,protein_coding -54559,Olfr1437,ENSMUSG00000096436,protein_coding -27086,Taar8a,ENSMUSG00000096442,protein_coding -49250,Dcpp1,ENSMUSG00000096445,protein_coding -32752,Gm8104,ENSMUSG00000096446,protein_coding -7671,Gm10147,ENSMUSG00000096457,protein_coding -44570,Moap1,ENSMUSG00000096458,protein_coding -33911,Gm21750,ENSMUSG00000096463,protein_coding -25744,Olfr488,ENSMUSG00000096465,protein_coding -23519,Scgb2b19,ENSMUSG00000096467,protein_coding -8050,Gm16405,ENSMUSG00000096468,protein_coding -32015,Gm9603,ENSMUSG00000096470,protein_coding -34783,Cdkn2d,ENSMUSG00000096472,protein_coding -50055,Olfr92,ENSMUSG00000096477,protein_coding -28024,Gm3250,ENSMUSG00000096481,protein_coding -4983,Gm13696,ENSMUSG00000096484,protein_coding -54609,Olfr1466,ENSMUSG00000096485,protein_coding -28624,Gm5426,ENSMUSG00000096486,protein_coding -31923,Gm10409,ENSMUSG00000096488,protein_coding -29302,Olfr787,ENSMUSG00000096497,protein_coding -55523,CR974586.4,ENSMUSG00000096506,protein_coding -9263,Gm7903,ENSMUSG00000096508,protein_coding -22926,Gm4175,ENSMUSG00000096513,protein_coding -25499,Olfr628,ENSMUSG00000096516,protein_coding -34443,Gm10721,ENSMUSG00000096519,protein_coding -51152,Gm3376,ENSMUSG00000096520,protein_coding -19433,Gm2663,ENSMUSG00000096525,protein_coding -18735,Gm6370,ENSMUSG00000096527,protein_coding -13774,Gm11758,ENSMUSG00000096530,protein_coding -48536,Krtap16-3,ENSMUSG00000096534,protein_coding -41810,Fam240b,ENSMUSG00000096537,protein_coding -27115,Smlr1,ENSMUSG00000096546,protein_coding -50347,Prickle4,ENSMUSG00000096549,protein_coding -55491,Gm16367,ENSMUSG00000096550,protein_coding -5670,Olfr1282,ENSMUSG00000096554,protein_coding -35199,Olfr944,ENSMUSG00000096555,protein_coding -5700,Olfr1306,ENSMUSG00000096566,protein_coding -11997,Amy2a2,ENSMUSG00000096569,protein_coding -31920,Gm2956,ENSMUSG00000096574,protein_coding -44291,Oog1,ENSMUSG00000096576,protein_coding -13926,Gm13289,ENSMUSG00000096582,protein_coding -25481,Olfr611,ENSMUSG00000096584,protein_coding -13927,Gm13272,ENSMUSG00000096591,protein_coding -22478,Vmn2r54,ENSMUSG00000096593,protein_coding -13271,Gm10591,ENSMUSG00000096596,protein_coding -53895,Gm21886,ENSMUSG00000096597,protein_coding -22986,Gm8720,ENSMUSG00000096601,protein_coding -25286,Tpbgl,ENSMUSG00000096606,protein_coding -46637,7530416G11Rik,ENSMUSG00000096607,protein_coding -44316,Gm2035,ENSMUSG00000096619,protein_coding -7640,Gm5169,ENSMUSG00000096620,protein_coding -11262,Gm5849,ENSMUSG00000096621,protein_coding -52094,Gm21861,ENSMUSG00000096626,protein_coding -32012,Gm3383,ENSMUSG00000096629,protein_coding -21319,Vmn2r26,ENSMUSG00000096630,protein_coding -28709,Gm4312,ENSMUSG00000096640,protein_coding -41439,Gm904,ENSMUSG00000096641,protein_coding -9666,Magea1,ENSMUSG00000096644,protein_coding -7702,Spin2e,ENSMUSG00000096645,protein_coding -55522,CR974586.5,ENSMUSG00000096646,protein_coding -51739,Gm20896,ENSMUSG00000096650,protein_coding -22304,Vmn2r39,ENSMUSG00000096658,protein_coding -22873,Vmn1r103,ENSMUSG00000096663,protein_coding -18739,Gm3409,ENSMUSG00000096664,protein_coding -52222,Gm20852,ENSMUSG00000096666,protein_coding -13640,Mup15,ENSMUSG00000096674,protein_coding -25758,Olfr498,ENSMUSG00000096679,protein_coding -55537,AC164084.3,ENSMUSG00000096680,protein_coding -13942,Ifna5,ENSMUSG00000096682,protein_coding -32056,Gm3642,ENSMUSG00000096685,protein_coding -51225,Gm20830,ENSMUSG00000096686,protein_coding -27328,Mfsd4b4,ENSMUSG00000096687,protein_coding -13644,Mup17,ENSMUSG00000096688,protein_coding -22264,Vmn2r33,ENSMUSG00000096691,protein_coding -48237,Olfr196,ENSMUSG00000096695,protein_coding -49025,Zfp960,ENSMUSG00000096696,protein_coding -50156,Esp23,ENSMUSG00000096697,protein_coding -13768,Gm11236,ENSMUSG00000096700,protein_coding -5674,Olfr1286,ENSMUSG00000096703,protein_coding -14499,Olfr1329,ENSMUSG00000096705,protein_coding -51195,Gm21854,ENSMUSG00000096706,protein_coding -54619,Olfr1475,ENSMUSG00000096708,protein_coding -25675,Olfr699,ENSMUSG00000096714,protein_coding -49070,Vmn2r98,ENSMUSG00000096717,protein_coding -28289,Zfp781,ENSMUSG00000096718,protein_coding -24117,Mrgpra2b,ENSMUSG00000096719,protein_coding -49793,Psmb9,ENSMUSG00000096727,protein_coding -55543,AC140325.4,ENSMUSG00000096728,protein_coding -4982,Gm13695,ENSMUSG00000096729,protein_coding -55571,Vmn2r122,ENSMUSG00000096730,protein_coding -15790,Gm8897,ENSMUSG00000096732,protein_coding -37295,Gm21836,ENSMUSG00000096734,protein_coding -22454,Vmn1r79,ENSMUSG00000096735,protein_coding -34448,Gm17535,ENSMUSG00000096736,protein_coding -22890,Vmn1r117,ENSMUSG00000096737,protein_coding -54399,Lbhd1,ENSMUSG00000096740,protein_coding -17302,Gm6367,ENSMUSG00000096742,protein_coding -22261,Vmn2r32,ENSMUSG00000096743,protein_coding -28704,Gm4307,ENSMUSG00000096744,protein_coding -29345,Olfr823,ENSMUSG00000096747,protein_coding -13775,Gm11757,ENSMUSG00000096750,protein_coding -44585,Fam181a,ENSMUSG00000096753,protein_coding -55535,AC165294.3,ENSMUSG00000096756,protein_coding -35139,Olfr251,ENSMUSG00000096757,protein_coding -22927,Gm4177,ENSMUSG00000096760,protein_coding -22875,Gm5726,ENSMUSG00000096761,protein_coding -5720,Gm21985,ENSMUSG00000096764,protein_coding -51952,Gm21117,ENSMUSG00000096769,protein_coding -11995,Amy2a4,ENSMUSG00000096770,protein_coding -25599,Olfr675,ENSMUSG00000096773,protein_coding -31948,Gm5796,ENSMUSG00000096775,protein_coding -55553,Vmn1r186,ENSMUSG00000096776,protein_coding -7803,Rhox2e,ENSMUSG00000096788,protein_coding -31938,Gm3002,ENSMUSG00000096793,protein_coding -35145,Olfr905,ENSMUSG00000096794,protein_coding -28276,Zfp433,ENSMUSG00000096795,protein_coding -18725,Gm6309,ENSMUSG00000096798,protein_coding -44324,Gm6803,ENSMUSG00000096803,protein_coding -38254,Olfr312,ENSMUSG00000096806,protein_coding -55532,AC132444.6,ENSMUSG00000096808,protein_coding -22907,Vmn1r126,ENSMUSG00000096813,protein_coding -51421,Srsy,ENSMUSG00000096819,protein_coding -51353,Gm21425,ENSMUSG00000096820,protein_coding -4353,Olfr344,ENSMUSG00000096822,protein_coding -13273,Ccl27b,ENSMUSG00000096826,protein_coding -9516,Gm15127,ENSMUSG00000096834,protein_coding -32049,Gm3460,ENSMUSG00000096839,protein_coding -50132,Olfr136,ENSMUSG00000096840,protein_coding -15784,Gm8890,ENSMUSG00000096846,protein_coding -50258,Tmem151b,ENSMUSG00000096847,protein_coding -52655,Gm21748,ENSMUSG00000096850,protein_coding -46549,Cyp2d12,ENSMUSG00000096852,protein_coding -13928,Ifnz,ENSMUSG00000096854,protein_coding -28273,Gm10778,ENSMUSG00000096856,protein_coding -29322,Olfr805,ENSMUSG00000096858,protein_coding -23019,Vmn1r176,ENSMUSG00000096859,protein_coding -25016,Vmn2r68,ENSMUSG00000096861,protein_coding -9639,Gm10057,ENSMUSG00000096867,protein_coding -32065,Gm6676,ENSMUSG00000096869,protein_coding -22958,Gm10665,ENSMUSG00000096871,protein_coding -54427,Scgb2a2,ENSMUSG00000096872,protein_coding -55520,Ccl21b,ENSMUSG00000096873,protein_coding -15863,Gm21083,ENSMUSG00000096878,protein_coding -11339,Gm4858,ENSMUSG00000096879,protein_coding -46517,Shisa8,ENSMUSG00000096883,protein_coding -51827,Gm21797,ENSMUSG00000096885,protein_coding -20425,Gm20594,ENSMUSG00000096887,protein_coding -52424,Gm20867,ENSMUSG00000096898,protein_coding -31944,Gm3029,ENSMUSG00000096901,protein_coding -52329,Gm20843,ENSMUSG00000096902,protein_coding -22874,Vmn1r104,ENSMUSG00000096903,protein_coding -32045,Gm3591,ENSMUSG00000096904,protein_coding -49727,Zfp955b,ENSMUSG00000096910,protein_coding -30398,Galntl6,ENSMUSG00000096914,protein_coding -7732,Btbd35f6,ENSMUSG00000096915,protein_coding -23223,Zfp850,ENSMUSG00000096916,protein_coding -37413,A730071L15Rik,ENSMUSG00000096923,protein_coding -13546,Gm26657,ENSMUSG00000096930,protein_coding -17704,Gm26897,ENSMUSG00000096949,protein_coding -8331,Gm18336,ENSMUSG00000096966,protein_coding -2879,Gm26620,ENSMUSG00000096968,protein_coding -47063,Gm9918,ENSMUSG00000097050,protein_coding -26172,Cdiptos,ENSMUSG00000097075,protein_coding -13914,Gm26566,ENSMUSG00000097078,protein_coding -31664,Foxl1,ENSMUSG00000097084,protein_coding -32122,Gm3839,ENSMUSG00000097148,protein_coding -5006,Gm19426,ENSMUSG00000097187,protein_coding -45431,1810049J17Rik,ENSMUSG00000097221,protein_coding -39681,Gm27029,ENSMUSG00000097239,protein_coding -16257,Gm9903,ENSMUSG00000097271,protein_coding -27037,E030030I06Rik,ENSMUSG00000097327,protein_coding -38577,Tnfsf12,ENSMUSG00000097328,protein_coding -41975,Zfp87,ENSMUSG00000097333,protein_coding -23027,Vmn1r181,ENSMUSG00000097425,protein_coding -28753,Gm6763,ENSMUSG00000097427,protein_coding -39683,Ptges3l,ENSMUSG00000097487,protein_coding -28755,Gm21304,ENSMUSG00000097550,protein_coding -41974,Gm26965,ENSMUSG00000097565,protein_coding -27565,Gm26741,ENSMUSG00000097704,protein_coding -24993,Gm2115,ENSMUSG00000097789,protein_coding -32009,Gm3532,ENSMUSG00000097853,protein_coding -28137,Gm26602,ENSMUSG00000097854,protein_coding -28754,Gm8764,ENSMUSG00000097878,protein_coding -38492,Gsg1l2,ENSMUSG00000097886,protein_coding -2261,Ascl5,ENSMUSG00000097918,protein_coding -31649,Gm27021,ENSMUSG00000097919,protein_coding -44663,Tunar,ENSMUSG00000097929,protein_coding -23498,Scgb2b15,ENSMUSG00000097972,protein_coding -23476,Scgb2b12,ENSMUSG00000097982,protein_coding -5459,Gm27027,ENSMUSG00000098004,protein_coding -23331,Zfp82,ENSMUSG00000098022,protein_coding -8852,Gm26992,ENSMUSG00000098078,protein_coding -23509,Scgb2b17,ENSMUSG00000098094,protein_coding -46980,Bin2,ENSMUSG00000098112,protein_coding -25864,Rassf10,ENSMUSG00000098132,protein_coding -44184,Rnf113a2,ENSMUSG00000098134,protein_coding -18558,Gm26938,ENSMUSG00000098140,protein_coding -46217,Ccdc166,ENSMUSG00000098176,protein_coding -27663,Sowahc,ENSMUSG00000098188,protein_coding -10845,Arl14,ENSMUSG00000098207,protein_coding -48160,Rpl24,ENSMUSG00000098274,protein_coding -2171,Gm28040,ENSMUSG00000098306,protein_coding -7828,Btg1-ps2,ENSMUSG00000098348,protein_coding -49589,Gm28043,ENSMUSG00000098374,protein_coding -6300,Pet117,ENSMUSG00000098387,protein_coding -37789,Gm12117,ENSMUSG00000098456,protein_coding -32391,Cphx2,ENSMUSG00000098463,protein_coding -21344,C1rb,ENSMUSG00000098470,protein_coding -5866,Pla2g4b,ENSMUSG00000098488,protein_coding -7250,Gm14496,ENSMUSG00000098505,protein_coding -2392,Rgs21,ENSMUSG00000098509,protein_coding -44567,Gm28051,ENSMUSG00000098530,protein_coding -703,Gm5269,ENSMUSG00000098549,protein_coding -34215,Kctd12,ENSMUSG00000098557,protein_coding -9375,Gm15013,ENSMUSG00000098559,protein_coding -35027,Gm1113,ENSMUSG00000098590,protein_coding -6564,Gm14214,ENSMUSG00000098640,protein_coding -37622,Gm28048,ENSMUSG00000098650,protein_coding -46208,Mroh6,ENSMUSG00000098678,protein_coding -41962,Gm28041,ENSMUSG00000098692,protein_coding -19675,Gm28053,ENSMUSG00000098715,protein_coding -6164,Prn,ENSMUSG00000098754,protein_coding -33832,Gm27179,ENSMUSG00000098773,protein_coding -41960,Gm28044,ENSMUSG00000098781,protein_coding -5864,Jmjd7,ENSMUSG00000098789,protein_coding -4149,Gm28038,ENSMUSG00000098794,protein_coding -35038,Gm27235,ENSMUSG00000098847,protein_coding -41961,Zfp953,ENSMUSG00000098905,protein_coding -1936,Tmem185b,ENSMUSG00000098923,protein_coding -6613,Gm28036,ENSMUSG00000098950,protein_coding -29183,Rdh16f1,ENSMUSG00000099009,protein_coding -116,Tcf24,ENSMUSG00000099032,protein_coding -4147,Gm28035,ENSMUSG00000099041,protein_coding -47086,Atf7,ENSMUSG00000099083,protein_coding -37449,Gm11983,ENSMUSG00000099102,protein_coding -48869,Gm17087,ENSMUSG00000099104,protein_coding -42393,Gm17190,ENSMUSG00000099115,protein_coding -22555,Obox8,ENSMUSG00000099216,protein_coding -40332,Calm5,ENSMUSG00000099269,protein_coding -13706,Gm11214,ENSMUSG00000099294,protein_coding -54496,Ms4a14,ENSMUSG00000099398,protein_coding -44029,Gm6657,ENSMUSG00000099418,protein_coding -13935,Gm13279,ENSMUSG00000099420,protein_coding -7471,H2al1h,ENSMUSG00000099443,protein_coding -25380,Xndc1,ENSMUSG00000099481,protein_coding -5308,Olfr1228,ENSMUSG00000099486,protein_coding -40838,Hist1h3g,ENSMUSG00000099517,protein_coding -13933,Gm13275,ENSMUSG00000099518,protein_coding -52292,Gm29644,ENSMUSG00000099530,protein_coding -52316,Gm20869,ENSMUSG00000099531,protein_coding -51595,Gm21488,ENSMUSG00000099541,protein_coding -13930,Gm13276,ENSMUSG00000099545,protein_coding -52287,Gm28079,ENSMUSG00000099550,protein_coding -36502,Gm28729,ENSMUSG00000099564,protein_coding -23468,Scgb1b10,ENSMUSG00000099581,protein_coding -40850,Hist1h3d,ENSMUSG00000099583,protein_coding -40737,Vmn1r189,ENSMUSG00000099611,protein_coding -55218,2310034G01Rik,ENSMUSG00000099655,protein_coding -25493,Olfr623,ENSMUSG00000099687,protein_coding -23324,Zfp383,ENSMUSG00000099689,protein_coding -7710,Btbd35f21,ENSMUSG00000099711,protein_coding -23474,Scgb2b11,ENSMUSG00000099729,protein_coding -52480,Gm28897,ENSMUSG00000099740,protein_coding -15859,Gm21149,ENSMUSG00000099762,protein_coding -52348,Gm20903,ENSMUSG00000099782,protein_coding -40745,Vmn1r192,ENSMUSG00000099787,protein_coding -52431,Gm29564,ENSMUSG00000099792,protein_coding -5083,Olfr1036,ENSMUSG00000099820,protein_coding -52546,Gm21409,ENSMUSG00000099840,protein_coding -52602,Gm20906,ENSMUSG00000099856,protein_coding -51251,Gm29049,ENSMUSG00000099861,protein_coding -52487,Gm20911,ENSMUSG00000099894,protein_coding -23510,Scgb1b17,ENSMUSG00000099898,protein_coding -23528,Scgb2b21,ENSMUSG00000099900,protein_coding -47510,Gm28539,ENSMUSG00000099908,protein_coding -803,Gm28551,ENSMUSG00000099913,protein_coding -40804,Vmn1r215,ENSMUSG00000099917,protein_coding -52516,Gm28827,ENSMUSG00000099925,protein_coding -36367,Bcl2a1d,ENSMUSG00000099974,protein_coding -27088,Taar8c,ENSMUSG00000100004,protein_coding -5290,Olfr1215,ENSMUSG00000100016,protein_coding -52265,Gm20817,ENSMUSG00000100032,protein_coding -52009,Gm20929,ENSMUSG00000100045,protein_coding -51579,Gm20890,ENSMUSG00000100055,protein_coding -23517,Scgb2b18,ENSMUSG00000100058,protein_coding -13910,Ifnab,ENSMUSG00000100079,protein_coding -9077,Tgif2lx1,ENSMUSG00000100133,protein_coding -27087,Taar8b,ENSMUSG00000100186,protein_coding -1374,Krtap28-10,ENSMUSG00000100190,protein_coding -9076,Tgif2lx2,ENSMUSG00000100194,protein_coding -7436,H2al1m,ENSMUSG00000100200,protein_coding -40840,Hist1h3f,ENSMUSG00000100210,protein_coding -51341,Gm29554,ENSMUSG00000100231,protein_coding -13931,Gm13277,ENSMUSG00000100234,protein_coding -41944,Gm28557,ENSMUSG00000100235,protein_coding -52576,Gm20820,ENSMUSG00000100240,protein_coding -32537,Slc18a3,ENSMUSG00000100241,protein_coding -7251,Btbd35f23,ENSMUSG00000100249,protein_coding -25382,Trpc2,ENSMUSG00000100254,protein_coding -1897,Gm28363,ENSMUSG00000100265,protein_coding -40772,Vmn1r205,ENSMUSG00000100296,protein_coding -1901,Gm28360,ENSMUSG00000100305,protein_coding -51934,Gm28870,ENSMUSG00000100338,protein_coding -7440,H2al1k,ENSMUSG00000100448,protein_coding -51648,Gm29582,ENSMUSG00000100467,protein_coding -51968,Gm20920,ENSMUSG00000100485,protein_coding -33672,Gm4131,ENSMUSG00000100486,protein_coding -13920,Gm13283,ENSMUSG00000100505,protein_coding -23347,Ovol3,ENSMUSG00000100512,protein_coding -52320,Gm20870,ENSMUSG00000100535,protein_coding -13940,Ifna11,ENSMUSG00000100549,protein_coding -22564,Vmn1r90,ENSMUSG00000100586,protein_coding -52642,Gm21996,ENSMUSG00000100608,protein_coding -1905,Gm7145,ENSMUSG00000100617,protein_coding -54262,Gm28374,ENSMUSG00000100621,protein_coding -42312,Gm20379,ENSMUSG00000100622,protein_coding -7464,H2al1a,ENSMUSG00000100626,protein_coding -51199,Gm28171,ENSMUSG00000100634,protein_coding -4859,Gm28230,ENSMUSG00000100642,protein_coding -51244,Gm28576,ENSMUSG00000100645,protein_coding -52121,1700040F15Rik,ENSMUSG00000100667,protein_coding -801,Gm28778,ENSMUSG00000100679,protein_coding -27083,Taar7e,ENSMUSG00000100689,protein_coding -17142,Gm28434,ENSMUSG00000100704,protein_coding -52398,Gm21173,ENSMUSG00000100708,protein_coding -13939,Ifna7,ENSMUSG00000100713,protein_coding -52131,Gm21497,ENSMUSG00000100726,protein_coding -36388,Gm29094,ENSMUSG00000100838,protein_coding -1061,Gm28845,ENSMUSG00000100846,protein_coding -52160,Gm21627,ENSMUSG00000100856,protein_coding -51790,Gm20897,ENSMUSG00000100892,protein_coding -5244,Olfr1167,ENSMUSG00000100899,protein_coding -52384,Gm20850,ENSMUSG00000100902,protein_coding -24006,Lhb,ENSMUSG00000100916,protein_coding -37975,Olfr10,ENSMUSG00000100923,protein_coding -54213,1700020D05Rik,ENSMUSG00000100937,protein_coding -51232,Gm28998,ENSMUSG00000100939,protein_coding -27085,Taar7f,ENSMUSG00000100950,protein_coding -10904,Gm29133,ENSMUSG00000100962,protein_coding -6108,Gm28372,ENSMUSG00000100963,protein_coding -46622,Gm29666,ENSMUSG00000100967,protein_coding -51914,Gm28553,ENSMUSG00000100972,protein_coding -46155,Ly6g6g,ENSMUSG00000101026,protein_coding -54493,Ms4a12,ENSMUSG00000101031,protein_coding -51275,Gm20815,ENSMUSG00000101053,protein_coding -40760,Vmn1r200,ENSMUSG00000101073,protein_coding -5243,Olfr1166,ENSMUSG00000101078,protein_coding -46312,1700025B11Rik,ENSMUSG00000101113,protein_coding -52375,Gm20814,ENSMUSG00000101146,protein_coding -36683,Gm28305,ENSMUSG00000101152,protein_coding -52073,Sly,ENSMUSG00000101155,protein_coding -51769,Gm20905,ENSMUSG00000101157,protein_coding -51610,Gm20894,ENSMUSG00000101158,protein_coding -13932,Gm13278,ENSMUSG00000101163,protein_coding -4857,Hoxd4,ENSMUSG00000101174,protein_coding -23499,Scgb1b15,ENSMUSG00000101232,protein_coding -51219,Gm28919,ENSMUSG00000101243,protein_coding -13941,Ifna6,ENSMUSG00000101252,protein_coding -52501,Gm21317,ENSMUSG00000101286,protein_coding -7725,Btbd35f15,ENSMUSG00000101294,protein_coding -19762,Gm28308,ENSMUSG00000101298,protein_coding -1900,B020011L13Rik,ENSMUSG00000101303,protein_coding -48966,Gm7356,ENSMUSG00000101307,protein_coding -1377,Krtap28-13,ENSMUSG00000101315,protein_coding -714,Dnah7c,ENSMUSG00000101337,protein_coding -40688,Hist1h3h,ENSMUSG00000101355,protein_coding -48967,Gm7358,ENSMUSG00000101361,protein_coding -7268,Btbd35f16,ENSMUSG00000101381,protein_coding -54499,Ms4a4a,ENSMUSG00000101389,protein_coding -5292,Olfr1217,ENSMUSG00000101391,protein_coding -51311,Gm28510,ENSMUSG00000101396,protein_coding -52082,Gm28961,ENSMUSG00000101399,protein_coding -23518,Scgb1b18,ENSMUSG00000101401,protein_coding -1904,Gm28168,ENSMUSG00000101415,protein_coding -22902,Gm5157,ENSMUSG00000101436,protein_coding -51845,Gm29276,ENSMUSG00000101471,protein_coding -5295,Olfr1220,ENSMUSG00000101480,protein_coding -7717,Btbd35f12,ENSMUSG00000101500,protein_coding -23477,Scgb1b12,ENSMUSG00000101520,protein_coding -2573,Gm10031,ENSMUSG00000101523,protein_coding -52362,Gm29110,ENSMUSG00000101528,protein_coding -40773,Vmn1r206,ENSMUSG00000101578,protein_coding -39842,Ace3,ENSMUSG00000101605,protein_coding -23475,Scgb1b11,ENSMUSG00000101638,protein_coding -4995,Gm28635,ENSMUSG00000101645,protein_coding -51905,Gm20792,ENSMUSG00000101653,protein_coding -51141,Gm29289,ENSMUSG00000101667,protein_coding -16176,Gm29609,ENSMUSG00000101678,protein_coding -52293,Gm29423,ENSMUSG00000101725,protein_coding -37974,Olfr1392,ENSMUSG00000101750,protein_coding -52181,Gm20908,ENSMUSG00000101766,protein_coding -7609,Gm28269,ENSMUSG00000101818,protein_coding -7465,H2al1b,ENSMUSG00000101819,protein_coding -10657,Mindy4b-ps,ENSMUSG00000101860,protein_coding -37976,Olfr1391,ENSMUSG00000101874,protein_coding -45940,9130401M01Rik,ENSMUSG00000101892,protein_coding -2084,Gm29427,ENSMUSG00000101904,protein_coding -52612,Gm28102,ENSMUSG00000101915,protein_coding -5300,Olfr1225,ENSMUSG00000101918,protein_coding -51260,Gm20824,ENSMUSG00000101928,protein_coding -51756,Gm20835,ENSMUSG00000101933,protein_coding -48788,Ldhal6b,ENSMUSG00000101959,protein_coding -40699,Hist1h3i,ENSMUSG00000101972,protein_coding -46220,Iqank1,ENSMUSG00000102018,protein_coding -1910,Gm29106,ENSMUSG00000102030,protein_coding -36379,Bcl2a1a,ENSMUSG00000102037,protein_coding -52634,Gm21294,ENSMUSG00000102045,protein_coding -2184,Zbed6,ENSMUSG00000102049,protein_coding -51132,Gm4064,ENSMUSG00000102053,protein_coding -5081,Olfr1034,ENSMUSG00000102091,protein_coding -51943,Gm20883,ENSMUSG00000102122,protein_coding -31898,Gm3952,ENSMUSG00000102141,protein_coding -53164,Pcdha11,ENSMUSG00000102206,protein_coding -53220,Pcdhga10,ENSMUSG00000102222,protein_coding -24500,Snrpn,ENSMUSG00000102252,protein_coding -11303,2310046K23Rik,ENSMUSG00000102308,protein_coding -53149,Pcdha3,ENSMUSG00000102312,protein_coding -52275,Gm33815,ENSMUSG00000102388,protein_coding -527,4933424G06Rik,ENSMUSG00000102416,protein_coding -2868,Sh2d1b1,ENSMUSG00000102418,protein_coding -10817,Iqschfp,ENSMUSG00000102422,protein_coding -53224,Pcdhga12,ENSMUSG00000102428,protein_coding -11345,Flg,ENSMUSG00000102439,protein_coding -53217,Pcdhga9,ENSMUSG00000102440,protein_coding -53228,Pcdhgc5,ENSMUSG00000102543,protein_coding -24501,Snurf,ENSMUSG00000102627,protein_coding -51465,Gm29866,ENSMUSG00000102668,protein_coding -10994,Dchs2,ENSMUSG00000102692,protein_coding -53169,Pcdhac2,ENSMUSG00000102697,protein_coding -51418,Gm20772,ENSMUSG00000102739,protein_coding -53222,Pcdhga11,ENSMUSG00000102742,protein_coding -53208,Pcdhgb2,ENSMUSG00000102748,protein_coding -2869,Gm7694,ENSMUSG00000102752,protein_coding -10112,Naaladl2,ENSMUSG00000102758,protein_coding -19424,Mgam2-ps,ENSMUSG00000102802,protein_coding -11012,Gm37240,ENSMUSG00000102805,protein_coding -53156,Gm37013,ENSMUSG00000102836,protein_coding -53226,Pcdhgc3,ENSMUSG00000102918,protein_coding -2181,Zc3h11a,ENSMUSG00000102976,protein_coding -9900,Gm8797,ENSMUSG00000103034,protein_coding -53206,Pcdhgb1,ENSMUSG00000103037,protein_coding -11317,Gm38119,ENSMUSG00000103084,protein_coding -53218,Pcdhgb6,ENSMUSG00000103088,protein_coding -53153,Pcdha5,ENSMUSG00000103092,protein_coding -9959,Gm37389,ENSMUSG00000103124,protein_coding -53158,Gm37388,ENSMUSG00000103125,protein_coding -53202,Pcdhga1,ENSMUSG00000103144,protein_coding -11313,Lce1d,ENSMUSG00000103243,protein_coding -53168,Pcdhac1,ENSMUSG00000103255,protein_coding -53166,Pcdha12,ENSMUSG00000103310,protein_coding -53204,Pcdhga2,ENSMUSG00000103332,protein_coding -11368,Gm37596,ENSMUSG00000103350,protein_coding -11365,Tdpoz2,ENSMUSG00000103362,protein_coding -51448,Gm35134,ENSMUSG00000103371,protein_coding -9969,Gm38303,ENSMUSG00000103392,protein_coding -36799,Lsmem2,ENSMUSG00000103409,protein_coding -2170,Golt1a,ENSMUSG00000103421,protein_coding -53146,Pcdha1,ENSMUSG00000103442,protein_coding -53152,Gm42416,ENSMUSG00000103458,protein_coding -51356,Gm21440,ENSMUSG00000103468,protein_coding -53213,Pcdhga7,ENSMUSG00000103472,protein_coding -10723,Strit1,ENSMUSG00000103476,protein_coding -11306,2210017I01Rik,ENSMUSG00000103523,protein_coding -51483,Gm31571,ENSMUSG00000103528,protein_coding -53209,Pcdhga5,ENSMUSG00000103567,protein_coding -53214,Pcdhgb4,ENSMUSG00000103585,protein_coding -53207,Pcdhga4,ENSMUSG00000103677,protein_coding -53155,Pcdha6,ENSMUSG00000103707,protein_coding -2919,Tstd1,ENSMUSG00000103711,protein_coding -53216,Pcdhgb5,ENSMUSG00000103749,protein_coding -11105,Gm38392,ENSMUSG00000103766,protein_coding -53161,Pcdha9,ENSMUSG00000103770,protein_coding -53211,Pcdhga6,ENSMUSG00000103793,protein_coding -53160,Pcdha8,ENSMUSG00000103800,protein_coding -53215,Pcdhga8,ENSMUSG00000103897,protein_coding -46211,Tigd5,ENSMUSG00000103906,protein_coding -51497,Gm21366,ENSMUSG00000103919,protein_coding -11008,Gm6525,ENSMUSG00000104043,protein_coding -53221,Pcdhgb7,ENSMUSG00000104063,protein_coding -53148,Pcdha2,ENSMUSG00000104148,protein_coding -3057,Gm38100,ENSMUSG00000104158,protein_coding -51380,Gm30737,ENSMUSG00000104191,protein_coding -34,Gm37988,ENSMUSG00000104217,protein_coding -53150,Pcdha4,ENSMUSG00000104252,protein_coding -51349,Gm20807,ENSMUSG00000104267,protein_coding -10896,Wdr49,ENSMUSG00000104301,protein_coding -53157,Pcdha7,ENSMUSG00000104318,protein_coding -53205,Pcdhga3,ENSMUSG00000104346,protein_coding -1376,A030005K14Rik,ENSMUSG00000104423,protein_coding -11104,Rhbg,ENSMUSG00000104445,protein_coding -36928,Fbxw27,ENSMUSG00000104614,protein_coding -18658,Gm42421,ENSMUSG00000104633,protein_coding -17499,Gbp6,ENSMUSG00000104713,protein_coding -18724,Gm5565,ENSMUSG00000104752,protein_coding -16060,Gm21663,ENSMUSG00000104824,protein_coding -11765,Gm43064,ENSMUSG00000105053,protein_coding -17387,Vamp9,ENSMUSG00000105078,protein_coding -17498,Gbp10,ENSMUSG00000105096,protein_coding -12049,Gm43191,ENSMUSG00000105103,protein_coding -11156,Gm43738,ENSMUSG00000105204,protein_coding -18002,Gm42878,ENSMUSG00000105340,protein_coding -12493,Gbp5,ENSMUSG00000105504,protein_coding -11250,Gm42674,ENSMUSG00000105518,protein_coding -36908,Fbxw14,ENSMUSG00000105589,protein_coding -11476,4930558C23Rik,ENSMUSG00000105734,protein_coding -11541,Hist2h2bb,ENSMUSG00000105827,protein_coding -16757,Gm43552,ENSMUSG00000105835,protein_coding -17588,Gm42517,ENSMUSG00000105867,protein_coding -18109,Gm43518,ENSMUSG00000105875,protein_coding -7887,Tex13c2,ENSMUSG00000105993,protein_coding -18509,Gm43720,ENSMUSG00000106247,protein_coding -18576,Gm4869,ENSMUSG00000106350,protein_coding -15964,Lhfpl3,ENSMUSG00000106379,protein_coding -15861,Gm21190,ENSMUSG00000106445,protein_coding -11576,Gm42957,ENSMUSG00000106447,protein_coding -16063,Gm21680,ENSMUSG00000106627,protein_coding -17555,Gm42669,ENSMUSG00000106631,protein_coding -17118,Ugt2a1,ENSMUSG00000106677,protein_coding -26226,Tmem265,ENSMUSG00000106715,protein_coding -30556,Gm7697,ENSMUSG00000106824,protein_coding -16177,Gtf3c2,ENSMUSG00000106864,protein_coding -18795,Gm42791,ENSMUSG00000106892,protein_coding -16202,Mrpl33,ENSMUSG00000106918,protein_coding -47791,0610012G03Rik,ENSMUSG00000107002,protein_coding -18870,Gm42906,ENSMUSG00000107011,protein_coding -26223,Gm42715,ENSMUSG00000107023,protein_coding -26177,Gm42742,ENSMUSG00000107068,protein_coding -19397,Gm42420,ENSMUSG00000107071,protein_coding -4298,Gm34653,ENSMUSG00000107167,protein_coding -17119,Gm43638,ENSMUSG00000107180,protein_coding -47253,Gm5767,ENSMUSG00000107252,protein_coding -30553,Gm9495,ENSMUSG00000107280,protein_coding -16175,Mpv17,ENSMUSG00000107283,protein_coding -17281,Gm7792,ENSMUSG00000107392,protein_coding -37985,Olfr1383,ENSMUSG00000107417,protein_coding -21357,Gm45234,ENSMUSG00000107478,protein_coding -23819,Etfbl,ENSMUSG00000107482,protein_coding -20481,Ccdc142,ENSMUSG00000107499,protein_coding -37236,Gm35549,ENSMUSG00000107504,protein_coding -20607,Gm44790,ENSMUSG00000107539,protein_coding -37979,Olfr1389,ENSMUSG00000107573,protein_coding -19664,Gm45021,ENSMUSG00000107588,protein_coding -37988,Olfr1380,ENSMUSG00000107645,protein_coding -29277,Olfr764-ps1,ENSMUSG00000107648,protein_coding -29286,Olfr772,ENSMUSG00000107662,protein_coding -38249,Olfr316,ENSMUSG00000107677,protein_coding -18986,Gm45062,ENSMUSG00000107705,protein_coding -38244,Olfr320,ENSMUSG00000107711,protein_coding -29279,Olfr766-ps1,ENSMUSG00000107748,protein_coding -19666,Gm44965,ENSMUSG00000107789,protein_coding -28069,Olfr1358,ENSMUSG00000107822,protein_coding -21512,Gm44511,ENSMUSG00000107872,protein_coding -21652,Prpmp5,ENSMUSG00000107874,protein_coding -38702,Gm43951,ENSMUSG00000107877,protein_coding -21139,Gm5580,ENSMUSG00000107906,protein_coding -20662,Gm45140,ENSMUSG00000107928,protein_coding -21487,Gm44596,ENSMUSG00000108011,protein_coding -21246,Gm7298,ENSMUSG00000108022,protein_coding -29316,Olfr800,ENSMUSG00000108114,protein_coding -14451,Gm12845,ENSMUSG00000108127,protein_coding -37982,Olfr1386,ENSMUSG00000108167,protein_coding -38247,Olfr318,ENSMUSG00000108265,protein_coding -22697,Gm42372,ENSMUSG00000108348,protein_coding -23086,Gm4881,ENSMUSG00000108367,protein_coding -14955,Gm30191,ENSMUSG00000108398,protein_coding -41828,Olfr465-ps1,ENSMUSG00000108426,protein_coding -40683,Olfr1360,ENSMUSG00000108534,protein_coding -26269,Gm49368,ENSMUSG00000108596,protein_coding -23896,Gm36864,ENSMUSG00000108622,protein_coding -40684,Olfr1359,ENSMUSG00000108674,protein_coding -46857,OR5BS1P,ENSMUSG00000108728,protein_coding -46844,Gm44579,ENSMUSG00000108748,protein_coding -47958,Gm36028,ENSMUSG00000108763,protein_coding -24603,Gm45213,ENSMUSG00000108793,protein_coding -26242,Gm49388,ENSMUSG00000108815,protein_coding -5706,Olfr1310,ENSMUSG00000108827,protein_coding -32559,Frmpd2,ENSMUSG00000108841,protein_coding -54547,Olfr1555-ps1,ENSMUSG00000108889,protein_coding -5679,Olfr1291-ps1,ENSMUSG00000108891,protein_coding -30657,Ccdc194,ENSMUSG00000108900,protein_coding -5681,Olfr1293-ps,ENSMUSG00000108908,protein_coding -5684,Olfr1295,ENSMUSG00000108919,protein_coding -55060,Cc2d2b,ENSMUSG00000108929,protein_coding -5672,Olfr1284,ENSMUSG00000108931,protein_coding -25671,Olfr695,ENSMUSG00000108948,protein_coding -7238,Gm29797,ENSMUSG00000108976,protein_coding -9751,Gm15262,ENSMUSG00000108981,protein_coding -25740,Olfr485,ENSMUSG00000108995,protein_coding -54550,Olfr1432,ENSMUSG00000109022,protein_coding -5711,Olfr1315-ps1,ENSMUSG00000109033,protein_coding -25682,Olfr705,ENSMUSG00000109058,protein_coding -22877,Gm4513,ENSMUSG00000109060,protein_coding -29423,Gm49320,ENSMUSG00000109061,protein_coding -22149,Gm44973,ENSMUSG00000109129,protein_coding -9002,Gm45194,ENSMUSG00000109156,protein_coding -22864,Gm5890,ENSMUSG00000109166,protein_coding -46249,Gm35339,ENSMUSG00000109179,protein_coding -50110,Olfr126,ENSMUSG00000109212,protein_coding -5688,Olfr1299,ENSMUSG00000109219,protein_coding -42151,Fam81b,ENSMUSG00000109228,protein_coding -53021,Gm35060,ENSMUSG00000109238,protein_coding -11187,Dcst2,ENSMUSG00000109293,protein_coding -26732,1810010D01Rik,ENSMUSG00000109305,protein_coding -5671,Olfr1283,ENSMUSG00000109322,protein_coding -23956,Prmt1,ENSMUSG00000109324,protein_coding -54560,Olfr1438-ps1,ENSMUSG00000109328,protein_coding -23248,Samd4b,ENSMUSG00000109336,protein_coding -24550,A26c2,ENSMUSG00000109344,protein_coding -22825,Gm44805,ENSMUSG00000109350,protein_coding -25683,Olfr706,ENSMUSG00000109354,protein_coding -8329,Gm45015,ENSMUSG00000109368,protein_coding -30096,Gm19410,ENSMUSG00000109372,protein_coding -50118,Olfr761,ENSMUSG00000109376,protein_coding -23380,Gm49396,ENSMUSG00000109378,protein_coding -26012,Gm5737,ENSMUSG00000109392,protein_coding -22964,Gm4565,ENSMUSG00000109396,protein_coding -22206,Gm3854,ENSMUSG00000109398,protein_coding -5707,Olfr1311,ENSMUSG00000109403,protein_coding -33890,Gm9195,ENSMUSG00000109446,protein_coding -5668,Olfr1280,ENSMUSG00000109449,protein_coding -43934,Gm4756,ENSMUSG00000109482,protein_coding -5687,Olfr1298,ENSMUSG00000109487,protein_coding -7355,Gm45208,ENSMUSG00000109493,protein_coding -25750,Olfr492,ENSMUSG00000109497,protein_coding -518,Gm42417,ENSMUSG00000109510,protein_coding -23942,Nup62,ENSMUSG00000109511,protein_coding -22913,Gm6882,ENSMUSG00000109516,protein_coding -54641,Olfr1493-ps1,ENSMUSG00000109520,protein_coding -30594,Gdf1,ENSMUSG00000109523,protein_coding -5704,Olfr1309,ENSMUSG00000109528,protein_coding -25720,Olfr470,ENSMUSG00000109542,protein_coding -5683,Olfr1294,ENSMUSG00000109547,protein_coding -42409,Ankrd31,ENSMUSG00000109561,protein_coding -34661,Muc16,ENSMUSG00000109564,protein_coding -16287,Cfap99,ENSMUSG00000109572,protein_coding -48180,Lnp1,ENSMUSG00000109588,protein_coding -25752,Olfr494,ENSMUSG00000109631,protein_coding -32090,Gm45521,ENSMUSG00000109649,protein_coding -26621,Gm29735,ENSMUSG00000109655,protein_coding -25475,Olfr605,ENSMUSG00000109659,protein_coding -18512,Pvrig,ENSMUSG00000109713,protein_coding -30482,Trim61,ENSMUSG00000109718,protein_coding -38585,Gm39566,ENSMUSG00000109737,protein_coding -50548,Gm17949,ENSMUSG00000109739,protein_coding -8830,1700018G05Rik,ENSMUSG00000109745,protein_coding -30215,Klkb1,ENSMUSG00000109764,protein_coding -17644,Gm35315,ENSMUSG00000109771,protein_coding -5712,Olfr1316,ENSMUSG00000109801,protein_coding -5667,Olfr1279,ENSMUSG00000109813,protein_coding -25527,Olfr643,ENSMUSG00000109824,protein_coding -38644,Gm40193,ENSMUSG00000109833,protein_coding -33038,Olfr730,ENSMUSG00000109835,protein_coding -29942,Gm45692,ENSMUSG00000109850,protein_coding -8691,Pfn5,ENSMUSG00000109858,protein_coding -26617,Gm45618,ENSMUSG00000109859,protein_coding -28323,Eid3,ENSMUSG00000109864,protein_coding -3460,Hspa14,ENSMUSG00000109865,protein_coding -25747,Olfr490,ENSMUSG00000109884,protein_coding -53718,Chmp1b,ENSMUSG00000109901,protein_coding -15883,Gm28710,ENSMUSG00000109903,protein_coding -24013,Gm45808,ENSMUSG00000109926,protein_coding -31515,Exosc6,ENSMUSG00000109941,protein_coding -4068,Brd3os,ENSMUSG00000109946,protein_coding -25470,Olfr601,ENSMUSG00000109951,protein_coding -22414,Zscan4-ps3,ENSMUSG00000109969,protein_coding -25422,Olfr560,ENSMUSG00000110008,protein_coding -25533,Olfr644,ENSMUSG00000110012,protein_coding -26639,Gm49369,ENSMUSG00000110040,protein_coding -26619,Gm45337,ENSMUSG00000110061,protein_coding -41587,Gm45623,ENSMUSG00000110086,protein_coding -26618,Gm39115,ENSMUSG00000110091,protein_coding -1330,Gm45261,ENSMUSG00000110100,protein_coding -22377,Zscan4-ps1,ENSMUSG00000110103,protein_coding -26552,Gm45717,ENSMUSG00000110104,protein_coding -22249,Gm45844,ENSMUSG00000110105,protein_coding -26537,Gm45785,ENSMUSG00000110136,protein_coding -22257,Gm45783,ENSMUSG00000110139,protein_coding -40101,St6galnac2,ENSMUSG00000110170,protein_coding -25739,Olfr484,ENSMUSG00000110171,protein_coding -53120,Igip,ENSMUSG00000110185,protein_coding -22408,Zscan4-ps2,ENSMUSG00000110190,protein_coding -25355,Pde2a,ENSMUSG00000110195,protein_coding -23980,Flt3l,ENSMUSG00000110206,protein_coding -50524,Gm20219,ENSMUSG00000110218,protein_coding -22138,Gm36210,ENSMUSG00000110221,protein_coding -25639,Gm45799,ENSMUSG00000110234,protein_coding -25754,Olfr495,ENSMUSG00000110253,protein_coding -25516,Olfr65,ENSMUSG00000110259,protein_coding -35569,Gm32742,ENSMUSG00000110266,protein_coding -54054,Gm45871,ENSMUSG00000110277,protein_coding -47687,Gm37419,ENSMUSG00000110291,protein_coding -26629,Gm40460,ENSMUSG00000110324,protein_coding -31063,Gm19935,ENSMUSG00000110332,protein_coding -29988,Gm45861,ENSMUSG00000110333,protein_coding -39263,Gm45716,ENSMUSG00000110344,protein_coding -28617,Gm33543,ENSMUSG00000110353,protein_coding -48457,A730009L09Rik,ENSMUSG00000110358,protein_coding -15620,Rnf223,ENSMUSG00000110404,protein_coding -31293,Cmtm1,ENSMUSG00000110430,protein_coding -13633,Mup22,ENSMUSG00000110439,protein_coding -30757,Gm10358,ENSMUSG00000110469,protein_coding -41575,Gm3045,ENSMUSG00000110477,protein_coding -34677,Olfr839-ps1,ENSMUSG00000110519,protein_coding -48098,Gm5485,ENSMUSG00000110573,protein_coding -53603,Gm36368,ENSMUSG00000110576,protein_coding -29733,Gm31371,ENSMUSG00000110591,protein_coding -34675,Olfr837,ENSMUSG00000110621,protein_coding -30616,Iqcn,ENSMUSG00000110622,protein_coding -53341,Gm37797,ENSMUSG00000110628,protein_coding -29705,Gm45826,ENSMUSG00000110641,protein_coding -27169,Gm49353,ENSMUSG00000110723,protein_coding -5135,Olfr1084,ENSMUSG00000110804,protein_coding -5331,Olfr1252,ENSMUSG00000110819,protein_coding -5131,Olfr1080,ENSMUSG00000110912,protein_coding -14495,Olfr1333,ENSMUSG00000110947,protein_coding -54098,Nudt8,ENSMUSG00000110949,protein_coding -13332,Olfr156,ENSMUSG00000110970,protein_coding -4359,Olfr50,ENSMUSG00000111021,protein_coding -14492,Olfr1337,ENSMUSG00000111159,protein_coding -5319,Olfr1240,ENSMUSG00000111174,protein_coding -5039,Olfr996,ENSMUSG00000111179,protein_coding -30957,Gm49661,ENSMUSG00000111184,protein_coding -5327,Olfr1248,ENSMUSG00000111239,protein_coding -14500,Olfr1328,ENSMUSG00000111259,protein_coding -29304,Olfr789,ENSMUSG00000111273,protein_coding -5117,Olfr1065,ENSMUSG00000111306,protein_coding -17553,Btbd8,ENSMUSG00000111375,protein_coding -35352,Gm49380,ENSMUSG00000111409,protein_coding -14385,Gm49337,ENSMUSG00000111410,protein_coding -35152,Olfr912,ENSMUSG00000111448,protein_coding -5041,Olfr998,ENSMUSG00000111454,protein_coding -5324,Olfr1245,ENSMUSG00000111456,protein_coding -34769,Gm38431,ENSMUSG00000111497,protein_coding -5317,Olfr1238,ENSMUSG00000111517,protein_coding -5330,Olfr1251,ENSMUSG00000111567,protein_coding -5271,Olfr1192-ps1,ENSMUSG00000111590,protein_coding -13333,Olfr157,ENSMUSG00000111611,protein_coding -5133,Olfr1082,ENSMUSG00000111689,protein_coding -34768,Gm49373,ENSMUSG00000111692,protein_coding -36173,Gm3776,ENSMUSG00000111709,protein_coding -5140,Olfr1089,ENSMUSG00000111711,protein_coding -5325,Olfr1246,ENSMUSG00000111715,protein_coding -29300,Olfr785,ENSMUSG00000111732,protein_coding -5207,Olfr1134,ENSMUSG00000111747,protein_coding -5122,Olfr228,ENSMUSG00000111772,protein_coding -35134,Olfr896-ps1,ENSMUSG00000111814,protein_coding -34821,Gm49318,ENSMUSG00000111842,protein_coding -4356,Olfr347,ENSMUSG00000111863,protein_coding -4350,Olfr342,ENSMUSG00000111869,protein_coding -28034,Gm3285,ENSMUSG00000111915,protein_coding -27539,Lilr4b,ENSMUSG00000112023,protein_coding -28983,Gm9045,ENSMUSG00000112027,protein_coding -28815,Gm5136,ENSMUSG00000112039,protein_coding -27768,Pbld1,ENSMUSG00000112129,protein_coding -27541,Lilrb4a,ENSMUSG00000112148,protein_coding -28298,BC024063,ENSMUSG00000112160,protein_coding -28010,Gm9508,ENSMUSG00000112170,protein_coding -43336,Gm6993,ENSMUSG00000112187,protein_coding -28975,Gm32717,ENSMUSG00000112216,protein_coding -28031,Krtap10-10,ENSMUSG00000112223,protein_coding -28003,Gm49325,ENSMUSG00000112241,protein_coding -28978,Gm32802,ENSMUSG00000112252,protein_coding -28020,Gm9736,ENSMUSG00000112380,protein_coding -28982,Gm9044,ENSMUSG00000112419,protein_coding -43646,Srp54b,ENSMUSG00000112449,protein_coding -28985,Gm9048,ENSMUSG00000112495,protein_coding -28029,Gm49918,ENSMUSG00000112600,protein_coding -28871,Glipr1l3,ENSMUSG00000112611,protein_coding -28285,Gm32687,ENSMUSG00000112640,protein_coding -28032,Gm36176,ENSMUSG00000112653,protein_coding -28426,Gm49358,ENSMUSG00000112743,protein_coding -28984,Gm9046,ENSMUSG00000112781,protein_coding -28981,Gm9040,ENSMUSG00000112814,protein_coding -28702,Gm4305,ENSMUSG00000112856,protein_coding -33428,Rnf212b,ENSMUSG00000112858,protein_coding -28018,Gm18596,ENSMUSG00000112864,protein_coding -28986,Gm9049,ENSMUSG00000112919,protein_coding -38747,Spata22,ENSMUSG00000112920,protein_coding -28701,Gm4303,ENSMUSG00000112931,protein_coding -40965,Gm11361,ENSMUSG00000113061,protein_coding -1367,A030003K21Rik,ENSMUSG00000113084,protein_coding -1370,Gm47959,ENSMUSG00000113097,protein_coding -43844,Gm49383,ENSMUSG00000113149,protein_coding -44303,Gm21936,ENSMUSG00000113201,protein_coding -41397,Tes3-ps,ENSMUSG00000113255,protein_coding -28249,Gm48551,ENSMUSG00000113262,protein_coding -1375,Gm47969,ENSMUSG00000113267,protein_coding -16359,Jakmip1,ENSMUSG00000113373,protein_coding -41736,Gm49359,ENSMUSG00000113450,protein_coding -44164,Gm49366,ENSMUSG00000113475,protein_coding -44295,Gm16381,ENSMUSG00000113489,protein_coding -46989,Gm47841,ENSMUSG00000113558,protein_coding -28188,Adat3,ENSMUSG00000113640,protein_coding -43847,Gm49384,ENSMUSG00000113786,protein_coding -44284,Gm5788,ENSMUSG00000113805,protein_coding -1366,Gm6217,ENSMUSG00000113846,protein_coding -1364,A030005L19Rik,ENSMUSG00000113880,protein_coding -1368,Gm7544,ENSMUSG00000113925,protein_coding -28187,Scamp4,ENSMUSG00000113949,protein_coding -44309,Gm2001,ENSMUSG00000113951,protein_coding -44314,Gm2022,ENSMUSG00000113971,protein_coding -1365,A030014E15Rik,ENSMUSG00000113973,protein_coding -28251,Gm48552,ENSMUSG00000114004,protein_coding -1369,Gm47955,ENSMUSG00000114011,protein_coding -43962,Snapc1l,ENSMUSG00000114046,protein_coding -41408,Gm30302,ENSMUSG00000114073,protein_coding -44336,Gm16368,ENSMUSG00000114075,protein_coding -42392,Gm20075,ENSMUSG00000114133,protein_coding -2458,Gm47985,ENSMUSG00000114212,protein_coding -49337,Gm38655,ENSMUSG00000114245,protein_coding -18094,Gm49027,ENSMUSG00000114278,protein_coding -40691,Hist1h2bm,ENSMUSG00000114279,protein_coding -1357,Gm47791,ENSMUSG00000114299,protein_coding -32135,Gm49355,ENSMUSG00000114378,protein_coding -41677,Gm49391,ENSMUSG00000114432,protein_coding -40839,Hist1h2bh,ENSMUSG00000114456,protein_coding -42725,Gm49395,ENSMUSG00000114470,protein_coding -41691,Gm49398,ENSMUSG00000114473,protein_coding -41676,Gm49393,ENSMUSG00000114487,protein_coding -26156,Aldoa,ENSMUSG00000114515,protein_coding -41434,Gm47429,ENSMUSG00000114559,protein_coding -2461,3110040M04Rik,ENSMUSG00000114582,protein_coding -2462,Gm47996,ENSMUSG00000114591,protein_coding -41675,Gm49392,ENSMUSG00000114635,protein_coding -2460,Gm47995,ENSMUSG00000114694,protein_coding -46382,Galr3,ENSMUSG00000114755,protein_coding -41648,Gm49354,ENSMUSG00000114763,protein_coding -33621,Gm49336,ENSMUSG00000114797,protein_coding -32693,Gm47189,ENSMUSG00000114852,protein_coding -33424,Gm29776,ENSMUSG00000114865,protein_coding -41701,Gm49352,ENSMUSG00000114904,protein_coding -41979,Gm49345,ENSMUSG00000114923,protein_coding -33576,Gm49361,ENSMUSG00000114942,protein_coding -2459,Gm8947,ENSMUSG00000114943,protein_coding -19880,Vmn1r14,ENSMUSG00000114982,protein_coding -3944,AL732309.1,ENSMUSG00000115018,protein_coding -40811,Vmn1r218,ENSMUSG00000115020,protein_coding -23013,Vmn1r173,ENSMUSG00000115021,protein_coding -32509,Gm49387,ENSMUSG00000115022,protein_coding -22462,Vmn1r81,ENSMUSG00000115027,protein_coding -31401,Dpep2,ENSMUSG00000115067,protein_coding -12763,Vmn1r2,ENSMUSG00000115072,protein_coding -3946,Ndor1,ENSMUSG00000115074,protein_coding -19905,Vmn1r22,ENSMUSG00000115091,protein_coding -49750,Smim40-ps,ENSMUSG00000115113,protein_coding -14543,AL607142.1,ENSMUSG00000115115,protein_coding -20036,Vmn1r38,ENSMUSG00000115170,protein_coding -19875,Vmn1r10,ENSMUSG00000115181,protein_coding -19881,Vmn1r15,ENSMUSG00000115199,protein_coding -47579,Eef1akmt4,ENSMUSG00000115219,protein_coding -33483,Gm49378,ENSMUSG00000115232,protein_coding -19876,Vmn1r11,ENSMUSG00000115236,protein_coding -19888,Vmn1r20,ENSMUSG00000115253,protein_coding -22432,Vmn1r76,ENSMUSG00000115267,protein_coding -47580,Gm49333,ENSMUSG00000115293,protein_coding -26655,Gm49394,ENSMUSG00000115302,protein_coding -33076,Pnp,ENSMUSG00000115338,protein_coding -19901,Vmn1r21,ENSMUSG00000115343,protein_coding -1024,Gm39653,ENSMUSG00000115378,protein_coding -46228,Eppk1,ENSMUSG00000115388,protein_coding -19932,Vmn1r31,ENSMUSG00000115404,protein_coding -6228,AL731706.1,ENSMUSG00000115423,protein_coding -45962,Gm49356,ENSMUSG00000115463,protein_coding -12764,Vmn1r3,ENSMUSG00000115466,protein_coding -20032,Vmn1r37,ENSMUSG00000115467,protein_coding -20031,Vmn1r36,ENSMUSG00000115482,protein_coding -32763,Gm9732,ENSMUSG00000115483,protein_coding -19908,Vmn1r24,ENSMUSG00000115507,protein_coding -19885,Vmn1r17,ENSMUSG00000115644,protein_coding -19909,Vmn1r25,ENSMUSG00000115668,protein_coding -40805,Vmn1r216,ENSMUSG00000115697,protein_coding -19871,Vmn1r6,ENSMUSG00000115701,protein_coding -19923,Vmn1r28,ENSMUSG00000115705,protein_coding -32568,Gm30083,ENSMUSG00000115726,protein_coding -22456,Vmn1r80,ENSMUSG00000115744,protein_coding -31404,Dpep2nb,ENSMUSG00000115768,protein_coding -40809,Vmn1r217,ENSMUSG00000115791,protein_coding -19884,Vmn1r16,ENSMUSG00000115792,protein_coding -46447,AC140267.1,ENSMUSG00000115798,protein_coding -19887,Vmn1r19,ENSMUSG00000115799,protein_coding -2172,Gm28040,ENSMUSG00000115958,protein_coding -46268,Vps28,ENSMUSG00000115987,protein_coding -42638,Gm49496,ENSMUSG00000116016,protein_coding -46284,Gm49527,ENSMUSG00000116024,protein_coding -1679,Sept2,ENSMUSG00000116048,protein_coding -40806,Vmn1r216,ENSMUSG00000116057,protein_coding -46368,Gm49510,ENSMUSG00000116069,protein_coding -46314,Gm36245,ENSMUSG00000116079,protein_coding -46394,Gm49486,ENSMUSG00000116121,protein_coding -46279,C030006K11Rik,ENSMUSG00000116138,protein_coding -2173,Kiss1,ENSMUSG00000116158,protein_coding -46371,Pdxp,ENSMUSG00000116165,protein_coding -54400,Gm49403,ENSMUSG00000116166,protein_coding -25005,Olfr290,ENSMUSG00000116179,protein_coding -22152,4632433K11Rik,ENSMUSG00000116184,protein_coding -42770,Nnt,ENSMUSG00000116207,protein_coding -2182,Zc3h11a,ENSMUSG00000116275,protein_coding -47017,Gm49425,ENSMUSG00000116336,protein_coding -54404,Gm49416,ENSMUSG00000116347,protein_coding -46890,Gm49450,ENSMUSG00000116358,protein_coding -46260,Tmem249,ENSMUSG00000116376,protein_coding -46381,Gcat,ENSMUSG00000116378,protein_coding -29156,Ddit3,ENSMUSG00000116429,protein_coding -46716,Gm44502,ENSMUSG00000116461,protein_coding -48063,Gm17783,ENSMUSG00000116542,protein_coding -6229,AL731706.2,ENSMUSG00000116563,protein_coding -49031,Riok2,ENSMUSG00000116564,protein_coding -47503,Gm49601,ENSMUSG00000116594,protein_coding -48526,Gm20741,ENSMUSG00000116636,protein_coding -47462,B830017H08Rik,ENSMUSG00000116652,protein_coding -48840,Gm49630,ENSMUSG00000116672,protein_coding -48753,A630089N07Rik,ENSMUSG00000116673,protein_coding -48984,Gm3417,ENSMUSG00000116780,protein_coding -48833,Gm49721,ENSMUSG00000116876,protein_coding -48987,Gm3435,ENSMUSG00000116895,protein_coding -47484,Gm49776,ENSMUSG00000116925,protein_coding -48635,Gm49711,ENSMUSG00000116930,protein_coding -48623,Atp5o,ENSMUSG00000116933,protein_coding -48985,9030025P20Rik,ENSMUSG00000116953,protein_coding -48852,Gm49673,ENSMUSG00000116988,protein_coding -48728,Gm49948,ENSMUSG00000117081,protein_coding -394,Gm5698,ENSMUSG00000117091,protein_coding -50723,Gm49909,ENSMUSG00000117098,protein_coding -50177,Gm49835,ENSMUSG00000117136,protein_coding -49540,Gm4356,ENSMUSG00000117145,protein_coding -49112,Vmn1r229,ENSMUSG00000117148,protein_coding -50198,Esp5,ENSMUSG00000117190,protein_coding -49176,Gm7072,ENSMUSG00000117284,protein_coding -16357,Gm1043,ENSMUSG00000117286,protein_coding -392,Ptp4a1,ENSMUSG00000117310,protein_coding -50157,Esp22,ENSMUSG00000117311,protein_coding -49488,Gm49804,ENSMUSG00000117338,protein_coding -49273,Ntn3,ENSMUSG00000117406,protein_coding -23059,Gm50092,ENSMUSG00000117477,protein_coding -53399,Hspe1-rs1,ENSMUSG00000117621,protein_coding -54266,AC131692.1,ENSMUSG00000117666,protein_coding -53131,Apbb3,ENSMUSG00000117679,protein_coding -53087,Gm28285,ENSMUSG00000117694,protein_coding -53844,Hdhd2,ENSMUSG00000117732,protein_coding -22175,Vmn1r59,ENSMUSG00000117744,protein_coding -31426,Chtf8,ENSMUSG00000117748,protein_coding -54001,C18orf63,ENSMUSG00000117781,protein_coding -54169,AC124502.3,ENSMUSG00000117789,protein_coding -806,Asdurf,ENSMUSG00000117809,protein_coding -49453,Ggnbp1,ENSMUSG00000117819,protein_coding -22514,Vmn1r88,ENSMUSG00000117853,protein_coding -22179,Vmn1r61,ENSMUSG00000117863,protein_coding -54127,AC109138.7,ENSMUSG00000117873,protein_coding -53098,AC121821.1,ENSMUSG00000117874,protein_coding -54384,Tmem223,ENSMUSG00000117924,protein_coding -53128,AC115631.1,ENSMUSG00000117942,protein_coding -27973,AC141477.1,ENSMUSG00000117965,protein_coding -55266,Itprip,ENSMUSG00000117975,protein_coding -54393,AC129217.1,ENSMUSG00000118124,protein_coding -54230,Sssca1,ENSMUSG00000118125,protein_coding -49381,AC134908.4,ENSMUSG00000118135,protein_coding -53260,Arhgap26,ENSMUSG00000118193,protein_coding -22164,Vmn1r55,ENSMUSG00000118215,protein_coding -2140,AC124108.1,ENSMUSG00000118219,protein_coding -481,Arhgef4,ENSMUSG00000118272,protein_coding -22177,Vmn1r60,ENSMUSG00000118298,protein_coding -23029,Vmn1r183,ENSMUSG00000118318,protein_coding -18647,Fam220a,ENSMUSG00000118332,protein_coding -54385,Tmem179b,ENSMUSG00000118346,protein_coding -22184,Vmn1r64,ENSMUSG00000118388,protein_coding -36751,IQCF2,ENSMUSG00000118396,protein_coding -2641,Gpr52,ENSMUSG00000118401,protein_coding -7705,CT868697.1,ENSMUSG00000118402,protein_coding -7711,FQ976806.1,ENSMUSG00000118405,protein_coding -53452,Ancv1r,ENSMUSG00000118407,protein_coding -7713,Btbd35f5,ENSMUSG00000118409,protein_coding -9116,BX088531.1,ENSMUSG00000118415,protein_coding -7734,CU019598.1,ENSMUSG00000118429,protein_coding -7703,Btbd35f25,ENSMUSG00000118431,protein_coding -7736,Btbd35f8,ENSMUSG00000118438,protein_coding -7697,Btbd35f26,ENSMUSG00000118441,protein_coding -23600,AC150683.1,ENSMUSG00000118454,protein_coding -7708,Btbd35f1,ENSMUSG00000118459,protein_coding -24005,AC151602.1,ENSMUSG00000118462,protein_coding -7700,CT867961.1,ENSMUSG00000118465,protein_coding -50333,AC112683.2,ENSMUSG00000118471,protein_coding -9127,BX571804.1,ENSMUSG00000118483,protein_coding diff --git a/sfaira/versions/genome_versions/mouse/__init__.py b/sfaira/versions/genome_versions/mouse/__init__.py deleted file mode 100644 index 90be3cbe7..000000000 --- a/sfaira/versions/genome_versions/mouse/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -from .genome_sizes import GENOME_SIZE_DICT -from .genome_container import GenomeContainer diff --git a/sfaira/versions/genome_versions/mouse/genome_container.py b/sfaira/versions/genome_versions/mouse/genome_container.py deleted file mode 100644 index ce9d047ab..000000000 --- a/sfaira/versions/genome_versions/mouse/genome_container.py +++ /dev/null @@ -1,19 +0,0 @@ -import os -import pandas - -from .genome_sizes import GENOME_SIZE_DICT - - -class GenomeContainer: - available_genomes = ["Mus_musculus_GRCm38_97"] - - def __init__(self): - self.genomes = { - "Mus_musculus_GRCm38_97": "Mus_musculus_GRCm38_97.csv" - } - self.genome_sizes = { - "Mus_musculus_GRCm38_97": GENOME_SIZE_DICT["Mus_musculus_GRCm38_97"] - } - - def read_local_csv(self, genome): - return pandas.read_csv(os.path.join(str(os.path.dirname(__file__)), self.genomes[genome])) \ No newline at end of file diff --git a/sfaira/versions/genome_versions/mouse/genome_sizes.py b/sfaira/versions/genome_versions/mouse/genome_sizes.py deleted file mode 100644 index 8d1c9c3e7..000000000 --- a/sfaira/versions/genome_versions/mouse/genome_sizes.py +++ /dev/null @@ -1,3 +0,0 @@ -GENOME_SIZE_DICT = { - "Mus_musculus_GRCm38_97": (21900, ) -} \ No newline at end of file diff --git a/sfaira/versions/genomes.py b/sfaira/versions/genomes.py new file mode 100644 index 000000000..3e43babd1 --- /dev/null +++ b/sfaira/versions/genomes.py @@ -0,0 +1,233 @@ +""" +Functionalities to interact with gene sets defined in an assembly and gene-annotation (such as protein-coding). +""" + +import gzip +import numpy as np +import os +from typing import List, Union +import pandas +import pathlib +import urllib.error +import urllib.request + +KEY_SYMBOL = "gene_name" +KEY_ID = "gene_id" +KEY_TYPE = "gene_biotype" +VALUE_GTF_GENE = "gene" +KEY_GTF_REGION_TYPE = 2 +KEY_GTF_REGION_DETAIL_FIELD = 8 +IDX_GTF_REGION_DETAIL_FIELD_ID = 0 +IDX_GTF_REGION_DETAIL_FIELD_SYMBOL = 2 +IDX_GTF_REGION_DETAIL_FIELD_TYPE = 4 + + +class GtfInterface: + + def __init__(self, assembly: str): + self.assembly = assembly + + @property + def cache_dir(self): + """ + The cache dir is in a cache directory in the sfaira installation that is excempt from git versioning. + """ + cache_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), "cache", "genomes") + cache_dir_path = pathlib.Path(cache_dir) + cache_dir_path.mkdir(parents=True, exist_ok=True) + return cache_dir + + @property + def cache_fn(self): + return os.path.join(self.cache_dir, self.assembly + ".csv") + + @property + def release(self) -> str: + return self.assembly.split(".")[-1] + + @property + def organism(self) -> str: + return self.assembly.split(".")[0].lower() + + @property + def url_ensembl_ftp(self): + return f"ftp://ftp.ensembl.org/pub/release-{self.release}/gtf/{self.organism}/{self.assembly}.gtf.gz" + + def download_gtf_ensembl(self): + """ + Download .gtf file from ensembl FTP server and turn into reduced, gene-centric cache .csv. + """ + temp_file = os.path.join(self.cache_dir, self.assembly + ".gtf.gz") + print(f"downloading {self.url_ensembl_ftp} into a temporary file {temp_file}") + try: + _ = urllib.request.urlretrieve(url=self.url_ensembl_ftp, filename=temp_file) + except urllib.error.URLError as e: + raise ValueError(f"Could not download gtf from {self.url_ensembl_ftp} with urllib.error.URLError: {e}") + with gzip.open(temp_file) as f: + tab = pandas.read_csv(f, sep="\t", comment="#", header=None) + os.remove(temp_file) # Delete temporary file .gtf.gz. + tab = tab.loc[tab[KEY_GTF_REGION_TYPE].values == VALUE_GTF_GENE, :] + conversion_tab = pandas.DataFrame({ + KEY_ID: [ + x.split(";")[IDX_GTF_REGION_DETAIL_FIELD_ID].split(" ")[-1].strip("\"") + for x in tab[KEY_GTF_REGION_DETAIL_FIELD].values], + KEY_SYMBOL: [ + x.split(";")[IDX_GTF_REGION_DETAIL_FIELD_SYMBOL].split(" ")[-1].strip("\"") + for x in tab[KEY_GTF_REGION_DETAIL_FIELD].values], + KEY_TYPE: [ + x.split(";")[IDX_GTF_REGION_DETAIL_FIELD_TYPE].split(" ")[-1].strip("\"") + for x in tab[KEY_GTF_REGION_DETAIL_FIELD].values], + }).sort_values("gene_id") + conversion_tab.to_csv(self.cache_fn) + + @property + def cache(self) -> pandas.DataFrame: + if not os.path.exists(self.cache_fn): + self.download_gtf_ensembl() + return pandas.read_csv(self.cache_fn) + + +class GenomeContainer: + + genome_tab: pandas.DataFrame + assembly: str + + def __init__( + self, + assembly: str = None, + ): + if not isinstance(assembly, str): + raise ValueError(f"supplied assembly {assembly} was not a string") + self.assembly = assembly + self.gtfi = GtfInterface(assembly=self.assembly) + self.load_genome() + + @property + def organism(self): + return self.gtfi.organism + + def load_genome(self): + self.genome_tab = self.gtfi.cache + + def subset( + self, + biotype: Union[None, str, List[str]] = None, + symbols: Union[None, str, List[str]] = None, + ensg: Union[None, str, List[str]] = None, + ): + """ + Subset by gene biotype or to gene list defined by identifiers (symbol or ensemble ID). + + Will subset by multiple factors if more than one parameter is not None. + + :param biotype: Gene biotype(s) of gene(s) to subset genome to. Elements have to appear in genome. + Separate in string via "," if choosing multiple or supply as list of string. + :param symbols: Gene symbol(s) of gene(s) to subset genome to. Elements have to appear in genome. + Separate in string via "," if choosing multiple or supply as list of string. + :param ensg: Ensemble gene ID(s) of gene(s) to subset genome to. Elements have to appear in genome. + Separate in string via "," if choosing multiple or supply as list of string. + """ + subset = np.ones((self.n_var,), "int") == 1 + if biotype is not None: + if isinstance(biotype, list): + pass + elif isinstance(biotype, str): + biotype = biotype.split(",") + else: + raise ValueError(f"Supply biotype as string, see also function annotation. Supplied {biotype}.") + self.__validate_types(x=biotype) + subset = np.logical_and( + subset, + [x in biotype for x in self.genome_tab[KEY_TYPE].values] + ) + if symbols is not None: + if isinstance(symbols, list): + pass + elif isinstance(symbols, str): + symbols = symbols.split(",") + else: + raise ValueError(f"Supply symbols as string, see also function annotation. Supplied {symbols}.") + self.__validate_symbols(x=symbols) + subset = np.logical_and( + subset, + [x in symbols for x in self.genome_tab[KEY_SYMBOL].values] + ) + if ensg is not None: + if isinstance(ensg, list): + pass + elif isinstance(ensg, str): + ensg = ensg.split(",") + else: + raise ValueError(f"Supply ensg as string, see also function annotation. Supplied {ensg}.") + self.__validate_ensembl(x=ensg) + subset = np.logical_and( + subset, + [x in ensg for x in self.genome_tab[KEY_ID].values] + ) + self.genome_tab = self.genome_tab.loc[subset, :].copy() + + @property + def symbols(self): + return self.genome_tab[KEY_SYMBOL].values.tolist() + + @property + def ensembl(self): + return self.genome_tab[KEY_ID].values.tolist() + + @property + def biotype(self): + return self.genome_tab[KEY_TYPE].values.tolist() + + def __validate_ensembl(self, x: List[str]): + not_found = [y for y in x if y not in self.ensembl] + if len(not_found) > 0: + raise ValueError(f"Could not find ensembl: {not_found}") + + def __validate_symbols(self, x: List[str]): + not_found = [y for y in x if y not in self.symbols] + if len(not_found) > 0: + raise ValueError(f"Could not find names: {not_found}") + + def __validate_types(self, x: List[str]): + not_found = [y for y in x if y not in self.biotype] + if len(not_found) > 0: + raise ValueError(f"Could not find type: {not_found}") + + @property + def n_var(self) -> int: + return self.genome_tab.shape[0] + + @property + def names_to_id_dict(self): + return dict(zip(self.genome_tab[KEY_SYMBOL].values.tolist(), self.genome_tab[KEY_ID].values.tolist())) + + @property + def id_to_names_dict(self): + return dict(zip(self.genome_tab[KEY_ID].values.tolist(), self.genome_tab[KEY_SYMBOL].values.tolist())) + + @property + def strippednames_to_id_dict(self): + return dict(zip([i.split(".")[0] for i in self.genome_tab[KEY_SYMBOL]], + self.genome_tab[KEY_ID].values.tolist())) + + +class CustomFeatureContainer(GenomeContainer): + + def __init__( + self, + genome_tab: pandas.DataFrame, + ): + """ + + :param genome_tab: Table characterising feature space. Must be a data frame with 3 columns: + + - "gene_name": Name of features. + - "gene_id": ID of features, can be the same as values of "gene_name" + - "gene_biotype": Types of features, can be arbitrary like "embedding" + """ + self.assembly = "custom" + assert len(genome_tab.columns) == 3 + assert KEY_SYMBOL in genome_tab.columns + assert KEY_ID in genome_tab.columns + assert KEY_TYPE in genome_tab.columns + self.genome_tab = genome_tab diff --git a/sfaira/versions/metadata/__init__.py b/sfaira/versions/metadata/__init__.py new file mode 100644 index 000000000..098f3dc2f --- /dev/null +++ b/sfaira/versions/metadata/__init__.py @@ -0,0 +1,4 @@ +from sfaira.versions.metadata.base import Ontology, OntologyList, OntologyHierarchical, OntologyObo, \ + OntologyOboCustom, OntologyCl, OntologyUberon, OntologyHsapdv, OntologyMondo, OntologyMmusdv, \ + OntologySinglecellLibraryConstruction, OntologyCellosaurus +from sfaira.versions.metadata.universe import CelltypeUniverse diff --git a/sfaira/versions/metadata/base.py b/sfaira/versions/metadata/base.py new file mode 100644 index 000000000..2d35786af --- /dev/null +++ b/sfaira/versions/metadata/base.py @@ -0,0 +1,961 @@ +import abc +import networkx +import numpy as np +import obonet +import os +import pickle +import requests +from typing import Dict, List, Tuple, Union + +FILE_PATH = __file__ + +""" +Ontology managament classes. + +We consider any structured collection of meta data identifiers an ontology and define classes to interact with such +data here. + +- All classes inherit from Ontology() +- Onotlogies can be read as follows: + - from string lists which are typically hardcoded in sfaira (OntologyList), + - from .obo files which are emitted by obofoundry for example (OntologyObo)), + - ToDo from .owl files which are emitted from EBI for example (OntologyOwl)), + - from the EBI web API via direct queries (OntologyEbi)). + +ToDo explain usage of ontology extension. +""" + + +def get_base_ontology_cache() -> str: + folder = FILE_PATH.split(os.sep)[:-4] + folder.insert(1, os.sep) + return os.path.join(*folder, "cache", "ontologies") + + +def cached_load_obo(url, ontology_cache_dir, ontology_cache_fn): + if os.name == "nt": # if running on windows, do not download obo file, but rather pass url directly to obonet + obofile = url + else: + ontology_cache_dir = os.path.join(get_base_ontology_cache(), ontology_cache_dir) + obofile = os.path.join(ontology_cache_dir, ontology_cache_fn) + # Download if necessary: + if not os.path.isfile(obofile): + os.makedirs(name=ontology_cache_dir, exist_ok=True) + + def download_obo(): + print(f"Downloading: {ontology_cache_fn}") + if not os.path.exists(ontology_cache_dir): + os.makedirs(ontology_cache_dir) + r = requests.get(url, allow_redirects=True) + open(obofile, 'wb').write(r.content) + + download_obo() + return obofile + + +def cached_load_ebi(ontology_cache_dir, ontology_cache_fn) -> (networkx.MultiDiGraph, os.PathLike): + """ + Load pickled graph object if available. + + :param ontology_cache_dir: + :param ontology_cache_fn: + :return: + """ + ontology_cache_dir = os.path.join(get_base_ontology_cache(), ontology_cache_dir) + picklefile = os.path.join(ontology_cache_dir, ontology_cache_fn) + if os.path.isfile(picklefile): + with open(picklefile, 'rb') as f: + graph = pickle.load(f) + else: + os.makedirs(name=ontology_cache_dir, exist_ok=True) + graph = None + return graph, picklefile + + +class Ontology: + leaves: List[str] + + @abc.abstractmethod + def node_names(self): + pass + + @abc.abstractmethod + def map_node_suggestion(self, x: str, include_synonyms: bool = True, n_suggest: int = 10): + """ + Map free text node name to ontology node names via fuzzy string matching. + + :param x: Free text node label which is to be matched to ontology nodes. + :param include_synonyms: Whether to search for meaches in synonyms field of node instances, too. + :return List of proposed matches in ontology. + """ + pass + + def is_node(self, x: str): + return x in self.node_names + + def validate_node(self, x: str): + if not self.is_node(x=x): + suggestions = self.map_node_suggestion(x=x, include_synonyms=False) + raise ValueError(f"Node label {x} not found. Did you mean any of {suggestions}?") + + +class OntologyList(Ontology): + """ + Basic unordered ontology container + """ + nodes: list + + def __init__( + self, + terms: Union[List[Union[str, bool, int]]], + **kwargs + ): + self.nodes = terms + + @property + def node_names(self) -> List[str]: + return self.nodes + + def map_node_suggestion(self, x: str, include_synonyms: bool = True, n_suggest: int = 10): + """ + Map free text node name to ontology node names via fuzzy string matching. + + :param x: Free text node label which is to be matched to ontology nodes. + :param include_synonyms: Whether to search for meaches in synonyms field of node instances, too. + :param n_suggest: number of suggestions returned + :return List of proposed matches in ontology. + """ + from fuzzywuzzy import fuzz + scores = np.array([ + np.max([ + fuzz.ratio(x.lower(), y.lower()) + ]) + for y in self.node_names + ]) + # Suggest top n_suggest hits by string match: + return [self.node_names[i] for i in np.argsort(scores)[-n_suggest:]][::-1] + + def synonym_node_properties(self) -> List[str]: + return [] + + def is_a(self, query: str, reference: str) -> bool: + """ + Checks if query node is reference node. + + Note that there is no notion of ancestors for list ontologies. + + :param query: Query node name. Node ID or name. + :param reference: Reference node name. Node ID or name. + :return: If query node is reference node or an ancestor thereof. + """ + return query == reference + + +class OntologyHierarchical(Ontology, abc.ABC): + """ + Basic ordered ontology container + """ + graph: networkx.MultiDiGraph + + def _check_graph(self): + if not networkx.is_directed_acyclic_graph(self.graph): + print(f"Ontology {type(self)} is not a DAG, treat child-parent reasoning with care.") + + def __validate_node_ids(self, x: Union[str, List[str]]): + if isinstance(x, str): + x = [x] + node_ids = self.node_ids + for y in x: + if y not in node_ids: + raise ValueError(f"queried node id {y} is not in graph") + + def __validate_node_names(self, x: Union[str, List[str]]): + if isinstance(x, str): + x = [x] + node_names = self.node_names + for y in x: + if y not in node_names: + raise ValueError(f"queried node name {y} is not in graph") + + @property + def nodes(self) -> List[Tuple[str, dict]]: + return list(self.graph.nodes.items()) + + @property + def nodes_dict(self) -> dict: + return dict(list(self.graph.nodes.items())) + + @property + def node_names(self) -> List[str]: + return [x["name"] for x in self.graph.nodes.values()] + + @property + def node_ids(self) -> List[str]: + return list(self.graph.nodes()) + + def is_a_node_id(self, x: str) -> bool: + return x in self.node_ids + + def is_a_node_name(self, x: str) -> bool: + return x in self.node_names + + def convert_to_name(self, x: Union[str, List[str]]) -> Union[str, List[str]]: + was_str = isinstance(x, str) + if was_str: + x = [x] + if self.is_a_node_id(x[0]): + self.__validate_node_ids(x=x) + x = [ + [v["name"] for k, v in self.graph.nodes.items() if k == z][0] + for z in x + ] + elif self.is_a_node_name(x[0]): + self.__validate_node_names(x=x) + else: + raise ValueError(f"node {x[0]} not recognized") + self.__validate_node_names(x=x) + if was_str: + return x[0] + else: + return x + + def convert_to_id(self, x: Union[str, List[str]]) -> Union[str, List[str]]: + was_str = isinstance(x, str) + if was_str: + x = [x] + if self.is_a_node_id(x[0]): + self.__validate_node_ids(x=x) + elif self.is_a_node_name(x[0]): + self.__validate_node_names(x=x) + x = [ + [k for k, v in self.graph.nodes.items() if v["name"] == z][0] + for z in x + ] + else: + raise ValueError(f"node {x[0]} not recognized") + self.__validate_node_ids(x=x) + if was_str: + return x[0] + else: + return x + + @property + def leaves(self) -> List[str]: + return [x for x in self.graph.nodes() if self.graph.in_degree(x) == 0] + + @leaves.setter + def leaves(self, x: List[str]): + """ + Sets new leaf-space for graph. + + This clips nodes that are not upstream of defined leaves. + :param x: New set of leaves nodes, identified as IDs. + """ + x = self.convert_to_id(x=x) + nodes_to_remove = [] + for y in self.graph.nodes(): + if not np.any([self.is_a(query=z, reference=y) for z in x]): + nodes_to_remove.append(y) + self.graph.remove_nodes_from(nodes_to_remove) + + @property + def n_leaves(self) -> int: + return len(self.leaves) + + def get_effective_leaves(self, x: List[str]) -> List[str]: + """ + Get effective leaves in ontology given set of observed nodes. + + The effective leaves are the minimal set of nodes such that all nodes in x are ancestors of this set, ie the + observed nodes which represent leaves of a sub-DAG of the ontology DAG, which captures all observed nodes. + + :param x: Observed node IDs. + :return: Effective leaves. + """ + if isinstance(x, str): + x = [x] + if isinstance(x, np.ndarray): + x = x.tolist() + assert isinstance(x, list), "supply either list or str to get_effective_leaves" + if len(x) == 0: + raise ValueError("x was empty list, get_effective_leaves cannot be called on empty list") + x = np.unique(x).tolist() + x = self.convert_to_id(x=x) + leaves = [] + for y in x: + if not np.any([self.is_a(query=z, reference=y) for z in list(set(x) - {y})]): + leaves.append(y) + return leaves + + def get_ancestors(self, node: str) -> List[str]: + node = self.convert_to_id(node) + return list(networkx.ancestors(self.graph, node)) + + def get_descendants(self, node: str) -> List[str]: + node = self.convert_to_id(node) + return list(networkx.descendants(self.graph, node)) + + def is_a(self, query: str, reference: str) -> bool: + """ + Checks if query node is reference node or an ancestor thereof. + + :param query: Query node name. Node ID or name. + :param reference: Reference node name. Node ID or name. + :return: If query node is reference node or an ancestor thereof. + """ + query = self.convert_to_id(query) + reference = self.convert_to_id(reference) + return query in self.get_ancestors(node=reference) or query == reference + + def map_to_leaves( + self, + node: str, + return_type: str = "ids", + include_self: bool = True + ) -> Union[List[str], np.ndarray]: + """ + Map a given node to leave nodes. + + :param node: + :param return_type: + + "ids": IDs of mapped leave nodes + "idx": indicies in leave note list of mapped leave nodes + :param include_self: whether to include node itself + :return: + """ + node = self.convert_to_id(node) + ancestors = self.get_ancestors(node) + if include_self: + ancestors = ancestors + [node] + if len(ancestors) > 0: + ancestors = self.convert_to_id(ancestors) + leaves = self.convert_to_id(self.leaves) + if return_type == "ids": + return [x for x in leaves if x in ancestors] + elif return_type == "idx": + return np.sort([i for i, x in enumerate(leaves) if x in ancestors]) + else: + raise ValueError(f"return_type {return_type} not recognized") + + def prepare_maps_to_leaves( + self, + include_self: bool = True + ) -> Dict[str, np.ndarray]: + """ + Precomputes all maps of nodes to their leave nodes. + + :param include_self: whether to include node itself + :return: Dictionary of index vectors of leave node matches for each node (key). + """ + nodes = self.node_ids + maps = {} + import time + t0 = time.time() + for x in nodes: + maps[x] = self.map_to_leaves(node=x, return_type="idx", include_self=include_self) + print(f"time for precomputing ancestors: {time.time()-t0}") + return maps + + @abc.abstractmethod + def synonym_node_properties(self) -> List[str]: + pass + + +class OntologyEbi(OntologyHierarchical): + """ + Recursively assembles ontology by querying EBI web interface. + + Not recommended for large ontologies because of the iterative query of the web API. + """ + + def __init__( + self, + ontology: str, + root_term: str, + additional_terms: dict, + additional_edges: List[Tuple[str, str]], + ontology_cache_fn: str, + **kwargs + ): + def get_url_self(iri): + return f"https://www.ebi.ac.uk/ols/api/ontologies/{ontology}/terms/" \ + f"http%253A%252F%252Fwww.ebi.ac.uk%252F{ontology}%252F{iri}" + + def get_url_children(iri): + return f"https://www.ebi.ac.uk/ols/api/ontologies/{ontology}/terms/" \ + f"http%253A%252F%252Fwww.ebi.ac.uk%252F{ontology}%252F{iri}/children" + + def get_iri_from_node(x): + return x["iri"].split("/")[-1] + + def get_id_from_iri(x): + x = ":".join(x.split("_")) + return x + + def get_id_from_node(x): + x = get_iri_from_node(x) + x = get_id_from_iri(x) + return x + + def recursive_search(iri): + """ + This function queries all nodes that are children of a given node at one time. This is faster than querying + the characteristics of each node separately but leads to slightly awkward code, the root node has to be + queried separately for example below. + + :param iri: Root node IRI. + :return: Tuple of + + - nodes (dictionaries of node ID and node values) and + - edges (node ID of parent and child). + """ + terms_children = requests.get(get_url_children(iri=iri)).json()["_embedded"]["terms"] + nodes_new = {} + edges_new = [] + direct_children = [] + k_self = get_id_from_iri(iri) + # Define root node if this is the first iteration, this node is otherwise not defined through values. + if k_self == "EFO:0010183": + terms_self = requests.get(get_url_self(iri=iri)).json() + nodes_new[k_self] = { + "name": terms_self["label"], + "description": terms_self["description"], + "synonyms": terms_self["synonyms"], + "has_children": terms_self["has_children"], + } + for c in terms_children: + k_c = get_id_from_node(c) + nodes_new[k_c] = { + "name": c["label"], + "description": c["description"], + "synonyms": c["synonyms"], + "has_children": c["has_children"], + } + direct_children.append(k_c) + if c["has_children"]: + nodes_x, edges_x = recursive_search(iri=get_iri_from_node(c)) + nodes_new.update(nodes_x) + # Update nested edges of between children: + edges_new.extend(edges_x) + # Update edges to children: + edges_new.extend([(k_self, k_c) for k_c in direct_children]) + return nodes_new, edges_new + + graph, picklefile = cached_load_ebi(ontology_cache_dir=ontology, ontology_cache_fn=ontology_cache_fn) + if graph is None: + self.graph = networkx.MultiDiGraph() + nodes, edges = recursive_search(iri=root_term) + nodes.update(additional_terms) + edges.extend(additional_edges) + for k, v in nodes.items(): + self.graph.add_node(node_for_adding=k, **v) + for x in edges: + parent, child = x + self.graph.add_edge(child, parent) + with open(picklefile, 'wb') as f: + pickle.dump(obj=self.graph, file=f) + else: + self.graph = graph + + def map_node_suggestion(self, x: str, include_synonyms: bool = True, n_suggest: int = 10): + """ + Map free text node name to ontology node names via fuzzy string matching. + + :param x: Free text node label which is to be matched to ontology nodes. + :param include_synonyms: Whether to search for meaches in synonyms field of node instances, too. + :return List of proposed matches in ontology. + """ + from fuzzywuzzy import fuzz + scores = np.array([ + np.max( + [ + fuzz.partial_ratio(x.lower(), v["name"].lower()) + ] + [ + fuzz.partial_ratio(x.lower(), yyy.lower()) + for yy in self.synonym_node_properties if yy in v.keys() for yyy in v[yy] + ] + ) if include_synonyms else + np.max([ + fuzz.partial_ratio(x.lower(), v["name"].lower()) + ]) + for k, v in self.graph.nodes.items() + ]) + # Suggest top n_suggest hits by string match: + return [self.node_names[i] for i in np.argsort(scores)[-n_suggest:]][::-1] + + @property + def synonym_node_properties(self) -> List[str]: + return ["synonyms"] + + +# class OntologyOwl(OntologyHierarchical): +# +# onto: owlready2.Ontology +# +# def __init__( +# self, +# owl: str, +# **kwargs +# ): +# self.onto = owlready2.get_ontology(owl) +# self.onto.load() +# # ToDo build support here +# +# @property +# def node_names(self): +# pass + + +class OntologyObo(OntologyHierarchical, abc.ABC): + + def __init__( + self, + obo: str, + **kwargs + ): + self.graph = obonet.read_obo(obo) + + def map_node_suggestion(self, x: str, include_synonyms: bool = True, n_suggest: int = 10): + """ + Map free text node name to ontology node names via fuzzy string matching. + + :param x: Free text node label which is to be matched to ontology nodes. + :param include_synonyms: Whether to search for meaches in synonyms field of node instances, too. + :return List of proposed matches in ontology. + """ + from fuzzywuzzy import fuzz + scores = np.array([ + np.max( + [ + fuzz.ratio(x.lower().strip("'").strip("\""), y[1]["name"].lower()) + ] + [ + fuzz.ratio(x.lower().strip("'").strip("\"").strip("]").strip("["), yyy.lower()) + for yy in self.synonym_node_properties if yy in y[1].keys() for yyy in y[1][yy] + ] + ) if "synonym" in y[1].keys() and include_synonyms else + np.max([ + fuzz.ratio(x.lower().strip("'").strip("\""), y[1]["name"].lower()) + ]) + for y in self.nodes + ]) + # Suggest top n_suggest hits by string match: + return [self.nodes[i][1]["name"] for i in np.argsort(scores)[-n_suggest:]][::-1] + + +class OntologyExtendedObo(OntologyObo): + """ + Basic .obo ontology extended by additional nodes and edges without breaking DAG. + """ + + def __init__(self, obo, **kwargs): + super().__init__(obo=obo, **kwargs) + + def add_extension(self, dict_ontology: Dict[str, List[Dict[str, dict]]]): + """ + Extend ontology by additional edges and nodes defined in a dictionary. + + Checks that DAG is not broken after graph assembly. + + :param dict_ontology: Dictionary of nodes and edges to add to ontology. Parsing: + + - keys: parent nodes (which must be in ontology) + - values: children nodes (which can be in ontology), must be given as a dictionary in which keys are + ontology IDs and values are node values.. + If these are in the ontology, an edge is added, otherwise, an edge and the node are added. + :return: + """ + for k, v in dict_ontology.items(): + assert isinstance(v, dict), "dictionary values should be dictionaries" + # Check that parent node is present: + if k not in self.node_ids: + raise ValueError(f"key {k} was not in reference ontology") + # Check if edge is added only, or edge and node. + for child_node_k, child_node_v in v.items(): + if child_node_k not in self.node_ids: # Add node + self.graph.add_node(node_for_adding=child_node_k, **child_node_v) + # Add edge. + self.graph.add_edge(k, child_node_k) + # Check that DAG was not broken: + self._check_graph() + + @property + def synonym_node_properties(self) -> List[str]: + return ["synonym"] + + +class OntologyUberon(OntologyExtendedObo): + + def __init__( + self, + **kwargs + ): + obofile = cached_load_obo( + url="http://purl.obolibrary.org/obo/uberon.obo", + ontology_cache_dir="uberon", + ontology_cache_fn="uberon.obo", + ) + super().__init__(obo=obofile) + + # Clean up nodes: + nodes_to_delete = [] + for k, v in self.graph.nodes.items(): + # Only retain nodes which are "anatomical collection" 'UBERON:0034925': + # ToDo this seems to narrow, need to check if we need to constrain the nodes we use. + if "name" not in v.keys(): + nodes_to_delete.append(k) + for k in nodes_to_delete: + self.graph.remove_node(k) + + # Clean up edges: + # The graph object can hold different types of edges, + # and multiple types are loaded from the obo, not all of which are relevant for us: + # All edge types (based on previous download, assert below that this is not extended): + edge_types = [ + 'aboral_to', + 'adjacent_to', + 'anastomoses_with', + 'anterior_to', + 'anteriorly_connected_to', + 'attaches_to', + 'attaches_to_part_of', + 'bounding_layer_of', + 'branching_part_of', + 'channel_for', + 'channels_from', + 'channels_into', + 'composed_primarily_of', + 'conduit_for', + 'connected_to', + 'connects', + 'contains', + 'continuous_with', + 'contributes_to_morphology_of', + 'deep_to', + 'developmentally_induced_by', + 'developmentally_replaces', + 'develops_from', # developmental DAG -> include because it reflects the developmental hierarchy + 'develops_from_part_of', # developmental DAG -> include because it reflects the developmental hierarchy + 'develops_in', + 'directly_develops_from', # developmental DAG -> include because it reflects the developmental hierarchy + 'distal_to', + 'distally_connected_to', + 'distalmost_part_of', + 'dorsal_to', + 'drains', + 'ends', + 'ends_with', + 'existence_ends_during', + 'existence_ends_during_or_before', + 'existence_ends_with', + 'existence_starts_and_ends_during', + 'existence_starts_during', + 'existence_starts_during_or_after', + 'existence_starts_with', + 'extends_fibers_into', + 'filtered_through', + 'has_boundary', + 'has_component', + 'has_developmental_contribution_from', + 'has_fused_element', + 'has_member', + 'has_muscle_antagonist', + 'has_muscle_insertion', + 'has_muscle_origin', + 'has_part', + 'has_potential_to_develop_into', + 'has_potential_to_developmentally_contribute_to', + 'has_skeleton', + 'immediate_transformation_of', + 'immediately_anterior_to', + 'immediately_deep_to', + 'immediately_posterior_to', + 'immediately_preceded_by', + 'immediately_superficial_to', + 'in_anterior_side_of', + 'in_central_side_of', + 'in_deep_part_of', + 'in_distal_side_of', + 'in_dorsal_side_of', + 'in_innermost_side_of', + 'in_lateral_side_of', + 'in_left_side_of', + 'in_outermost_side_of', + 'in_posterior_side_of', + 'in_proximal_side_of', + 'in_right_side_of', + 'in_superficial_part_of', + 'in_ventral_side_of', + 'indirectly_supplies', + 'innervated_by', + 'innervates', + 'intersects_midsagittal_plane_of', + 'is_a', # term DAG -> include because it connect conceptual tissue groups + 'layer_part_of', + 'located_in', # anatomic DAG -> include because it reflects the anatomic coarseness / hierarchy + 'location_of', + 'lumen_of', + 'luminal_space_of', + 'overlaps', + 'part_of', # anatomic DAG -> include because it reflects the anatomic coarseness / hierarchy + 'postaxialmost_part_of', + 'posterior_to', + 'posteriorly_connected_to', + 'preaxialmost_part_of', + 'preceded_by', + 'precedes', + 'produced_by', + 'produces', + 'protects', + 'proximal_to', + 'proximally_connected_to', + 'proximalmost_part_of', + 'seeAlso', + 'serially_homologous_to', + 'sexually_homologous_to', + 'skeleton_of', + 'starts', + 'starts_with', + 'subdivision_of', + 'superficial_to', + 'supplies', + 'surrounded_by', + 'surrounds', + 'transformation_of', + 'tributary_of', + 'trunk_part_of', + 'ventral_to' + ] + edges_to_delete = [] + for i, x in enumerate(self.graph.edges): + assert x[2] in edge_types, x + if x[2] not in [ + "develops_from", + 'develops_from_part_of', + 'directly_develops_from', + "is_a", + "located_in", + "part_of", + ]: + edges_to_delete.append((x[0], x[1])) + for x in edges_to_delete: + self.graph.remove_edge(u=x[0], v=x[1]) + self._check_graph() + + @property + def synonym_node_properties(self) -> List[str]: + return ["synonym", "latin term", "has relational adjective"] + + +class OntologyCl(OntologyExtendedObo): + + def __init__( + self, + branch: str, + use_developmental_relationships: bool = False, + **kwargs + ): + """ + + Developmental edges are not desired in all interactions with this ontology, double-negative thymocytes are for + example not an intuitive parent node for a fine grained T cell label in a non-thymic tissue. + :param branch: + :param use_developmental_relationships: Whether to keep developmental relationships. + :param kwargs: + """ + obofile = cached_load_obo( + url=f"https://raw.github.com/obophenotype/cell-ontology/{branch}/cl.obo", + ontology_cache_dir="cl", + ontology_cache_fn=f"{branch}_cl.obo", + ) + super().__init__(obo=obofile) + + # Clean up nodes: + nodes_to_delete = [] + for k, v in self.graph.nodes.items(): + # Some terms are not associated with the namespace cell but are cell types, + # we identify these based on their ID nomenclature here. + if ("namespace" in v.keys() and v["namespace"] not in ["cell", "cl"]) or \ + ("namespace" not in v.keys() and str(k)[:2] != "CL"): + nodes_to_delete.append(k) + elif "name" not in v.keys(): + nodes_to_delete.append(k) + for k in nodes_to_delete: + self.graph.remove_node(k) + + # Clean up edges: + # The graph object can hold different types of edges, + # and multiple types are loaded from the obo, not all of which are relevant for us: + # All edge types (based on previous download, assert below that this is not extended): + edge_types = [ + 'is_a', # nomenclature DAG -> include because of annotation coarseness differences + 'derives_from', + 'develops_from', # developmental DAG -> include because of developmental differences + 'has_part', # ? + 'develops_into', # inverse developmental DAG -> do not include + 'part_of', + 'RO:0002120', # ? + 'RO:0002103', # ? + 'lacks_plasma_membrane_part', # ? + ] + edges_to_delete = [] + if use_developmental_relationships: + edges_allowed = ["is_a", "develops_from"] + else: + edges_allowed = ["is_a"] + for i, x in enumerate(self.graph.edges): + assert x[2] in edge_types, x + if x[2] not in edges_allowed: + edges_to_delete.append((x[0], x[1])) + for x in edges_to_delete: + self.graph.remove_edge(u=x[0], v=x[1]) + self._check_graph() + + @property + def synonym_node_properties(self) -> List[str]: + return ["synonym"] + + +class OntologyOboCustom(OntologyExtendedObo): + + def __init__( + self, + obo: str, + **kwargs + ): + super().__init__(obo=obo, **kwargs) + + +# use OWL for OntologyHancestro + + +class OntologyHsapdv(OntologyExtendedObo): + + def __init__( + self, + **kwargs + ): + obofile = cached_load_obo( + url="http://purl.obolibrary.org/obo/hsapdv.obo", + ontology_cache_dir="hsapdv", + ontology_cache_fn="hsapdv.obo", + ) + super().__init__(obo=obofile) + + # Clean up nodes: + nodes_to_delete = [] + for k, v in self.graph.nodes.items(): + if "name" not in v.keys(): + nodes_to_delete.append(k) + for k in nodes_to_delete: + self.graph.remove_node(k) + + @property + def synonym_node_properties(self) -> List[str]: + return ["synonym"] + + +class OntologyMmusdv(OntologyExtendedObo): + + def __init__( + self, + **kwargs + ): + obofile = cached_load_obo( + url="http://purl.obolibrary.org/obo/mmusdv.obo", + ontology_cache_dir="mmusdv", + ontology_cache_fn="mmusdv.obo", + ) + super().__init__(obo=obofile) + + # Clean up nodes: + nodes_to_delete = [] + for k, v in self.graph.nodes.items(): + if "name" not in v.keys(): + nodes_to_delete.append(k) + for k in nodes_to_delete: + self.graph.remove_node(k) + + @property + def synonym_node_properties(self) -> List[str]: + return ["synonym"] + + +class OntologyMondo(OntologyExtendedObo): + + def __init__( + self, + **kwargs + ): + obofile = cached_load_obo( + url="http://purl.obolibrary.org/obo/mondo.obo", + ontology_cache_dir="mondo", + ontology_cache_fn="mondo.obo", + ) + super().__init__(obo=obofile) + + # Clean up nodes: + nodes_to_delete = [] + for k, v in self.graph.nodes.items(): + if "name" not in v.keys(): + nodes_to_delete.append(k) + for k in nodes_to_delete: + self.graph.remove_node(k) + + # add healthy property + # Add node "healthy" under root node "MONDO:0000001": "quality". + # We use a PATO node for this label: PATO:0000461. + self.add_extension(dict_ontology={ + "MONDO:0000001": { + "PATO:0000461": {"name": "healthy"} + }, + }) + + @property + def synonym_node_properties(self) -> List[str]: + return ["synonym"] + + +class OntologyCellosaurus(OntologyExtendedObo): + + def __init__( + self, + **kwargs + ): + obofile = cached_load_obo( + url="https://ftp.expasy.org/databases/cellosaurus/cellosaurus.obo", + ontology_cache_dir="cellosaurus", + ontology_cache_fn="cellosaurus.obo", + ) + super().__init__(obo=obofile) + + # Clean up nodes: + # edge_types = ["derived_from", "originate_from_same_individual_as"] + nodes_to_delete = [] + for k, v in self.graph.nodes.items(): + if "name" not in v.keys(): + nodes_to_delete.append(k) + for k in nodes_to_delete: + self.graph.remove_node(k) + + @property + def synonym_node_properties(self) -> List[str]: + return ["synonym"] + + +class OntologySinglecellLibraryConstruction(OntologyEbi): + + def __init__(self): + super().__init__( + ontology="efo", + root_term="EFO_0010183", + additional_terms={ + "microwell-seq": {"name": "microwell-seq"}, + "sci-plex": {"name": "sci-plex"} + }, + additional_edges=[ + ("EFO:0010183", "microwell-seq"), + ("EFO:0010183", "sci-plex"), + ], + ontology_cache_fn="efo.pickle" + ) diff --git a/sfaira/versions/metadata/extensions/__init__.py b/sfaira/versions/metadata/extensions/__init__.py new file mode 100644 index 000000000..6fe32c7de --- /dev/null +++ b/sfaira/versions/metadata/extensions/__init__.py @@ -0,0 +1 @@ +from .obo_extension import ONTOLOGIY_EXTENSION diff --git a/sfaira/versions/metadata/extensions/obo_extension.py b/sfaira/versions/metadata/extensions/obo_extension.py new file mode 100644 index 000000000..2a54299ae --- /dev/null +++ b/sfaira/versions/metadata/extensions/obo_extension.py @@ -0,0 +1 @@ +ONTOLOGIY_EXTENSION = {} diff --git a/sfaira/versions/metadata/target_universes/__init__.py b/sfaira/versions/metadata/target_universes/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/sfaira/versions/metadata/target_universes/human/__init__.py b/sfaira/versions/metadata/target_universes/human/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/versions/metadata/target_universes/human/adipose.csv b/sfaira/versions/metadata/target_universes/human/adipose.csv new file mode 100644 index 000000000..7ca47fcb6 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/adipose.csv @@ -0,0 +1,15 @@ +"name","id" +'B cell (Plasmocyte)', "nan" +'Dendritic cell', "nan" +'Endothelial cell (APC)', "nan" +'Endothelial cell (endothelial to mesenchymal transition)', "nan" +'Epithelial cell', "nan" +'Erythroid cell', "nan" +'Fibroblast', "nan" +'Macrophage', "nan" +'Mast cell', "nan" +'Monocyte', "nan" +'Neutrophil', "nan" +'Smooth muscle cell', "nan" +'Stromal cell', "nan" +'T cell', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/adrenalgland.csv b/sfaira/versions/metadata/target_universes/human/adrenalgland.csv new file mode 100644 index 000000000..02c5b83a2 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/adrenalgland.csv @@ -0,0 +1,47 @@ +"name","id" +'Adrenal gland inflammatory cell', "nan" +'Antigen presenting cell (RPS high)', "nan" +'B cell', "nan" +'B cell (Plasmocyte)', "nan" +'CB CD34+', "nan" +'Dendritic cell', "nan" +'Endothelial cell', "nan" +'Endothelial cell (APC)', "nan" +'Endothelial cell (endothelial to mesenchymal transition)', "nan" +'Enterocyte', "nan" +'Enterocyte progenitor', "nan" +'Epithelial cell', "nan" +'Erythroid cell', "nan" +'Erythroid progenitor cell (RP high)', "nan" +'Fasciculata cell', "nan" +'Fetal Neuron', "nan" +'Fetal acinar cell', "nan" +'Fetal endocrine cell', "nan" +'Fetal enterocyte ', "nan" +'Fetal epithelial progenitor', "nan" +'Fetal fibroblast', "nan" +'Fetal mesenchymal progenitor', "nan" +'Fetal neuron', "nan" +'Fetal skeletal muscle cell', "nan" +'Fetal stromal cell', "nan" +'Fibroblast', "nan" +'Goblet cell', "nan" +'Hepatocyte/Endodermal cell', "nan" +'Immature sertoli cell (Pre-Sertoli cell)', "nan" +'Kidney intercalated cell', "nan" +'Loop of Henle', "nan" +'M2 Macrophage', "nan" +'Macrophage', "nan" +'Mast cell', "nan" +'Monocyte', "nan" +'Myeloid cell', "nan" +'Neutrophil', "nan" +'Neutrophil (RPS high)', "nan" +'Primordial germ cell', "nan" +'Proximal tubule progenitor', "nan" +'Sinusoidal endothelial cell', "nan" +'Smooth muscle cell', "nan" +'Stromal cell', "nan" +'T cell', "nan" +'Ureteric bud cell', "nan" +'hESC', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/artery.csv b/sfaira/versions/metadata/target_universes/human/artery.csv new file mode 100644 index 000000000..21712b7a5 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/artery.csv @@ -0,0 +1,20 @@ +"name","id" +'B cell', "nan" +'B cell (Plasmocyte)', "nan" +'Basal cell', "nan" +'Dendritic cell', "nan" +'Endothelial cell', "nan" +'Endothelial cell (APC)', "nan" +'Endothelial cell (endothelial to mesenchymal transition)', "nan" +'Epithelial cell', "nan" +'Fibroblast', "nan" +'M2 Macrophage', "nan" +'Macrophage', "nan" +'Mast cell', "nan" +'Mesothelial cell', "nan" +'Monocyte', "nan" +'Myeloid cell', "nan" +'Neutrophil', "nan" +'Smooth muscle cell', "nan" +'Stromal cell', "nan" +'T cell', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/bladder.csv b/sfaira/versions/metadata/target_universes/human/bladder.csv new file mode 100644 index 000000000..d9222e44d --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/bladder.csv @@ -0,0 +1,25 @@ +"name","id" +'B cell', "nan" +'B cell (Plasmocyte)', "nan" +'Basal cell', "nan" +'CB CD34+', "nan" +'Dendritic cell', "nan" +'Endothelial cell', "nan" +'Endothelial cell (APC)', "nan" +'Endothelial cell (endothelial to mesenchymal transition)', "nan" +'Epithelial cell', "nan" +'Epithelial cell (intermediated)', "nan" +'Erythroid progenitor cell (RP high)', "nan" +'Fetal fibroblast', "nan" +'Fibroblast', "nan" +'Gastric endocrine cell', "nan" +'Goblet cell', "nan" +'Intermediated cell', "nan" +'Macrophage', "nan" +'Mast cell', "nan" +'Monocyte', "nan" +'Neutrophil', "nan" +'Sinusoidal endothelial cell', "nan" +'Smooth muscle cell', "nan" +'Stromal cell', "nan" +'T cell', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/blood.csv b/sfaira/versions/metadata/target_universes/human/blood.csv new file mode 100644 index 000000000..f0a8cec41 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/blood.csv @@ -0,0 +1,21 @@ +"name","id" +'Antigen presenting cell (RPS high)', "nan" +'B cell', "nan" +'B cell (Plasmocyte)', "nan" +'CB CD34+', "nan" +'Dendritic cell', "nan" +'Endothelial cell', "nan" +'Erythroid cell', "nan" +'Erythroid progenitor cell (RP high)', "nan" +'Fetal chondrocyte', "nan" +'Fetal epithelial progenitor', "nan" +'M2 Macrophage', "nan" +'Macrophage', "nan" +'Mast cell', "nan" +'Monocyte', "nan" +'Neutrophil', "nan" +'Neutrophil (RPS high)', "nan" +'Primordial germ cell', "nan" +'Proliferating T cell', "nan" +'Sinusoidal endothelial cell', "nan" +'T cell', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/bone.csv b/sfaira/versions/metadata/target_universes/human/bone.csv new file mode 100644 index 000000000..2ff5712b6 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/bone.csv @@ -0,0 +1,15 @@ +"name","id" +'Antigen presenting cell (RPS high)', "nan" +'B cell', "nan" +'B cell (Plasmocyte)', "nan" +'CB CD34+', "nan" +'Dendritic cell', "nan" +'Erythroid cell', "nan" +'Erythroid progenitor cell (RP high)', "nan" +'Macrophage', "nan" +'Monocyte', "nan" +'Neutrophil', "nan" +'Neutrophil (RPS high)', "nan" +'Primordial germ cell', "nan" +'Stromal cell', "nan" +'T cell', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/brain.csv b/sfaira/versions/metadata/target_universes/human/brain.csv new file mode 100644 index 000000000..ee05bf7f1 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/brain.csv @@ -0,0 +1,40 @@ +"name","id" +'Antigen presenting cell (RPS high)', "nan" +'Astrocytes 1', "nan" +'Astrocytes 2', "nan" +'B cell', "nan" +'B cell (Plasmocyte)', "nan" +'CB CD34+', "nan" +'Dendritic cell', "nan" +'Endothelial cells', "nan" +'Erythroid cell', "nan" +'Erythroid progenitor cell (RP high)', "nan" +'Fetal endocrine cell', "nan" +'Fetal enterocyte ', "nan" +'Fetal epithelial progenitor', "nan" +'Fetal mesenchymal progenitor', "nan" +'Fetal stromal cell', "nan" +'Fibroblast', "nan" +'GABAergic interneurons 1', "nan" +'GABAergic interneurons 2', "nan" +'Gastric endocrine cell', "nan" +'Glutamatergic neurons from the PFC 1', "nan" +'Glutamatergic neurons from the PFC 2', "nan" +'Goblet cell', "nan" +'Granule neurons from the hip dentate gyrus region', "nan" +'Macrophage', "nan" +'Microglia', "nan" +'Monocyte', "nan" +'Neuronal stem cells', "nan" +'Neutrophil', "nan" +'Neutrophil (RPS high)', "nan" +'Oligodendrocyte precursors', "nan" +'Oligodendrocytes', "nan" +'Primordial germ cell', "nan" +'Pyramidal neurons from the hip CA region 1', "nan" +'Pyramidal neurons from the hip CA region 2', "nan" +'Sinusoidal endothelial cell', "nan" +'Smooth muscle cell', "nan" +'Stromal cell', "nan" +'T cell', "nan" +'Unknown', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/calvaria.csv b/sfaira/versions/metadata/target_universes/human/calvaria.csv new file mode 100644 index 000000000..f8010b36b --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/calvaria.csv @@ -0,0 +1,23 @@ +"name","id" +'Antigen presenting cell (RPS high)', "nan" +'CB CD34+', "nan" +'Dendritic cell', "nan" +'Endothelial cell', "nan" +'Erythroid cell', "nan" +'Erythroid progenitor cell (RP high)', "nan" +'Fetal chondrocyte', "nan" +'Fetal epithelial progenitor', "nan" +'Fetal fibroblast', "nan" +'Fetal mesenchymal progenitor', "nan" +'Fetal neuron', "nan" +'Fetal skeletal muscle cell', "nan" +'Fetal stromal cell', "nan" +'Kidney intercalated cell', "nan" +'Macrophage', "nan" +'Monocyte', "nan" +'Neutrophil', "nan" +'Neutrophil (RPS high)', "nan" +'Primordial germ cell', "nan" +'Smooth muscle cell', "nan" +'Stromal cell', "nan" +'T cell', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/cervix.csv b/sfaira/versions/metadata/target_universes/human/cervix.csv new file mode 100644 index 000000000..4a54d94b6 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/cervix.csv @@ -0,0 +1,15 @@ +"name","id" +'B cell (Plasmocyte)', "nan" +'Basal cell', "nan" +'Dendritic cell', "nan" +'Endothelial cell', "nan" +'Endothelial cell (APC)', "nan" +'Fetal epithelial progenitor', "nan" +'Fibroblast', "nan" +'Loop of Henle', "nan" +'Macrophage', "nan" +'Mast cell', "nan" +'Smooth muscle cell', "nan" +'Stratified epithelial cell', "nan" +'Stromal cell', "nan" +'T cell', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/chorionicvillus.csv b/sfaira/versions/metadata/target_universes/human/chorionicvillus.csv new file mode 100644 index 000000000..4282e43e4 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/chorionicvillus.csv @@ -0,0 +1,24 @@ +"name","id" +'Antigen presenting cell (RPS high)', "nan" +'B cell (Plasmocyte)', "nan" +'CB CD34+', "nan" +'Endothelial cell', "nan" +'Endothelial cell (APC)', "nan" +'Endothelial cell (endothelial to mesenchymal transition)', "nan" +'Epithelial cell', "nan" +'Erythroid cell', "nan" +'Erythroid progenitor cell (RP high)', "nan" +'Fetal mesenchymal progenitor', "nan" +'Fetal stromal cell', "nan" +'Fibroblast', "nan" +'Loop of Henle', "nan" +'M2 Macrophage', "nan" +'Macrophage', "nan" +'Monocyte', "nan" +'Neutrophil', "nan" +'Neutrophil (RPS high)', "nan" +'Primordial germ cell', "nan" +'Smooth muscle cell', "nan" +'Stratified epithelial cell', "nan" +'Stromal cell', "nan" +'T cell', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/colon.csv b/sfaira/versions/metadata/target_universes/human/colon.csv new file mode 100644 index 000000000..ecca3f454 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/colon.csv @@ -0,0 +1,68 @@ +"name","id" +'Antigen presenting cell (RPS high)', "nan" +'B cell IgA Plasma', "nan" +'B cell IgG Plasma', "nan" +'B cell cycling', "nan" +'B cell memory', "nan" +'Best4+ Enterocytes', "nan" +'CD4+ Memory', "nan" +'CD4+ PD1+', "nan" +'CD4+ T Activated Fos-hi', "nan" +'CD4+ T Activated Fos-lo', "nan" +'CD69+ Mast', "nan" +'CD69- Mast', "nan" +'CD8 T', "nan" +'CD8+ IELs', "nan" +'CD8+ IL17+', "nan" +'CD8+ LP', "nan" +'Cycling T', "nan" +'Cycling TA', "nan" +'DC1', "nan" +'DC2', "nan" +'Endothelial', "nan" +'Enterocyte Progenitors', "nan" +'Enterocytes', "nan" +'Enteroendocrine cells', "nan" +'Erythroid cell', "nan" +'Fetal Neuron', "nan" +'Fetal enterocyte ', "nan" +'Fetal mesenchymal progenitor', "nan" +'Fibroblast', "nan" +'Follicular', "nan" +'Glial cells', "nan" +'Goblet cells', "nan" +'ILC', "nan" +'Immature Enterocytes 1', "nan" +'Immature Enterocytes 2', "nan" +'Immature Goblet', "nan" +'LYVE1 Macrophage', "nan" +'Lymphoid DC', "nan" +'M cells', "nan" +'MT-hi', "nan" +'Macrophage', "nan" +'Monocyte', "nan" +'Myofibroblasts', "nan" +'NK', "nan" +'Neutrophil', "nan" +'Paneth cells', "nan" +'Pericytes', "nan" +'Primordial germ cell', "nan" +'Secretory TA', "nan" +'Smooth Muscle', "nan" +'Stem cells', "nan" +'Stromal', "nan" +'TA 1', "nan" +'TA 2', "nan" +'Tcm', "nan" +'Tfh', "nan" +'Th1', "nan" +'Th17', "nan" +'Treg', "nan" +'Tregs', "nan" +'Tuft', "nan" +'WNT2B+ Fos-lo 1', "nan" +'WNT5B+ 2', "nan" +'cycling DCs', "nan" +'cycling gd T', "nan" +'gd T', "nan" +'pDC', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/duodenum.csv b/sfaira/versions/metadata/target_universes/human/duodenum.csv new file mode 100644 index 000000000..e9d1722b1 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/duodenum.csv @@ -0,0 +1,20 @@ +"name","id" +'Antigen presenting cell (RPS high)', "nan" +'B cell', "nan" +'B cell (Plasmocyte)', "nan" +'Dendritic cell', "nan" +'Endothelial cell', "nan" +'Endothelial cell (APC)', "nan" +'Endothelial cell (endothelial to mesenchymal transition)', "nan" +'Enterocyte', "nan" +'Enterocyte progenitor', "nan" +'Fetal endocrine cell', "nan" +'Fetal enterocyte ', "nan" +'Fibroblast', "nan" +'Goblet cell', "nan" +'Hepatocyte/Endodermal cell', "nan" +'Macrophage', "nan" +'Mast cell', "nan" +'Smooth muscle cell', "nan" +'Stromal cell', "nan" +'T cell', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/epityphlon.csv b/sfaira/versions/metadata/target_universes/human/epityphlon.csv new file mode 100644 index 000000000..d605f47e6 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/epityphlon.csv @@ -0,0 +1,15 @@ +"name","id" +'B cell', "nan" +'B cell (Plasmocyte)', "nan" +'CB CD34+', "nan" +'Dendritic cell', "nan" +'Endothelial cell (APC)', "nan" +'Enterocyte', "nan" +'Enterocyte progenitor', "nan" +'Epithelial cell', "nan" +'Macrophage', "nan" +'Mast cell', "nan" +'Monocyte', "nan" +'Smooth muscle cell', "nan" +'Stromal cell', "nan" +'T cell', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/esophagus.csv b/sfaira/versions/metadata/target_universes/human/esophagus.csv new file mode 100644 index 000000000..0b6a75914 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/esophagus.csv @@ -0,0 +1,35 @@ +"name","id" +'B cell (Plasmocyte)', "nan" +'B_CD27neg', "nan" +'B_CD27pos', "nan" +'Basal cell', "nan" +'Blood_vessel', "nan" +'CB CD34+', "nan" +'Dendritic cell', "nan" +'Endothelial cell', "nan" +'Endothelial cell (APC)', "nan" +'Endothelial cell (endothelial to mesenchymal transition)', "nan" +'Epi_dividing', "nan" +'Epi_suprabasal', "nan" +'Epi_upper', "nan" +'Erythroid progenitor cell (RP high)', "nan" +'Fetal epithelial progenitor', "nan" +'Fetal mesenchymal progenitor', "nan" +'Fetal stromal cell', "nan" +'Fibroblast', "nan" +'Gastric endocrine cell', "nan" +'Glands_duct', "nan" +'Glands_mucous', "nan" +'Loop of Henle', "nan" +'Lymph_vessel', "nan" +'Macrophage', "nan" +'Mast cell', "nan" +'Monocyte', "nan" +'NK_T_CD8_Cytotoxic', "nan" +'Neutrophil', "nan" +'Sinusoidal endothelial cell', "nan" +'Smooth muscle cell', "nan" +'Stratified epithelial cell', "nan" +'Stromal cell', "nan" +'T_CD4', "nan" +'T_CD8', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/eye.csv b/sfaira/versions/metadata/target_universes/human/eye.csv new file mode 100644 index 000000000..0f6b31741 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/eye.csv @@ -0,0 +1,46 @@ +"name","id" +'Amacrine cell', "nan" +'Antigen presenting cell (RPS high)', "nan" +'B-cell', "nan" +'Basal cell', "nan" +'CB CD34_pos', "nan" +'Dendritic cell', "nan" +'Endothelial cell', "nan" +'Epithelial cell (intermediated)', "nan" +'Erythroid cell', "nan" +'Erythroid progenitor cell (RP high)', "nan" +'Fetal endocrine cell', "nan" +'Fetal epithelial progenitor', "nan" +'Fetal mesenchymal progenitor', "nan" +'Fetal neuron', "nan" +'Fetal skeletal muscle cell', "nan" +'Fetal stromal cell', "nan" +'Fibroblast', "nan" +'Gastric endocrine cell', "nan" +'Goblet cell', "nan" +'Horizontal cells', "nan" +'Macroglia', "nan" +'Macrophage', "nan" +'Mast-cell', "nan" +'Melanocyte', "nan" +'Microglia', "nan" +'Muller cell', "nan" +'Pericyte', "nan" +'Primordial germ cell', "nan" +'Retinal bipolar neuron type A', "nan" +'Retinal bipolar neuron type B', "nan" +'Retinal bipolar neuron type C', "nan" +'Retinal bipolar neuron type D', "nan" +'Retinal cone cell', "nan" +'Retinal ganglion cell', "nan" +'Retinal pigment epithelium', "nan" +'Retinal rod cell type A', "nan" +'Retinal rod cell type B', "nan" +'Retinal rod cell type C', "nan" +'Schwann1', "nan" +'Schwann2', "nan" +'Stratified epithelial cell', "nan" +'T cell', "nan" +'T/NK-cell', "nan" +'Unknown', "nan" +'hESC', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/fallopiantube.csv b/sfaira/versions/metadata/target_universes/human/fallopiantube.csv new file mode 100644 index 000000000..2cd434786 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/fallopiantube.csv @@ -0,0 +1,19 @@ +"name","id" +'Antigen presenting cell (RPS high)', "nan" +'B cell (Plasmocyte)', "nan" +'Dendritic cell', "nan" +'Endothelial cell', "nan" +'Endothelial cell (APC)', "nan" +'Fetal epithelial progenitor', "nan" +'Fetal fibroblast', "nan" +'Fibroblast', "nan" +'Macrophage', "nan" +'Mast cell', "nan" +'Monocyte', "nan" +'Neutrophil', "nan" +'Neutrophil (RPS high)', "nan" +'Sinusoidal endothelial cell', "nan" +'Smooth muscle cell', "nan" +'Stratified epithelial cell', "nan" +'Stromal cell', "nan" +'T cell', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/femalegonad.csv b/sfaira/versions/metadata/target_universes/human/femalegonad.csv new file mode 100644 index 000000000..705d508fa --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/femalegonad.csv @@ -0,0 +1,29 @@ +"name","id" +'Antigen presenting cell (RPS high)', "nan" +'B cell', "nan" +'CB CD34+', "nan" +'Dendritic cell', "nan" +'Endothelial cell', "nan" +'Endothelial cell (APC)', "nan" +'Epithelial cell', "nan" +'Erythroid cell', "nan" +'Erythroid progenitor cell (RP high)', "nan" +'Fasciculata cell', "nan" +'Fetal Neuron', "nan" +'Fetal epithelial progenitor', "nan" +'Fetal fibroblast', "nan" +'Fetal mesenchymal progenitor', "nan" +'Fetal neuron', "nan" +'Fetal skeletal muscle cell', "nan" +'Fetal stromal cell', "nan" +'Immature sertoli cell (Pre-Sertoli cell)', "nan" +'Macrophage', "nan" +'Monocyte', "nan" +'Neutrophil', "nan" +'Neutrophil (RPS high)', "nan" +'Primordial germ cell', "nan" +'Sinusoidal endothelial cell', "nan" +'Smooth muscle cell', "nan" +'Stromal cell', "nan" +'T cell', "nan" +'hESC', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/gallbladder.csv b/sfaira/versions/metadata/target_universes/human/gallbladder.csv new file mode 100644 index 000000000..938457fa1 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/gallbladder.csv @@ -0,0 +1,25 @@ +"name","id" +'B cell', "nan" +'B cell (Plasmocyte)', "nan" +'Dendritic cell', "nan" +'Endothelial cell', "nan" +'Endothelial cell (APC)', "nan" +'Endothelial cell (endothelial to mesenchymal transition)', "nan" +'Epithelial cell', "nan" +'Fetal enterocyte ', "nan" +'Fetal mesenchymal progenitor', "nan" +'Fetal skeletal muscle cell', "nan" +'Fetal stromal cell', "nan" +'Fibroblast', "nan" +'Goblet cell', "nan" +'Macrophage', "nan" +'Mast cell', "nan" +'Monocyte', "nan" +'Myeloid cell', "nan" +'Neutrophil', "nan" +'Primordial germ cell', "nan" +'Sinusoidal endothelial cell', "nan" +'Smooth muscle cell', "nan" +'Stromal cell', "nan" +'T cell', "nan" +'hESC', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/heart.csv b/sfaira/versions/metadata/target_universes/human/heart.csv new file mode 100644 index 000000000..8a34926bd --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/heart.csv @@ -0,0 +1,35 @@ +"name","id" +'Antigen presenting cell (RPS high)', "nan" +'B cell', "nan" +'B cell (Plasmocyte)', "nan" +'CB CD34+', "nan" +'Dendritic cell', "nan" +'Endothelial cell', "nan" +'Endothelial cell (APC)', "nan" +'Endothelial cell (endothelial to mesenchymal transition)', "nan" +'Epithelial cell', "nan" +'Erythroid cell', "nan" +'Erythroid progenitor cell (RP high)', "nan" +'Fasciculata cell', "nan" +'Fetal Neuron', "nan" +'Fetal epithelial progenitor', "nan" +'Fetal fibroblast', "nan" +'Fetal mesenchymal progenitor', "nan" +'Fetal neuron', "nan" +'Fetal skeletal muscle cell', "nan" +'Fetal stromal cell', "nan" +'Fibroblast', "nan" +'M2 Macrophage', "nan" +'Macrophage', "nan" +'Mast cell', "nan" +'Monocyte', "nan" +'Myeloid cell', "nan" +'Neutrophil', "nan" +'Neutrophil (RPS high)', "nan" +'Primordial germ cell', "nan" +'Proliferating T cell', "nan" +'Sinusoidal endothelial cell', "nan" +'Smooth muscle cell', "nan" +'Stromal cell', "nan" +'T cell', "nan" +'Ventricle cardiomyocyte', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/hesc.csv b/sfaira/versions/metadata/target_universes/human/hesc.csv new file mode 100644 index 000000000..fe1319815 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/hesc.csv @@ -0,0 +1,6 @@ +"name","id" +'Fetal epithelial progenitor', "nan" +'Fetal neuron', "nan" +'Primordial germ cell', "nan" +'Proliferating T cell', "nan" +'hESC', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/ileum.csv b/sfaira/versions/metadata/target_universes/human/ileum.csv new file mode 100644 index 000000000..36407748a --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/ileum.csv @@ -0,0 +1,33 @@ +"name","id" +'ACKR1+ endothelium', "nan" +'B cells', "nan" +'CD36+ endothelium', "nan" +'Cycling', "nan" +'Dendritic cell', "nan" +'Enterocytes', "nan" +'Enteroendocrine cells', "nan" +'Fetal enterocyte ', "nan" +'Fetal mesenchymal progenitor', "nan" +'Fetal neuron', "nan" +'Fetal stromal cell', "nan" +'Fibroblasts', "nan" +'Glial cells', "nan" +'Goblet cells', "nan" +'Hepatocyte/Endodermal cell', "nan" +'ILC', "nan" +'Lymphatics', "nan" +'M2 Macrophage', "nan" +'MNP', "nan" +'Macrophage', "nan" +'Mast cells', "nan" +'Monocyte', "nan" +'Neutrophil (RPS high)', "nan" +'Paneth cells', "nan" +'Pericytes', "nan" +'Plasma Cells', "nan" +'Progenitors', "nan" +'Smooth muscle cell', "nan" +'Stem Cell', "nan" +'Stromal cell', "nan" +'T cells', "nan" +'TA', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/jejunum.csv b/sfaira/versions/metadata/target_universes/human/jejunum.csv new file mode 100644 index 000000000..c68fdc8bd --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/jejunum.csv @@ -0,0 +1,18 @@ +"name","id" +'B cell', "nan" +'B cell (Plasmocyte)', "nan" +'Dendritic cell', "nan" +'Endothelial cell (APC)', "nan" +'Endothelial cell (endothelial to mesenchymal transition)', "nan" +'Enterocyte', "nan" +'Enterocyte progenitor', "nan" +'Fetal endocrine cell', "nan" +'Fetal enterocyte ', "nan" +'Fibroblast', "nan" +'Hepatocyte/Endodermal cell', "nan" +'Macrophage', "nan" +'Mast cell', "nan" +'Monocyte', "nan" +'Smooth muscle cell', "nan" +'Stromal cell', "nan" +'T cell', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/kidney.csv b/sfaira/versions/metadata/target_universes/human/kidney.csv new file mode 100644 index 000000000..4c0025670 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/kidney.csv @@ -0,0 +1,107 @@ +"name","id" +'Acinar cell', "nan" +'Antigen presenting cell (RPS high)', "nan" +'B cell', "nan" +'B cell (Plasmocyte)', "nan" +'CB CD34+', "nan" +'CD4 T cell', "nan" +'CD8 T cell', "nan" +'CNT/PC - proximal UB', "nan" +'Cap mesenchyme', "nan" +'Chondrocyte', "nan" +'Collecting Duct - Intercalated Cells Type A (cortex)', "nan" +'Collecting Duct - Intercalated Cells Type A (medulla)', "nan" +'Collecting Duct - Intercalated Cells Type B', "nan" +'Collecting Duct - PCs - Stressed Dissoc Subset', "nan" +'Collecting Duct - Principal Cells (cortex)', "nan" +'Collecting Duct - Principal Cells (medulla)', "nan" +'Connecting tubule', "nan" +'Decending Limb', "nan" +'Distal Convoluted Tubule', "nan" +'Distal S shaped body', "nan" +'Distal renal vesicle', "nan" +'Distinct proximal tubule 1', "nan" +'Distinct proximal tubule 2', "nan" +'Endocrine cell', "nan" +'Endothelial Cells (unassigned)', "nan" +'Endothelial Cells - AEA & DVR', "nan" +'Endothelial Cells - AVR', "nan" +'Endothelial Cells - glomerular capillaries', "nan" +'Endothelial cell (APC)', "nan" +'Endothelial cell (endothelial to mesenchymal transition)', "nan" +'Enterocyte ', "nan" +'Enterocyte progenitor', "nan" +'Epithelial Cells (unassigned)', "nan" +'Epithelial progenitor', "nan" +'Erythroid', "nan" +'Erythroid progenitor cell (RP high)', "nan" +'Fasciculata cell', "nan" +'Fibroblast', "nan" +'Gastric endocrine cell', "nan" +'Goblet cell', "nan" +'Indistinct intercalated cell', "nan" +'Innate like lymphocyte', "nan" +'Intermediated cell', "nan" +'Interstitium', "nan" +'Loop of Henle', "nan" +'M2 Macrophage', "nan" +'MNP-a/classical monocyte derived', "nan" +'MNP-b/non-classical monocyte derived', "nan" +'MNP-c/dendritic cell', "nan" +'MNP-d/Tissue macrophage', "nan" +'Macrophage', "nan" +'Mast cell', "nan" +'Mast cells', "nan" +'Medial S shaped body', "nan" +'Megakaryocyte', "nan" +'Mesangial Cells', "nan" +'Monocyte', "nan" +'Myeloid cell', "nan" +'Myofibroblast', "nan" +'NK cell', "nan" +'NKT cell', "nan" +'Neuron', "nan" +'Neutrophil', "nan" +'Neutrophil (RPS high)', "nan" +'Pelvic epithelium', "nan" +'Pelvic epithelium - distal UB', "nan" +'Peritubular capillary endothelium 1', "nan" +'Peritubular capillary endothelium 2', "nan" +'Plasmacytoid dendritic cell', "nan" +'Podocyte', "nan" +'Primordial germ cell', "nan" +'Proliferating B cell', "nan" +'Proliferating NK cell', "nan" +'Proliferating Proximal Tubule', "nan" +'Proliferating T cell', "nan" +'Proliferating cDC2', "nan" +'Proliferating cap mesenchyme', "nan" +'Proliferating distal renal vesicle', "nan" +'Proliferating fibroblast', "nan" +'Proliferating macrophage', "nan" +'Proliferating monocyte', "nan" +'Proliferating myofibroblast', "nan" +'Proliferating stroma progenitor', "nan" +'Proximal S shaped body', "nan" +'Proximal Tubule Epithelial Cells (S1)', "nan" +'Proximal Tubule Epithelial Cells (S2)', "nan" +'Proximal Tubule Epithelial Cells (S3)', "nan" +'Proximal Tubule Epithelial Cells - Fibrinogen+ (S3)', "nan" +'Proximal Tubule Epithelial Cells - Stress/Inflam', "nan" +'Proximal UB', "nan" +'Proximal renal vesicle', "nan" +'Proximal tubule progenitor', "nan" +'Sinusoidal endothelial cell', "nan" +'Skeletal muscle cell', "nan" +'Stratified epithelial cell', "nan" +'Stroma progenitor', "nan" +'Stromal cell', "nan" +'Thick ascending limb of Loop of Henle', "nan" +'Thin ascending limb', "nan" +'Transitional urothelium', "nan" +'Unknown - Novel PT CFH+ Subpopulation (S2)', "nan" +'Vascular Smooth Muscle Cells and pericytes', "nan" +'cDC1', "nan" +'cDC2', "nan" +'hESC', "nan" +'pDC', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/liver.csv b/sfaira/versions/metadata/target_universes/human/liver.csv new file mode 100644 index 000000000..2fdf95f7d --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/liver.csv @@ -0,0 +1,67 @@ +"name","id" +'Alpha beta T cells', "nan" +'Antigen presenting cell (RPS high)', "nan" +'CB CD34+', "nan" +'Central venous LSECs', "nan" +'Cholangiocytes', "nan" +'Dendritic cell 1', "nan" +'Dendritic cell 2', "nan" +'Dendritic cell precursor', "nan" +'Early Erythroid', "nan" +'Early lymphoid T lymphocyte', "nan" +'Endothelial cell (APC)', "nan" +'Endothelial cell (endothelial to mesenchymal transition)', "nan" +'Enterocyte ', "nan" +'Enterocyte progenitor', "nan" +'Epithelial progenitor', "nan" +'Fibroblast', "nan" +'Gamma delta T cells 1', "nan" +'Gamma delta T cells 2', "nan" +'Gastric endocrine cell', "nan" +'Goblet cell', "nan" +'HSC MPP', "nan" +'Hepatic stellate cells', "nan" +'Hepatocyte 1', "nan" +'Hepatocyte 2', "nan" +'Hepatocyte 3', "nan" +'Hepatocyte 4', "nan" +'Hepatocyte 5', "nan" +'Hepatocyte 6', "nan" +'ILC', "nan" +'ILC precursor', "nan" +'Inflammatory macrophages', "nan" +'Kupffer Cell', "nan" +'Late Erythroid', "nan" +'Liver sinusoidal endothelial cells', "nan" +'MEMP', "nan" +'MP', "nan" +'Macrovascular endothelial cells', "nan" +'Mast cell', "nan" +'Mature B cells', "nan" +'Megakaryocyte', "nan" +'Mesenchyme', "nan" +'Mesothelia', "nan" +'Mid Erythroid', "nan" +'Mono Macrophage', "nan" +'Monocyte', "nan" +'Monocyte precursor', "nan" +'Myeloid cell', "nan" +'NK cell', "nan" +'Neutrophil', "nan" +'Neutrophil (RPS high)', "nan" +'Neutrophil myeloid progenitor', "nan" +'Non inflammatory macrophages', "nan" +'Other endothelial cells', "nan" +'Pancreas exocrine cell', "nan" +'Periportal LSECs', "nan" +'Plasma B cell', "nan" +'Plasma cells', "nan" +'Pre pro B cell', "nan" +'Primordial germ cell', "nan" +'Proliferating T cell', "nan" +'Smooth muscle cell', "nan" +'Unknown', "nan" +'VCAM1pos EI macrophage', "nan" +'pDendritic cell precursor', "nan" +'pre B cell', "nan" +'pro B cell', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/lung.csv b/sfaira/versions/metadata/target_universes/human/lung.csv new file mode 100644 index 000000000..79840aeaf --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/lung.csv @@ -0,0 +1,39 @@ +"name","id" +'Cycling cells', "nan" +'Cartilage', "nan" +'Fetal airway progenitors', "nan" +'Mesothelium', "nan" +'AT1', "nan" +'AT2', "nan" +'Acinar', "nan" +'Airway smooth muscle', "nan" +'Arterial', "nan" +'B cell lineage', "nan" +'Basal', "nan" +'Bronchial Vessel 1', "nan" +'Bronchial Vessel 2', "nan" +'Capillary', "nan" +'Capillary Intermediate 1', "nan" +'Capillary Intermediate 2', "nan" +'Dendritic cells', "nan" +'Erythrocytes', "nan" +'Fibroblasts', "nan" +'Fibromyocyte', "nan" +'Innate lymphoid cells', "nan" +'KRT5-/KRT17+', "nan" +'Lymphatic EC', "nan" +'Macrophages', "nan" +'Mast cells', "nan" +'Megakaryocytes', "nan" +'Monocytes', "nan" +'Multiciliated lineage', "nan" +'Myofibroblasts', "nan" +'Neutrophilic', "nan" +'Proliferating Epithelial Cells', "nan" +'Rare', "nan" +'Secretory', "nan" +'Submucosal Secretory', "nan" +'T cell lineage', "nan" +'Venous', "nan" +'Venous smooth muscle', "nan" +'unknown', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/malegonad.csv b/sfaira/versions/metadata/target_universes/human/malegonad.csv new file mode 100644 index 000000000..90983cb5b --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/malegonad.csv @@ -0,0 +1,38 @@ +"name","id" +'Antigen presenting cell (RPS high)', "nan" +'B cell', "nan" +'CB CD34+', "nan" +'Dendritic cell', "nan" +'Differentiating Spermatogonia', "nan" +'Early Primary Spermatocytes', "nan" +'Elongated Spermatids', "nan" +'Endothelial cells', "nan" +'Erythroid cell', "nan" +'Erythroid progenitor cell (RP high)', "nan" +'Fasciculata cell', "nan" +'Fetal acinar cell', "nan" +'Fetal chondrocyte', "nan" +'Fetal epithelial progenitor', "nan" +'Fetal fibroblast', "nan" +'Fetal mesenchymal progenitor', "nan" +'Fetal neuron', "nan" +'Fetal skeletal muscle cell', "nan" +'Fetal stromal cell', "nan" +'Late primary Spermatocytes', "nan" +'Leydig cells', "nan" +'Loop of Henle', "nan" +'Macrophages', "nan" +'Monocyte', "nan" +'Myoid cells', "nan" +'Neutrophil', "nan" +'Neutrophil (RPS high)', "nan" +'Primordial germ cell', "nan" +'Proximal tubule progenitor', "nan" +'Round Spermatids', "nan" +'Sertoli cells', "nan" +'Smooth muscle cell', "nan" +'Sperm', "nan" +'Spermatogonial Stem cell', "nan" +'Stromal cell', "nan" +'T cell', "nan" +'Ureteric bud cell', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/muscle.csv b/sfaira/versions/metadata/target_universes/human/muscle.csv new file mode 100644 index 000000000..edf9169fd --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/muscle.csv @@ -0,0 +1,28 @@ +"name","id" +'Antigen presenting cell (RPS high)', "nan" +'B cell', "nan" +'B cell (Plasmocyte)', "nan" +'CB CD34+', "nan" +'Dendritic cell', "nan" +'Endothelial cell', "nan" +'Endothelial cell (APC)', "nan" +'Erythroid cell', "nan" +'Erythroid progenitor cell (RP high)', "nan" +'Fetal Neuron', "nan" +'Fetal chondrocyte', "nan" +'Fetal epithelial progenitor', "nan" +'Fetal fibroblast', "nan" +'Fetal mesenchymal progenitor', "nan" +'Fetal skeletal muscle cell', "nan" +'Fetal stromal cell', "nan" +'Fibroblast', "nan" +'M2 Macrophage', "nan" +'Macrophage', "nan" +'Mast cell', "nan" +'Monocyte', "nan" +'Primordial germ cell', "nan" +'Smooth muscle cell', "nan" +'Stromal cell', "nan" +'T cell', "nan" +'Ventricle cardiomyocyte', "nan" +'hESC', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/omentum.csv b/sfaira/versions/metadata/target_universes/human/omentum.csv new file mode 100644 index 000000000..bdf05d5b6 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/omentum.csv @@ -0,0 +1,21 @@ +"name","id" +'Antigen presenting cell (RPS high)', "nan" +'B cell', "nan" +'B cell (Plasmocyte)', "nan" +'Dendritic cell', "nan" +'Endothelial cell (APC)', "nan" +'Endothelial cell (endothelial to mesenchymal transition)', "nan" +'Epithelial cell', "nan" +'Fetal fibroblast', "nan" +'Fetal mesenchymal progenitor', "nan" +'Fibroblast', "nan" +'M2 Macrophage', "nan" +'Macrophage', "nan" +'Mast cell', "nan" +'Mesothelial cell', "nan" +'Monocyte', "nan" +'Neutrophil', "nan" +'Sinusoidal endothelial cell', "nan" +'Smooth muscle cell', "nan" +'Stromal cell', "nan" +'T cell', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/pancreas.csv b/sfaira/versions/metadata/target_universes/human/pancreas.csv new file mode 100644 index 000000000..38f08403b --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/pancreas.csv @@ -0,0 +1,45 @@ +"name","id" +'Acinar cell', "nan" +'Activated Stellate cell', "nan" +'Alpha cell', "nan" +'Antigen presenting cell (RPS high)', "nan" +'B cell', "nan" +'B cell (Plasmocyte)', "nan" +'Basal cell', "nan" +'Beta cell', "nan" +'CB CD34+', "nan" +'Co-expression cell', "nan" +'Delta cell', "nan" +'Dendritic cell', "nan" +'Ductal cell', "nan" +'Endothelial cell', "nan" +'Enterocyte', "nan" +'Enterocyte progenitor', "nan" +'Epithelial progenitor', "nan" +'Epsilon cell', "nan" +'Erythroid cell', "nan" +'Erythroid progenitor cell (RP high)', "nan" +'Fibroblast', "nan" +'Gamma cell', "nan" +'Gastric endocrine cell', "nan" +'Immature sertoli cell (Pre-Sertoli cell)', "nan" +'MHC class II cell', "nan" +'Macrophage', "nan" +'Mast cell', "nan" +'Mesenchymal Cell', "nan" +'Monocyte', "nan" +'Neuron', "nan" +'Neutrophil', "nan" +'Neutrophil (RPS high)', "nan" +'PSC cell', "nan" +'Pancreas exocrine cell', "nan" +'Primordial germ cell', "nan" +'Proximal tubule progenitor', "nan" +'Quiescent Stellate cell', "nan" +'Schwann cell', "nan" +'Skeletal muscle cell', "nan" +'Smooth muscle cell', "nan" +'Stromal cell', "nan" +'T cell', "nan" +'Unclassified endocrine cell', "nan" +'Unknown', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/placenta.csv b/sfaira/versions/metadata/target_universes/human/placenta.csv new file mode 100644 index 000000000..df7b729ea --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/placenta.csv @@ -0,0 +1,55 @@ +"name","id" +'Antigen presenting cell (RPS high)', "nan" +'B cell', "nan" +'B cell (Plasmocyte)', "nan" +'Basal cell', "nan" +'CB CD34+', "nan" +'Decidual Macrophages 1', "nan" +'Decidual Macrophages 2', "nan" +'Decidual Macrophages 3', "nan" +'Decidual NK Cells 1', "nan" +'Decidual NK Cells 2', "nan" +'Decidual NK Cells 3', "nan" +'Decidual NK Cells p', "nan" +'Decidual Stromal Cells 1', "nan" +'Decidual Stromal Cells 2', "nan" +'Decidual Stromal Cells 3', "nan" +'Dendritic Cells 1', "nan" +'Dendritic Cells 2', "nan" +'Endothelial Cells L', "nan" +'Endothelial Cells f', "nan" +'Endothelial Cells m', "nan" +'Endothelial cell (APC)', "nan" +'Endothelial cell (endothelial to mesenchymal transition)', "nan" +'Epithelial Glandular Cells 1', "nan" +'Epithelial Glandular Cells 2', "nan" +'Epithelial cell (intermediated)', "nan" +'Erythroid cell', "nan" +'Erythroid progenitor cell (RP high)', "nan" +'Extravillous Trophoblasts', "nan" +'Fetal epithelial progenitor', "nan" +'Fetal fibroblast', "nan" +'Fetal mesenchymal progenitor', "nan" +'Fetal neuron', "nan" +'Fetal skeletal muscle cell', "nan" +'Fibroblasts 1', "nan" +'Fibroblasts 2', "nan" +'Granulocytes', "nan" +'Hofbauer Cells', "nan" +'ILC3', "nan" +'Intermediated cell', "nan" +'M2 Macrophage', "nan" +'Monocyte', "nan" +'Myeloid cell', "nan" +'NK Cells CD16+', "nan" +'NK Cells CD16-', "nan" +'Neutrophil', "nan" +'Perivascular Cells 1', "nan" +'Perivascular Cells 2', "nan" +'Smooth muscle cell', "nan" +'Stratified epithelial cell', "nan" +'Stromal cell', "nan" +'Syncytiotrophoblasts', "nan" +'T cell', "nan" +'Villous Cytotrophoblasts', "nan" +'hESC', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/pleura.csv b/sfaira/versions/metadata/target_universes/human/pleura.csv new file mode 100644 index 000000000..f6e172e90 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/pleura.csv @@ -0,0 +1,27 @@ +"name","id" +'Antigen presenting cell (RPS high)', "nan" +'B cell', "nan" +'B cell (Plasmocyte)', "nan" +'CB CD34+', "nan" +'Dendritic cell', "nan" +'Endothelial cell', "nan" +'Endothelial cell (APC)', "nan" +'Endothelial cell (endothelial to mesenchymal transition)', "nan" +'Epithelial cell', "nan" +'Erythroid cell', "nan" +'Erythroid progenitor cell (RP high)', "nan" +'Fetal epithelial progenitor', "nan" +'Fetal stromal cell', "nan" +'Fibroblast', "nan" +'M2 Macrophage', "nan" +'Macrophage', "nan" +'Mast cell', "nan" +'Mesothelial cell', "nan" +'Monocyte', "nan" +'Neutrophil', "nan" +'Neutrophil (RPS high)', "nan" +'Primordial germ cell', "nan" +'Sinusoidal endothelial cell', "nan" +'Smooth muscle cell', "nan" +'Stromal cell', "nan" +'T cell', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/prostate.csv b/sfaira/versions/metadata/target_universes/human/prostate.csv new file mode 100644 index 000000000..931fbb479 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/prostate.csv @@ -0,0 +1,24 @@ +"name","id" +'Antigen presenting cell (RPS high)', "nan" +'Basal cell', "nan" +'Club', "nan" +'Dendritic cell', "nan" +'Endothelial cell', "nan" +'Enterocyte progenitor', "nan" +'Epithelial cell (intermediated)', "nan" +'Fasciculata cell', "nan" +'Fetal enterocyte ', "nan" +'Fetal epithelial progenitor', "nan" +'Fibroblast', "nan" +'Gastric endocrine cell', "nan" +'Goblet cell', "nan" +'Hillock', "nan" +'Leukocytes', "nan" +'Luminal', "nan" +'Macrophage', "nan" +'Monocyte', "nan" +'Primordial germ cell', "nan" +'Smooth muscle cell', "nan" +'Stratified epithelial cell', "nan" +'Stromal cell', "nan" +'T cell', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/rectum.csv b/sfaira/versions/metadata/target_universes/human/rectum.csv new file mode 100644 index 000000000..b81da10b8 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/rectum.csv @@ -0,0 +1,20 @@ +"name","id" +'B cell', "nan" +'B cell (Plasmocyte)', "nan" +'Dendritic cell', "nan" +'Endothelial cell (APC)', "nan" +'Enterocyte', "nan" +'Enterocyte progenitor', "nan" +'Enteroendocrine', "nan" +'Erythroid cell', "nan" +'Fetal stromal cell', "nan" +'Goblet', "nan" +'Macrophage', "nan" +'Mast cell', "nan" +'Monocyte', "nan" +'Paneth-like', "nan" +'Smooth muscle cell', "nan" +'Stem Cell', "nan" +'Stromal cell', "nan" +'T cell', "nan" +'TA', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/rib.csv b/sfaira/versions/metadata/target_universes/human/rib.csv new file mode 100644 index 000000000..13f2ae832 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/rib.csv @@ -0,0 +1,25 @@ +"name","id" +'Antigen presenting cell (RPS high)', "nan" +'B cell', "nan" +'CB CD34+', "nan" +'Dendritic cell', "nan" +'Endothelial cell', "nan" +'Erythroid cell', "nan" +'Erythroid progenitor cell (RP high)', "nan" +'Fetal Neuron', "nan" +'Fetal chondrocyte', "nan" +'Fetal enterocyte ', "nan" +'Fetal epithelial progenitor', "nan" +'Fetal fibroblast', "nan" +'Fetal mesenchymal progenitor', "nan" +'Fetal skeletal muscle cell', "nan" +'Fetal stromal cell', "nan" +'Kidney intercalated cell', "nan" +'Macrophage', "nan" +'Monocyte', "nan" +'Neutrophil', "nan" +'Neutrophil (RPS high)', "nan" +'Primordial germ cell', "nan" +'Smooth muscle cell', "nan" +'T cell', "nan" +'hESC', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/skin.csv b/sfaira/versions/metadata/target_universes/human/skin.csv new file mode 100644 index 000000000..7900982b4 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/skin.csv @@ -0,0 +1,38 @@ +"name","id" +'Antigen presenting cell (RPS high)', "nan" +'B cell', "nan" +'Basal cell 1', "nan" +'Basal cell 2', "nan" +'CB CD34+', "nan" +'Dendritic cell', "nan" +'Endothelial cell', "nan" +'Endothelial cell (APC)', "nan" +'Epithelial cell', "nan" +'Erythroid cell', "nan" +'Erythroid progenitor cell (RP high)', "nan" +'Fetal Neuron', "nan" +'Fetal epithelial progenitor', "nan" +'Fetal fibroblast', "nan" +'Fetal mesenchymal progenitor', "nan" +'Fetal skeletal muscle cell', "nan" +'Fetal stromal cell', "nan" +'Fibroblast', "nan" +'Kidney intercalated cell', "nan" +'Macrophage', "nan" +'Mast cell', "nan" +'Monocyte', "nan" +'Neutrophil', "nan" +'Neutrophil (RPS high)', "nan" +'Primordial germ cell', "nan" +'Proliferating T cell', "nan" +'Smooth muscle cell', "nan" +'Stromal cell', "nan" +'T cell', "nan" +'WNT1', "nan" +'channel', "nan" +'folicular', "nan" +'granular', "nan" +'hESC', "nan" +'melanocyte', "nan" +'mitotic', "nan" +'spinous', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/spinalcord.csv b/sfaira/versions/metadata/target_universes/human/spinalcord.csv new file mode 100644 index 000000000..9d3d26f90 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/spinalcord.csv @@ -0,0 +1,36 @@ +"name","id" +'Antigen presenting cell (RPS high)', "nan" +'Astrocyte', "nan" +'B cell', "nan" +'B cell (Plasmocyte)', "nan" +'CB CD34+', "nan" +'Dendritic cell', "nan" +'Endothelial cell', "nan" +'Epithelial cell', "nan" +'Erythroid cell', "nan" +'Erythroid progenitor cell (RP high)', "nan" +'Fetal Neuron', "nan" +'Fetal chondrocyte', "nan" +'Fetal endocrine cell', "nan" +'Fetal enterocyte ', "nan" +'Fetal epithelial progenitor', "nan" +'Fetal mesenchymal progenitor', "nan" +'Fetal neuron', "nan" +'Fetal skeletal muscle cell', "nan" +'Fetal stromal cell', "nan" +'Fibroblast', "nan" +'Kidney intercalated cell', "nan" +'Loop of Henle', "nan" +'M2 Macrophage', "nan" +'Macrophage', "nan" +'Monocyte', "nan" +'Neutrophil', "nan" +'Neutrophil (RPS high)', "nan" +'Primordial germ cell', "nan" +'Proliferating T cell', "nan" +'Sinusoidal endothelial cell', "nan" +'Smooth muscle cell', "nan" +'Stratified epithelial cell', "nan" +'Stromal cell', "nan" +'T cell', "nan" +'hESC', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/spleen.csv b/sfaira/versions/metadata/target_universes/human/spleen.csv new file mode 100644 index 000000000..b1dcff92e --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/spleen.csv @@ -0,0 +1,44 @@ +"name","id" +'Antigen presenting cell (RPS high)', "nan" +'B_Hypermutation', "nan" +'B_T_doublet', "nan" +'B_follicular', "nan" +'B_mantle', "nan" +'CB CD34+', "nan" +'CD34_progenitor', "nan" +'DC_1', "nan" +'DC_2', "nan" +'DC_activated', "nan" +'DC_plasmacytoid', "nan" +'Endothelial cell', "nan" +'Endothelial cell (APC)', "nan" +'Erythroid cell', "nan" +'Erythroid progenitor cell (RP high)', "nan" +'Fetal epithelial progenitor', "nan" +'Fibroblast', "nan" +'ILC', "nan" +'Macrophage', "nan" +'Mast cell', "nan" +'Monocyte', "nan" +'NK_CD160pos', "nan" +'NK_FCGR3Apos', "nan" +'NK_dividing', "nan" +'Neutrophil', "nan" +'Neutrophil (RPS high)', "nan" +'Plasma_IgG', "nan" +'Plasma_IgM', "nan" +'Plasmablast', "nan" +'Platelet', "nan" +'Proliferating T cell', "nan" +'Sinusoidal endothelial cell', "nan" +'Smooth muscle cell', "nan" +'Stromal cell', "nan" +'T_CD4_conv', "nan" +'T_CD4_fh', "nan" +'T_CD4_naive', "nan" +'T_CD4_reg', "nan" +'T_CD8_CTL', "nan" +'T_CD8_MAIT', "nan" +'T_CD8_activated', "nan" +'T_CD8_gd', "nan" +'unknown', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/stomach.csv b/sfaira/versions/metadata/target_universes/human/stomach.csv new file mode 100644 index 000000000..b14902524 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/stomach.csv @@ -0,0 +1,49 @@ +"name","id" +'Antigen presenting cell (RPS high)', "nan" +'B cell', "nan" +'B cell (Plasmocyte)', "nan" +'Basal cell', "nan" +'CB CD34+', "nan" +'Dendritic cell', "nan" +'Endothelial cell', "nan" +'Endothelial cell (APC)', "nan" +'Endothelial cell (endothelial to mesenchymal transition)', "nan" +'Enterocyte', "nan" +'Enterocyte progenitor', "nan" +'Epithelial cell', "nan" +'Epithelial cell (intermediated)', "nan" +'Erythroid cell', "nan" +'Erythroid progenitor cell (RP high)', "nan" +'Fasciculata cell', "nan" +'Fetal Neuron', "nan" +'Fetal acinar cell', "nan" +'Fetal chondrocyte', "nan" +'Fetal endocrine cell', "nan" +'Fetal enterocyte ', "nan" +'Fetal epithelial progenitor', "nan" +'Fetal fibroblast', "nan" +'Fetal mesenchymal progenitor', "nan" +'Fetal neuron', "nan" +'Fetal skeletal muscle cell', "nan" +'Fetal stromal cell', "nan" +'Fibroblast', "nan" +'Gastric chief cell', "nan" +'Gastric endocrine cell', "nan" +'Goblet cell', "nan" +'Hepatocyte/Endodermal cell', "nan" +'M2 Macrophage', "nan" +'Macrophage', "nan" +'Mast cell', "nan" +'Mesothelial cell', "nan" +'Monocyte', "nan" +'Myeloid cell', "nan" +'Neutrophil', "nan" +'Neutrophil (RPS high)', "nan" +'Primordial germ cell', "nan" +'Proliferating T cell', "nan" +'Proximal tubule progenitor', "nan" +'Sinusoidal endothelial cell', "nan" +'Smooth muscle cell', "nan" +'Stromal cell', "nan" +'T cell', "nan" +'hESC', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/thymus.csv b/sfaira/versions/metadata/target_universes/human/thymus.csv new file mode 100644 index 000000000..5db380277 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/thymus.csv @@ -0,0 +1,51 @@ +"name","id" +'Antigen presenting cell (RPS high)', "nan" +'B_memory', "nan" +'B_naive', "nan" +'B_plasma', "nan" +'B_pro/pre', "nan" +'CB CD34+', "nan" +'CD4+T', "nan" +'CD4+Tmem', "nan" +'CD8+T', "nan" +'CD8+Tmem', "nan" +'CD8αα', "nan" +'DC1', "nan" +'DC2', "nan" +'DN', "nan" +'DP', "nan" +'ETP', "nan" +'Endo', "nan" +'Epi_GCM2', "nan" +'Ery', "nan" +'Fb_1', "nan" +'Fb_2', "nan" +'Fb_cycling', "nan" +'Fetal epithelial progenitor', "nan" +'ILC3', "nan" +'Lymph', "nan" +'Mac', "nan" +'Mast', "nan" +'Mgk', "nan" +'Mono', "nan" +'NK', "nan" +'NKT', "nan" +'NMP', "nan" +'Neutrophil', "nan" +'Neutrophil (RPS high)', "nan" +'Proliferating T cell', "nan" +'T(agonist)', "nan" +'TEC(myo)', "nan" +'TEC(neuro)', "nan" +'Treg', "nan" +'VSMC', "nan" +'aDC', "nan" +'alpha_beta_T(entry)', "nan" +'cTEC', "nan" +'gamma_delta_T', "nan" +'mTEC(I)', "nan" +'mTEC(II)', "nan" +'mTEC(III)', "nan" +'mTEC(IV)', "nan" +'mcTEC', "nan" +'pDC', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/thyroid.csv b/sfaira/versions/metadata/target_universes/human/thyroid.csv new file mode 100644 index 000000000..f1484f64e --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/thyroid.csv @@ -0,0 +1,28 @@ +"name","id" +'Antigen presenting cell (RPS high)', "nan" +'B cell', "nan" +'B cell (Plasmocyte)', "nan" +'CB CD34+', "nan" +'Dendritic cell', "nan" +'Endothelial cell', "nan" +'Endothelial cell (APC)', "nan" +'Enterocyte progenitor', "nan" +'Erythroid progenitor cell (RP high)', "nan" +'Fasciculata cell', "nan" +'Fetal enterocyte ', "nan" +'Fetal epithelial progenitor', "nan" +'Fibroblast', "nan" +'Gastric endocrine cell', "nan" +'Loop of Henle', "nan" +'M2 Macrophage', "nan" +'Macrophage', "nan" +'Mast cell', "nan" +'Monocyte', "nan" +'Neutrophil', "nan" +'Primordial germ cell', "nan" +'Proliferating T cell', "nan" +'Sinusoidal endothelial cell', "nan" +'Smooth muscle cell', "nan" +'Stromal cell', "nan" +'T cell', "nan" +'Thyroid follicular cell', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/trachea.csv b/sfaira/versions/metadata/target_universes/human/trachea.csv new file mode 100644 index 000000000..43c4e12d4 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/trachea.csv @@ -0,0 +1,25 @@ +"name","id" +'B cell', "nan" +'B cell (Plasmocyte)', "nan" +'Basal cell', "nan" +'Chondrocyte', "nan" +'Dendritic cell', "nan" +'Endothelial cell', "nan" +'Endothelial cell (APC)', "nan" +'Endothelial cell (endothelial to mesenchymal transition)', "nan" +'Enterocyte progenitor', "nan" +'Fetal chondrocyte', "nan" +'Fetal epithelial progenitor', "nan" +'Fetal stromal cell', "nan" +'Fibroblast', "nan" +'Gastric endocrine cell', "nan" +'Goblet cell', "nan" +'Loop of Henle', "nan" +'Macrophage', "nan" +'Mast cell', "nan" +'Monocyte', "nan" +'Smooth muscle cell', "nan" +'Stratified epithelial cell', "nan" +'Stromal cell', "nan" +'T cell', "nan" +'Thyroid follicular cell', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/ureter.csv b/sfaira/versions/metadata/target_universes/human/ureter.csv new file mode 100644 index 000000000..91ad5d6f6 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/ureter.csv @@ -0,0 +1,14 @@ +"name","id" +'B cell (Plasmocyte)', "nan" +'Basal cell', "nan" +'Dendritic cell', "nan" +'Endothelial cell', "nan" +'Endothelial cell (APC)', "nan" +'Epithelial cell (intermediated)', "nan" +'Fibroblast', "nan" +'Intermediated cell', "nan" +'Macrophage', "nan" +'Mast cell', "nan" +'Smooth muscle cell', "nan" +'Stromal cell', "nan" +'T cell', "nan" diff --git a/sfaira/versions/metadata/target_universes/human/uterus.csv b/sfaira/versions/metadata/target_universes/human/uterus.csv new file mode 100644 index 000000000..769d83afe --- /dev/null +++ b/sfaira/versions/metadata/target_universes/human/uterus.csv @@ -0,0 +1,24 @@ +"name","id" +'AT2 cell', "nan" +'B cell', "nan" +'Dendritic cell', "nan" +'Endothelial cell', "nan" +'Endothelial cell (APC)', "nan" +'Endothelial cell (endothelial to mesenchymal transition)', "nan" +'Enterocyte progenitor', "nan" +'Fetal epithelial progenitor', "nan" +'Fetal fibroblast', "nan" +'Fetal mesenchymal progenitor', "nan" +'Fetal stromal cell', "nan" +'Fibroblast', "nan" +'Gastric endocrine cell', "nan" +'Loop of Henle', "nan" +'Macrophage', "nan" +'Mast cell', "nan" +'Monocyte', "nan" +'Myeloid cell', "nan" +'Primordial germ cell', "nan" +'Smooth muscle cell', "nan" +'Stratified epithelial cell', "nan" +'Stromal cell', "nan" +'T cell', "nan" diff --git a/sfaira/versions/metadata/target_universes/mouse/__init__.py b/sfaira/versions/metadata/target_universes/mouse/__init__.py new file mode 100644 index 000000000..b1d5b2c2b --- /dev/null +++ b/sfaira/versions/metadata/target_universes/mouse/__init__.py @@ -0,0 +1 @@ +FILE_PATH = __file__ diff --git a/sfaira/versions/metadata/target_universes/mouse/adipose.csv b/sfaira/versions/metadata/target_universes/mouse/adipose.csv new file mode 100644 index 000000000..07e41cccd --- /dev/null +++ b/sfaira/versions/metadata/target_universes/mouse/adipose.csv @@ -0,0 +1,12 @@ +"name","id" +"B cell", "CL:0000236" +"CD4-positive, alpha-beta T cell", "nan" +"CD8-positive, alpha-beta T cell", "nan" +"endothelial cell", "CL:0000115" +"epithelial cell", "CL:0000066" +"erythroblast", "nan" +"macrophage", "nan" +"mesenchymal stem cell of adipose", "CL:0002570" +"myeloid cell", "CL:0000763" +"NK cell", "CL:0000623" +"unknown", "nan" diff --git a/sfaira/versions/metadata/target_universes/mouse/bladder.csv b/sfaira/versions/metadata/target_universes/mouse/bladder.csv new file mode 100644 index 000000000..c891c4e88 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/mouse/bladder.csv @@ -0,0 +1,13 @@ +"name","id" +"basal epithelial cell", "nan" +"bladder urothelial cell", "CL:1001428" +"dendritic cell", "nan" +"endothelial cell", "CL:0000115" +"epithelial cell", "nan" +"macrophage", "nan" +"mesenchymal stromal cell", "nan" +"NK cell", "nan" +"smooth muscle cell", "nan" +"stromal cell", "nan" +"umbrella cell", "nan" +"unknown", "nan" diff --git a/sfaira/versions/metadata/target_universes/mouse/blood.csv b/sfaira/versions/metadata/target_universes/mouse/blood.csv new file mode 100644 index 000000000..36f732834 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/mouse/blood.csv @@ -0,0 +1,11 @@ +"name","id" +"B cell", "CL:0000236" +"macrophage", "CL:0000235" +"T cell", "CL:0000084" +"NK cell", "nan" +"neutrophil", "nan" +"monocyte", "nan" +"erythroblast", "nan" +"dendritic cell", "nan" +"basophil", "nan" +"unknown", "nan" diff --git a/sfaira/versions/metadata/target_universes/mouse/bone.csv b/sfaira/versions/metadata/target_universes/mouse/bone.csv new file mode 100644 index 000000000..e6bbf18ca --- /dev/null +++ b/sfaira/versions/metadata/target_universes/mouse/bone.csv @@ -0,0 +1,29 @@ +"name","id" +"basophil", "CL:0000767" +"CD4-positive, alpha-beta T cell", "nan" +"dendritic cell", "nan" +"early pro-B cell", "CL:0002046" +"erythroblast", "CL:0000765" +"erythrocyte", "CL:0000232" +"erythroid progenitor", "CL:0000038" +"granulocyte monocyte progenitor cell", "nan" +"granulocytopoietic cell", "CL:0002191" +"hematopoietic precursor cell", "CL:0008001" +"hematopoietic stem cell", "nan" +"immature B cell", "CL:0000816" +"late pro-B cell", "CL:0002048" +"lymphoid progenitor cell", "nan" +"macrophage", "nan" +"mast cell", "nan" +"monocyte", "CL:0000576" +"megakaryocyte-erythroid progenitor cell", "CL:0000050" +"naive B cell", "CL:0000788" +"naive T cell", "CL:0000898" +"neutrophil", "nan" +"neutrophil progenitor", "nan" +"NK cell", "CL:0000623" +"plasma cell", "CL:0000786" +"precursor B cell", "CL:0000817" +"proerythroblast", "CL:0000547" +"promonocyte", "CL:0000559" +"unknown", "nan" diff --git a/sfaira/versions/metadata/target_universes/mouse/brain.csv b/sfaira/versions/metadata/target_universes/mouse/brain.csv new file mode 100644 index 000000000..2bde86f6a --- /dev/null +++ b/sfaira/versions/metadata/target_universes/mouse/brain.csv @@ -0,0 +1,32 @@ +"name","id" +"astrocyte", "CL:0000127" +"BAM", "nan" +"B cells", "nan" +"Bergmann glial cell", "CL:0000644" +"brain pericyte", "CL:2000043" +"CD8-positive, alpha-beta T cell", "CL:0000625" +"cDC1", "nan" +"cDC2", "nan" +"endothelial cell", "CL:0000115" +"ependymal cell", "CL:0000065" +"GABAergic cell", "nan" +"granulocyte", "nan" +"ILC", "nan" +"interneuron", "CL:0000099" +"macrophage", "CL:0000235" +"mature NK T cell", "nan" +"medium spiny neuron", "CL:1001474" +"microglial cell", "CL:0000129" +"migDC", "nan" +"monocyte", "nan" +"neuroepithelial cell", "nan" +"neuron", "CL:0000540" +"neuronal stem cell", "CL:0000047" +"neutorphils", "nan" +"NK cells", "nan" +"oligodendrocyte", "CL:0000128" +"oligodendrocyte precursor cell", "CL:0002453" +"pDC", "nan" +"schwann cell", "nan" +"yd T cells", "nan" +"unknown", "nan" diff --git a/sfaira/versions/metadata/target_universes/mouse/colon.csv b/sfaira/versions/metadata/target_universes/mouse/colon.csv new file mode 100644 index 000000000..456eb6d39 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/mouse/colon.csv @@ -0,0 +1,10 @@ +"name","id" +"Brush cell of epithelium proper of large intestine", "CL:0002203" +"enterocyte of epithelium of large intestine", "CL:0002071" +"enteroendocrine cell", "CL:0000164" +"epithelial cell of large intestine", "CL:0002253" +"hematopoietic stem cell", "CL:0000037" +"intestinal crypt stem cell", "CL:0002250" +"large intestine goblet cell", "CL:1000320" +"secretory cell", "CL:0000151" +"unknown", "nan" diff --git a/sfaira/versions/metadata/target_universes/mouse/diaphragm.csv b/sfaira/versions/metadata/target_universes/mouse/diaphragm.csv new file mode 100644 index 000000000..3e7a14b1d --- /dev/null +++ b/sfaira/versions/metadata/target_universes/mouse/diaphragm.csv @@ -0,0 +1,8 @@ +"name","id" +"B cell", "CL:0000236" +"endothelial cell", "CL:0000115" +"macrophage", "CL:0000235" +"mesenchymal stem cell", "CL:0000134" +"skeletal muscle satellite cell", "CL:0000594" +"T cell", "CL:0000084" +"unknown", "nan" diff --git a/sfaira/versions/metadata/target_universes/mouse/heart.csv b/sfaira/versions/metadata/target_universes/mouse/heart.csv new file mode 100644 index 000000000..7bd722c7a --- /dev/null +++ b/sfaira/versions/metadata/target_universes/mouse/heart.csv @@ -0,0 +1,22 @@ +"name","id" +"aortic endothelial cell", "CL:0002544" +"atrial myocyte", "CL:0002129" +"B cell", "CL:CL:0000115" +"cardiac neuron", "CL:0000057" +"cardiomyocyte", "CL:0000746" +"endocardial cell", "CL:0002350" +"endothelial cell of coronary artery", "CL:2000018" +"epithelial cell", "CL:" +"erythrocyte", "CL:" +"fibroblast of cardiac tissue", "CL:0002548" +"fibrocyte", "CL:CL:0000145" +"leukocyte", "CL:0000738" +"mast cell", "nan" +"monocyte", "nan" +"macrophage", "nan" +"professional antigen presenting cell", "nan" +"smooth muscle cell", "CL:0000192" +"T cell", "nan" +"valve cell", "CL:0000663" +"ventricular myocyte", "CL:0002131" +"unknown", "nan" diff --git a/sfaira/versions/metadata/target_universes/mouse/ileum.csv b/sfaira/versions/metadata/target_universes/mouse/ileum.csv new file mode 100644 index 000000000..b91c94332 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/mouse/ileum.csv @@ -0,0 +1,13 @@ +"name","id" +"B cell", "CL:0000236" +"macrophage", "CL:0000235" +"T cell", "CL:0000084" +"dendritic cell", "nan" +"mast cell", "nan" +"paneth cell", "nan" +"stromal cell", "nan" +"epithelial cell", "nan" +"epithelial cell villi", "nan" +"enteroendocrine cell", "nan" +"erythroblast", "nan" +"unknown", "nan" diff --git a/sfaira/versions/metadata/target_universes/mouse/kidney.csv b/sfaira/versions/metadata/target_universes/mouse/kidney.csv new file mode 100644 index 000000000..154828fe0 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/mouse/kidney.csv @@ -0,0 +1,29 @@ +"name","id" +"B cell", "CL:0000236" +"brush cell", "nan" +"dendritic cell", "nan" +"endothelial cell", "nan" +"fenestrated cell", "CL:0000666" +"fetal adipocyte", "nan" +"fetal mesenchymal cell", "nan" +"fetal proliferative cell", "nan" +"fibroblast", "CL:0000057" +"interstitial fibroblast", "nan" +"glomerular epithelial cell", "nan" +"kidney collecting duct epithelial cell", "CL:1000454" +"kidney collecting duct principal cell", "CL:1001431" +"kidney cortex artery cell", "CL:1001045" +"kidney distal convoluted tubule epithelial cell", "CL:1000849" +"kidney loop of Henle ascending limb epithelial cell", "CL:1001016" +"kidney loop of Henle thick ascending limb epithelial cell", "CL:1001106" +"kidney proximal convoluted tubule epithelial cell", "CL:1000838" +"kidney proximal straight tubule epithelial cell", "nan" +"macrophage", "CL:0000235" +"mesangial cell", "CL:0000650" +"neutrophil progenitor", "nan" +"NK cell", "nan" +"podocyte", "CL:0000653" +"plasma cell", "CL:0000786" +"T cell", "CL:0000084" +"ureteric epithelial cell", "nan" +"unknown", "nan" diff --git a/sfaira/versions/metadata/target_universes/mouse/liver.csv b/sfaira/versions/metadata/target_universes/mouse/liver.csv new file mode 100644 index 000000000..eabf79942 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/mouse/liver.csv @@ -0,0 +1,18 @@ +"name","id" +"B cell", "CL:0000236" +"dendritic cell", "nan" +"CD4-positive, alpha-beta T cell", "nan" +"CD8-positive, alpha-beta T cell", "nan" +"duct epithelial cell", "nan" +"erythroblast", "nan" +"endothelial cell of hepatic sinusoid", "CL:1000398" +"granulocyte", "nan" +"hepatic stellate cell", "CL:0000632" +"hepatocyte", "CL:0000182" +"Kupffer cell", "CL:0000091" +"macrophage", "nan" +"neutrophil", "CL:0000775" +"NK cell", "CL:0000623" +"plasmacytoid dendritic cell", "CL:0000784" +"stromal cell", "nan" +"unknown", "nan" diff --git a/sfaira/versions/metadata/target_universes/mouse/lung.csv b/sfaira/versions/metadata/target_universes/mouse/lung.csv new file mode 100644 index 000000000..b65598dcd --- /dev/null +++ b/sfaira/versions/metadata/target_universes/mouse/lung.csv @@ -0,0 +1,40 @@ +"name","id" +"adventitial cell", "nan" +"alveolar bipotent progenitor", "nan" +"alveolar epithelial cell type I", "nan" +"alveolar epithelial cell type II", "nan" +"alveolar macrophage", "nan" +"B cell", "CL_0000236" +"basophil", "nan" +"bronchial smooth muscle cell", "nan" +"CD4-positive, alpha-beta T cell", "nan" +"CD8-positive, alpha-beta T cell", "nan" +"ciliated cell", "nan" +"clara cell", "nan" +"classical monocyte", "nan" +"club cell of bronchiole", "nan" +"endothelial cell of lymphatic vessel", "nan" +"eosinophil", "nan" +"fibroblast of lung", "nan" +"glial cell", "CL_0000125" +"intermediate monocyte", "nan" +"lung macrophage", "nan" +"lung neuroendocrine cell", "nan" +"monocyte progenitor", "nan" +"myeloid dendritic cell", "nan" +"neutrophil", "nan" +"NK cell", "CL_0000623" +"non-classical monocyte", "nan" +"nuocyte", "nan" +"pericyte cell", "nan" +"plasma cell", "nan" +"plasmacytoid dendritic cell", "nan" +"proliferative cell", "nan" +"pulmonary interstitial fibroblast", "nan" +"regulatory T cell", "nan" +"respiratory basal cell", "nan" +"smooth muscle cell of the pulmonary artery", "nan" +"type I pneumocyte", "nan" +"type II pneumocyte", "nan" +"vein endothelial cell", "nan" +"unknown", "nan" diff --git a/sfaira/versions/metadata/target_universes/mouse/malegonad.csv b/sfaira/versions/metadata/target_universes/mouse/malegonad.csv new file mode 100644 index 000000000..f0c14d10b --- /dev/null +++ b/sfaira/versions/metadata/target_universes/mouse/malegonad.csv @@ -0,0 +1,12 @@ +"name","id" +"macrophage", "CL:0000235" +"leydig cell", "nan" +"elongating spermatid", "nan" +"erythroblast", "nan" +"pre-sertoli cell", "nan" +"sertoli cell", "nan" +"preleptotene spermatogonia", "nan" +"spermatogonia", "nan" +"spermatocyte", "nan" +"spermatid", "nan" +"unknown", "nan" diff --git a/sfaira/versions/metadata/target_universes/mouse/mammarygland.csv b/sfaira/versions/metadata/target_universes/mouse/mammarygland.csv new file mode 100644 index 000000000..88f6eb93d --- /dev/null +++ b/sfaira/versions/metadata/target_universes/mouse/mammarygland.csv @@ -0,0 +1,14 @@ +"name","id" +"B cell", "CL:0000236" +"basal cell", "CL:0000646" +"endothelial cell", "CL:0000115" +"luminal epithelial cell of mammary gland", "CL:0002326" +"luminal progenitor cell", "CL:0002326" +"macrophage", "CL:0000235" +"stromal cell", "CL:0000499" +"T cell", "CL:0000084" +"dendritic cell", "nan" +"proliferative cell", "nan" +"NK cell", "CL:0000623" +"stem and progenitor cell", "CL:0000623" +"unknown", "nan" diff --git a/sfaira/versions/metadata/target_universes/mouse/muscle.csv b/sfaira/versions/metadata/target_universes/mouse/muscle.csv new file mode 100644 index 000000000..955f4e225 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/mouse/muscle.csv @@ -0,0 +1,17 @@ +"name","id" +"B cell", "CL:0000236" +"dendritic cell", "nan" +"endothelial cell", "CL:0000115" +"erythroblast", "nan" +"macrophage", "CL:0000235" +"mesenchymal stem cell", "CL:0000134" +"monocyte progenitor", "nan" +"muscle cell", "nan" +"neutrophil", "nan" +"Schwann cell", "CL:0002573" +"smooth muscle cell", "CL:0000192" +"stromal cell", "nan" +"skeletal muscle cell", "CL:0000192" +"skeletal muscle satellite cell", "CL:0000594" +"T cell", "CL:0000084" +"unknown", "nan" diff --git a/sfaira/versions/metadata/target_universes/mouse/ovary.csv b/sfaira/versions/metadata/target_universes/mouse/ovary.csv new file mode 100644 index 000000000..4e54b44b0 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/mouse/ovary.csv @@ -0,0 +1,11 @@ +"name","id" +"cumulus cell", "nan" +"granulosa cell", "nan" +"large luteal cell", "nan" +"macrophage", "nan" +"small luteal cell", "nan" +"epithelial cell of ovarian surface", "nan" +"endothelial cell of ovarian surface", "nan" +"stromal cell", "nan" +"thecal cell", "nan" +"unknown", "nan" diff --git a/sfaira/versions/metadata/target_universes/mouse/pancreas.csv b/sfaira/versions/metadata/target_universes/mouse/pancreas.csv new file mode 100644 index 000000000..4fba2e83f --- /dev/null +++ b/sfaira/versions/metadata/target_universes/mouse/pancreas.csv @@ -0,0 +1,20 @@ +"name","id" +"b cell", "nan" +"dendritic cell", "nan" +"endothelial cell", "CL:0000115" +"erythroblast", "nan" +"glial cell", "nan" +"granulocyte", "nan" +"macrophage", "nan" +"pancreatic A cell", "CL:0000171" +"pancreatic acinar cell", "CL:0002064" +"pancreatic B cell", "CL:0000169" +"pancreatic D cell", "CL:0000173" +"pancreatic ductal cell", "CL:0002079" +"pancreatic PP cell", "CL:0002275" +"pancreatic stellate cell", "CL:0002410" +"smooth muscle cell", "nan" +"stromal cell", "nan" +"t cell", "nan" +"lymphatic endothelial cell", "nan" +"unknown", "nan" diff --git a/sfaira/versions/metadata/target_universes/mouse/placenta.csv b/sfaira/versions/metadata/target_universes/mouse/placenta.csv new file mode 100644 index 000000000..20d6b4d7a --- /dev/null +++ b/sfaira/versions/metadata/target_universes/mouse/placenta.csv @@ -0,0 +1,24 @@ +"name","id" +"B cell", "CL:0000236" +"endothelial cell", "CL:0000115" +"macrophage", "CL:0000235" +"stromal cell", "CL:0000499" +"erythroblast", "nan" +"granulocyte", "nan" +"basophil", "nan" +"decidual stromal cell", "nan" +"dendritic cell", "nan" +"endodermal cell", "nan" +"monocyte progenitor", "nan" +"HSPC", "nan" +"megakaryocte", "nan" +"monocyte", "nan" +"NK cell", "nan" +"NKT cell", "nan" +"PE lineage cell", "nan" +"trophoblast progenitor", "nan" +"labyrinthine trophoblast", "nan" +"spiral artery trophoblast giant cells", "nan" +"invasive spongiotrophoblast", "nan" +"spongiotrophoblast", "nan" +"unknown", "nan" diff --git a/sfaira/versions/metadata/target_universes/mouse/prostate.csv b/sfaira/versions/metadata/target_universes/mouse/prostate.csv new file mode 100644 index 000000000..a27a30f99 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/mouse/prostate.csv @@ -0,0 +1,8 @@ +"name","id" +"epithelial cell", "nan" +"glandular epithelial cell", "nan" +"T cell", "CL:0000084" +"glandular cell", "nan" +"stromal cell", "nan" +"dendritic cell", "nan" +"unknown", "nan" diff --git a/sfaira/versions/metadata/target_universes/mouse/rib.csv b/sfaira/versions/metadata/target_universes/mouse/rib.csv new file mode 100644 index 000000000..274cad925 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/mouse/rib.csv @@ -0,0 +1,16 @@ +"name","id" +"B cell", "CL:0000236" +"endothelial cell", "CL:0000115" +"macrophage", "CL:0000235" +"stromal cell", "CL:0000499" +"proliferative cell", "nan" +"cartilage cell", "nan" +"erythroblast", "nan" +"granulocyte", "nan" +"muscle cell", "nan" +"neuron", "nan" +"neutrophil", "nan" +"osteoblast", "nan" +"osteoclast", "nan" +"oligodendrocyte", "nan" +"unknown", "nan" diff --git a/sfaira/versions/metadata/target_universes/mouse/skin.csv b/sfaira/versions/metadata/target_universes/mouse/skin.csv new file mode 100644 index 000000000..30d107948 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/mouse/skin.csv @@ -0,0 +1,10 @@ +"name","id" +"basal cell of epidermis", "CL:0002187" +"bulge keratinocyte", "nan" +"epidermal cell", "CL:0000362" +"fibroblast", "nan" +"keratinocyte stem cell", "CL:0002337" +"macrophage", "nan" +"stem cell of epidermis", "CL:1000428" +"T cell", "CL:0000084" +"unknown", "nan" diff --git a/sfaira/versions/metadata/target_universes/mouse/spleen.csv b/sfaira/versions/metadata/target_universes/mouse/spleen.csv new file mode 100644 index 000000000..4be417490 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/mouse/spleen.csv @@ -0,0 +1,18 @@ +"name","id" +"B cell", "CL:0000236" +"CD4-positive, alpha-beta T cell", "nan" +"CD8-positive, alpha-beta T cell", "nan" +"dendritic cell", "nan" +"erythroblast", "CL:0000765" +"granulocyte", "CL:0000094" +"immature NKT cell", "nan" +"macrophage", "nan" +"macrophage dendritic cell progenitor", "CL:0002009" +"mature NK T cell", "nan" +"megakaryocyte-erythroid progenitor cell", "nan" +"monocyte", "nan" +"neutrophil", "nan" +"NK cell", "CL:0000623" +"plasma cell", "nan" +"proerythroblast", "CL:0000547" +"unknown", "nan" diff --git a/sfaira/versions/metadata/target_universes/mouse/stomach.csv b/sfaira/versions/metadata/target_universes/mouse/stomach.csv new file mode 100644 index 000000000..2d501a9bb --- /dev/null +++ b/sfaira/versions/metadata/target_universes/mouse/stomach.csv @@ -0,0 +1,14 @@ +"name","id" +"antral mucous cell", "nan" +"dendritic cell", "nan" +"G cell", "nan" +"gastric mucosal cell", "nan" +"epithelial cell", "nan" +"muscle cell", "nan" +"macrophage", "CL:0000235" +"parietal cell", "nan" +"pit cell", "nan" +"proliferative cell", "nan" +"stomach cell", "nan" +"tuft cell", "nan" +"unknown", "nan" diff --git a/sfaira/versions/metadata/target_universes/mouse/thymus.csv b/sfaira/versions/metadata/target_universes/mouse/thymus.csv new file mode 100644 index 000000000..60d2c23d6 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/mouse/thymus.csv @@ -0,0 +1,16 @@ +"name","id" +"abT cell", "nan" +"B cell", "nan" +"dendritic cell", "nan" +"DN1 thymocyte", "nan" +"DN2 thymocyte", "nan" +"DN3 thymocyte", "nan" +"DN4 thymocyte", "nan" +"double positive T cell", "nan" +"endothelial cell", "CL:0000115" +"epithelial cell of thymus", "CL:0002293" +"fibroblast", "nan" +"gdT cell", "nan" +"macrophage", "nan" +"professional antigen presenting cell", "CL:0000145" +"unknown", "nan" diff --git a/sfaira/versions/metadata/target_universes/mouse/tongue.csv b/sfaira/versions/metadata/target_universes/mouse/tongue.csv new file mode 100644 index 000000000..963780d95 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/mouse/tongue.csv @@ -0,0 +1,5 @@ +"name","id" +"basal cell of epidermis", "CL:0002187" +"keratinocyte", "CL:0000312" +"Langerhans cell", "nan" +"unknown", "nan" diff --git a/sfaira/versions/metadata/target_universes/mouse/trachea.csv b/sfaira/versions/metadata/target_universes/mouse/trachea.csv new file mode 100644 index 000000000..6a197dcd3 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/mouse/trachea.csv @@ -0,0 +1,17 @@ +"name","id" +"basal epithelial cell of tracheobronchial tree", "CL:0002329" +"chondrocyte", "CL:0000138" +"ciliated columnar cell of tracheobronchial tree", "CL:0002145" +"endothelial cell", "CL:000115" +"epithelial cell", "CL:000115" +"fibroblast", "CL:0000057" +"granulocyte", "CL:0000094" +"keratinocyte", "nan" +"macrophage", "CL:0000235" +"mesenchymal cell", "nan" +"mesenchymal progenitor cell", "nan" +"mucus secreting cell", "CL:0000319" +"neuroendocrine cell", "nan" +"smooth muscle cell of trachea", "CL:0002600" +"T cell", "CL:0000084" +"unknown", "nan" diff --git a/sfaira/versions/metadata/target_universes/mouse/uterus.csv b/sfaira/versions/metadata/target_universes/mouse/uterus.csv new file mode 100644 index 000000000..55f6d8827 --- /dev/null +++ b/sfaira/versions/metadata/target_universes/mouse/uterus.csv @@ -0,0 +1,14 @@ +"name","id" +"B cell", "CL:0000236" +"dendritic cell", "nan" +"granulocyte", "nan" +"macrophage", "CL:0000235" +"NK cell", "CL:0000623" +"stromal cell", "nan" +"endothelial cell", "nan" +"glandular epithelial cell", "nan" +"keratinocyte", "nan" +"monocyte", "nan" +"muscle cell", "nan" +"smooth muscle cell", "nan" +"unknown", "nan" diff --git a/sfaira/versions/metadata/universe.py b/sfaira/versions/metadata/universe.py new file mode 100644 index 000000000..f929c8214 --- /dev/null +++ b/sfaira/versions/metadata/universe.py @@ -0,0 +1,360 @@ +import numpy as np +import pandas as pd +from typing import Dict, List, Tuple, Union + +from sfaira.versions.metadata import OntologyCl, OntologyUberon +from sfaira.versions.metadata.extensions import ONTOLOGIY_EXTENSION + +TARGET_UNIVERSE_KEY_NAME = "name" +TARGET_UNIVERSE_KEY_ID = "id" + + +class CelltypeUniverse: + """ + Cell type universe (list) and ontology (hierarchy) container class. + + + Basic checks on the organ specific instance are performed in the constructor. + """ + onto_cl: OntologyCl + onto_uberon: OntologyUberon + _target_universe: Union[List[str], None] + + def __init__(self, cl: OntologyCl, uberon: OntologyUberon, **kwargs): + self.onto_cl = cl + self.onto_uberon = uberon + self._target_universe = None + self._set_extension() + + def _set_extension(self): + self.onto_cl.add_extension(ONTOLOGIY_EXTENSION) + + def __validate_target_universe_table(self, tab: pd.DataFrame): + assert len(tab.columns) == 2 + assert tab.columns[0] == "name" and tab.columns[1] == "id" + + def load_target_universe(self, fn): + """ + + :param fn: .csv file containing target universe. + :return: + """ + tab = pd.read_csv(fn, sep="\t", index_col=None) + self.__validate_target_universe_table(tab=tab) + self.onto_cl.leaves = tab["name"].values + + def write_target_universe( + self, + fn, + x: List[str], + ): + """ + + :param fn: .csv file containing target universe. + :param x: Nodes that make up target universe. + :return: + """ + tab = pd.DataFrame({ + TARGET_UNIVERSE_KEY_NAME: self.onto_cl.convert_to_name(x), + TARGET_UNIVERSE_KEY_ID: self.onto_cl.convert_to_id(x), + }) + self.__validate_target_universe_table(tab=tab) + tab.to_csv(path_or_buf=fn, sep="\t", index=False) + + def prepare_celltype_map_fuzzy( + self, + source, + match_only: bool = False, + include_synonyms: bool = True, + anatomical_constraint: Union[str, None] = None, + choices_for_perfect_match: bool = True, + omit_list: list = [], + omit_target_list: list = ["cell"], + n_suggest: int = 4, + threshold_for_partial_matching: float = 90., + ) -> Tuple[ + List[Dict[str, Union[List[str], str]]], + List[bool] + ]: + """ + Map free text node names to ontology node names via fuzzy string matching and return as list + + If this function does not yield good matches, consider querying this web interface: + https://www.ebi.ac.uk/ols/index + + Search strategies: + + - exact_match: Only exact string matches to name or synonym in ontology. This is the only strategy that is + enabled if match_only is True. + - lenient_match: Fuzzy string matches to name or synonym in ontology based on ratio of match errors + ((fuzz.ratio). + - very_lenient_match: Fuzzy string matches to name or synonym in ontology based on ratio of matches + characters from query (fuzz.partial_ratio) + + Search strategies with anatomical constraints: + An anatomic constraint is a name of an anatomical structure that can be mapped to UBERON. + + - anatomic_onotolgy_match: + We select cell types expected in this UBERON clade based on the link between CL and UBERON. + - anatomic_string_match: + We perform an additional fuzzy string matching with the anatomical structure added to the proposed + label. This is often beneficial because analysts do not always prefix such extension (e.g. pancreatic) + to the free text cell type labels if the entire sample consists only of cells from this anatomical + structure. Note that if the maps from 1) were perfect, this would not be necessary. In practice, we + find this to still recover some hits that are otherwise missed. + + Note that matches are shadowed in lower priorty strategies, ie a perfect match will not show up in the list + of hits of any other strategy. + + :param source: Free text node labels which are to be matched to ontology nodes. + :param match_only: Whether to include strict matches only in output. + :param include_synonyms: Whether to include synonyms of nodes in string search. + :param anatomical_constraint: Whether to require suggestions to be within a target anatomy defined + within UBERON. + :param choices_for_perfect_match: Whether to give additional matches if a perfect match was found and an + anatomical_constraint is not not defined. This is overridden by match_only. + :param omit_list: Free text node labels to omit in map. + :param omit_target_list: Ontology nodes to not match to. + :param n_suggest: Number of cell types to suggest per search strategy. + :param threshold_for_partial_matching: Maximum fuzzy match score below which lenient matching (ratio) is + extended through partial_ratio. + :return: Tuple + + - List with matches for each source, each entry is a dictionary, + of lists of search strategies named by strategy name. If a search strategy yields perfect matches, it + does not return a list of strings but just a single string. + - List with boolean indicator whether or not this output should be reported. + """ + from fuzzywuzzy import fuzz + matches = [] + nodes = self.onto_cl.nodes + nodes = [x for x in nodes if x[1]["name"] not in omit_target_list] + include_terms = [] + if isinstance(source, pd.DataFrame): + source = list(zip(source.iloc[:, 0].values, source.iloc[:, 1].values)) + for x in source: + if not isinstance(x, list) and not isinstance(x, tuple): + x = [x, "nan"] + term = x[0].lower().strip("'").strip("\"").strip("'").strip("\"").strip("]").strip("[") + # Test for perfect string matching: + scores_strict = np.array([ + np.max( + [ + 100 if term == y[1]["name"].lower() else 0 + ] + [ + 100 if term == yy.lower() else 0 + for yy in y[1]["synonym"] + ] + ) if "synonym" in y[1].keys() and include_synonyms else 100 if term == y[1]["name"].lower() else 0 + for y in nodes + ]) + # Test for partial string matching: + # fuzz ratio and partial_ratio capture different types of matches well, we use both here and decide below + # which scores are used in which scenario defined through the user input. + # Formatting of synonyms: These are richly annotated, we strip references following after either: + # BROAD, EXACT + # in the synonym string and characters: "' + + def synonym_string_processing(y): + return y.lower().split("broad")[0].split("exact")[0].lower().strip("'").strip("\"").split("\" ")[0] + + scores_lenient = np.array([ + np.max([fuzz.ratio(term, y[1]["name"].lower())] + [ + fuzz.ratio(term, synonym_string_processing(yy)) + for yy in y[1]["synonym"] + ]) if "synonym" in y[1].keys() and include_synonyms else + fuzz.ratio(term, y[1]["name"].lower()) + for y in nodes + ]) + scores_very_lenient = np.array([ + np.max([fuzz.partial_ratio(term, y[1]["name"].lower())] + [ + fuzz.partial_ratio(term, synonym_string_processing(yy)) + for yy in y[1]["synonym"] + ]) if "synonym" in y[1].keys() and include_synonyms else + fuzz.partial_ratio(term, y[1]["name"].lower()) + for y in nodes + ]) + include_terms.append(term not in omit_list) + if match_only and not anatomical_constraint: + # Explicitly trying to report perfect matches (match_only is True). + matches.append({"perfect_match": [nodes[i][1]["name"] for i in np.where(scores_strict == 100)[0]][0]}) + else: + matches_i = {} + if np.any(scores_strict == 100) and not anatomical_constraint: + # Perfect match and not additional information through anatomical_constraint, ie no reason to assume + # that the user is not looking for this hit. + matches_i.update({ + "perfect_match": [nodes[i][1]["name"] for i in np.where(scores_strict == 100)[0]][0] + }) + if choices_for_perfect_match: + matches_i.update({ + "lenient_match": [ + nodes[i][1]["name"] for i in np.argsort(scores_lenient)[::-1] + if not np.any([nodes[i][1]["name"] in v for v in matches_i.values()]) + ][:n_suggest] + }) + if np.max(scores_lenient) < threshold_for_partial_matching: + matches_i.update({ + "very_lenient_match": [ + nodes[i][1]["name"] + for i in np.argsort(scores_very_lenient)[::-1] + if not np.any([nodes[i][1]["name"] in v for v in matches_i.values()]) + ][:n_suggest] + }) + else: + if anatomical_constraint is not None: + # Use anatomical constraints two fold: + # 1. Select cell types that are in the correct ontology. + # 2. Run a second string matching with the anatomical word included. + + # 1. Select cell types that are in the correct ontology. + # Check that anatomical constraint is a term in UBERON and get UBERON ID: + anatomical_constraint_id = self.onto_uberon.convert_to_id(anatomical_constraint) + # Select up to 5 nodes which match the anatomical constraint: + # The entries look as follows: + # node.value['relationship'] = ['part_of UBERON:0001885'] + # Find nodes that can be matched to UBERON: + anatomical_subselection = [ + "relationship" in y[1].keys() and + np.any(["part_of UBERON" in yy for yy in y[1]["relationship"]]) and + np.any([ + yy.split("part_of ")[-1] in self.onto_uberon.node_ids + for yy in y[1]["relationship"] + ]) + for y in nodes + ] + uberon_ids = [ + y[1]["relationship"][ + np.where(["part_of UBERON" in yy for yy in y[1]["relationship"]])[0][0] + ].split("part_of ")[1] + if z else None + for y, z in zip(nodes, anatomical_subselection) + ] + # Check relationship in UBERON. Select for: + # a) parent -> a more general setting across anatomies from which one was sampled + # b) child -> a sub anatomy of the sampled tissue. + # Check this by checking if one is an ancestor of the other: + anatomical_subselection = [ + z and ( + anatomical_constraint_id in self.onto_uberon.get_ancestors(node=y) or + y in self.onto_uberon.get_ancestors(node=anatomical_constraint_id) + ) + for y, z in zip(uberon_ids, anatomical_subselection) + ] + # Iterate over nodes sorted by string match score and masked by constraint: + matches_i.update({ + "anatomic_onotolgy_match": [ + nodes[i][1]["name"] + for i in np.argsort(scores_lenient) + if anatomical_subselection[i] and not + np.any([nodes[i][1]["name"] in v for v in matches_i.values()]) + ][-n_suggest:][::-1] + }) + + # 2. Run a second string matching with the anatomical word included. + modified_term = anatomical_constraint + " " + x[0].lower().strip("'").strip("\"").strip("]"). \ + strip("[") + scores_anatomy = np.array([ + np.max([ + fuzz.partial_ratio(modified_term, y[1]["name"].lower()) + ] + [ + fuzz.partial_ratio(modified_term, synonym_string_processing(yy)) + for yy in y[1]["synonym"] + ]) if "synonym" in y[1].keys() and include_synonyms else + fuzz.partial_ratio(modified_term, y[1]["name"].lower()) + for y in nodes + ]) + matches_i.update({ + "anatomic_string_match": [ + nodes[i][1]["name"] for i in np.argsort(scores_anatomy) + if nodes[i][1]["name"] and not + np.any([nodes[i][1]["name"] in v for v in matches_i.values()]) + ][-n_suggest:][::-1] + }) + + # Select best overall matches based on lenient and strict matching: + matches_i.update({ + "perfect_match": [ + nodes[i][1]["name"] + for i in np.argsort(scores_strict)[::-1] + ][:n_suggest] + }) + matches_i.update({ + "lenient_match": [ + nodes[i][1]["name"] + for i in np.argsort(scores_lenient)[::-1] + if not np.any([nodes[i][1]["name"] in v for v in matches_i.values()]) + ][:n_suggest] + }) + if np.max(scores_lenient) < threshold_for_partial_matching: + matches_i.update({ + "very_lenient_match": [ + nodes[i][1]["name"] + for i in np.argsort(scores_very_lenient)[::-1] + if not np.any([nodes[i][1]["name"] in v for v in matches_i.values()]) + ][:n_suggest] + }) + else: + # Suggest top hits by string match: + matches_i.update({ + "lenient_match": [ + nodes[i][1]["name"] for i in np.argsort(scores_lenient)[::-1] + ][:n_suggest] + }) + if np.max(scores_lenient) < threshold_for_partial_matching: + matches_i.update({ + "very_lenient_match": [ + nodes[i][1]["name"] + for i in np.argsort(scores_very_lenient)[::-1] + if not np.any([nodes[i][1]["name"] in v for v in matches_i.values()]) + ][:n_suggest] + }) + matches.append(matches_i) + return matches, include_terms + + def prepare_celltype_map_tab( + self, + source, + match_only: bool = False, + include_synonyms: bool = True, + anatomical_constraint: Union[str, None] = None, + omit_list: list = [], + n_suggest: int = 10, + separator_suggestions: str = ":", + separator_groups: str = ":|||:", + ) -> pd.DataFrame: + """ + Map free text node names to ontology node names via fuzzy string matching and return as matching table. + + :param source: Free text node labels which are to be matched to ontology nodes. + :param match_only: Whether to include strict matches only in output. + :param include_synonyms: Whether to include synonyms of nodes in string search. + :param anatomical_constraint: Whether to require suggestions to be within a target anatomy defined within + UBERON. + :param omit_list: Free text node labels to omit in map. + :param n_suggest: Number of cell types to suggest per search strategy. + :param separator_suggestions: String separator for matches of a single strategy in output target column. + :param separator_groups: String separator for search strategy grouped matches in output target column. + :return: Table with source and target node names. Columns: "source", "target" + """ + matches, include_terms = self.prepare_celltype_map_fuzzy( + source=source, + match_only=match_only, + include_synonyms=include_synonyms, + anatomical_constraint=anatomical_constraint, + choices_for_perfect_match=False, + omit_list=omit_list, + n_suggest=n_suggest, + ) + tab = pd.DataFrame({ + "source": source, + "target": [ + separator_groups.join([ + separator_suggestions.join(v) + if isinstance(v, list) else v + for v in x.values() + ]) + for x in matches + ] + }) + return tab.loc[include_terms] diff --git a/sfaira/versions/topologies/__init__.py b/sfaira/versions/topologies/__init__.py new file mode 100644 index 000000000..16095b0e5 --- /dev/null +++ b/sfaira/versions/topologies/__init__.py @@ -0,0 +1,34 @@ +from . import human +from . import mouse +from .class_interface import TopologyContainer + +TOPOLOGIES = { + "mouse": { + "celltype": { + "marker": mouse.celltype.celltypemarker.CELLTYPEMARKER_TOPOLOGIES, + "mlp": mouse.celltype.celltypemlp.CELLTYPEMLP_TOPOLOGIES + }, + "embedding": { + "ae": mouse.embedding.ae.AE_TOPOLOGIES, + "linear": mouse.embedding.linear.LINEAR_TOPOLOGIES, + "nmf": mouse.embedding.nmf.NMF_TOPOLOGIES, + "vae": mouse.embedding.vae.VAE_TOPOLOGIES, + "vaeiaf": mouse.embedding.vaeiaf.VAEIAF_TOPOLOGIES, + "vaevamp": mouse.embedding.vaevamp.VAEVAMP_TOPOLOGIES + } + }, + "human": { + "celltype": { + "marker": human.celltype.celltypemarker.CELLTYPEMARKER_TOPOLOGIES, + "mlp": human.celltype.celltypemlp.CELLTYPEMLP_TOPOLOGIES + }, + "embedding": { + "ae": human.embedding.ae.AE_TOPOLOGIES, + "linear": human.embedding.linear.LINEAR_TOPOLOGIES, + "nmf": human.embedding.nmf.NMF_TOPOLOGIES, + "vae": human.embedding.vae.VAE_TOPOLOGIES, + "vaeiaf": human.embedding.vaeiaf.VAEIAF_TOPOLOGIES, + "vaevamp": human.embedding.vaevamp.VAEVAMP_TOPOLOGIES + } + } +} diff --git a/sfaira/versions/topologies/class_interface.py b/sfaira/versions/topologies/class_interface.py new file mode 100644 index 000000000..6c3a26489 --- /dev/null +++ b/sfaira/versions/topologies/class_interface.py @@ -0,0 +1,41 @@ +from typing import Union + +from sfaira.versions.genomes import GenomeContainer + + +class TopologyContainer: + + """ + Class interface for a YAML-style defined model topology that loads a genome container tailored to the model. + """ + + def __init__( + self, + topology: dict, + topology_id: str, + custom_genome_constainer: Union[GenomeContainer, None] = None, + ): + self.topology = topology + if custom_genome_constainer is None: + self.gc = GenomeContainer(assembly=self.topology["input"]["genome"]) + else: + assert isinstance(custom_genome_constainer, GenomeContainer) + self.gc = custom_genome_constainer + self.gc.subset(**dict([tuple(self.topology["input"]["genes"])])) + self.topology_id = topology_id + + @property + def model_type(self): + return self.topology["model_type"] + + @property + def output(self): + return self.topology["output"] + + @property + def n_var(self): + return self.gc.n_var + + @property + def organism(self): + return self.gc.organism diff --git a/sfaira/versions/topologies/human/__init__.py b/sfaira/versions/topologies/human/__init__.py new file mode 100644 index 000000000..6630987ef --- /dev/null +++ b/sfaira/versions/topologies/human/__init__.py @@ -0,0 +1,2 @@ +from sfaira.versions.topologies.human import celltype +from sfaira.versions.topologies.human import embedding diff --git a/sfaira/versions/topologies/human/celltype/__init__.py b/sfaira/versions/topologies/human/celltype/__init__.py new file mode 100644 index 000000000..e657e4e78 --- /dev/null +++ b/sfaira/versions/topologies/human/celltype/__init__.py @@ -0,0 +1,2 @@ +from sfaira.versions.topologies.human.celltype.celltypemarker import CELLTYPEMARKER_TOPOLOGIES +from sfaira.versions.topologies.human.celltype.celltypemlp import CELLTYPEMLP_TOPOLOGIES diff --git a/sfaira/versions/topologies/human/celltype/celltypemarker.py b/sfaira/versions/topologies/human/celltype/celltypemarker.py new file mode 100644 index 000000000..b67211892 --- /dev/null +++ b/sfaira/versions/topologies/human/celltype/celltypemarker.py @@ -0,0 +1,32 @@ +CELLTYPEMARKER_TOPOLOGIES = { + "0.0.1": { + "model_type": "marker", + "input": { + "genome": "Homo_sapiens.GRCh38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": { + "cl": "v2021-02-01", + "targets": None, + }, + "hyper_parameters": { + "l1_coef": 0., + "l2_coef": 0., + "kernel_initializer": 'glorot_uniform', + "bias_initializer": 'zeros', + "bias_regularizer": None, + "kernel_constraint": None, + "bias_constraint": None + } + } +} + +# Load versions from extension if available: +try: + from sfaira_extension.versions.topology_versions.human.celltype import CELLTYPEMARKER_TOPOLOGIES as CELLTYPEMARKER_TOPOLOGIES_EXTENSION + CELLTYPEMARKER_TOPOLOGIES = { + **CELLTYPEMARKER_TOPOLOGIES, + **CELLTYPEMARKER_TOPOLOGIES_EXTENSION + } +except ImportError: + pass diff --git a/sfaira/versions/topologies/human/celltype/celltypemlp.py b/sfaira/versions/topologies/human/celltype/celltypemlp.py new file mode 100644 index 000000000..fec0c2c93 --- /dev/null +++ b/sfaira/versions/topologies/human/celltype/celltypemlp.py @@ -0,0 +1,108 @@ +CELLTYPEMLP_TOPOLOGIES = { + "0.0.1": { + "model_type": "mlp", + "input": { + "genome": "Homo_sapiens.GRCh38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": { + "cl": "v2021-02-01", + "targets": None, + }, + "hyper_parameters": { + "units": [], + "activation": None, + "use_bias": True, + "l1_coef": 0., + "l2_coef": 0., + "kernel_initializer": 'glorot_uniform', + "bias_initializer": 'zeros', + "bias_regularizer": None, + "activity_regularizer": None, + "kernel_constraint": None, + "bias_constraint": None + } + }, + "0.1.1": { + "model_type": "mlp", + "input": { + "genome": "Homo_sapiens.GRCh38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": { + "cl": "v2021-02-01", + "targets": None, + }, + "hyper_parameters": { + "units": [128], + "activation": "selu", + "use_bias": True, + "l1_coef": 0., + "l2_coef": 0., + "kernel_initializer": 'lecun_normal', + "bias_initializer": 'zeros', + "bias_regularizer": None, + "activity_regularizer": None, + "kernel_constraint": None, + "bias_constraint": None + } + }, + "0.1.2": { + "model_type": "mlp", + "input": { + "genome": "Homo_sapiens.GRCh38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": { + "cl": "v2021-02-01", + "targets": None, + }, + "hyper_parameters": { + "units": [256, 128], + "activation": "selu", + "use_bias": True, + "l1_coef": 0., + "l2_coef": 0., + "kernel_initializer": 'lecun_normal', + "bias_initializer": 'zeros', + "bias_regularizer": None, + "activity_regularizer": None, + "kernel_constraint": None, + "bias_constraint": None + } + }, + "0.1.3": { + "model_type": "mlp", + "input": { + "genome": "Homo_sapiens.GRCh38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": { + "cl": "v2021-02-01", + "targets": None, + }, + "hyper_parameters": { + "units": [512, 256, 128], + "activation": "selu", + "use_bias": True, + "l1_coef": 0., + "l2_coef": 0., + "kernel_initializer": 'lecun_normal', + "bias_initializer": 'zeros', + "bias_regularizer": None, + "activity_regularizer": None, + "kernel_constraint": None, + "bias_constraint": None + } + } +} + +# Load versions from extension if available: +try: + from sfaira_extension.versions.topology_versions.human.celltype import CELLTYPEMLP_TOPOLOGIES as CELLTYPEMLP_TOPOLOGIES_EXTENSION + CELLTYPEMLP_TOPOLOGIES = { + **CELLTYPEMLP_TOPOLOGIES, + **CELLTYPEMLP_TOPOLOGIES_EXTENSION + } +except ImportError: + pass diff --git a/sfaira/versions/topologies/human/embedding/__init__.py b/sfaira/versions/topologies/human/embedding/__init__.py new file mode 100644 index 000000000..829c1623e --- /dev/null +++ b/sfaira/versions/topologies/human/embedding/__init__.py @@ -0,0 +1,6 @@ +from sfaira.versions.topologies.human.embedding.ae import AE_TOPOLOGIES +from sfaira.versions.topologies.human.embedding.linear import LINEAR_TOPOLOGIES +from sfaira.versions.topologies.human.embedding.nmf import NMF_TOPOLOGIES +from sfaira.versions.topologies.human.embedding.vae import VAE_TOPOLOGIES +from sfaira.versions.topologies.human.embedding.vaeiaf import VAEIAF_TOPOLOGIES +from sfaira.versions.topologies.human.embedding.vaevamp import VAEVAMP_TOPOLOGIES diff --git a/sfaira/versions/topologies/human/embedding/ae.py b/sfaira/versions/topologies/human/embedding/ae.py new file mode 100644 index 000000000..6fd5586f3 --- /dev/null +++ b/sfaira/versions/topologies/human/embedding/ae.py @@ -0,0 +1,91 @@ +AE_TOPOLOGIES = { + "0.1": { + "model_type": "ae", + "input": { + "genome": "Homo_sapiens.GRCh38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": (512, 64, 512), + "l1_coef": 0., + "l2_coef": 0., + "dropout_rate": 0., + "input_dropout": 0., + "batchnorm": True, + "activation": "selu", + "init": "lecun_normal", + "output_layer": "nb_shared_disp" + } + }, + + "0.2": { + "model_type": "ae", + "input": { + "genome": "Homo_sapiens.GRCh38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": (256, 128, 64, 128, 256), + "l1_coef": 0., + "l2_coef": 0., + "dropout_rate": 0., + "input_dropout": 0., + "batchnorm": True, + "activation": "selu", + "init": "lecun_normal", + "output_layer": "nb_shared_disp" + } + }, + + "0.3": { + "model_type": "ae", + "input": { + "genome": "Homo_sapiens.GRCh38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": (512, 256, 128, 256, 512), + "l1_coef": 0., + "l2_coef": 0., + "dropout_rate": 0., + "input_dropout": 0., + "batchnorm": True, + "activation": "selu", + "init": "lecun_normal", + "output_layer": "nb_shared_disp" + } + }, + + "0.4": { + "model_type": "ae", + "input": { + "genome": "Homo_sapiens.GRCh38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": (512, 256, 128, 64, 128, 256, 512), + "l2_coef": 0., + "l1_coef": 0., + "dropout_rate": 0., + "input_dropout": 0., + "batchnorm": True, + "activation": "selu", + "init": "lecun_normal", + "output_layer": "nb_const_disp" + } + } +} + +# Load versions from extension if available: +try: + from sfaira_extension.versions.topology_versions.human.embedding import AE_TOPOLOGIES as AE_TOPOLOGIES_EXTENSION + AE_TOPOLOGIES = { + **AE_TOPOLOGIES, + **AE_TOPOLOGIES_EXTENSION + } +except ImportError: + pass diff --git a/sfaira/versions/topologies/human/embedding/linear.py b/sfaira/versions/topologies/human/embedding/linear.py new file mode 100644 index 000000000..5b46c8869 --- /dev/null +++ b/sfaira/versions/topologies/human/embedding/linear.py @@ -0,0 +1,58 @@ +LINEAR_TOPOLOGIES = { + "0.1": { + "model_type": "linear", + "input": { + "genome": "Homo_sapiens.GRCh38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": 64, + "l1_coef": 0., + "l2_coef": 0., + "positive_components": False, + "output_layer": "nb_shared_disp" + } + }, + + "0.2": { + "model_type": "linear", + "input": { + "genome": "Homo_sapiens.GRCh38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": 128, + "l1_coef": 0., + "l2_coef": 0., + "positive_components": False, + "output_layer": "nb_shared_disp" + } + }, + + "0.3": { + "input": { + "genome": "Homo_sapiens.GRCh38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": 128, + "l1_coef": 0., + "l2_coef": 0., + "positive_components": False, + "output_layer": "nb_const_disp" + } + } +} + +# Load versions from extension if available: +try: + from sfaira_extension.versions.topology_versions.human.embedding import LINEAR_TOPOLOGIES as LINEAR_TOPOLOGIES_EXTENSION + LINEAR_TOPOLOGIES = { + **LINEAR_TOPOLOGIES, + **LINEAR_TOPOLOGIES_EXTENSION + } +except ImportError: + pass diff --git a/sfaira/versions/topologies/human/embedding/nmf.py b/sfaira/versions/topologies/human/embedding/nmf.py new file mode 100644 index 000000000..1ad46fd0a --- /dev/null +++ b/sfaira/versions/topologies/human/embedding/nmf.py @@ -0,0 +1,59 @@ +NMF_TOPOLOGIES = { + "0.1": { + "model_type": "linear", + "input": { + "genome": "Homo_sapiens.GRCh38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": 64, + "l1_coef": 0., + "l2_coef": 0., + "positive_components": True, + "output_layer": "nb_shared_disp" + } + }, + + "0.2": { + "model_type": "linear", + "input": { + "genome": "Homo_sapiens.GRCh38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": 128, + "l1_coef": 0., + "l2_coef": 0., + "positive_components": True, + "output_layer": "nb_shared_disp" + } + }, + + "0.3": { + "model_type": "linear", + "input": { + "genome": "Homo_sapiens.GRCh38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": 128, + "l1_coef": 0., + "l2_coef": 0., + "positive_components": True, + "output_layer": "nb_const_disp" + } + } +} + +# Load versions from extension if available: +try: + from sfaira_extension.versions.topology_versions.human.embedding import NMF_TOPOLOGIES as NMF_TOPOLOGIES_EXTENSION + NMF_TOPOLOGIES = { + **NMF_TOPOLOGIES, + **NMF_TOPOLOGIES_EXTENSION + } +except ImportError: + pass diff --git a/sfaira/versions/topologies/human/embedding/vae.py b/sfaira/versions/topologies/human/embedding/vae.py new file mode 100644 index 000000000..fbccdb79e --- /dev/null +++ b/sfaira/versions/topologies/human/embedding/vae.py @@ -0,0 +1,87 @@ +VAE_TOPOLOGIES = { + "0.1": { + "model_type": "vae", + "input": { + "genome": "Homo_sapiens.GRCh38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": (512, 64, 512), + "l1_coef": 0., + "l2_coef": 0., + "dropout_rate": 0., + "batchnorm": True, + "activation": "selu", + "init": "lecun_normal", + "output_layer": "nb_shared_disp" + } + }, + + "0.2": { + "model_type": "vae", + "input": { + "genome": "Homo_sapiens.GRCh38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": (256, 128, 64, 128, 256), + "l1_coef": 0., + "l2_coef": 0., + "dropout_rate": 0., + "batchnorm": True, + "activation": "selu", + "init": "lecun_normal", + "output_layer": "nb_shared_disp" + } + }, + + "0.3": { + "model_type": "vae", + "input": { + "genome": "Homo_sapiens.GRCh38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": (512, 256, 128, 256, 512), + "l1_coef": 0., + "l2_coef": 0., + "dropout_rate": 0., + "batchnorm": True, + "activation": "selu", + "init": "lecun_normal", + "output_layer": "nb_shared_disp" + } + }, + + "0.4": { + "model_type": "vae", + "input": { + "genome": "Homo_sapiens.GRCh38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": (512, 256, 128, 64, 128, 256, 512), + "l2_coef": 0., + "l1_coef": 0., + "dropout_rate": 0., + "batchnorm": True, + "activation": "selu", + "init": "lecun_normal", + "output_layer": "nb_const_disp" + } + } +} + +# Load versions from extension if available: +try: + from sfaira_extension.versions.topology_versions.human.embedding import VAE_TOPOLOGIES as VAE_TOPOLOGIES_EXTENSION + VAE_TOPOLOGIES = { + **VAE_TOPOLOGIES, + **VAE_TOPOLOGIES_EXTENSION + } +except ImportError: + pass diff --git a/sfaira/versions/topologies/human/embedding/vaeiaf.py b/sfaira/versions/topologies/human/embedding/vaeiaf.py new file mode 100644 index 000000000..ea1d415a9 --- /dev/null +++ b/sfaira/versions/topologies/human/embedding/vaeiaf.py @@ -0,0 +1,50 @@ +VAEIAF_TOPOLOGIES = { + "0.1": { + "model_type": "vaeiaf", + "input": { + "genome": "Homo_sapiens.GRCh38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": (256, 128, 64, 128, 256), + "n_iaf": 2, + "l1_coef": 0., + "l2_coef": 0., + "dropout_rate": 0., + "batchnorm": True, + "activation": "tanh", + "init": "glorot_uniform", + "output_layer": "nb_shared_disp" + } + }, + "0.2": { + "model_type": "vaeiaf", + "input": { + "genome": "Homo_sapiens.GRCh38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": (512, 256, 128, 256, 512), + "n_iaf": 2, + "l1_coef": 0., + "l2_coef": 0., + "dropout_rate": 0., + "batchnorm": True, + "activation": "tanh", + "init": "glorot_uniform", + "output_layer": "nb_shared_disp" + } + } +} + +# Load versions from extension if available: +try: + from sfaira_extension.versions.topology_versions.human.embedding import VAEIAF_TOPOLOGIES as VAEIAF_TOPOLOGIES_EXTENSION + VAEIAF_TOPOLOGIES = { + **VAEIAF_TOPOLOGIES, + **VAEIAF_TOPOLOGIES_EXTENSION + } +except ImportError: + pass diff --git a/sfaira/versions/topologies/human/embedding/vaevamp.py b/sfaira/versions/topologies/human/embedding/vaevamp.py new file mode 100644 index 000000000..ea47b47ff --- /dev/null +++ b/sfaira/versions/topologies/human/embedding/vaevamp.py @@ -0,0 +1,48 @@ +VAEVAMP_TOPOLOGIES = { + "0.2": { + "model_type": "vaevamp", + "input": { + "genome": "Homo_sapiens.GRCh38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": (256, 128, (32, 32), 128, 256), + "l1_coef": 0., + "l2_coef": 0., + "dropout_rate": 0., + "batchnorm": True, + "activation": "selu", + "init": "lecun_normal", + "output_layer": "nb_shared_disp" + } + }, + "0.3": { + "model_type": "vaevamp", + "input": { + "genome": "Homo_sapiens.GRCh38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": (512, 256, (64, 64), 256, 512), + "l1_coef": 0., + "l2_coef": 0., + "dropout_rate": 0., + "batchnorm": True, + "activation": "selu", + "init": "lecun_normal", + "output_layer": "nb_shared_disp" + } + } +} + +# Load versions from extension if available: +try: + from sfaira_extension.versions.topology_versions.human.embedding import VAEVAMP_TOPOLOGIES as VAEVAMP_TOPOLOGIES_EXTENSION + VAEVAMP_TOPOLOGIES = { + **VAEVAMP_TOPOLOGIES, + **VAEVAMP_TOPOLOGIES_EXTENSION + } +except ImportError: + pass diff --git a/sfaira/versions/topologies/mouse/__init__.py b/sfaira/versions/topologies/mouse/__init__.py new file mode 100644 index 000000000..4105b813a --- /dev/null +++ b/sfaira/versions/topologies/mouse/__init__.py @@ -0,0 +1,2 @@ +from sfaira.versions.topologies.mouse import celltype +from sfaira.versions.topologies.mouse import embedding diff --git a/sfaira/versions/topologies/mouse/celltype/__init__.py b/sfaira/versions/topologies/mouse/celltype/__init__.py new file mode 100644 index 000000000..d98e272bf --- /dev/null +++ b/sfaira/versions/topologies/mouse/celltype/__init__.py @@ -0,0 +1,2 @@ +from sfaira.versions.topologies.mouse.celltype.celltypemarker import CELLTYPEMARKER_TOPOLOGIES +from sfaira.versions.topologies.mouse.celltype.celltypemlp import CELLTYPEMLP_TOPOLOGIES diff --git a/sfaira/versions/topologies/mouse/celltype/celltypemarker.py b/sfaira/versions/topologies/mouse/celltype/celltypemarker.py new file mode 100644 index 000000000..3db24d205 --- /dev/null +++ b/sfaira/versions/topologies/mouse/celltype/celltypemarker.py @@ -0,0 +1,32 @@ +CELLTYPEMARKER_TOPOLOGIES = { + "0.0.1": { + "model_type": "marker", + "input": { + "genome": "Mus_musculus.GRCm38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": { + "cl": "v2021-02-01", + "targets": None, + }, + "hyper_parameters": { + "l1_coef": 0., + "l2_coef": 0., + "kernel_initializer": 'glorot_uniform', + "bias_initializer": 'zeros', + "bias_regularizer": None, + "kernel_constraint": None, + "bias_constraint": None + } + } +} + +# Load versions from extension if available: +try: + from sfaira_extension.versions.topology_versions.mouse.celltype import CELLTYPEMARKER_TOPOLOGIES as CELLTYPEMARKER_TOPOLOGIES_EXTENSION + CELLTYPEMARKER_TOPOLOGIES = { + **CELLTYPEMARKER_TOPOLOGIES, + **CELLTYPEMARKER_TOPOLOGIES_EXTENSION + } +except ImportError: + pass diff --git a/sfaira/versions/topologies/mouse/celltype/celltypemlp.py b/sfaira/versions/topologies/mouse/celltype/celltypemlp.py new file mode 100644 index 000000000..9ce7e5ec6 --- /dev/null +++ b/sfaira/versions/topologies/mouse/celltype/celltypemlp.py @@ -0,0 +1,108 @@ +CELLTYPEMLP_TOPOLOGIES = { + "0.0.1": { + "model_type": "mlp", + "input": { + "genome": "Mus_musculus.GRCm38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": { + "cl": "v2021-02-01", + "targets": None, + }, + "hyper_parameters": { + "units": [], + "activation": None, + "use_bias": True, + "l1_coef": 0., + "l2_coef": 0., + "kernel_initializer": 'glorot_uniform', + "bias_initializer": 'zeros', + "bias_regularizer": None, + "activity_regularizer": None, + "kernel_constraint": None, + "bias_constraint": None + } + }, + "0.1.1": { + "model_type": "mlp", + "input": { + "genome": "Mus_musculus.GRCm38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": { + "cl": "v2021-02-01", + "targets": None, + }, + "hyper_parameters": { + "units": [128], + "activation": "selu", + "use_bias": True, + "l1_coef": 0., + "l2_coef": 0., + "kernel_initializer": 'lecun_normal', + "bias_initializer": 'zeros', + "bias_regularizer": None, + "activity_regularizer": None, + "kernel_constraint": None, + "bias_constraint": None + } + }, + "0.1.2": { + "model_type": "mlp", + "input": { + "genome": "Mus_musculus.GRCm38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": { + "cl": "v2021-02-01", + "targets": None, + }, + "hyper_parameters": { + "units": [256, 128], + "activation": "selu", + "use_bias": True, + "l1_coef": 0., + "l2_coef": 0., + "kernel_initializer": 'lecun_normal', + "bias_initializer": 'zeros', + "bias_regularizer": None, + "activity_regularizer": None, + "kernel_constraint": None, + "bias_constraint": None + } + }, + "0.1.3": { + "model_type": "mlp", + "input": { + "genome": "Mus_musculus.GRCm38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": { + "cl": "v2021-02-01", + "targets": None, + }, + "hyper_parameters": { + "units": [512, 256, 128], + "activation": "selu", + "use_bias": True, + "l1_coef": 0., + "l2_coef": 0., + "kernel_initializer": 'lecun_normal', + "bias_initializer": 'zeros', + "bias_regularizer": None, + "activity_regularizer": None, + "kernel_constraint": None, + "bias_constraint": None + } + } +} + +# Load versions from extension if available: +try: + from sfaira_extension.versions.topology_versions.mouse.celltype import CELLTYPEMLP_TOPOLOGIES as CELLTYPEMLP_TOPOLOGIES_EXTENSION + CELLTYPEMLP_TOPOLOGIES = { + **CELLTYPEMLP_TOPOLOGIES, + **CELLTYPEMLP_TOPOLOGIES_EXTENSION + } +except ImportError: + pass diff --git a/sfaira/versions/topologies/mouse/embedding/__init__.py b/sfaira/versions/topologies/mouse/embedding/__init__.py new file mode 100644 index 000000000..d36c96479 --- /dev/null +++ b/sfaira/versions/topologies/mouse/embedding/__init__.py @@ -0,0 +1,6 @@ +from sfaira.versions.topologies.mouse.embedding.ae import AE_TOPOLOGIES +from sfaira.versions.topologies.mouse.embedding.linear import LINEAR_TOPOLOGIES +from sfaira.versions.topologies.mouse.embedding.nmf import NMF_TOPOLOGIES +from sfaira.versions.topologies.mouse.embedding.vae import VAE_TOPOLOGIES +from sfaira.versions.topologies.mouse.embedding.vaeiaf import VAEIAF_TOPOLOGIES +from sfaira.versions.topologies.mouse.embedding.vaevamp import VAEVAMP_TOPOLOGIES diff --git a/sfaira/versions/topologies/mouse/embedding/ae.py b/sfaira/versions/topologies/mouse/embedding/ae.py new file mode 100644 index 000000000..83abd03af --- /dev/null +++ b/sfaira/versions/topologies/mouse/embedding/ae.py @@ -0,0 +1,91 @@ +AE_TOPOLOGIES = { + "0.1": { + "model_type": "ae", + "input": { + "genome": "Mus_musculus.GRCm38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": (512, 64, 512), + "l1_coef": 0., + "l2_coef": 0., + "dropout_rate": 0., + "input_dropout": 0., + "batchnorm": True, + "activation": "selu", + "init": "lecun_normal", + "output_layer": "nb_shared_disp" + } + }, + + "0.2": { + "model_type": "ae", + "input": { + "genome": "Mus_musculus.GRCm38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": (256, 128, 64, 128, 256), + "l1_coef": 0., + "l2_coef": 0., + "dropout_rate": 0., + "input_dropout": 0., + "batchnorm": True, + "activation": "selu", + "init": "lecun_normal", + "output_layer": "nb_shared_disp" + } + }, + + "0.3": { + "model_type": "ae", + "input": { + "genome": "Mus_musculus.GRCm38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": (512, 256, 128, 256, 512), + "l1_coef": 0., + "l2_coef": 0., + "dropout_rate": 0., + "input_dropout": 0., + "batchnorm": True, + "activation": "selu", + "init": "lecun_normal", + "output_layer": "nb_shared_disp" + } + }, + + "0.4": { + "model_type": "ae", + "input": { + "genome": "Mus_musculus.GRCm38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": (512, 256, 128, 64, 128, 256, 512), + "l2_coef": 0., + "l1_coef": 0., + "dropout_rate": 0., + "input_dropout": 0., + "batchnorm": True, + "activation": "selu", + "init": "lecun_normal", + "output_layer": "nb_const_disp" + } + } +} + +# Load versions from extension if available: +try: + from sfaira_extension.versions.topology_versions.mouse.embedding import AE_TOPOLOGIES as AE_TOPOLOGIES_EXTENSION + AE_TOPOLOGIES = { + **AE_TOPOLOGIES, + **AE_TOPOLOGIES_EXTENSION + } +except ImportError: + pass diff --git a/sfaira/versions/topologies/mouse/embedding/linear.py b/sfaira/versions/topologies/mouse/embedding/linear.py new file mode 100644 index 000000000..bc7c563d2 --- /dev/null +++ b/sfaira/versions/topologies/mouse/embedding/linear.py @@ -0,0 +1,59 @@ +LINEAR_TOPOLOGIES = { + "0.1": { + "model_type": "linear", + "input": { + "genome": "Mus_musculus.GRCm38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": 64, + "l1_coef": 0., + "l2_coef": 0., + "positive_components": False, + "output_layer": "nb_shared_disp" + } + }, + + "0.2": { + "model_type": "linear", + "input": { + "genome": "Mus_musculus.GRCm38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": 128, + "l1_coef": 0., + "l2_coef": 0., + "positive_components": False, + "output_layer": "nb_shared_disp" + } + }, + + "0.3": { + "model_type": "linear", + "input": { + "genome": "Mus_musculus.GRCm38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": 128, + "l1_coef": 0., + "l2_coef": 0., + "positive_components": False, + "output_layer": "nb_const_disp" + } + } +} + +# Load versions from extension if available: +try: + from sfaira_extension.versions.topology_versions.mouse.embedding import LINEAR_TOPOLOGIES as LINEAR_TOPOLOGIES_EXTENSION + LINEAR_TOPOLOGIES = { + **LINEAR_TOPOLOGIES, + **LINEAR_TOPOLOGIES_EXTENSION + } +except ImportError: + pass diff --git a/sfaira/versions/topologies/mouse/embedding/nmf.py b/sfaira/versions/topologies/mouse/embedding/nmf.py new file mode 100644 index 000000000..ef006e48a --- /dev/null +++ b/sfaira/versions/topologies/mouse/embedding/nmf.py @@ -0,0 +1,59 @@ +NMF_TOPOLOGIES = { + "0.1": { + "model_type": "linear", + "input": { + "genome": "Mus_musculus.GRCm38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": 64, + "l1_coef": 0., + "l2_coef": 0., + "positive_components": True, + "output_layer": "nb_shared_disp" + } + }, + + "0.2": { + "model_type": "linear", + "input": { + "genome": "Mus_musculus.GRCm38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": 128, + "l1_coef": 0., + "l2_coef": 0., + "positive_components": True, + "output_layer": "nb_shared_disp" + } + }, + + "0.3": { + "model_type": "linear", + "input": { + "genome": "Mus_musculus.GRCm38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": 128, + "l1_coef": 0., + "l2_coef": 0., + "positive_components": True, + "output_layer": "nb_const_disp" + } + } +} + +# Load versions from extension if available: +try: + from sfaira_extension.versions.topology_versions.mouse.embedding import NMF_TOPOLOGIES as NMF_TOPOLOGIES_EXTENSION + NMF_TOPOLOGIES = { + **NMF_TOPOLOGIES, + **NMF_TOPOLOGIES_EXTENSION + } +except ImportError: + pass diff --git a/sfaira/versions/topologies/mouse/embedding/vae.py b/sfaira/versions/topologies/mouse/embedding/vae.py new file mode 100644 index 000000000..ed48b09c7 --- /dev/null +++ b/sfaira/versions/topologies/mouse/embedding/vae.py @@ -0,0 +1,87 @@ +VAE_TOPOLOGIES = { + "0.1": { + "model_type": "vae", + "input": { + "genome": "Mus_musculus.GRCm38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": (512, 64, 512), + "l1_coef": 0., + "l2_coef": 0., + "dropout_rate": 0., + "batchnorm": True, + "activation": "selu", + "init": "lecun_normal", + "output_layer": "nb_shared_disp" + } + }, + + "0.2": { + "model_type": "vae", + "input": { + "genome": "Mus_musculus.GRCm38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": (256, 128, 64, 128, 256), + "l1_coef": 0., + "l2_coef": 0., + "dropout_rate": 0., + "batchnorm": True, + "activation": "selu", + "init": "lecun_normal", + "output_layer": "nb_shared_disp" + } + }, + + "0.3": { + "model_type": "vae", + "input": { + "genome": "Mus_musculus.GRCm38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": (512, 256, 128, 256, 512), + "l1_coef": 0., + "l2_coef": 0., + "dropout_rate": 0., + "batchnorm": True, + "activation": "selu", + "init": "lecun_normal", + "output_layer": "nb_shared_disp" + } + }, + + "0.4": { + "model_type": "vae", + "input": { + "genome": "Mus_musculus.GRCm38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": (512, 256, 128, 64, 128, 256, 512), + "l2_coef": 0., + "l1_coef": 0., + "dropout_rate": 0., + "batchnorm": True, + "activation": "selu", + "init": "lecun_normal", + "output_layer": "nb_const_disp" + } + } +} + +# Load versions from extension if available: +try: + from sfaira_extension.versions.topology_versions.mouse.embedding import VAE_TOPOLOGIES as VAE_TOPOLOGIES_EXTENSION + VAE_TOPOLOGIES = { + **VAE_TOPOLOGIES, + **VAE_TOPOLOGIES_EXTENSION + } +except ImportError: + pass diff --git a/sfaira/versions/topologies/mouse/embedding/vaeiaf.py b/sfaira/versions/topologies/mouse/embedding/vaeiaf.py new file mode 100644 index 000000000..0e0621e9e --- /dev/null +++ b/sfaira/versions/topologies/mouse/embedding/vaeiaf.py @@ -0,0 +1,50 @@ +VAEIAF_TOPOLOGIES = { + "0.1": { + "model_type": "vaeiaf", + "input": { + "genome": "Mus_musculus.GRCm38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": (256, 128, 64, 128, 256), + "n_iaf": 2, + "l1_coef": 0., + "l2_coef": 0., + "dropout_rate": 0., + "batchnorm": True, + "activation": "tanh", + "init": "glorot_uniform", + "output_layer": "nb_shared_disp" + } + }, + "0.2": { + "model_type": "vaeiaf", + "input": { + "genome": "Mus_musculus.GRCm38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": (512, 256, 128, 256, 512), + "n_iaf": 2, + "l1_coef": 0., + "l2_coef": 0., + "dropout_rate": 0., + "batchnorm": True, + "activation": "tanh", + "init": "glorot_uniform", + "output_layer": "nb_shared_disp" + } + } +} + +# Load versions from extension if available: +try: + from sfaira_extension.versions.topology_versions.mouse.embedding import VAEIAF_TOPOLOGIES as VAEIAF_TOPOLOGIES_EXTENSION + VAEIAF_TOPOLOGIES = { + **VAEIAF_TOPOLOGIES, + **VAEIAF_TOPOLOGIES_EXTENSION + } +except ImportError: + pass diff --git a/sfaira/versions/topologies/mouse/embedding/vaevamp.py b/sfaira/versions/topologies/mouse/embedding/vaevamp.py new file mode 100644 index 000000000..b2b2f522c --- /dev/null +++ b/sfaira/versions/topologies/mouse/embedding/vaevamp.py @@ -0,0 +1,48 @@ +VAEVAMP_TOPOLOGIES = { + "0.2": { + "model_type": "vaevamp", + "input": { + "genome": "Mus_musculus.GRCm38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": (256, 128, (32, 32), 128, 256), + "l1_coef": 0., + "l2_coef": 0., + "dropout_rate": 0., + "batchnorm": True, + "activation": "tanh", + "init": "glorot_uniform", + "output_layer": "nb_shared_disp" + } + }, + "0.3": { + "model_type": "vaevamp", + "input": { + "genome": "Mus_musculus.GRCm38.102", + "genes": ["biotype", "protein_coding"], + }, + "output": {}, + "hyper_parameters": { + "latent_dim": (512, 256, (64, 64), 256, 512), + "l1_coef": 0., + "l2_coef": 0., + "dropout_rate": 0., + "batchnorm": True, + "activation": "tanh", + "init": "glorot_uniform", + "output_layer": "nb_shared_disp" + } + } +} + +# Load versions from extension if available: +try: + from sfaira_extension.versions.topology_versions.mouse.embedding import VAEVAMP_TOPOLOGIES as VAEVAMP_TOPOLOGIES_EXTENSION + VAEVAMP_TOPOLOGIES = { + **VAEVAMP_TOPOLOGIES, + **VAEVAMP_TOPOLOGIES_EXTENSION + } +except ImportError: + pass diff --git a/sfaira/versions/topology_versions/__init__.py b/sfaira/versions/topology_versions/__init__.py deleted file mode 100644 index 31c062410..000000000 --- a/sfaira/versions/topology_versions/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -from . import human -from . import mouse -from .class_interface import Topologies diff --git a/sfaira/versions/topology_versions/class_interface.py b/sfaira/versions/topology_versions/class_interface.py deleted file mode 100644 index e27b80847..000000000 --- a/sfaira/versions/topology_versions/class_interface.py +++ /dev/null @@ -1,70 +0,0 @@ -from .external import SuperGenomeContainer - -from . import human -from . import mouse - - -class Topologies: - - def __init__( - self, - species: str, - model_class: str, - model_type: str, - topology_id: str - ): - self.topologies = { - "mouse": { - "celltype": { - "marker": mouse.celltype.celltypemarker.CELLTYPEMARKER_TOPOLOGIES, - "mlp": mouse.celltype.celltypemlp.CELLTYPEMLP_TOPOLOGIES - }, - "embedding": { - "ae": mouse.embedding.ae.AE_TOPOLOGIES, - "linear": mouse.embedding.linear.LINEAR_TOPOLOGIES, - "nmf": mouse.embedding.nmf.NMF_TOPOLOGIES, - "vae": mouse.embedding.vae.VAE_TOPOLOGIES, - "vaeiaf": mouse.embedding.vaeiaf.VAEIAF_TOPOLOGIES, - "vaevamp": mouse.embedding.vaevamp.VAEVAMP_TOPOLOGIES - } - }, - "human": { - "celltype": { - "marker": human.celltype.celltypemarker.CELLTYPEMARKER_TOPOLOGIES, - "mlp": human.celltype.celltypemlp.CELLTYPEMLP_TOPOLOGIES - }, - "embedding": { - "ae": human.embedding.ae.AE_TOPOLOGIES, - "linear": human.embedding.linear.LINEAR_TOPOLOGIES, - "nmf": human.embedding.nmf.NMF_TOPOLOGIES, - "vae": human.embedding.vae.VAE_TOPOLOGIES, - "vaeiaf": human.embedding.vaeiaf.VAEIAF_TOPOLOGIES, - "vaevamp": human.embedding.vaevamp.VAEVAMP_TOPOLOGIES - } - } - } - self.species = species - self.model_class = model_class - self.model_type = model_type - self.topology_id = topology_id - assert species in list(self.topologies.keys()), \ - "species %s not found in %s" % \ - (species, list(self.topologies.keys())) - assert model_class in list(self.topologies[species].keys()), \ - "model_class %s not found in %s" % \ - (model_type, list(self.topologies[species].keys())) - assert model_type in list(self.topologies[species][model_class].keys()), \ - "model_type %s not found in %s" % \ - (model_type, list(self.topologies[species][model_class].keys())) - assert topology_id in list(self.topologies[species][model_class][model_type].keys()), \ - "topology_id %s not found in %s" % \ - (topology_id, list(self.topologies[species][model_class][model_type].keys())) - self.genome_container = SuperGenomeContainer(species=species, genome=self.topology["genome"]) - - @property - def topology(self): - return self.topologies[self.species][self.model_class][self.model_type][self.topology_id] - - @property - def ngenes(self): - return self.genome_container.ngenes diff --git a/sfaira/versions/topology_versions/external.py b/sfaira/versions/topology_versions/external.py deleted file mode 100644 index 93bcbab8e..000000000 --- a/sfaira/versions/topology_versions/external.py +++ /dev/null @@ -1 +0,0 @@ -from sfaira.versions.genome_versions import SuperGenomeContainer \ No newline at end of file diff --git a/sfaira/versions/topology_versions/human/__init__.py b/sfaira/versions/topology_versions/human/__init__.py deleted file mode 100644 index ff96b16d3..000000000 --- a/sfaira/versions/topology_versions/human/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -from sfaira.versions.topology_versions.human import celltype -from sfaira.versions.topology_versions.human import embedding diff --git a/sfaira/versions/topology_versions/human/celltype/__init__.py b/sfaira/versions/topology_versions/human/celltype/__init__.py deleted file mode 100644 index 23e55e86e..000000000 --- a/sfaira/versions/topology_versions/human/celltype/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -from sfaira.versions.topology_versions.human.celltype.celltypemarker import CELLTYPEMARKER_TOPOLOGIES -from sfaira.versions.topology_versions.human.celltype.celltypemlp import CELLTYPEMLP_TOPOLOGIES diff --git a/sfaira/versions/topology_versions/human/celltype/celltypemarker.py b/sfaira/versions/topology_versions/human/celltype/celltypemarker.py deleted file mode 100644 index a31807448..000000000 --- a/sfaira/versions/topology_versions/human/celltype/celltypemarker.py +++ /dev/null @@ -1,24 +0,0 @@ -CELLTYPEMARKER_TOPOLOGIES = { - "0.0.1": { - "genome": "Homo_sapiens_GRCh38_97", - "hyper_parameters": { - "l1_coef": 0., - "l2_coef": 0., - "kernel_initializer": 'glorot_uniform', - "bias_initializer": 'zeros', - "bias_regularizer": None, - "kernel_constraint": None, - "bias_constraint": None - } - } -} - -# Load versions from extension if available: -try: - from sfaira_extension.versions.topology_versions.human.celltype import CELLTYPEMARKER_TOPOLOGIES as CELLTYPEMARKER_TOPOLOGIES_EXTENSION - CELLTYPEMARKER_TOPOLOGIES = { - **CELLTYPEMARKER_TOPOLOGIES, - **CELLTYPEMARKER_TOPOLOGIES_EXTENSION - } -except ImportError: - pass diff --git a/sfaira/versions/topology_versions/human/celltype/celltypemlp.py b/sfaira/versions/topology_versions/human/celltype/celltypemlp.py deleted file mode 100644 index 827ffba91..000000000 --- a/sfaira/versions/topology_versions/human/celltype/celltypemlp.py +++ /dev/null @@ -1,76 +0,0 @@ -CELLTYPEMLP_TOPOLOGIES = { - "0.0.1": { - "genome": "Homo_sapiens_GRCh38_97", - "hyper_parameters": { - "units": [], - "activation": None, - "use_bias": True, - "l1_coef": 0., - "l2_coef": 0., - "kernel_initializer": 'glorot_uniform', - "bias_initializer": 'zeros', - "bias_regularizer": None, - "activity_regularizer": None, - "kernel_constraint": None, - "bias_constraint": None - } - }, - "0.1.1": { - "genome": "Homo_sapiens_GRCh38_97", - "hyper_parameters": { - "units": [128], - "activation": "selu", - "use_bias": True, - "l1_coef": 0., - "l2_coef": 0., - "kernel_initializer": 'lecun_normal', - "bias_initializer": 'zeros', - "bias_regularizer": None, - "activity_regularizer": None, - "kernel_constraint": None, - "bias_constraint": None - } - }, - "0.1.2": { - "genome": "Homo_sapiens_GRCh38_97", - "hyper_parameters": { - "units": [256, 128], - "activation": "selu", - "use_bias": True, - "l1_coef": 0., - "l2_coef": 0., - "kernel_initializer": 'lecun_normal', - "bias_initializer": 'zeros', - "bias_regularizer": None, - "activity_regularizer": None, - "kernel_constraint": None, - "bias_constraint": None - } - }, - "0.1.3": { - "genome": "Homo_sapiens_GRCh38_97", - "hyper_parameters": { - "units": [512, 256, 128], - "activation": "selu", - "use_bias": True, - "l1_coef": 0., - "l2_coef": 0., - "kernel_initializer": 'lecun_normal', - "bias_initializer": 'zeros', - "bias_regularizer": None, - "activity_regularizer": None, - "kernel_constraint": None, - "bias_constraint": None - } - } -} - -# Load versions from extension if available: -try: - from sfaira_extension.versions.topology_versions.human.celltype import CELLTYPEMLP_TOPOLOGIES as CELLTYPEMLP_TOPOLOGIES_EXTENSION - CELLTYPEMLP_TOPOLOGIES = { - **CELLTYPEMLP_TOPOLOGIES, - **CELLTYPEMLP_TOPOLOGIES_EXTENSION - } -except ImportError: - pass diff --git a/sfaira/versions/topology_versions/human/embedding/__init__.py b/sfaira/versions/topology_versions/human/embedding/__init__.py deleted file mode 100644 index bf21871a0..000000000 --- a/sfaira/versions/topology_versions/human/embedding/__init__.py +++ /dev/null @@ -1,6 +0,0 @@ -from sfaira.versions.topology_versions.human.embedding.ae import AE_TOPOLOGIES -from sfaira.versions.topology_versions.human.embedding.linear import LINEAR_TOPOLOGIES -from sfaira.versions.topology_versions.human.embedding.nmf import NMF_TOPOLOGIES -from sfaira.versions.topology_versions.human.embedding.vae import VAE_TOPOLOGIES -from sfaira.versions.topology_versions.human.embedding.vaeiaf import VAEIAF_TOPOLOGIES -from sfaira.versions.topology_versions.human.embedding.vaevamp import VAEVAMP_TOPOLOGIES diff --git a/sfaira/versions/topology_versions/human/embedding/ae.py b/sfaira/versions/topology_versions/human/embedding/ae.py deleted file mode 100644 index 225100769..000000000 --- a/sfaira/versions/topology_versions/human/embedding/ae.py +++ /dev/null @@ -1,71 +0,0 @@ -AE_TOPOLOGIES = { - "0.1": { - "genome": "Homo_sapiens_GRCh38_97", - "hyper_parameters": { - "latent_dim": (512, 64, 512), - "l1_coef": 0., - "l2_coef": 0., - "dropout_rate": 0., - "input_dropout": 0., - "batchnorm": True, - "activation": "selu", - "init": "lecun_normal", - "output_layer": "nb_shared_disp" - } - }, - - "0.2": { - "genome": "Homo_sapiens_GRCh38_97", - "hyper_parameters": { - "latent_dim": (256, 128, 64, 128, 256), - "l1_coef": 0., - "l2_coef": 0., - "dropout_rate": 0., - "input_dropout": 0., - "batchnorm": True, - "activation": "selu", - "init": "lecun_normal", - "output_layer": "nb_shared_disp" - } - }, - - "0.3": { - "genome": "Homo_sapiens_GRCh38_97", - "hyper_parameters": { - "latent_dim": (512, 256, 128, 256, 512), - "l1_coef": 0., - "l2_coef": 0., - "dropout_rate": 0., - "input_dropout": 0., - "batchnorm": True, - "activation": "selu", - "init": "lecun_normal", - "output_layer": "nb_shared_disp" - } - }, - - "0.4": { - "genome": "Homo_sapiens_GRCh38_97", - "hyper_parameters": { - "latent_dim": (512, 256, 128, 64, 128, 256, 512), - "l2_coef": 0., - "l1_coef": 0., - "dropout_rate": 0., - "input_dropout": 0., - "batchnorm": True, - "activation": "selu", - "init": "lecun_normal", - "output_layer": "nb_const_disp" - } - } -} - -# Load versions from extension if available: -try: - from sfaira_extension.versions.topology_versions.human.embedding import AE_TOPOLOGIES as AE_TOPOLOGIES_EXTENSION - AE_TOPOLOGIES = { - **AE_TOPOLOGIES, - **AE_TOPOLOGIES_EXTENSION - } -except ImportError: - pass diff --git a/sfaira/versions/topology_versions/human/embedding/linear.py b/sfaira/versions/topology_versions/human/embedding/linear.py deleted file mode 100644 index 80f9edeca..000000000 --- a/sfaira/versions/topology_versions/human/embedding/linear.py +++ /dev/null @@ -1,44 +0,0 @@ -LINEAR_TOPOLOGIES = { - "0.1": { - "genome": "Homo_sapiens_GRCh38_97", - "hyper_parameters": { - "latent_dim": 64, - "l1_coef": 0., - "l2_coef": 0., - "positive_components": False, - "output_layer": "nb_shared_disp" - } - }, - - "0.2": { - "genome": "Homo_sapiens_GRCh38_97", - "hyper_parameters": { - "latent_dim": 128, - "l1_coef": 0., - "l2_coef": 0., - "positive_components": False, - "output_layer": "nb_shared_disp" - } - }, - - "0.3": { - "genome": "Homo_sapiens_GRCh38_97", - "hyper_parameters": { - "latent_dim": 128, - "l1_coef": 0., - "l2_coef": 0., - "positive_components": False, - "output_layer": "nb_const_disp" - } - } -} - -# Load versions from extension if available: -try: - from sfaira_extension.versions.topology_versions.human.embedding import LINEAR_TOPOLOGIES as LINEAR_TOPOLOGIES_EXTENSION - LINEAR_TOPOLOGIES = { - **LINEAR_TOPOLOGIES, - **LINEAR_TOPOLOGIES_EXTENSION - } -except ImportError: - pass diff --git a/sfaira/versions/topology_versions/human/embedding/nmf.py b/sfaira/versions/topology_versions/human/embedding/nmf.py deleted file mode 100644 index d006be9cb..000000000 --- a/sfaira/versions/topology_versions/human/embedding/nmf.py +++ /dev/null @@ -1,44 +0,0 @@ -NMF_TOPOLOGIES = { - "0.1": { - "genome": "Homo_sapiens_GRCh38_97", - "hyper_parameters": { - "latent_dim": 64, - "l1_coef": 0., - "l2_coef": 0., - "positive_components": True, - "output_layer": "nb_shared_disp" - } - }, - - "0.2": { - "genome": "Homo_sapiens_GRCh38_97", - "hyper_parameters": { - "latent_dim": 128, - "l1_coef": 0., - "l2_coef": 0., - "positive_components": True, - "output_layer": "nb_shared_disp" - } - }, - - "0.3": { - "genome": "Homo_sapiens_GRCh38_97", - "hyper_parameters": { - "latent_dim": 128, - "l1_coef": 0., - "l2_coef": 0., - "positive_components": True, - "output_layer": "nb_const_disp" - } - } -} - -# Load versions from extension if available: -try: - from sfaira_extension.versions.topology_versions.human.embedding import NMF_TOPOLOGIES as NMF_TOPOLOGIES_EXTENSION - NMF_TOPOLOGIES = { - **NMF_TOPOLOGIES, - **NMF_TOPOLOGIES_EXTENSION - } -except ImportError: - pass diff --git a/sfaira/versions/topology_versions/human/embedding/vae.py b/sfaira/versions/topology_versions/human/embedding/vae.py deleted file mode 100644 index 535a907c8..000000000 --- a/sfaira/versions/topology_versions/human/embedding/vae.py +++ /dev/null @@ -1,67 +0,0 @@ -VAE_TOPOLOGIES = { - "0.1": { - "genome": "Homo_sapiens_GRCh38_97", - "hyper_parameters": { - "latent_dim": (512, 64, 512), - "l1_coef": 0., - "l2_coef": 0., - "dropout_rate": 0., - "batchnorm": True, - "activation": "selu", - "init": "lecun_normal", - "output_layer": "nb_shared_disp" - } - }, - - "0.2": { - "genome": "Homo_sapiens_GRCh38_97", - "hyper_parameters": { - "latent_dim": (256, 128, 64, 128, 256), - "l1_coef": 0., - "l2_coef": 0., - "dropout_rate": 0., - "batchnorm": True, - "activation": "selu", - "init": "lecun_normal", - "output_layer": "nb_shared_disp" - } - }, - - "0.3": { - "genome": "Homo_sapiens_GRCh38_97", - "hyper_parameters": { - "latent_dim": (512, 256, 128, 256, 512), - "l1_coef": 0., - "l2_coef": 0., - "dropout_rate": 0., - "batchnorm": True, - "activation": "selu", - "init": "lecun_normal", - "output_layer": "nb_shared_disp" - } - }, - - "0.4": { - "genome": "Homo_sapiens_GRCh38_97", - "hyper_parameters": { - "latent_dim": (512, 256, 128, 64, 128, 256, 512), - "l2_coef": 0., - "l1_coef": 0., - "dropout_rate": 0., - "batchnorm": True, - "activation": "selu", - "init": "lecun_normal", - "output_layer": "nb_const_disp" - } - } -} - -# Load versions from extension if available: -try: - from sfaira_extension.versions.topology_versions.human.embedding import VAE_TOPOLOGIES as VAE_TOPOLOGIES_EXTENSION - VAE_TOPOLOGIES = { - **VAE_TOPOLOGIES, - **VAE_TOPOLOGIES_EXTENSION - } -except ImportError: - pass diff --git a/sfaira/versions/topology_versions/human/embedding/vaeiaf.py b/sfaira/versions/topology_versions/human/embedding/vaeiaf.py deleted file mode 100644 index 0602ac457..000000000 --- a/sfaira/versions/topology_versions/human/embedding/vaeiaf.py +++ /dev/null @@ -1,40 +0,0 @@ -VAEIAF_TOPOLOGIES = { - "0.1": { - "genome": "Homo_sapiens_GRCh38_97", - "hyper_parameters": { - "latent_dim": (256, 128, 64, 128, 256), - "n_iaf": 2, - "l1_coef": 0., - "l2_coef": 0., - "dropout_rate": 0., - "batchnorm": True, - "activation": "tanh", - "init": "glorot_uniform", - "output_layer": "nb_shared_disp" - } - }, - "0.2": { - "genome": "Homo_sapiens_GRCh38_97", - "hyper_parameters": { - "latent_dim": (512, 256, 128, 256, 512), - "n_iaf": 2, - "l1_coef": 0., - "l2_coef": 0., - "dropout_rate": 0., - "batchnorm": True, - "activation": "tanh", - "init": "glorot_uniform", - "output_layer": "nb_shared_disp" - } - } -} - -# Load versions from extension if available: -try: - from sfaira_extension.versions.topology_versions.human.embedding import VAEIAF_TOPOLOGIES as VAEIAF_TOPOLOGIES_EXTENSION - VAEIAF_TOPOLOGIES = { - **VAEIAF_TOPOLOGIES, - **VAEIAF_TOPOLOGIES_EXTENSION - } -except ImportError: - pass diff --git a/sfaira/versions/topology_versions/human/embedding/vaevamp.py b/sfaira/versions/topology_versions/human/embedding/vaevamp.py deleted file mode 100644 index d4fff9f69..000000000 --- a/sfaira/versions/topology_versions/human/embedding/vaevamp.py +++ /dev/null @@ -1,38 +0,0 @@ -VAEVAMP_TOPOLOGIES = { - "0.2": { - "genome": "Homo_sapiens_GRCh38_97", - "hyper_parameters": { - "latent_dim": (256, 128, (32, 32), 128, 256), - "l1_coef": 0., - "l2_coef": 0., - "dropout_rate": 0., - "batchnorm": True, - "activation": "selu", - "init": "lecun_normal", - "output_layer": "nb_shared_disp" - } - }, - "0.3": { - "genome": "Homo_sapiens_GRCh38_97", - "hyper_parameters": { - "latent_dim": (512, 256, (64, 64), 256, 512), - "l1_coef": 0., - "l2_coef": 0., - "dropout_rate": 0., - "batchnorm": True, - "activation": "selu", - "init": "lecun_normal", - "output_layer": "nb_shared_disp" - } - } -} - -# Load versions from extension if available: -try: - from sfaira_extension.versions.topology_versions.human.embedding import VAEVAMP_TOPOLOGIES as VAEVAMP_TOPOLOGIES_EXTENSION - VAEVAMP_TOPOLOGIES = { - **VAEVAMP_TOPOLOGIES, - **VAEVAMP_TOPOLOGIES_EXTENSION - } -except ImportError: - pass diff --git a/sfaira/versions/topology_versions/mouse/__init__.py b/sfaira/versions/topology_versions/mouse/__init__.py deleted file mode 100644 index 63a125972..000000000 --- a/sfaira/versions/topology_versions/mouse/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -from sfaira.versions.topology_versions.mouse import celltype -from sfaira.versions.topology_versions.mouse import embedding diff --git a/sfaira/versions/topology_versions/mouse/celltype/__init__.py b/sfaira/versions/topology_versions/mouse/celltype/__init__.py deleted file mode 100644 index b555ab76a..000000000 --- a/sfaira/versions/topology_versions/mouse/celltype/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -from sfaira.versions.topology_versions.mouse.celltype.celltypemarker import CELLTYPEMARKER_TOPOLOGIES -from sfaira.versions.topology_versions.mouse.celltype.celltypemlp import CELLTYPEMLP_TOPOLOGIES diff --git a/sfaira/versions/topology_versions/mouse/celltype/celltypemarker.py b/sfaira/versions/topology_versions/mouse/celltype/celltypemarker.py deleted file mode 100644 index 8043c48ad..000000000 --- a/sfaira/versions/topology_versions/mouse/celltype/celltypemarker.py +++ /dev/null @@ -1,24 +0,0 @@ -CELLTYPEMARKER_TOPOLOGIES = { - "0.0.1": { - "genome": "Mus_musculus_GRCm38_97", - "hyper_parameters": { - "l1_coef": 0., - "l2_coef": 0., - "kernel_initializer": 'glorot_uniform', - "bias_initializer": 'zeros', - "bias_regularizer": None, - "kernel_constraint": None, - "bias_constraint": None - } - } -} - -# Load versions from extension if available: -try: - from sfaira_extension.versions.topology_versions.mouse.celltype import CELLTYPEMARKER_TOPOLOGIES as CELLTYPEMARKER_TOPOLOGIES_EXTENSION - CELLTYPEMARKER_TOPOLOGIES = { - **CELLTYPEMARKER_TOPOLOGIES, - **CELLTYPEMARKER_TOPOLOGIES_EXTENSION - } -except ImportError: - pass diff --git a/sfaira/versions/topology_versions/mouse/celltype/celltypemlp.py b/sfaira/versions/topology_versions/mouse/celltype/celltypemlp.py deleted file mode 100644 index 97d029fb9..000000000 --- a/sfaira/versions/topology_versions/mouse/celltype/celltypemlp.py +++ /dev/null @@ -1,76 +0,0 @@ -CELLTYPEMLP_TOPOLOGIES = { - "0.0.1": { - "genome": "Mus_musculus_GRCm38_97", - "hyper_parameters": { - "units": [], - "activation": None, - "use_bias": True, - "l1_coef": 0., - "l2_coef": 0., - "kernel_initializer": 'glorot_uniform', - "bias_initializer": 'zeros', - "bias_regularizer": None, - "activity_regularizer": None, - "kernel_constraint": None, - "bias_constraint": None - } - }, - "0.1.1": { - "genome": "Mus_musculus_GRCm38_97", - "hyper_parameters": { - "units": [128], - "activation": "selu", - "use_bias": True, - "l1_coef": 0., - "l2_coef": 0., - "kernel_initializer": 'lecun_normal', - "bias_initializer": 'zeros', - "bias_regularizer": None, - "activity_regularizer": None, - "kernel_constraint": None, - "bias_constraint": None - } - }, - "0.1.2": { - "genome": "Mus_musculus_GRCm38_97", - "hyper_parameters": { - "units": [256, 128], - "activation": "selu", - "use_bias": True, - "l1_coef": 0., - "l2_coef": 0., - "kernel_initializer": 'lecun_normal', - "bias_initializer": 'zeros', - "bias_regularizer": None, - "activity_regularizer": None, - "kernel_constraint": None, - "bias_constraint": None - } - }, - "0.1.3": { - "genome": "Mus_musculus_GRCm38_97", - "hyper_parameters": { - "units": [512, 256, 128], - "activation": "selu", - "use_bias": True, - "l1_coef": 0., - "l2_coef": 0., - "kernel_initializer": 'lecun_normal', - "bias_initializer": 'zeros', - "bias_regularizer": None, - "activity_regularizer": None, - "kernel_constraint": None, - "bias_constraint": None - } - } -} - -# Load versions from extension if available: -try: - from sfaira_extension.versions.topology_versions.mouse.celltype import CELLTYPEMLP_TOPOLOGIES as CELLTYPEMLP_TOPOLOGIES_EXTENSION - CELLTYPEMLP_TOPOLOGIES = { - **CELLTYPEMLP_TOPOLOGIES, - **CELLTYPEMLP_TOPOLOGIES_EXTENSION - } -except ImportError: - pass diff --git a/sfaira/versions/topology_versions/mouse/embedding/__init__.py b/sfaira/versions/topology_versions/mouse/embedding/__init__.py deleted file mode 100644 index a9404744f..000000000 --- a/sfaira/versions/topology_versions/mouse/embedding/__init__.py +++ /dev/null @@ -1,6 +0,0 @@ -from sfaira.versions.topology_versions.mouse.embedding.ae import AE_TOPOLOGIES -from sfaira.versions.topology_versions.mouse.embedding.linear import LINEAR_TOPOLOGIES -from sfaira.versions.topology_versions.mouse.embedding.nmf import NMF_TOPOLOGIES -from sfaira.versions.topology_versions.mouse.embedding.vae import VAE_TOPOLOGIES -from sfaira.versions.topology_versions.mouse.embedding.vaeiaf import VAEIAF_TOPOLOGIES -from sfaira.versions.topology_versions.mouse.embedding.vaevamp import VAEVAMP_TOPOLOGIES diff --git a/sfaira/versions/topology_versions/mouse/embedding/ae.py b/sfaira/versions/topology_versions/mouse/embedding/ae.py deleted file mode 100644 index 4c628642a..000000000 --- a/sfaira/versions/topology_versions/mouse/embedding/ae.py +++ /dev/null @@ -1,71 +0,0 @@ -AE_TOPOLOGIES = { - "0.1": { - "genome": "Mus_musculus_GRCm38_97", - "hyper_parameters": { - "latent_dim": (512, 64, 512), - "l1_coef": 0., - "l2_coef": 0., - "dropout_rate": 0., - "input_dropout": 0., - "batchnorm": True, - "activation": "selu", - "init": "lecun_normal", - "output_layer": "nb_shared_disp" - } - }, - - "0.2": { - "genome": "Mus_musculus_GRCm38_97", - "hyper_parameters": { - "latent_dim": (256, 128, 64, 128, 256), - "l1_coef": 0., - "l2_coef": 0., - "dropout_rate": 0., - "input_dropout": 0., - "batchnorm": True, - "activation": "selu", - "init": "lecun_normal", - "output_layer": "nb_shared_disp" - } - }, - - "0.3": { - "genome": "Mus_musculus_GRCm38_97", - "hyper_parameters": { - "latent_dim": (512, 256, 128, 256, 512), - "l1_coef": 0., - "l2_coef": 0., - "dropout_rate": 0., - "input_dropout": 0., - "batchnorm": True, - "activation": "selu", - "init": "lecun_normal", - "output_layer": "nb_shared_disp" - } - }, - - "0.4": { - "genome": "Mus_musculus_GRCm38_97", - "hyper_parameters": { - "latent_dim": (512, 256, 128, 64, 128, 256, 512), - "l2_coef": 0., - "l1_coef": 0., - "dropout_rate": 0., - "input_dropout": 0., - "batchnorm": True, - "activation": "selu", - "init": "lecun_normal", - "output_layer": "nb_const_disp" - } - } -} - -# Load versions from extension if available: -try: - from sfaira_extension.versions.topology_versions.mouse.embedding import AE_TOPOLOGIES as AE_TOPOLOGIES_EXTENSION - AE_TOPOLOGIES = { - **AE_TOPOLOGIES, - **AE_TOPOLOGIES_EXTENSION - } -except ImportError: - pass diff --git a/sfaira/versions/topology_versions/mouse/embedding/linear.py b/sfaira/versions/topology_versions/mouse/embedding/linear.py deleted file mode 100644 index cd07f0366..000000000 --- a/sfaira/versions/topology_versions/mouse/embedding/linear.py +++ /dev/null @@ -1,44 +0,0 @@ -LINEAR_TOPOLOGIES = { - "0.1": { - "genome": "Mus_musculus_GRCm38_97", - "hyper_parameters": { - "latent_dim": 64, - "l1_coef": 0., - "l2_coef": 0., - "positive_components": False, - "output_layer": "nb_shared_disp" - } - }, - - "0.2": { - "genome": "Mus_musculus_GRCm38_97", - "hyper_parameters": { - "latent_dim": 128, - "l1_coef": 0., - "l2_coef": 0., - "positive_components": False, - "output_layer": "nb_shared_disp" - } - }, - - "0.3": { - "genome": "Mus_musculus_GRCm38_97", - "hyper_parameters": { - "latent_dim": 128, - "l1_coef": 0., - "l2_coef": 0., - "positive_components": False, - "output_layer": "nb_const_disp" - } - } -} - -# Load versions from extension if available: -try: - from sfaira_extension.versions.topology_versions.mouse.embedding import LINEAR_TOPOLOGIES as LINEAR_TOPOLOGIES_EXTENSION - LINEAR_TOPOLOGIES = { - **LINEAR_TOPOLOGIES, - **LINEAR_TOPOLOGIES_EXTENSION - } -except ImportError: - pass diff --git a/sfaira/versions/topology_versions/mouse/embedding/nmf.py b/sfaira/versions/topology_versions/mouse/embedding/nmf.py deleted file mode 100644 index 65b2b44a3..000000000 --- a/sfaira/versions/topology_versions/mouse/embedding/nmf.py +++ /dev/null @@ -1,44 +0,0 @@ -NMF_TOPOLOGIES = { - "0.1": { - "genome": "Mus_musculus_GRCm38_97", - "hyper_parameters": { - "latent_dim": 64, - "l1_coef": 0., - "l2_coef": 0., - "positive_components": True, - "output_layer": "nb_shared_disp" - } - }, - - "0.2": { - "genome": "Mus_musculus_GRCm38_97", - "hyper_parameters": { - "latent_dim": 128, - "l1_coef": 0., - "l2_coef": 0., - "positive_components": True, - "output_layer": "nb_shared_disp" - } - }, - - "0.3": { - "genome": "Mus_musculus_GRCm38_97", - "hyper_parameters": { - "latent_dim": 128, - "l1_coef": 0., - "l2_coef": 0., - "positive_components": True, - "output_layer": "nb_const_disp" - } - } -} - -# Load versions from extension if available: -try: - from sfaira_extension.versions.topology_versions.mouse.embedding import NMF_TOPOLOGIES as NMF_TOPOLOGIES_EXTENSION - NMF_TOPOLOGIES = { - **NMF_TOPOLOGIES, - **NMF_TOPOLOGIES_EXTENSION - } -except ImportError: - pass diff --git a/sfaira/versions/topology_versions/mouse/embedding/vae.py b/sfaira/versions/topology_versions/mouse/embedding/vae.py deleted file mode 100644 index 49b45b01f..000000000 --- a/sfaira/versions/topology_versions/mouse/embedding/vae.py +++ /dev/null @@ -1,67 +0,0 @@ -VAE_TOPOLOGIES = { - "0.1": { - "genome": "Mus_musculus_GRCm38_97", - "hyper_parameters": { - "latent_dim": (512, 64, 512), - "l1_coef": 0., - "l2_coef": 0., - "dropout_rate": 0., - "batchnorm": True, - "activation": "selu", - "init": "lecun_normal", - "output_layer": "nb_shared_disp" - } - }, - - "0.2": { - "genome": "Mus_musculus_GRCm38_97", - "hyper_parameters": { - "latent_dim": (256, 128, 64, 128, 256), - "l1_coef": 0., - "l2_coef": 0., - "dropout_rate": 0., - "batchnorm": True, - "activation": "selu", - "init": "lecun_normal", - "output_layer": "nb_shared_disp" - } - }, - - "0.3": { - "genome": "Mus_musculus_GRCm38_97", - "hyper_parameters": { - "latent_dim": (512, 256, 128, 256, 512), - "l1_coef": 0., - "l2_coef": 0., - "dropout_rate": 0., - "batchnorm": True, - "activation": "selu", - "init": "lecun_normal", - "output_layer": "nb_shared_disp" - } - }, - - "0.4": { - "genome": "Mus_musculus_GRCm38_97", - "hyper_parameters": { - "latent_dim": (512, 256, 128, 64, 128, 256, 512), - "l2_coef": 0., - "l1_coef": 0., - "dropout_rate": 0., - "batchnorm": True, - "activation": "selu", - "init": "lecun_normal", - "output_layer": "nb_const_disp" - } - } -} - -# Load versions from extension if available: -try: - from sfaira_extension.versions.topology_versions.mouse.embedding import VAE_TOPOLOGIES as VAE_TOPOLOGIES_EXTENSION - VAE_TOPOLOGIES = { - **VAE_TOPOLOGIES, - **VAE_TOPOLOGIES_EXTENSION - } -except ImportError: - pass diff --git a/sfaira/versions/topology_versions/mouse/embedding/vaeiaf.py b/sfaira/versions/topology_versions/mouse/embedding/vaeiaf.py deleted file mode 100644 index d6dd458b2..000000000 --- a/sfaira/versions/topology_versions/mouse/embedding/vaeiaf.py +++ /dev/null @@ -1,40 +0,0 @@ -VAEIAF_TOPOLOGIES = { - "0.1": { - "genome": "Mus_musculus_GRCm38_97", - "hyper_parameters": { - "latent_dim": (256, 128, 64, 128, 256), - "n_iaf": 2, - "l1_coef": 0., - "l2_coef": 0., - "dropout_rate": 0., - "batchnorm": True, - "activation": "tanh", - "init": "glorot_uniform", - "output_layer": "nb_shared_disp" - } - }, - "0.2": { - "genome": "Mus_musculus_GRCm38_97", - "hyper_parameters": { - "latent_dim": (512, 256, 128, 256, 512), - "n_iaf": 2, - "l1_coef": 0., - "l2_coef": 0., - "dropout_rate": 0., - "batchnorm": True, - "activation": "tanh", - "init": "glorot_uniform", - "output_layer": "nb_shared_disp" - } - } -} - -# Load versions from extension if available: -try: - from sfaira_extension.versions.topology_versions.mouse.embedding import VAEIAF_TOPOLOGIES as VAEIAF_TOPOLOGIES_EXTENSION - VAEIAF_TOPOLOGIES = { - **VAEIAF_TOPOLOGIES, - **VAEIAF_TOPOLOGIES_EXTENSION - } -except ImportError: - pass \ No newline at end of file diff --git a/sfaira/versions/topology_versions/mouse/embedding/vaevamp.py b/sfaira/versions/topology_versions/mouse/embedding/vaevamp.py deleted file mode 100644 index 33e488224..000000000 --- a/sfaira/versions/topology_versions/mouse/embedding/vaevamp.py +++ /dev/null @@ -1,38 +0,0 @@ -VAEVAMP_TOPOLOGIES = { - "0.2": { - "genome": "Mus_musculus_GRCm38_97", - "hyper_parameters": { - "latent_dim": (256, 128, (32, 32), 128, 256), - "l1_coef": 0., - "l2_coef": 0., - "dropout_rate": 0., - "batchnorm": True, - "activation": "tanh", - "init": "glorot_uniform", - "output_layer": "nb_shared_disp" - } - }, - "0.3": { - "genome": "Mus_musculus_GRCm38_97", - "hyper_parameters": { - "latent_dim": (512, 256, (64, 64), 256, 512), - "l1_coef": 0., - "l2_coef": 0., - "dropout_rate": 0., - "batchnorm": True, - "activation": "tanh", - "init": "glorot_uniform", - "output_layer": "nb_shared_disp" - } - } -} - -# Load versions from extension if available: -try: - from sfaira_extension.versions.topology_versions.mouse.embedding import VAEVAMP_TOPOLOGIES as VAEVAMP_TOPOLOGIES_EXTENSION - VAEVAMP_TOPOLOGIES = { - **VAEVAMP_TOPOLOGIES, - **VAEVAMP_TOPOLOGIES_EXTENSION - } -except ImportError: - pass diff --git a/versioneer.py b/versioneer.py index 8c2ece54e..d52552de5 100644 --- a/versioneer.py +++ b/versioneer.py @@ -561,15 +561,15 @@ def git_get_keywords(versionfile_abs): f = open(versionfile_abs, "r") for line in f.readlines(): if line.strip().startswith("git_refnames ="): - mo = re.search(r'=\s*"(.*)"', line) + mo = re.search(r'=\s*"(.*)"', line) # noqa: W605 if mo: keywords["refnames"] = mo.group(1) if line.strip().startswith("git_full ="): - mo = re.search(r'=\s*"(.*)"', line) + mo = re.search(r'=\s*"(.*)"', line) # noqa: W605 if mo: keywords["full"] = mo.group(1) if line.strip().startswith("git_date ="): - mo = re.search(r'=\s*"(.*)"', line) + mo = re.search(r'=\s*"(.*)"', line) # noqa: W605 if mo: keywords["date"] = mo.group(1) f.close()