Method Article

Síntesis de conocimiento basado en la evidencia y validación de hipótesis: navegación por las bases de conocimiento biomédico a través de IA explicable y sistemas agentivos

DOI:

10.3791/67525

June 13th, 2025

In This Article

Summary

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

En este artículo se describe RUGGED (Retrieval Under Graph-Guided Explainable disease Distinction), que integra la inferencia del modelo de lenguaje grande (LLM) con la generación aumentada de recuperación (RAG). Extrae evidencia de bases de conocimiento biomédico seleccionadas por expertos y publicaciones biomédicas revisadas por pares para sintetizar nuevos conocimientos a partir de información actualizada, identificar predicciones explicables y procesables, y señalar direcciones prometedoras para investigaciones basadas en hipótesis.

Abstract

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

La escala del conocimiento biomédico, que abarca la literatura científica y las bases de conocimiento seleccionadas, plantea un desafío significativo para los investigadores en el procesamiento, la evaluación y la interpretación efectiva de los hallazgos. Los Grandes Modelos de Lenguaje (LLM) han surgido como herramientas poderosas para navegar por este complejo panorama del conocimiento, pero pueden producir respuestas alucinatorias. La Generación Aumentada de Recuperación (RAG) es esencial para identificar información relevante y mejorar la precisión y la fiabilidad. Este protocolo presenta RUGGED (Retrieval Under Graph-Guided Explainable disease Distinction), un flujo de trabajo integral diseñado para respaldar la integración del conocimiento, mitigar el sesgo y explorar y validar nuevas direcciones de investigación. La información biomédica de publicaciones y bases de conocimiento se sintetiza y analiza a través de análisis de asociación de minería de texto y modelos de predicción de gráficos explicables para descubrir posibles relaciones entre medicamentos y enfermedades. Estos hallazgos, junto con el corpus de texto fuente y las bases de conocimiento, se incorporan a un marco que emplea LLM mejorados con RAG para permitir a los usuarios explorar hipótesis e investigar los mecanismos subyacentes. Un caso de uso clínico demuestra la capacidad de RUGGED para evaluar y recomendar terapias para la miocardiopatía arritmogénica (ACM) y la miocardiopatía dilatada (DCM), analizando los medicamentos prescritos para las interacciones moleculares y posibles nuevas aplicaciones. La plataforma reduce las alucinaciones de LLM, destaca información procesable y agiliza la investigación de nuevas terapias.

Introduction

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

El proceso de exploración de hipótesis en la empresa biomédica es esencial para descubrir nuevas interdependencias molécula-fármaco-enfermedad que subyacen a la patogénesis y para desbloquear el potencial terapéutico 1,2. Este proceso extrae evidencia del conocimiento biomédico existente, sintetizando nuevos hallazgos basados en pistas lógicas incorporadas en la literatura revisada por pares (por ejemplo, >36 informes de PubMed) e integrando evidencia curada de alta confianza arraigada en las bases de conocimiento biomédico. Los avances recientes reducen el laborioso esfuerzo manual mediante la aplicación de la minería de textos en corpra de literatura 3,4,5, así como el empleo de análisis basados en gráficos 6,7,8,9 para sintetizar información relevante y descubrir nuevas vías de investigación. A pesar de estos esfuerzos, los enfoques actuales a menudo no apoyan la comprensión contextual profunda debido a la fragmentación de los datos. Además, carecen de la capacidad de hacer inferencias basadas en la evidencia y de explorar nuevas hipótesis de forma interactiva.

Los desarrollos recientes en los Grandes Modelos de Lenguaje (LLM) arrojan nueva luz sobre estos desafíos, demostrando una comprensión contextual de alto nivel mediante el entrenamiento de grandes cantidades de información en múltiples disciplinas 10,11,12. En el ámbito biomédico, los LLM han demostrado un papel prometedor en la extracción de información del paciente13 y en la respuesta a preguntas clínicas generales14,15, mientras que las aplicaciones en la respuesta a preguntas específicas de dominio16 y las utilidades en la atención clínica primaria17 aún están por explorar. Estos modelos exhiben la capacidad de razonar y hacer inferencias a partir de conjuntos de datos complejos, lo que los hace potencialmente adecuados para realizar la exploración de hipótesis y la síntesis de conocimientos. Además, algunos modelos cuentan con una interacción similar a la de un chat para involucrar a los usuarios y permitir la exploración dinámica de los temas, superando los límites convencionales de los motores de búsqueda basados en consultas y las bases de conocimiento18,19.

Además de estos potenciales, los LLM se enfrentan a desafíos significativos, como la posible alucinación de información, mostrar una confianza injustificada en explicaciones potencialmente inexactas, falta de interpretabilidad y ser susceptibles a contenidos sesgados o inapropiados 20,21,22,23,24. Aplicadas directamente a la orientación de la toma de decisiones clínicas, las respuestas y predicciones derivadas del LLM tienen mucho en juego; Cualquier error puede resultar potencialmente en costosos experimentos de laboratorio o afectar negativamente las trayectorias de salud del paciente25,26. Por lo tanto, las respuestas de LLM confiables y confiables son primordiales, ya que su asesoramiento debe estar firmemente arraigado en la evidencia. En estos escenarios, la interpretabilidad no es un lujo, sino una necesidad para entender por qué estos modelos hacen las predicciones que hacen.

Con este fin, la Generación Aumentada de Recuperación (RAG) es un sistema diseñado para minimizar las alucinaciones de LLM, basando las respuestas de LLM en evidencia para mejorar su precisión y confiabilidad27,28. Este enfoque suele implicar la recuperación de pasajes de texto relevantes, como la integración de un LLM (por ejemplo, ChatGPT) con PubMed, lo que permite la identificación de citas relevantes para las consultas de los usuarios29,30. No limitado al texto, la recuperación en Grafos de Conocimiento (KG) se muestra prometedora en la aplicación a los LLM para tareas como la verificación de hechos 31,32,33, el razonamiento transparente 34,35,36, la codificación del conocimiento37, la mejora de las respuestas a preguntas 38 y la finalización de gráficos de conocimiento39. Al codificar información fáctica de fuentes verificadas, los KG mejoran la precisión, la transparencia y la fiabilidad de las respuestas de LLM. Las técnicas de predicción de enlaces dentro de estos gráficos aprovechan el aprendizaje profundo para identificar relaciones previamente ocultas entre moléculas, medicamentos y enfermedades 5,40,41. Los avances recientes en las predicciones explicables de la IA mejoran aún más la transparencia y la interpretabilidad de estas tareas de predicción de enlaces, lo que brinda un apoyo potencial para interpretar las hipótesis biomédicas como una vía viable para la investigación 42,43,44. Estos avances garantizan que las respuestas generadas por LLM sean equilibradas y se extraigan de la evidencia, lo que aumenta significativamente su aplicabilidad en la empresa biomédica.

Este protocolo presenta RUGGED (Retrieval Under Graph-Guided Explainable disease Distinction) como un flujo de trabajo accesible y eficiente para la exploración y validación de conocimientos terapéuticos clínicos (Figura 1). Este protocolo de flujo de trabajo aprovecha los vastos recursos de la literatura biomédica y las bases de conocimiento para la extracción y validación de información relevante, lo que permite procesos de recuperación adaptados a las consultas (Figura 2). Se emplea un modelo de predicción de inteligencia artificial explicable para descubrir información interpretable y procesable a partir del conocimiento biomédico existente, mejorando así la transparencia y la utilidad de los modelos predictivos. El flujo de trabajo completado agiliza la exploración de gráficos de conocimiento y predicciones de modelos a través de LLM habilitados para RAG, lo que facilita interacciones intuitivas e informadas para investigadores, médicos y profesionales clínicos.

En esta sección se sientan las bases para el protocolo, con los pasos para implementar este enfoque que se describen en la siguiente sección. A continuación, se presenta un caso de uso clínico traslacional para demostrar este enfoque, aplicado a la evaluación de fármacos para interacciones moleculares, así como estrategias terapéuticas para la medicina cardiovascular. Finalmente, se discuten las implicaciones y la discusión de este protocolo.

Protocol

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Este protocolo ha sido desarrollado en Python 3.10 e implementado como un contenedor Docker en Windows. Los comandos proporcionados se basan en el entorno Unix dentro del contenedor Docker. El software está disponible en https://github.com/pinglab-utils/RUGGED. La Tabla 1 presenta una estimación del tiempo computacional para todos los pasos del protocolo.

