Site Web | Document NeurIPS 2024 AIDrugX | Papier Nature Biologie Chimique 2022 | Document NeurIPS 2021 | Papier long | Mou | Liste de diffusion TDC | Documentation TDC | Directives de contribution
L’intelligence artificielle est sur le point de remodeler la science thérapeutique. Therapeutics Data Commons est une initiative coordonnée visant à accéder et à évaluer les capacités de l'intelligence artificielle à travers les modalités thérapeutiques et les étapes de découverte. Il soutient le développement de méthodes d’IA et vise à établir les bases sur lesquelles les méthodes d’IA sont les plus adaptées aux applications de découverte de médicaments et pourquoi.
Les chercheurs de toutes disciplines peuvent utiliser le TDC pour de nombreuses applications. Les tâches résolvables par l'IA, les ensembles de données prêts pour l'IA et les références organisées dans TDC servent de point de rencontre entre les scientifiques biochimiques et ceux de l'IA. TDC facilite les progrès algorithmiques et scientifiques et accélère le développement, la validation et la transition de méthodes d’apprentissage automatique vers la mise en œuvre biomédicale et clinique.
TDC est une initiative de science ouverte. Nous apprécions les contributions de la communauté.
[1] Velez-Arce, Huang, Li, Lin et al., TDC-2 : Fondation multimodale pour la science thérapeutique, bioRxiv, 2024 [Papier]
[2] Huang, Fu, Gao et al., Fondation d'intelligence artificielle pour la science thérapeutique, Nature Chemical Biology, 2022 [Papier]
[3] Huang, Fu, Gao et al., Therapeutics Data Commons : ensembles de données et tâches d'apprentissage automatique pour la découverte et le développement de médicaments, NeurIPS 2021 [Papier] [Affiche]
[4] Huang et al., Benchmarking Molecular Machine Learning in Therapeutics Data Commons, ELLIS ML4Molecules 2021 [Papier] [Diapositives]
[5] Huang et al., Therapeutics Data Commons : ensembles de données et tâches d'apprentissage automatique pour la découverte et le développement de médicaments, Baylearn 2021 [diapositives] [affiche]
[6] Huang, Fu, Gao et al., Therapeutics Data Commons, NSF-Harvard Symposium on Drugs for Future Pandemics 2020 [#futuretx20] [Diapositives] [Vidéo]
[7] Rencontre du groupe d'utilisateurs TDC, janvier 2022 [Agenda]
[8] Zitnik, Session Machine Learning to Translate the Cancer Genome and Epigenome, réunion annuelle de l'AACR 2022, avril 2022
[9] Zitnik, Few-Shot Learning for Network Biology, discours d'ouverture à l'atelier KDD sur l'exploration de données en bioinformatique
[10] Zitnik, Apprentissage automatique exploitable pour la découverte et le développement de médicaments, Broad Institute, Séminaire sur les modèles, l'inférence et les algorithmes, 2021
[11] Zitnik, Réseaux de neurones graphiques pour les données biomédicales, Apprentissage automatique en biologie computationnelle, 2020
[12] Zitnik, Réseaux de neurones graphiques pour identifier les opportunités de réutilisation des médicaments COVID-19, MIT AI Cures, 2020
Voir ici pour les dernières mises à jour de TDC !
pip
Pour installer les dépendances de l'environnement principal de TDC, utilisez pip
:
pip install PyTDC
Remarque : TDC est en version bêta. Veuillez mettre régulièrement à jour votre copie locale en
pip install PyTDC --upgrade
Les chargeurs de données de base sont légers avec une dépendance minimale à l'égard de packages externes :
numpy, pandas, tqdm, scikit-learn, fuzzywuzzy, seaborn
Nous proposons des tutoriels pour démarrer avec TDC :
Nom | Description |
---|---|
101 | Présentation des chargeurs de données TDC |
102 | Présentation des fonctions de données TDC |
103.1 | Parcourez les ensembles de données TDC sur les petites molécules |
103.2 | Parcourez les ensembles de données TDC Biologics |
104 | Générez 21 prédicteurs ADME ML avec 15 lignes de code |
105 | Oracles de génération de molécules |
106 | Soumission de référence |
DGL | Démo présentée à la réunion du groupe d'utilisateurs du DGL GNN |
U1.1 | Démo présentée lors du premier Meetup du groupe d'utilisateurs TDC |
U1.2 | Démo présentée lors du premier Meetup du groupe d'utilisateurs TDC |
201 | Ressource TDC-2 et API multimodale à cellule unique |
202 | Ressource TDC-2 et PrimeKG |
203 | Ressource TDC-2 et API externes |
204 | Hub modèle TDC-2 |
205 | Tâche de prédiction de falaise de propriété moléculaire TDC-2 |
TDC possède une structure hiérarchique unique à trois niveaux qui, à notre connaissance, constitue la première tentative d'organisation systématique de l'apprentissage automatique à des fins thérapeutiques. Nous organisons le TDC en trois problèmes distincts. Pour chaque problème, nous proposons un ensemble de tâches d'apprentissage . Enfin, pour chaque tâche, nous fournissons une série d' ensembles de données .
Au premier niveau, après avoir observé un large éventail de tâches thérapeutiques, nous catégorisons et résumons trois domaines principaux (c'est-à-dire les problèmes) dans lesquels l'apprentissage automatique peut faciliter les progrès scientifiques, à savoir la prédiction à instance unique, la prédiction à instances multiples et la génération :
single_pred
: prédiction d'une propriété donnée à une entité biomédicale individuelle.multi_pred
: Prédiction d'une propriété étant donné plusieurs entités biomédicales.generation
: Génération de nouvelles entités biomédicales désirables.Le deuxième niveau de la structure TDC est organisé en tâches d'apprentissage. L'amélioration de ces tâches peut aboutir à de nombreuses applications, notamment l'identification de thérapies combinatoires personnalisées, la conception de nouvelles classes d'anticorps, l'amélioration du diagnostic des maladies et la découverte de nouveaux remèdes pour les maladies émergentes.
Enfin, dans le troisième niveau de TDC, chaque tâche est instanciée via plusieurs ensembles de données. Pour chaque ensemble de données, nous proposons plusieurs divisions en ensembles de formation, de validation et de test pour simuler le type de compréhension et de généralisation (par exemple, la capacité du modèle à généraliser à des composés entièrement invisibles ou à résoudre de manière granulaire la réponse du patient à une polythérapie) nécessaire à la transition vers production et mise en œuvre clinique.
TDC fournit un ensemble de flux de travail avec des API intuitives de haut niveau pour les débutants et les experts afin de créer des modèles d'apprentissage automatique en Python. En nous basant sur la structure modularisée « Problème - Tâche d'apprentissage - Ensemble de données » (voir ci-dessus) dans TDC, nous fournissons une API à trois couches pour accéder à n'importe quelle tâche d'apprentissage et ensemble de données. Cette conception hiérarchique de l'API nous permet d'incorporer facilement de nouvelles tâches et de nouveaux ensembles de données.
Pour un exemple concret, pour obtenir l'ensemble de données HIA à partir de la tâche d'apprentissage thérapeutique ADME dans le problème de prédiction à instance unique :
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' )
Vous pouvez voir tous les ensembles de données appartenant à une tâche comme suit :
from tdc . utils import retrieve_dataset_names
retrieve_dataset_names ( 'ADME' )
Voir toutes les tâches thérapeutiques et ensembles de données sur le site TDC !
Pour récupérer la répartition de l'ensemble de données formation/validation/test, vous pouvez taper
data = X ( name = Y )
data . get_split ( seed = 42 )
# {'train': df_train, 'val': df_val, 'test': df_test}
Vous pouvez spécifier la méthode de fractionnement de la fonction, la graine aléatoire et les fractions fractionnées, par exemple data.get_split(method = 'scaffold', seed = 1, frac = [0.7, 0.1, 0.2])
. Consultez la page de partage des données pour plus de détails.
Nous fournissons diverses mesures d'évaluation pour les tâches de TDC, décrites dans la page d'évaluation du modèle sur le site Web. Par exemple, pour utiliser la métrique ROC-AUC, vous pouvez saisir
from tdc import Evaluator
evaluator = Evaluator ( name = 'ROC-AUC' )
score = evaluator ( y_true , y_pred )
TDC fournit de nombreuses fonctions de traitement de données, notamment la transformation d'étiquettes, l'équilibrage des données, l'appariement des données aux graphiques PyG/DGL, l'échantillonnage négatif, l'interrogation de bases de données, etc. Pour l'utilisation des fonctions, consultez notre page de traitement des données sur le site Web de TDC.
Pour les tâches de génération de molécules, nous fournissons plus de 10 oracles pour un apprentissage axé sur les objectifs et sur la distribution. Pour une utilisation détaillée de chaque oracle, veuillez consulter la page oracle sur le site Web. Par exemple, nous souhaitons récupérer l'oracle GSK3Beta :
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]
Chaque ensemble de données dans TDC est une référence, et nous fournissons des ensembles de formation/validation et de test, ainsi que des répartitions de données et des mesures d'évaluation des performances. Pour participer au classement d'un benchmark spécifique, suivez ces étapes :
Utilisez le chargeur de données de référence TDC pour récupérer le test de référence.
Utilisez un ensemble de formation et/ou de validation pour entraîner votre modèle.
Utilisez l'évaluateur de modèle TDC pour calculer les performances de votre modèle sur l'ensemble de test.
Soumettez les performances de l’ensemble de test à un classement TDC.
Comme de nombreux ensembles de données partagent un thème thérapeutique, nous organisons les références en groupes clairement définis, que nous appelons groupes de référence. Les ensembles de données et les tâches au sein d'un groupe de référence sont soigneusement organisés et centrés autour d'un thème (par exemple, TDC contient un groupe de référence pour prendre en charge les prédictions ML des propriétés ADMET). Bien que chaque groupe de référence soit constitué de plusieurs références, il est possible de soumettre séparément les résultats pour chaque référence. Voici le framework de code pour accéder aux 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]}
Pour plus d’informations, visitez ici.
Si vous trouvez Therapeutics Data Commons utile, citez notre article NeurIPS'24 AIDrugX, notre article NeurIPS et notre article Nature Chemical Biology :
@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 est construit sur d'autres projets open source. De plus, veuillez citer le travail original si vous avez utilisé ces ensembles de données/fonctions dans votre recherche. Vous pouvez trouver le document original pour la fonction/l'ensemble de données sur le site Web.
TDC est une initiative communautaire et scientifique ouverte. Pour vous impliquer, rejoignez notre espace de travail Slack et consultez le guide de contribution !
Contactez-nous à [email protected] ou ouvrez un problème GitHub.
De nombreux ensembles de données TDC sont hébergés sur Harvard Dataverse avec l'identifiant persistant suivant https://doi.org/10.7910/DVN/21LKWG. Lorsque Dataverse est en maintenance, les ensembles de données TDC ne peuvent pas être récupérés. Cela arrive rarement ; veuillez vérifier le statut sur le site Web Dataverse.
La base de code TDC est sous licence MIT. Pour l'utilisation d'un ensemble de données individuel, veuillez vous référer à la licence de l'ensemble de données sur le site Web.