Website | NeurIPS 2024 AIDrugX-Papier | Nature Chemical Biology 2022 Paper | NeurIPS 2021 Papier | Langes Papier | Locker | TDC-Mailingliste | TDC-Dokumentation | Beitragsrichtlinien
Künstliche Intelligenz ist bereit, die therapeutische Wissenschaft neu zu gestalten. Therapeutics Data Commons ist eine koordinierte Initiative zum Zugriff auf und zur Bewertung der Fähigkeiten künstlicher Intelligenz in allen therapeutischen Modalitäten und Entdeckungsstadien. Es unterstützt die Entwicklung von KI-Methoden und zielt darauf ab, die Grundlagen dafür zu schaffen, welche KI-Methoden für Anwendungen in der Arzneimittelforschung am besten geeignet sind und warum.
Forscher aller Disziplinen können TDC für zahlreiche Anwendungen nutzen. Durch KI lösbare Aufgaben, KI-fähige Datensätze und kuratierte Benchmarks in TDC dienen als Treffpunkt zwischen Biochemie- und KI-Wissenschaftlern. TDC erleichtert algorithmische und wissenschaftliche Fortschritte und beschleunigt die Entwicklung, Validierung und den Übergang von maschinellen Lernmethoden in die biomedizinische und klinische Umsetzung.
TDC ist eine Open-Science-Initiative. Wir freuen uns über Beiträge aus der Community.
[1] Velez-Arce, Huang, Li, Lin, et al., TDC-2: Multimodal Foundation for Therapeutic Science, bioRxiv, 2024 [Aufsatz]
[2] Huang, Fu, Gao, et al., Artificial Intelligence Foundation for Therapeutic Science, Nature Chemical Biology, 2022 [Aufsatz]
[3] Huang, Fu, Gao, et al., Therapeutics Data Commons: Machine Learning Datasets and Tasks for Drug Discovery and Development, NeurIPS 2021 [Paper] [Poster]
[4] Huang et al., Benchmarking Molecular Machine Learning in Therapeutics Data Commons, ELLIS ML4Molecules 2021 [Aufsatz] [Folien]
[5] Huang et al., Therapeutics Data Commons: Machine Learning Datasets and Tasks for Drug Discovery and Development, Baylearn 2021 [Folien] [Poster]
[6] Huang, Fu, Gao et al., Therapeutics Data Commons, NSF-Harvard Symposium on Drugs for Future Pandemics 2020 [#futuretx20] [Folien] [Video]
[7] TDC User Group Meetup, Januar 2022 [Tagesordnung]
[8] Zitnik, Machine Learning to Translate the Cancer Genome and Epigenome Session, AACR-Jahrestagung 2022, April 2022
[9] Zitnik, Few-Shot Learning for Network Biology, Keynote beim KDD-Workshop zum Data Mining in der Bioinformatik
[10] Zitnik, Umsetzbares maschinelles Lernen für die Arzneimittelforschung und -entwicklung, Broad Institute, Models, Inference & Algorithms Seminar, 2021
[11] Zitnik, Graph Neural Networks for Biomedical Data, Machine Learning in Computational Biology, 2020
[12] Zitnik, Graph Neural Networks for Identifying COVID-19 Drug Repurpose Opportunities, MIT AI Cures, 2020
Hier finden Sie die neuesten Updates in TDC!
pip
verwenden Um die Kernumgebungsabhängigkeiten von TDC zu installieren, verwenden Sie pip
:
pip install PyTDC
Hinweis : TDC befindet sich in der Beta-Version. Bitte aktualisieren Sie Ihre lokale Kopie regelmäßig bis
pip install PyTDC --upgrade
Die Kerndatenlader sind leichtgewichtig und erfordern nur eine minimale Abhängigkeit von externen Paketen:
numpy, pandas, tqdm, scikit-learn, fuzzywuzzy, seaborn
Wir bieten Tutorials für den Einstieg in TDC:
Name | Beschreibung |
---|---|
101 | Einführung von TDC-Datenladern |
102 | Einführung von TDC-Datenfunktionen |
103.1 | Gehen Sie durch die TDC-Datensätze für kleine Moleküle |
103.2 | Gehen Sie durch die Datensätze von TDC Biologics |
104 | Generieren Sie 21 ADME ML-Prädiktoren mit 15 Codezeilen |
105 | Orakel der Molekülgeneration |
106 | Benchmark-Einreichung |
DGL | Demo präsentiert beim DGL GNN User Group Meeting |
U1.1 | Demo beim ersten TDC User Group Meetup vorgestellt |
U1.2 | Demo beim ersten TDC User Group Meetup vorgestellt |
201 | TDC-2-Ressource und multimodale Single-Cell-API |
202 | TDC-2-Ressource und PrimeKG |
203 | TDC-2-Ressource und externe APIs |
204 | TDC-2 Modellnabe |
205 | TDC-2-Aufgabe zur Vorhersage molekularer Eigenschaften von Klippen |
TDC verfügt über eine einzigartige dreistufige hierarchische Struktur, die unseres Wissens den ersten Versuch darstellt, maschinelles Lernen für Therapeutika systematisch zu organisieren. Wir unterteilen TDC in drei verschiedene Probleme . Für jedes Problem stellen wir eine Sammlung von Lernaufgaben bereit. Schließlich stellen wir für jede Aufgabe eine Reihe von Datensätzen bereit.
In der ersten Stufe kategorisieren und abstrahieren wir nach Beobachtung einer Vielzahl therapeutischer Aufgaben drei Hauptbereiche (d. h. Probleme), in denen maschinelles Lernen wissenschaftliche Fortschritte erleichtern kann, nämlich Einzelinstanzvorhersage, Mehrinstanzvorhersage und Generierung:
single_pred
: Vorhersage der Eigenschaft einer bestimmten biomedizinischen Einheit.multi_pred
: Vorhersage von Eigenschaften bei mehreren biomedizinischen Einheiten.generation
: Generation neuer wünschenswerter biomedizinischer Einheiten.Die zweite Ebene der TDC-Struktur ist in Lernaufgaben unterteilt. Die Verbesserung dieser Aufgaben kann zu zahlreichen Anwendungen führen, darunter die Identifizierung personalisierter kombinatorischer Therapien, die Entwicklung neuartiger Antikörperklassen, die Verbesserung der Krankheitsdiagnose und die Suche nach neuen Heilmitteln für neu auftretende Krankheiten.
Schließlich wird in der dritten TDC-Ebene jede Aufgabe über mehrere Datensätze instanziiert. Für jeden Datensatz bieten wir mehrere Aufteilungen in Trainings-, Validierungs- und Testsätze an, um die Art des Verständnisses und der Verallgemeinerung zu simulieren (z. B. die Fähigkeit des Modells, auf völlig unbekannte Verbindungen zu verallgemeinern oder die Reaktion des Patienten auf eine Polytherapie granular aufzulösen), die für den Übergang erforderlich ist Produktion und klinische Umsetzung.
TDC bietet eine Sammlung von Workflows mit intuitiven High-Level-APIs für Anfänger und Experten zum Erstellen von Modellen für maschinelles Lernen in Python. Aufbauend auf der modularisierten Struktur „Problem – Lernaufgabe – Datensatz“ (siehe oben) in TDC bieten wir eine dreischichtige API für den Zugriff auf jede Lernaufgabe und jeden Datensatz. Dieses hierarchische API-Design ermöglicht uns die einfache Integration neuer Aufgaben und Datensätze.
Ein konkretes Beispiel zum Erhalten des HIA-Datensatzes aus der therapeutischen ADME-Lernaufgabe im Einzelinstanzvorhersageproblem:
from tdc . single_pred import ADME
data = ADME ( name = 'HIA_Hou' )
# split into train/val/test with scaffold split methods
split = data . get_split ( method = 'scaffold' )
# get the entire data in the various formats
data . get_data ( format = 'df' )
Sie können alle Datensätze, die zu einer Aufgabe gehören, wie folgt anzeigen:
from tdc . utils import retrieve_dataset_names
retrieve_dataset_names ( 'ADME' )
Alle therapeutischen Aufgaben und Datensätze finden Sie auf der TDC-Website!
Um die Aufteilung des Trainings-/Validierungs-/Testdatensatzes abzurufen, können Sie Folgendes eingeben:
data = X ( name = Y )
data . get_split ( seed = 42 )
# {'train': df_train, 'val': df_val, 'test': df_test}
Sie können die Aufteilungsmethode, den Zufallsstartwert und die Aufteilung von Brüchen der Funktion angeben, z. B. durch data.get_split(method = 'scaffold', seed = 1, frac = [0.7, 0.1, 0.2])
. Weitere Informationen finden Sie auf der Seite zur Datenaufteilung.
Wir stellen verschiedene Bewertungsmetriken für die Aufgaben in TDC bereit, die auf der Seite zur Modellbewertung auf der Website beschrieben werden. Um beispielsweise die ROC-AUC-Metrik zu verwenden, können Sie Folgendes eingeben:
from tdc import Evaluator
evaluator = Evaluator ( name = 'ROC-AUC' )
score = evaluator ( y_true , y_pred )
TDC bietet zahlreiche Datenverarbeitungsfunktionen, darunter Etikettentransformation, Datenausgleich, Paarung von Daten mit PyG/DGL-Diagrammen, negative Stichproben, Datenbankabfragen usw. Informationen zur Funktionsnutzung finden Sie auf unserer Seite zur Datenverarbeitung auf der TDC-Website.
Für Aufgaben zur Molekülgenerierung stellen wir mehr als 10 Orakel für zielorientiertes und verteilendes Lernen bereit. Für detaillierte Informationen zur Verwendung jedes Orakels werfen Sie bitte einen Blick auf die Orakelseite auf der Website. Zum Beispiel möchten wir das GSK3Beta-Orakel abrufen:
from tdc import Oracle
oracle = Oracle ( name = 'GSK3B' )
oracle ([ 'CC(C)(C)....'
'C[C@@H]1....' ,
'CCNC(=O)....' ,
'C[C@@H]1....' ])
# [0.03, 0.02, 0.0, 0.1]
Jeder Datensatz in TDC ist ein Benchmark, und wir stellen dafür Trainings-/Validierungs- und Testsätze sowie Datenaufteilungen und Leistungsbewertungsmetriken bereit. Um an der Bestenliste für einen bestimmten Benchmark teilzunehmen, gehen Sie folgendermaßen vor:
Verwenden Sie den TDC-Benchmark-Datenlader, um den Benchmark abzurufen.
Verwenden Sie Trainings- und/oder Validierungssätze, um Ihr Modell zu trainieren.
Verwenden Sie den TDC-Modellauswerter, um die Leistung Ihres Modells im Testsatz zu berechnen.
Senden Sie die Leistung des Testsatzes an eine TDC-Bestenliste.
Da viele Datensätze ein therapeutisches Thema haben, organisieren wir Benchmarks in sinnvoll definierten Gruppen, die wir als Benchmark-Gruppen bezeichnen. Datensätze und Aufgaben innerhalb einer Benchmark-Gruppe werden sorgfältig kuratiert und auf ein Thema ausgerichtet (z. B. enthält TDC eine Benchmark-Gruppe zur Unterstützung von ML-Vorhersagen der ADMET-Eigenschaften). Obwohl jede Benchmark-Gruppe aus mehreren Benchmarks besteht, ist es möglich, Ergebnisse für jeden Benchmark separat einzureichen. Hier ist das Code-Framework für den Zugriff auf die Benchmarks:
from tdc import BenchmarkGroup
group = BenchmarkGroup ( name = 'ADMET_Group' , path = 'data/' )
predictions_list = []
for seed in [ 1 , 2 , 3 , 4 , 5 ]:
benchmark = group . get ( 'Caco2_Wang' )
# all benchmark names in a benchmark group are stored in group.dataset_names
predictions = {}
name = benchmark [ 'name' ]
train_val , test = benchmark [ 'train_val' ], benchmark [ 'test' ]
train , valid = group . get_train_valid_split ( benchmark = name , split_type = 'default' , seed = seed )
# --------------------------------------------- #
# Train your model using train, valid, test #
# Save test prediction in y_pred_test variable #
# --------------------------------------------- #
predictions [ name ] = y_pred_test
predictions_list . append ( predictions )
results = group . evaluate_many ( predictions_list )
# {'caco2_wang': [6.328, 0.101]}
Weitere Informationen finden Sie hier.
Wenn Sie Therapeutics Data Commons nützlich finden, zitieren Sie unser NeurIPS'24 AIDrugX-Papier, unser NeurIPS-Papier und das Nature Chemical Biology-Papier:
@inproceedings{
velez-arce2024signals,
title={Signals in the Cells: Multimodal and Contextualized Machine Learning Foundations for Therapeutics},
author={Alejandro Velez-Arce and Kexin Huang and Michelle M Li and Xiang Lin and Wenhao Gao and Bradley Pentelute and Tianfan Fu and Manolis Kellis and Marinka Zitnik},
booktitle={NeurIPS 2024 Workshop on AI for New Drug Modalities},
year={2024},
url={https://openreview.net/forum?id=kL8dlYp6IM}
}
@article{Huang2021tdc,
title={Therapeutics Data Commons: Machine Learning Datasets and Tasks for Drug Discovery and Development},
author={Huang, Kexin and Fu, Tianfan and Gao, Wenhao and Zhao, Yue and Roohani, Yusuf and Leskovec, Jure and Coley,
Connor W and Xiao, Cao and Sun, Jimeng and Zitnik, Marinka},
journal={Proceedings of Neural Information Processing Systems, NeurIPS Datasets and Benchmarks},
year={2021}
}
@article{Huang2022artificial,
title={Artificial intelligence foundation for therapeutic science},
author={Huang, Kexin and Fu, Tianfan and Gao, Wenhao and Zhao, Yue and Roohani, Yusuf and Leskovec, Jure and Coley,
Connor W and Xiao, Cao and Sun, Jimeng and Zitnik, Marinka},
journal={Nature Chemical Biology},
year={2022}
}
TDC basiert auf anderen Open-Source-Projekten. Bitte zitieren Sie außerdem die Originalarbeit, wenn Sie diese Datensätze/Funktionen in Ihrer Forschung verwendet haben. Das Originalpapier für die Funktion/den Datensatz finden Sie auf der Website.
TDC ist eine von der Gemeinschaft getragene und offene Wissenschaftsinitiative. Um mitzumachen, treten Sie unserem Slack Workspace bei und schauen Sie sich den Beitragsleitfaden an!
Kontaktieren Sie uns unter [email protected] oder öffnen Sie ein GitHub-Problem.
Viele TDC-Datensätze werden auf Harvard Dataverse mit der folgenden dauerhaften Kennung gehostet: https://doi.org/10.7910/DVN/21LKWG. Wenn Dataverse gewartet wird, können TDC-Datensätze nicht abgerufen werden. Das passiert selten; Bitte überprüfen Sie den Status auf der Dataverse-Website.
Die TDC-Codebasis ist unter der MIT-Lizenz lizenziert. Informationen zur Nutzung einzelner Datensätze finden Sie in der Datensatzlizenz auf der Website.