Van A voor Analytics tot Z voor Zika Virus

Klik voor meer informatie over auteur Jeany Prinz.

Een van de grote voordelen van Data Science Analytics Platforms is hun vermogen om verschillende soorten gegevens te analyseren. Vandaag willen we naar de buitenste rand van het alfabet gaan en gegevens van het Zika-virus bekijken. Onze analyse is geïnspireerd door de Microreact-projectZika-virus in Amerika”En is een mooie use case voor het verkennen van epidemiologische gegevens met ons analyseplatform.

Epidemiologie is de studie van de verspreiding en determinanten van gezondheidsgerelateerde toestanden of gebeurtenissen. In dit bericht zullen we daarom de vraag beantwoorden: welke routes nam het Zika-virus toen het zich over de wereld verspreidde, en hoe veranderde zijn genetische samenstelling de manier waarop het deed? Daartoe zullen we zowel geolocationele als fylogenetische gegevens van het Zika-virus onderzoeken en visualiseren. Met behulp van generieke JavaScript-knooppunten zullen we onze eigen dynamische weergaven maken en deze omsluiten in een samengestelde interactieve weergave.

Zelfs als u dagelijks met zeer verschillende gegevens te maken heeft, is deze blogpost nog steeds van grote waarde, omdat we laten zien hoe u de flexibiliteit van uw analyse kunt vergroten met behulp van interactieve generieke JavaScript keer bekeken.

Zika-virus

Zika-virus (ZIKV) is een RNA-virus met een genoom van 10,7 kb (kilobaseparen) dat codeert voor een enkel polyproteïne; het wordt door muggen op mensen overgedragen. Het is vernoemd naar het Zika-bos in Oeganda, waar het virus voor het eerst werd geïsoleerd in 1947 uit een schildwachtrhesusaap. Bij mensen veroorzaakt de ZIKV-infectie typisch Zika-koorts die gepaard gaat met maculopapulaire uitslag, hoofdpijn, conjunctivitis en spierpijn.

Begin 2015 verspreidde een wijdverbreide epidemie van zikakoorts zich van Brazilië naar andere delen van Zuid- en Noord-Amerika. In februari 2016 verklaarde de Wereldgezondheidsorganisatie de uitbraak a Noodsituatie voor de volksgezondheid van internationale bezorgdheid toen het bewijs groeide dat Zika zowel geboorteafwijkingen als neurologische problemen kan veroorzaken.

Om de verspreiding van Zika in te dammen en te beheersen, moeten epidemiologen de paden kennen waardoor het virus zich verspreidt, evenals de manieren waarop de genetische samenstelling ervan op verschillende locaties verandert. De visuele analysemogelijkheden die beschikbaar zijn in een analyseplatform, bieden een uitstekende bron om deze vragen te onderzoeken.

Figuur 1: Workflow om epidemiologische gegevens over het Zika-virus te analyseren – temporele / ruimtelijke gegevens, evenals fylogenetische informatie, worden gebruikt als invoer voor een ingepakte metanode die een interactieve weergave bevat.

Samengestelde interactieve weergave voor epidemiologische gegevens

We hebben een workflow gemaakt (Figuur 1 hierboven) om interactief geolocationele en fylogenetische gegevens in ons analyseplatform te onderzoeken en te visualiseren. Om dit te doen, hebben we twee bestanden gedownload van het microreact-project:

  • microreact-project-zika-virus-data.csv met tijdelijke (dag, jaar, maand) en ruimtelijke (land, breedtegraad, lengtegraad) informatie over de gerapporteerde Zika-virusgevallen in csv-formaat
  • microreact-project-zika-virus-tree.nwk met de fylogenetische boom in Newick-formaat

Een fylogenetische boom is een diagram dat evolutionaire relaties tussen organismen weergeeft. Een manier om die evolutionaire relaties te verkrijgen, is door genomische sequenties te vergelijken op basis van verschillen in het DNA die zich van nature in de loop van de tijd ophopen. Een veel voorkomende weergave van de resulterende boomstructuur is de Newick-formaat.

Figuur 2: Binnen de ingepakte metanode, “Interactieve weergave” – ​​de weergave bestaat uit een bereikschuifregelaar om op jaar te filteren, een gedetailleerde JavaScript-tabel en twee generieke JavaScript-weergaven: een kaart en een fylogenetische boom.

