labapi: a Python object model for the LabArchives electronic lab notebook
labapi is een Python-bibliotheek die computationele workflows en het LabArchives elektronische laboratoriumnotitieboekwerk overbrugt door de platte API te vertalen naar een intuïtief objectmodel, waardoor het naadloos lezen en schrijven van experimentele gegevens wordt geautomatiseerd om handmatige uploads te elimineren.
Oorspronkelijk artikel vrijgegeven aan het publieke domein onder CC0 1.0 (https://creativecommons.org/publicdomain/zero/1.0/). Dit is een AI-gegenereerde uitleg van een preprint die niet peer-reviewed is. Dit is geen medisch advies. Neem geen gezondheidsbeslissingen op basis van deze inhoud. Lees de volledige disclaimer
In het moderne laboratorium is het verhaal van een experiment niet langer slechts een handgeschreven logboek in een met leer gebonden boek. Het is een digitaal verslag, een levend archief waar elke observatie, elke berekening en elk resultaat met precisie moet worden opgeslagen. Voor wetenschappers bij de National Institutes of Health en veel andere onderzoeksinstituten is deze digitale thuisbasis een systeem genaamd LabArchives. Het functioneert als een elektronisch notebook, een veilige ruimte waar onderzoekers hun werk stap voor stap documenteren, waardoor de geschiedenis van een ontdekking wordt bewaard naast de ontdekking zelf. Er is echter een kloof ontstaan tussen de manier waarop wetenschappers werken en de manier waarop deze digitale notebooks zijn gebouwd. Terwijl onderzoekers steeds meer vertrouwen op geautomatiseerde computerprogramma's om gegevens te verwerken — het uitvoeren van complexe berekeningen die binnen seconden resultaten genereren — moeten ze die resultaten nog steeds handmatig kopiëren en plakken in het notebook via een webbrowser. Het is een tijdrovende, repetitieve taak die de flow van de wetenschap onderbreekt, waarbij een mens gedwongen wordt om als brug te fungeren tussen een snelle computer en een statische webpagina.
Om deze frictie op te lossen, heeft een team van onderzoekers een nieuwe tool ontwikkeld genaamd labapi, een softwarebibliotheek die is ontworpen om computerprogramma's dezelfde taal te laten spreken als het elektronische notebook. De kernprestatie van dit werk is de creatie van een brug die de platte, technische commando's van het onderliggende systeem van het notebook vertaalt naar een structuur die natuurlijk aanvoelt voor een menselijke gebruiker. In plaats van een computerprogramma te dwingen om naar obscure interne codes te zoeken om een specifieke pagina te vinden, stelt de nieuwe tool het programma in staat om door het notebook te navigeren via dezelfde vertrouwde paden die een persoon zou gebruiken: bewegend van een notebook, naar een map, en omlaag naar een specieke pagina. Deze tool verplaatst niet alleen gegevens; het begrijpt de hiërarchie van het notebook, waarbij het herkent dat een map andere mappen of pagina's kan bevatten, en dat pagina's de eigenlijke gegevensinvoer bevatten. Door deze structuur te bouwen, hebben de auteurs onderzoekers in staat gesteld om geautomatiseerde workflows te creëren die hun resultaten direct in het notebook kunnen schrijven en deze later zonder menselijke tussenkomst weer kunnen uitlezen.
De ontwikkelaars hebben deze tool ontworpen met een specifiek doel: om het digitale notebook even intuïtief te laten aanvoelen als de webinterface die wetenschappers al kennen. In het verleden vereiste het verbinden van een computerprogramma met het notebook het schrijven van aangepaste code om een eenvoudig pad, zoals "Project A/Results/Subject 1", te vertalen naar een complexe reeks interne verzoeken. De nieuwe bibliotheek handelt deze vertaling automatisch af. Het bevat helpers die kunnen controleren of een map bestaat en deze kunnen aanmaken als deze ontbreekt, of een specifieke pagina kunnen vinden zonder de verborgen interne ID te hoeven weten. Deze aanpak volgt het principe van "parse, don't validate" (parsen, niet valideren), wat betekent dat de software het pad accepteert zoals de gebruiker het typt en de details uitwerkt, in plaats van de gebruiker te dwingen zich te conformeren aan een rigide, vooraf gedefinieerde structuur. Deze flexibiliteit stelt de software in staat om nieuwe items aan te maken, zoals het opslaan van een complex gegevensbestand als een JSON-bijlage, die vervolgens in het notebook verschijnt met een geformatteerd overzicht dat mensen gemakkelijk kunnen lezen.
De praktische waarde van deze tool wordt al gevoeld in de echte wereld van onderzoek. De auteurs hebben het gebruikt om twee specifieke applicaties te bouwen die nu in gebruik zijn bij andere laboratoria. De ene applicatie, genaamd muronto, legt automatisch de outputs van neuro-gedrags-experimenten vast, waarbij gegevens worden gevangen die anders handmatige invoer zouden vereisen. Een andere, genaamd save-my-jupyter, maakt snapshots van Jupyter notebooks — een veelgebruikt formaat voor wetenschappelijke codering — en plaatst deze direct in het elektronische dossier. In een demonstratie van de mogelijkheden van de tool lieten de auteurs zien hoe een workflow gegevens van vijf verschillende proefpersonen kon nemen, voor elk een kwaliteitscontrolewaarde kon berekenen en deze resultaten in het notebook kon schrijven. Het systeem las die opgeslagen waarden vervolgens weer uit, vatte ze samen in een cohortrapport en voegde een visuele figuur toe aan dezelfde pagina. Dit alles gebeurde automatisch, waarbij de computer door de notebookstructuur navigeerde alsof een mens door de menu's klikte.
Dit werk adresseert een specifieke behoefte binnen de wetenschappelijke gemeenschap, met name voor instellingen die verplicht zijn om goedgekeurde elektronische notebooks te gebruiken voor hun onderzoek. Hoewel andere systemen voor elektronische notebooks officiële softwarebibliotheken hebben om automatisering te ondersteunen, biedt LabArchives er geen publiekelijk aan. Eerdere pogingen om een verbinding met het systeem te bouwen waren ofwel incompleet, niet onderhouden, of vereisten dat onderzoekers het volledige navigatiesysteem vanaf nul moesten opbouwen. De nieuwe bibliotheek vult dit gat en biedt een algemeen bruikbare tool die padnavigatie, invoerafhandeling en bestandsoverdracht combineert in één enkel pakket. Het is ontworpen om gebruikt te worden door computationele onderzoekers en softwareontwikkelaars die zij aan zij met experimentele laboratoria werken, om hen een betrouwbare manier te bieden hun digitale dossiers up-to-date te houden.
De tool is nu beschikbaar voor iedereen om te gebruiken, waarbij de broncode en documentatie openbaar zijn gepubliceerd. Het vereist een moderne versie van de programmeertaal Python om te draaien en is uitgebracht onder een licentie die breed gebruik en modificatie toestaat. De ontwikkelaars hebben voorbeelden en tests toegevoegd om anderen op weg te helpen, om ervoor te zorgen dat de weg van een ruw gegevensbestand naar een permanent laboratoriumdossier niet langer een handmatige taak is, maar een naadloos onderdeel van het wetenschappelijke proces. Door de barrière tussen geautomatiseerde analyse en het elektronische notebook weg te nemen, stelt deze tool wetenschappers in staat zich meer te concentreren op de vragen die ze stellen en minder op de mechanica van het archiveren van hun antwoorden.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.