Fractal è una piattaforma per gestire ed analizzare le grandi quantità di dati prodotti in esperimenti di microscopia ottica ad alta risoluzione, nell’ambito della ricerca biomedica. eXact lab è incaricata dello sviluppo di questa piattaforma, coordinato dai laboratori Liberali (presso l’Istituto Friedrich Miescher per la ricerca biomedica, a Basilea) e Pelkmans (presso l’Università di Zurigo). Fractal permette ai gruppi di ricerca di definire flussi di lavoro per l’analisi delle immagini, e di eseguirli in forma automatizzata presso centri di supercalcolo.

fractal
Grazie a Fractal è possibile, partendo da immagini raw di grandi dimensioni, creare una gerarchia per dati e metadati, utilizzata poi per effettuare specifiche applicazioni di image analysis.

Tecnologie utillizate

In Fractal adottiamo tecnologie web moderne per garantire alla piattaforma resilienza e stabilità. L’architettura è completamente scritta in linguaggio Python, e utilizza in particolare il framework web FastAPI. Le principali componenti sono:

  1. Una Application Programming Interface (API), che garantisce uniformità nelle interazioni tra client e server.
  2. Un database relazionale, che garantisce la corretta gestione degli utenti e dei metadati relativi ai progetti di analisi dati; questo strumento offre inoltre maggiore sicurezza, grazie all’impiego di backup regolari ed incrementali.

Fractal gestisce ed analizza big data, utilizzando grandi risorse di calcolo per completare le analisi nel minor tempo possibile. Per questa ragione Fractal si relaziona nativamente con SLURM, uno dei job manager più comunemente usati per il supercalcolo. I job sono a loro volta ottimizzati per svolgere molte operazioni in parallelo, garantendo la scalabilità in caso di grandi moli di dati. Le componenti essenziali di questi job si basano sull’ecosistema Python scientifico e su moderni algoritmi di computer vision.

Fractal è un progetto open-source, e viene distribuito tramite pacchetti pre-compilati disponibili sul repository ufficiale Python.

Trasferimento tecnologico

Le componenti utilizzate in Fractal sono rilevanti per diverse altre applicazioni, dalle piattaforme di streaming alla ricerca in geoscienze o genomica. L’architettura web e il framework FastAPI sono tra gli standard de facto per servizi web in Python, utilizzati da un’ampia comunità che contribuisce attivamente al loro supporto e sviluppo. Dal punto di vista scientifico, invece, Fractal si basa su tecnologie progettate per l’ottimizzazione delle operazioni di calcolo (ad esempio gli strumenti di calcolo asincrono offerti dalla libreria dask) e per l’utilizzo all’interno di infrastrutture cloud (ad esempio il formato zarr per la gestione efficiente di grandi array multi-dimensionali).