Method Article

Evidenzbasierte Wissenssynthese und Hypothesenvalidierung: Navigieren in biomedizinischen Wissensdatenbanken mit erklärbarer KI und agentischen Systemen

DOI:

10.3791/67525

June 13th, 2025

In This Article

Summary

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

In diesem Artikel wird RUGGED (Retrieval Under Graph-Guided Explainable disease Distinction) beschrieben, das die Inferenz des Large Language Model (LLM) mit der Retrieval-Augmented Generation (RAG) integriert. Es stützt sich auf Erkenntnisse aus von Experten kuratierten biomedizinischen Wissensdatenbanken und biomedizinischen Publikationen, um neues Wissen aus aktuellen Informationen zu synthetisieren, erklärbare und umsetzbare Vorhersagen zu identifizieren und vielversprechende Richtungen für hypothesengetriebene Untersuchungen aufzuzeigen.

Abstract

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

Der Umfang des biomedizinischen Wissens, das sich über wissenschaftliche Literatur und kuratierte Wissensdatenbanken erstreckt, stellt eine große Herausforderung für Forscher dar, um Ergebnisse effektiv zu verarbeiten, zu bewerten und zu interpretieren. Large Language Models (LLMs) haben sich als mächtige Werkzeuge für die Navigation in dieser komplexen Wissenslandschaft herausgestellt, können aber halluzinatorische Reaktionen hervorrufen. Retrieval-Augmented Generation (RAG) ist unerlässlich, um relevante Informationen zu identifizieren und die Genauigkeit und Zuverlässigkeit zu erhöhen. Dieses Protokoll führt RUGGED (Retrieval Under Graph-Guided Explainable disease Distinction) ein, einen umfassenden Arbeitsablauf, der die Wissensintegration unterstützen, Verzerrungen abschwächen und neue Forschungsrichtungen erforschen und validieren soll. Biomedizinische Informationen aus Publikationen und Wissensdatenbanken werden synthetisiert und durch Text-Mining-Assoziationsanalysen und erklärbare Graphenvorhersagemodelle analysiert, um potenzielle Beziehungen zwischen Arzneimitteln und Krankheiten aufzudecken. Diese Ergebnisse fließen zusammen mit dem Korpus des Ausgangstextes und den Wissensdatenbanken in ein Framework ein, das RAG-gestützte LLMs verwendet, um den Nutzern die Untersuchung von Hypothesen und die Untersuchung der zugrunde liegenden Mechanismen zu ermöglichen. Ein klinischer Anwendungsfall demonstriert die Fähigkeit von RAGGED bei der Bewertung und Empfehlung von Therapeutika für arrhythmogene Kardiomyopathie (ACM) und dilatative Kardiomyopathie (DCM), die Analyse verschriebener Medikamente auf molekulare Wechselwirkungen und potenzielle neue Anwendungen. Die Plattform reduziert LLM-Halluzinationen, hebt umsetzbare Erkenntnisse hervor und rationalisiert die Erforschung neuartiger Therapeutika.

Introduction

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

Der Prozess der Hypothesenforschung in der Biomedizin ist unerlässlich, um neue Molekül-Arzneimittel-Krankheits-Wechselwirkungen aufzudecken, die der Pathogenese zugrunde liegen, und um therapeutisches Potenzial zu erschließen 1,2. Dieser Prozess stützt sich auf Evidenz aus vorhandenem biomedizinischem Wissen, synthetisiert neue Erkenntnisse auf der Grundlage logischer Hinweise, die in Peer-Review-Literatur eingebettet sind (z. B. >36 Berichte aus PubMed), und integriert hochzuverlässige kuratierte Evidenz, die in biomedizinischen Wissensdatenbanken verwurzelt ist. Jüngste Fortschritte reduzieren den mühsamen manuellen Aufwand, indem sie Text-Mining auf Literaturkorporaanwenden 3,4,5 sowie graphenbasierte Analysen 6,7,8,9 einsetzen, um relevante Informationen zu synthetisieren und neue Wege für die Untersuchung aufzudecken. Trotz dieser Bemühungen unterstützen aktuelle Ansätze aufgrund fragmentierter Daten oft kein tiefes kontextuelles Verständnis. Darüber hinaus fehlt ihnen die Fähigkeit, evidenzbasierte Schlussfolgerungen zu ziehen und interaktiv neue Hypothesen zu erforschen.

Jüngste Entwicklungen bei Large Language Models (LLMs) werfen ein neues Licht auf diese Herausforderungen und demonstrieren ein hohes Maß an kontextuellem Verständnis, indem sie mit riesigen Informationsmengen über mehrere Disziplinen hinweg trainiertwerden 10,11,12. Im biomedizinischen Bereich haben LLMs eine vielversprechende Rolle bei der Extraktion von Patienteninformationen13 und der allgemeinen klinischen Beantwortung von Fragen14,15 gezeigt, während Anwendungen in der domänenspezifischen Fragebeantwortung16 und der Nutzen in der primären klinischen Versorgung17 noch erforscht werden müssen. Diese Modelle weisen die Fähigkeit auf, aus komplexen Datensätzen zu argumentieren und Schlussfolgerungen zu ziehen, wodurch sie potenziell für die Durchführung von Hypothesenforschung und Wissenssynthese geeignet sind. Darüber hinaus bieten einige Modelle eine Chat-ähnliche Interaktion, um Benutzer einzubinden und eine dynamische Erkundung von Themen zu ermöglichen, wodurch die herkömmlichen Grenzen abfragebasierter Suchmaschinen und Wissensdatenbanken überschrittenwerden 18,19.

Zusätzlich zu diesen Potenzialen stehen LLMs vor erheblichen Herausforderungen, wie z. B. einer möglichen Halluzination von Informationen, einem ungerechtfertigten Vertrauen in potenziell ungenaue Erklärungen, mangelnder Interpretierbarkeit und der Anfälligkeit für voreingenommene oder unangemessene Inhalte 20,21,22,23,24. Wenn sie direkt auf die klinische Entscheidungsfindung angewendet werden, haben die LLM-abgeleiteten Reaktionen und Vorhersagen einen hohen Nutzen; Fehler können möglicherweise zu kostspieligen Laborexperimenten führen oder sich negativ auf die Gesundheit der Patienten auswirken 25,26. Daher sind zuverlässige und vertrauenswürdige LLM-Antworten von größter Bedeutung, da ihre Beratung fest in der Evidenz verankert sein muss. In diesen Szenarien ist Interpretierbarkeit kein Luxus, sondern eine Notwendigkeit, um zu verstehen, warum diese Modelle die Vorhersagen treffen, die sie treffen.

Zu diesem Zweck ist Retrieval-Augmented Generation (RAG) ein System, das entwickelt wurde, um LLM-Halluzinationen zu minimieren und LLM-Reaktionen in Evidenz zu verankern, um ihre Genauigkeit und Zuverlässigkeit zu verbessern27,28. Dieser Ansatz beinhaltet in der Regel das Abrufen relevanter Textpassagen, wie z. B. die Integration eines LLM (z. B. ChatGPT) in PubMed, was die Identifizierung relevanter Zitate zu Benutzeranfragen ermöglicht29,30. Das Abrufen von Knowledge Graphen (KGs) ist nicht auf Text beschränkt, sondern auch vielversprechend in der Anwendung auf LLMs für Aufgaben wie Faktenprüfung 31,32,33, transparentes Denken 34,35,36, Kodierung von Wissen37, Verbesserung der Beantwortung von Fragen38 und Vervollständigung von Wissensgraphen 39. Durch die Kodierung von Sachinformationen aus verifizierten Quellen verbessern KGs die Genauigkeit, Transparenz und Zuverlässigkeit von LLM-Antworten. Verknüpfungsvorhersagetechniken innerhalb dieser Diagramme nutzen Deep Learning, um bisher verborgene Beziehungen zwischen Molekülen, Medikamenten und Krankheiten zu identifizieren 5,40,41. Jüngste Fortschritte bei erklärbaren KI-Vorhersagen verbessern die Transparenz und Interpretierbarkeit dieser Verbindungsvorhersageaufgaben weiter und bieten potenzielle Unterstützung für die Interpretation biomedizinischer Hypothesen als praktikabler Untersuchungsweg 42,43,44. Diese Fortschritte stellen sicher, dass LLM-generierte Reaktionen ausgewogen sind und aus der Evidenz abgeleitet werden, was ihre Anwendbarkeit in biomedizinischen Unternehmen erheblich verbessert.

Dieses Protokoll stellt RUGGED (Retrieval Under Graph-Guided Explainable disease Distinction) als zugänglichen und effizienten Workflow für die Erforschung und Validierung klinischer therapeutischer Erkenntnisse dar (Abbildung 1). Dieses Workflow-Protokoll nutzt die umfangreichen Ressourcen der biomedizinischen Literatur und Wissensdatenbanken für die Extraktion und Validierung relevanter Informationen und ermöglicht so abfragespezifische Retrieval-Prozesse (Abbildung 2). Ein erklärbares Vorhersagemodell mit künstlicher Intelligenz wird eingesetzt, um interpretierbare und umsetzbare Erkenntnisse aus dem vorhandenen biomedizinischen Wissen aufzudecken und dadurch die Transparenz und den Nutzen von Vorhersagemodellen zu erhöhen. Der abgeschlossene Workflow rationalisiert die Erforschung von Wissensgraphen und Modellvorhersagen über RAG-fähige LLMs und ermöglicht so intuitive und fundierte Interaktionen für Prüfärzte, Kliniker und klinische Fachkräfte.

