NGP Variantdatabas

  • Dev-blogg vecka 34

    Dev-blogg vecka 34

    Alla är tillbaka efter sommaruppehållet

    Efter sommarens ledigheter är hela teamet åter på plats. Arbetet är nu i full gång igen, med fortsatt fokus på våra webbportaler, den tekniska infrastrukturen och flera pågående utvecklingsprojekt.

    Webbportaler

    Under sommaren har vi genomfört flera UX-förbättringar i Variantdatabasportalen och Brainchild. Arbetet har fokuserat på att göra portalerna tydligare och mer lättanvända samt att skapa en smidigare upplevelse för användarna.

    Underhållsarbete

    Under onsdagens underhållsfönster uppdaterades ett antal noder och funktioner inom NGPc. Bland annat genomfördes uppdateringar av systemen för inloggning, qmaster och arbetsnoderna. Vi har även satt upp en systemd-tjänst för Sentieons licensserver.

    Bonsai

    Inom Bonsai arbetar vi aktivt med att ta fram en alternativ databaslösning till MongoDB. Eftersom det nuvarande regelverket inte tillåter permanent lagring av information i Azure kan Bonsais befintliga databas inte användas i sin nuvarande form.

    NGPi (HCI:n) och NGPr (HCP:n) kan vara en potentiel lösning, men innan vi kan välja väg framåt behöver vi göra en djupare analys av Bonsais nuvarande databasmodeller, hur de är uppbyggda och hur de används av applikationen.

    Parallellt siktar vi på att ta fram en referensimplementation i Bonsai, kompletterad med relevant dokumentation. Tanken är att implementationen ska kunna fungera som grund för de riktlinjer som ska tas fram för framtida NGP-integrationer av appar och andra tjänster.

    Brainchild

    I Brainchild arbetar vi med att få en inloggningslösning med BankID och Entra på plats i webbportalen. På längre sikt är målet att kunna styra auktoriseringen mer detaljerat och kräva inloggning med BankID för användare som behöver tillgång till det stängda lagret.

    //Erik B

  • Dev-blogg vecka 26

    Dev-blogg vecka 26

    BrainChild

    • Portalen är uppe för visning av den öppna aggregerade Power BI-rapporten.
    • Designarbetet pågår.

    NGPr/HCP snabbguide

    • En ny snabbguide till användandet av NGPr (HCP) skissas just nu på. Denna är tänkt att summera konceptet i sin helhet men också inkludera detaljer som rör det mest väsentliga med lösningen. Fokus kommer ligga på själva manageringen av “Tenanten” och mindre i hur man laddar upp/ner filer till lagringen.
    • Vi tänker också inkludera rutiner för hur man bör agera ur ett säkerhetsperspektiv när man behöver generera nya konton eller dela ut bredare access till användare.
    • Det kommer också ingå information om hur GMC-joint och rutinerna kring denna fungerar. I och med att projektet utvecklats över tid så finns det en del historiskt vi behöver se över och korrigera, samt informera tekniska admins på alla GMC om hur rutinerna bör se ut framöver.
    • Både snabbguiden och rutinerna diskuteras/skrivs fortfarande och är inte ännu mogna nog för att delas med av. Vi hanterar aktuella ärenden på bästa tänkbara sätt i takt med att de dyker upp.
    • Det är ännu inte heller bestämt hur denna information kommer spridas.

    Autentisering

    Arbetar på en generell modul för att hantera OpenIDConnect autentisering i Django som är tänkt att användas för alla projekt/inloggningsmetoder som kommunicerar med OpenIDConnect.

    Syftet är att kunna generalisera och förenkla inloggningslösningarna för de portaler som vi bygger.

    /Aisha Alsafi

  • Dev-blogg vecka 25

    Dev-blogg vecka 25

    Variant databas-portalen, VDP

    • En första version av stöd för import av Excel-filer med Alamut-format implementerad. Beräkningar av POS, REF, ALT etc behöver ännu hanteras och det är något vi kommer börja diskutera hur vi kan göra.
    • Sökresultat baserat på klassificering och GMC är implementerad och det går att få ut antal klassificeringar för en variant och vilken GMC den klassificeringen tillhör.
    • Ett andra referensgruppmöte genomfördes med bra input på vad vi kommer behöva fokusera på framöver.

    BrainChild

    • Vi har börjat sätta upp infrastruktur för portalen som ska serva ut information från bakomliggande fabric. Har utforskat hur man ska kunna hantera access till PowerBI rapporter.
    • Påbörjade och implementerade ett enkelt API för att tillåta manuell skalning av BrainChilds Farbric Capacity vid behov. Detta gör det möjligt att spara in pengar när Fabric inte aktivt arbetas inom genom att skala ner till minsta möjliga kapacitet, ev pausa instansen helt. Det finns inget inbyggt stöd för detta i Fabric.

    NGPc

    • Har fixat en bugg i worker-image-rutin-koden som ibland satte processer i en oändlig loop. I samma veva gjordes några andra förbättringar som gör koden mer pålitlig.
    • Byggt och satt en ny worker-image i drift som inkluderar telegraf för rapportering av “metrics” till den metrics-server som kör influxdb3 och grafana.
    • Modifierat cloud-init i navops nodklasser i drift för att bruka telegraf för rapportering av metrics. Varje maskin taggas inte bara med hostname (som återanvänds) utan också Azure VM ID som är unikt och kan bättre brukas för spårbarhet.
    • Skapat en dashboard i Grafana för test av hur metrics kan ritas upp in från en skara virtuella maskiner som från navops skapas och plockas ner om och om igen under pipeline-körning. Första tester ser bra ut och vidareutveckling fortsätter.

    /Jens PW

  • Dev-blogg vecka 24

    Dev-blogg vecka 24

    BrainChild

    Design av BrainChild-portalen har påbörjats.

    NGP

    Integrationer: Bonsai & Mimosa

    Vi har haft en initial dialog med GMC Örebro om huruvida Mimosas API bör utökas med stöd för att ladda upp prover och initiera klustringsjobb. Behovet behöver först beläggas och kravställas innan sådant stöd läggs till i API:et.

    Som en snabb, och möjligtvis tillfällig, lösning utvecklar GMC Väst ett tilläggs”-PI som återanvänder så mycket som möjligt av Mimosas automationsskript.

    Systemunderhåll

    Vi utförde uppdateringar och omstarter av tjänster och portaler i veckan.

    Detta var det första rutinlagda systemunderhållsfönstret, som infaller den andra onsdagen varje månad (med undantag för semesterveckor).

    NGPc

    Netapp-arbetslagring

    Skalningslogik har implementerats för Azure Netapp Files som agerar arbetslagringen för pipelines. Logiken tittar på både storleksanvändning och nuvarande belastning för att göra en bedömning om den ska skala upp eller ner.

    Tidigare har ett så kallat “flexibelt” tier använts, men denna går inte att skala upp och ner fritt. Denna har haft en statisk storlek och “throughput” på 4 TiB och 512 MiB/s. Istället har vi bytt till “Ultra” där storlek och throughput skalar med varandra, 1 TiB och 128 MiB/s i taget.

    Koden körs på cron-schema och kommer till en början skala upp 1 TiB i taget. Om man märker att det går för långsamt (primärt throughput-mässigt) så kan man skala upp eller ner mer än så, så att fler processer ska kunna köra och köras snabbare.

    I och med denna skalning kan man spara pengar under perioder av låg aktivitet, samtidigt som man gör det möjligt att köra fler pipelines samtidigt och snabbare överlag.

    Annan lagring

    I och med ovan förändring har andra lagringar plockats bort eller förändrats.

    • /ngp/netapp som tidigare använts som test är bortplockad
    • /ngp/scratch som tidigare varit en blob-lagring har nu ersatts av ovan skalande netapp-lösning.

    Variantdatabasportalen (VDP)

    • Vi undersöker just nu hur vi kan integrera interaktiva grafer i portalen.
    • Fler förbättringar av användarupplevelsen (UX) är under utveckling.
    • Utvecklingen av stöd för import av Excel-filer med Alamut-format fortgår.
    • Vi har börjat titta på hur man kan skapa en gemensam mall för användning i databasen.

    / Johan C

  • Dev-blogg vecka 22

    Dev-blogg vecka 22

    Autentisering

    Lösning för inloggning med bankID till NGP är under utveckling, och ett avtal är klart med FortifiedID. Vi inväntar konfiguration av IdP med client på deras håll för integration mot Keycloak-uppsättningen för att möjliggöra inloggning med BankID i OpenOnDemand.NGPc

    NGPc

    Vi har påbörjat vidareutveckling och förbättring av granskningssystemet inom klustermiljön. I nuläget använder vi flera olika verktyg för granskning, men målet är att samla loggarna på ett gemensamt ställe. Exempelvis i Graylog, så att de blir enklare att söka i framöver. Arbetet är fortfarande i ett tidigt skede.

    Vi har slutfört arbetet kring att designa och införa ny rutin för skapandet av OS image för arbetsnoderna inom NGPc. Denna möjliggör för enklare skapande, samt validering innan en ny version sätts i produktion.

    NGP Integrations: Bonsai & Mimosa

    Vi har påbörjat testning av Bonsais API från login1. Under arbetet uppkom problem kopplat till rootless Podman, filrättigheter och ägarskap för de filer som skrivs till den NFS-monterade ytan där JASEN-resultaten lagras.

    För att hantera detta använder vi bindfs tillsammans med fuse3, vilket adresserar rättighets- och ägarskapsproblematiken. Det återstår dock att avgöra om detta ska betraktas som en tillfällig workaround eller om det kan vara en hållbar lösning även på längre sikt.

    Vi har även diskuterat hur åtkomsten till Bonsai-mounten bör styras, och om detta exempelvis bör ske på gruppnivå.

    VDP

    Baserat på feedback från referensgruppen som bildats från GMS-RD-gruppen är ny funktionalitet under utveckling.

    • Import av data från Alamut.
    • Ytterligare allternativ gällande hur man gör sökningar i databasen. Detta avser alternativa söksmetoder än genomiska koordinater (kromosom, position, REF, ALT).
    • Tillägg och förändringar av användargränssnittet i portalen.

    // Hedy

  • Dev-blogg vecka 16

    Dev-blogg vecka 16

    Autentisering

    Inloggningsflödet är testat med LDAP-integration till IdM för matchning av inkommande claim som i sin tur skickas vidare till OpenOnDemand, för att auktorisering fortsatt ska kunna hanteras manuellt och OpenOnDemand inte ska behöva ställa ldap-frågor till IdM för att kunna matcha användare.

    Bonsai + Mimosa

    Arbetet med att integrera Bonsai och Mimosa i NGPn fortsätter.

    Vi har haft dialog med projektägarna för GMS-projektet “Prospektiv regional sekvensering av resistenta bakterier med samordnad nationell dataanalys” för att tydliggöra vilka versioner av Bonsai och Mimosa som ska stödjas i NGP. I samband med detta har vi också lyft att den senaste releasen av Bonsai ännu inte fullt ut stödjer data från de senaste versionerna av Jasen och bonsai-prp.

    Vi inväntar besked om detta, samtidigt som Bonsai-utvecklarna undersöker om stöd för bonsai-prp 1.5 kan backportas till Bonsai 2.1.x. Förhoppningen är också att GMC Örebro under nästa vecka laddar upp ett testdataset och referensisolat till GMC Joint-tenanten, så att vi kan testa med mer verklighetstrogen data.

    Mimosa har uppdaterats av externa utvecklare för publicering bakom reverse proxy och under en subpath, baserat på den feedback vi tidigare delat med dem. Vi inväntar nu en stabil release innan Mimosa-instansen i NGP uppdateras.

    NGP Cluster

    Vi har genomfört testkörningar av pipelines.

    Variantdatabasportalen(VDP)

    Vi har hållit ett möte och en grupp ska bildas för att beta testa portalen. Vidare utveckling av portalen fortsätter.

    /Hedy Pettersson

  • Dev-blogg vecka 13

    Dev-blogg vecka 13

    Ny lagringslösning med Azure NetApp Files

    Vi har etablerat och driftsatt en ny lagringslösning baserad på Azure NetApp Files för NGPc-klustret. Detta ersätter den tidigare Lustre-baserade lagringen.

    Framsteg i Bonsai- och Mimosa-integrationerna

    Arbetet med Bonsai och Mimosa har fortsatt med fokus på både praktisk testning och strategiska vägval:

    • Mockdata har laddats upp och klustringar har genomförts framgångsrikt i både Bonsai och Mimosa.
    • Vi har haft en första intern diskussion kring nästa steg i integrationerna, där vi bland annat tittar på:
      • Hantering av större datamängder
      • Stöd för många samtidiga användare
      • Prioritering av uppladdningar och klustringar
      • Data persistence
      • Eventuell utbyte av MongoDB-databaserna
    • Insamlad feedback har skickats vidare till Bonsai- och Mimosa-teamen, och vi har påbörjat nästa runda av frågor och synpunkter.
    • Arbetet med att ladda upp JASEN-data till NGPr (HCP) har inletts, och vi har även börjat testa med verklig data.
    • Nästa steg är att boka ett gemensamt möte för att konkretisera vad som krävs för att få en MVP på plats inför studien. Fokus kommer ligga på:
      • När och var data ska laddas upp
      • Exakt vilken data Bonsai och Mimosa behöver från JASENs output

    Vidareutveckling av Variantdatabasportalen

    Utvecklingen av variantdatabasportalen (VDP) fortsätter inför GMS RD-gruppens månadsmöte i början av april. Arbetet har främst fokuserat på:

    • Förbättringar av befintlig funktionalitet
    • Buggfixar och stabilisering

    NGP IRIS – kommande release

    En ny version av NGP IRIS (v5.6.7) är under utveckling. Den kommer bland annat att introducera stöd för rekursiv uppladdning av mappar, vilket innebär att mappar som innehåller undermappar kan hanteras direkt vid uppladdning.

    // Erik B

  • Dev-blogg vecka 12

    Dev-blogg vecka 12

    Open OnDemand (OOD)

    Planering för en andra OOD instans med BankID-autentisering har inletts.

    Bonsai & Mimosa

    Arbetet med integrationerna för Bonsai- och Mimosa-integrationerna i NGPn under Open OnDemand-portalen (OOD) fortgår.

    Kodjusteringar i både Bonsai och Mimosa har krävts för att integrationen bakom OOD:s proxy ska fungera. Dessa justeringar, tillsammans med ett antal andra förslag, har samlats för att dela med utvecklarna.

    Under veckan har teamet även testat att importera mockdata till Bonsai respektive Mimosa. Förberedelser för att testa med riktigt data från JASEN har gjorts, och testning med denna data kommer att påbörjas nästa vecka.

    Variantdatabasportalen (VDP)

    Portalens utveckling går framåt.

    Teamet har under veckan jobbat på att implementera feedback från kliniker samt att åtgärda buggar som upptäcktes under veckan.

    Informationsportalen

    Arbete med sökmotoroptimering (SEO) har inletts.

    UI- och UX-feedback har samlats in och till viss del implementerats

    Kontakta oss-sidan har även förbättrats.

    /Johan C

  • Dev-blogg vecka 11

    Dev-blogg vecka 11

    Variant database portal

    • Vi arbetar fortsatt med funktionalitet för att förbättra klassificeringen och har tittat mer ingående på vilken data vi kommer hantera initialt.

    Bonsai & Mimosa

    • Mötet med Bonsai och Mimosas utvecklarna var givande och vi har bättre förståelse för vad som krävs för att sätta upp de olika projekten.
    • Arbetet med de båda projekten kommer fortsätta, med fokus på Mimosa, och att få tjänsterna att kommunicera bakom Open OnDemand.
      • Resurser i Azure har skapats och konfigurerats för Mimosa, och dess integration i Open OnDemand har påbörjats.

    /Aron C

  • Dev-blogg vecka 10

    Dev-blogg vecka 10

    Allmänt

    • Klustret är i stora drag redo för den stora mikrobiella studie som startar i mars. 

    NGP Cluster

    • Lustre-filsystem nu tillgänglig som arbetsyta för arbetsnoderna på NGPc. Denna kan vid behov skalas upp manuellt både storleksmässigt och prestandamässigt i takt med att användningen av klustret ökar.

    Brainchild

    • Ny fabric-miljö för BrainChild uppsatt. Diskussioner kring datatransformationer i de olika lagren av lösningen fortsätter.

    Variant database portal

    • Fortsatt arbete med att förbättra funktionalitet gällande klassificering av varianter baserat på feedback från GMC-West.

    Bonsai & Mimosa

    • Integrationer av Bonsai & Mimosa har påbörjats.
    • Bonsai & Mimosa kommer att leva under Open Ondemand, bakom SITHS autentisering & auktorisering.
    • Kommande diskussioner med Bonsai-utvecklare och Mimosa-utvecklare, med start den 6 mars 2026, kommer att genomföras för att ta fram en plan för hur Bonsai och Mimosa kan införas under NGP.

    /Vilma C