Method Article

Evidence-based kennissynthese en validatie van hypothesen: navigeren door biomedische kennisbanken via verklaarbare AI en agentische systemen

DOI:

10.3791/67525

June 13th, 2025

In This Article

Summary

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

In dit artikel wordt RUGGED (Retrieval Under Graph-Guided Explainable disease Distinction) beschreven, dat Large Language Model (LLM)-inferentie integreert met Retrieval-Augmented Generation (RAG). Het haalt bewijs uit door experts samengestelde biomedische kennisbanken en collegiaal getoetste biomedische publicaties om nieuwe kennis te synthetiseren uit up-to-date informatie, verklaarbare en bruikbare voorspellingen te identificeren en veelbelovende richtingen te vinden voor hypothesegedreven onderzoeken.

Abstract

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

De schaal van biomedische kennis, die zich uitstrekt over wetenschappelijke literatuur en gecureerde kennisbanken, vormt een grote uitdaging voor onderzoekers bij het effectief verwerken, evalueren en interpreteren van bevindingen. Grote taalmodellen (LLM's) zijn naar voren gekomen als krachtige hulpmiddelen om door dit complexe kennislandschap te navigeren, maar kunnen hallucinerende reacties veroorzaken. Retrieval-Augmented Generation (RAG) is essentieel voor het identificeren van relevante informatie om de nauwkeurigheid en betrouwbaarheid te verbeteren. Dit protocol introduceert RUGGED (Retrieval Under Graph-Guided Explainable disease Distinction), een uitgebreide workflow die is ontworpen om kennisintegratie te ondersteunen, vooroordelen te verminderen en nieuwe onderzoeksrichtingen te verkennen en te valideren. Biomedische informatie uit publicaties en kennisbanken wordt gesynthetiseerd en geanalyseerd door middel van text-mining associatieanalyse en verklaarbare grafiekvoorspellingsmodellen om mogelijke relaties tussen geneesmiddelen en ziekten aan het licht te brengen. Deze bevindingen, samen met het corpus van de brontekst en de kennisbanken, zijn opgenomen in een raamwerk dat gebruikmaakt van RAG-versterkte LLM's om gebruikers in staat te stellen hypothesen te verkennen en onderliggende mechanismen te onderzoeken. Een klinische use case toont het vermogen van RUGGED's aan bij het evalueren en aanbevelen van therapieën voor aritmogene cardiomyopathie (ACM) en gedilateerde cardiomyopathie (DCM), het analyseren van voorgeschreven geneesmiddelen op moleculaire interacties en mogelijke nieuwe toepassingen. Het platform vermindert LLM-hallucinaties, belicht bruikbare inzichten en stroomlijnt het onderzoek naar nieuwe therapieën.

Introduction

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

Het hypothese-exploratieproces in de biomedische onderneming is essentieel om nieuwe onderlinge afhankelijkheden tussen moleculen, geneesmiddelen en ziekten aan het licht te brengen die ten grondslag liggen aan pathogenese en om therapeutisch potentieel te ontsluiten 1,2. Dit proces haalt bewijs uit bestaande biomedische kennis, synthetiseert nieuwe bevindingen op basis van logische aanwijzingen die zijn ingebed in collegiaal getoetste literatuur (bijv. >36 rapporten van PubMed) en integreert zeer betrouwbaar gecureerd bewijs dat geworteld is in biomedische kennisbanken. Recente ontwikkelingen verminderen moeizame handmatige inspanning door text mining toe te passen op literatuurcorpra 3,4,5 en door gebruik te maken van op grafiekengebaseerde analyses 6,7,8,9 om relevante informatie te synthetiseren en nieuwe wegen voor onderzoek te ontdekken. Ondanks deze inspanningen ondersteunen de huidige benaderingen vaak geen diepgaand contextueel begrip vanwege gefragmenteerde gegevens. Bovendien missen ze het vermogen om op bewijs gebaseerde gevolgtrekkingen te trekken en interactief nieuwe hypothesen te verkennen.

Recente ontwikkelingen in Large Language Models (LLM's) werpen een nieuw licht op deze uitdagingen en demonstreren contextueel begrip op hoog niveau door training in enorme hoeveelheden informatie in meerdere disciplines 10,11,12. In het biomedische domein hebben LLM's een veelbelovende rol laten zien bij het extraheren van patiëntinformatie13 en algemene klinische vraagbeantwoording14,15, terwijl toepassingen in domeinspecifieke vraagbeantwoording16 en hulpprogramma's in eerstelijns klinische zorg17 nog moeten worden onderzocht. Deze modellen vertonen het vermogen om te redeneren en conclusies te trekken uit complexe datasets, waardoor ze potentieel geschikt zijn voor het uitvoeren van hypothese-exploratie en kennissynthese. Bovendien bieden sommige modellen chat-achtige interactie om gebruikers te betrekken en dynamische verkenning van onderwerpen mogelijk te maken, waarbij de conventionele grenzen van op query's gebaseerde zoekmachines en kennisbanken worden overschreden18,19.

Naast deze mogelijkheden staan LLM's voor aanzienlijke uitdagingen, zoals mogelijke hallucinatie van informatie, het tonen van ongerechtvaardigd vertrouwen in mogelijk onnauwkeurige verklaringen, gebrek aan interpreteerbaarheid en vatbaar zijn voor bevooroordeelde of ongepaste inhoud 20,21,22,23,24 . Rechtstreeks toegepast op het begeleiden van klinische besluitvorming, staan de van LLM afgeleide antwoorden en voorspellingen op het spel; Eventuele fouten kunnen mogelijk leiden tot kostbare laboratoriumexperimenten of een negatieve invloed hebben op de gezondheidstrajecten van de patiënt25,26. Betrouwbare en betrouwbare LLM-antwoorden zijn dus van het grootste belang, aangezien hun advies stevig geworteld moet zijn in bewijsmateriaal. In deze scenario's is interpreteerbaarheid geen luxe, maar een noodzaak om te begrijpen waarom deze modellen de voorspellingen doen die ze doen.

Daartoe is Retrieval-Augmented Generation (RAG) een systeem dat is ontworpen om LLM-hallucinaties te minimaliseren, waarbij LLM-responsen worden gebaseerd op bewijs om hun nauwkeurigheid en betrouwbaarheid te verbeteren27,28. Deze aanpak omvat meestal het ophalen van relevante tekstpassages, zoals het integreren van een LLM (bijv. ChatGPT) met PubMed, waardoor relevante citaties voor gebruikersquery's kunnen worden geïdentificeerd29,30. Niet beperkt tot tekst, het ophalen op Knowledge Graphs (KG's) is veelbelovend in toepassing op LLM's voor taken zoals factchecking 31,32,33, transparant redeneren 34,35,36, het coderen van kennis37, het verbeteren van het beantwoorden van vragen38 en het voltooien van knowledge graphs39. Door feitelijke informatie uit geverifieerde bronnen te coderen, verbeteren KG's de nauwkeurigheid, transparantie en betrouwbaarheid van LLM-antwoorden. Koppelingsvoorspellingstechnieken in deze grafieken maken gebruik van deep learning om voorheen verborgen relaties tussen moleculen, medicijnen en ziekten te identificeren 5,40,41. Recente ontwikkelingen op het gebied van verklaarbare AI-voorspellingen verbeteren de transparantie en interpreteerbaarheid van deze linkvoorspellingstaken verder en bieden potentiële ondersteuning om biomedische hypothesen te interpreteren als een levensvatbare weg voor onderzoek 42,43,44. Deze ontwikkelingen zorgen ervoor dat door LLM gegenereerde antwoorden evenwichtig zijn en uit het bewijsmateriaal worden getrokken, waardoor hun toepasbaarheid in biomedische ondernemingen aanzienlijk wordt vergroot.

Dit protocol presenteert RUGGED (Retrieval Under Graph-Guided Explainable disease Distinction) als een toegankelijke en efficiënte workflow voor de verkenning en validatie van klinische therapeutische inzichten (Figuur 1). Dit workflowprotocol maakt gebruik van de enorme bronnen van biomedische literatuur en kennisbanken voor de extractie en validatie van relevante informatie, waardoor op query's afgestemde ophaalprocessen mogelijk zijn (Figuur 2). Een verklaarbaar voorspellingsmodel voor kunstmatige intelligentie wordt gebruikt om interpreteerbare en bruikbare inzichten uit de bestaande biomedische kennis te halen, waardoor de transparantie en bruikbaarheid van voorspellende modellen worden vergroot. De voltooide workflow stroomlijnt de verkenning van kennisgrafieken en modelvoorspellingen via LLM's met RAG, waardoor intuïtieve en geïnformeerde interacties voor onderzoekers, clinici en klinische professionals worden vergemakkelijkt.

In dit gedeelte wordt de basis gelegd voor het protocol, met stappen om deze aanpak te implementeren die in het volgende deel worden beschreven. Vervolgens wordt een translationele klinische use case getoond om deze aanpak te demonstreren, toegepast op de evaluatie van geneesmiddelen op moleculaire interacties en therapeutische strategieën voor cardiovasculaire geneeskunde. Tot slot worden de implicaties en bespreking van dit protocol besproken.

Protocol

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

Dit protocol is ontwikkeld in Python 3.10 en geïmplementeerd als Docker-container in Windows. De meegeleverde opdrachten zijn gebaseerd op de Unix-omgeving in de Docker-container. De software is verkrijgbaar bij https://github.com/pinglab-utils/RUGGED. Tabel 1 geeft een schatting van de rekentijd voor alle stappen in het protocol.

1. Installatie van de software

  1. Installeer de vereiste software volgens de instructies in de materiaaltabel.
    OPMERKING: Dit protocol vereist versiebeheer, containerisatie, een graafdatabase en LLM-services (Large Language Model). Versiebeheer en containerisatie zijn optioneel, maar kunnen het installatieproces vereenvoudigen; graph database en LLM-services kunnen worden vervangen door vergelijkbare tools als de gebruiker technisch bekwaam is.
    1. Netwerken tussen containers configureren. Configureer Docker-containers om te worden verbonden met andere services op het apparaat (bijvoorbeeld andere Docker-containers). Typ de volgende opdracht in de terminal: docker-netwerk rugged_network maken
  2. Stel LLM's (Large Language Models) services in. Kies de juiste LLM-service voor het gebruik, uit commerciële LLM-services of services van een lokaal model dat op het apparaat van de gebruiker wordt uitgevoerd. Zorg ervoor dat er minimaal één LLM-service is opgegeven, hoewel agenten kunnen worden gemengd en gematcht om gebruik te maken van verschillende modellen.
    1. Start lokale LLM-service. Als u Ollama gebruikt met behulp van een grafische gebruikersinterface (GUI), voert u het uitvoerbare GUI-bestand uit (bijv. ollama.exe). Als u Docker gebruikt, voert u het volgende uit: 'docker run -name ollama --net rugged_network d -v ollama:/root/.ollama -p 11434:11434 ollama/ollama'. Als u Docker met GPU-versnelling gebruikt, zorgt u ervoor dat het GPU-stuurprogramma is geïnstalleerd en voert u het volgende uit: 'docker run -name ollama --net rugged_network -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 ollama/ollama'.
    2. Initialiseer het lokale LLM-model. Bepaal welk model u wilt gebruiken uit de ondersteunde modellen (bijv. Aanbevolen: lama3, mistral, mixtral. Als u Docker gebruikt, typt u 'docker exec run ollama run ' in de opdrachtregel; als u Ollama GUI gebruikt, typt u 'ollama run ' en vervangt u door de modelnaam voor elk.
  3. Start de Graph Database-service. Selecteer een grafiekdatabaseservice in de Docker-container, de desktoptoepassing of de onlinewebservice. Volg de installatie-instructies in de aanvullende materialen om de installatie te voltooien.
  4. Stel de RUG-omgeving in. Controleer de gedownloade Docker-afbeeldingen door docker-afbeeldingen te typen. Zorg ervoor dat alle Docker-afbeeldingen van de vorige stap worden weergegeven. Voer deze opdrachten uit in de terminal om de RUGGED Docker-installatiekopie en -code te downloaden:
    Docker Pull Pinglabutils/Robuust:Laatste
    OPMERKING: git kloon https://github.com/pinglab-utils/RUGGED
    1. Configureer de commerciële LLM-service. Als u commerciële LLM-services gebruikt, moet u ervoor zorgen dat het account en de bijbehorende API-sleutel voldoende saldo hebben. Wijzig RUGGED-configuratiebestanden door het configuratiebestand te bewerken op 'RUGGED/config/openai_key.txt' en de API-sleutel aan het bestand toe te voegen.
    2. Commerciële agenten configureren. Bepaal welke LLM-agents binnen het systeem van RUGGED gebruik gaan maken van deze service. Wijzig het configuratiebestand in 'RUGGED/config/llm_agents.json' en werk de agentvelden bij om de modelversie op te geven. Aanbevolen modellen: gpt-3.5-turbo, gpt-4o.
    3. Configureer de lokale LLM-service. Als u een ander service-eindpunt gebruikt dan het standaardeindpunt voor Ollama op 'http://localhost:11434', wijzigt en actualiseert u het veld 'OLLAMA_URI' in de configuratiebestanden bij 'RUGGED/config/ollama_config.json'.
    4. Configureer lokale LLM-agents. Bepaal welke LLM-agents binnen het systeem van RUGGED gebruik gaan maken van deze service. Wijzig het configuratiebestand bij 'RUGGED/config/llm_agents.json' en werk de agentvelden bij om 'ollama' op te geven als het geselecteerde model.
    5. Configureer het eindpunt van de grafiekdatabase. Indien gewijzigd ten opzichte van het standaard wachtwoord en gebruikersnaam voor Neo4j, bewerk dan het configuratiebestand 'RUGGED/config/neo4j_config.json' om de velden 'uri', 'gebruikersnaam' en 'wachtwoord' bij te werken.
  5. Start de RUGG-service door de opdracht uit te voeren:
    docker run --name rugged -it --net rugged_network --gpus=all -v \RUGGED\:/data ping-lab-
    Toepassingen: ROBUUST /bin/bash
    OPMERKING: Om te controleren of de services werken zoals verwacht, navigeert u naar de RUGGED-map en voert u stap 1.4.1 uit. via stap 1.4.4. in dit terminalvenster.
    1. Controleer de functionaliteit van de LLM-service. Navigeer naar de testmap in de RUGGED-map en voer de volgende opdrachten uit om te controleren of OpenAI- en/of Ollama-services werken:
      Python test_openai.py
      Python test_ollama.py
    2. Controleer de functionaliteit van de herkenningsservice voor benoemde entiteiten. Voer 'test_ner.py' uit om te controleren of de code voor Named Entity Recognition van gebruikersquery's goed werkt.
    3. Controleer de functionaliteit van de Neo4j-service. Voer testscripts uit om te controleren of de Neo4j-service werkt zoals verwacht door 'python test_neo4j.py' te typen
    4. (Optioneel) Controleer de HTTP-toegang tot de graafdatabase. Open een webbrowser en bezoek de Neo4j gebruikersinterface.
      LET OP: Voor Neo4j in Docker of Desktop is de standaard URL 'http://localhost:7474'. Gebruik voor Neo4j AuraDB de link die tijdens de installatie is verstrekt.
  6. (Optioneel) Problemen oplossen. Zorg ervoor dat de services die RUGGED ondersteunen, worden geverifieerd tijdens de installatie van de software om te anticiperen op problemen. Los eventuele mislukte tests uit stap 1.4 op. Als ze bestaan, volgt u de foutmeldingen die worden gerapporteerd door de testscripts die de problemen beschrijven.
    1. Controleer Docker-containers. Controleer of alle Docker-containers worden uitgevoerd met behulp van 'docker ps' in de terminal, inclusief de RUGGED docker-container, Neo4j docker-container (optioneel) en Ollama docker-container (optioneel).
    2. Controleer de netwerkpoorten. Zorg er voor Docker-services voor dat de juiste poorten open zijn en controleer logboeken met 'docker logs neo4j' of 'docker logs ollama'.
      OPMERKING: Neo4j gebruikt standaard poorten 7474 voor http en 7687 voor de boutinterface; Ollama maakt gebruik van poort 11434.
    3. Controleer servicetoepassingen. Voor applicaties die rechtstreeks op het apparaat zijn geïnstalleerd (bijv. Ollama en Neo4j Desktop), opent u de applicaties om te bevestigen dat ze actief zijn.
    4. Webservices verifiëren. Voor Neo4j AuraDB log je in op de website en controleer je of de service actief is.
    5. Controleer de firewallregels. Wijzig de firewallregels van het apparaat om ervoor te zorgen dat de firewall geen externe services blokkeert.
    6. Start het apparaat opnieuw op. Als de problemen niet zijn opgelost, start u het apparaat opnieuw op en probeert u het opnieuw vanaf stap 1.5.1.
    7. Open een probleem. Als de problemen aanhouden, opent u een probleem op de RUGGED GitHub (https://github.com/pinglab-utils/RUGGED).

2. Toegang tot biomedische kennis en extractie-informatie

OPMERKING: Deze stappen schetsen twee kennisextractiepijplijnen als de onderliggende informatie die het Retrieval Augmented Generation (RAG)-systeem van RUGGED vormt: (1) de CaseOLAP LIFT biomedische tekstmining-pijplijn5 en (2) de Know2BIO-workflow voor het maken van kennisgrafieken9. Als u RUGGED wilt gebruiken met aangepaste gegevens, gaat u verder met stap 4.

  1. Extraheer biomedische literatuur. Identificeer relevante documenten en eiwit-ziekterelaties op hoog niveau met behulp van CaseOLAP LIFT, een computationeel protocol dat is ontworpen om subcellulaire eiwitten en hun associaties met ziekte te onderzoeken door middel van biomedische literatuurtekstmining. Voltooi deze stap om de benodigde informatie voor te bereiden om de RAG-workflow te informeren met gerichte inzichten uit deze rapporten.
    1. Voer CaseOLAP LIFT Text Mining-analyse uit. Bezoek het CaseOLAP LIFT JoVE-protocol (stappen 4-5 zijn niet nodig voor deze analyse).
    2. Verplaats verwerkte tekstdocumenten. Zorg ervoor dat de geparseerde biomedische documenten (pubmed.json) en hun volledige tekst (pmid2full_text_sections.json) uit stap 3 zich in de gegevensmap van CaseOLAP LIFT bevinden. Verplaats deze bestanden naar de map RUGG-gegevens met behulp van de onderstaande opdrachten:
      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. Verplaats text mining-resultaten. Controleer of het knowledge graph-bestand (merged_edge_list.tsv) met eiwitziekte-associaties is gegenereerd in de map resultaat/kg. Controleer of het aantal koppelingen is zoals verwacht, afhankelijk van de geselecteerde instellingen uit stap 1-3 (zie bijvoorbeeld Tabel 2 ). Verplaats dit bestand naar de gegevensmap van RUGGED:
      mv /caseolap_lift/caseolap_lift_shared_folder/resultaat/graph_data/ merged_edge_list.tsv /RUGGED/data/knowledge_graph
  2. Extraheer biomedische kennis. Stel een biomedische kennisgrafiek samen met behulp van de Know2BIO-software , die gegevens uit 30 biomedische kennisbanken integreert. Voltooi deze stap om ervoor te zorgen dat de informatie voor deze biomedische relaties en multimodale gegevens worden verwerkt ter ondersteuning van de downstream RAG-workflow.
    1. Kloon Know2BIO repository. Kloon de repository door in de opdrachtregel te typen met behulp van de onderstaande opdracht. Navigeer naar de Know2BIO-repository.
      Git kloon https://github.com/Yijia-Xiao/Know2BIO.git.
    2. Bereid gegevens en licenties voor. Navigeer naar de map met de dataset en volg de instructies in het bestand 'README.md'. Voltooi het noodzakelijke aanmaken van gebruikersaccounts om toegang te krijgen tot verschillende online bronnen (bijv. UMLS-thesaurus, Drug Bank).
    3. Download de informatiebank. Voer het 'python create_edge_files.py'-script uit en bewaak de voortgang van de knowledge graph-extractiepijplijn. Zorg ervoor dat het .csv bestand in de map 'Know2BIO/dataset/output' dat biomedische relaties vertegenwoordigt, is gegenereerd.
    4. Bouw een kennisgrafiek. Voer het 'python prepare_kgs.py'-script uit om de informatie die in de vorige stap is geëxtraheerd te integreren om de geëxtraheerde relaties automatisch te combineren tot een uniforme kennisgrafiek, waarbij de grafiek wordt opgemaakt op gegevensbron en domein.
    5. Controleer de uitvoer. Controleer of de voltooide bestanden aanwezig zijn in het bestand 'whole_kg.txt' in de map 'Know2BIO/dataset/know2bio_dataset'. Controleer of het aantal randen in het bestand is zoals verwacht; zie Tabel 3, wat resulteerde in meer dan 6 miljoen randen. Ga door naar de volgende stap, aangezien de resterende stappen in de Know2BIO README niet nodig zijn voor deze analyse.
      OPMERKING: De relaties van Know2BIO in Tabel 3 waren bronnen uit 31 bronnen, waaronder ATC (Wereldgezondheidsorganisatie), 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 en UniProt70.
    6. Verplaats de resultaten van de kennisgrafiek. Verplaats het bestand naar de '/data/knowledge_graph/' van de RUGGED-map.
      mv /Know2BIO/dataset/know2bio/whole_kg.txt /RUGGED/data/knowledge_graph
  3. Maak een gecombineerde kennisgrafiek. Integreer de grafiek van de vorige stap met de eiwit-ziekterelaties op hoog niveau van tekstmining uit stap 2.1 in één uniforme kennisgrafiek.
    1. Controleer de resultaten in de map RUGGED. Controleer of het bestand met constructieresultaten van de kennisgrafiek (whole_kg.txt) en de resultaten van de tekstminingrelatie (merged_edge_list.tsv) zich in de map knowledge_graph in de gegevensmap bevinden.
    2. Integreer de resultaten. Voer een 'combine_kg_results.py'-script uit om de geëxtraheerde relaties en entiteiten uit de tekstmininganalyse en knowledge graph-constructie samen te voegen tot één samenhangende knowledge graph. Volg de onderstaande voorbeeldopdracht:
      Python robuust/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. Filter kennisgrafiek. (Optioneel) Neem een steekproef van een subset van de kennisgrafiek die zal worden gebruikt voor de voorspellende analyse. Deze stap behoudt alleen nauw verwante relaties en vermindert de rekenkracht die nodig is om de deep learning-voorspellingen uit te voeren.
    1. Identificeer relevante knooppunten. Bepaal de biomedische entiteiten die van belang zijn voor de voorspellende analyse in stap 3 door de kennisgrafiek te bekijken en relevante knooppunten aan te wijzen.
      OPMERKING: Dit protocol richt zich op ziekteknooppunten voor aritmogene cardiomyopathie (ACM) en gedilateerde cardiomyopathie (DCM), zoals MeSH_Disease: respectievelijk D019571 en MeSH_Disease: D002311. Doelknooppunten moeten worden afgestemd op het beoogde gebruik.
    2. Voorbeeld uit de kennisgrafiek. Gebruik het 'filter.py'-script om de knowledge graph-subgraaf die bereikbaar is binnen k-hop te extraheren uit de geselecteerde knooppunten van belang. Volg de onderstaande voorbeeldopdracht, die de grafiek filtert die bereikbaar is binnen 2 knooppunten van de geselecteerde ziekteknooppunten:
      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/.
      OPMERKING: Het verhogen van de k-hop-waarde (--k) vergroot het gegevensbereik binnen de grafiek voor voorspellingsanalyse, maar vereist ook meer rekenkracht.

3. Verklaarbare voorspellingsanalyse

OPMERKING: Voer GNNExplainer44 uit op een Graph Convolutional Network-model om potentiële randen (relaties) in de kennisgrafiek te voorspellen en inzicht te geven in voorheen onbekende associaties.

  1. Zorg ervoor dat de RUGGED Docker-container actief is. Als het vorige terminalvenster gesloten was, maakt u verbinding met de Docker-container met de opdracht 'docker exec --it rugged /bin/bash'. Zodra u bent verbonden met de Docker-container, navigeert u naar de RUGGED-map.
  2. Bepaal de te voorspellen rand(en). Geef de randen op als paren knooppunten in een .txt bestand (bijv. edges_to_predict.txt). De randen die al in de knowledge graph aanwezig zijn, worden uit de voorspellingen gefilterd.
  3. Voer het script voor voorspellingsanalyse uit. Geef de randen op die moeten worden voorspeld en de invoerkennisgrafiek als opdrachtregelargumenten voor de voorspelling. Belangrijkste argumenten: -p (pad naar randenbestand), -i (invoerkennisgrafiek), -o (uitvoermap), -n (topvoorspellingen, bijv. 5), -k (bovenranden om te visualiseren, bijv. 10). Voorbeeld opdracht:
    Python Robuust/predictive_analysis/generate_explainable_prediction.py -o Uitvoer -n 5 -K 10 -P ./Uitvoer/edges_to_predict.txt -i ./Data/rugged_knowledge_graph/filtered_kg/filtered_k2_edges.csv
  4. Evalueer de modelprestaties. Onderzoek de terminaluitvoer of het 'output.log'-bestand dat in de vorige stap is gegenereerd om de modelprestaties te beoordelen op basis van het opsplitsen van de gefilterde kennisgrafiek in trainings-, validatie- en testsets met een verhouding van 85:5:10. Pas de modelargumenten aan als de prestaties niet zijn zoals verwacht, met Tabel 4 als voorbeeld.
  5. Controleer of de resultaten zich in de uitvoermap bevinden. Bekijk de modelresultaten in 'prediction_results.csv' en bekijk de belangrijkste n voorspellingen in de uitvoermap. Bekijk de belangrijkste n voorspellingen in de uitvoermap. Voor elke voorspelling illustreert een grafiekvisualisatie de meest relevante randen die bijdragen aan elke voorspelling en hun relatieve belangrijkheidsscores.
  6. Verplaats voorspellende analyseresultaten. Zodra u tevreden bent met de resultaten van de voorspellende analyse, verplaatst u de resultaten naar de 'data/predictions/' van de RUGGED-directory.

4. Hypothese generatie

  1. Maak verbinding met de RUGGED Docker-container.
    1. Zorg ervoor dat de RUGGED Docker-container actief is. Als het vorige terminalvenster gesloten was, maakt u verbinding met de Docker-container.
    2. Navigeer naar de RUGD-map. Eenmaal verbonden, typt u cd /workspace/RUGGED om naar de map te navigeren. Voer de resterende stappen uit in dit opdrachtregelvenster.
    3. Controleer of de ondersteunende services actief zijn. Als je Ollama en Neo4j in Docker gebruikt, zorg er dan voor dat de containers draaien door 'docker ps' te typen. Herhaal stap 1.7 om te controleren of services goed werken en stap 1.4 om eventuele problemen op te lossen.
  2. Bereid RAG-gegevens voor. Bereid de kennisgrafiek en het tekstcorpus voor op ophalen.
    OPMERKING: Deze gegevens kunnen worden vervangen door door de gebruiker gedefinieerde gegevens door de gegevens respectievelijk in de mappen 'data/knowledge_graph/' en 'data/text_corpus/' te plaatsen. Deze gegevens moeten de indeling van de GitHub-opslagplaats (https://github.com/pinglab-utils/RUGGED/tree/main/data) volgen.
    1. Controleer de bronnen. Zorg ervoor dat het tekstcorpus zich in de map 'data/text_corpus/' bevindt, de kennisgrafiek met het bestand met tekstminingvoorspellingen in de map data/knowledge_graph/ en de voorspellingsresultaten in de map data/predictions/ staan (respectievelijk uit de stappen 2.1.2., 2.3.2. en 3.5).
    2. Vul de grafiekdatabase. Voer de opdracht 'python ./neo4j/prepare_neo4j.py' uit om de benodigde knooppunten, randen en knooppuntfuncties te maken.
    3. Indexeer het tekstcorpus. Voer de opdracht 'python ./text/prepare_corpus.py' uit om het tekstcorpus te indexeren en stel RUGGED in staat om relevante tekstdocumenten op te halen op basis van gebruikersquery's door de documenten op te splitsen in secties van 500 tokens om een vectordatabase te maken met behulp van BART71.
    4. Optioneel) Test het ophalen van de graafdatabase. Stuur een testquery naar de Neo4j-database om er zeker van te zijn dat deze correct wordt ingevuld en de verwachte resultaten kan opleveren. Controleer of de uitvoer overeenkomt met de verwachte knooppunten en relaties in de database. Voorbeeld opdracht:
      python ./test/test_neo4j_retrieval.py --query "MATCH (n) RETURN n LIMIT 5"
    5. (Optioneel) Test het ophalen van het RAG-corpus. Stuur een testquery naar het RAG-tekstcorpus om er zeker van te zijn dat het tekstophaalsysteem werkt. Controleer of de opgehaalde documenten relevant zijn voor de query en of de insluitingen werken zoals verwacht. Voorbeeld commando: python ./test/test_literature_retrieval.py --query "Welke documenten hebben betrekking op het gebruik van bètablokkers voor de behandeling van hart- en vaatziekten?"
  3. Interactie met RUGGED. Start RUGGED in de opdrachtregelinterface om met het systeem te communiceren. Voer het commando 'python rugged.py' uit. Voer een query uit op het systeem om relevante informatie op te halen met behulp van specifieke opdrachten om te communiceren met de kennisgrafiek en het tekstcorpus.
    1. Voer een query uit op de kennisgrafiek. Haal specifieke informatie uit de knowledge graph door de vraag in natuurlijke taal te stellen, te beginnen met het trefwoord "query". Bijvoorbeeld:
      vraag "Wat zijn de momenteel voorgeschreven geneesmiddelen die zijn geclassificeerd als bètablokkers, anti-aritmica en antifibrotische geneesmiddelen?"
    2. Ontdek de voorspellingen. Verken linkvoorspellingsanalyses uit stap 3 en vraag om te zoeken naar een specifieke relatie, leidend met het trefwoord "voorspellen". Bijvoorbeeld:
      voorspellen: "Welke van deze geneesmiddelen zou mogelijk kunnen worden gebruikt voor de behandeling van ACM en/of DCM die momenteel niet bekend is?"
    3. Ontdek het ophalen van literatuur. Verken documenten met betrekking tot een specifiek biomedisch onderwerp uit stap 2. Stel de vraag in natuurlijke taal, leidend met het trefwoord "zoeken". Bijvoorbeeld:
      zoeken: "Welk literatuurbewijs ondersteunt de bewering dat deze voorspelde geneesmiddelen kunnen worden gebruikt voor de behandeling van ACM en/of DCM?"
    4. Query herhalen en verfijnen. Reageer direct op de opdrachtregel om vragen te herhalen en te verfijnen met behulp van de chatachtige interface van RUGGED. Raadpleeg eerdere gesprekken tussen gebruiker en systeem om vragen en vragen te herzien en te verfijnen.
    5. Voer Cypher-commando's opnieuw uit in Neo4j. (Optioneel) Verfijn de resultaten van de knowledge graph-query door de opgegeven Cypher-opdracht aan te passen die wordt gebruikt om de informatie op te halen. Voer deze opdracht opnieuw uit of wijzig deze door naar de Neo4j-browserinterface te gaan vanaf stap 1.4.4 (bijv. op http://localhost:7474). Plak en wijzig de Cypher-opdrachten indien nodig om query's te verfijnen en meer specifieke inzichten te verzamelen.
    6. Gesprek samenvatten. Bekijk de opgehaalde informatie en vat het gesprek samen met RUGGED. Typ het trefwoord samenvatten om een samenvatting van de interactie naar een tekstbestand uit te voeren voor latere analyse. Het antwoord in volledige tekst wordt weergegeven in de terminal.
    7. Voer een human-in-the-loop-beoordeling uit om de nauwkeurigheid van de uitvoer te verbeteren door de systeemreacties te inspecteren en aan te passen op leesbaarheid en beknoptheid voordat de samenvatting wordt afgerond.
    8. Bekijk chatlogboeken. Inspecteer de volledige tekst van de interactie in de logmap in RUGGED. Bewaar deze tussenliggende opdrachten en gesprekken tussen LLM-agents binnen RUGGED voor probleemoplossing en reproduceerbaarheid.
  4. RUGGED afsluiten en opnieuw opstarten.
    1. Docker-container-id's ophalen. Gebruik het commando 'docker ps' om alle actieve containers weer te geven en de container-ID's voor RUGGED, Neo4j en Ollama te verkrijgen. Vervang voor alle volgende opdrachten , en door de werkelijke container-id's.
    2. Stop Docker-containers. Sluit RUGGED en de bijbehorende Docker-containers af met behulp van hun container-ID's.
      Docker Stop-
      Docker Stop-
      Docker Stop-
      OPMERKING: Het wordt aanbevolen om deze containers te stoppen voordat u het apparaat afsluit om mogelijk gegevensverlies te voorkomen en ervoor te zorgen dat alle processen goed worden afgesloten.
    3. Start Docker-containers opnieuw op. Als u het RUG-systeem opnieuw wilt opstarten, gebruikt u de container-ID's om de benodigde Docker-containers te starten.
      Docker Start
      Docker Start
      Docker start
    4. Opnieuw aansluiten op Docker Network. Gebruik indien nodig deze opdrachten om de containers opnieuw aan het netwerk te koppelen.
      Docker Network Connect rugged_network
      Docker Network Connect rugged_network
      Docker Network Connect rugged_network
    5. Controleer de functionaliteit van de service. Herhaal bij het opnieuw opstarten de stappen 1.4-1.5 om er zeker van te zijn dat de software werkt zoals verwacht.

Results

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

Deze representatieve resultaten werden verkregen door de procedure te volgen die in dit protocol wordt beschreven. Er werd een analyse van de tekstmining-associatie uitgevoerd volgens het CaseOLAP LIFT-protocol5 met standaardparameters, waarbij acht brede categorieën van hart- en vaatziekten72 en hun associatie met mitochondriale eiwitten (GO:0005739) werden bestudeerd. In totaal werden 635.696 meldingen tot en met mei 2024 vastgesteld als relevant voor deze ziekten; Onder hen werden 4.655 eiwitziekte-associaties met een hoog vertrouwen geïdentificeerd om downstream-analyses te informeren. In mei 2024 is een biomedische kennisgrafiek gemaakt met behulp van de softwarecode van Know2BIO met behulp van standaardinstellingen9. De resulterende kennisgrafiek bestaat uit 219.450 knooppunten, 6.323.257 randen, evenals knooppuntkenmerken voor 189.493 knooppunten met knooppuntbeschrijvingen, eiwit-/gensequenties, chemische structuur, enz. Waar beschikbaar. Een schatting van de rekentijd voor alle stappen in het protocol wordt weergegeven in tabel 1.

Het RUGG-systeem werd geïnitialiseerd door het bouwen van de vectordatabases voor zowel knowledge graph-knooppunten en -functies, als voor de CVD-relevante publicaties. Alle Knowledge Graph-knooppunten, randen en knooppuntfuncties werden verwerkt met een brokgrootte van 20 tokens met het BART 71-inbeddingsmodel om zich voor te bereiden op het zoeken naar RAG-vectoren. Op dezelfde manier werden originele bijdragen en recensieartikelen verwerkt met behulp van een brokgrootte van 500 tokens en het BART-inbeddingsmodel om zich voor te bereiden op het zoeken naar RAG-vectoren. Voor het ophalen van literatuur werden full-text publicaties van meer dan 500 tokens hiërarchisch samengevat op basis van de afzonderlijke secties van een publicatie door het BART-inbeddingsmodel. Het GPT-4o-model werd gebruikt voor de overige LLM-agenten in het systeem.

Deze representatieve resultaten tonen een voorbeeld van een use case om potentiële geneesmiddeltherapieën voor aritmogene cardiomyopathie (ACM) en gedilateerde cardiomyopathie (DCM) te onderzoeken, geïdentificeerd als respectievelijk MeSH_Disease: D019571 en MeSH_Disease: D002311. Een reeks vragen wordt beschreven in Figuur 3, met gemarkeerde voorbeelden van modelantwoorden in Figuur 4 en de volledige respons gerapporteerd in Aanvullend Dossier 1, Sectie A. De onderzoeksrichting werd aangepast aan de door de onderzoeker gevalideerde antwoorden, waarbij volgende vragen werden opgesteld op basis van de resultaten van de eerdere antwoorden. De analyse onthulde 11 kandidaat-geneesmiddelen die zijn geclassificeerd onder bètablokkers en antiaritmica. Nieuwe wegen voor therapeutische behandeling werden beoordeeld met behulp van een Graph Convolutional Neural Network link-voorspellingsmodel op een subset van de volledige kennisgrafiek, inclusief knooppunten binnen 1 uur van studieziekte en geneesmiddelknooppunten en hun onderlinge verbindingen, met evaluatiestatistieken gerapporteerd in tabel 4. De top 10 relevante randen voor elke voorspelling door het model werden verder onderzocht door een grafiekverklaarbaarheidsmodule, GNNExplainer44, om respectievelijk de bovenste knooppunten en randen te identificeren die bijdragen aan elke voorspelling. De totale kosten van het gebruik van commerciële LLM voor alle stappen van het RUGGEN-protocol voor deze use case worden op het moment van schrijven geschat op $ 1,50.

figure-results-1
Figuur 1: Ophalen onder Graph-Guided Explainable disease Distinction (RUGGED) workflow. RUGGED bestaat uit vier primaire componenten: (1) het samenstellen en verwerken van gegevens uit ethisch verantwoorde en professioneel beheerde bronnen (bijv. PubMed en gecureerde biomedische kennisbanken), (2) het integreren van collegiaal getoetste onderzoeksresultaten in een uniforme kennisgrafiek, (3) het structureren van de tekst- en grafiekgegevens binnen databaseservices, (4) het modelleren en voorspellen van verklaarbare relaties tussen biomedische entiteiten binnen de kennisgrafiek, en (5) het ophalen en synthetiseren van kennis via een Retrieval Augmented Generation (RAG)-workflow (Figuur 2) om complexe moleculaire relaties te valideren en AI-gestuurde ziektevoorspellingen te onderzoeken. Een human-in-the-loop beoordelingsstap kan door de gebruiker worden uitgevoerd om de nauwkeurigheid van de uitvoer te verbeteren. Klik hier om een grotere versie van deze figuur te bekijken.

figure-results-2
Figuur 2: Retrieval-architectuur en workflow voor het beperken van vooroordelen. Het Retrieval Augmented Generation (RAG)-framework maakt gebruik van meerdere LLM-agents, die elk specifieke taken uitvoeren om de toegang tot relevante informatie te ondersteunen op basis van de gebruikersquery. Dit systeem levert gedocumenteerd bewijs voor de gebruikersgerichte GPT-gebaseerde Reasoning Agent, waardoor de interactie tussen gebruiker en agent en de synthese van kennis worden vergemakkelijkt. (1) Biomedical Text Retrieval: Peer-reviewed originele bijdragen en overzichtsartikelen worden gefilterd op basis van hun relevantie voor het begrijpen van ziekteassociaties. Er wordt een vectordatabase geconstrueerd voor door de auteur en de redacteur gevalideerd tekstbewijs, gewogen op basis van het overeenkomstige gedeelte van de publicatie, respectievelijk: 70% abstract, 10% resultaten, 10% metadata en 10% voor alle andere subsecties. Een zoekopdracht op trefwoord en een gelijkeniszoekopdracht op basis van de tekstinbedding van de gebruikerszoekopdracht identificeren samen relevante documenten. Samenvattingen van elk document worden gegenereerd met behulp van een op BERT gebaseerde samenvatting, waarbij de op GPT gebaseerde Text Evaluator Agent de zoekopdracht verfijnt om de relevantie van het querydocument te valideren. (2) Knowledge Graph Retrieval: Een op BERT gebaseerde module voor benoemde entiteitsherkenning en GPT-gebaseerde relatie-extractie verbindt de gebruikersquery met relevante entiteiten in de knowledge graph. Een gelijkeniszoekopdracht in een vectordatabase identificeert relevante knooppunten en randen. Gegevens worden opgehaald uit de Neo4j-database via Cypher-query's die zijn gegenereerd door de op GPT gebaseerde Cypher Query Agent en verfijnd door de Query Verification Agent. (3) De individuele antwoorden van de pijplijnen Biomedical Text Retrieval of Knowledge Graph Retrieval worden gepresenteerd aan de Reasoning Agent, die een beknopt antwoord synthetiseert met minimale vertekening van de vraag van de gebruiker. Dit systeem is gericht op het behoud van nauwkeurigheid en onpartijdigheid bij het presenteren van feitelijke informatie. Klik hier om een grotere versie van deze figuur te bekijken.

figure-results-3
Figuur 3: Use case voor kennissynthese en hypothese-exploratie via eentrapsgewijze query. Deze figuur toont een gemarkeerde use case die zich richt op een reeks gerelateerde vragen en concepten die een onderzoeker en/of zorgprofessional aan het RUGGED-systeem zou kunnen stellen. Vragen van de gebruiker worden in numerieke volgorde aan het systeem gepresenteerd, waarbij pijlen staan voor afgeleide logische en domeinspecifieke redeneringen bij elke vraag. Het systeem haalt uit de impliciete en relevante informatie (bron weergegeven in blauw) en reageert op de vraag. Voorbeelden van systeemreacties worden weergegeven in figuur 4. Klik hier om een grotere versie van deze figuur te bekijken.

figure-results-4
Figuur 4: Use case cardiovasculaire pathologie: opheldering van de pathogenese van HVZ. Query-antwoordparen tussen de gebruiker en het RUGGED-systeem worden weergegeven. In het paneel linksboven halen vragen 1-6 informatie op door informatie uit de knowledge graph-database te extraheren om evidence-based antwoorden te formuleren. Vraag 7 maakt gebruik van een verklaarbare voorspelling van grafieklinks om de best scorende therapieën te identificeren. De query leidt tot een voorspellingsanalyse, die automatisch wordt uitgevoerd en verwerkt door het systeem, en de belangrijkste bevindingen worden beknopt samengevat. Vraag 8 evalueert literatuurbewijs uit het gedefinieerde tekstgegevenscorpus dat wordt opgehaald als relevant bewijs om de voorspelde bevinding te verifiëren, valideren en bevestigen. De reacties van het systeem zijn beoordeeld door een human-in-the-loop inspectieproces en aangepast voor leesbaarheid en beknoptheid. Een volledig transcript van deze bevindingen is gedetailleerd in het aanvullende dossier 1. Klik hier om een grotere versie van deze figuur te bekijken.

StappenBeschrijvingTijd
Toegang tot biomedische kennis30% totaal
Bereid het corpus van de biomedische literatuur voorMaak verbinding met PubMed en PubMed Central, download en parseer publicatiegegevens voor downstreamtaken.20%
Kennisbankgegevens voorbereidenMaak verbinding met biomedische kennisbanken, download en analyseer de benodigde informatie voor downstream-taken.5%
Extractie van informatie30% totaal
CaseOLAP LIFT Analyse van tekstminingIdentificeer ziekte-eiwitrelaties op hoog niveau binnen het biomedische tekstcorpus.25%
Kenniskaart ConstructieVerbind en integreer ongelijksoortige informatie uit biomedische kennisbanken in een uniforme kennisgrafiek.5%
Voorspelling Analyse10% totaal
Train Graph Neuraal NetwerkTrain het model op de gegevens van de biomedische kennisgrafiek om verborgen patronen in de grafiek te leren.5%
Analyse van de relevantierangschikkingPas de verklaarbaarheidsmodule toe om de meest relevante knooppunten en randen te markeren die relevant zijn voor het bestuderen van ziekten.2.5%
Link voorspellingGebruik de verklaarbaarheidsmodule om belangrijke knooppunten en randen te identificeren die bijdragen aan nieuwe voorspelde randen.2.5%
Hypothese genereren en/of valideren30% totaal
Database-instelling voor het ophalen van augmented generationInitialiseer de grafiekdatabase voor het opvragen van de knowledge graph en de vectordatabase voor het ophalen van tekst.25%
Hypothese ExploratieMaak gebruikersinteractie met RUGGED mogelijk om toegang te krijgen tot relevante informatie en deze te onderzoeken voor het verkennen van hypothesen.5%

Tabel 1: Workflow en snelheidsbeperkende stappen. Deze tabel bevat ruwe schattingen van de rekentijd die nodig is voor elke fase van de werkstroom. Snelheidsbeperkende stappen omvatten het openen, extraheren en indexeren van biomedische kennis die nodig is voor het genereren van opgehaalde bronnen. Het onderzoek van hypothesen kan continu worden herhaald zonder dat het nodig is om snelheidsbeperkende stappen opnieuw uit te voeren.

Ziekte CategorieMeSH Boom Nummers# PMID's# Originele bijdragen# Artikelen beoordelen
Cardiomyopathieën (CM)C14.280.238132,531102,33719,942
C14.280.434
Hartritmestoornissen (ARR)C14.280.067125,28692,37413,854
C23.550.073
Aangeboren hartafwijkingen (CHD)C14.280.40082,00654,0236,379
Hartklepaandoeningen (VD)C14.280.48472,01650,1195,743
Myocardiale ischemie (IHD)C14.280.647256,986210,04230,223
Ziekte van het hartgeleidingssysteem (CCD)Zaak C14.280.12353,05035,3994,363
Ventriculaire uitstroomobstructie (VOO)C14.280.95522,24415,5041,686
Andere hartziekten (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
Totaal635,696478,40469,690

Tabel 2: Statistieken van de biomedische literatuur. Deze tabel geeft een overzicht van de studieziektecategorieën met de bijbehorende MeSH-boomnummers en het aantal PubMed-documenten dat tot en met mei 2024 is opgehaald en dat wordt gebruikt als corpus voor tekstmining. Een subset van deze publicaties, bestaande uit originele bijdragen aan onderzoeksartikelen en overzichtsartikelen, wordt geïndexeerd in een vectordatabase voor opvraging door RUGGED tijdens het genereren van hypothesen.

CategorieAantal knooppuntenAantal randenBron(nen) van de gegevens
Anatomie5,049122,533Bgee, PubMed, MeSH, Uberon, 
Biologisch proces27,047108,106Gen ontologie
Cellulaire component4,05752,238Gen ontologie
Verbinding27,2783,292,028DrugBank, MeSH, CTD, UMLS, KEGG, TTD, SIDER, Inxight Drugs, Hetionet, PathFX, MyChem.info
Ziekte21,938311,773PubMed, MeSH, DisGeNET, SIDER, ClinVar, ClinGen, PharmGKB, MyDisease.info, PathFX, UMLS, OMIM, Mondo, DOID, KEGG
Drug klasse5,7218,283ATC
Gen29,810943,419HGNC, GRNdb, KEGG, ClinVar, ClinGen,
Moleculaire functie11,15147,086SMPDB, DisGENET, PharmGKB, MyGene.info
Weg52,012234,944Gen ontologie
Eiwit20,7401,074,809Reactoom, KEGG, SMPDB
Reactie14,647128,038UniProt, Reactome, TTD, SMPDB, STRING, HGNC
Subtotaal219,4506,323,257Reactoom
Tekst-mining Verenigingen84,670
Totaal219,4586,327,927

Tabel 3: Statistieken van de kennisgrafiek. Deze tabel beschrijft 11 brede biomedische categorieën, bestaande uit de geconstrueerde Know2BIO-kennisgrafiek, verrijkt met extra randen die zijn afgeleid van tekstmining-analyse en voorspellende analyse. De resulterende kennisgrafiek en voorspellingen worden beheerd door de Neo4j-grafiekdatabase voor het ophalen door RUGGED tijdens het genereren van hypothesen.

NauwkeurigheidPrecisieHerinnerenF1-scoreAUROCAUPRC
Validering0.71580.66390.87430.75470.84370.8637
Test0.7030.63670.94550.7610.89610.9094

Tabel 4: Verklaarbare evaluatie van het AI-model. Deze tabel rapporteert de evaluatiestatistieken voor de voorspelling van de knowledge graph-link met behulp van een convolutioneel neuraal netwerk met twee lagen graph. Metrieken werden beoordeeld door grafiekranden te verdelen in 85% training, 5% validatie en 10% testdatasets. Nauwkeurigheid geeft het aandeel van correct geclassificeerde voorspellingen aan. Precisie rapporteert het aandeel van correcte positieve voorspellingen onder alle positieve voorspellingen. Terugroepen meet de verhouding tussen het aantal juiste positieve voorspellingen en de werkelijke positieve randen. De F1-score is het harmonische gemiddelde van precisie en recall, waarbij de twee maatstaven in evenwicht zijn. AUROC evalueert het vermogen van het model om onderscheid te maken tussen positieve en negatieve voorspellingen. AUPRC kwantificeert de afweging tussen precisie en recall over verschillende drempels heen. Voor alle metrische gegevens geven hogere waarden betere modelprestaties aan.

Aanvullend bestand 1: Dit bestand beschrijft de volledige modelrespons van RUGGED en een vergelijking met GPT-4o. Sectie A presenteert de volledige mens-computerinteractie met RUGGED, waarbij wordt voortgebouwd op de chain-of-query-benadering die wordt beschreven in Figuur 3 en het volledige antwoord biedt dat verder gaat dan de samenvatting die is gemarkeerd in Figuur 4. Sectie B evalueert de antwoorden van GPT-4o zonder deze op te halen aan de hand van die van RUGGED, waarbij kenmerken worden beoordeeld zoals precisie, diepte, betrouwbaarheidsscore, betrouwbaarheid van het bewijs en kosten. Klik hier om dit bestand te downloaden.

Discussion

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

Het RUGGED-protocol maakt gebruik van moderne taalmodellen met up-to-date informatie om onderzoekers in staat te stellen het evoluerende biomedische landschap dynamisch te verkennen en nieuwe kennis te ontdekken. Deze interactie tussen mens en computer stuwt een innovatief proces voort dat een voorbeeld is van de efficiëntie van de machine (RUGGED) en de expertise en het oordeel van de onderzoeker. Dit protocol is ontworpen om in de aangegeven volgorde te worden uitgevoerd. Stap 1 beschrijft de software-installatie. Stap 2 en stap 3 zijn essentieel voor het voorbereiden van biomedische literatuur en bronnen, terwijl stap 4 deze informatie indexeert voor het genereren van retrieval-augmented en gebruikersinteractie met het LLM-systeem. Tijdrovende stappen kunnen gelijktijdig en/of opeenvolgend worden uitgevoerd. Het maken van de Neo4j-grafiek (stap 4.2.2) kan bijvoorbeeld beginnen tijdens de voorspellingsanalyse (stap 3), en het indexeren kan beginnen na het construeren van de kennisgrafiek (stap 2.3) en textmining (stap 2.1). Deze stappen moeten worden herhaald om het uiteindelijke resultaat van deze tussentijdse resultaten te verkrijgen. Hoewel dit protocol is ontworpen voor het ophalen van biomedische informatie, kan het, met kleine wijzigingen, ook andere tekst- en grafiekgegevens verwerken, zoals interne gegevens, klinische notities of elektronische medische dossiers. Details over de gegevensopmaak vindt u in stap 4.2.

De werking van dit platform is gebaseerd op de juiste installatie en onderlinge verbinding van verschillende technologieën, waaronder taalmodellen, graafdatabases en vectordatabases (zie Materiaaltabel). Om te controleren of deze services correct zijn geïnstalleerd en verbonden, worden testscripts verstrekt in de map 'test' in de GitHub-opslagplaats. Externe diensten kunnen kosten met zich meebrengen, waarvan de prijzen door de verkoper kunnen worden gewijzigd. Deze optionele services hebben ook lokaal gehoste alternatieven, waarvoor alleen voldoende rekenkracht nodig is. Deze alternatieven kunnen echter van invloed zijn op de prestaties en/of het gemak van het model, waardoor ze ongeschikt zijn voor sommige gebruiksscenario's.

Met het snel evoluerende LLM-landschap worden er regelmatig nieuwe mijlpaalmodellen en taakspecifieke modellen uitgebracht. Ten tijde van dit verslag werden de meest geschikte modellen voor de taak gekozen. Gebruikers kunnen kiezen welke LLM ze willen gebruiken door het configuratiebestand dienovereenkomstig bij te werken (zie stappen 1.3.2-1.3.4). De selectie van modellen hangt af van hun relevantie voor een bepaalde use case. Het is bijvoorbeeld essentieel voor ethische overwegingen om modellen op te nemen die erop gericht zijn ervoor te zorgen dat modelreacties eerlijk, gecensureerd en vrij van haatzaaiende uitlatingen 73,74,75,76,77,78 zijn. Bovendien is snelle engineering essentieel om betrouwbaar en verantwoord gedrag te begeleiden vanaf de LLM 79,80,81,82. De prompts die zijn gemaakt voor de RUGG-workflow zijn afgestemd op de gebruikte modellen en gepresenteerde gebruiksscenario's. Om de prompts voor een ander gebruik te verfijnen, kunnen gebruikers prompts bewerken binnen de RUGG-workflow in de map 'configuratie' in het 'prompts.json'-bestand.

Hoewel RAG-systemen tot doel hebben hallucinaties in LLM's te verminderen door reacties te baseren op bewijsmateriaal, kunnen deze modellen nog steeds leiden tot onnauwkeurige informatie of over het algemeen ware, niet-specifieke reacties. Een benchmarkvergelijking van RUGGED met GPT-4o wordt gegeven in aanvullend bestand 1, sectie B. Modelhallucinaties treden vaak op wanneer de opgehaalde informatie het contextvenster van het model overschrijdt, analoog aan dementie met geheugenverlies en het onvermogen om de gegevensinhoud te lokaliseren, wat resulteert in onnauwkeurige antwoorden 83,84,85. Het kiezen van een geschikt LLM-model helpt dit probleem te verminderen. GPT-4o heeft bijvoorbeeld een contextlimiet van 128k tokens, aanzienlijk meer dan de 16k tokenlimiet van GPT-3.5 Turbo, zij het tegen hogere kosten voor de gebruiker. Bovendien kunnen LLM's die zijn afgestemd met specifieke domeinkennis mogelijk de nauwkeurigheid en specificiteit van responsen in biomedische toepassingen verbeteren 86,87,88. Ondanks deze maatregelen is het essentieel om de informatie te controleren voordat u doorgaat met dure natte laboratoriumexperimenten.

RUGGED maakt gebruik van verklaarbare AI binnen een RAG-pijplijn om linkvoorspellingen onder de loep te nemen en zowel betrouwbare als voorheen onontdekte relaties te identificeren. Terwijl traditionele RAG-systemen vertrouwen op bulksgewijze ophalen, verbindt deze benadering verklaarbaarheid met een gerichte responsvergroting. Tabel 4 belicht de sterke prestaties van het model, met een hoge recall (validatie: 0,975 test: 0,976) en evenwichtige F1-scores (validatie: 0,796, test: 0,797), wat wijst op betrouwbaarheid bij het identificeren van echte positieven, zij het met een hoger percentage valse positieven. De robuustheid van het model wordt verder ondersteund door de AUROC (validatie: 0,963, test: 0,964) en AUPRC (validatie: 0,971, test: 0,972) waarden. Precisie (validatie: 0,673, test: 0,674) zou echter baat kunnen hebben bij drempelafstemming, met gedetailleerde knooppuntfuncties, of een betere omgang met klasse-onbalans. De effectiviteit van het model is sterk afhankelijk van de ingevoerde kennisgrafiek; Overfitting is een risico bij kleinere grafieken, terwijl grotere grafieken meer rekenkracht vereisen. Elke op de RAG gebaseerde aanpak is echter sterk afhankelijk van de kwaliteit van de gegevens die aan de opvraging ten grondslag liggen. Zo is de constructie van een knowledge graph vaak tijdrovend en arbeidsintensief vanwege intrinsieke ruis op de originele graph. Dit vereist handmatige inspanning om ruis te verwijderen en te labelen, evenals doorlopende kosten voor onderhoud en updates voor de databases.

Het primaire gebruik van RUGGED is bij kennissynthese en het verkennen van hypothesen. Door verschillende verborgen relaties te onderzoeken, zoals ziektemechanismen en medicamenteuze behandelingen, voert RUGGED efficiënt literatuurtriage uit. Om de rekenlast te verminderen, kunnen de meeste applicaties worden gehost op een server (bijv. AWS of computationele server) en worden geconfigureerd om periodiek te worden bijgewerkt met de meest recente informatie. Bovendien kan deze workflow worden aangepast om domeinspecifieke toepassingen te realiseren, zoals het dienen als een platform om patiëntgegevens op te nemen met lokale modellen om beveiliging, privacy en vertrouwelijkheid te handhaven. Naast biomedisch onderzoek maakt het modulaire ontwerp van RRUGGED het mogelijk om taken te ondersteunen bij het ophalen, inferentie en samenvatten van informatie door de RAG-pijplijn aan te passen en snelle engineeringstrategieën op maat te maken die zijn afgestemd op het doeldomein. Succesvolle aanpassing vereist een zorgvuldige afweging van domeinspecifieke uitdagingen, zoals voorverwerking van diverse gegevensformaten en het evalueren van de juiste modellen voor taak- en domeinspecifieke behoeften.

Disclosures

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

De auteurs hebben niets te onthullen.

Acknowledgements

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

De auteurs willen Dr. Alex Bui bedanken voor zijn begeleiding en doordachte discussie. Daarnaast danken we Dr. Ding Wang voor zijn behulpzame discussies. Dit werk werd gedeeltelijk ondersteund door NIH 1U54HG012517-01 tot PP, KW en WW; NIH T32 HL13945 naar A.R.P.; National Science Foundation Research Traineeship (NRT) 1829071 naar A.R.P.; en de TC Laubisch Endowment to P.P. aan de UCLA.

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
Hardware/Software - Graphics Card and software driverNvidiahttps://www.nvidia.comA graphics card and its associated driver software are highly recommended to significantly reduce runtime for computationally intensive tasks, such as local LLM and predictive analyses. For devices equipped with an NVIDIA RTX GPU, download and install the necessary drivers and CUDA Toolkit from the NVIDIA website (https://developer.nvidia.com/cuda-downloads).
Software - Commercial Large Language Model ServiceOpenAIhttps://openai.comRUGGED supports the OpenAI API for models such as GPT-3.5 and GPT-4o. To setup using OpenAI models, first obtain an OpenAI API Key. Proceed to OpenAI's website (https://openai.com/blog/openai-api) to create an account, load funds, and obtain an API key. This API key is required to enable RUGGED to use OpenAI models. Determine which LLM agents within RUGGED's system will use OpenAI models from their documentation (https://platform.openai.com/docs/models).
NOTE: OpenAI API is a paid service. At time of publication, cost for GPT-4o is $5.00 per 1 million input tokens and $2.50 per 1 million output tokens (For more, visit https://openai.com/pricing).
Software - ContainerizationDockerhttps://www.docker.comDocker aids in maintaining a consistent computational runtime environment, streamlining software installation and execution across different machines. To install Docker, visit the Docker website (https://www.docker.com/), click on 'Get started', download and install the appropriate version for the OS. Verify installation by typing `docker --version` in the terminal; successful installation reports the Docker version installed.
Software - Graph DatabaseNeo4jhttps://neo4j.comNeo4j is a graph database software that efficiently manages and queries graph-based nodes and relationships. RUGGED supports Neo4j in multiple forms: Docker container, Neo4j Desktop, or Neo4j AuraDB online server. Choose the option best suited to the use case.
Setting up Neo4j as a Docker container. Run these commands to set up Neo4j in Docker, with the file-path for the folder (e.g., /Users/username/RUGGED) as 'PATH_TO_FOLDER'. For more details on troubleshooting, refer to the 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
NOTE: Initialize Neo4j in Docker for the first time by setting a username and password. Run the neo4j_setup.py script (e.g., python neo4j_setup.py) or via web interface at http://localhost:7474.
Setting up Neo4j Desktop. If using Neo4j Desktop, download and install from Neo4j website (https://neo4j.com/). Create a new project by clicking "New", then click "Add" to create a new Database Management System (DBMS). Select "Local DBMS", set a password, click "Create", then click "Start". A green "ACTIVE" text indicates it is running.
Setting up Neo4j AuraDB. Visit the Neo4j website at (https://neo4j.com/cloud/aura-free/) to create an account and log in. Select "New Instance" to create an empty instance and save the URI and initial password to access the bolt interface (e.g., bolt://myurl.neo4j.com). Click the play button to start the instance, which will display the connection URI in the information box.
NOTE: Neo4j AuraDB offers a free tier up to 200,000 nodes and 400,000 relationships. For larger graphs, visit Neo4j pricing (https://neo4j.com/pricing).
Software - Local Large Language Model ServiceOllamahttps://ollama.comRUGGED supports the use of local models using Ollama (e.g., Llama3). To enable, first install Ollama on the device or download the Docker container. To install Ollama, visit the Ollama website (https://ollama.com/download) and follow installation instructions. To install Ollama on Docker, run the following command:
docker pull ollama/ollama
NOTE: At time of publication, there is no stable release for Ollama on Windows OS.
Software - Version controlGithttps://www.git-scm.comVersion control software enables efficient installation and updating of software. To install Git, visit the Git website (https://www.git-scm.com/), click on 'Downloads', download and install the appropriate version for the OS. Verify installation by typing `git --version` in the terminal; successful installation will report the version of Git installed.

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