Skip to main content

TASTET — Tool for Atomistic Structure selection Through Efficient Triage

TASTET is a Python toolkit for selecting representative structures from molecular and materials datasets. At its core it does three things:

  1. Parse input structures into an ASE database.
  2. Represent each structure in a similarity kernel space encoded by SOAP descriptors.
  3. Select a space-filling subset of structures for high-fidelity calculations.

Two secondary tools support this workflow: kernel-PCA visualization of the kernel space, and unsupervised/supervised hyperparameter grid searches that tune the SOAP and kernel representation.

TASTET is built on ASE (structures and databases) and DScribe (SOAP descriptors).

Installation

pip install -e .                # library only
pip install -e ".[examples]"    # also run the bundled examples (installs RDKit)
pip install -e ".[docs]"        # also build the Sphinx docs

Quickstart

import pandas as pd
from ase.io import read
from tastet.soap_utils import compute_soap
from tastet.kernel import compute_kernel
from tastet.selection import select_structures

structures = read("structures.traj", index=":")

# Represent the structures in a SOAP-encoded kernel space
soap_list = compute_soap(structures, r_cut=4.0, n_max=6, l_max=6, sigma=0.1)
K = compute_kernel(soap_list, method="rematch", metric="linear", alpha=0.5)

# Select 10 space-filling representatives directly from the kernel space
meta = pd.DataFrame({"configuration_id": range(1, len(structures) + 1)})
selected, pool, selected_indices = select_structures(K, meta, k=10, method="fps")
print(selected_indices)

Use cases

Two complete, self-contained example pipelines live under examples/:

  • examples/nanoclusters/ — Cu nanoclusters on a surface (single-kernel mode).
  • examples/rh_complex/ — Rh complex conformers (tensor-product mode, with a supervised round-2 workflow).

Each is driven by three scripts — config.py, prepare.py, and run.py — sharing the same CLI steps (db, grid_search, soap, kernel, kpca, select). See the Use Cases docs for worked walkthroughs.

Package structure

tastet/
├── soap_utils.py    # compute_soap — SOAP descriptors
├── kernel.py        # compute_kernel — average / REMatch kernels
├── kpca.py          # fit_kpca — KernelPCA wrapper + KPCAResult dataclass
├── io.py            # database, SOAP, and kernel save/load helpers
├── distance.py      # kernel-induced distance distributions
├── selection.py     # diverse structure selection (FPS / k-medoids)
├── pipeline.py      # shared db/soap/kernel/kpca/grid_search/select steps
├── cka.py           # centered kernel alignment scoring
├── metrics/         # scorer protocol + CKA scorer
├── sweep/           # SOAP × kernel grid search (single- and multi-channel)
└── plotting/        # kPCA scatter, heatmaps, distance plots, styling

License

TASTET is released under the MIT License — see LICENSE. © 2026 Alejandro Cañete-Arché and the CCEM Group.

Download files

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

Source Distribution

tastet-0.1.0.tar.gz (50.7 kB view details)

Uploaded Source

Built Distribution

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

tastet-0.1.0-py3-none-any.whl (58.2 kB view details)

Uploaded Python 3

File details

Details for the file tastet-0.1.0.tar.gz.

File metadata

  • Download URL: tastet-0.1.0.tar.gz
  • Upload date:
  • Size: 50.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.4

File hashes

Hashes for tastet-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b6c8ca50990a928494739fb1c7ada7669e9bea37b5d9502efaf8b7f9cc94ccb0
MD5 51c7c08d9e4818f8f379352d79eb9c82
BLAKE2b-256 8a8c0b71124a045e2faa4ad1c724c007b3b6a261246fd63e577b78d500327bfa

See more details on using hashes here.

File details

Details for the file tastet-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: tastet-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 58.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.4

File hashes

Hashes for tastet-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 94d1ecc6bece066d81126c4b8585ce2bbcb3b7ea8e4398c465ed5ef6189f0795
MD5 21bdc1b0c0f460246a2379abdc3ad2d5
BLAKE2b-256 b5470c6e345fc32255011a3c00a569bf2ee24c5338abffa765b136feb1b483fc

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 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