CoolFace
Datasetpublic

swampfireee/AptaBench_dataset

AptaBench AptaBench is a benchmark for aptamer–small-molecule interaction prediction. It contains curated DNA/RNA aptamer–ligand pairs with standardized sequences, canonical SMILES, experimentally grounded active/inactive labels, quantitative affinity values where available, and fixed leakage-aware evaluation splits. This repository is provided for anonymous peer review. Author identities, affiliations, acknowledgements, citation information, and non-anonymous project… See the full description on the dataset page: https://huggingface.co/datasets/swampfireee/AptaBench_dataset.

sourceHugging Facecc-by-4.0updated 9d agoView on Hugging Face
1likes48downloads
Dataset Card

<p align="center"> <img src="logo.png" width="500"> </p>

AptaBench

AptaBench is a benchmark for aptamer–small-molecule interaction prediction. It contains curated DNA/RNA aptamer–ligand pairs with standardized sequences, canonical SMILES, experimentally grounded active/inactive labels, quantitative affinity values where available, and fixed leakage-aware evaluation splits.

This repository is provided for anonymous peer review. Author identities, affiliations, acknowledgements, citation information, and non-anonymous project links will be added after the review process.

Dataset summary

The current release contains 6,289 aptamer–ligand records covering 1,610 unique aptamer sequences and 942 unique ligands from eight curated sources.

The benchmark supports two tasks:

  • Binding classification: predict active vs inactive aptamer–ligand pairs.
  • Affinity regression: predict pKd values for entries with quantitative affinity annotations.

Inactive labels are based on reported non-binding or low-affinity observations, not synthetic random cross-pairing.

Files

  • dataset/AptaBench_dataset.csv: main aptamer–ligand interaction table in CSV format.
  • dataset/AptaBench_dataset.parquet: parquet version of the dataset for efficient loading and processing.
  • dataset/splits/: directory containing fixed leakage-aware evaluation splits.
  • stratified.json: stratified in-distribution 5-fold split.
  • disjoint_molecule.json: molecule-disjoint 5-fold split.
  • disjoint_aptamer.json: aptamer-disjoint 5-fold split.
  • dataset/make_splits.py: script used to generate evaluation splits.

Data fields

  • type: aptamer type, DNA or RNA.
  • sequence: standardized aptamer sequence.
  • canonical_smiles: canonical ligand SMILES.
  • pKd_value: transformed dissociation constant value, where available.
  • label: binary activity label; 1 = active, 0 = inactive or low-affinity.
  • buffer: reported experimental buffer or assay condition.
  • origin: source publication or database record.
  • source: curated source name.

Evaluation splits

Each split file contains five folds with:

  • fold: fold identifier.
  • train_idx: zero-based row indices for training.
  • val_idx: zero-based held-out row indices used for validation or testing.

The indices refer to rows in AptaBench_dataset.csv.

The three protocols are:

  • Stratified: in-distribution evaluation.
  • Molecule-disjoint: held-out ligands do not appear in the corresponding training fold.
  • Aptamer-disjoint: held-out aptamer sequences do not appear in the corresponding training fold.

Random splits are not recommended because they may overestimate generalization by allowing recurring ligands or aptamer sequences across train and held-out data.

Loading example

python
import json
import pandas as pd

data = pd.read_csv("AptaBench_dataset.csv")

with open("stratified.json", "r") as f:
    splits = json.load(f)

fold0 = splits[0]
train_df = data.iloc[fold0["train_idx"]]
test_df = data.iloc[fold0["val_idx"]]

Recommended metrics

For classification, report ROC-AUC, PR-AUC, accuracy, balanced accuracy, F1-score, precision, and recall.

For affinity regression, report R², RMSE, MAE, and Spearman correlation on entries with available pKd_value.