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:
- Parse input structures into an ASE database.
- Represent each structure in a similarity kernel space encoded by SOAP descriptors.
- 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6c8ca50990a928494739fb1c7ada7669e9bea37b5d9502efaf8b7f9cc94ccb0
|
|
| MD5 |
51c7c08d9e4818f8f379352d79eb9c82
|
|
| BLAKE2b-256 |
8a8c0b71124a045e2faa4ad1c724c007b3b6a261246fd63e577b78d500327bfa
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
94d1ecc6bece066d81126c4b8585ce2bbcb3b7ea8e4398c465ed5ef6189f0795
|
|
| MD5 |
21bdc1b0c0f460246a2379abdc3ad2d5
|
|
| BLAKE2b-256 |
b5470c6e345fc32255011a3c00a569bf2ee24c5338abffa765b136feb1b483fc
|