GENTRAIN – Genetic Tracing of Infection Chains
GENTRAIN ist eine Webanwendung zur genetisch-basierten Analyse und Nachverfolgung von Infektionsketten. Entwickelt im Auftrag des Ministeriums für Arbeit, Gesundheit und Soziales NRW und gefördert durch die Europäische Union (NextGenerationEU).
ReactTypescriptNode.jsPythonFlaskTailwindCSSZustandVitestCypressPostgreSQLDockerGitHub WorkflowsCaddyPrismade.NBI CloudAgile Entwicklung (Kanban)

GENTRAIN – Genetic Tracing of Infection Chains

GENTRAIN ist eine Webanwendung zur genetisch-basierten Analyse und Nachverfolgung von Infektionsketten.
Die Software wurde im Auftrag des Ministeriums für Arbeit, Gesundheit und Soziales des Landes Nordrhein-Westfalen entwickelt und durch die Europäische Union (NextGenerationEU) gefördert.

Ziel ist es, Gesundheitsbehörden ein Werkzeug an die Hand zu geben, mit dem sich genomische Sequenzdaten und epidemiologische Falldaten effizient verknüpfen und analysieren lassen, um Übertragungsketten zu erkennen, Ausbrüche besser zu verstehen und Infektionsgeschehen schneller zu kontrollieren.


Features

  • Interaktive Visualisierung
    Dynamische Darstellung genetischer Verwandtschaften und Infektionsketten in einem Minimalen Spannbaum (MST).
    Unterstützt Interaktionsmöglichkeiten, Filterung, Fallauswahl und zusätzliche Kontaktkanten für tiefere Analysen.

  • Datenschutz durch lokale Verarbeitung
    Sämtliche Daten werden lokal im Browser verarbeitet (Data Privacy by Design).
    Es erfolgt keine Übertragung personenbezogener Daten an den Server – Speicherung über IndexedDB.

  • Flexible Datenverwaltung und -Import
    Unterstützung für Falldaten (CSV), Sequenzdaten (FASTA) und Kontaktpersonendaten (CSV).
    Implementierung einer Schnittstelle zu verschiedensten Kontaktnachverfolgungssystemen wie SurvNet (RKI) oder ISGA.

  • Assistent & Tutorial
    Schritt-für-Schritt-Importassistent und interaktives Onboarding-Tutorial für einen einfachen Einstieg.

  • Automatische Datenlöschung (TTL)
    Temporäre lokale Speicherung mit automatischer Löschung gemäß Datenschutzanforderungen.

  • Admin-Panel & Sicherheit
    Separates Admin-Panel mit rollenbasierter Authentifizierung zur Verwaltung von Pathogenen.
    Sicherheit geprüft durch ein externes Cyber-Security-Audit (Pentest).

  • Mehrsprachige Dokumentation
    Vollständige Benutzer-, Administratoren- und Entwicklerdokumentation in Deutsch und Englisch.


Technischer Aufbau (Tech Stack)

Frontend

  • React (mit Vite)
  • TypeScript
  • TailwindCSS für UI-Styling
  • Zustand für State-Management
  • Vitest für Komponententests

Backend

  • Python / Flask als API-Schicht
  • Gunicorn als Application Server
  • Redis als Queue und Cache
  • PostgreSQL als relationale Datenbank
  • Containerisierung mit Docker

Admin & Datenmodellierung

  • Node.js + React mit Prisma ORM für Datenbankmigrationen und Admin-Tools
  • Separate Oberfläche für Systemkonfiguration und Referenzdatenverwaltung

Deployment & Infrastruktur

  • Docker Compose für Container-Orchestrierung
  • Hosting in der de.NBI Cloud
  • Caddy als Reverse Proxy & File Server
  • CI/CD via GitHub Workflows

Architektur & Implementierung

Frontend