1. Instalación del software

  1. Instale el software de requisitos previos siguiendo las instrucciones de la Tabla de materiales.
    NOTA: Este protocolo requiere control de versiones, contenedorización, una base de datos de gráficos y servicios de modelo de lenguaje (LLM) de gran tamaño. El control de versiones y la creación de contenedores son opcionales, pero pueden simplificar el proceso de configuración; La base de datos de gráficos y los servicios de LLM pueden ser sustituidos por herramientas similares si el usuario es técnicamente competente.
    1. Configurar redes entre contenedores. Configure los contenedores de Docker para que se conecten a otros servicios del dispositivo (por ejemplo, otros contenedores de Docker). Escriba el siguiente comando en el terminal: docker network create rugged_network
  2. Configure servicios de modelos de lenguaje grandes (LLM). Elija el servicio de LLM adecuado para el caso de uso, entre los servicios comerciales de LLM o los servicios de un modelo local que se ejecuta en el dispositivo del usuario. Asegúrese de especificar un mínimo de un servicio de LLM, aunque los agentes se pueden mezclar y combinar para aprovechar diferentes modelos.
    1. Inicie el servicio de LLM local. Si utiliza Ollama utilizando una interfaz gráfica de usuario (GUI), ejecute el ejecutable de la GUI (por ejemplo, ollama.exe). Si usa Docker, ejecute: 'docker run -name ollama --net rugged_network d -v ollama:/root/.ollama -p 11434:11434 ollama/ollama'. Si usa Docker con aceleración de GPU, asegúrese de que el controlador de GPU esté instalado y ejecute: 'docker run -name ollama --net rugged_network -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 ollama/ollama'.
    2. Inicializar el modelo de LLM local. Determine qué modelo usar entre los modelos compatibles (p. ej., Recomendado: llama3, mistral, mixtral. Si usa Docker, escriba 'docker exec run ollama run ' en la línea de comandos; si usa la GUI de Ollama, escriba 'ollama run ', reemplazando con el nombre del modelo para cada uno.
  3. Inicie el servicio Graph Database. Seleccione un servicio de base de datos de gráficos entre un contenedor Docker, una aplicación de escritorio o un servicio web en línea. Siga las instrucciones de instalación de los Materiales complementarios para completar la configuración.
  4. Configure el entorno RUGGED. Compruebe las imágenes de Docker descargadas escribiendo imágenes de Docker. Asegúrese de que se enumeran todas las imágenes de Docker del paso anterior. Ejecute estos comandos en el terminal para descargar la imagen y el código de Docker de RUGGED:
    docker pull pinglabutils/rugged:latest
    NOTA: git clone https://github.com/pinglab-utils/RUGGED
    1. Configurar el servicio LLM comercial. Si utiliza servicios comerciales de LLM, asegúrese de que la cuenta y la clave API asociada tengan fondos suficientes. Modifique los archivos de configuración de RUGGED editando el archivo de configuración en 'RUGGED/config/openai_key.txt' y agregando la clave API al archivo.
    2. Configurar agentes comerciales. Determine qué agentes de LLM dentro del sistema de RUGGED utilizarán este servicio. Modifique el archivo de configuración en 'RUGGED/config/llm_agents.json' y actualice los campos del agente para especificar la versión del modelo. Modelos recomendados: gpt-3.5-turbo, gpt-4o.
    3. Configurar el servicio de LLM local. Si utiliza un punto de conexión de servicio diferente al punto de conexión predeterminado para Ollama en 'http://localhost:11434', modifique y actualice el campo 'OLLAMA_URI' dentro de los archivos de configuración en 'RUGGED/config/ollama_config.json'.
    4. Configurar agentes de LLM local. Determine qué agentes de LLM dentro del sistema de RUGGED utilizarán este servicio. Modifique el archivo de configuración en 'RUGGED/config/llm_agents.json' y actualice los campos del agente para especificar 'ollama' como el modelo seleccionado.
    5. Configure el punto de conexión de la base de datos de grafos. Si se modifica desde la contraseña y el nombre de usuario predeterminados para Neo4j, edite el archivo de configuración 'RUGGED/config/neo4j_config.json' para actualizar los campos 'uri', 'username' y 'password'.
  5. Inicie el servicio RUGGED ejecutando el comando:
    docker run --name rugged -it --net rugged_network --gpus=all -v \RUGGED\:/data ping-lab-
    utils:RUGGED /bin/bash
    NOTA: Para verificar que los servicios funcionan como se espera, navegue hasta el directorio RUGGED y ejecute los pasos 1.4.1. a través del paso 1.4.4. en esta ventana del terminal.
    1. Verifique la funcionalidad del servicio LLM. Navegue hasta la carpeta de prueba en el directorio RUGGED y ejecute los siguientes comandos para verificar que los servicios de OpenAI y/o Ollama estén funcionando:
      test_openai.py de Python
      test_ollama.py Python
    2. Compruebe la funcionalidad del servicio de reconocimiento de entidades con nombre. Ejecute 'test_ner.py' para comprobar que el código para el reconocimiento de entidades con nombre de las consultas de usuario funciona correctamente.
    3. Verifique la funcionalidad del servicio Neo4j. Ejecute scripts de prueba para verificar que el servicio Neo4j funciona como se espera escribiendo 'python test_neo4j.py'
    4. (Opcional) Verifique el acceso HTTP a la base de datos de grafos. Abra un navegador web y visite la interfaz de usuario de Neo4j.
      NOTA: Para Neo4j en Docker o Desktop, la URL predeterminada es 'http://localhost:7474'. Para Neo4j AuraDB, utilice el enlace proporcionado durante la configuración.
  6. (Opcional) Solucionar problemas. Asegúrese de que los servicios compatibles con RUGGED se verifiquen durante la configuración del software para anticiparse a los problemas. Solucione los problemas de las pruebas incorrectas del paso 1.4. Si existen, siga los mensajes de error notificados por los scripts de prueba que describen los problemas.
    1. Verifique los contenedores de Docker. Confirme que todos los contenedores de Docker se están ejecutando mediante 'docker ps' en el terminal, incluido el contenedor de Docker RUGGED, el contenedor de Docker Neo4j (opcional) y el contenedor de Docker Ollama (opcional).
    2. Verifique los puertos de red. En el caso de los servicios Docker, asegúrese de que los puertos correctos estén abiertos y compruebe los registros con 'docker logs neo4j' o 'docker logs ollama'.
      NOTA: De forma predeterminada, Neo4j usa los puertos 7474 para http y 7687 para su interfaz bolt; Ollama usa el puerto 11434.
    3. Verifique las aplicaciones de servicio. En el caso de las aplicaciones instaladas directamente en el dispositivo (por ejemplo, Ollama y Neo4j Desktop), abra las aplicaciones para confirmar que se están ejecutando.
    4. Verificación de servicios web. Para Neo4j AuraDB, inicie sesión en el sitio web y verifique que el servicio se esté ejecutando.
    5. Verifique las reglas del firewall. Modifique las reglas del firewall del dispositivo para asegurarse de que el firewall no bloquee ningún servicio externo.
    6. Reinicie el dispositivo. Si los problemas no se resuelven, reinicie el dispositivo y vuelva a intentarlo desde el paso 1.5.1.
    7. Abra una incidencia. Si los problemas persisten, abra un problema en el GitHub RUGGED (https://github.com/pinglab-utils/RUGGED).

2. Acceso al conocimiento biomédico y a la información de extracción

NOTA: Estos pasos describen dos canalizaciones de extracción de conocimiento como información subyacente que constituye el sistema de Generación Aumentada de Recuperación (RAG) de RUGGED: (1) la canalización de minería de textos biomédicos CaseOLAP LIFT5 y (2) el flujo de trabajo de construcción de gráficos de conocimiento Know2BIO9. Para utilizar RUGGED con datos personalizados, vaya al paso 4.

  1. Extracto de literatura biomédica. Identifique documentos relevantes y relaciones proteína-enfermedad de alto nivel utilizando CaseOLAP LIFT, un protocolo computacional diseñado para investigar proteínas subcelulares y sus asociaciones con enfermedades a través de la minería de textos de literatura biomédica. Complete este paso para preparar la información necesaria para informar el flujo de trabajo de RAG con información específica de estos informes.
    1. Ejecute el análisis de minería de texto CaseOLAP LIFT. Visite el protocolo JoVE de CaseOLAP LIFT (los pasos 4 y 5 no son necesarios para este análisis).
    2. Mover documentos de texto procesados. Asegúrese de que los documentos biomédicos analizados (pubmed.json) y su texto completo (pmid2full_text_sections.json) del paso 3 estén en la carpeta de datos de CaseOLAP LIFT . Mueva estos archivos a la carpeta de datos RUGGED mediante los siguientes comandos:
      mv /caseolap_lift/caseolap_lift_shared_folder/datos/pubmed.json /ROBUSTO/datos/text_corpus
      mv /caseolap_lift/caseolap_lift_shared_folder/datos/ pmid2full_text_sections.json /ROBUSTO/datos/text_corpus
    3. Mover los resultados de la minería de texto. Verifique que el archivo de gráfico de conocimiento (merged_edge_list.tsv) con las asociaciones proteína-enfermedad se haya generado en la carpeta resultado/kg. Compruebe que el número de asociaciones es el esperado, en función de la configuración seleccionada de los pasos 1 a 3 (consulte la Tabla 2 para ver el ejemplo). Mueva este archivo a la carpeta de datos de RUGGED:
      mv /caseolap_lift/caseolap_lift_shared_folder/resultado/graph_data/ merged_edge_list.tsv /RUGGED/datos/knowledge_graph
  2. Extraer conocimiento biomédico. Ensamble un gráfico de conocimiento biomédico utilizando el software Know2BIO , que integra datos de 30 bases de conocimiento biomédico. Complete este paso para asegurarse de que la información de estas relaciones biomédicas y datos multimodales se procesan para respaldar el flujo de trabajo de RAG posterior.
    1. Clonar el repositorio Know2BIO. Clone el repositorio escribiendo en la línea de comandos, usando el siguiente comando. Navegue hasta el repositorio de Know2BIO.
      https://github.com/Yijia-Xiao/Know2BIO.git de clones de git.
    2. Preparar datos y licencias. Vaya a la carpeta del conjunto de datos y siga las instrucciones del archivo 'README.md'. Complete la creación necesaria de cuentas de usuario para acceder a varios recursos en línea (por ejemplo, tesauro UMLS, Banco de medicamentos).
    3. Descargue los recursos de la base de conocimientos. Ejecute el script 'python create_edge_files.py' y supervise el progreso de la canalización de extracción de gráficos de conocimiento. Asegúrese de que se haya generado el archivo .csv de la carpeta "Know2BIO/dataset/output" que representa las relaciones biomédicas.
    4. Construir grafo de conocimiento. Ejecute el script 'python prepare_kgs.py' para integrar la información extraída en el paso anterior para combinar automáticamente las relaciones extraídas en un gráfico de conocimiento unificado, formateando el gráfico por fuente de datos y dominio.
    5. Verifique la salida. Compruebe que los archivos completados estén presentes en el archivo 'whole_kg.txt' en el directorio 'Know2BIO/dataset/know2bio_dataset'. Confirme que el número de bordes del archivo es el esperado; véase la Tabla 3, que dio lugar a más de 6 millones de bordes. Continúe con el siguiente paso, ya que los pasos restantes en el README de Know2BIO no son necesarios para este análisis.
      NOTA: Las relaciones de Know2BIO en la Tabla 3 fueron fuentes de 31 fuentes, incluyendo ATC (Organización Mundial de la Salud), Bgee45, CTD46, ClinGen47, ClinVar48, DOID49, DisGeNET50, DrugBank51, GRNdb52, Gene Ontology53, HGNC54, Hetionet3, Inxight Drugs55, KEGG56, MeSH57, Mondo58, MyChem.info59, MyDisease.info59, MyGene.info59, OMIM60, PathFX61, PharmGKB62, PubMed, Reactme63, SIDER64, SMPDB65, STRING66, TTD67, UMLS68, Uberon69 y UniProt70.
    6. Mover los resultados del gráfico de conocimiento. Mueva el archivo al '/data/knowledge_graph/' del directorio RUGGED.
      mv /Know2BIO/dataset/know2bio/whole_kg.txt /RUGGED/data/knowledge_graph
  3. Construye un grafo de conocimiento combinado. Integre el gráfico del paso anterior con las relaciones proteína-enfermedad de alto nivel de la minería de texto del paso 2.1 en un único gráfico de conocimiento unificado.
    1. Verifique los resultados en el directorio RUGGED. Compruebe que el archivo de resultados de construcción del gráfico de conocimiento (whole_kg.txt) y los resultados de la relación de minería de texto (merged_edge_list.tsv) se encuentran en el directorio knowledge_graph de la carpeta de datos.
    2. Integrar los resultados. Ejecute el script 'combine_kg_results.py' para fusionar las relaciones y entidades extraídas del análisis de minería de texto y la construcción del gráfico de conocimiento en un único gráfico de conocimiento cohesivo. Siga el comando de ejemplo a continuación:
      python rugged/knowledge_graph/combine_kg_results.py ./data/knowledge_graph/merged_edge_list.tsv ./data/knowledge_graph/whole_kg.txt --output_dir ./data/rugged_knowledge_graph
  4. Filtrar gráfico de conocimiento. (Opcional) Muestree un subconjunto del gráfico de conocimiento que se utilizará para el análisis predictivo. Este paso conserva solo las relaciones estrechamente relacionadas y reduce los recursos computacionales necesarios para ejecutar las predicciones de aprendizaje profundo.
    1. Identifique los nodos relevantes. Determine las entidades biomédicas de interés para el análisis predictivo en el paso 3 revisando el gráfico de conocimiento y señalando los nodos relevantes.
      NOTA: Este protocolo se centra en los ganglios patológicos de la Miocardiopatía Arritmogénica (MCA) y la Miocardiopatía Dilatada (MCD), MeSH_Disease: D019571 y MeSH_Disease: D002311, respectivamente. Los nodos de destino deben adaptarse al caso de uso previsto.
    2. Ejemplo del gráfico de conocimiento. Utilice el script 'filter.py' para extraer el subgrafo del gráfico de conocimiento al que se puede acceder dentro de k-hop de los nodos de interés seleccionados. Siga el comando de ejemplo a continuación, que filtra el gráfico al que se puede acceder dentro de 2 nodos de los nodos de enfermedad seleccionados:
      python ./rugged/knowledge_graph/kg_filter.py --k 2 --disease "MeSH_Disease:D019571,MeSH_Disease:D002311" --input_file ./data/rugged_knowledge_graph/rugged_knowledge_graph_edges.csv —output_dir ./data/rugged_knowledge_graph/filtered_kg/.
      NOTA: El aumento del valor de k-hop (--k) amplía el alcance de los datos dentro del gráfico para el análisis de predicción, pero también exige mayores recursos computacionales.

3. Análisis de predicción explicable

NOTA: Ejecute GNNExplainer44 en un modelo de red convolucional de grafos para predecir posibles bordes (relaciones) en el grafo de conocimiento y proporcionar información sobre asociaciones previamente desconocidas.

  1. Asegúrese de que el contenedor de Docker RUGGED se esté ejecutando. Si la ventana del terminal anterior estaba cerrada, conéctese al contenedor Docker con el comando 'docker exec --it rugged /bin/bash'. Una vez conectado al contenedor Docker, navegue hasta el directorio RUGGED.
  2. Determine los bordes que desea predecir. Proporcione los bordes como pares de nodos en un archivo de .txt (por ejemplo, edges_to_predict.txt). Los bordes ya existentes en el gráfico de conocimiento se filtrarán de las predicciones.
  3. Ejecute el script de análisis de predicción . Especifique los bordes que se van a predecir y el gráfico de conocimiento de entrada como argumentos de línea de comandos para la predicción. Argumentos clave: -p (ruta al archivo de bordes), -i (gráfico de conocimiento de entrada), -o (directorio de salida), -n (predicciones principales, por ejemplo, 5), -k (bordes superiores a visualizar, por ejemplo, 10). Ejemplo de comando:
    python rugged/predictive_analysis/generate_explainable_prediction.py -o salida -n 5 -k 10 -p ./salida/edges_to_predict.txt -i ./datos/rugged_knowledge_graph/filtered_kg/filtered_k2_edges.csv
  4. Evalúe el rendimiento del modelo. Examine la salida del terminal o el archivo "output.log" generado a partir del paso anterior para evaluar el rendimiento del modelo en función de la división del gráfico de conocimiento filtrado en conjuntos de entrenamiento, validación y prueba con una proporción de 85:5:10. Ajuste los argumentos del modelo si el rendimiento no es el esperado, utilizando la Tabla 4 como ejemplo.
  5. Compruebe que los resultados estén en la carpeta de salida. Examine los resultados del modelo en 'prediction_results.csv' y examine las n predicciones principales dentro de la carpeta de salida. Revise las n predicciones principales en la carpeta de salida. Para cada predicción, una visualización de gráfico ilustra los bordes más pertinentes que contribuyen a cada predicción y sus puntuaciones de importancia relativa.
  6. Mueva los resultados del análisis predictivo. Una vez que esté satisfecho con los resultados del análisis predictivo, mueva los resultados a 'datos/predicciones/' del directorio RUGGED.

4. Generación de hipótesis

  1. Conéctese al contenedor de Docker RUGGED.
    1. Asegúrese de que el contenedor de Docker RUGGED se esté ejecutando. Si la ventana del terminal anterior estaba cerrada, conéctese al contenedor Docker.
    2. Navegue hasta el directorio RUGGED. Una vez conectado, escriba cd /workspace/RUGGED para navegar hasta el directorio. Ejecute los pasos restantes en esta ventana de línea de comandos.
    3. Compruebe que los servicios de soporte se estén ejecutando. Si usa Ollama y Neo4j en Docker, asegúrese de que los contenedores se estén ejecutando escribiendo 'docker ps'. Repita el paso 1.7 para verificar que los servicios funcionan correctamente y el paso 1.4 para solucionar problemas si existen.
  2. Preparar los datos de RAG. Prepare el gráfico de conocimiento y el corpus de texto para su recuperación.
    NOTA: Estos datos pueden ser sustituidos por datos definidos por el usuario colocando los datos en los directorios 'data/knowledge_graph/' y 'data/text_corpus/', respectivamente. Estos datos deben seguir el formato del repositorio de GitHub (https://github.com/pinglab-utils/RUGGED/tree/main/data).
    1. Verifique los recursos. Asegúrese de que el corpus de texto esté en el directorio 'data/text_corpus/', que el gráfico de conocimiento con el archivo de predicciones de minería de texto esté en el directorio data/knowledge_graph/ y que los resultados de la predicción estén en el directorio data/predictions/ (de los pasos 2.1.2., 2.3.2. y 3.5. respectivamente).
    2. Rellene la base de datos de grafos. Ejecute el comando 'python ./neo4j/prepare_neo4j.py' para crear los nodos, bordes y características de nodo necesarios.
    3. Indexar el corpus de texto. Ejecute el comando 'python ./text/prepare_corpus.py' para indexar el corpus de texto y permitir que RUGGED recupere documentos de texto relevantes en función de las consultas de los usuarios dividiendo los documentos en secciones de 500 tokens para crear una base de datos vectorial utilizando BART71.
    4. Opcional) Pruebe la recuperación de la base de datos de grafos. Envíe una consulta de prueba a la base de datos de Neo4j para asegurarse de que se rellena correctamente y puede devolver los resultados esperados. Compruebe que la salida coincida con los nodos y las relaciones esperados en la base de datos. Ejemplo de comando:
      python ./test/test_neo4j_retrieval.py --query "MATCH (n) RETURN n LIMIT 5"
    5. (Opcional) Pruebe la recuperación de corpus RAG. Envíe una consulta de prueba al corpus de texto RAG para asegurarse de que el sistema de recuperación de texto está funcionando. Compruebe que los documentos recuperados son relevantes para la consulta y que las incrustaciones funcionan según lo esperado. Ejemplo de comando: python ./test/test_literature_retrieval.py --query "¿Qué documentos están relacionados con el uso de betabloqueantes para tratar enfermedades cardiovasculares?"
  3. Interactúa con RUGGED. Inicie RUGGED en la interfaz de línea de comandos para interactuar con el sistema. Ejecute el comando 'python rugged.py'. Consulte el sistema para recuperar información relevante utilizando comandos específicos para interactuar con el gráfico de conocimiento y el corpus de texto.
    1. Consulte el gráfico de conocimiento. Extraiga información específica del grafo de conocimiento planteando la pregunta en lenguaje natural, comenzando con la palabra clave "consulta". Por ejemplo:
      pregunta "¿Cuáles son los medicamentos que se recetan actualmente clasificados como betabloqueantes, fármacos antiarrítmicos y fármacos antifibróticos?"
    2. Explora las predicciones. Explore los análisis de predicción de enlaces del paso 3 y pida buscar una relación específica, comenzando con la palabra clave "predicción". Por ejemplo:
      predice: "¿Cuál de estos medicamentos podría usarse potencialmente para tratar la MCA y/o la MCD que no se conoce actualmente?"
    3. Explora la recuperación de literatura. Explore documentos relacionados con un tema biomédico específico del paso 2. Plantee la pregunta en lenguaje natural, comenzando con la palabra clave "buscar". Por ejemplo:
      "¿Qué evidencia bibliográfica respalda la afirmación de que estos medicamentos previstos podrían usarse para tratar la MCA y/o la MCD?"
    4. Iterar y refinar la consulta. Responda directamente en la línea de comandos para iterar y refinar las consultas utilizando la interfaz similar a un chat de RUGGED. Consulte las conversaciones anteriores entre el usuario y el sistema para revisar y refinar los cuestionarios y las consultas.
    5. Vuelva a ejecutar los comandos de cifrado en neo4j. (Opcional) Refine los resultados de la consulta del gráfico de conocimiento ajustando el comando Cypher proporcionado que se usa para recuperar la información. Vuelva a ejecutar o modifique este comando visitando la interfaz del navegador Neo4j desde el paso 1.4.4 (por ejemplo, en http://localhost:7474). Pegue y modifique los comandos de cifrado según sea necesario para refinar las consultas y recopilar información más específica.
    6. Resumir la conversación. Revise la información recuperada y resuma la conversación con RUGGED. Escriba la palabra clave summarize para generar un resumen de la interacción en un archivo de texto para su posterior análisis. La respuesta de texto completo se mostrará en el terminal.
    7. Lleve a cabo una revisión humana para mejorar la precisión de la salida inspeccionando y modificando las respuestas del sistema para mejorar la legibilidad y la brevedad antes de finalizar el resumen.
    8. Revisa los registros de chat. Inspeccione el texto completo de la interacción en la carpeta de registro de RUGGED. Conserve estos comandos intermedios y las conversaciones entre los agentes de LLM dentro de RUGGED para la resolución de problemas y la reproducibilidad.
  4. Apagar y reiniciar RUGGED.
    1. Obtenga los identificadores de contenedor de Docker. Utilice el comando 'docker ps' para enumerar todos los contenedores en ejecución y obtener los ID de contenedor para RUGGED, Neo4j y Ollama. Para todos los comandos siguientes, reemplace , y por los identificadores de contenedor reales.
    2. Detenga los contenedores de Docker. Apague RUGGED y los contenedores de Docker asociados con sus identificadores de contenedor.
      Docker Stop
      Docker Stop
      Docker Stop
      NOTA: Se recomienda detener estos contenedores antes de apagar el dispositivo para evitar una posible pérdida de datos y garantizar que todos los procesos se cierren correctamente.
    3. Reinicie los contenedores de Docker. Para reiniciar el sistema RUGGED, use los identificadores de contenedor para iniciar los contenedores de Docker necesarios.
      Inicio de Docker
      Inicio de Docker
      Inicio de Docker
    4. Vuelva a conectarse a la red Docker. Si es necesario, utilice estos comandos para volver a conectar los contenedores a la red.
      Conexión de red Docker rugged_network
      Docker Network Connect rugged_network
      Docker Network Connect rugged_network
    5. Verifique la funcionalidad del servicio. Al reiniciar, repita los pasos 1.4-1.5 para asegurarse de que el software funciona como se espera.

Results

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Estos resultados representativos se obtuvieron siguiendo el procedimiento descrito en este protocolo. Se realizó un análisis de asociación de minería de textos siguiendo el protocolo CaseOLAP LIFT5 con parámetros por defecto, estudiando ocho categorías amplias de enfermedades cardiovasculares72 y su asociación con proteínas mitocondriales (GO:0005739). En total, se determinaron 635.696 informes hasta mayo de 2024 como relevantes para estas enfermedades; Entre ellos, se identificaron 4.655 asociaciones proteína-enfermedad de alta confianza para informar los análisis posteriores. En mayo de 2024 se construyó un gráfico de conocimiento biomédico utilizando el código de software de Know2BIO utilizando la configuración predeterminada9. El grafo de conocimiento resultante consta de 219.450 nodos, 6.323.257 bordes, así como características de nodo para 189.493 nodos con descripciones de nodos, secuencias de proteínas/genes, estructura química, etc. donde estén disponibles. En la Tabla 1 se presenta una estimación del tiempo de cálculo para todos los pasos del protocolo.

El sistema RUGGED se inicializó mediante la construcción de las bases de datos vectoriales para los nodos y características del gráfico de conocimiento, así como para las publicaciones relevantes para CVD. Todos los nodos, bordes y características de nodo del gráfico de conocimiento se procesaron con un tamaño de fragmento de 20 tokens con el modelo de incrustación BART71 para prepararse para la búsqueda vectorial RAG. Del mismo modo, las contribuciones originales y los artículos de revisión se procesaron utilizando un tamaño de fragmento de 500 tokens y el modelo de incrustación BART para prepararse para la búsqueda vectorial RAG. Para la recuperación de literatura, las publicaciones de texto completo de más de 500 tokens se resumieron jerárquicamente en función de las secciones individuales de una publicación mediante el modelo de incrustación de BART. El modelo GPT-4o se utilizó para el resto de agentes LLM en el sistema.

Estos resultados representativos muestran un ejemplo de caso de uso para investigar posibles terapias farmacológicas para la miocardiopatía arritmogénica (ACM) y la miocardiopatía dilatada (DCM), identificadas como MeSH_Disease: D019571 y MeSH_Disease: D002311, respectivamente. En la Figura 3 se describen una serie de preguntas, con ejemplos destacados de respuestas de modelos que se muestran en la Figura 4, y la respuesta completa que se informa en el Archivo Suplementario 1, Sección A. La dirección de la investigación se adaptó a las respuestas validadas por el investigador, elaborando preguntas posteriores basadas en los resultados de las respuestas anteriores. El análisis reveló 11 candidatos a fármacos clasificados como betabloqueantes y antiarrítmicos. Se evaluaron nuevas vías para el tratamiento terapéutico utilizando un modelo de predicción de enlaces de redes neuronales convolucionales de grafos en un subconjunto del grafo de conocimiento completo, incluidos los nodos dentro de 1 salto de los nodos de enfermedad y fármaco del estudio y sus interconexiones, con métricas de evaluación informadas en la Tabla 4. Los 10 bordes principales relevantes para cada predicción del modelo se examinaron más a fondo mediante un módulo de explicabilidad de grafos, GNNExplainer44, para identificar los nodos superiores y los bordes que contribuyen a cada predicción, respectivamente. El costo total del uso de LLM comercial para todos los pasos del protocolo RUGGED para este caso de uso se estima en $1.50 en el momento de escribir este artículo.

figure-results-1
Figura 1: Recuperación bajo el flujo de trabajo de Distinción de enfermedad explicable guiada por gráficos (RUGGED). RUGGED consta de cuatro componentes principales: (1) ensamblar y procesar datos de recursos de origen ético y gestionados profesionalmente (por ejemplo, PubMed y bases de conocimiento biomédico seleccionadas), (2) integrar los hallazgos de la investigación revisada por pares en un gráfico de conocimiento unificado, (3) estructurar los datos de texto y gráficos dentro de los servicios de bases de datos, (4) modelar y predecir relaciones explicables entre entidades biomédicas dentro del gráfico de conocimiento, y (5) recuperar y sintetizar conocimientos a través de un flujo de trabajo de Generación Aumentada de Recuperación (RAG) (Figura 2) para validar relaciones moleculares complejas y explorar predicciones de enfermedades impulsadas por IA. El usuario puede llevar a cabo un paso de revisión humano para mejorar la precisión de la salida. Haga clic aquí para ver una versión más grande de esta figura.

figure-results-2
Figura 2: Arquitectura de recuperación y flujo de trabajo de mitigación de sesgos. El marco de la generación aumentada de recuperación (RAG) emplea varios agentes de LLM, cada uno de los cuales ejecuta tareas específicas para respaldar el acceso a la información relevante en función de la consulta del usuario. Este sistema proporciona pruebas documentadas para el Reasoning Agent basado en GPT orientado al usuario, lo que facilita la interacción entre el usuario y el agente y la síntesis de conocimientos. (1) Recuperación de textos biomédicos: Las contribuciones originales revisadas por pares y los artículos de revisión se filtran en función de su relevancia para comprender las asociaciones de enfermedades. Se construye una base de datos vectorial para la evidencia de texto validada por el autor y el editor ponderada en función de la sección correspondiente de la publicación, respectivamente: 70% Resumen, 10% Resultados, 10% Metadatos y 10% para todas las demás subsecciones. Una búsqueda de palabras clave y una búsqueda de similitud en la incrustación de texto de la consulta del usuario identifican documentos relevantes. Los resúmenes de cada documento se generan utilizando un resumidor basado en BERT, con el Agente Evaluador de Texto basado en GPT refinando la búsqueda para validar la relevancia del documento de consulta. (2) Recuperación de grafos de conocimiento: Un módulo de reconocimiento de entidades con nombre basado en BERT y extracción de relaciones basado en GPT conecta la consulta del usuario con entidades relevantes en el grafo de conocimiento. Una búsqueda de similitud en una base de datos vectorial identifica los nodos y bordes pertinentes. Los datos se recuperan de la base de datos de Neo4j a través de consultas de cifrado generadas por el agente de consulta de cifrado basado en GPT y refinadas por el agente de verificación de consultas. (3) Las respuestas individuales de las canalizaciones de recuperación de texto biomédico o recuperación de gráficos de conocimiento se presentan al agente de razonamiento, que sintetiza una respuesta concisa con un sesgo mínimo a la consulta del usuario. Este sistema está guiado para mantener la precisión e imparcialidad en la presentación de información fáctica. Haga clic aquí para ver una versión más grande de esta figura.

figure-results-3
Figura 3: Caso de uso en síntesis de conocimientos y exploración de hipótesis a travésde cascada de consultas ieras. Esta figura muestra un caso de uso destacado que se centra en una cadena de preguntas y conceptos relacionados que un investigador y/o profesional de la salud podría plantear al sistema RUGGED. Las consultas del usuario se presentan al sistema en orden numérico, con flechas que representan el razonamiento lógico inferido y el razonamiento específico del dominio entre cada pregunta. El sistema recupera de la información implícita y relevante (la fuente se muestra en azul), respondiendo a la consulta. En la Figura 4 se presentan ejemplos de respuestas del sistema. Haga clic aquí para ver una versión más grande de esta figura.

figure-results-4
Figura 4: Caso de uso de la patología cardiovascular: elucidación de la patogenia de las ECV. Se muestran los pares de consulta-respuesta entre el usuario y el sistema RUGGED. En el panel superior izquierdo, las preguntas 1 a 6 recuperan información extrayendo información de la base de datos de gráficos de conocimiento para formular respuestas basadas en evidencia. La pregunta 7 emplea una predicción de enlace gráfico explicable para identificar las terapias con mayor puntuación. La consulta solicita un análisis de predicción, que el sistema ejecuta y procesa automáticamente, y los hallazgos clave se resumen sucintamente. La pregunta 8 evalúa la evidencia bibliográfica del corpus de datos de texto definido que se recupera como evidencia relevante para verificar, validar y corroborar el hallazgo predicho. Las respuestas del sistema se han revisado mediante un proceso de inspección humano y se han modificado para mejorar la legibilidad y la brevedad. Una transcripción completa de estos hallazgos se detalla en el Archivo Complementario 1. Haga clic aquí para ver una versión más grande de esta figura.

PasosDescripciónHora
Acceso al conocimiento biomédico30% total
Elaborar un corpus de literatura biomédicaConéctese a PubMed y PubMed Central, descargue y analice los datos de publicación para las tareas posteriores.20%
Preparar los datos de la base de conocimientosConéctese a las bases de conocimientos biomédicos, descargue y analice la información necesaria para las tareas posteriores.5%
Extracción de información30% total
Análisis de minería de textos CaseOLAP LIFTIdentificar relaciones de alto nivel entre enfermedades y proteínas dentro del corpus de textos biomédicos.25%
Construcción de grafos de conocimientoConecte e integre información dispar de bases de conocimiento biomédico en un gráfico de conocimiento unificado.5%
Análisis de predicción10% total
Red neuronal de grafos de trenEntrene el modelo con los datos del gráfico de conocimiento biomédico para aprender patrones ocultos dentro del gráfico.5%
Análisis del Ranking de RelevanciaAplique el módulo de explicabilidad para resaltar los nodos y bordes más pertinentes para estudiar la enfermedad.2.5%
Predicción de enlacesUtilice el módulo de explicabilidad para identificar los nodos clave y los bordes que contribuyen a los nuevos bordes predichos.2.5%
Generación y/o Validación de Hipótesis30% total
Configuración de la base de datos para la generación aumentada de recuperaciónInicialice la base de datos de grafos para consultar el grafo de conocimiento y la base de datos vectorial para la recuperación de texto.25%
Exploración de hipótesisPermita la interacción del usuario con RUGGED para acceder y examinar información relevante para la exploración de hipótesis.5%

Tabla 1: Flujo de trabajo y pasos de limitación de velocidad. Esta tabla proporciona estimaciones aproximadas del tiempo de cálculo necesario para cada etapa del flujo de trabajo. Las medidas de limitación de velocidad incluyen el acceso, la extracción y la indexación del conocimiento biomédico necesario para la generación aumentada de recuperación. La exploración de hipótesis puede repetirse continuamente sin necesidad de volver a ejecutar los pasos de limitación de velocidad.

Categoría de enfermedadNúmeros de árboles MeSH# PMIDs# Contribuciones Originales# Artículos de revisión
Miocardiopatías (MC)C14.280.238132,531102,33719,942
C14.280.434
Arritmias cardíacas (ARR)C14.280.067125,28692,37413,854
C23.550.073
Defectos cardíacos congénitos (CHD)C14.280.40082,00654,0236,379
Enfermedades de las válvulas cardíacas (VD)C14.280.48472,01650,1195,743
Isquemia miocárdica (IHD)C14.280.647256,986210,04230,223
Enfermedad del Sistema de Conducción Cardíaca (CCD)C14.280.12353,05035,3994,363
Obstrucción del flujo de salida ventricular (VOO)C14.280.95522,24415,5041,686
Otras enfermedades cardíacas (OTH)C14.280.195 C14.280.282 C14.280.383 C14.280.470 C14.280.945 C14.280.459 C14.280.720114,08577,30211,799
Total635,696478,40469,690

Tabla 2: Estadísticas de la literatura biomédica. En esta tabla se detallan las categorías de enfermedades del estudio con sus correspondientes números de árbol MeSH y el número de documentos de PubMed recuperados hasta mayo de 2024, utilizados como corpus para la minería de textos. Un subconjunto de estas publicaciones, que consta de artículos de investigación de contribuciones originales y artículos de revisión, se indexa en una base de datos vectorial para su recuperación por parte de RUGGED durante la generación de hipótesis.

CategoríaNúmero de nodosNúmero de aristasFuente(s) de datos
Anatomía5,049122,533Bgee, PubMed, MeSH, Uberon, 
Proceso biológico27,047108,106Ontología genética
Componente celular4,05752,238Ontología genética
Compuesto27,2783,292,028DrugBank, MeSH, CTD, UMLS, KEGG, TTD, SIDER, Inxight Drugs, Hetionet, PathFX, MyChem.info
Enfermedad21,938311,773PubMed, MeSH, DisGeNET, SIDER, ClinVar, ClinGen, PharmGKB, MyDisease.info, PathFX, UMLS, OMIM, Mondo, DOID, KEGG
Clase de medicamento5,7218,283ATC
Gen29,810943,419HGNC, GRNdb, KEGG, ClinVar, ClinGen,
Función molecular11,15147,086SMPDB, DisGENET, PharmGKB, MyGene.info
Senda52,012234,944Ontología genética
Proteína20,7401,074,809Reactome, KEGG, SMPDB
Reacción14,647128,038UniProt, Reactome, TTD, SMPDB, STRING, HGNC
Subtotal219,4506,323,257Reactoma
Asociaciones de minería de textos84,670
Total219,4586,327,927

Tabla 3: Estadísticas de gráficos de conocimiento. En esta tabla se detallan 11 amplias categorías biomédicas que componen el grafo de conocimiento Know2BIO construido, enriquecido con aristas adicionales derivadas del análisis de minería de textos y el análisis predictivo. El grafo de conocimiento y las predicciones resultantes son gestionados por la base de datos de grafos Neo4j para su recuperación por parte de RUGGED durante la generación de hipótesis.

ExactitudPrecisiónRecordarPuntuación F1AUROCAUPRC
Validación0.71580.66390.87430.75470.84370.8637
Prueba0.7030.63670.94550.7610.89610.9094

Tabla 4: Evaluación de modelos de IA explicables. En esta tabla se informan las métricas de evaluación para la predicción de enlaces de gráficos de conocimiento mediante una red neuronal convolucional de gráficos de dos capas. Las métricas se evaluaron dividiendo los bordes de los gráficos en conjuntos de datos de entrenamiento del 85 %, validación del 5 % y 10 % de prueba. La precisión indica la proporción de predicciones clasificadas correctamente. La precisión informa de la proporción de predicciones positivas correctas entre todas las predicciones positivas. El recuerdo mide la proporción de predicciones positivas correctas entre los bordes positivos reales. La puntuación F1 es el medio armónico de precisión y recuperación, equilibrando las dos métricas. AUROC evalúa la capacidad del modelo para diferenciar entre predicciones positivas y negativas. AUPRC cuantifica el equilibrio entre la precisión y la recuperación en diferentes umbrales. Con todas las métricas, los valores más altos indican un mejor rendimiento del modelo.

Legajo Complementario 1: Este archivo detalla la respuesta completa del modelo de RUGGED y una comparación con GPT-4o. En la sección A se presenta la interacción persona-ordenador completa con RUGGED, ampliando el enfoque de cadena de consulta descrito en la figura 3 y proporcionando la respuesta completa más allá del resumen resaltado en la figura 4. La sección B evalúa las respuestas de GPT-4o sin recuperación frente a las de RUGGED, evaluando atributos como la precisión, la profundidad, la puntuación de confianza, la fiabilidad de las pruebas y el coste. Haga clic aquí para descargar este archivo.

Discussion

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

El protocolo RUGGED aprovecha los modelos de lenguaje modernos con información actualizada para permitir a los investigadores explorar dinámicamente el panorama biomédico en evolución y descubrir nuevos conocimientos. Esta interacción humano-computadora impulsa un proceso innovador que ejemplifica la eficiencia de la máquina (RUGGED) y la experiencia y el juicio del investigador. Este protocolo está diseñado para ejecutarse en la secuencia descrita. El paso 1 detalla la instalación del software. Los pasos 2 y 3 son esenciales para preparar la literatura y los recursos biomédicos, mientras que el paso 4 indexa esta información para la generación aumentada de recuperación y la interacción del usuario con el sistema LLM. Los pasos que requieren mucho tiempo pueden ejecutarse de forma simultánea y/o secuencial. Por ejemplo, la creación del grafo Neo4j (paso 4.2.2) puede comenzar durante el análisis de predicción (paso 3), y la indexación puede comenzar después de construir el grafo de conocimiento (paso 2.3) y la minería de texto (paso 2.1). Estos pasos deben repetirse para obtener el resultado final de estos resultados intermedios. Si bien está diseñado para la recuperación de información biomédica, este protocolo, con pequeñas modificaciones, también puede manejar otros datos de texto y gráficos, como datos internos, notas clínicas o registros médicos electrónicos. Los detalles del formato de datos se encuentran en el paso 4.2.

El funcionamiento de esta plataforma depende de la correcta instalación e interconexión de varias tecnologías, incluidos los modelos de lenguaje, las bases de datos de grafos y las bases de datos vectoriales (véase la tabla de materiales). Para verificar que estos servicios están instalados y conectados correctamente, se proporcionan scripts de prueba en la carpeta 'test' dentro del repositorio de GitHub. Los servicios externos pueden incurrir en costos, con precios sujetos a cambios por parte del proveedor. Estos servicios opcionales también tienen alternativas alojadas localmente, que solo requieren suficientes recursos informáticos. Sin embargo, estas alternativas pueden afectar al rendimiento y/o la conveniencia del modelo, lo que las hace inadecuadas para algunos escenarios de casos de uso.

Con la rápida evolución del panorama de LLM, se publican regularmente nuevos modelos de referencia y modelos específicos de tareas. En el momento de redactar este informe, se eligieron los modelos más adecuados para la tarea. Los usuarios pueden elegir qué LLM utilizar actualizando el archivo de configuración en consecuencia (consulte los pasos 1.3.2-1.3.4). La selección de modelos depende de su relevancia para un caso de uso particular. Por ejemplo, la incorporación de modelos centrados en garantizar que las respuestas de los modelos sean justas, censuradas y libres de discursos de odio 73,74,75,76,77,78, en este flujo de trabajo es esencial por consideraciones éticas. Además, la ingeniería rápida es esencial para guiar el comportamiento confiable y responsable del LLM 79,80,81,82. Las indicaciones elaboradas para el flujo de trabajo RUGGED se adaptan a los modelos empleados y a los casos de uso presentados. Para ajustar las solicitudes para un caso de uso diferente, los usuarios pueden editar las solicitudes dentro del flujo de trabajo de RUGGED en la carpeta 'configuración' dentro del archivo 'prompts.json'.

Si bien los sistemas RAG tienen como objetivo reducir las alucinaciones en los LLM al basar las respuestas en la evidencia, estos modelos aún pueden conducir a información inexacta o respuestas generalmente verdaderas e inespecíficas. En el Archivo Suplementario 1, Sección B, se proporciona una comparación comparativa de RUGGED frente a GPT-4o. Las alucinaciones del modelo suelen producirse cuando la información recuperada supera la ventana de contexto del modelo, de forma análoga a la demencia con pérdida de memoria e incapacidad para localizar el contenido de los datos, lo que da lugar a respuestas inexactas 83,84,85. Elegir un modelo de LLM adecuado ayuda a mitigar este problema. Por ejemplo, GPT-4o tiene un límite de contexto de 128k tokens, significativamente más que el límite de 16k tokens de GPT-3.5 Turbo, aunque a un costo mayor para el usuario. Además, los LLM afinados con el conocimiento de un dominio específico pueden mejorar potencialmente la precisión y especificidad de las respuestas en aplicaciones biomédicas 86,87,88. A pesar de estas medidas, es esencial verificar la información antes de proceder con costosos experimentos de laboratorio húmedo.

RUGGED aprovecha la IA explicable dentro de una canalización RAG para examinar las predicciones de enlaces, identificando relaciones fiables y no descubiertas anteriormente. Mientras que los sistemas RAG tradicionales se basan en la recuperación masiva basada en la similitud, este enfoque conecta la explicabilidad con un aumento de respuesta dirigido. En la Tabla 4 se destaca el sólido desempeño del modelo, demostrando un alto recuerdo (validación: 0,975 prueba: 0,976) y puntuaciones F1 equilibradas (validación: 0,796, prueba: 0,797), lo que indica confiabilidad en la identificación de verdaderos positivos, aunque con una mayor tasa de falsos positivos. La robustez del modelo está respaldada por sus valores AUROC (validación: 0,963, prueba: 0,964) y AUPRC (validación: 0,971, prueba: 0,972). Sin embargo, la precisión (validación: 0,673, prueba: 0,674) podría beneficiarse del ajuste del umbral, la incorporación de características detalladas del nodo o un mejor manejo del desequilibrio de clases. La eficacia del modelo depende en gran medida del grafo de conocimiento de entrada; El sobreajuste es un riesgo con gráficos más pequeños, mientras que los gráficos más grandes exigen mayores recursos computacionales. Sin embargo, cualquier enfoque basado en RAG depende en gran medida de la calidad de los datos subyacentes a la recuperación. Por ejemplo, la construcción de un grafo de conocimiento suele requerir mucho tiempo y trabajo debido al ruido intrínseco del grafo original. Esto requiere un esfuerzo manual para eliminar el ruido y etiquetar, así como costos continuos de mantenimiento y actualización de las bases de datos.

El uso principal de RUGGED es en la síntesis de conocimientos y la exploración de hipótesis. Al investigar varias relaciones ocultas, como los mecanismos de las enfermedades y los tratamientos farmacológicos, RUGGED lleva a cabo de manera eficiente el triaje de la literatura. Para reducir la carga computacional, la mayoría de las aplicaciones se pueden alojar en un servidor (por ejemplo, AWS o servidor computacional) y configurarse para actualizarse periódicamente con la información más reciente. Además, este flujo de trabajo se puede adaptar para lograr aplicaciones específicas del dominio, como servir como plataforma para incluir datos de pacientes con modelos locales para mantener la seguridad, la privacidad y la confidencialidad. Más allá de la investigación biomédica, el diseño modular de RUGGED le permite respaldar tareas de recuperación, inferencia y resumen de información mediante la personalización de la canalización de RAG y la generación de estrategias de ingeniería adaptadas al dominio objetivo. El éxito de la adaptación requiere una consideración cuidadosa de los desafíos específicos del dominio, como el preprocesamiento de diversos formatos de datos y la evaluación de los modelos apropiados para las necesidades específicas de la tarea y el dominio.

Disclosures

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Los autores no tienen nada que revelar.

Acknowledgements

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Los autores desean agradecer al Dr. Alex Bui por su orientación y discusión reflexiva. Además, agradecemos al Dr. Ding Wang por sus útiles discusiones. Este trabajo fue apoyado en parte por NIH 1U54HG012517-01 a P.P., K.W. y W.W.; NIH T32 HL13945 a A.R.P.; Pasantía de Investigación de la Fundación Nacional de Ciencias (NRT) 1829071 a A.R.P.; y el TC Laubisch Endowment to P.P. en UCLA.

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
Hardware/Software: tarjeta gráfica y controlador de softwareNvidiahttps://www.nvidia.comSe recomienda encarecidamente una tarjeta gráfica y su software de controlador asociado para reducir significativamente el tiempo de ejecución para tareas computacionalmente intensivas, como LLM local y análisis predictivos. Para dispositivos equipados con una GPU NVIDIA RTX, descargue e instale los controladores necesarios y CUDA Toolkit desde el sitio web de NVIDIA (https://developer.nvidia.com/cuda-downloads).
Software - Servicio comercial de modelos de lenguaje grandeOpenAIhttps://openai.comRUGGED es compatible con la API de OpenAI para modelos como GPT-3.5 y GPT-4o. Para configurar usando modelos OpenAI, primero obtenga una clave API de OpenAI. Vaya al sitio web de OpenAI (https://openai.com/blog/openai-api) para crear una cuenta, cargar fondos y obtener una clave API. Esta clave API es necesaria para permitir que RUGGED utilice modelos OpenAI. Determine qué agentes de LLM dentro del sistema de RUGGED utilizarán modelos de OpenAI desde su documentación (https://platform.openai.com/docs/models).
NOTA: La API de OpenAI es un servicio pago. En el momento de la publicación, el costo de GPT-4o es de $ 5.00 por 1 millón de tokens de entrada y $ 2.50 por 1 millón de tokens de salida (para obtener más información, visite https://openai.com/pricing).
Software - ContenedorizaciónDockerhttps://www.docker.comDocker ayuda a mantener un entorno de ejecución computacional consistente, agilizando la instalación y ejecución de software en diferentes máquinas. Para instalar Docker, visite el sitio web de Docker (https://www.docker.com/), haga clic en 'Comenzar', descargue e instale la versión adecuada para el sistema operativo. Verifique la instalación escribiendo 'docker --version' en la terminal; La instalación correcta informa de la versión de Docker instalada.
Software - Base de datos de grafosNeo4jhttps://neo4j.comNeo4j es un software de base de datos de grafos que gestiona y consulta eficientemente nodos y relaciones basados en grafos. RUGGED es compatible con Neo4j en múltiples formas: contenedor Docker, Neo4j Desktop o servidor en línea Neo4j AuraDB. Elija la opción que mejor se adapte al caso de uso.
Configuración de Neo4j como contenedor Docker. Ejecute estos comandos para configurar Neo4j en Docker, con la ruta del archivo para la carpeta (por ejemplo, /Users/username/RUGGED) como 'PATH_TO_FOLDER'. Para obtener más detalles sobre la solución de problemas, consulte el sitio web de Neo4j Docker (https://hub.docker.com/_/neo4j).
docker pull neo4j
docker run – nombre neo4j --net rugged_network --publish=7474:7474 --publish=7687:7687 -d -v 'PATH_TO_FOLDER'\neo4j\data:/data neo4j
NOTA: Inicialice Neo4j en Docker por primera vez estableciendo un nombre de usuario y una contraseña. Ejecute el script neo4j_setup.py (por ejemplo, python neo4j_setup.py) o a través de la interfaz web en http://localhost:7474.
Configuración de Neo4j Desktop. Si usa Neo4j Desktop, descargue e instale desde el sitio web de Neo4j (https://neo4j.com/). Cree un nuevo proyecto haciendo clic en "Nuevo", luego haga clic en "Agregar" para crear un nuevo sistema de gestión de bases de datos (DBMS). Seleccione "DBMS local", establezca una contraseña, haga clic en "Crear" y luego haga clic en "Iniciar". Un texto verde "ACTIVO" indica que se está ejecutando.
Configuración de Neo4j AuraDB. Visite el sitio web de Neo4j en (https://neo4j.com/cloud/aura-free/) para crear una cuenta e iniciar sesión. Seleccione "Nueva instancia" para crear una instancia vacía y guardar el URI y la contraseña inicial para acceder a la interfaz bolt (por ejemplo, bolt://myurl.neo4j.com). Haga clic en el botón de reproducción para iniciar la instancia, que mostrará el URI de conexión en el cuadro de información.
NOTA: Neo4j AuraDB ofrece un nivel gratuito de hasta 200.000 nodos y 400.000 relaciones. Para gráficos más grandes, visite Precios de Neo4j (https://neo4j.com/pricing).
Software - Servicio de modelos de lenguaje grande localOllamahttps://ollama.comRUGGED admite el uso de modelos locales que utilizan Ollama (por ejemplo, Llama3). Para habilitarlo, primero instale Ollama en el dispositivo o descargue el contenedor de Docker. Para instalar Ollama, visite el sitio web de Ollama (https://ollama.com/download) y siga las instrucciones de instalación. Para instalar Ollama en Docker, ejecute el siguiente comando:
docker pull ollama/ollama
NOTA: En el momento de la publicación, no hay una versión estable para Ollama en el sistema operativo Windows.
Software - Control de versionesGithttps://www.git-scm.comEl software de control de versiones permite una instalación y actualización eficientes del software. Para instalar Git, visite el sitio web de Git (https://www.git-scm.com/), haga clic en 'Descargas', descargue e instale la versión adecuada para el sistema operativo. Verifique la instalación escribiendo 'git --version' en la terminal; la instalación correcta informará de la versión de Git instalada.

References

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,
  1. Bioinformatics in translational drug discovery. Biosci Rep. 37 (4), BSR20160180(2017).">Wooller, S. K., Benstead-Hume, G., Chen, X., Ali, Y., Pearl, F. M. G. Bioinformatics in translational drug discovery. Biosci Rep. 37 (4), BSR20160180(2017).
  2. Computational approaches streamlining drug discovery. Nature. 616 (7958), 673-685 (2023).">Sadybekov, A. V., Katritch, V. Computational approaches streamlining drug discovery. Nature. 616 (7958), 673-685 (2023).
  3. Systematic integration of biomedical knowledge prioritizes drugs for repurposing. eLife. 6, e26726(2017).">Himmelstein, D. S., et al. Systematic integration of biomedical knowledge prioritizes drugs for repurposing. eLife. 6, e26726(2017).
  4. Text mining and expert curation to develop a database on psychiatric diseases and their genes. Database (Oxford). 2017, bax043(2017).">Gutiérrez-Sacristán, A., et al. Text mining and expert curation to develop a database on psychiatric diseases and their genes. Database (Oxford). 2017, bax043(2017).
  5. A knowledge graph approach to elucidate the role of organellar pathways in disease via biomedical reports. J Vis Exp. (200), e65084(2023).">Pelletier, A. R., et al. A knowledge graph approach to elucidate the role of organellar pathways in disease via biomedical reports. J Vis Exp. (200), e65084(2023).
  6. A knowledge graph to interpret clinical proteomics data. Nat Biotechnol. 40 (5), 692-702 (2022).">Santos, A., et al. A knowledge graph to interpret clinical proteomics data. Nat Biotechnol. 40 (5), 692-702 (2022).
  7. PharmKG: A dedicated knowledge graph benchmark for bomedical data mining. Briefings in Bioinformatics. 22 (4), bbaa344(2021).">Zheng, S., et al. PharmKG: A dedicated knowledge graph benchmark for bomedical data mining. Briefings in Bioinformatics. 22 (4), bbaa344(2021).
  8. Biomedical knowledge graph-optimized prompt generation for large language models. Bioinformatics. 40 (9), btae560(2023).">Soman, K., et al. Biomedical knowledge graph-optimized prompt generation for large language models. Bioinformatics. 40 (9), btae560(2023).
  9. ArXiv. , (2023).">Xiao, Y., et al. Know2BIO: A comprehensive dual-view benchmark for evolving biomedical knowledge graphs. ArXiv. , (2023).
  10. Large language models in medicine. Nat Med. 29 (8), 1930-1940 (2023).">Thirunavukarasu, A. J., et al. Large language models in medicine. Nat Med. 29 (8), 1930-1940 (2023).
  11. ArXiv. , (2023).">Lehman, E., et al. Do we still need clinical language models. ArXiv. , (2023).
  12. Large language models encode clinical knowledge. Nature. 620, 172-180 (2022).">Singhal, K., et al. Large language models encode clinical knowledge. Nature. 620, 172-180 (2022).
  13. ArXiv. , (2022).">Agrawal, M., Hegselmann, S., Lang, H., Kim, Y., Sontag, D. Large language models are few-shot clinical information extractors. ArXiv. , (2022).
  14. Assessing the accuracy and reliability of AI-generated medical responses: An evaluation of the Chat-GPT model. Res Sq. , (2023).">Johnson, D., et al. Assessing the accuracy and reliability of AI-generated medical responses: An evaluation of the Chat-GPT model. Res Sq. , (2023).
  15. Evaluation of ChatGPT on biomedical tasks: A zero-shot comparison with fine-tuned generative transformers. Jahan, I., Laskar, M. T. R., Peng, C., Huang, J. The 22nd Workshop on Biomedical Natural Language Processing and BioNLP Shared Tasks, , 326-336 (2023).
  16. Assessing the accuracy of responses by the language model ChatGPT to questions regarding bariatric surgery. Obes Surg. 33 (6), 1790-1796 (2023).">Samaan, J. S., et al. Assessing the accuracy of responses by the language model ChatGPT to questions regarding bariatric surgery. Obes Surg. 33 (6), 1790-1796 (2023).
  17. Trialling a large language model (ChatGPT) in general practice with the applied knowledge test: observational study demonstrating opportunities and limitations in primary care. JMIR Med Educ. 9, e46599(2023).">Thirunavukarasu, A. J., et al. Trialling a large language model (ChatGPT) in general practice with the applied knowledge test: observational study demonstrating opportunities and limitations in primary care. JMIR Med Educ. 9, e46599(2023).
  18. ArXiv. , (2023).">Sun, W., et al. Is ChatGPT Good at search? Investigating large language models as re-ranking agents. ArXiv. , (2023).
  19. ArXiv. , (2023).">Xu, R., Feng, Y., Chen, H. ChatGPT vs. Google: A comparative study of search performance and user experience. ArXiv. , (2023).
  20. TruthfulQA: Measuring how models mimic human falsehoods. Lin, S., Hilton, J., Evans, O. Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers, , 3214-3252 (2022).
  21. ArXiv. , (2023).">Manakul, P., Liusie, A., Gales, M. J. F. SelfCheckGPT: Zero-resource black-box hallucination detection for generative large language models. ArXiv. , (2023).
  22. FActScore: Fine-grained atomic evaluation of factual precision in long form text generation. Min, S., et al. Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing, , 12076-12100 (2023).
  23. Is ChatGPT fair for recommendation? Evaluating fairness in large language model recommendation. Proceedings of the 17th ACM Conference on Recommender Systems. , 993-999 (2023).">Zhang, J., et al. Is ChatGPT fair for recommendation? Evaluating fairness in large language model recommendation. Proceedings of the 17th ACM Conference on Recommender Systems. , 993-999 (2023).
  24. Building an ethical and trustworthy biomedical AI ecosystem for the translational and clinical integration of foundation models. Bioengineering. 11 (10), 984(2024).">Sankar, B. S., et al. Building an ethical and trustworthy biomedical AI ecosystem for the translational and clinical integration of foundation models. Bioengineering. 11 (10), 984(2024).
  25. ChatGPT and Other large language models are double-edged swords. Radiology. 307 (2), e230163(2023).">Shen, Y., et al. ChatGPT and Other large language models are double-edged swords. Radiology. 307 (2), e230163(2023).
  26. Ethics of large language models in medicine and medical research. Lancet Digit Health. 5 (6), e333-e335 (2023).">Li, H., et al. Ethics of large language models in medicine and medical research. Lancet Digit Health. 5 (6), e333-e335 (2023).
  27. ArXiv. , (2020).">Lewis, P., et al. Retrieval-augmented generation for knowledge-intensive NLP tasks. ArXiv. , (2020).
  28. ArXiv. , (2023).">Gao, Y., et al. Retrieval-augmented generation for large language models: A survey. ArXiv. , (2023).
  29. PubTator central: Automated concept annotation for biomedical full text articles. Nucleic Acids Res. 47 (W1), W587-W593 (2019).">Wei, C. -H., Allot, A., Leaman, R., Lu, Z. PubTator central: Automated concept annotation for biomedical full text articles. Nucleic Acids Res. 47 (W1), W587-W593 (2019).
  30. ArXiv. , (2024).">Wei, C. -H., et al. PubTator 3.0: An AI-powered literature resource for unlocking biomedical knowledge. ArXiv. , (2024).
  31. Comparative Reasoning for knowledge graph fact checking. Liu, L., Ji, H., Xu, J., Tong, H. 2022 IEEE International Conference on Big Data (Big Data), , 2309-2312 (2022).
  32. Knowledge Graph reasoning and its applications. Liu, L., Tong, H. Proceedings of the 29th ACM SIGKDD Conference on Knowledge Discovery and Data Mining, , 5813-5814 (2023).
  33. ArXiv. , (2024).">Liu, L., et al. Logic query of thoughts: Guiding large language models to answer complex logic queries with knowledge graphs. ArXiv. , (2024).
  34. Barack's wife hillary: Using Knowledge graphs for fact-aware language modeling. Logan, R., Liu, N. F., Peters, M. E., Gardner, M., Singh, S. Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics, , 5962-5971 (2019).
  35. ArXiv. , (2024).">Sun, J., et al. Think-on-graph: Deep and responsible reasoning of large language model on knowledge graph. ArXiv. , (2024).
  36. ArXiv. , (2024).">Wen, Y., Wang, Z., Sun, J. MindMap: Knowledge Graph prompting sparks graph of thoughts in large language models. ArXiv. , (2024).
  37. ArXiv. , (2020).">Wang, C., Liu, X., Song, D. Language models are open knowledge graphs. ArXiv. , (2020).
  38. QA-GNN: Reasoning with Language Models and Knowledge Graphs for Question Answering. Yasunaga, M., Ren, H., Bosselut, A., Liang, P., Leskovec, J. Proceedings of the 2021 Conference of the North American Chapter of the, , 535-546 (2021).
  39. SimKGC: Simple contrastive knowledge graph completion with pre-trained language models. Wang, L., Zhao, W., Wei, Z., Liu, J. Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers, , 4281-4294 (2022).
  40. FLAIRS. 36, (2023).">Lazar, A. Graph neural networks for link prediction. FLAIRS. 36, (2023).
  41. ArXiv. , (2018).">Zhang, M., Chen, Y. Link prediction based on graph neural networks. ArXiv. , (2018).
  42. XGNN: Towards model-level explanations of graph neural networks. Yuan, H., Tang, J., Hu, X., Ji, S. Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, , (2020).
  43. CFGExplainer: Explaining graph neural network-based malware classification from control flow graphs. Herath, J. D., Wakodikar, P., Yang, P., Yan, G. 2022 52nd Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), , 172-184 (2022).
  44. GNNExplainer: Generating explanations for graph neural networks. Adv Neural Inf Process Syst. 32, 9240-9251 (2019).">Ying, R., Bourgeois, D., You, J., Zitnik, M., Leskovec, J. GNNExplainer: Generating explanations for graph neural networks. Adv Neural Inf Process Syst. 32, 9240-9251 (2019).
  45. The Bgee suite: Integrated curated expression atlas and comparative transcriptomics in animals. Nucleic Acids Res. 49 (D1), D831-D847 (2021).">Bastian, F. B., et al. The Bgee suite: Integrated curated expression atlas and comparative transcriptomics in animals. Nucleic Acids Res. 49 (D1), D831-D847 (2021).
  46. Comparative Toxicogenomics Database (CTD): Update 2023. Nucleic Acids Res. 51 (D1), D1257-D1262 (2023).">Davis, A. P., et al. Comparative Toxicogenomics Database (CTD): Update 2023. Nucleic Acids Res. 51 (D1), D1257-D1262 (2023).
  47. ClinGen - The clinical genome resource. N Engl J Med. 372 (23), 2235-2242 (2015).">Rehm, H. L., et al. ClinGen - The clinical genome resource. N Engl J Med. 372 (23), 2235-2242 (2015).
  48. ClinVar: Improvements to accessing data. Nucleic Acids Res. 48 (D1), D835-D844 (2020).">Landrum, M. J., et al. ClinVar: Improvements to accessing data. Nucleic Acids Res. 48 (D1), D835-D844 (2020).
  49. The human disease ontology 2022 update. Nucleic Acids Res. 50 (D1), D1255-D1261 (2022).">Schriml, L. M., et al. The human disease ontology 2022 update. Nucleic Acids Res. 50 (D1), D1255-D1261 (2022).
  50. The DisGeNET cytoscape app: Exploring and visualizing disease genomics data. Comput Struct Biotechnol J. 19, 2960-2967 (2021).">Piñero, J., Saüch, J., Sanz, F., Furlong, L. I. The DisGeNET cytoscape app: Exploring and visualizing disease genomics data. Comput Struct Biotechnol J. 19, 2960-2967 (2021).
  51. DrugBank 6.0: The DrugBank knowledgebase for 2024. Nucleic Acids Res. 52 (D1), D1265-D1275 (2024).">Knox, C., et al. DrugBank 6.0: The DrugBank knowledgebase for 2024. Nucleic Acids Res. 52 (D1), D1265-D1275 (2024).
  52. GRNdb: Decoding the gene regulatory networks in diverse human and mouse conditions. Nucleic Acids Res. 49 (D1), D97-D103 (2021).">Fang, L., et al. GRNdb: Decoding the gene regulatory networks in diverse human and mouse conditions. Nucleic Acids Res. 49 (D1), D97-D103 (2021).
  53. The Gene Ontology resource: enriching a GOld mine. Nucleic Acids Res. 49 (D1), D325-D334 (2021).">Gene Ontology Consortium. The Gene Ontology resource: enriching a GOld mine. Nucleic Acids Res. 49 (D1), D325-D334 (2021).
  54. Genenames.org: The HGNC resources in 2023. Nucleic Acids Res. 51 (D1), D1003-D1009 (2023).">Seal, R. L., et al. Genenames.org: The HGNC resources in 2023. Nucleic Acids Res. 51 (D1), D1003-D1009 (2023).
  55. NCATS Inxight Drugs: A comprehensive and curated portal for translational research. Nucleic Acids Res. 50 (D1), D1307-D1316 (2022).">Siramshetty, V. B., et al. NCATS Inxight Drugs: A comprehensive and curated portal for translational research. Nucleic Acids Res. 50 (D1), D1307-D1316 (2022).
  56. KEGG: New perspectives on genomes, pathways, diseases and drugs. Nucleic Acids Res. 45 (D1), D353-D361 (2017).">Kanehisa, M., Furumichi, M., Tanabe, M., Sato, Y., Morishima, K. KEGG: New perspectives on genomes, pathways, diseases and drugs. Nucleic Acids Res. 45 (D1), D353-D361 (2017).
  57. Medical Subject Headings (MeSH). Bull Med Libr Assoc. 88 (3), 265-266 (2000).">Lipscomb, C. E. Medical Subject Headings (MeSH). Bull Med Libr Assoc. 88 (3), 265-266 (2000).
  58. medRxiv. , (2022).">Vasilevsky, N. A., et al. Mondo: Unifying diseases for the world, by the world. medRxiv. , (2022).
  59. BioThings SDK: A toolkit for building high-performance data APIs in biomedical research. Bioinformatics. 38 (7), 2077-2079 (2022).">Lelong, S., et al. BioThings SDK: A toolkit for building high-performance data APIs in biomedical research. Bioinformatics. 38 (7), 2077-2079 (2022).
  60. OMIM.org: Leveraging knowledge across phenotype-gene relationships. Nucleic Acids Res. 47 (D1), D1038-D1043 (2019).">Amberger, J. S., Bocchini, C. A., Scott, A. F., Hamosh, A. OMIM.org: Leveraging knowledge across phenotype-gene relationships. Nucleic Acids Res. 47 (D1), D1038-D1043 (2019).
  61. PathFX provides mechanistic insights into drug efficacy and safety for regulatory review and therapeutic development. PLoS Comput Biol. 14 (12), e1006614(2018).">Wilson, J. L., et al. PathFX provides mechanistic insights into drug efficacy and safety for regulatory review and therapeutic development. PLoS Comput Biol. 14 (12), e1006614(2018).
  62. PharmGKB, an Integrated resource of pharmacogenomic knowledge. Curr Protoc. 1 (8), e226(2021).">Gong, L., Whirl-Carrillo, M., Klein, T. E. PharmGKB, an Integrated resource of pharmacogenomic knowledge. Curr Protoc. 1 (8), e226(2021).
  63. The reactome pathway knowledgebase 2022. Nucleic Acids Res. 50 (D1), D687-D692 (2022).">Gillespie, M., et al. The reactome pathway knowledgebase 2022. Nucleic Acids Res. 50 (D1), D687-D692 (2022).
  64. The SIDER database of drugs and side effects. Nucleic Acids Res. 44 (D1), D1075-D1079 (2016).">Kuhn, M., Letunic, I., Jensen, L. J., Bork, P. The SIDER database of drugs and side effects. Nucleic Acids Res. 44 (D1), D1075-D1079 (2016).
  65. SMPDB 2.0: Big improvements to the small molecule pathway database. Nucleic Acids Res. 42 (Database issue), D478-D484 (2014).">Jewison, T., et al. SMPDB 2.0: Big improvements to the small molecule pathway database. Nucleic Acids Res. 42 (Database issue), D478-D484 (2014).
  66. STRING v11: Protein-protein association networks with increased coverage, supporting functional discovery in genome-wide experimental datasets. Nucleic Acids Res. 47 (D1), D607-D613 (2019).">Szklarczyk, D., et al. STRING v11: Protein-protein association networks with increased coverage, supporting functional discovery in genome-wide experimental datasets. Nucleic Acids Res. 47 (D1), D607-D613 (2019).
  67. Therapeutic target database update 2022: Facilitating drug discovery with enriched comparative data of targeted agents. Nucleic Acids Res. 50 (D1), D1398-D1407 (2022).">Zhou, Y., et al. Therapeutic target database update 2022: Facilitating drug discovery with enriched comparative data of targeted agents. Nucleic Acids Res. 50 (D1), D1398-D1407 (2022).
  68. The Unified Medical Language System (UMLS): Integrating biomedical terminology. Nucleic Acids Res. 32 (Database issue), D267-D270 (2004).">Bodenreider, O. The Unified Medical Language System (UMLS): Integrating biomedical terminology. Nucleic Acids Res. 32 (Database issue), D267-D270 (2004).
  69. Unification of multi-species vertebrate anatomy ontologies for comparative biology in Uberon. J Biomed Semantics. 5, 21(2014).">Haendel, M. A., et al. Unification of multi-species vertebrate anatomy ontologies for comparative biology in Uberon. J Biomed Semantics. 5, 21(2014).
  70. UniProt: the Universal Protein Knowledgebase in 2023. Nucleic Acids Res. 51 (D1), D523-D531 (2023).">UniProt Consortium. UniProt: the Universal Protein Knowledgebase in 2023. Nucleic Acids Res. 51 (D1), D523-D531 (2023).
  71. Denoising sequence-to-sequence pre-training for natural language generation, translation, and comprehension. Lewis, M., et al. Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, , 7871-7880 (2020).
  72. Cloud-based phrase mining and analysis of user-defined phrase-category association in biomedical publications. J Vis Exp. (144), e59108(2019).">Sigdel, D., et al. Cloud-based phrase mining and analysis of user-defined phrase-category association in biomedical publications. J Vis Exp. (144), e59108(2019).
  73. FM. ArXiv. , (2023).">Ferrara, E. Should ChatGPT be biased? Challenges and risks of bias in large language models. FM. ArXiv. , (2023).
  74. ArXiv. , (2023).">Gallegos, I. O., et al. Bias and fairness in large language models: A Survey. ArXiv. , (2023).
  75. Fighting reviewer fatigue or amplifying bias? Considerations and recommendations for use of ChatGPT and other large language models in scholarly peer review. Res Integr Peer Rev. 8 (1), 4(2023).">Hosseini, M., Horbach, S. P. J. M. Fighting reviewer fatigue or amplifying bias? Considerations and recommendations for use of ChatGPT and other large language models in scholarly peer review. Res Integr Peer Rev. 8 (1), 4(2023).
  76. Kotek, H., Dockum, R., Sun, D. Gender bias and stereotypes in Large Language Models. Proceedings of The ACM Collective Intelligence Conference, , 12-24 (2023).
  77. Prompting techniques for reducing social bias in LLMs through System 1 and System 2 Cognitive Processes. ArXiv. , (2024).">Kamruzzaman, M., Kim, G. L. Prompting techniques for reducing social bias in LLMs through System 1 and System 2 Cognitive Processes. ArXiv. , (2024).
  78. ArXiv. , (2024).">Raza, S., Raval, A., Chatrath, V. MBIAS: Mitigating bias in large language models while retaining context. ArXiv. , (2024).
  79. ArXiv. , (2023).">Chen, B., Zhang, Z., Langrené, N., Zhu, S. Unleashing the potential of prompt engineering in Large Language Models: A comprehensive review. ArXiv. , (2023).
  80. ArXiv. , (2023).">White, J., et al. A prompt pattern catalog to enhance prompt engineering with ChatGPT. ArXiv. , (2023).
  81. Prompt engineering as an important emerging skill for medical professionals: Tutorial. J Med Internet Res. 25, e50638(2023).">Meskó, B. Prompt engineering as an important emerging skill for medical professionals: Tutorial. J Med Internet Res. 25, e50638(2023).
  82. ArXiv. , (2023).">Wang, J., et al. Prompt Engineering for Healthcare: Methodologies and applications. ArXiv. , (2023).
  83. ArXiv. , (2023).">Luo, Y., et al. An empirical study of catastrophic forgetting in large language models during continual fine-tuning. ArXiv. , (2023).
  84. Retrieval meets Long Context Large Language Models. ArXiv. , (2023).">Xu, P., et al. Retrieval meets Long Context Large Language Models. ArXiv. , (2023).
  85. ArXiv. , (2023).">Chen, S., Wong, S., Chen, L., Tian, Y. Extending context window of Large Language Models via positional interpolation. ArXiv. , (2023).
  86. ArXiv. , (2024).">Labrak, Y., et al. BioMistral: A collection of open-source pretrained large language models for medical domains. ArXiv. , (2024).
  87. BioGPT: Generative pre-trained transformer for biomedical text generation and mining. Brief Bioinform. 23 (6), bbac409(2022).">Luo, R., et al. BioGPT: Generative pre-trained transformer for biomedical text generation and mining. Brief Bioinform. 23 (6), bbac409(2022).
  88. ArXiv. , (2024).">Wang, C., et al. A survey for large language models in biomedicine. ArXiv. , (2024).

Reprints and Permissions

Request permission to reuse the text or figures of this JoVE article

Request Permission

Tags

Biomedical Knowledge BasesExplainable AIKnowledge GraphRetrieval Augmented GenerationLarge Language ModelsText Mining AnalysisHypothesis ValidationDrug Disease RelationshipsAgentic SystemsCardiomyopathy Therapeutics

Related Articles