In diesem Abschnitt wird die Grundlage für das Protokoll gelegt, wobei die Schritte zur Implementierung dieses Ansatzes im folgenden Abschnitt beschrieben werden. Anschließend wird ein translationaler klinischer Anwendungsfall vorgestellt, um diesen Ansatz zu demonstrieren, der auf die Bewertung von Medikamenten für molekulare Wechselwirkungen sowie therapeutische Strategien für die kardiovaskuläre Medizin angewendet wird. Schließlich werden die Auswirkungen und die Diskussion dieses Protokolls diskutiert.

Protocol

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

Dieses Protokoll wurde in Python 3.10 entwickelt und als Docker-Container in Windows implementiert. Die bereitgestellten Befehle basieren auf der Unix-Umgebung innerhalb des Docker-Containers. Die Software ist unter https://github.com/pinglab-utils/RUGGED erhältlich. Tabelle 1 zeigt eine Schätzung der Rechenzeit für alle Schritte des Protokolls.

1. Installation der Software

  1. Installieren Sie die erforderliche Software gemäß den Anweisungen in der Materialtabelle.
    HINWEIS: Dieses Protokoll erfordert Versionskontrolle, Containerisierung, eine Graphdatenbank und LLM-Dienste (Large Language Model). Versionskontrolle und Containerisierung sind optional, können aber den Einrichtungsprozess vereinfachen. Graphdatenbank- und LLM-Dienste können durch ähnliche Tools ersetzt werden, wenn der Benutzer technisch versiert ist.
    1. Konfigurieren Sie das Netzwerk zwischen Containern. Konfigurieren Sie Docker-Container so, dass sie mit anderen Diensten auf dem Gerät (z. B. anderen Docker-Containern) verbunden werden. Geben Sie den folgenden Befehl in das Terminal ein: docker network create rugged_network
  2. Richten Sie LLMs-Dienste (Large Language Models) ein. Wählen Sie den geeigneten LLM-Dienst für den Anwendungsfall aus, unter kommerziellen LLM-Diensten oder Diensten aus einem lokalen Modell, das auf dem Gerät des Benutzers ausgeführt wird. Stellen Sie sicher, dass mindestens ein LLM-Dienst angegeben ist, obwohl Agenten gemischt und angepasst werden können, um verschiedene Modelle zu nutzen.
    1. Starten Sie den lokalen LLM-Dienst. Wenn Sie Ollama über eine grafische Benutzeroberfläche (GUI) verwenden, führen Sie die ausführbare GUI-Datei aus (z. B. ollama.exe). Wenn Sie Docker verwenden, führen Sie Folgendes aus: 'docker run -name ollama --net rugged_network d -v ollama:/root/.ollama -p 11434:11434 ollama/ollama". Wenn Sie Docker mit GPU-Beschleunigung verwenden, stellen Sie sicher, dass der GPU-Treiber installiert ist, und führen Sie Folgendes aus: 'docker run -name ollama --net rugged_network -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 ollama/ollama".
    2. Initialisieren Sie das lokale LLM-Modell. Bestimmen Sie, welches Modell unter den unterstützten Modellen verwendet werden soll (z. B. Empfohlen: llama3, mistral, mixtral. Wenn Sie Docker verwenden, geben Sie "docker exec run ollama run " in die Befehlszeile ein. Wenn Sie die Ollama-GUI verwenden, geben Sie "ollama run " ein und ersetzen Sie durch den jeweiligen Modellnamen.
  3. Starten Sie den Graphdatenbankdienst. Wählen Sie einen Graphdatenbankdienst unter Docker-Container, Desktopanwendung oder Onlinewebdienst aus. Befolgen Sie die Installationsanweisungen in den ergänzenden Materialien, um die Einrichtung abzuschließen.
  4. Richten Sie die RUGGED-Umgebung ein. Überprüfen Sie die heruntergeladenen Docker-Images, indem Sie docker-Images eingeben. Stellen Sie sicher, dass alle Docker-Images aus dem vorherigen Schritt aufgelistet sind. Führen Sie die folgenden Befehle im Terminal aus, um das RUGGED Docker-Image und den Code herunterzuladen:
    docker pull pinglabutils/rugged:latest
    HINWEIS: git clone https://github.com/pinglab-utils/RUGGED
    1. Konfigurieren des kommerziellen LLM-Diensts. Wenn Sie kommerzielle LLM-Dienste nutzen, stellen Sie sicher, dass das Konto und der zugehörige API-Schlüssel über eine ausreichende Deckung verfügen. Ändern Sie die RUGGED-Konfigurationsdateien, indem Sie die Konfigurationsdatei unter 'RUGGED/config/openai_key.txt' bearbeiten und den API-Schlüssel zur Datei hinzufügen.
    2. Konfigurieren Sie Handelsvertreter. Bestimmen Sie, welche LLM-Agenten innerhalb des RUGGED-Systems diesen Service verwenden. Ändern Sie die Konfigurationsdatei unter 'RUGGED/config/llm_agents.json' und aktualisieren Sie die Agentenfelder, um die Modellversion anzugeben. Empfohlene Modelle: gpt-3.5-turbo, gpt-4o.
    3. Konfigurieren des lokalen LLM-Diensts. Wenn Sie einen anderen Dienstendpunkt als den Standardendpunkt für Ollama unter "http://localhost:11434" verwenden, ändern und aktualisieren Sie das Feld "OLLAMA_URI" in den Konfigurationsdateien unter "RUGGED/config/ollama_config.json".
    4. Konfigurieren Sie lokale LLM-Agenten. Bestimmen Sie, welche LLM-Agenten innerhalb des RUGGED-Systems diesen Service verwenden. Ändern Sie die Konfigurationsdatei unter 'RUGGED/config/llm_agents.json' und aktualisieren Sie die Agentenfelder, um 'ollama' als ausgewähltes Modell anzugeben.
    5. Konfigurieren Sie den Endpunkt der Graphdatenbank. Wenn Sie das Standardkennwort und den Benutzernamen für Neo4j geändert haben, bearbeiten Sie die Konfigurationsdatei "RUGGED/config/neo4j_config.json", um die Felder "uri", "username" und "password" zu aktualisieren.
  5. Starten Sie den RUGGED-Dienst, indem Sie den folgenden Befehl ausführen:
    docker run --name rugged -it --net rugged_network --gpus=all -v \RUGGED\:/data ping-lab-
    utils:RUGGED /bin/bash
    HINWEIS: Um zu überprüfen, ob die Dienste wie erwartet funktionieren, navigieren Sie zum RUGGED-Verzeichnis, und führen Sie die Schritte 1.4.1 aus. durch Schritt 1.4.4. in diesem Terminalfenster.
    1. Überprüfen Sie die Funktionalität des LLM-Dienstes. Navigieren Sie zum Testordner im RUGGED-Verzeichnis, und führen Sie die folgenden Befehle aus, um zu überprüfen, ob OpenAI- und/oder Ollama-Dienste funktionieren:
      Python-test_openai.py
      Python-test_ollama.py
    2. Überprüfen Sie die Funktionalität des Dienstes zur Erkennung benannter Entitäten. Führen Sie 'test_ner.py' aus, um zu überprüfen, ob der Code für die Erkennung benannter Entitäten von Benutzerabfragen ordnungsgemäß funktioniert.
    3. Überprüfen Sie die Funktionalität des Neo4j-Dienstes. Führen Sie Testskripte aus, um zu überprüfen, ob der Neo4j-Dienst wie erwartet funktioniert, indem Sie "python test_neo4j.py" eingeben.
    4. (Fakultativ) Überprüfen des HTTP-Zugriffs auf die Graphdatenbank. Öffnen Sie einen Webbrowser und rufen Sie die Neo4j-Benutzeroberfläche auf.
      HINWEIS: Für Neo4j in Docker oder Desktop lautet die Standard-URL "http://localhost:7474". Verwenden Sie für Neo4j AuraDB den Link, der während des Setups bereitgestellt wurde.
  6. (Fakultativ) Beheben von Problemen. Stellen Sie sicher, dass die Services, die RUGGED unterstützen, während des Software-Setups überprüft werden, um Probleme zu vermeiden. Beheben Sie Fehler bei fehlgeschlagenen Tests aus Schritt 1.4. Falls vorhanden, befolgen Sie die Fehlermeldungen, die von den Testskripts gemeldet werden, in denen die Probleme beschrieben werden.
    1. Überprüfen Sie Docker-Container. Vergewissern Sie sich, dass alle Docker-Container ausgeführt werden, indem Sie "docker ps" im Terminal verwenden, einschließlich des RUGGED-Docker-Containers, des Neo4j-Docker-Containers (optional) und des Ollama-Docker-Containers (optional).
    2. Überprüfen Sie die Netzwerkports. Stellen Sie für Docker-Dienste sicher, dass die richtigen Ports geöffnet sind, und überprüfen Sie die Protokolle mit "docker logs neo4j" oder "docker logs ollama".
      HINWEIS: Standardmäßig verwendet Neo4j die Ports 7474 für http und 7687 für die Bolt-Schnittstelle; Ollama verwendet Port 11434.
    3. Überprüfen Sie die Dienstanwendungen. Bei Anwendungen, die direkt auf dem Gerät installiert sind (z. B. Ollama und Neo4j Desktop), öffnen Sie die Anwendungen, um zu bestätigen, dass sie ausgeführt werden.
    4. Überprüfen von Webdiensten. Melden Sie sich für Neo4j AuraDB auf der Website an und überprüfen Sie, ob der Dienst ausgeführt wird.
    5. Überprüfen Sie die Firewall-Regeln. Ändern Sie die Regeln für die Gerätefirewall, um sicherzustellen, dass die Firewall keine externen Dienste blockiert.
    6. Gerät neu starten. Wenn die Probleme nicht behoben werden, starten Sie das Gerät neu, und wiederholen Sie den Vorgang ab Schritt 1.5.1.
    7. Öffnen Sie ein Problem. Wenn die Probleme weiterhin bestehen, öffnen Sie bitte ein Problem auf dem RUGGED GitHub (https://github.com/pinglab-utils/RUGGED).

2. Zugang zu biomedizinischem Wissen und Extraktionsinformationen

HINWEIS: In diesen Schritten werden zwei Wissensextraktionspipelines als zugrunde liegende Informationen beschrieben, die das Retrieval Augmented Generation (RAG)-System von RUGGED bilden: (1) die CaseOLAP LIFT biomedizinische Text-Mining-Pipeline5 und (2) der Know2BIO-Workflow zur Erstellung von Wissensgraphen9. Um RUGGED mit benutzerdefinierten Daten zu verwenden, fahren Sie mit Schritt 4 fort.

  1. Extrahieren Sie biomedizinische Literatur. Identifizieren Sie relevante Dokumente und hochrangige Protein-Krankheits-Beziehungen mit CaseOLAP LIFT, einem Computerprotokoll zur Untersuchung subzellulärer Proteine und ihrer Assoziationen mit Krankheiten durch biomedizinisches Literatur-Text-Mining. Führen Sie diesen Schritt aus, um die notwendigen Informationen für den RAG-Workflow mit gezielten Erkenntnissen aus diesen Berichten vorzubereiten.
    1. Führen Sie die CaseOLAP LIFT Text Mining-Analyse aus. Besuchen Sie das CaseOLAP LIFT JoVE Protokoll (die Schritte 4-5 sind für diese Analyse nicht erforderlich).
    2. Verschieben von verarbeiteten Textdokumenten. Stellen Sie sicher, dass sich die analysierten biomedizinischen Dokumente (pubmed.json) und ihr vollständiger Text (pmid2full_text_sections.json) aus Schritt 3 im CaseOLAP LIFT-Datenordner befinden. Verschieben Sie diese Dateien mit den folgenden Befehlen in den RUGGED-Datenordner:
      mv /caseolap_lift/caseolap_lift_shared_folder/data/pubmed.json /RUGGED/data/text_corpus
      mv /caseolap_lift/caseolap_lift_shared_folder/data/ pmid2full_text_sections.json /RUGGED/data/text_corpus
    3. Verschieben von Text Mining-Ergebnissen. Stellen Sie sicher, dass die Knowledge Graph-Datei (merged_edge_list.tsv) mit Protein-Krankheits-Assoziationen im Ordner result/kg generiert wurde. Überprüfen Sie, ob die Anzahl der Zuordnungen wie erwartet ist, abhängig von den in den Schritten 1 bis 3 ausgewählten Einstellungen (siehe z. B. Tabelle 2 ). Verschieben Sie diese Datei in den Datenordner von RUGGED:
      mv /caseolap_lift/caseolap_lift_shared_folder/result/graph_data/ merged_edge_list.tsv /RUGGED/data/knowledge_graph
  2. Extrahieren Sie biomedizinisches Wissen. Erstellen Sie einen biomedizinischen Wissensgraphen mit der Know2BIO-Software , die Daten aus 30 biomedizinischen Wissensdatenbanken integriert. Führen Sie diesen Schritt aus, um sicherzustellen, dass die Informationen für diese biomedizinischen Beziehungen und multimodalen Daten verarbeitet werden, um den nachgelagerten RAG-Workflow zu unterstützen.
    1. Klonen Sie das Know2BIO-Repository. Klonen Sie das Repository, indem Sie den folgenden Befehl in die Befehlszeile eingeben. Navigieren Sie zum Know2BIO-Repository.
      git clone https://github.com/Yijia-Xiao/Know2BIO.git.
    2. Bereiten Sie Daten und Lizenzen vor. Navigieren Sie zum Datensatzordner und folgen Sie den Anweisungen in der Datei "README.md". Schließen Sie die erforderliche Erstellung von Benutzerkonten ab, um auf verschiedene Online-Ressourcen (z. B. UMLS-Thesaurus, Drug Bank) zugreifen zu können.
    3. Laden Sie Ressourcen zur Wissensdatenbank herunter. Führen Sie das Skript "python create_edge_files.py" aus, und überwachen Sie den Fortschritt der Extraktionspipeline für den Wissensgraphen. Stellen Sie sicher, dass die .csv Datei im Ordner "Know2BIO/dataset/output", die biomedizinische Beziehungen darstellt, generiert wurde.
    4. Erstellen Sie einen Wissensgraphen. Führen Sie das Skript "python prepare_kgs.py" aus, um die im vorherigen Schritt extrahierten Informationen zu integrieren und die extrahierten Beziehungen automatisch in einem einheitlichen Wissensgraphen zu kombinieren, wobei der Graph nach Datenquelle und Domäne formatiert wird.
    5. Überprüfen Sie die Ausgabe. Überprüfen Sie, ob die fertigen Dateien in der Datei 'whole_kg.txt' im Verzeichnis 'Know2BIO/dataset/know2bio_dataset' vorhanden sind. Vergewissern Sie sich, dass die Anzahl der Kanten in der Datei wie erwartet ist. siehe Tabelle 3, die zu über 6 Millionen Kanten führte. Fahren Sie mit dem folgenden Schritt fort, da die restlichen Schritte in der Know2BIO-README für diese Analyse nicht erforderlich sind.
      HINWEIS: Die Beziehungen von Know2BIO in Tabelle 3 waren Quellen aus 31 Quellen, darunter ATC (Weltgesundheitsorganisation), 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, Reactome63, SIDER64, SMPDB65, STRING66, TTD67, UMLS68, Uberon69 und UniProt70.
    6. Verschieben Sie die Ergebnisse von Wissensgraphen. Verschieben Sie die Datei in das Verzeichnis '/data/knowledge_graph/' des RUGGED-Verzeichnisses.
      mv /Know2BIO/dataset/know2bio/whole_kg.txt /RUGGED/data/knowledge_graph
  3. Erstellen Sie einen kombinierten Wissensgraphen. Integrieren Sie den Graphen aus dem vorherigen Schritt mit den übergeordneten Protein-Krankheits-Beziehungen aus dem Text-Mining aus Schritt 2.1 in einen einzigen einheitlichen Wissensgraphen.
    1. Überprüfen Sie die Ergebnisse im RUGGED-Verzeichnis. Stellen Sie sicher, dass sich die Ergebnisdatei für die Erstellung des Knowledge Graphs (whole_kg.txt) und die Ergebnisse der Text Mining-Beziehung (merged_edge_list.tsv) im Verzeichnis knowledge_graph im Datenordner befinden.
    2. Integrieren Sie die Ergebnisse. Führen Sie das Skript "combine_kg_results.py" aus, um die extrahierten Beziehungen und Entitäten aus der Text-Mining-Analyse und der Erstellung von Wissensgraphen in einem einzigen zusammenhängenden Wissensgraphen zusammenzuführen. Befolgen Sie den folgenden Beispielbefehl:
      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. Wissensgraph filtern. (Fakultativ) Nehmen Sie eine Stichprobe für eine Teilmenge des Wissensgraphen, die für die prädiktive Analyse verwendet wird. In diesem Schritt werden nur eng verwandte Beziehungen beibehalten und die Rechenressourcen reduziert, die zum Ausführen der Deep-Learning-Vorhersagen erforderlich sind.
    1. Identifizieren Sie relevante Knoten. Bestimmen Sie die biomedizinischen Entitäten, die für die prädiktive Analyse in Schritt 3 von Interesse sind, indem Sie den Wissensgraphen überprüfen und relevante Knoten lokalisieren.
      HINWEIS: Dieses Protokoll konzentriert sich auf Krankheitsknoten für arrhythmogene Kardiomyopathie (ACM) und dilatative Kardiomyopathie (DCM), wie MeSH_Disease: D019571 bzw. MeSH_Disease: D002311. Die Zielknoten müssen auf den beabsichtigten Anwendungsfall zugeschnitten sein.
    2. Beispiel aus dem Knowledge Graph. Verwenden Sie das Skript "filter.py", um das in k-hop erreichbare Wissensgraph-Subgraphen aus den ausgewählten interessierenden Knoten zu extrahieren. Befolgen Sie den folgenden Beispielbefehl, der den erreichbaren Graphen innerhalb von 2 Knoten aus den ausgewählten Krankheitsknoten filtert:
      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/.
      HINWEIS: Durch Erhöhen des k-Hop-Werts (--k) wird der Datenbereich innerhalb des Diagramms für die Vorhersageanalyse erweitert, erfordert aber auch größere Rechenressourcen.

3. Erklärbare Vorhersageanalyse

HINWEIS: Führen Sie GNNExplainer44 auf einem Graph Convolutional Network-Modell aus, um potenzielle Kanten (Beziehungen) im Wissensgraphen vorherzusagen und Einblicke in bisher unbekannte Assoziationen zu erhalten.

  1. Stellen Sie sicher, dass der RUGGED Docker-Container ausgeführt wird. Wenn das vorherige Terminalfenster geschlossen wurde, stellen Sie mit dem Befehl "docker exec --it rugged /bin/bash" eine Verbindung zum Docker-Container her. Sobald Sie mit dem Docker-Container verbunden sind, navigieren Sie zum RUGGED-Verzeichnis.
  2. Bestimmen Sie die Kante(n), die vorhergesagt werden soll. Geben Sie die Kanten als Knotenpaare in einer .txt Datei an (z. B. edges_to_predict.txt). Die bereits im Knowledge Graph vorhandenen Kanten werden aus den Vorhersagen herausgefiltert.
  3. Führen Sie das Skript für die Vorhersageanalyse aus. Geben Sie die zu prognostizierenden Kanten und den Eingabe-Wissensgraphen als Befehlszeilenargumente für die Vorhersage an. Wichtige Argumente: -p (Pfad zur Kantendatei), -i (Eingabe-Wissensgraph), -o (Ausgabeverzeichnis), -n (Top-Vorhersagen, z. B. 5), -k (obere Kanten zum Visualisieren, z. B. 10). Beispiel-Befehl:
    python rugged/predictive_analysis/generate_explainable_prediction.py -o Ausgang -n 5 -k 10 -p ./ausgang/edges_to_predict.txt -i ./data/rugged_knowledge_graph/filtered_kg/filtered_k2_edges.csv
  4. Bewerten Sie die Modellleistung. Untersuchen Sie die Terminalausgabe oder die "output.log"-Datei, die aus dem vorherigen Schritt generiert wurde, um die Modellleistung basierend auf der Aufteilung des gefilterten Wissensgraphen in Trainings-, Validierungs- und Testsätze mit einem Verhältnis von 85:5:10 zu bewerten. Passen Sie die Modellargumente an, wenn die Leistung nicht wie erwartet ist, indem Sie Tabelle 4 als Beispiel verwenden.
  5. Stellen Sie sicher, dass sich die Ergebnisse im Ausgabeordner befinden. Untersuchen Sie die Modellergebnisse in "prediction_results.csv", und untersuchen Sie die Top-n-Vorhersagen im Ausgabeordner. Überprüfen Sie die Top-n-Vorhersagen im Ausgabeordner. Für jede Vorhersage veranschaulicht eine Diagrammvisualisierung die relevantesten Kanten, die zu jeder Vorhersage beitragen, sowie ihre relativen Wichtigkeitsbewertungen.
  6. Verschieben Sie prädiktive Analyseergebnisse. Wenn Sie mit den Ergebnissen der prädiktiven Analyse zufrieden sind, verschieben Sie die Ergebnisse in das Verzeichnis "data/predictions/" des RUGGED-Verzeichnisses.

4. Generierung von Hypothesen

  1. Stellen Sie eine Verbindung zum RUGGED Docker Container her.
    1. Stellen Sie sicher, dass der RUGGED Docker-Container ausgeführt wird. Wenn das vorherige Terminalfenster geschlossen wurde, stellen Sie eine Verbindung mit dem Docker-Container her.
    2. Navigieren Sie zum RUGGED-Verzeichnis. Sobald die Verbindung hergestellt ist, geben Sie cd /workspace/RUGGED ein, um zum Verzeichnis zu navigieren. Führen Sie die verbleibenden Schritte in diesem Befehlszeilenfenster aus.
    3. Stellen Sie sicher, dass die unterstützenden Dienste ausgeführt werden. Wenn Sie Ollama und Neo4j in Docker verwenden, stellen Sie sicher, dass die Container ausgeführt werden, indem Sie "docker ps" eingeben. Wiederholen Sie Schritt 1.7, um zu überprüfen, ob die Dienste ordnungsgemäß funktionieren, und Schritt 1.4, um Probleme zu beheben, falls vorhanden.
  2. Bereiten Sie die RAG-Daten vor. Bereiten Sie den Knowledge Graph und den Textkorpus für den Abruf vor.
    HINWEIS: Diese Daten können durch benutzerdefinierte Daten ersetzt werden, indem die Daten in den Verzeichnissen "data/knowledge_graph/" bzw. "data/text_corpus/" abgelegt werden. Diese Daten müssen dem Format aus dem GitHub-Repository (https://github.com/pinglab-utils/RUGGED/tree/main/data) entsprechen.
    1. Überprüfen Sie die Ressourcen. Stellen Sie sicher, dass sich das Textkorpus im Verzeichnis "data/text_corpus/" befindet, dass sich das Knowledge Graph mit der Text-Mining-Vorhersagedatei im Verzeichnis data/knowledge_graph/ befindet und dass sich die Vorhersageergebnisse im Verzeichnis data/predictions/ befinden (aus den Schritten 2.1.2., 2.3.2 bzw. 3.5).
    2. Füllen Sie die Graphdatenbank auf. Führen Sie den Befehl 'python ./neo4j/prepare_neo4j.py' aus, um die erforderlichen Knoten, Kanten und Knoten-Features zu erstellen.
    3. Indizieren Sie den Textkorpus. Führen Sie den Befehl 'python ./text/prepare_corpus.py' aus, um den Textkorpus zu indizieren und RUGGED das Abrufen relevanter Textdokumente basierend auf Benutzerabfragen zu ermöglichen, indem die Dokumente in Abschnitte von 500 Token unterteilt werden, um eine Vektordatenbank mit BART71 zu erstellen.
    4. Optional) Testen Sie den Abruf der Graphdatenbank. Senden Sie eine Testabfrage an die Neo4j-Datenbank, um sicherzustellen, dass sie korrekt ausgefüllt ist und die erwarteten Ergebnisse zurückgeben kann. Stellen Sie sicher, dass die Ausgabe mit den erwarteten Knoten und Beziehungen in der Datenbank übereinstimmt. Beispiel-Befehl:
      python ./test/test_neo4j_retrieval.py --query "MATCH (n) RETURN n LIMIT 5"
    5. (Fakultativ) Testen Sie den Abruf des RAG-Korpus. Senden Sie eine Testabfrage an das Textkorpus der RAG, um sicherzustellen, dass das Textabrufsystem funktioniert. Überprüfen Sie, ob die abgerufenen Dokumente für die Abfrage relevant sind und ob die Einbettungen wie erwartet funktionieren. Beispielbefehl: python ./test/test_literature_retrieval.py --query "Welche Dokumente beziehen sich auf die Verwendung von Betablockern zur Behandlung von Herz-Kreislauf-Erkrankungen?"
  3. Interagieren Sie mit RUGGED. Starten Sie RUGGED in der Befehlszeilenschnittstelle, um mit dem System zu interagieren. Führen Sie den Befehl 'python rugged.py' aus. Fragen Sie das System ab, um relevante Informationen abzurufen, indem Sie bestimmte Befehle verwenden, um mit dem Wissensgraphen und dem Textkorpus zu interagieren.
    1. Fragen Sie den Knowledge Graph ab. Extrahieren Sie spezifische Informationen aus dem Knowledge Graph, indem Sie die Frage in natürlicher Sprache stellen, beginnend mit dem Stichwort "Abfrage". Zum Beispiel:
      Abfrage "Welche verschriebenen Medikamente werden derzeit als Betablocker, Antiarrhythmika und Antifibrotika eingestuft?"
    2. Erkunden Sie die Vorhersagen. Erkunden Sie die Analysen der Linkvorhersage aus Schritt 3 und bitten Sie um die Suche nach einer bestimmten Beziehung, beginnend mit dem Keyword "predict". Zum Beispiel:
      Prognose: "Welches dieser Medikamente könnte möglicherweise zur Behandlung von ACM und/oder DCM eingesetzt werden, das derzeit nicht bekannt ist?"
    3. Erkunden Sie das Abrufen von Literatur. Untersuchen Sie Dokumente, die sich auf ein bestimmtes biomedizinisches Thema aus Schritt 2 beziehen. Stellen Sie die Frage in natürlicher Sprache und beginnen Sie mit dem Keyword "Suche". Zum Beispiel:
      "Welche Literatur stützt die Behauptung, dass diese vorhergesagten Medikamente zur Behandlung von ACM und/oder DCM eingesetzt werden könnten?"
    4. Durchlaufen und verfeinern Sie die Abfrage. Reagieren Sie direkt in der Befehlszeile, um Anfragen über die Chat-ähnliche Oberfläche von RUGGED zu iterieren und zu verfeinern. Beziehen Sie sich auf frühere Konversationen mit dem Benutzersystem, um Fragen und Abfragen zu überarbeiten und zu verfeinern.
    5. Führen Sie Cypher-Befehle in Neo4j erneut aus. (Fakultativ) Verfeinern Sie die Abfrageergebnisse des Knowledge Graphs, indem Sie den bereitgestellten Cypher-Befehl anpassen, der zum Abrufen der Informationen verwendet wird. Führen Sie diesen Befehl erneut aus oder ändern Sie ihn, indem Sie die Neo4j-Browseroberfläche aus Schritt 1.4.4 aufrufen (z. B. bei http://localhost:7474). Fügen Sie die Cypher-Befehle ein und ändern Sie sie nach Bedarf, um Abfragen zu verfeinern und spezifischere Erkenntnisse zu sammeln.
    6. Konversation zusammenfassen. Überprüfen Sie die abgerufenen Informationen, und fassen Sie die Konversation mit RUGGED zusammen. Geben Sie das Schlüsselwort summarize ein, um eine Zusammenfassung der Interaktion für die spätere Analyse in eine Textdatei auszugeben. Die Volltextantwort wird im Terminal angezeigt.
    7. Führen Sie eine Human-in-the-Loop-Überprüfung durch, um die Genauigkeit der Ausgabe zu verbessern, indem Sie die Systemantworten auf Lesbarkeit und Kürze überprüfen und ändern, bevor Sie die Zusammenfassung fertigstellen.
    8. Überprüfen Sie die Chat-Protokolle. Überprüfen Sie den vollständigen Text der Interaktion im Protokollordner in RUGGED. Behalten Sie diese Zwischenbefehle und Konversationen zwischen LLM-Agenten in RUGGED bei, um die Fehlerbehebung und Reproduzierbarkeit zu gewährleisten.
  4. Herunterfahren und Neustarten von RUGGED.
    1. Rufen Sie Docker-Container-IDs ab. Verwenden Sie den Befehl 'docker ps', um alle laufenden Container aufzulisten und die Container-IDs für RUGGED, Neo4j und Ollama abzurufen. Ersetzen Sie für alle folgenden Befehle , und durch die tatsächlichen Container-IDs.
    2. Stoppen Sie Docker-Container. Fahren Sie RUGGED und die zugehörigen Docker-Container anhand ihrer Container-IDs herunter.
      docker stop
      docker stop
      docker stop
      HINWEIS: Es wird empfohlen, diese Container vor dem Herunterfahren des Geräts zu stoppen, um möglichen Datenverlust zu vermeiden und sicherzustellen, dass alle Prozesse ordnungsgemäß geschlossen werden.
    3. Starten Sie Docker-Container neu. Um das RUGGED-System neu zu starten, verwenden Sie die Container-IDs, um die erforderlichen Docker-Container zu starten.
      Docker Start
      docker start
      Docker Start
    4. Fügen Sie es erneut an das Docker-Netzwerk an. Verwenden Sie bei Bedarf die folgenden Befehle, um die Container erneut an das Netzwerk anzuhängen.
      Docker Network Connect rugged_network
      Docker Network Connect rugged_network
      Docker Network Connect rugged_network
    5. Überprüfen Sie die Funktionalität des Dienstes. Wiederholen Sie nach dem Neustart die Schritte 1.4 bis 1.5, um sicherzustellen, dass die Software wie erwartet funktioniert.

Results

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

Diese repräsentativen Ergebnisse wurden durch Befolgung des in diesem Protokoll beschriebenen Verfahrens erzielt. Eine Text-Mining-Assoziationsanalyse wurde nach dem CaseOLAP LIFT-Protokoll5 mit Standardparametern durchgeführt, wobei acht große Kategorien von Herz-Kreislauf-Erkrankungen72 und ihre Assoziation mit mitochondrialen Proteinen untersucht wurden (GO:0005739). Insgesamt wurden bis Mai 2024 635.696 Meldungen als relevant für diese Krankheiten eingestuft; Unter ihnen wurden 4.655 Protein-Krankheits-Assoziationen mit hohem Vertrauen identifiziert, um nachgelagerte Analysen zu informieren. Im Mai 2024 wurde unter Verwendung des Softwarecodes von Know2BIO unter Verwendung von Standardeinstellungen ein biomedizinischer Wissensgraph erstellt9. Der resultierende Knowledge Graph besteht aus 219.450 Knoten, 6.323.257 Kanten sowie Knotenmerkmalen für 189.493 Knoten mit Knotenbeschreibungen, Protein-/Gensequenzen, chemischer Struktur usw., sofern verfügbar. Eine Schätzung der Rechenzeit für alle Schritte des Protokolls ist in Tabelle 1 dargestellt.

Das RUGGED-System wurde initialisiert, indem die Vektordatenbanken sowohl für die Knowledge Graph-Knoten und -Features als auch für die CVD-relevanten Publikationen erstellt wurden. Alle Knoten, Kanten und Knoten-Features des Knowledge Graph wurden mit einer Blockgröße von 20 Token mit dem EinbettungsmodellBART 71 verarbeitet, um die RAG-Vektorsuche vorzubereiten. In ähnlicher Weise wurden Originalbeiträge und Übersichtsartikel mit einer Chunk-Größe von 500 Token und dem BART-Embedding-Modell verarbeitet, um die RAG-Vektorsuche vorzubereiten. Für das Literatur-Retrieval wurden Volltextpublikationen mit mehr als 500 Token basierend auf den einzelnen Abschnitten einer Publikation durch das BART-Embedding-Modell hierarchisch zusammengefasst. Das GPT-4o-Modell wurde für die verbleibenden LLM-Agenten im System verwendet.

Diese repräsentativen Ergebnisse zeigen ein Beispiel für einen Anwendungsfall zur Untersuchung potenzieller medikamentöser Therapeutika für arrhythmogene Kardiomyopathie (ACM) und dilatative Kardiomyopathie (DCM), die als MeSH_Disease: D019571 bzw. MeSH_Disease: D002311 identifiziert wurden. Eine Reihe von Anfragen ist in Abbildung 3 dargestellt, wobei in Abbildung 4 Beispiele für Modellantworten hervorgehoben sind und die vollständigen Antworten in der Zusatzdatei 1, Abschnitt A, aufgeführt sind. Die Richtung der Befragung wurde an die vom Prüfarzt validierten Antworten angepasst, wobei nachfolgende Abfragen auf den Ergebnissen der vorherigen Antworten basierten. Die Analyse ergab 11 Medikamentenkandidaten, die als Betablocker und Antiarrhythmika eingestuft wurden. Neue Wege für die therapeutische Behandlung wurden unter Verwendung eines Graph Convolutional Neural Network Link Prediction Model auf einer Teilmenge des vollständigen Wissensgraphen bewertet, einschließlich Knoten innerhalb von 1-Hop von Studienkrankheits- und Medikamentenknoten und deren Verbindungen, wobei die Bewertungsmetriken in Tabelle 4 aufgeführt sind. Die Top 10 relevanten Kanten für jede Vorhersage durch das Modell wurden durch ein Graphenerklärbarkeitsmodul, GNNExplainer44, weiter untersucht, um die Top-Knoten bzw. Kanten zu identifizieren, die zu jeder Vorhersage beitragen. Die Gesamtkosten für die Verwendung von kommerziellem LLM für alle Schritte des RUGGED-Protokolls für diesen Anwendungsfall werden zum Zeitpunkt der Erstellung dieses Artikels auf 1,50 US-Dollar geschätzt.

figure-results-1
Abbildung 1: Workflow für den Abruf unter graphengesteuerter erklärbarer Krankheitsunterscheidung (RUGGED). RUGGED besteht aus vier Hauptkomponenten: (1) Zusammenstellung und Verarbeitung von Daten aus ethisch einwandfreien und professionell verwalteten Ressourcen (z. B. PubMed und kuratierte biomedizinische Wissensdatenbanken), (2) Integration von Peer-Review-Forschungsergebnissen in einen einheitlichen Wissensgraphen, (3) Strukturierung der Text- und Graphdaten innerhalb von Datenbankdiensten, (4) Modellierung und Vorhersage erklärbarer Beziehungen zwischen biomedizinischen Entitäten innerhalb des Wissensgraphen, und (5) das Abrufen und Synthetisieren von Wissen durch einen Retrieval Augmented Generation (RAG)-Workflow (Abbildung 2), um komplexe molekulare Beziehungen zu validieren und KI-gesteuerte Krankheitsvorhersagen zu erforschen. Ein Human-in-the-Loop-Überprüfungsschritt kann vom Benutzer durchgeführt werden, um die Genauigkeit der Ausgabe zu verbessern. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

figure-results-2
Abbildung 2: Abrufarchitektur und Workflow zur Minderung von Verzerrungen. Das RAG-Framework (Retrieval Augmented Generation) verwendet mehrere LLM-Agenten, die jeweils bestimmte Aufgaben ausführen, um den Zugriff auf relevante Informationen basierend auf der Benutzerabfrage zu unterstützen. Dieses System liefert dokumentierte Beweise für den benutzerorientierten GPT-basierten Reasoning Agent und erleichtert die Interaktion zwischen Benutzer und Agent und die Synthese von Wissen. (1) Biomedical Text Retrieval: Peer-Review-Originalbeiträge und Übersichtsartikel werden nach ihrer Relevanz für das Verständnis von Krankheitsassoziationen gefiltert. Es wird eine Vektordatenbank für vom Autor und Redakteur validierte Textnachweise erstellt, die auf der Grundlage des entsprechenden Abschnitts der Publikation gewichtet werden: 70 % Zusammenfassung, 10 % Ergebnisse, 10 % Metadaten und 10 % für alle anderen Unterabschnitte. Eine Stichwortsuche und eine Ähnlichkeitssuche gegen die Texteinbettung der Benutzerabfrage identifizieren zusammen relevante Dokumente. Zusammenfassungen jedes Dokuments werden mit einer BERT-basierten Zusammenfassung generiert, wobei der GPT-basierte Text Evaluator Agent die Suche verfeinert, um die Relevanz des Abfragedokuments zu validieren. (2) Knowledge Graph Retrieval: Ein BERT-basiertes Modul zur Erkennung benannter Entitäten und GPT-basierter Beziehungsextraktion verbindet die Benutzerabfrage mit relevanten Entitäten im Knowledge Graph. Eine Ähnlichkeitssuche in einer Vektordatenbank identifiziert relevante Knoten und Kanten. Die Daten werden über Cypher-Abfragen aus der Neo4j-Datenbank abgerufen, die vom GPT-basierten Cypher Query Agent generiert und vom Query Verification Agent verfeinert werden. (3) Die einzelnen Antworten aus den Pipelines Biomedical Text Retrieval oder Knowledge Graph Retrieval werden dem Reasoning Agent präsentiert, der eine prägnante Antwort mit minimaler Verzerrung der Anfrage des Benutzers synthetisiert. Dieses System ist darauf ausgerichtet, Genauigkeit und Unparteilichkeit bei der Darstellung von Sachinformationen zu wahren. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

figure-results-3
Abbildung 3: Anwendungsfall zur Wissenssynthese und Hypothesenexploration über eine vernetzteAbfragekaskade. Diese Abbildung zeigt einen hervorgehobenen Anwendungsfall, der sich auf eine Kette verwandter Fragen und Konzepte konzentriert, die ein Prüfer und/oder medizinisches Fachpersonal an das RUGGED-System stellen könnte. Die Abfragen des Benutzers werden dem System in numerischer Reihenfolge angezeigt, wobei Pfeile die abgeleitete logische und domänenspezifische Argumentation zwischen den einzelnen Fragen darstellen. Das System ruft aus den impliziten und relevanten Informationen (Quelle in blau dargestellt) ab und antwortet auf die Abfrage. Beispiele für Systemreaktionen sind in Abbildung 4 dargestellt. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

figure-results-4
Abbildung 4: Anwendungsfall kardiovaskuläre Pathologie: Aufklärung der Pathogenese von Herz-Kreislauf-Erkrankungen. Abfrage-Antwort-Paare zwischen dem Benutzer und dem RUGGED-System werden angezeigt. Im oberen linken Bereich rufen die Fragen 1 bis 6 Informationen ab, indem sie Informationen aus der Wissensgraphen-Datenbank extrahieren, um evidenzbasierte Antworten zu formulieren. Frage 7 verwendet eine erklärbare Graph-Link-Vorhersage, um die am besten bewerteten Therapeutika zu identifizieren. Die Abfrage löst eine Vorhersageanalyse aus, die vom System automatisch ausgeführt und verarbeitet wird, und die wichtigsten Ergebnisse werden kurz und bündig zusammengefasst. Frage 8 bewertet Literaturnachweise aus dem definierten Textdatenkorpus, die als relevante Beweise abgerufen werden, um den vorhergesagten Befund zu verifizieren, zu validieren und zu bestätigen. Die Systemantworten wurden durch einen Human-in-the-Loop-Inspektionsprozess überprüft und im Hinblick auf Lesbarkeit und Kürze modifiziert. Eine vollständige Abschrift dieser Ergebnisse ist in der Zusatzakte 1 ausführlich beschrieben. Bitte klicken Sie hier, um eine größere Version dieser Abbildung anzuzeigen.

SchritteBeschreibungZeit
Zugang zu biomedizinischem Wissen30% insgesamt
Erstellung eines biomedizinischen LiteraturkorpusStellen Sie eine Verbindung zu PubMed und PubMed Central her, laden Sie Publikationsdaten herunter und analysieren Sie sie für nachgelagerte Aufgaben.20%
Vorbereiten von WissensdatenbankdatenVerbinden Sie sich mit biomedizinischen Wissensdatenbanken, laden Sie die notwendigen Informationen herunter und analysieren Sie sie für nachgelagerte Aufgaben.5%
Extraktion von Informationen30% insgesamt
CaseOLAP LIFT Text-Mining-AnalyseIdentifizieren Sie hochrangige Krankheits-Protein-Beziehungen innerhalb des biomedizinischen Textkorpus.25%
Aufbau von Knowledge GraphVerbinden und integrieren Sie unterschiedliche Informationen aus biomedizinischen Wissensdatenbanken in einem einheitlichen Wissensgraphen.5%
Analyse von Vorhersagen10% Gesamtbetrag
Trainieren Sie das neuronale Netzwerk GraphTrainieren Sie das Modell mit den Daten des biomedizinischen Wissensgraphen, um verborgene Muster innerhalb des Diagramms zu lernen.5%
Analyse des Relevanz-RankingsWenden Sie das Erklärbarkeitsmodul an, um die relevantesten Knoten und Kanten hervorzuheben, die für die Untersuchung von Krankheiten relevant sind.2.5%
Link-VorhersageVerwenden Sie das Erklärbarkeitsmodul, um Schlüsselknoten und Kanten zu identifizieren, die zu neuen vorhergesagten Kanten beitragen.2.5%
Hypothesengenerierung und/oder -validierung30% insgesamt
Datenbank-Setup für Retrieval Augmented GenerationInitialisieren Sie die Graphdatenbank für die Abfrage des Knowledge Graph und die Vektordatenbank für den Textabruf.25%
Untersuchung von HypothesenErmöglichen Sie die Benutzerinteraktion mit RUGGED, um auf relevante Informationen für die Untersuchung von Hypothesen zuzugreifen und diese zu untersuchen.5%

Tabelle 1: Workflow- und Ratenbegrenzungsschritte. Diese Tabelle enthält grobe Schätzungen der Rechenzeit, die für jede Phase des Workflows erforderlich ist. Zu den ratenbegrenzenden Schritten gehören der Zugriff, die Extraktion und die Indizierung von biomedizinischem Wissen, das für die retrieval-gestützte Generierung erforderlich ist. Die Untersuchung von Hypothesen kann kontinuierlich wiederholt werden, ohne dass ratenbegrenzende Schritte erneut ausgeführt werden müssen.

KrankheitskategorieMeSH-Baum-Nummern# PMIDs# Originelle Beiträge# Artikel überprüfen
Kardiomyopathien (CM)Nr. C14.280.238132,531102,33719,942
Nr. C14.280.434
Herzrhythmusstörungen (ARR)Nr. C14.280.067125,28692,37413,854
Nr. C23.550.073
Angeborene Herzfehler (KHK)Nr. C14.280.40082,00654,0236,379
Erkrankungen der Herzklappe (VD)Nr. C14.280.48472,01650,1195,743
Myokardischämie (IHD)Nr. C14.280.647256,986210,04230,223
Erkrankung des kardialen Reizleitungssystems (CCD)Nr. C14.280.12353,05035,3994,363
Obstruktion des ventrikulären Ausflusses (VOO)Nr. C14.280.95522,24415,5041,686
Andere Herzerkrankungen (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
Gesamt635,696478,40469,690

Tabelle 2: Statistiken der biomedizinischen Literatur. In dieser Tabelle sind die Krankheitskategorien der Studie mit den entsprechenden MeSH-Baumnummern und der Anzahl der PubMed-Dokumente aufgeführt, die bis Mai 2024 abgerufen und als Korpus für das Text-Mining verwendet wurden. Eine Teilmenge dieser Publikationen, bestehend aus Forschungsartikeln und Übersichtsartikeln, wird in einer Vektordatenbank indiziert, die von RUGGED während der Hypothesengenerierung abgerufen werden kann.

KategorieAnzahl der KnotenAnzahl der KantenDatenquelle(n)
Anatomie5,049122,533Bgee, PubMed, MeSH, Uberon, 
Biologischer Prozess27,047108,106Gen-Ontologie
Zelluläre Komponente4,05752,238Gen-Ontologie
Verbindung27,2783,292,028DrugBank, MeSH, CTD, UMLS, KEGG, TTD, SIDER, Inxight Drugs, Hetionet, PathFX, MyChem.info
Krankheit21,938311,773PubMed, MeSH, DisGeNET, SIDER, ClinVar, ClinGen, PharmGKB, MyDisease.info, PathFX, UMLS, OMIM, Mondo, DOID, KEGG
Wirkstoffklasse5,7218,283ATC
Gen29,810943,419HGNC, GRNdb, KEGG, ClinVar, ClinGen,
Molekulare Funktion11,15147,086SMPDB, DisGENET, PharmGKB, MyGene.info
Weg52,012234,944Gen-Ontologie
Protein20,7401,074,809Reactome, KEGG, SMPDB
Reaktion14,647128,038UniProt, Reactome, TTD, SMPDB, STRING, HGNC
Zwischensumme219,4506,323,257Reaktom
Text-Mining-Verbände84,670
Gesamt219,4586,327,927

Tabelle 3: Statistiken zu Knowledge Graphen. Diese Tabelle enthält 11 große biomedizinische Kategorien, die den konstruierten Know2BIO-Wissensgraphen umfassen, angereichert mit zusätzlichen Kanten, die aus der Text-Mining-Analyse und der prädiktiven Analyse abgeleitet wurden. Der resultierende Wissensgraph und die Vorhersagen werden von der Neo4j-Graphdatenbank verwaltet, damit sie von RUGGED während der Hypothesengenerierung abgerufen werden können.

GenauigkeitPräzisionRückrufF1-PunktzahlAUROC GmbHAUPRC
Validierung0.71580.66390.87430.75470.84370.8637
Test0.7030.63670.94550.7610.89610.9094

Tabelle 4: Bewertung des erklärbaren KI-Modells. In dieser Tabelle sind die Auswertungsmetriken für die Vorhersage von Wissensgraph-Verknüpfungen mithilfe eines zweischichtigen Graphen-Convolutional Neural Network aufgeführt. Die Metriken wurden bewertet, indem die Graphenkanten in 85 % Trainings-, 5 % Validierungs- und 10 % Testdatensätze unterteilt wurden. Die Genauigkeit gibt den Anteil der korrekt klassifizierten Vorhersagen an. Precision gibt den Anteil der richtigen positiven Vorhersagen an allen positiven Vorhersagen an. Der Recall misst das Verhältnis der richtigen positiven Vorhersagen zu den tatsächlichen positiven Kanten. Der F1-Score ist der harmonische Mittelwert von Präzision und Abruf, der die beiden Metriken ausbalanciert. AUROC bewertet die Fähigkeit des Modells, zwischen positiven und negativen Vorhersagen zu unterscheiden. AUPRC quantifiziert den Kompromiss zwischen Präzision und Abruf über verschiedene Schwellenwerte hinweg. Bei allen Metriken weisen höhere Werte auf eine bessere Modellleistung hin.

Ergänzende Datei 1: Diese Datei enthält die vollständige Modellantwort von RUGGED und einen Vergleich mit GPT-4o. Abschnitt A stellt die vollständige Mensch-Computer-Interaktion mit RRUGED dar, erweitert den in Abbildung 3 beschriebenen Abfragekettenansatz und bietet die vollständige Antwort über die in Abbildung 4 hervorgehobene Zusammenfassung hinaus. Abschnitt B bewertet die Antworten von GPT-4o ohne Abruf mit denen von RUGGED, wobei Attribute wie Präzision, Tiefe, Zuverlässigkeit der Zuverlässigkeit, Zuverlässigkeit der Beweise und Kosten bewertet werden. Bitte klicken Sie hier, um diese Datei herunterzuladen.

Discussion

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

Das RUGGED-Protokoll nutzt moderne Sprachmodelle mit aktuellen Informationen, um Forschern die Möglichkeit zu geben, die sich entwickelnde biomedizinische Landschaft dynamisch zu erkunden und neues Wissen zu gewinnen. Diese Mensch-Computer-Interaktion treibt einen innovativen Prozess voran, der beispielhaft für die Effizienz der Maschine (RUGGED) und die Expertise und das Urteilsvermögen des Ermittlers ist. Dieses Protokoll ist so konzipiert, dass es in der skizzierten Reihenfolge ausgeführt werden kann. Schritt 1 beschreibt die Softwareinstallation. Schritt 2 und Schritt 3 sind für die Vorbereitung biomedizinischer Literatur und Ressourcen unerlässlich, während Schritt 4 diese Informationen für die durch Abruf erweiterte Generierung und Benutzerinteraktion mit dem LLM-System indiziert. Zeitintensive Schritte können gleichzeitig und/oder nacheinander ausgeführt werden. Beispielsweise kann die Erstellung des Neo4j-Diagramms (Schritt 4.2.2) während der Vorhersageanalyse (Schritt 3) beginnen, und die Indizierung kann nach dem Erstellen des Wissensgraphen (Schritt 2.3) und dem Text-Mining (Schritt 2.1) beginnen. Diese Schritte müssen wiederholt werden, um das Endergebnis dieser Zwischenergebnisse zu erhalten. Dieses Protokoll ist zwar für die Abfrage biomedizinischer Informationen konzipiert, kann aber mit geringfügigen Änderungen auch andere Text- und Grafikdaten verarbeiten, wie z. B. interne Daten, klinische Notizen oder elektronische Patientenakten. Details zur Datenformatierung finden Sie in Schritt 4.2.

Der Betrieb dieser Plattform beruht auf der ordnungsgemäßen Installation und Verbindung mehrerer Technologien, einschließlich Sprachmodellen, Graphdatenbanken und Vektordatenbanken (siehe Materialtabelle). Um zu überprüfen, ob diese Dienste ordnungsgemäß installiert und verbunden sind, werden Testskripte im Ordner "test" im GitHub-Repository bereitgestellt. Für externe Dienstleistungen können Kosten anfallen, deren Preise vom Verkäufer geändert werden können. Diese optionalen Dienste verfügen auch über lokal gehostete Alternativen, die nur ausreichende Rechenressourcen erfordern. Diese Alternativen können sich jedoch auf die Leistung und/oder den Komfort des Modells auswirken, sodass sie für einige Anwendungsszenarien ungeeignet sind.

Mit der sich schnell entwickelnden LLM-Landschaft werden regelmäßig neue wegweisende Modelle und aufgabenspezifische Modelle veröffentlicht. Zum Zeitpunkt der Erstellung dieses Berichts wurden die am besten geeigneten Modelle für diese Aufgabe ausgewählt. Benutzer können auswählen, welches LLM verwendet werden soll, indem sie die Konfigurationsdatei entsprechend aktualisieren (siehe Schritte 1.3.2-1.3.4). Die Auswahl der Modelle hängt von ihrer Relevanz für einen bestimmten Anwendungsfall ab. Zum Beispiel ist die Einbeziehung von Modellen, die darauf abzielen, sicherzustellen, dass die Modellantworten fair, zensiert und frei von Hassreden 73,74,75,76,77,78 sind, in diesen Arbeitsablauf aus ethischen Gründen unerlässlich. Darüber hinaus ist eine zeitnahe Entwicklung unerlässlich, um ein zuverlässiges und verantwortungsbewusstes Verhalten des LLM 79,80,81,82 zu gewährleisten. Die für den RUGGED-Workflow erstellten Eingabeaufforderungen sind auf die verwendeten Modelle und vorgestellten Anwendungsfälle zugeschnitten. Um die Eingabeaufforderungen für einen anderen Anwendungsfall zu optimieren, können Benutzer Eingabeaufforderungen innerhalb des RUGGED-Workflows im Ordner "configuration" in der Datei "prompts.json" bearbeiten.

Obwohl RAG-Systeme darauf abzielen, Halluzinationen bei LLMs zu reduzieren, indem sie Reaktionen auf Evidenz gründen, können diese Modelle immer noch zu ungenauen Informationen oder allgemein wahren, unspezifischen Reaktionen führen. Ein Benchmark-Vergleich von RUGGED mit GPT-4o ist in der Zusatzdatei 1, Abschnitt B enthalten. Modellhalluzinationen treten häufig auf, wenn die abgerufenen Informationen das Kontextfenster des Modells überschreiten, analog zu Demenz mit Gedächtnisverlust und Unfähigkeit, den Dateninhalt zu lokalisieren, was zu ungenauen Antworten führt 83,84,85. Die Wahl eines geeigneten LLM-Modells hilft, dieses Problem zu entschärfen. Zum Beispiel hat GPT-4o ein Kontextlimit von 128.000 Token, deutlich mehr als das 16.000-Token-Limit von GPT-3.5 Turbo, wenn auch mit höheren Kosten für den Benutzer. Darüber hinaus können LLMs, die auf spezifisches Domänenwissen abgestimmt sind, möglicherweise die Genauigkeit und Spezifität der Reaktionen in biomedizinischen Anwendungen verbessern 86,87,88. Trotz dieser Maßnahmen ist es wichtig, die Informationen zu überprüfen, bevor mit kostspieligen Nasslaborexperimenten fortgefahren wird.

RUGGED nutzt erklärbare KI innerhalb einer RAG-Pipeline, um Link-Vorhersagen zu untersuchen und sowohl zuverlässige als auch bisher unentdeckte Beziehungen zu identifizieren. Während traditionelle RAG-Systeme auf einem auf Ähnlichkeit basierenden Retrieval in großen Mengen beruhen, verbindet dieser Ansatz Erklärbarkeit mit einer gezielten Response-Augmentation. Tabelle 4 unterstreicht die starke Leistung des Modells und zeigt einen hohen Recall (Validierung: 0,975 Test: 0,976) und ausgewogene F1-Werte (Validierung: 0,796, Test: 0,797), was auf eine Zuverlässigkeit bei der Identifizierung von richtig positiven Ergebnissen hinweist, wenn auch mit einer höheren Rate an falsch positiven Ergebnissen. Die Robustheit des Modells wird auch durch die AUROC- (Validierung: 0,963, Test: 0,964) und AUPRC-Werte (Validierung: 0,971, Test: 0,972) unterstützt. Die Genauigkeit (Validierung: 0,673, Test: 0,674) könnte jedoch von der Schwellenwertoptimierung, der Einbeziehung detaillierter Knotenfunktionen oder einer verbesserten Behandlung von Klassenungleichgewichten profitieren. Die Effektivität des Modells hängt stark vom Eingabe-Wissensgraphen ab. Bei kleineren Graphen besteht ein Risiko bei kleineren Graphen, während bei größeren Graphen größere Rechenressourcen erforderlich sind. Jeder RAG-basierte Ansatz hängt jedoch stark von der Qualität der Daten ab, die dem Abruf zugrunde liegen. So ist beispielsweise die Erstellung eines Knowledge Graphen aufgrund des intrinsischen Rauschens auf dem ursprünglichen Graphen oft zeit- und arbeitsintensiv. Dies erfordert sowohl manuellen Aufwand für die Entrauschung und Kennzeichnung als auch laufende Kosten für Wartung und Aktualisierung der Datenbanken.

Der Haupteinsatz von RUGGED liegt in der Wissenssynthese und der Hypothesenerkundung. Durch die Untersuchung verschiedener verborgener Zusammenhänge, wie z. B. Krankheitsmechanismen und medikamentöse Behandlungen, führt RUGGED eine effiziente Literatur-Triage durch. Um den Rechenaufwand zu reduzieren, können die meisten Anwendungen auf einem Server (z. B. AWS oder Rechenserver) gehostet und so konfiguriert werden, dass sie regelmäßig mit den neuesten Informationen aktualisiert werden. Darüber hinaus kann dieser Workflow angepasst werden, um domänenspezifische Anwendungen zu realisieren, z. B. als Plattform für die Einbeziehung von Patientendaten in lokale Modelle, um Sicherheit, Datenschutz und Vertraulichkeit zu gewährleisten. Über die biomedizinische Forschung hinaus ermöglicht das modulare Design von RUGGED, Aufgaben in den Bereichen Informationsgewinnung, Inferenz und Zusammenfassung zu unterstützen, indem die RAG-Pipeline angepasst und auf den Zielbereich zugeschnittene Engineering-Strategien entwickelt werden. Eine erfolgreiche Anpassung erfordert eine sorgfältige Berücksichtigung domänenspezifischer Herausforderungen, wie z. B. die Vorverarbeitung verschiedener Datenformate und die Evaluierung geeigneter Modelle für aufgaben- und domänenspezifische Anforderungen.

Disclosures

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

Die Autoren haben nichts offenzulegen.

Acknowledgements

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

Die Autoren danken Dr. Alex Bui für seine Anleitung und nachdenkliche Diskussion. Darüber hinaus danken wir Dr. Ding Wang für seine hilfreichen Gespräche. Diese Arbeit wurde teilweise unterstützt von NIH 1U54HG012517-01 an P.P., K.W. und W.W.; NIH T32 HL13945 zu A.R.P.; National Science Foundation Research Traineeship (NRT) 1829071 zu A.R.P.; und die TC Laubisch Endowment to P.P. an der UCLA.

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
Hardware/Software - Grafikkarte und SoftwaretreiberNvidiahttps://www.nvidia.comEine Grafikkarte und die zugehörige Treibersoftware werden dringend empfohlen, um die Laufzeit für rechenintensive Aufgaben wie lokales LLM und prädiktive Analysen erheblich zu reduzieren. Für Geräte, die mit einer NVIDIA RTX-GPU ausgestattet sind, laden Sie die erforderlichen Treiber und das CUDA Toolkit von der NVIDIA-Website herunter und installieren Sie es https://developer.nvidia.com/cuda-downloads.
Software - Kommerzieller Dienst für große SprachmodelleOpenAIhttps://openai.comRUGGED unterstützt die OpenAI-API für Modelle wie GPT-3.5 und GPT-4o. Um die Einrichtung mithilfe von OpenAI-Modellen durchzuführen, rufen Sie zunächst einen OpenAI-API-Schlüssel ab. Gehen Sie auf die OpenAI-Website (https://openai.com/blog/openai-api), um ein Konto zu erstellen, Geld aufzuladen und einen API-Schlüssel zu erhalten. Dieser API-Schlüssel ist erforderlich, damit RUGGED OpenAI-Modelle verwenden kann. Ermitteln Sie, welche LLM-Agenten innerhalb des RUGGED-Systems OpenAI-Modelle aus der Dokumentation (https://platform.openai.com/docs/models) verwenden.
HINWEIS: Die OpenAI-API ist ein kostenpflichtiger Service. Zum Zeitpunkt der Veröffentlichung betragen die Kosten für GPT-4o 5,00 USD pro 1 Million Eingabe-Token und 2,50 USD pro 1 Million Ausgabe-Token (Weitere Informationen finden Sie unter https://openai.com/pricing).
Software - ContainerisierungDockerhttps://www.docker.comDocker hilft bei der Aufrechterhaltung einer konsistenten rechnerischen Laufzeitumgebung und optimiert die Softwareinstallation und -ausführung auf verschiedenen Maschinen. Um Docker zu installieren, besuchen Sie die Docker-Website (https://www.docker.com/), klicken Sie auf "Erste Schritte", laden Sie die entsprechende Version für das Betriebssystem herunter und installieren Sie sie. Überprüfen Sie die Installation, indem Sie "docker --version" in das Terminal eingeben. Bei erfolgreicher Installation wird die installierte Docker-Version gemeldet.
Software - GraphdatenbankNeo4jhttps://neo4j.comNeo4j ist eine Graphdatenbanksoftware, die graphbasierte Knoten und Beziehungen effizient verwaltet und abfragt. RUGGED unterstützt Neo4j in mehreren Formen: Docker-Container, Neo4j Desktop oder Neo4j AuraDB Online-Server. Wählen Sie die Option, die für den Anwendungsfall am besten geeignet ist.
Neo4j als Docker-Container einrichten. Führen Sie diese Befehle aus, um Neo4j in Docker einzurichten, wobei der Dateipfad für den Ordner (z. B. /Users/username/RUGGED) als 'PATH_TO_FOLDER' angegeben ist. Weitere Informationen zur Fehlerbehebung finden Sie auf der Neo4j Docker-Website (https://hub.docker.com/_/neo4j).
docker pull neo4j
docker run – name neo4j --net rugged_network --publish=7474:7474 --publish=7687:7687 -d -v 'PATH_TO_FOLDER'\neo4j\data:/data neo4j
HINWEIS: Initialisieren Sie Neo4j zum ersten Mal in Docker, indem Sie einen Benutzernamen und ein Passwort festlegen. Führen Sie das neo4j_setup.py Skript (z.B. python neo4j_setup.py) oder über die Weboberfläche unter http://localhost:7474.
Neo4j Desktop einrichten aus. Wenn Sie Neo4j Desktop verwenden, laden Sie es von der Neo4j-Website herunter und installieren Sie es https://neo4j.com/. Erstellen Sie ein neues Projekt, indem Sie auf "Neu" klicken und dann auf "Hinzufügen" klicken, um ein neues Datenbankmanagementsystem (DBMS) zu erstellen. Wählen Sie "Lokales DBMS", legen Sie ein Passwort fest, klicken Sie auf "Erstellen" und dann auf "Start". Ein grüner "ACTIVE"-Text zeigt an, dass es läuft.
Einrichten von Neo4j AuraDB. Besuchen Sie die Neo4j-Website unter (https://neo4j.com/cloud/aura-free/), um ein Konto zu erstellen und sich anzumelden. Wählen Sie "Neue Instanz", um eine leere Instanz zu erstellen, und speichern Sie die URI und das Initialkennwort, um auf die Bolt-Schnittstelle zuzugreifen (z. B. bolt://myurl.neo4j.com). Klicken Sie auf die Wiedergabeschaltfläche, um die Instanz zu starten, woraufhin die Verbindungs-URI im Informationsfeld angezeigt wird.
HINWEIS: Neo4j AuraDB bietet ein kostenloses Kontingent von bis zu 200.000 Knoten und 400.000 Beziehungen. Größere Grafiken finden Sie unter Neo4j-Preise (https://neo4j.com/pricing).
Software - Local Large Language Model ServiceOllamahttps://ollama.comRUGGED unterstützt die Verwendung lokaler Modelle mit Ollama (z. B. Llama3). Um die Aktivierung zu aktivieren, installieren Sie zunächst Ollama auf dem Gerät oder laden Sie den Docker-Container herunter. Um Ollama zu installieren, besuchen Sie die Ollama-Website (https://ollama.com/download) und befolgen Sie die Installationsanweisungen. Um Ollama auf Docker zu installieren, führen Sie den folgenden Befehl aus:
docker pull ollama/ollama
HINWEIS: Zum Zeitpunkt der Veröffentlichung gibt es keine stabile Version für Ollama unter Windows.
Software - VersionskontrolleGithttps://www.git-scm.comVersionskontrollsoftware ermöglicht die effiziente Installation und Aktualisierung von Software. Um Git zu installieren, besuchen Sie die Git-Website (https://www.git-scm.com/), klicken Sie auf "Downloads", laden Sie die entsprechende Version für das Betriebssystem herunter und installieren Sie sie. Überprüfen Sie die Installation, indem Sie "git --version" in das Terminal eingeben. Bei erfolgreicher Installation wird die installierte Version von Git gemeldet.

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