gitmyhub

CardioSafe-benchmark

Python ★ 1 updated 2mo ago

Curated data deposit for the CardioSafe cardiac ion channel benchmark: labels, Tanimoto-controlled splits (tan70 / tan60), and supplementary artifacts for hERG, Nav1.5, Cav1.2, and IKs.

A public dataset and model that predicts whether a drug compound might cause dangerous heart rhythm problems before it reaches a patient.

Pythonsetup: moderatecomplexity 3/5

CardioSafe is a publicly released dataset and AI model designed to help drug researchers predict whether a chemical compound might be harmful to the heart before it ever reaches a patient. The specific danger it addresses is a compound blocking ion channels — tiny protein gates in heart cells that control electrical signals. When these channels are disrupted, particularly ones named hERG, Nav1.5, Cav1.2, and IKs, the result can be dangerous irregular heart rhythms. Testing for this risk early in drug development can prevent costly late-stage failures.

The repository contains three main things. First, a curated label matrix covering 334,444 compounds drawn from ChEMBL 36 and another public dataset, each labeled for whether it blocks one or more of those four ion channels. Second, pre-made data splits designed to prevent a subtle cheating problem called data leakage — where molecules that are very similar to training examples end up in the test set, making a model look better than it actually is. These Tanimoto-controlled splits (tan70 and tan60) use chemical similarity scores to ensure training and test compounds are sufficiently different from each other. Third, a reference deep-learning model with runnable inference code: you can pass in a CSV of molecule structures and get back predictions of blocker probability and potency for each channel.

A CiPA (Cardiac in vitro Proarrhythmia Assay) regulatory framework is part of the context — this benchmark is built around the four ion channels that regulators consider most relevant for cardiac safety screening. The code is written in Python, and the full README is longer than what was provided.

Where it fits