Skip to main content

Starplast

Starplast: introduction and practical guide in 40 slides

← Back · Next → · Open slide viewer · PDF · PowerPoint

Platforms Python 3.10+ Qt / PyQt6 Latest release GitHub issues GitHub source

PyPI version Total PyPI downloads PyPI downloads over 30 complete days PyPI download rank over 30 days

Tests on main Documentation on main User guide Python API Cite Starplast MIT license spaCR integration

Starplast is a desktop app for exploring gene evidence in Toxoplasma gondii and Plasmodium falciparum. It brings expression, fitness screens, localization, protein features, interactions, and literature annotations into one place.

Use it to look up a gene, investigate hits from a screen, compare groups of genes, and choose candidates for follow-up experiments. The bundled maps contain 8,140 T. gondii genes and 5,720 P. falciparum genes, viewed separately.

User guide · Python API · Dataset catalogue · Changes

Install

Python 3.10 or newer is required. The desktop app needs a display and OpenGL.

pip install starplast
starplast

From a checkout:

git clone https://github.com/EinarOlafsson/starplast.git
cd starplast
pip install -e .
starplast

The default installation runs analyses on the CPU. For an NVIDIA GPU on Linux x86_64 with a CUDA 12 compatible driver:

pip install "starplast[gpu]"

GPU dependencies are large and optional. starplast-install-gpu can also inspect your driver and offer an installation command. macOS and Windows use CPU analysis; the 3D display still uses OpenGL.

The built gene tables and graphs ship with the package. Browsing them works offline. Protein structures are downloaded when requested and cached locally. Rebuilding the bundled data requires the original source datasets.

Explore a screen

  1. Choose the organism under File → Species.
  2. Search for a gene ID. For T. gondii, File → Import data adds your screen results.
  3. Colour and filter the map using the measurements you want to compare.
  4. Click a gene to read its evidence and inspect each type of relationship separately.
  5. Select a group with a lasso or brush, then export the gene list for follow-up.

A rotating gene map with CDPK1 and its connections illuminated

The T. gondii map with CDPK1 (TGME49_301440) selected. The selected gene and its five neighbours emit light; lines show attention-corrected literature co-mention links. Colours show compartments. This animation uses the pre-0.43 layout; newly opened maps use the recorded, balanced feature recipe. View a still image.

Each point is a gene. Its position comes from an embedding of selected features; nearby points have similar inputs, but proximity alone does not demonstrate a shared function or physical interaction. Colours, relationship edges, and the evidence panel provide the context needed to interpret the map. Missing evidence is shown separately from measured values.

The analysis panel lets you change feature sets, build embeddings, cluster genes, and evaluate recovery of labels held out from the input. Search scores help prioritize candidates; they are not experimental validation. See the user guide for controls and analysis settings.

Explore, predict and compare

The Tools menu offers three starting points:

  • Explore a gene searches identifiers, symbols and descriptions, then shows the source evidence.
  • Predict a trait compares held-out predictions before making calls for unlabelled genes. Related genes stay in the same evaluation group; reports retain missing values, calibration status and exact input settings.
  • Compare a screen joins a gene-level CSV/TSV to the existing evidence and keeps unresolved identifiers visible.

The package includes frozen protein sequence representations for 8,064 Toxoplasma proteins and AF3 summary features for 1,210 exactly mapped genes. Sequence features are optional inputs to prediction; local structure files can also be indexed for the structure viewer.

In the 0.43 benchmark, boosted trees with sequence and structure features reached 56.2% localization accuracy across held-out orthogroups. UMAP neighbours performed less well, and several rare classes remained poorly recovered. These are model hypotheses, not experimentally established annotations.

Guided workflows · Local AF3 structures · Protein sequence features

Working with spaCR

spaCR handles microscopy and image-based screen analysis. Its Starplast launcher installs and opens this app in a separate Python environment. Starplast provides a place to explore the biological evidence around those screen results. Export a gene-level table from spaCR and import it into Starplast; launching the app does not transfer results automatically.

Data and reproducibility

Full table of included data and source links →

The catalogue lists all 130 registered datasets and computed layers, with their measurements, coverage, publication references, and links to source data or inputs. Coverage differs by organism and assay; absence from a literature search does not establish that a gene has never been studied.

python -m starplast.paths       # show data locations and missing cache files
python -m starplast.build_graph # rebuild from available source datasets
Variable Purpose
STARPLAST_CACHE Override the directory containing built gene tables and graphs
STARPLAST_DATA Locate raw datasets used for rebuilding
STARPLAST_STATE Override the directory for saved runs, annotations, and downloads

Methods are described in MATERIALS_AND_METHODS.md. HANDOFF.md contains the development history and earlier design decisions. The repository review describes the current architecture and its limitations.

Development

pip install -e ".[dev,docs]"
QT_QPA_PLATFORM=offscreen pytest tests/test_app_smoke.py tests/test_docstrings.py -q
python scripts/build_docs.py

Open docs/site/index.html for the guide and generated API reference. Some tests need source datasets, CUDA, or a working OpenGL context; see development and releases for the release checks.

Develop on nightly and merge checked changes into main. To release, update all package and runtime versions together with python scripts/release.py bump 0.43.0 and update the changelog before merging. A version increase on main triggers checks, builds, PyPI publishing, and a GitHub release. Ordinary merges do not publish. The initial PyPI account setup is described in the release guide.

The source code is distributed under the MIT license. Source datasets and third-party artwork retain their own licenses and attribution.

Metadata

Release files for starplast 0.43.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for starplast 0.43.0
File Size Uploaded
starplast-0.43.0.tar.gz 47.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for starplast 0.43.0
File Interpreter ABI Platform
starplast-0.43.0-py3-none-any.whl Python 3 none any Details

Total release size: 94.6 MB

Release files / starplast-0.43.0.tar.gz

Download URL starplast-0.43.0.tar.gz
Size 47.5 MB
Tags Source
SHA-256 checksum
How to use checksums
18492ea714db61ad1bbc7b5ca2a62824596044ed4228f8edcb1c760ebb1169e5
BLAKE2b-256 checksum
How to use checksums
613b3daa18b9d6184d12bd8a5f38345cea6e014ce82e2d069a287b05da338baf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / starplast-0.43.0-py3-none-any.whl

Download URL starplast-0.43.0-py3-none-any.whl
Size 47.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
a50584af70be393bb61fe66fe591a51ecf116a57fe8b074188d0636892d24227
BLAKE2b-256 checksum
How to use checksums
1f2c4af0277a2f5fcdb1499429037c91bbc5358aff8617d49ba8a008d2c0179e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release history Release notifications | RSS feed

0.49.0

2 release files

0.48.0

2 release files

0.47.0

2 release files

0.46.0

2 release files

0.45.0

2 release files

This release

0.43.0 This release

2 release files

0.42.1

2 release files

0.42.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page