Zoals figuur 1 laat zien, worden de twee gedownloade bestanden gebruikt als invoer voor een ingepakte metanode met de naam ‘Interactieve weergave’. We hebben het knooppunt Kleurbeheer gebruikt om een ​​kleurcode te geven volgens het kenmerk ‘regionaal’, dat de categorieën eilanden in de Stille Oceaan, Brazilië, Microcefalie Brazilië, Overig Amerikaans en Onbekend bevat. De weergave bevat een interactieve kaart op basis van de geolocatiegegevens, een bereikschuifregelaar waarmee u op jaar kunt filteren en een interactieve tabel met aanvullende informatie uit het ingevoerde csv-bestand (zie afbeelding 2). Bovendien bevat het een interactieve visualisatie van de fylogenetische boom. Afbeelding 3 hieronder toont de volledige samengestelde weergave die is gegenereerd in de ingepakte metanode, ‘interactieve weergave’. De gebruiker kan bijvoorbeeld filteren op jaar of een specifieke Zika-stam selecteren in de boomweergave, die vervolgens zowel in de kaart als in de tabel wordt geselecteerd.

Onderzoek naar Zika-virusgegevens

Als we naar de fylogenetische boom in figuur 3 kijken, zien we dat de stam meest divers van de anderen wordt gevonden in Azië, terwijl de in Zuid-Amerika verzamelde soorten het nauwst verwant zijn. Dit komt ook overeen met de tijd waarop de monsters zijn verzameld, die we gemakkelijk kunnen verkennen met behulp van de bereikschuifregelaar om op jaar te filteren (zie de weergave in afbeelding 3). Het eerste gegevenspunt op onze kaart is afkomstig uit Maleisië in 1966, gevolgd door Micronesië in 1968. In 2010 en 2013 vinden we drie gevallen in Cambodja, Frans Polynesië en Canada (geïmporteerd uit Thailand). Van daaruit verspreidde het virus zich verder naar het zuiden naar Haïti. In 2015 werd ZIKV gemeld in Brazilië en vervolgens in verschillende landen in Midden- en Zuid-Amerika, zoals Suriname, Guatemala en Colombia.

De gedetailleerde tabel in het onderste deel van de weergave maakt het mogelijk om aanvullende informatie te extraheren. Deze informatie zou de Zika-stam omvatten als de volledige CDS (coderende sequentie) werd geëxtraheerd, evenals de grootte van de sequentie in basenparen (bp) die beschikbaar was voor de fylogenetische analyse. Als we een gegevenspunt in de tabel selecteren, wordt dit automatisch ook op de kaart en in de boomstructuur geselecteerd, en vice versa. We kunnen ook gedetailleerde informatie over een datapunt bekijken door het op de kaart te selecteren (zie Figuur 3).

Figuur 3: Samengestelde weergave met de interactieve kaart, een fylogenetische boom, een bereikschuifregelaar en een interactieve tabel met aanvullende informatie.

Door de interactiviteit kunnen we eenvoudig onderzoeken hoe het virus zich verspreidt en kunnen we de gegevens in detail onderzoeken. Voor de speciale JavaScript-plots en -tabellen wordt deze interactiviteit eenvoudig bereikt door weergaven die op dezelfde tabel werken te combineren in een ingepakte metanode. Voor de aangepaste JavaScript-weergaven (in ons geval de kaart en de fylogenetische boom) is het de moeite waard om wat verder in de details te duiken om te zien hoe dit kan worden gedaan.

Interactieve generieke JavaScript-weergaven

Afbeelding 4 toont de configuratie van het generieke JavaScript-knooppunt in de interactieve boom. De code maakt gebruik van Jason Davies ‘Newick format parser uit 2011 (link hier).

Figuur 4: Configuratie van de generieke JS-weergave van de interactieve boom – de CSS-stijl kan aan de linkerkant worden opgenomen, de JavaScript-code en de afhankelijkheden – aan de rechterkant.

In de configuratie kunt u het codeblok zien dat toegang tot de invoertabel mogelijk maakt en een set vooraf gedefinieerde bibliotheken gebruiken om de weergave te genereren. De afhankelijkheden zijn te vinden in het bovenste gedeelte van het venster. Ons boomknooppunt is gebouwd met d3.js. Meer informatie daarover is te vinden in deze blogpost.