Single-Page Application (SPA) mit lokaler Datenverarbeitung.
Bietet interaktive Visualisierungen, Datenimporte und Exportfunktionen – clientseitige Geschäftslogik, mit minimaler Serverabhängigkeit.

Backend

Dient primär zur Verwaltung zentraler Dienste (z. B. Pathogen-Schemas, Sequenzanalysen).
Die API ist modular aufgebaut und über Docker-Services leicht erweiterbar.

Datenhaltung

  • Lokale Daten (Falldaten, Sequenzen, Kontakte) werden im Browser via IndexedDB gespeichert.
  • Serverseitig verwaltet PostgreSQL Metadaten zu Pathogenen.
  • Redis unterstützt Aufgabenverarbeitung und Caching von aufwendigen Sequenzanalysen.

Deployment

  • Vollautomatisierte CI/CD-Pipeline mit Build-, Test- und Deployment-Schritten.
  • Containerisierte Architektur für Skalierbarkeit und einfache Wartung.

"How-It-Works"

  1. Datenimport: Nutzer importieren Falldaten (CSV), Sequenzdaten (FASTA) und optionale Kontaktpersonendaten (CSV).
  2. Datenverarbeitung: Es wird eine Sequenzanalyse durchgeführt, welche die genetischen Distanzen zwischen den Fällen berechnet.
  3. Visualisierung: Dynamische Darstellung der Fälle als Graphen in dem epidemiologische und genetische Informationen Aufschluss auf das Ausbruchsgeschehen geben.
  4. Ausbruchsanalyse: Nutzer können Ausbrüche dediziert analysieren, indem sie Falldaten in einen beliebigen Kontext setzen, Fälle filtern, epidemiologische Informationen einblenden und genetische Verwandtschaften untersuchen.
  5. Export & Reporting: Zur angefertigen Analyse wird automatisch ein Bericht generiert, der das Ausbruchsgeschehen zusammenfasst und bewertet. Dieser kann als PDF mit anderen geteilt werden.

Herausforderungen und Lösungsansätze

  • Datenschutz: Umsetzung einer umfangreichen lokalen Datenverarbeitung im Browser, um strikte Anforderungen an Patientendaten zu entschärfen.
  • Sicherheit: Implementierung bewährter Cybersicherheitsmaßnahmen und Durchführung eines externen Pentests zur Sicherstellung der Systemsicherheit.
  • Performance: Effiziente Handhabung großer lokal gespeicherter Datensätze (Hunderte von Fällen und Sequenzen) durch Aufbau einer komplexen lokalen Datenbank mit dexie.js und synchronisiertem Zustandsmanangement.
  • Heterogene Nutzergruppe: Entwicklung einer intuitiven Benutzeroberfläche mit umfassendem Onboarding und Hilfesystem, um den unterschiedlichen technischen Kenntnissen der Nutzer gerecht zu werden.

Projektkontext

  • Rolle: Full-Stack Developer
  • Verantwortung:
    • Eigenständige Entwicklung großer Teile der Anwendung (Frontend, Admin, Docs, DevOps, Hosting)
    • Projektplanung und -koordination im kleinen Team
    • Verwaltung von Entwicklungs-Tasks und Prioritäten
    • Enge Abstimmung mit Fördergebern (Ministerium) in NRW
    • Durchführung von Code-Reviews und Testing
    • Erstellung umfassender Dokumentation
    • Pflege der CI/CD-Pipelines und Infrastruktur
    • Koordination externer Sicherheitsprüfungen
    • Umsetzung verschiedener Workshops mit insgesamt 12 Gesundheitsämtern in NRW
  • Methodik: Agile Entwicklung mit Kanban-Board
  • Entwicklungszeitraum: 2024-2025
  • Status: Projekt erfolgreich abgeschlossen; die Software ist produktiv im Einsatz bei Gesundheitsämtern in Nordrhein-Westfalen
  • Entwicklungsansatz: Open-Source-orientiert (Transparenz & Forschungsbeitrag)