Sitio web | Papel NeurIPS 2024 AIDrugX | Documento de biología química de la naturaleza 2022 | Documento NeurIPS 2021 | Papel largo | flojo | Lista de correo de TDC | Documentación TDC | Pautas de contribución
La inteligencia artificial está preparada para remodelar la ciencia terapéutica. Therapeutics Data Commons es una iniciativa coordinada para acceder y evaluar la capacidad de la inteligencia artificial en todas las modalidades terapéuticas y etapas de descubrimiento. Apoya el desarrollo de métodos de IA y tiene como objetivo establecer la base de qué métodos de IA son más adecuados para aplicaciones de descubrimiento de fármacos y por qué.
Los investigadores de todas las disciplinas pueden utilizar TDC para numerosas aplicaciones. Las tareas que se pueden resolver con IA, los conjuntos de datos listos para la IA y los puntos de referencia seleccionados en TDC sirven como punto de encuentro entre los científicos bioquímicos y de IA. TDC facilita los avances algorítmicos y científicos y acelera el desarrollo, la validación y la transición de métodos de aprendizaje automático hacia la implementación biomédica y clínica.
TDC es una iniciativa de ciencia abierta. Agradecemos las contribuciones de la comunidad.
[1] Vélez-Arce, Huang, Li, Lin, et al., TDC-2: Fundación multimodal para la ciencia terapéutica, bioRxiv, 2024 [Artículo]
[2] Huang, Fu, Gao, et al., Fundación de Inteligencia Artificial para la Ciencia Terapéutica, Biología Química de la Naturaleza, 2022 [Artículo]
[3] Huang, Fu, Gao y otros, Therapeutics Data Commons: conjuntos de datos de aprendizaje automático y tareas para el descubrimiento y el desarrollo de fármacos, NeurIPS 2021 [artículo] [póster]
[4] Huang et al., Evaluación comparativa del aprendizaje automático molecular en Therapeutics Data Commons, ELLIS ML4Molecules 2021 [Documento] [Diapositivas]
[5] Huang et al., Therapeutics Data Commons: conjuntos de datos de aprendizaje automático y tareas para el descubrimiento y desarrollo de fármacos, Baylearn 2021 [Diapositivas] [Póster]
[6] Huang, Fu, Gao et al., Therapeutics Data Commons, Simposio NSF-Harvard sobre medicamentos para futuras pandemias 2020 [#futuretx20] [Diapositivas] [Vídeo]
[7] Reunión del grupo de usuarios de TDC, enero de 2022 [Agenda]
[8] Zitnik, Sesión sobre aprendizaje automático para traducir el genoma y el epigenoma del cáncer, reunión anual de la AACR de 2022, abril de 2022
[9] Zitnik, Aprendizaje de pocas posibilidades para la biología de redes, discurso de apertura en el taller de KDD sobre minería de datos en bioinformática
[10] Zitnik, Aprendizaje automático procesable para el descubrimiento y desarrollo de fármacos, Broad Institute, Seminario de modelos, inferencia y algoritmos, 2021
[11] Zitnik, Graph Neural Networks for Biomedical Data, Aprendizaje automático en biología computacional, 2020
[12] Zitnik, Graficar redes neuronales para identificar oportunidades de reutilización de fármacos COVID-19, MIT AI Cures, 2020
¡Consulte aquí para conocer las últimas actualizaciones en TDC!
pip
Para instalar las dependencias del entorno principal de TDC, use pip
:
pip install PyTDC
Nota : TDC se encuentra en la versión beta. Actualice su copia local periódicamente
pip install PyTDC --upgrade
Los cargadores de datos principales son livianos y dependen mínimamente de paquetes externos:
numpy, pandas, tqdm, scikit-learn, fuzzywuzzy, seaborn
Proporcionamos tutoriales para comenzar con TDC:
Nombre | Descripción |
---|---|
101 | Presentar los cargadores de datos TDC |
102 | Introducir funciones de datos TDC |
103.1 | Recorrido por los conjuntos de datos de moléculas pequeñas de TDC |
103.2 | Recorrido por los conjuntos de datos de TDC Biologics |
104 | Genere 21 predictores ADME ML con 15 líneas de código |
105 | Oráculos de generación de moléculas |
106 | Envío de referencia |
DGL | Demostración presentada en la reunión del grupo de usuarios DGL GNN |
U1.1 | Demostración presentada en la primera reunión del grupo de usuarios de TDC |
U1.2 | Demostración presentada en la primera reunión del grupo de usuarios de TDC |
201 | API de celda única multimodal y recursos TDC-2 |
202 | TDC-2 Recurso y PrimeKG |
203 | Recursos TDC-2 y API externas |
204 | Centro modelo TDC-2 |
205 | Tarea de predicción del acantilado de propiedad molecular TDC-2 |
TDC tiene una estructura jerárquica única de tres niveles que, hasta donde sabemos, es el primer intento de organizar sistemáticamente el aprendizaje automático para la terapéutica. Organizamos TDC en tres problemas distintos. Para cada problema, proporcionamos una colección de tareas de aprendizaje . Finalmente, para cada tarea, proporcionamos una serie de conjuntos de datos .
En el primer nivel, después de observar un gran conjunto de tareas terapéuticas, categorizamos y abstraemos tres áreas principales (es decir, problemas) donde el aprendizaje automático puede facilitar avances científicos, a saber, predicción de instancia única, predicción de instancias múltiples y generación:
single_pred
: Predicción de propiedad dada entidad biomédica individual.multi_pred
: Predicción de propiedad dadas múltiples entidades biomédicas.generation
generación: Generación de nuevas entidades biomédicas deseables.El segundo nivel de la estructura del TDC está organizado en tareas de aprendizaje. La mejora en estas tareas puede dar lugar a numerosas aplicaciones, incluida la identificación de terapias combinatorias personalizadas, el diseño de nuevas clases de anticuerpos, la mejora del diagnóstico de enfermedades y la búsqueda de nuevas curas para enfermedades emergentes.
Finalmente, en el tercer nivel de TDC, cada tarea se instancia a través de múltiples conjuntos de datos. Para cada conjunto de datos, proporcionamos varias divisiones en conjuntos de entrenamiento, validación y prueba para simular el tipo de comprensión y generalización (por ejemplo, la capacidad del modelo para generalizar a compuestos completamente invisibles o para resolver granularmente la respuesta del paciente a una politerapia) necesaria para la transición a producción e implementación clínica.
TDC proporciona una colección de flujos de trabajo con API intuitivas de alto nivel para que tanto principiantes como expertos creen modelos de aprendizaje automático en Python. A partir de la estructura modularizada "Problema - Tarea de aprendizaje - Conjunto de datos" (ver arriba) en TDC, proporcionamos una API de tres capas para acceder a cualquier tarea de aprendizaje y conjunto de datos. Este diseño de API jerárquico nos permite incorporar fácilmente nuevas tareas y conjuntos de datos.
Para un ejemplo concreto, para obtener el conjunto de datos HIA de la tarea de aprendizaje terapéutico ADME en el problema de predicción de instancia única:
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' )
Puede ver todos los conjuntos de datos que pertenecen a una tarea de la siguiente manera:
from tdc . utils import retrieve_dataset_names
retrieve_dataset_names ( 'ADME' )
¡Vea todas las tareas terapéuticas y conjuntos de datos en el sitio web de TDC!
Para recuperar la división del conjunto de datos de entrenamiento/validación/prueba, puede escribir
data = X ( name = Y )
data . get_split ( seed = 42 )
# {'train': df_train, 'val': df_val, 'test': df_test}
Puede especificar el método de división de la función, la semilla aleatoria y dividir fracciones mediante, por ejemplo, data.get_split(method = 'scaffold', seed = 1, frac = [0.7, 0.1, 0.2])
. Consulte la página de división de datos para obtener más detalles.
Proporcionamos varias métricas de evaluación para las tareas en TDC, descritas en la página de evaluación del modelo en el sitio web. Por ejemplo, para utilizar la métrica ROC-AUC, puede escribir
from tdc import Evaluator
evaluator = Evaluator ( name = 'ROC-AUC' )
score = evaluator ( y_true , y_pred )
TDC proporciona numerosas funciones de procesamiento de datos, incluida la transformación de etiquetas, el equilibrio de datos, el emparejamiento de datos con gráficos PyG/DGL, el muestreo negativo, la consulta de bases de datos, etc. Para conocer el uso de la función, consulte nuestra página de procesamiento de datos en el sitio web de TDC.
Para las tareas de generación de moléculas, proporcionamos más de 10 oráculos para el aprendizaje orientado a objetivos y de distribución. Para conocer el uso detallado de cada oráculo, consulte la página del oráculo en el sitio web. Por ejemplo, queremos recuperar el oráculo 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]
Cada conjunto de datos en TDC es un punto de referencia, y proporcionamos capacitación/validación y conjuntos de pruebas para él, junto con divisiones de datos y métricas de evaluación del desempeño. Para participar en la tabla de clasificación de un punto de referencia específico, siga estos pasos:
Utilice el cargador de datos de referencia de TDC para recuperar la referencia.
Utilice el conjunto de entrenamiento y/o validación para entrenar su modelo.
Utilice el evaluador de modelos TDC para calcular el rendimiento de su modelo en el conjunto de prueba.
Envíe el rendimiento del conjunto de prueba a una tabla de clasificación de TDC.
Como muchos conjuntos de datos comparten un tema terapéutico, organizamos los puntos de referencia en grupos claramente definidos, a los que nos referimos como grupos de referencia. Los conjuntos de datos y las tareas dentro de un grupo de referencia se seleccionan cuidadosamente y se centran en un tema (por ejemplo, TDC contiene un grupo de referencia para respaldar las predicciones de ML de las propiedades ADMET). Si bien cada grupo de puntos de referencia consta de varios puntos de referencia, es posible enviar resultados por separado para cada punto de referencia. Aquí está el marco de código para acceder a los puntos de referencia:
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]}
Para obtener más información, visite aquí.
Si encuentra útil Therapeutics Data Commons, cite nuestro artículo NeurIPS'24 AIDrugX, nuestro artículo NeurIPS y el artículo 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 se basa en otros proyectos de código abierto. Además, cite el trabajo original si utilizó estos conjuntos de datos/funciones en su investigación. Puede encontrar el documento original para la función/conjunto de datos en el sitio web.
TDC es una iniciativa de ciencia abierta impulsada por la comunidad. Para participar, únete a nuestro Slack Workspace y consulta la guía de contribución.
Comuníquese con nosotros en [email protected] o abra una incidencia en GitHub.
Muchos conjuntos de datos de TDC están alojados en Harvard Dataverse con el siguiente identificador persistente https://doi.org/10.7910/DVN/21LKWG. Cuando Dataverse está en mantenimiento, los conjuntos de datos de TDC no se pueden recuperar. Eso sucede raramente; verifique el estado en el sitio web de Dataverse.
El código base de TDC tiene la licencia MIT. Para el uso de conjuntos de datos individuales, consulte la licencia del conjunto de datos en el sitio web.