Skip to main content

🎨 A toolkit to explore the Aignostics OpenTME dataset.

Project description

License CI Dependabot Renovate enabled codecov Ruff Copier Open in molab

🎨 TME Studio

Welcome to TME Studio! This readme explains the content of TME Studio, and the dataset it is built on: OpenTME.

New to TME Studio? Want to try out the notebooks right away without any set up required? Try out our interactive demo via molab. Open the link and start exploring, no fork of the repository is required.

Already familiar with TME Studio? You want to edit the notebooks and adapt them to your needs? Fork the repository in your molab workspace OR move on to the Setup instructions below to work locally.

Content

What is OpenTME?

OpenTME is an open-source project by Aignostics that provides academic researchers with pre-computed quantitative TME (Tumor Micro-Environment) features across H&E-stained Whole-Slide Images (WSIs) from The Cancer Genome Atlas (TCGA). It provides comprehensive spatial outputs characterizing key cellular and tissue components of the TME, including cancer cells, immune cells, and stromal features, as well as their relationships within the tissue architecture.

All outputs were generated using Atlas H&E-TME, Aignostics' AI-powered computational pathology application for the automated identification and quantification of TME features in FFPE H&E-stained tissue samples.

What is TME Studio?

TME Studio contains a set of tutorials and example notebooks to help you explore OpenTME. TME Studio is provided as an entry point into OpenTME, and intended to accelerate research output from the OpenTME data.

Content

The structure of the notebooks in this repo looks as follows:

tme_studio/
|-- src/
    |-- aignostics_tme_studio/
        |-- notebooks/
            |-- demo/
            |-- examples/
            |-- tutorials/
  • Tutorials: Step-by-step notebooks to help users get started, covering foundational tasks such as loading and exploring the dataset, and providing a guide through the OpenTME features.

  • Examples: Concise notebooks demonstrating specific analysis types, such as tumor immune phenotype classification and Kaplan–Meier survival plots. The examples showcase what types of analyses might be possible with OpenTME. Note that these are examples that may be used as a starting point for your own analysis.

  • Demo: contains a demo notebook showcasing all features in OpenTME and some example analyses.

If you are unfamiliar with the OpenTME dataset, we suggest beginning at src/aignostics_tme_studio/notebooks/tutorials/1_getting_started.py. To get a feeling for all the different features you can find in OpenTME, have a look at the demo notebook src/aignostics_tme_studio/notebooks/demo/demo.py.

Setup instructions

To run the TME Studio notebooks, follow these installation instructions:

Prerequisites

Tool Version Purpose
mise latest Task runner & tool version manager
Git latest Version control

Installing mise

mise manages tool versions (Python, uv, trivy, etc.) and runs all project tasks. Install it first:

curl https://mise.run | sh

# activate mise in the current shell and add to shell config for future sessions
echo 'eval "$(mise activate --shims bash)"' >> ~/.bashrc
source ~/.bashrc

For .zsh users:

echo 'eval "$(mise activate --shims zsh)"' >> ~/.zshrc
source ~/.zshrc

For other shells, see mise installation docs.

Verify the installation:

mise --version

# Check path - mise shims should be first in the PATH to ensure the correct tool versions are used
echo $PATH

which uv # Path should contain the `mise/shims/uv` shim, not a system-wide uv installation; please do not install uv in the same directory as `mise` to avoid conflicts

Cloning the repository

Authenticate with GitHub using the Github CLI to clone the repository:

gh auth login

gh repo clone aignostics/tme-studio

cd tme-studio
mise trust
gh auth setup-git

Installation

# Install all dev dependencies, pre-commit hooks, and keyring tooling
mise run install

# Verify everything works
mise run lint

# List all existing mise tasks
mise tasks

This runs uv sync --all-extras to install all dependencies, then sets up pre-commit hooks.

🤗 Hugging Face access

Creating an access token

  1. Make sure you have a Hugging Face account. If you don't have one, you can create one for free at hf.co/join.
  2. Get access to the dataset by going to https://huggingface.co/datasets/Aignostics/OpenTME and clicking "Access"

Note: You will eceive an email from Hugging Face as soon as your access request has been reviewed. This may take a few working days.

Note: No need to download the dataset! The tutorials will show you how to access the dataset via the Hugging Face API.

  1. Create an access token by going to https://huggingface.co/settings/tokens

Authenticating with your token

You can now use your token in two ways:

  1. Enter it in the designated box for it inside each notebook. You will have to repeat this action each time you open a notebook.

  2. Log in via the Hugging Face CLI (recommended). In this case your token will be stored and you won't have to enter your token each time you open a notebook.

    1. Download the Hugging Face CLI
    2. Log into hugging face by calling
hf auth login

and log in with your access token.

Note: If you invalidated your token, you can force logging in with a new token by calling hf auth login \--force

Starting Marimo

You are now ready to explore the notebooks! 🎨

Start marimo by calling the following command and opening the URL in your browser:

uv run marimo edit

Use the marimo UI opened in your browser to navigate to the notebooks.

Alternatively, you can run

uv run marimo edit path/to/notebook.py

to open a specific notebook directly.

Further Reading

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aignostics_tme_studio-0.2.3.tar.gz (6.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aignostics_tme_studio-0.2.3-py3-none-any.whl (6.3 MB view details)

Uploaded Python 3

File details

Details for the file aignostics_tme_studio-0.2.3.tar.gz.

File metadata

  • Download URL: aignostics_tme_studio-0.2.3.tar.gz
  • Upload date:
  • Size: 6.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aignostics_tme_studio-0.2.3.tar.gz
Algorithm Hash digest
SHA256 3887df3ffc9f33f4136edbca06baf5a7640b9be76dcb99f26d11306bf633091f
MD5 34f83487348cc3562b657a59791d2378
BLAKE2b-256 30c97cde14315cd4d0791900753fb77c665d0b705ab5cd7a5654b41dc94ba3a6

See more details on using hashes here.

File details

Details for the file aignostics_tme_studio-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: aignostics_tme_studio-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 6.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aignostics_tme_studio-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 cf2229954af8d43da6990d748c81547c5645ffe12e750e768e69de6f0a45dd48
MD5 2885612dc18bffdc1ce52ae69c8d2270
BLAKE2b-256 daf1cd844e7fac36ee9cd6f2b024475af163a6836179b739e7814af392a79a95

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page