TP-Final-UDESA: Aplicación de un método basado en un grafo de conocimiento y Knowledge Graph Embeddings (KGE) a la reposición de medicamentos para enfermedades autoinmunes desmielinizantes del sistema nervioso central
En este repositorio se encuentra el código en Python que corresponde al Trabajo Final de la Maestría en Ciencia de Datos de la Universidad de San Andrés, como parte de la presentación final del alumno Ing. Nicolás E. Barrera.
El grafo de conocimiento (Knowledge Graph) aplicado, denominado Drug Repurposing Knowledge Graph (DRKG), surge del trabajo de Vassilis N. Ioannidis y colaboradores:
@misc{drkg2020, author = {Ioannidis, Vassilis N. and Song, Xiang and Manchanda, Saurav and Li, Mufei and Pan, Xiaoqin and Zheng, Da and Ning, Xia and Zeng, Xiangxiang and Karypis, George}, title = {DRKG - Drug Repurposing Knowledge Graph for Covid-19}, howpublished = "\url{https://github.com/gnn4dr/DRKG/}", year = {2020} }
Resumen: Se utilizó un algoritmo de tipo Grafo de conocimiento (Knowledge Graph) en el cual se establecen relaciones entre miles de entidades, entre las que hay enfermedades, genes, drogas, síntomas, etc. Dicho grafo se arma a partir de varias bases de datos públicas de tipo biomédicas (Drugbank, Hetionet, STRING, GNBR, etc). A partir de este esquema es posible inferir nuevo conocimiento en forma de nuevas relaciones entre distintos tipos de entidades, por ejemplo, enfermedad-droga, gen-enfermedad, gen-droga, etc. Esto hace que se pueda utilizar el grafo para drug repurposing, es decir, aplicar drogas existentes y probadas, al menos en fases tempranas, para ciertas afecciones en el tratamiento de otras enfermedades, a fin de ahorrar tanto tiempo como dinero en el desarrollo de drogas completamente nuevas. En nuestro caso, se aplica el grafo mencionado para inferir drogas para el tratamiento de Enfermedades Desmielinizantes Autoinmunes del Sistema Nervioso Central, las cuales se clasifican como enfermedades raras, y entre las que se incluyen la esclerosis múltiple, la neuromielitis óptica, y la mielitis transversa.
Enlace al código en Google Colab: https://drive.google.com/drive/folders/1Ntv8HvWq5w1a4iKlii-oTokJ6T0wmZ0V?usp=drive_link
Paquetes utilizados:
- Python 3.10.12
- pip 24.1.2
- Pytorch 2.2.1 -----> pip install torch==2.2.1 torchvision==0.17.1 torchaudio==2.2.1 --index-url https://download.pytorch.org/whl/cu121
- NumPy 1.26.4
- Pandas 2.2.2
- Random
- csv 1.0
Para poder correr el código en computadora personal, es necesario descargar los archivos que se encuentran en este repositorio más aquellos archivos que se mencionan en el código pero que por cuestiones de tamaño no pudieron subirse a este repositorio. Sin embargo, dichos archivos se encuentran en el repositorio de los autores del DRKG mencionado más arriba.