Voor de map node integreren we de leaflet.js-bibliotheek via deze link. Daarom heeft u een internetverbinding nodig om de kaart te kunnen weergeven.

Interactieve algemene JavaScript-weergaven – functionaliteit

Hier beschrijven we kort de functionaliteit die ons hielp bij het maken van onze interactieve generieke JavaScript-weergaven waarin de gebruiker de gegevens kon filteren en selecteren (bekijk voor details de volledige broncode in de voorbeeldworkflow). Merk op dat u deze informatie kunt gebruiken en op veel verschillende scenario’s kunt toepassen – om gegevens op te halen, te selecteren en te filteren.

1. Heeft u gegevens beschikbaar op de invoerpoort? Hoe kunnen de gegevens worden geopend en opgehaald?

  • knimeDataTable.getColumnNames () – heeft toegang tot de gegevens en haalt de kolomnamen op in een string-array, met knimeDataTable zijnde een globaal JavaScript-object dat automatisch wordt gemaakt en gevuld
  • knimeDataTable.getColumn (columnID) – opent en haalt een array op van alle waarden in de kolom met de opgegeven ID (zie knoopbeschrijving voor de details en methoden)

2. Hoe kunt u gegevens selecteren en filteren?

  • knimeService is een tweede globaal object waarmee u dit kunt doen, dwz selectie en filtering in uw weergave ondersteunen

3. Om een ​​abonnee te registreren voor de selectiegebeurtenissen, roept u de volgende methode op:

  • knimeService.subscribeToSelection (tableId, callback)

4. U kunt zich ook abonneren op een filtergebeurtenis via:

  • knimeService.subscribeToFilter (tableId, callback)

5. Een callback is de functie die moet worden aangeroepen wanneer een selectie- of filtergebeurtenis plaatsvindt:

  • filterChanged = functie (gegevens) { […] } waarbij “data” een object is dat informatie bevat over het momenteel toegepaste filter

6. Om u af te melden voor een filter of selectie, belt u:

  • knimeService.unsubscribeFilter / Selection (tableId, callback).

7. Gebruik een van deze drie handige methoden om de selectie te wijzigen:

  • knimeService.addRowsToSelection (tableId, rijen, terugbellen)
  • knimeService.removeRowsFromSelection (tableId, rijen, terugbellen)
  • knimeService.setSelectedRows (tableId, selectedRows, callback)

Deze functies hielpen ons om interactiviteit te bereiken in onze generieke JavaScript-weergaven, waardoor we op hun beurt een weergave konden creëren waarin de gebruiker epidemiologische gegevens van het Zika-virus kan onderzoeken.

Samenvatting

Door een interactieve samengestelde weergave te genereren, konden we interactief onderzoeken hoe het Zika-virus zich in de tijd verspreidde en dat relateren aan sequentiegelijkenissen in het genoom van het virus. Deze workflow is een mooi voorbeeld van hoe het mogelijk is om met epidemiologische gegevens om te gaan met ons analyseplatform en hoe je aangepaste JavaScript-weergaven kunt genereren.

U kunt de resultaten onderzoeken met behulp van het analyseplatform of de workflow implementeren op Server en genieten van het uitzicht op het Web portaal. Dit laatste geeft een Zika-virusexpert de kans om met de gegevens te communiceren zonder te weten hoe hij ons analyseplatform moet gebruiken.

U kunt de workflow en interactieve visualisatie van epidemiologische gegevens van het Zika-virus, beschreven in dit artikel, downloaden van het Hub hier.

Bedankt aan Oleg Yasnev voor zijn bijdrage aan dit artikel.

Referenties

[1]. Microbiology Society-tijdschriften | Microreact: visualiseren en delen….
[2]. Zika-virus in Amerika: vroege epidemiologische en genetische bevindingen….
[3]. WIE | Epidemiologie – Wereldgezondheidsorganisatie
[4]. Zika-virus. I. Isolaties en serologische specificiteit. – NCBI
[5]. De opkomst van het Zika-virus als wereldwijde gezondheidsbeveiliging … – NCBI – NIH
[6]. Newick-formaat – Wikipedia

Table of Contents

Vragen voor onze consultants?

Twijfel niet en neem direct contact met ons op met uw vraagstuk.